CV / CenterPose
CenterPose RegNetX-800MF
Estimation de pose multi-personnes avec CenterPose RegNetX-800MF et 17 points clés COCO sur reComputer R Series avec Hailo-8 ou Hailo-10H.
Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.
Pour commencer
sudo docker run --rm \
--name pi5-hailo8-centerpose \
--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/centerpose_regnetx_800mf:latest \
python web_detection.py --model_path model/centerpose_regnetx_800mf.hef --video_path video/test.mp4API REST
Utilisez l'API REST pour exécuter l'inférence. Copiez les commandes ci-dessous.
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())Détails du modèle
reComputer R Series (CM5 + Hailo-8)CenterPose RegNetX-800MF sur reComputer R Series (CM5 + Hailo-8)
CenterPose RegNetX-800MF réalise une estimation de pose multi-personnes ascendante en une seule passe réseau. La démo sur Hailo-8 renvoie des boîtes de personnes et 17 points clés corporels COCO, et fournit un aperçu MJPEG en direct, l'inférence d'images et l'analyse vidéo hors ligne via un service FastAPI.
Informations sur le modèle
| Propriété | Valeur |
|---|---|
| Architecture | CenterPose avec squelette RegNetX-800MF |
| Tâche | Estimation de pose multi-personnes |
| Entrée | 512×512×3 BGR |
| Sortie | Boîtes de personnes et 17 points clés COCO |
| Paramètres | 12.31M |
| Source HEF | Hailo Model Zoo v2.19.0, compilé pour Hailo-8 |
| Runtime | HailoRT 4.23.x |
Configuration matérielle et de l'hôte
| Élément | Valeur |
|---|---|
| Carte | reComputer R Series avec Raspberry Pi CM5 |
| Accélérateur | Hailo-8 sur PCIe, exposé en /dev/hailo0 |
| OS | Raspberry Pi OS, aarch64 |
| Runtime validé | HailoRT 4.23.x |
sudo apt update
sudo apt install hailort hailort-pcie-driver python3-hailort
sudo reboot
# Vérifier après redémarrage
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0Le pilote, le firmware de l'appareil, le libhailort.so de l'hôte et la roue Python du conteneur doivent partager la même version majeure/mineure de HailoRT.
Exécuter avec la vidéo de démonstration incluse
La vidéo est réutilisée depuis l'application yolov8_pose comme demandé.
sudo docker run --rm \
--name pi5-hailo8-centerpose \
--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/centerpose_regnetx_800mf:latest \
python web_detection.py \
--model_path model/centerpose_regnetx_800mf.hef \
--video_path video/test.mp4Ouvrez http://<Board_IP>:8000 pour voir le flux annoté et l'interface d'analyse vidéo.
Mode caméra USB
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.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/centerpose_regnetx_800mf:latest \
python web_detection.py \
--model_path model/centerpose_regnetx_800mf.hef \
--camera_id 0API REST
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"| Point de terminaison | Méthode | Objectif |
|---|---|
| / | GET | Interface d'aperçu web |
| /api/models/centerpose_regnetx_800mf/predict | POST | Inférence de pose sur une seule image |
| /api/video_feed | GET | Flux MJPEG annoté |
| /api/config | GET / POST | Lire ou modifier les seuils de confiance/NMS |
| /api/video/upload | POST | Téléverser une vidéo source |
| /api/video/analyze | POST | Démarrer l'analyse vidéo hors ligne |
| /api/video/status | GET | Lire la progression de l'analyse |
| /api/video/download/{filename} | GET | Télécharger le résultat annoté |
Détails d'implémentation
- Source :
src/rpi5_hailo8_centerpose_regnetx_800mf/ - Dockerfile :
docker/hailo8/centerpose_regnetx_800mf.dockerfile - HEF :
model/centerpose_regnetx_800mf.hef(14,609,405 octets) - Le décodeur traite les têtes CenterPose
hm,wh,hps,reg,hm_hpethp_offset, puis remet les détections dans l'image via la transformation letterbox d'entrée. - CenterPose utilise l'ordre BGR OpenCV d'origine car la normalisation est intégrée à ce HEF.
Entrées et sorties
Entrée : image, vidéo ou image provenant d’une caméra USB. Sortie : boîtes englobantes des personnes, scores de confiance, 17 points clés COCO et aperçu MJPEG annoté.