CV / YOLACT
YOLACT-RegNetX-800MF
reComputer R Series (CM5 + Hailo-10H)
Instanzsegmentierung in Echtzeit (80 COCO-Klassen, Masken und Begrenzungsrahmen) auf reComputer R Series mit Hailo-8 oder Hailo-10H.
Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Erste Schritte
sudo docker run --rm \
--name cm5-hailo10h-yolact-800mf \
--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/yolact_regnetx_800mf:latest \
python web_detection.py --model_path model/yolact_regnetx_800mf.hef --video_path video/test.mp4REST API
Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_800mf/predict" \
-F "file=@test.jpg"import requests
response = requests.post(
"http://<Board_IP>:8000/api/models/yolact_regnetx_800mf/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(response.json())Modelldetails
reComputer R Series (CM5 + Hailo-10H)YOLACT-RegNetX-800MF auf reComputer R Series (CM5 + Hailo-10H)
YOLACT (UC Davis) führt über HailoRT 5.1.1 auf Hailo-10H Instanzsegmentierung in Echtzeit aus: objektbezogene Masken auf Boxen der 80 COCO-Klassen. Das HEF stellt 16 rohe Ausgabeköpfe bereit; die gesamte Decodierung läuft auf der Host-CPU.
Modellinformationen
| Eigenschaft | Wert |
|---|---|
| Architektur | YOLACT (You Only Look At CoefficienTs), RegNetX-800MF Backbone |
| Aufgabe | Instanzsegmentierung |
| Eingabe | 512x512x3 RGB (normalize_in_net ImageNet RGB mean/std) |
| Ausgabe | 16 Köpfe: proto (128x128x32) + 5 Skalen x {bbox, mask coeffs, conf} |
| Prior-Anchors | 49,104 Anchors (9/Zelle, Feature-Maps 64/32/16/8/4) |
| Klassen | 80 (COCO) |
| Parameter | 28.3M |
| Operationen | 116.75G |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H (33.4 MB) |
Hardware- und Hosteinrichtung
| Eintrag | Wert |
|---|---|
| Board | reComputer R Series mit Raspberry Pi CM5 |
| Beschleuniger | Hailo-10H über PCIe, verfügbar als /dev/hailo0 |
| Hosttreiber | apt-Paket hailo-h10-all |
| Laufzeit | HailoRT 5.1.1 |
| Python im Container | 3.13, aarch64 |
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0Mit Demovideo ausführen
sudo docker run --rm \
--name cm5-hailo10h-yolact-800mf \
--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/yolact_regnetx_800mf:latest \
python web_detection.py --model_path model/yolact_regnetx_800mf.hef --video_path video/test.mp4Öffnen Sie http://<Board_IP>:8000 für die Webvorschau (farbige Instanzmasken über dem MJPEG-Stream).
REST-API
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_800mf/predict" -F "file=@test.jpg"| Endpunkt | Methode | Zweck |
|---|---|---|
/api/models/yolact_regnetx_800mf/predict | POST | Boxen, Konfidenzen, Maskenflächen (JSON) |
/api/video_feed | GET | MJPEG-Vorschaustream mit Masken |
Implementierungshinweise
- CPU-Nachverarbeitung (
meta_arch=yolact): 49,104 Anchors → SSD-Decodierung → Fast NMS → Maskenzusammensetzung mitsigmoid(proto @ coeffs^T); numpy-Portierung voninstance_segmentation_postprocessing.pyaus Model Zoo. - Der Executor kapselt die FLOAT32-Mehrfachausgabe von HailoRT 5.1.1 (16 Köpfe); die erste Inferenz gibt den Wertebereich jedes Kopfes gemäß SOP-Abnahmecheckliste aus.
normalize_in_netverwendet ImageNet RGB; die Anwendung liefert rohe uint8-RGB-Daten.- Vorverarbeitung: einfache bilineare Skalierung auf 512x512 (kein Letterboxing, keine Auffüllung).
Entwicklungshinweise
- Quellmodul:
src/hailo10h_yolact_regnetx_800mf/ - Dockerfile:
docker/hailo10h/yolact_regnetx_800mf.dockerfile - Container:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolact_regnetx_800mf:latest - Familie: YOLACT (Varianten: regnetx_800mf / regnetx_1.6gf)
Eingaben und Ausgaben
Input: image, video, or USB camera frame. Output: COCO 80-class boxes with confidences, per-object mask pixel areas, and an MJPEG preview with colored instance masks.