CV / CenterPose
CenterPose RegNetX-800MF
reComputer R Series (CM5 + Hailo-10H)
Estimación de pose multi-persona con CenterPose RegNetX-800MF y 17 puntos clave COCO en reComputer R Series con Hailo-8 o Hailo-10H.
Elige el dispositivo que estás usando. La guía de configuración y la documentación se actualizarán en consecuencia.
Primeros pasos
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
Usa la API REST para ejecutar inferencia. Copia los comandos siguientes.
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())Detalles del modelo
reComputer R Series (CM5 + Hailo-10H)CenterPose RegNetX-800MF en reComputer R Series (CM5 + Hailo-10H)
CenterPose RegNetX-800MF realiza estimación de pose multi-persona de abajo hacia arriba en una sola pasada de red. La demo en Hailo-10H devuelve cajas de personas y 17 puntos clave corporales COCO, y ofrece vista previa MJPEG en vivo, inferencia de imágenes y análisis de vídeo offline mediante un servicio FastAPI.
Información del modelo
| Propiedad | Valor |
|---|---|
| Arquitectura | CenterPose con backbone RegNetX-800MF |
| Tarea | Estimación de pose multi-persona |
| Entrada | 512×512×3 BGR |
| Salida | Cajas de personas y 17 puntos clave COCO |
| Parámetros | 12.31M |
| AP de hardware | 43.1 (referencia de Hailo Model Zoo) |
| Origen del HEF | Hailo Model Zoo v5.4.0, compilado para Hailo-10H |
| Runtime | HailoRT 5.1.1 |
Configuración de hardware y del host
| Elemento | Valor |
|---|---|
| Placa | reComputer R Series con Raspberry Pi CM5 |
| Acelerador | Hailo-10H por PCIe, expuesto como /dev/hailo0 |
| SO | Raspberry Pi OS, aarch64 |
| Runtime validado | HailoRT 5.1.1 |
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# Verificar después de reiniciar
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0No mezcles controladores, bibliotecas ni ruedas de Python de HailoRT 4.23.x (Hailo-8) en este contenedor Hailo-10H.
Ejecutar con el vídeo de demostración incluido
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.mp4Abre http://<Board_IP>:8000 para ver el flujo anotado y la interfaz de análisis de vídeo.
Modo cámara 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"| Punto de acceso | Método | Propósito |
|---|---|
| / | GET | Interfaz de vista previa web |
| /api/models/centerpose_regnetx_800mf/predict | POST | Inferencia de pose de un solo fotograma |
| /api/video_feed | GET | Flujo MJPEG anotado |
| /api/config | GET / POST | Leer o cambiar umbrales de confianza/NMS |
| /api/video/upload | POST | Subir un vídeo de origen |
| /api/video/analyze | POST | Iniciar análisis de vídeo offline |
| /api/video/status | GET | Leer el progreso del análisis |
| /api/video/download/{filename} | GET | Descargar el resultado anotado |
Detalles de implementación
- Fuente:
src/hailo10h_centerpose_regnetx_800mf/ - Dockerfile:
docker/hailo10h/centerpose_regnetx_800mf.dockerfile - HEF:
model/centerpose_regnetx_800mf.hef(14,581,760 bytes) - El decodificador procesa las cabezas de CenterPose
hm,wh,hps,reg,hm_hpyhp_offset, y asigna las detecciones de vuelta mediante la transformación letterbox de entrada. - CenterPose usa el orden BGR original de OpenCV porque la normalización está integrada en este HEF.
- El ejecutor usa la API
create_infer_modelde HailoRT 5.1.1 con un modelo configurado persistente y búferes de salida FLOAT32 registrados.
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.