CV / YOLOv8
YOLOv8-seg
reComputer R Series (CM5 + Hailo-10H)
YOLOv8n/s/m instantiesegmentatie op reComputer RK3588/RK3576 (RKNN) en op reComputer R Series met Hailo-8 of Hailo-10H via HailoRT.
Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.
Aan de slag
sudo docker run --rm \
--name cm5-hailo10h-yolov8n-seg \
--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/yolov8n_seg:latest \
python web_detection.py --model_path model/yolov8n_seg.hef --video_path video/test.mp4Modeldetails
reComputer R Series (CM5 + Hailo-10H)YOLOv8-seg op reComputer CM5 + Hailo-10H
De modellen YOLOv8n/s/m-seg draaien op de Hailo-10H via HailoRT 5.1.1. Het HEF stelt ruwe heads beschikbaar (geen NMS op de chip): de host decodeert de boxheads (DFL- of gevouwen layout), past sigmoid + NMS per klasse toe en stelt de prototypemaskers samen (32 coëfficiënten × 160×160×32-prototype, bijgesneden op elke box) voor 80 COCO-klassen.
Modelinformatie
| Variant | Invoer | Verpakt HEF | Container-image |
|---|---|---|---|
| YOLOv8n-seg | 640×640×3 RGB | 6.1 MB | yolov8n_seg |
| YOLOv8s-seg | 640×640×3 RGB | 18.6 MB | yolov8s_seg |
| YOLOv8m-seg | 640×640×3 RGB | 28.9 MB | yolov8m_seg |
Hardware en hostinstallatie
| Item | Waarde |
|---|---|
| Board | Raspberry Pi CM5 |
| Accelerator | Hailo-10H, /dev/hailo0 |
| Runtime | HailoRT 5.1.1 |
| OS | Raspberry Pi OS Bookworm, aarch64 |
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0Uitvoeren met demovideo
Kies de opdracht die bij de modelvariant hoort.
YOLOv8n-seg
sudo docker run --rm --privileged --net=host \
--name cm5-hailo10h-yolov8n-seg \
-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/yolov8n_seg:latest \
python web_detection.py --model_path model/yolov8n_seg.hef --video_path video/test.mp4YOLOv8s-seg
sudo docker run --rm --privileged --net=host \
--name cm5-hailo10h-yolov8s-seg \
-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/yolov8s_seg:latest \
python web_detection.py --model_path model/yolov8s_seg.hef --video_path video/test.mp4YOLOv8m-seg
sudo docker run --rm --privileged --net=host \
--name cm5-hailo10h-yolov8m-seg \
-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/yolov8m_seg:latest \
python web_detection.py --model_path model/yolov8m_seg.hef --video_path video/test.mp4Open http://<Board_IP>:8000 voor de webpreview. Gebruik /api/video_feed
voor de MJPEG-stream met overlaid instantiemaskers en boxen.
REST API
Elke variant heeft een eigen endpoint:
| Variant | Endpoint |
|---|---|
| YOLOv8n-seg | POST /api/models/yolov8n_seg/predict |
| YOLOv8s-seg | POST /api/models/yolov8s_seg/predict |
| YOLOv8m-seg | POST /api/models/yolov8m_seg/predict |
Voorbeeld:
curl -X POST "http://<Board_IP>:8000/api/models/yolov8n_seg/predict" \
-F "file=@test.jpg"De respons bevat predictions-items met de velden class, confidence en
box (box is x1/y1/x2/y2 in pixels van het originele frame).
Verwacht resultaat en veelvoorkomende fouten
Bij de eerste inferentie print de module de geladen vstream-lijst plus één layoutregel per inferentietype: de 10 uitvoertensors, hun waardebereiken en of een sigmoid is toegepast. Verwacht: drie boxheads, drie 80-kanaals scoreheads, drie 32-kanaals maskercoëfficiëntheads en één 160×160×32-prototype; een preview waarin de maskers aan de instanties blijven plakken.
| Symptoom | Waarschijnlijke oorzaak | Oplossing |
|---|---|---|
unexpected output layout in het log | Andere HEF-compilatie | Controleer de geprinte vormen tegen de lijst hierboven; gok de layout niet |
HailoRT-versiefout bij het starten | Hostbibliotheek is niet 5.1.1 | Installeer hailo-h10-all op de host en houd de containermount op libhailort.so.5.1.1 |
docker: container name already in use | Een vorige container is niet verwijderd | docker rm -f cm5-hailo10h-yolov8n-seg, of wijzig --name |
Geen /dev/hailo0 in de container | Ontbrekende --device /dev/hailo0:/dev/hailo0 | Voeg de device-mapping en --privileged --net=host toe |
Ontwikkeling
| Variant | Bron | Dockerfile |
|---|---|---|
| YOLOv8n-seg | src/hailo10h_yolov8n_seg/ | docker/hailo10h/yolov8n_seg.dockerfile |
| YOLOv8s-seg | src/hailo10h_yolov8s_seg/ | docker/hailo10h/yolov8s_seg.dockerfile |
| YOLOv8m-seg | src/hailo10h_yolov8m_seg/ | docker/hailo10h/yolov8m_seg.dockerfile |
- Executor: HailoRT 5.1.1 InferModel-wrapper (Python 3.13 + de meegeleverde
cp313-wheel); regressietests staan in de
tests/van elke module. - HEFs: Hailo Model Zoo v5.4.0 Hailo-10H-builds.
- Letterbox-padding is 114 (Model Zoo
base/yolo.yaml); de normalisatie is in het HEF gecompileerd. De genoemde mAP-waarden zijn full-precision cijfers van het Model Zoo, niet gemeten op dit board.