CV / STDC1

STDC1

reComputer R Series (CM5 + Hailo-8)

STDC1 real-time semantische segmentatie op reComputer R Series met Hailo-10H.

53 downloads
Grootte
11 MB
Geheugen
4GB+
Precisie
Hailo HEF / HailoRT

Kies het apparaat dat je gebruikt. De installatiehandleiding en documentatie worden dienovereenkomstig bijgewerkt.

Aan de slag

Implementeren
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

REST API

Gebruik de REST API om inferentie uit te voeren. Kopieer de onderstaande commando's.

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())

Modeldetails

reComputer R Series (CM5 + Hailo-8)

STDC1 op reComputer R Series (CM5 + Hailo-8)

STDC1 (Short-Term Dense Concatenate) voert via HailoRT realtime semantische segmentatie met 19 Cityscapes-klassen uit op Hailo-8.

Deze pagina is bedoeld voor reComputer R Series (CM5 + Hailo-8) met een PCIe Hailo-8-accelerator.

Modelinformatie

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

De bovenstaande nauwkeurigheid is de referentiewaarde uit Hailo Model Zoo en geen benchmark die op CM5 is gemeten.

Cityscapes-klassen

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

Hardware- en hostconfiguratie

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

Installeer de Hailo-8-pakketten op de host en controleer vóór het starten van de container of het stuurprogramma en apparaat gereed zijn:

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

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

Voor deze image wordt HailoRT 4.23.x verwacht.

Uitvoeren met de demovideo

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

Open http://<Board_IP>:8000 om de webpreview te bekijken.

USB-cameramodus

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

Inferentie-endpoint:

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

Voorbeeld van een afbeeldingsverzoek:

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

Ontwikkelingsnotities

  • 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.

Invoer en uitvoer

Invoer: afbeelding (1024x1920 RGB). Uitvoer: semantisch segmentatiemasker met 19 klassen (Cityscapes).