CV / YOLO11
YOLO11
reComputer R Series (CM5 + Hailo-10H)
Leichtgewichtiges YOLO11 Nano-Modell für schnelle Edge-Bereitstellung.
433 Downloads
Größe
~5MBSpeicher
1GB+Präzision
FP16Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Vorschau
Erste Schritte
Bereitstellen
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.mp4Modelldetails
reComputer CM5 + Hailo-10HYOLOv11 auf reComputer CM5 + Hailo-10H
YOLOv11 (Varianten n/s/m/l/x) führt eine COCO-Objekterkennung mit 80 Klassen auf dem Hailo-10H über HailoRT 5.1.1 durch. Das NMS läuft on-chip (HPP), daher parst die Anwendung den NMS-Ausgabetensor 80x5x100 direkt.
Modellinformationen
| Variante | Eingabe | Parameter | Operationen | 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 |
| Eigenschaft | Wert |
|---|---|
| Aufgabe | Objekterkennung |
| Ausgabe | On-Chip-NMS-Tensor 80x5x100 (Zeilen: ymin,xmin,ymax,xmax,score, normalisiert) |
| Klassen | 80 (COCO, Indexreihenfolge des Model Zoo) |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H |
Hardware- und Host-Setup
| Punkt | Wert |
|---|---|
| Board | reComputer R Series mit Raspberry Pi CM5 |
| Beschleuniger | Hailo-10H über PCIe, als /dev/hailo0 verfügbar |
| Host-Treiber | hailo-h10-all apt-Paket |
| Laufzeit | HailoRT 5.1.1 |
| Python im 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/hailo0Mit Demo-Video ausführen
Schritt A: Images laden
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:latestSchritt B: Container starten
Wähle den Befehl, der zur Modellvariante passt.
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.mp4Öffne http://<Board_IP>:8000 für die Web-Vorschau.
REST API
Jede Variante hat ihren eigenen Endpunkt:
| Variante | Endpunkt |
|---|---|
| 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 |
Beispiel:
bash
curl -X POST "http://<Board_IP>:8000/api/models/yolov11n/predict" -F "file=@test.jpg"Implementierungshinweise
- On-Chip-NMS (HPP,
meta_arch=yolov8von der yolov11n-Konfiguration übernommen); die Anwendung parst den NMS-Tensor 80x5x100 — Zeilen [ymin, xmin, ymax, xmax, score], normalisiert auf den 640x640-Eingang. - Vorverarbeitung: Letterbox (Grau 114) + RGB, rohe uint8 (Normalisierung 0/255).
- Der Executor ist der HailoRT-5.1.1-Wrapper mit FLOAT32-Multi-Output; die erste Inferenz gibt den Ausgabebereich gemäß SOP-Akzeptanzcheckliste aus.
Entwicklungshinweise
- Quellmodule:
src/hailo10h_yolov11{n,s,m,l,x}/ - Dockerfiles:
docker/hailo10h/yolov11{n,s,m,l,x}.dockerfile - Container:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11{n,s,m,l,x}:latest - HEFs: hailo10h-Builds aus dem Hailo Model Zoo v5.4.0.