CV / YOLOv5
YOLOv5-seg
reComputer R Series (CM5 + Hailo-10H)
YOLOv5-seg instantiesegmentatiemodellen voor reComputer RK3588/RK3576 (RKNN) en reComputer R Series met Hailo-8 of Hailo-10H.
Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.
Aan de slag
sudo docker run --rm \
--name cm5-hailo10h-yolov5n-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/yolov5n_seg:latest \
python web_detection.py --model_path model/yolov5n_seg.hef --video_path video/test.mp4Modeldetails
reComputer R Series (CM5 + Hailo-10H)YOLOv5-seg op reComputer R Series (CM5 + Hailo-10H)
YOLOv5-seg (op anchors gebaseerde instantiesegmentatie) detecteert 80 COCO-klassen en maakt per instantie een pixelmasker. De HEF levert drie ruwe detectiekoppen plus een maskerprototype-tensor; de app decodeert de anchors op de CPU, voert NMS per klasse uit en stelt de maskers samen uit de prototype-tensor.
Deze pagina is gericht op de reComputer R Series (CM5 + Hailo-10H) met een PCIe-Hailo-10H-versneller.
Modelinformatie
| Variant | Parameters | Hardware-mAP | HEF-grootte |
|---|---|---|---|
| YOLOv5n-seg | 1.99M | 23.1 | 3.4 MB |
| YOLOv5s-seg | 7.61M | 30.8 | 11.6 MB |
| YOLOv5m-seg | 32.60M | 36.7 | 18.5 MB |
Gemeenschappelijke eigenschappen:
| Eigenschap | Waarde |
|---|---|
| Architectuur | YOLOv5-seg (3 anchors, strides 8/16/32) |
| Invoer | 640x640x3 RGB (normalize_in_net, mean 0 / std 255) |
| Uitvoer | proto (160x160x32) + 3 detectiekoppen (elk 351 kanalen) |
| Letterbox-opvulkleur | 114 (grijs, YOLO-conventie) |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H |
De nauwkeurigheidswaarden zijn referenties van Hailo Model Zoo, geen metingen op CM5.
Hardware- en hostconfiguratie
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0Meng geen HailoRT 4.23.x (Hailo-8) drivers, bibliotheken of Python-wheels in deze Hailo-10H-container.
Image ophalen
De image is gepubliceerd op GHCR. Haal deze op voordat u de container start:
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov5n_seg:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov5s_seg:latest
sudo docker pull ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov5m_seg:latestUitvoeren met demovideo
YOLOv5n-seg:
sudo docker run --rm \
--name cm5-hailo10h-yolov5n-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/yolov5n_seg:latest \
python web_detection.py --model_path model/yolov5n_seg.hef --video_path video/test.mp4YOLOv5s-seg / YOLOv5m-seg gebruiken hetzelfde commando; vervang yolov5n_seg door yolov5s_seg of yolov5m_seg.
Open http://<Board_IP>:8000 voor de webpreview met instantiemaskers.
USB-cameramodus
Voeg --device /dev/video0:/dev/video0 toe en vervang --video_path video/test.mp4 door --camera_id 0.
REST-API
curl -X POST "http://<Board_IP>:8000/api/models/yolov5n_seg/predict" \
-F "file=@test.jpg"| Eindpunt | Methode | Doel |
|---|---|---|
/api/models/yolov5n_seg/predict | POST | Boxen + instantiemaskers (JSON) |
/api/video_feed | GET | MJPEG-previewstream |
Implementatiedetails
- De decodering volgt de
yolov5_seg-nabewerking van Hailo Model Zoo: anchor-decodering (xy = (sigmoid(xy) * 2 + grid - 0.5) * stride,wh = (sigmoid(wh) * 2) ** 2 * anchor_grid) → objectness × klassenscore → NMS per klasse →sigmoid(coeffs @ proto)geschaald naar de invoer en bijgesneden op elke box. - De drie detectiekoppen worden herkend aan hun 351 kanalen en gesorteerd op ruimtelijke grootte (stride 32 → 16 → 8); de proto-kop is de 160x160x32-tensor. De eerste inferentie print naam en vorm van elke vstream, zodat de toewijzing op de hardware kan worden geverifieerd.
- De executor gebruikt de
create_infer_model-API van HailoRT 5.1.1 met een persistent geconfigureerd model en geregistreerde FLOAT32-uitvoerbuffers. - Bronmodule:
src/hailo10h_yolov5n_seg/(ook..._s_seg/,..._m_seg/) - Dockerfile:
docker/hailo10h/yolov5n_seg.dockerfile