CV / FCN ResNet

FCN8 ResNet-18

reComputer R Series (CM5 + Hailo-10H)

FCN-8s mit ResNet-18-Backbone für semantische Segmentierung auf reComputer R Series mit Hailo-10H.

29 Downloads
Größe
9.2 MB
Speicher
4GB+
Präzision
Hailo HEF / HailoRT

Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.

Erste Schritte

Bereitstellen
sudo docker run --rm \
  --name cm5-hailo-fcn8-resnet \
  --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/fcn8_resnet_v1_18:latest \
  python web_detection.py --model_path model/fcn8_resnet_v1_18.hef --video_path video/test.mp4

REST API

Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.

Curl
curl -X POST "http://<Board_IP>:8000/api/models/fcn8_resnet/predict" \
  -F "file=@test.jpg"
Python
import requests

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

Modelldetails

FCN8 ResNet-18 auf reComputer R Series (CM5 + Hailo-10H)

FCN-8s (vollständig konvolutionelles Netzwerk) mit ResNet-18-Backbone zur semantischen Segmentierung läuft über HailoRT auf Hailo-10H.

Diese Seite richtet sich an reComputer R Series (CM5 + Hailo-10H) mit einem PCIe-Hailo-10H-Beschleuniger.

Modellinformationen

EigenschaftWert
ArchitekturFCN-8s + ResNet-18
AufgabeSemantische Segmentierung
Eingabe1024×1920×3 RGB
Ausgabe1024×1920-Klassenmaske (19 Klassen)
Parameter11.20M
mIoU (Cityscapes)69.2% (Hardware)
QuelleHailo Model Zoo

Cityscapes-Klassen

IDKlasseIDKlasseIDKlasse
0Straße7Verkehrsschild14Lkw
1Gehweg8Vegetation15Bus
2Gebäude9Gelände16Zug
3Mauer10Himmel17Motorrad
4Zaun11Person18Fahrrad
5Pfosten12Fahrer eines Zweirads
6Ampel13Auto

Hardware- und Hosteinrichtung

EintragWert
BoardreComputer R Series mit Raspberry Pi CM5
BeschleunigerHailo-10H über PCIe, verfügbar als /dev/hailo0
BetriebssystemRaspberry Pi OS Bookworm, aarch64
Hosttreiberapt-Paket hailo-h10-all
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot

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

# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
sudo systemctl enable docker
sudo systemctl start docker

Mit Demovideo ausführen

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

Öffnen Sie http://<Board_IP>:8000 für die Webvorschau. Das Image enthält Modulquellcode, Demovideo, HailoRT-Python-Wheel und die unten aufgeführten HEF-Dateien.

USB-Kameramodus

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

HEF-Dateien

HEFGrößeHinweise
fcn8_resnet_v1_18.hef9.2 MBModell für semantische Segmentierung

REST-API

Vorhersage-Endpunkt:

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

Beispiel einer Bildanfrage:

bash
curl -X POST "http://<Board_IP>:8000/api/models/fcn8_resnet/predict" \
  -F "file=@test.jpg"

Häufig verwendete Dienst-Endpunkte:

EndpunktMethodeZweck
/GETWebvorschau-Oberfläche
/api/models/fcn8_resnet/predictPOSTPixelabdeckung je Klasse (JSON)
/api/video_feedGETMJPEG-Vorschaustream

Entwicklungshinweise

  • Quellmodul: src/hailo10h_fcn8_resnet_v1_18/
  • Dockerfile: docker/hailo10h/fcn8_resnet_v1_18.dockerfile
  • Hauptdienst: web_detection.py kapselt HailoRT-Inferenz, Nachverarbeitung, MJPEG-Vorschau und REST-Vorhersage.

Eingaben und Ausgaben

Input: image (1024x1920 RGB). Output: 19-class semantic segmentation mask (Cityscapes).