CV / YOLO11
YOLO11-seg
reComputer R Series (CM5 + Hailo-8)
YOLO11-Segmentierungsmodelle (n/s/m/l/x-seg) für reComputer R Series mit Hailo-8.
Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Erste Schritte
sudo docker run --rm \
--name pi5-hailo8-yolov11n-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11n_seg:latest \
python web_detection.py --model_path model/yolov11n_seg.hef --video_path video/test.mp4Modelldetails
YOLO11-seg auf reComputer R Series (CM5 + Hailo-8)
YOLO11n/s/m/l/x-seg laufen auf dem Hailo-8 über HailoRT 4.23. Das HEF legt zehn
rohe Heads offen; der Host dekodiert DFL-Boxen, Klassenscores und
Maskenkoeffizienten, setzt sigmoid(coeffs @ proto)-Instanzmasken zusammen und
rendert sie für die 80 COCO-Klassen.
Modellinformationen
| Variante | Eingabe | Gepacktes HEF | Container-Image |
|---|---|---|---|
| YOLO11n-seg | 640×640×3 RGB | 7.9 MB | yolov11n_seg |
| YOLO11s-seg | 640×640×3 RGB | 19.7 MB | yolov11s_seg |
| YOLO11m-seg | 640×640×3 RGB | 39.6 MB | yolov11m_seg |
| YOLO11l-seg | 640×640×3 RGB | 40.6 MB | yolov11l_seg |
| YOLO11x-seg | 640×640×3 RGB | 68.0 MB | yolov11x_seg |
Hardware- und Host-Setup
| Punkt | Wert |
|---|---|
| Board | reComputer R Series mit Raspberry Pi CM5 |
| Beschleuniger | Hailo-8 über PCIe, als /dev/hailo0 verfügbar |
| Runtime | HailoRT 4.23.x (Host / Container müssen major.minor teilen) |
| Python im Container | 3.11, aarch64 |
sudo apt update
sudo apt install hailo-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0
# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
sudo systemctl enable docker
sudo systemctl start dockerMit Demo-Video ausführen
Wählen Sie den Befehl passend zur Modellvariante.
YOLO11n-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11n-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11n_seg:latest \
python web_detection.py --model_path model/yolov11n_seg.hef --video_path video/test.mp4YOLO11s-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11s-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11s_seg:latest \
python web_detection.py --model_path model/yolov11s_seg.hef --video_path video/test.mp4YOLO11m-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11m-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11m_seg:latest \
python web_detection.py --model_path model/yolov11m_seg.hef --video_path video/test.mp4YOLO11l-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11l-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11l_seg:latest \
python web_detection.py --model_path model/yolov11l_seg.hef --video_path video/test.mp4YOLO11x-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11x-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11x_seg:latest \
python web_detection.py --model_path model/yolov11x_seg.hef --video_path video/test.mp4Öffnen Sie http://<Board_IP>:8000, um die Web-Vorschau zu sehen
(Instanzmasken pro Klasse überlagert plus Erkennungsboxen).
USB-Kameramodus
sudo docker run --rm \
--name pi5-hailo8-yolov11n-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
--device /dev/video0:/dev/video0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11n_seg:latest \
python web_detection.py --model_path model/yolov11n_seg.hef --camera_id 0REST API
Jede Variante hat ihren eigenen Endpoint:
| Variante | Endpoint |
|---|---|
| YOLO11n-seg | POST /api/models/yolov11n_seg/predict |
| YOLO11s-seg | POST /api/models/yolov11s_seg/predict |
| YOLO11m-seg | POST /api/models/yolov11m_seg/predict |
| YOLO11l-seg | POST /api/models/yolov11l_seg/predict |
| YOLO11x-seg | POST /api/models/yolov11x_seg/predict |
curl -X POST "http://<Board_IP>:8000/api/models/yolov11n_seg/predict" \
-F "file=@test.jpg"Implementierungshinweise
- Das HEF legt 10 rohe vstreams offen, On-Chip-NMS gibt es nicht: pro Stride (20×20, 40×40, 80×80) ein 64-Kanal-DFL-Box-Head, ein 80-Kanal-Klassen-Head und ein 32-Kanal-Maskenkoeffizienten-Head, plus ein 160×160×32-Prototyp.
- Der Host berechnet die DFL-Softmax-Erwartung (16 Bins), wendet Sigmoid auf
die rohen Klassen-Heads an, führt NMS pro Klasse aus (100 Erkennungen in der
Vorschau) und setzt die Masken über
sigmoid(coeffs @ proto)zusammen, auf jede Box zugeschnitten (Schwelle 0.5). - Letterbox-Padding ist 114; die Normalisierung Mittelwert 0 / Std 255 ist in das HEF kompiliert. Boxen und Masken werden vor dem Zeichnen auf das Frame zurückgemappt.
- Die HEF-Eingabegröße wird beim Start gelesen (640×640). Die CPU-Dekodierung ist bei den größeren Varianten der Engpass der Vorschau.
Entwicklungshinweise
- Quellen:
src/rpi5_hailo8_yolov11{n,s,m,l,x}_seg/ - Dockerfiles:
docker/hailo8/yolov11{n,s,m,l,x}_seg.dockerfile - Container:
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11{n,s,m,l,x}_seg:latest - HEFs: Hailo Model Zoo v2.20.0 (
hailo8), Größen und SHA256 in dermodel/README.mdjedes Moduls dokumentiert - Familie: YOLO11-seg (Ultralytics, AGPL-3.0)
Eingaben und Ausgaben
Eingabe: Bild, Video oder USB-Kameraframe. Ausgabe: COCO-Klassenboxen mit Instanzmasken und annotierte MJPEG-Vorschau.