CV / STDC1

STDC1

reComputer R Series (CM5 + Hailo-8)

Segmentation sémantique en temps réel STDC1 sur reComputer série R avec Hailo-10H.

53 téléchargements
Taille
11 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-stdc1 \
  --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/stdc1:latest \
  python web_detection.py --model_path model/stdc1.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/stdc1/predict" \
  -F "file=@test.jpg"
Python
import requests

resp = requests.post(
    "http://<Board_IP>:8000/api/models/stdc1/predict",
    files={"file": open("test.jpg", "rb")},
    timeout=30,
)
print(resp.json())

Détails du modèle

reComputer série R (CM5 + Hailo-8)

STDC1 sur reComputer série R (CM5 + Hailo-8)

STDC1 (Short-Term Dense Concatenate) exécute une segmentation sémantique en temps réel avec 19 classes Cityscapes sur Hailo-8 via HailoRT.

Cette page concerne le reComputer série R (CM5 + Hailo-8) équipé d'un accélérateur PCIe Hailo-8.

Informations sur le modèle

PropertyValue
ArchitectureSTDC1 (Short-Term Dense Concatenate)
TaskSemantic segmentation
Input1024x1920x3 RGB
Output1024x1920 class mask (19 classes)
Parameters8.27M
mIoU (Cityscapes)73.8% hardware reference
HEFHailo Model Zoo v2.19.0, Hailo-8

La précision ci-dessus est la valeur de référence du Hailo Model Zoo, et non une mesure réalisée sur CM5.

Classes Cityscapes

IDClassIDClassIDClass
0road7traffic sign14truck
1sidewalk8vegetation15bus
2building9terrain16train
3wall10sky17motorcycle
4fence11person18bicycle
5pole12rider
6traffic light13car

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

ItemValue
BoardreComputer R Series with Raspberry Pi CM5
AcceleratorHailo-8 over PCIe, exposed as /dev/hailo0
RuntimeHailoRT 4.23.x
Python in container3.11, aarch64

Installez les paquets Hailo-8 sur l'hôte et vérifiez que le pilote et le périphérique sont prêts avant de démarrer le conteneur :

bash
sudo apt update
sudo apt install hailo-all
sudo reboot

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

La version HailoRT attendue pour cette image est 4.23.x.

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

bash
sudo docker run --rm \
  --name cm5-hailo8-stdc1 \
  --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/stdc1:latest \
  python web_detection.py --model_path model/stdc1.hef --video_path video/test.mp4

Ouvrez http://<Board_IP>:8000 pour afficher l'aperçu web.

Mode caméra USB

bash
sudo docker run --rm \
  --name cm5-hailo8-stdc1 \
  --privileged \
  --net=host \
  -e PYTHONUNBUFFERED=1 \
  --device /dev/hailo0:/dev/hailo0 \
  --device /dev/video0:/dev/video0 \
  -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/stdc1:latest \
  python web_detection.py --model_path model/stdc1.hef --camera_id 0

REST API

Point de terminaison d'inférence :

text
POST http://<Board_IP>:8000/api/models/stdc1/predict

Exemple de requête d'image :

bash
curl -X POST "http://<Board_IP>:8000/api/models/stdc1/predict" \
  -F "file=@test.jpg"
EndpointMethodPurpose
/GETWeb preview UI
/api/models/stdc1/predictPOSTSegmentation mask (JSON)
/api/models/stdc1/visualizePOSTOverlay image (JPEG)
/api/models/stdc1/classesGETCityscapes class list
/api/video_feedGETMJPEG preview stream

Notes de développement

  • Source module: src/rpi5_hailo8_stdc1/
  • Dockerfile: docker/hailo8/stdc1.dockerfile
  • Container: ghcr.io/seeed-projects/recomputer-hailo8-cv/stdc1:latest
  • The module uses the HailoRT 4.23 VStreams API and a Hailo-8-specific HEF.

Entrées et sorties

Entrée : image (1024x1920 RGB). Sortie : masque de segmentation sémantique à 19 classes (Cityscapes).