CV / YOLACT

YOLACT-RegNetX-1.6GF

reComputer R Series (CM5 + Hailo-10H)

Segmentation d’instances en temps réel (80 classes COCO, masques et boîtes) sur reComputer R Series avec Hailo-8 ou Hailo-10H.

84 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-hailo10h-yolact-1-6gf \
  --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_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-10H)

YOLACT-RegNetX-1.6GF sur reComputer R Series (CM5 + Hailo-10H)

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-10H via HailoRT 5.1.1. Le HEF expose 16 têtes brutes ; tout le décodage s'effectue sur le CPU hôte.

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
HEFHailo Model Zoo v5.4.0, Hailo-10H (38.9 MB)

Configuration du matériel et de l’hôte

ÉlémentValeur
CartereComputer R Series avec Raspberry Pi CM5
AccélérateurHailo-10H via PCIe, exposé sous /dev/hailo0
Pilote de l’hôtePaquet apt hailo-h10-all
Environnement d’exécutionHailoRT 5.1.1
Python dans le conteneur3.13, aarch64
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot

# After reboot
hailortcli fw-control identify
ls /dev/hailo0

Exécution avec la vidéo de démonstration

bash
sudo docker run --rm \
  --name cm5-hailo10h-yolact-1-6gf \
  --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_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
/api/models/yolact_regnetx_1_6gf/predictPOSTBoîtes, confiances, surfaces des masques (JSON)
/api/video_feedGETFlux d’aperçu MJPEG avec masques

Notes d’implémentation

  • Post-traitement CPU (meta_arch=yolact) : 49,104 ancres → décodage SSD → Fast NMS → assemblage des masques avec sigmoid(proto @ coeffs^T) ; portage numpy de instance_segmentation_postprocessing.py de Model Zoo.
  • L'exécuteur encapsule les sorties multiples FLOAT32 de HailoRT 5.1.1 (16 têtes) ; la première inférence affiche la plage de valeurs de chaque tête conformément à la liste de contrôle d’acceptation SOP.
  • 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/hailo10h_yolact_regnetx_1_6gf/
  • Dockerfile : docker/hailo10h/yolact_regnetx_1_6gf.dockerfile
  • Conteneur : ghcr.io/seeed-projects/recomputer-hailo10h-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.