CV / CenterPose
CenterPose RegNetX-800MF
reComputer R Series (CM5 + Hailo-10H)
Posenschätzung für mehrere Personen mit CenterPose RegNetX-800MF und 17 COCO-Keypoints 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-hailo10h-centerpose \
--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/centerpose_regnetx_800mf:latest \
python web_detection.py --model_path model/centerpose_regnetx_800mf.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/centerpose_regnetx_800mf/predict" \
-F "file=@test.jpg"import requests
response = requests.post(
"http://<Board_IP>:8000/api/models/centerpose_regnetx_800mf/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(response.json())Modelldetails
reComputer R Series (CM5 + Hailo-10H)CenterPose RegNetX-800MF auf reComputer R Series (CM5 + Hailo-10H)
CenterPose RegNetX-800MF führt eine Bottom-up-Posenschätzung für mehrere Personen in einem einzigen Netzwerkdurchlauf durch. Die Demo auf Hailo-10H liefert Personenboxen und 17 COCO-Körper-Keypoints sowie Live-MJPEG-Vorschau, Bildinferenz und Offline-Videoanalyse über einen FastAPI-Dienst.
Modellinformationen
| Eigenschaft | Wert |
|---|---|
| Architektur | CenterPose mit RegNetX-800MF-Backbone |
| Aufgabe | Posenschätzung für mehrere Personen |
| Eingabe | 512×512×3 BGR |
| Ausgabe | Personenboxen und 17 COCO-Keypoints |
| Parameter | 12.31M |
| Hardware-AP | 43.1 (Hailo Model Zoo-Referenz) |
| HEF-Quelle | Hailo Model Zoo v5.4.0, kompiliert für Hailo-10H |
| Runtime | HailoRT 5.1.1 |
Hardware- und Host-Einrichtung
| Element | Wert |
|---|---|
| Board | reComputer R Series mit Raspberry Pi CM5 |
| Beschleuniger | Hailo-10H über PCIe, verfügbar als /dev/hailo0 |
| OS | Raspberry Pi OS, aarch64 |
| Validiertes Runtime | HailoRT 5.1.1 |
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# Nach dem Neustart prüfen
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0Mischen Sie keine HailoRT 4.23.x (Hailo-8) Treiber, Bibliotheken oder Python-Wheels in diesen Hailo-10H-Container.
Mit dem mitgelieferten Demovideo ausführen
sudo docker run --rm \
--name cm5-hailo10h-centerpose \
--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/centerpose_regnetx_800mf:latest \
python web_detection.py \
--model_path model/centerpose_regnetx_800mf.hef \
--video_path video/test.mp4Öffnen Sie http://<Board_IP>:8000, um den annotierten Stream und die Videoanalyse-Oberfläche zu sehen.
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/centerpose_regnetx_800mf:latest \
python web_detection.py \
--model_path model/centerpose_regnetx_800mf.hef \
--camera_id 0REST-API
POST http://<Board_IP>:8000/api/models/centerpose_regnetx_800mf/predictcurl -X POST "http://<Board_IP>:8000/api/models/centerpose_regnetx_800mf/predict" \
-F "file=@test.jpg"| Endpunkt | Methode | Zweck |
|---|---|
| / | GET | Webvorschau-Oberfläche |
| /api/models/centerpose_regnetx_800mf/predict | POST | Posenschätzung für ein Einzelbild |
| /api/video_feed | GET | Annotierter MJPEG-Stream |
| /api/config | GET / POST | Konfidenz-/NMS-Schwellen lesen oder ändern |
| /api/video/upload | POST | Quellvideo hochladen |
| /api/video/analyze | POST | Offline-Videoanalyse starten |
| /api/video/status | GET | Analysefortschritt lesen |
| /api/video/download/{filename} | GET | Annotiertes Ergebnis herunterladen |
Implementierungsdetails
- Quelle:
src/hailo10h_centerpose_regnetx_800mf/ - Dockerfile:
docker/hailo10h/centerpose_regnetx_800mf.dockerfile - HEF:
model/centerpose_regnetx_800mf.hef(14,581,760 Bytes) - Der Decoder verarbeitet die CenterPose-Köpfe
hm,wh,hps,reg,hm_hpundhp_offsetund rechnet die Detektionen über die Letterbox-Transformation der Eingabe zurück. - CenterPose verwendet die ursprüngliche OpenCV-BGR-Reihenfolge, da die Normalisierung in diesem HEF integriert ist.
- Der Executor verwendet die
create_infer_model-API von HailoRT 5.1.1 mit persistent konfiguriertem Modell und registrierten FLOAT32-Ausgabepuffern.
Eingaben und Ausgaben
Eingabe: Bild, Video oder Frame einer USB-Kamera. Ausgabe: Personen-Bounding-Boxes, Konfidenzwerte, 17 COCO-Schlüsselpunkte und annotierte MJPEG-Vorschau.