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.
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-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.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/stdc1/predict" \
-F "file=@test.jpg"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
| Property | Value |
|---|---|
| Architecture | STDC1 (Short-Term Dense Concatenate) |
| Task | Semantic segmentation |
| Input | 1024x1920x3 RGB |
| Output | 1024x1920 class mask (19 classes) |
| Parameters | 8.27M |
| mIoU (Cityscapes) | 73.8% hardware reference |
| HEF | Hailo 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
| ID | Class | ID | Class | ID | Class |
|---|---|---|---|---|---|
| 0 | road | 7 | traffic sign | 14 | truck |
| 1 | sidewalk | 8 | vegetation | 15 | bus |
| 2 | building | 9 | terrain | 16 | train |
| 3 | wall | 10 | sky | 17 | motorcycle |
| 4 | fence | 11 | person | 18 | bicycle |
| 5 | pole | 12 | rider | ||
| 6 | traffic light | 13 | car |
Configuration du matériel et de l'hôte
| Item | Value |
|---|---|
| Board | reComputer R Series with Raspberry Pi CM5 |
| Accelerator | Hailo-8 over PCIe, exposed as /dev/hailo0 |
| Runtime | HailoRT 4.23.x |
| Python in container | 3.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 :
sudo apt update
sudo apt install hailo-all
sudo reboot
# After reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0La version HailoRT attendue pour cette image est 4.23.x.
Exécution avec la vidéo de démonstration
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.mp4Ouvrez http://<Board_IP>:8000 pour afficher l'aperçu web.
Mode caméra USB
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 0REST API
Point de terminaison d'inférence :
POST http://<Board_IP>:8000/api/models/stdc1/predictExemple de requête d'image :
curl -X POST "http://<Board_IP>:8000/api/models/stdc1/predict" \
-F "file=@test.jpg"| Endpoint | Method | Purpose |
|---|---|---|
/ | GET | Web preview UI |
/api/models/stdc1/predict | POST | Segmentation mask (JSON) |
/api/models/stdc1/visualize | POST | Overlay image (JPEG) |
/api/models/stdc1/classes | GET | Cityscapes class list |
/api/video_feed | GET | MJPEG 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).