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.
Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Erste Schritte
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.mp4REST API
Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.
curl -X POST "http://<Board_IP>:8000/api/models/fcn8_resnet/predict" \
-F "file=@test.jpg"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
| Eigenschaft | Wert |
|---|---|
| Architektur | FCN-8s + ResNet-18 |
| Aufgabe | Semantische Segmentierung |
| Eingabe | 1024×1920×3 RGB |
| Ausgabe | 1024×1920-Klassenmaske (19 Klassen) |
| Parameter | 11.20M |
| mIoU (Cityscapes) | 69.2% (Hardware) |
| Quelle | Hailo Model Zoo |
Cityscapes-Klassen
| ID | Klasse | ID | Klasse | ID | Klasse |
|---|---|---|---|---|---|
| 0 | Straße | 7 | Verkehrsschild | 14 | Lkw |
| 1 | Gehweg | 8 | Vegetation | 15 | Bus |
| 2 | Gebäude | 9 | Gelände | 16 | Zug |
| 3 | Mauer | 10 | Himmel | 17 | Motorrad |
| 4 | Zaun | 11 | Person | 18 | Fahrrad |
| 5 | Pfosten | 12 | Fahrer eines Zweirads | ||
| 6 | Ampel | 13 | Auto |
Hardware- und Hosteinrichtung
| Eintrag | Wert |
|---|---|
| Board | reComputer R Series mit Raspberry Pi CM5 |
| Beschleuniger | Hailo-10H über PCIe, verfügbar als /dev/hailo0 |
| Betriebssystem | Raspberry Pi OS Bookworm, aarch64 |
| Hosttreiber | apt-Paket hailo-h10-all |
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 dockerMit Demovideo ausführen
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
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 0HEF-Dateien
| HEF | Größe | Hinweise |
|---|---|---|
fcn8_resnet_v1_18.hef | 9.2 MB | Modell für semantische Segmentierung |
REST-API
Vorhersage-Endpunkt:
POST http://<Board_IP>:8000/api/models/fcn8_resnet/predictBeispiel einer Bildanfrage:
curl -X POST "http://<Board_IP>:8000/api/models/fcn8_resnet/predict" \
-F "file=@test.jpg"Häufig verwendete Dienst-Endpunkte:
| Endpunkt | Methode | Zweck |
|---|---|---|
/ | GET | Webvorschau-Oberfläche |
/api/models/fcn8_resnet/predict | POST | Pixelabdeckung je Klasse (JSON) |
/api/video_feed | GET | MJPEG-Vorschaustream |
Entwicklungshinweise
- Quellmodul:
src/hailo10h_fcn8_resnet_v1_18/ - Dockerfile:
docker/hailo10h/fcn8_resnet_v1_18.dockerfile - Hauptdienst:
web_detection.pykapselt HailoRT-Inferenz, Nachverarbeitung, MJPEG-Vorschau und REST-Vorhersage.
Eingaben und Ausgaben
Input: image (1024x1920 RGB). Output: 19-class semantic segmentation mask (Cityscapes).