CV / YOLO11
YOLO11
reComputer R Series (CM5 + Hailo-10H)
Lightweight YOLO11 nano model for fast edge deployment.
1.2k+ downloads
Size
~5MBMemory
1GB+Precision
FP16Choose the device you're using, the set up guide and documentation will update accordingly.
Preview
Getting Started
Deploy
sudo docker run --rm \
--name cm5-hailo10h-yolo11n \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11n:latest \
python web_detection.py --model_path model/yolov11n.hef --video_path video/test.mp4Model Details
reComputer CM5 + Hailo-10HYOLOv11 on reComputer CM5 + Hailo-10H
YOLOv11 (n/s/m/l/x variants) performs COCO 80-class object detection on Hailo-10H through HailoRT 5.1.1. NMS runs on-chip (HPP), so the app parses the post-NMS 80x5x100 tensor directly.
Model Info
| Variant | Input | Parameters | Operations | Hailo-10H HEF |
|---|---|---|---|---|
| YOLOv11n | 640x640x3 | 2.6M | 6.55G | 5.3 MB |
| YOLOv11s | 640x640x3 | 9.4M | 21.5G | 16.3 MB |
| YOLOv11m | 640x640x3 | 20.1M | 68.0G | 27.0 MB |
| YOLOv11l | 640x640x3 | 25.3M | 86.9G | 27.9 MB |
| YOLOv11x | 640x640x3 | 56.9M | 194G | 54.2 MB |
| Property | Value |
|---|---|
| Task | Object detection |
| Output | on-chip NMS tensor 80x5x100 (rows: ymin,xmin,ymax,xmax,score, normalized) |
| Classes | 80 (COCO, Model Zoo index order) |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H |
Hardware and Host Setup
| Item | Value |
|---|---|
| Board | reComputer R Series with Raspberry Pi CM5 |
| Accelerator | Hailo-10H over PCIe, exposed as /dev/hailo0 |
| Host driver | hailo-h10-all apt package |
| Runtime | HailoRT 5.1.1 |
| Python in container | 3.13, aarch64 |
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0Run With Demo Video
Step A: Pull Images
bash
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11n:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11s:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11m:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11l:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11x:latestStep B: Run the Container
Select the command matching the model variant.
YOLOv11n
bash
sudo docker run --rm \n --name cm5-hailo10h-yolov11n \n --privileged \n --net=host \n -e PYTHONUNBUFFERED=1 \n --device /dev/hailo0:/dev/hailo0 \n -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \n -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \n ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11n:latest \n python web_detection.py --model_path model/yolov11n.hef --video_path video/test.mp4YOLOv11s
bash
sudo docker run --rm \n --name cm5-hailo10h-yolov11s \n --privileged \n --net=host \n -e PYTHONUNBUFFERED=1 \n --device /dev/hailo0:/dev/hailo0 \n -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \n -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \n ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11s:latest \n python web_detection.py --model_path model/yolov11s.hef --video_path video/test.mp4YOLOv11m
bash
sudo docker run --rm \n --name cm5-hailo10h-yolov11m \n --privileged \n --net=host \n -e PYTHONUNBUFFERED=1 \n --device /dev/hailo0:/dev/hailo0 \n -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \n -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \n ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11m:latest \n python web_detection.py --model_path model/yolov11m.hef --video_path video/test.mp4YOLOv11l
bash
sudo docker run --rm \n --name cm5-hailo10h-yolov11l \n --privileged \n --net=host \n -e PYTHONUNBUFFERED=1 \n --device /dev/hailo0:/dev/hailo0 \n -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \n -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \n ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11l:latest \n python web_detection.py --model_path model/yolov11l.hef --video_path video/test.mp4YOLOv11x
bash
sudo docker run --rm \n --name cm5-hailo10h-yolov11x \n --privileged \n --net=host \n -e PYTHONUNBUFFERED=1 \n --device /dev/hailo0:/dev/hailo0 \n -v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \n -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \n ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11x:latest \n python web_detection.py --model_path model/yolov11x.hef --video_path video/test.mp4Open http://<Board_IP>:8000 to view the web preview.
REST API
Each variant has its own prediction endpoint:
| Variant | Endpoint |
|---|---|
| YOLOv11n | POST /api/models/yolov11n/predict |
| YOLOv11s | POST /api/models/yolov11s/predict |
| YOLOv11m | POST /api/models/yolov11m/predict |
| YOLOv11l | POST /api/models/yolov11l/predict |
| YOLOv11x | POST /api/models/yolov11x/predict |
Example:
bash
curl -X POST "http://<Board_IP>:8000/api/models/yolov11n/predict" -F "file=@test.jpg"Implementation Notes
- On-chip NMS (HPP,
meta_arch=yolov8inherited by yolov11n config); the app parses the post-NMS 80x5x100 tensor — rows [ymin, xmin, ymax, xmax, score], normalized to the 640x640 input. - Preprocessing: letterbox (gray 114) + RGB, raw uint8 (normalization 0/255).
- Executor is the HailoRT 5.1.1 multi-output FLOAT32 wrapper; first inference prints the output range per the SOP acceptance checklist.
Development Notes
- Source modules:
src/hailo10h_yolov11{n,s,m,l,x}/ - Dockerfiles:
docker/hailo10h/yolov11{n,s,m,l,x}.dockerfile - Containers:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11{n,s,m,l,x}:latest - HEFs: Hailo Model Zoo v5.4.0 hailo10h builds.