CV / MSPN Pose

MSPN RegNetX-800MF

MSPN (Multi-Stage Pose Network) mit RegNetX-800MF-Backbone führt Echtzeit-Einzelpersonen-Posenschätzung mit 17 COCO-Schlüsselpunkten über HailoRT-Inferenz durch.

Größe
1.3 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

Deploy
sudo docker run --rm \
  --name cm5-hailo-mspn-pose \
  --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/mspn_regnetx_800mf:latest \
  python web_detection.py --model_path model/*.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/mspn_pose/predict" \
  -F "file=@test.jpg"
Python
import requests

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

Modelldetails

MSPN RegNetX-800MF auf reComputer R Serie (CM5 + Hailo-10H)

MSPN (Multi-Stage Pose Network) mit RegNetX-800MF-Backbone fuer Einzelpersonen-Pose-Schaetzung mit 17 COCO-Keypoints, laeuft auf Hailo-10H ueber HailoRT.

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

Modellinformationen

EigenschaftWert
ArchitekturMSPN + RegNetX-800MF
AufgabeEinzelpersonen-Pose-Schaetzung
Eingabe256x192x3 RGB
Ausgabe17 Keypoints (COCO-Format)
Parameter7,17M
Hardware AP69,8%
FPS2034
QuelleHailo Model Zoo

COCO-Keypoints

IDNameIDNameIDName
0nose6right_shoulder13left_knee
1left_eye7left_elbow14right_knee
2right_eye8right_elbow15left_ankle
3left_ear9left_wrist16right_ankle
4right_ear10right_wrist
5left_shoulder11left_hip
12right_hip

Hardware- und Host-Einrichtung

ElementWert
BoardreComputer R Serie mit Raspberry Pi CM5
BeschleunigerHailo-10H ueber PCIe, bereitgestellt als /dev/hailo0
BetriebssystemRaspberry Pi OS Bookworm, aarch64
Host-Treiberhailo-all apt-Paket
bash
sudo apt update
sudo apt install hailo-all
sudo reboot

# Nach dem Neustart
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 Demo-Video ausfuehren

bash
sudo docker run --rm --privileged --net=host \
  -e PYTHONUNBUFFERED=1 \
  --device /dev/hailo0:/dev/hailo0 \
  -v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
  ghcr.io/seeed-projects/recomputer-hailo10h-cv/mspn_regnetx_800mf:latest \
  python web_detection.py --video_path video/test.mp4

Oeffnen Sie http://<R20_IP>:8000, um die Web-Vorschau anzuzeigen. Das Image enthaelt den Modulquellcode, das Demo-Video, das HailoRT-Python-Wheel und die unten aufgefuehrten HEF-Dateien.

USB-Kamera-Modus

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:/usr/lib/libhailort.so:ro \
  ghcr.io/seeed-projects/recomputer-hailo10h-cv/mspn_regnetx_800mf:latest \
  python web_detection.py --camera_id 0

HEF-Dateien

HEFGroesseHinweise
mspn_regnetx_800mf.hef1,3 MBPose-Schaetzungsmodell

REST-API

Vorhersage-Endpunkt:

text
POST http://<R20_IP>:8000/api/models/mspn_pose/predict

Beispiel fuer eine Bildanfrage:

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

Allgemeine Dienst-Endpunkte:

EndpunktMethodeZweck
/GETWeb-Vorschau-UI
/api/models/mspn_pose/predictPOSTEinzelbild-Keypoint-Inferenz
/api/models/mspn_pose/visualizePOSTPose-Ueberlagerungsvisualisierung
/api/models/mspn_pose/keypointsGETKeypoint-Definitionen
/api/video_feedGETMJPEG-Vorschau-Stream

Entwicklungshinweise

  • Quellmodul: src/hailo10h_mspn_regnetx_800mf/
  • Dockerfile: docker/hailo10h/mspn_regnetx_800mf.dockerfile
  • Hauptdienst: web_detection.py umschliesst HailoRT-Inferenz, Nachbearbeitung, MJPEG-Vorschau und REST-Vorhersage.

Eingaben und Ausgaben

Eingabe: Bild (256x192 RGB). Ausgabe: 17 Keypoints mit x, y, Konfidenz (COCO-Format).