CV / CenterPose
CenterPose RegNetX-800MF
reComputer R Series (CM5 + Hailo-10H)
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 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.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-10H)CenterPose RegNetX-800MF sur reComputer R Series (CM5 + Hailo-10H)
CenterPose RegNetX-800MF réalise une estimation de pose multi-personnes ascendante en une seule passe réseau. La démo sur Hailo-10H 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 |
| AP matériel | 43.1 (référence Hailo Model Zoo) |
| Source HEF | Hailo Model Zoo v5.4.0, compilé pour Hailo-10H |
| Runtime | HailoRT 5.1.1 |
Configuration matérielle et de l'hôte
| Élément | Valeur |
|---|---|
| Carte | reComputer R Series avec Raspberry Pi CM5 |
| Accélérateur | Hailo-10H sur PCIe, exposé en /dev/hailo0 |
| OS | Raspberry Pi OS, aarch64 |
| Runtime validé | HailoRT 5.1.1 |
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# Vérifier après redémarrage
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0Ne mélangez pas les pilotes, bibliothèques ou wheels Python HailoRT 4.23.x (Hailo-8) dans ce conteneur Hailo-10H.
Exécuter avec la vidéo de démonstration incluse
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.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.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 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/hailo10h_centerpose_regnetx_800mf/ - Dockerfile :
docker/hailo10h/centerpose_regnetx_800mf.dockerfile - HEF :
model/centerpose_regnetx_800mf.hef(14,581,760 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.
- L'exécuteur utilise l'API
create_infer_modelde HailoRT 5.1.1 avec un modèle configuré persistant et des tampons de sortie FLOAT32 enregistrés.
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é.