CV / YOLO11
YOLO11
reComputer R Series (CM5 + Hailo-10H)
Modèle YOLO11 nano léger pour un déploiement rapide sur l'edge.
67 téléchargements
Taille
~5MBMémoire
1GB+Précision
FP16Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.
Aperçu
Pour commencer
Déployer
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.mp4Détails du modèle
reComputer CM5 + Hailo-10HYOLOv11 sur reComputer CM5 + Hailo-10H
YOLOv11 (variantes n/s/m/l/x) effectue la détection d'objets COCO à 80 classes sur le Hailo-10H via HailoRT 5.1.1. Le NMS s'exécute sur puce (HPP), l'application analyse donc directement le tenseur post-NMS 80x5x100.
Informations sur le modèle
| Variante | Entrée | Paramètres | Opérations | HEF Hailo-10H |
|---|---|---|---|---|
| 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 |
| Propriété | Valeur |
|---|---|
| Tâche | Détection d'objets |
| Sortie | Tenseur NMS sur puce 80x5x100 (lignes : ymin,xmin,ymax,xmax,score, normalisé) |
| Classes | 80 (COCO, ordre d'index du Model Zoo) |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H |
Configuration matérielle et hôte
| Élément | Valeur |
|---|---|
| Carte | reComputer série R avec Raspberry Pi CM5 |
| Accélérateur | Hailo-10H via PCIe, exposé comme /dev/hailo0 |
| Pilote hôte | paquet apt hailo-h10-all |
| Exécution | HailoRT 5.1.1 |
| Python dans le conteneur | 3.13, aarch64 |
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0Exécuter avec la vidéo de démonstration
Étape A : Récupérer les 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:latestÉtape B : Lancer le conteneur
Sélectionnez la commande correspondant à la variante du modèle.
YOLOv11n
bash
sudo docker run --rm \
--name cm5-hailo10h-yolov11n \
--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.mp4YOLOv11s
bash
sudo docker run --rm --name cm5-hailo10h-yolov11s --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/yolov11s:latest python web_detection.py --model_path model/yolov11s.hef --video_path video/test.mp4YOLOv11m
bash
sudo docker run --rm --name cm5-hailo10h-yolov11m --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/yolov11m:latest python web_detection.py --model_path model/yolov11m.hef --video_path video/test.mp4YOLOv11l
bash
sudo docker run --rm --name cm5-hailo10h-yolov11l --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/yolov11l:latest python web_detection.py --model_path model/yolov11l.hef --video_path video/test.mp4YOLOv11x
bash
sudo docker run --rm --name cm5-hailo10h-yolov11x --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/yolov11x:latest python web_detection.py --model_path model/yolov11x.hef --video_path video/test.mp4Ouvrez http://<Board_IP>:8000 pour voir l'aperçu web.
API REST
bash
curl -X POST "http://<Board_IP>:8000/api/models/yolov11n/predict" -F "file=@test.jpg"Notes d'implémentation
- NMS sur puce (HPP,
meta_arch=yolov8hérité de la configuration yolov11n) ; l'application analyse le tenseur post-NMS 80x5x100 — lignes [ymin, xmin, ymax, xmax, score], normalisées par rapport à l'entrée 640x640. - Prétraitement : letterbox (gris 114) + RGB, uint8 brut (normalisation 0/255).
- L'exécuteur est le wrapper HailoRT 5.1.1 multi-sorties FLOAT32 ; la première inférence affiche la plage de sortie conformément à la liste de contrôle d'acceptation du SOP.
Notes de développement
- Modules sources :
src/hailo10h_yolov11{n,s,m,l,x}/ - Dockerfiles :
docker/hailo10h/yolov11{n,s,m,l,x}.dockerfile - Conteneurs :
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov11{n,s,m,l,x}:latest - HEF : versions hailo10h du Hailo Model Zoo v5.4.0. Chaque variante possède son propre endpoint de prédiction :
| Variante | 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 |
Exemple :