CV / YOLACT
YOLACT-RegNetX-800MF
YOLACT (UC Davis) predicts instance masks with 49,104 anchors, Fast NMS and prototype-mask assembly (proto @ coeffs) on Hailo-8. Post-processing runs on the host CPU since the HEF exposes 16 raw heads.
Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.
Pour commencer
sudo docker run --rm \
--name cm5-hailo8-yolact-800mf \
--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/yolact_regnetx_800mf:latest \
python web_detection.py --model_path model/yolact_regnetx_800mf.hef --video_path video/test.mp4API REST
Utilisez l'API REST pour exécuter l'inférence. Copiez les commandes ci-dessous.
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())Détails du modèle
YOLACT-RegNetX-800MF on reComputer R Series (CM5 + Hailo-8)
YOLACT (UC Davis) performs real-time instance segmentation — per-object masks on top of COCO 80-class boxes — on Hailo-8 through HailoRT. The HEF exposes 16 raw heads and all decode runs on the host CPU.
Model Info
| Property | Value |
|---|---|
| Architecture | YOLACT (You Only Look At CoefficienTs), RegNetX-800MF backbone |
| Task | Instance segmentation |
| Input | 512x512x3 RGB (normalize_in_net ImageNet RGB mean/std) |
| Output | 16 heads: proto (128x128x32) + 5 scales x {bbox, mask coeffs, conf} |
| Priors | 49,104 anchors (9/cell, feature maps 64/32/16/8/4) |
| Classes | 80 (COCO) |
| Parameters | 28.3M |
| Operations | 116.75G |
| mAP (COCO, full precision) | 25.6% hardware reference |
| HEF | Hailo Model Zoo v2.19.0, Hailo-8 |
The accuracy value above is Hailo's Model Zoo reference. It is not a benchmark measured on CM5.
Run With Demo Video
sudo docker run --rm \
--name cm5-hailo8-yolact-800mf \
--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/yolact_regnetx_800mf:latest \
python web_detection.py --model_path model/yolact_regnetx_800mf.hef --video_path video/test.mp4Open http://<Board_IP>:8000 to view the web preview (colored instance
masks overlaid on the MJPEG stream).
REST API
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_800mf/predict" \
-F "file=@test.jpg"| Endpoint | Method | Purpose |
|---|---|---|
/ | GET | Web preview UI |
/api/models/yolact_regnetx_800mf/predict | POST | Boxes, confidences, mask areas (JSON) |
/api/video_feed | GET | MJPEG preview stream with masks |
/api/config | GET / POST | Confidence / NMS IOU thresholds |
Implementation Notes
- CPU post-processing (
meta_arch=yolact): no on-chip NMS. The Detect pipeline (49,104 anchors → SSD decode → per-instance argmax → Fast NMS, top-200/class, max 100 detections) is a numpy port of the Model Zoo'sinstance_segmentation_postprocessing.py. - Candidate masks:
sigmoid(proto @ coeffs^T)cropped to each detection box; visualized withmask_thresh=0.5(YAMLmask_threshold). normalize_in_netImageNet RGB; the app feeds raw uint8 RGB.- Preprocessing: plain bilinear resize to 512x512 (no letterbox, no pad).
Development Notes
- Source module:
src/rpi5_hailo8_yolact_regnetx_800mf/ - Dockerfile:
docker/hailo8/yolact_regnetx_800mf.dockerfile - Container:
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolact_regnetx_800mf:latest - Family: YOLACT (variants: regnetx_800mf / regnetx_1.6gf)
Entrées et sorties
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.