CV / CenterPose

CenterPose RegNetX-800MF

CenterPose uses a RegNetX-800MF backbone to estimate person boxes and 17 body keypoints in one pass on Hailo-8.

4 descargas
Tamaño
13.93 MB
Memoria
4GB+
Precisión
Hailo HEF / HailoRT 4.23.x

Elige el dispositivo que estás usando. La guía de configuración y la documentación se actualizarán en consecuencia.

Primeros pasos

Desplegar
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.mp4

API REST

Usa la API REST para ejecutar inferencia. Copia los comandos siguientes.

Curl
curl -X POST "http://<Board_IP>:8000/api/models/centerpose_regnetx_800mf/predict" \
  -F "file=@test.jpg"
Python
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())

Detalles del modelo

CenterPose RegNetX-800MF on reComputer R Series (CM5 + Hailo-8)

CenterPose RegNetX-800MF performs bottom-up, multi-person pose estimation in a single network pass. The Hailo-8 demo returns person boxes and 17 COCO body keypoints, and provides live MJPEG preview, image inference, and offline video analysis through a FastAPI service.

Model information

PropertyValue
ArchitectureCenterPose with RegNetX-800MF backbone
TaskMulti-person pose estimation
Input512×512×3 BGR
OutputPerson boxes and 17 COCO keypoints
Parameters12.31M
HEF sourceHailo Model Zoo v2.19.0, compiled for Hailo-8
RuntimeHailoRT 4.23.x

Hardware and host setup

ItemValue
BoardreComputer R Series with Raspberry Pi CM5
AcceleratorHailo-8 over PCIe, exposed as /dev/hailo0
OSRaspberry Pi OS, aarch64
Validated runtimeHailoRT 4.23.x
bash
sudo apt update
sudo apt install hailort hailort-pcie-driver python3-hailort
sudo reboot

# Verify after reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0

The driver, device firmware, host libhailort.so, and Python wheel in the container must share the same HailoRT major/minor version.

Run with the bundled demo video

The video is reused from the yolov8_pose application as requested.

bash
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.mp4

Open http://<R20_IP>:8000 to view the annotated stream and video-analysis UI.

USB camera mode

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.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 0

REST API

text
POST http://<R20_IP>:8000/api/models/centerpose_regnetx_800mf/predict
bash
curl -X POST "http://<R20_IP>:8000/api/models/centerpose_regnetx_800mf/predict" \
  -F "file=@test.jpg"
EndpointMethodPurpose
/GETWeb preview UI
/api/models/centerpose_regnetx_800mf/predictPOSTSingle-frame pose inference
/api/video_feedGETAnnotated MJPEG stream
/api/configGET / POSTRead or change confidence/NMS thresholds
/api/video/uploadPOSTUpload a source video
/api/video/analyzePOSTStart offline video analysis
/api/video/statusGETRead analysis progress
/api/video/download/{filename}GETDownload the annotated result

Implementation details

  • Source: src/rpi5_hailo8_centerpose_regnetx_800mf/
  • Dockerfile: docker/hailo8/centerpose_regnetx_800mf.dockerfile
  • HEF: model/centerpose_regnetx_800mf.hef (14,609,405 bytes)
  • The decoder handles CenterPose heads hm, wh, hps, reg, hm_hp, and hp_offset, then maps detections back through the input letterbox transform.
  • CenterPose uses the original OpenCV BGR order because normalization is built into this HEF.

Entradas y salidas

Entrada: imagen, vídeo o fotograma de cámara USB. Salida: cuadros delimitadores de personas, niveles de confianza, 17 puntos clave de COCO y vista previa MJPEG con anotaciones.