CV / STDC1
STDC1
reComputer R Series (CM5 + Hailo-8)
STDC1 Echtzeit-semantische Segmentierung auf reComputer R Series mit Hailo-8 oder Hailo-10H.
Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Erste Schritte
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.mp4REST API
Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.
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())Modelldetails
reComputer R Series (CM5 + Hailo-8)STDC1 auf der reComputer R Series (CM5 + Hailo-8)
STDC1 (Short-Term Dense Concatenate) führt über HailoRT eine semantische Echtzeitsegmentierung mit 19 Cityscapes-Klassen auf Hailo-8 aus.
Diese Seite gilt für die reComputer R Series (CM5 + Hailo-8) mit einem PCIe-Hailo-8-Beschleuniger.
Modellinformationen
| 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 |
Die oben angegebene Genauigkeit ist ein Referenzwert aus dem Hailo Model Zoo und kein auf CM5 gemessener Benchmark.
Cityscapes-Klassen
| 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 |
Hardware- und Host-Einrichtung
| 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 |
Installieren Sie die Hailo-8-Pakete auf dem Host und prüfen Sie vor dem Start des Containers, ob Treiber und Gerät bereit sind:
sudo apt update
sudo apt install hailo-all
sudo reboot
# After reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0Für dieses Image wird HailoRT 4.23.x erwartet.
Ausführung mit Demovideo
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Öffnen Sie http://<Board_IP>:8000, um die Webvorschau anzuzeigen.
USB-Kameramodus
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
Inferenz-Endpunkt:
POST http://<Board_IP>:8000/api/models/stdc1/predictBeispiel für eine Bildanfrage:
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 |
Entwicklungshinweise
- 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.
Eingaben und Ausgaben
Eingabe: Bild (1024x1920 RGB). Ausgabe: 19-Klassen semantische Segmentierungsmaske (Cityscapes).