CV / YOLACT
YOLACT-RegNetX-1.6GF
reComputer R Series (CM5 + Hailo-8)
Segmentation d’instances en temps réel (80 classes COCO, masques et boîtes) sur reComputer R Series avec Hailo-8 ou Hailo-10H.
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-1-6gf \
--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_1_6gf:latest \
python web_detection.py --model_path model/yolact_regnetx_1_6gf.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_1_6gf/predict" \
-F "file=@test.jpg"import requests
response = requests.post(
"http://<Board_IP>:8000/api/models/yolact_regnetx_1_6gf/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(response.json())Détails du modèle
reComputer R Series (CM5 + Hailo-8)YOLACT-RegNetX-1.6GF sur reComputer R Series (CM5 + Hailo-8)
YOLACT (UC Davis) réalise une segmentation d'instances en temps réel, avec des masques par objet sur les boîtes des 80 classes COCO, sur Hailo-8 via HailoRT. Le HEF expose 16 têtes brutes et tout le décodage s'effectue sur le CPU hôte. La variante 1.6GF est la plus grande et la plus précise de la famille yolact.
Informations du modèle
| Propriété | Valeur |
|---|---|
| Architecture | YOLACT (You Only Look At CoefficienTs), dorsale RegNetX-1.6GF |
| Tâche | Segmentation d’instances |
| Entrée | 512x512x3 RGB (normalize_in_net ImageNet RGB mean/std) |
| Sortie | 16 têtes : proto (128x128x32) + 5 échelles x {bbox, mask coeffs, conf} |
| Ancres a priori | 49,104 ancres (9/cellule, cartes 64/32/16/8/4) |
| Classes | 80 (COCO) |
| Paramètres | 30.09M |
| Opérations | 125.34G |
| mAP (COCO, pleine précision) | 27.6% référence matérielle |
| HEF | Hailo Model Zoo v2.19.0, Hailo-8 |
La précision ci-dessus est une valeur de référence de Hailo Model Zoo, pas une mesure effectuée sur CM5.
Exécution avec la vidéo de démonstration
sudo docker run --rm \
--name cm5-hailo8-yolact-1-6gf \
--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_1_6gf:latest \
python web_detection.py --model_path model/yolact_regnetx_1_6gf.hef --video_path video/test.mp4Ouvrez http://<Board_IP>:8000 pour afficher l'aperçu web (masques d'instances colorés superposés au flux MJPEG).
API REST
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_1_6gf/predict" \
-F "file=@test.jpg"| Point d’accès | Méthode | Fonction |
|---|---|---|
/ | GET | Interface d’aperçu web |
/api/models/yolact_regnetx_1_6gf/predict | POST | Boîtes, confiances, surfaces des masques (JSON) |
/api/video_feed | GET | Flux d’aperçu MJPEG avec masques |
/api/config | GET / POST | Seuils de confiance / IOU NMS |
Notes d’implémentation
- Post-traitement CPU (
meta_arch=yolact) : aucune NMS sur puce. Le pipeline Detect (49,104 ancres → décodage SSD → argmax par instance → Fast NMS, top-200/classe, maximum 100 détections) est un portage numpy deinstance_segmentation_postprocessing.pyde Model Zoo. - Masques candidats :
sigmoid(proto @ coeffs^T)est recadré dans chaque boîte de détection et visualisé avecmask_thresh=0.5(YAMLmask_threshold). normalize_in_netutilise ImageNet RGB ; l'application fournit des données RGB uint8 brutes.- Prétraitement : redimensionnement bilinéaire simple en 512x512 (sans letterbox ni remplissage).
Notes de développement
- Module source :
src/rpi5_hailo8_yolact_regnetx_1_6gf/ - Dockerfile :
docker/hailo8/yolact_regnetx_1_6gf.dockerfile - Conteneur :
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolact_regnetx_1_6gf:latest - Famille : YOLACT (variantes : 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.