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.

20 téléchargements
Taille
36 MB
Mémoire
4GB+
Précision
Hailo HEF / HailoRT

Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.

Pour commencer

Déployer
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.mp4

API REST

Utilisez l'API REST pour exécuter l'inférence. Copiez les commandes ci-dessous.

Curl
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_1_6gf/predict" \
  -F "file=@test.jpg"
Python
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
ArchitectureYOLACT (You Only Look At CoefficienTs), dorsale RegNetX-1.6GF
TâcheSegmentation d’instances
Entrée512x512x3 RGB (normalize_in_net ImageNet RGB mean/std)
Sortie16 têtes : proto (128x128x32) + 5 échelles x {bbox, mask coeffs, conf}
Ancres a priori49,104 ancres (9/cellule, cartes 64/32/16/8/4)
Classes80 (COCO)
Paramètres30.09M
Opérations125.34G
mAP (COCO, pleine précision)27.6% référence matérielle
HEFHailo 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

bash
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.mp4

Ouvrez http://<Board_IP>:8000 pour afficher l'aperçu web (masques d'instances colorés superposés au flux MJPEG).

API REST

bash
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_1_6gf/predict" \
  -F "file=@test.jpg"
Point d’accèsMéthodeFonction
/GETInterface d’aperçu web
/api/models/yolact_regnetx_1_6gf/predictPOSTBoîtes, confiances, surfaces des masques (JSON)
/api/video_feedGETFlux d’aperçu MJPEG avec masques
/api/configGET / POSTSeuils 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 de instance_segmentation_postprocessing.py de Model Zoo.
  • Masques candidats : sigmoid(proto @ coeffs^T) est recadré dans chaque boîte de détection et visualisé avec mask_thresh=0.5 (YAML mask_threshold).
  • normalize_in_net utilise 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.