CV / MSPN 姿态估计
MSPN RegNetX-800MF
MSPN 单人姿态估计,支持 17 个 COCO 关键点,基于 reComputer R Series + Hailo-8 或 Hailo-10H 部署。
51 次下载
大小
5.8 MB内存
4GB+精度
Hailo HEF / HailoRT选择你正在使用的设备,设置指南和文档将相应更新。
快速开始
部署
sudo docker run --rm \
--name cm5-hailo8-mspn-regnetx-800mf \
--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/mspn_regnetx_800mf:latest \
python web_detection.py --model_path model/mspn_regnetx_800mf.hef --video_path video/test.mp4REST API
使用 REST API 进行推理。复制以下命令。
Curl
curl -X POST "http://<Board_IP>:8000/api/models/mspn_regnetx_800mf/predict" \
-F "file=@test.jpg"Python
import requests
resp = requests.post(
"http://<Board_IP>:8000/api/models/mspn_regnetx_800mf/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(resp.json())模型详情
reComputer R SeriesMSPN RegNetX-800MF 在 reComputer R Series(CM5 + Hailo-8)上运行
MSPN(Multi-Stage Pose Network)搭配 RegNetX-800MF 骨干网络,实现单人姿态估计,输出 17 个 COCO 关键点。HEF 输出 64x48x17 热力图;应用逐通道取 argmax、缩放到输入空间并绘制 COCO 骨架。
本页面向搭载 PCIe Hailo-8 加速器的 reComputer R Series(CM5 + Hailo-8)。
模型信息
| 属性 | 值 |
|---|---|
| 架构 | MSPN + RegNetX-800MF |
| 任务 | 单人姿态估计 |
| 输入 | 256x192x3 RGB(normalize_in_net ImageNet RGB) |
| 输出 | 热力图 64x48x17(17 个 COCO 关键点) |
| 参数量 | 7.17M |
| 运算量 | 2.94G |
| 硬件 AP | 70.3% |
| FPS | 2126 |
| HEF | Hailo Model Zoo v2.19.0,Hailo-8 |
硬件与主机设置
Hailo-8 驱动、固件、主机 libhailort.so 与镜像内的 Python wheel 必须使用匹配的 HailoRT 主/次版本(4.23.x)。
bash
sudo apt update
sudo apt install hailort hailort-pcie-driver python3-hailort
sudo reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0使用演示视频运行
bash
sudo docker run --rm \
--name cm5-hailo8-mspn-regnetx-800mf \
--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/mspn_regnetx_800mf:latest \
python web_detection.py --model_path model/mspn_regnetx_800mf.hef --video_path video/test.mp4打开 http://<Board_IP>:8000 查看带关键点骨架叠加的 Web 预览。
USB 摄像头模式
bash
sudo docker run --rm \
--name cm5-hailo8-mspn-regnetx-800mf \
--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/mspn_regnetx_800mf:latest \
python web_detection.py --model_path model/mspn_regnetx_800mf.hef --camera_id 0REST API
bash
curl -X POST "http://<Board_IP>:8000/api/models/mspn_regnetx_800mf/predict" \
-F "file=@test.jpg"| 接口 | 方法 | 用途 |
|---|---|---|
/api/models/mspn_regnetx_800mf/predict | POST | 17 个 COCO 关键点(JSON) |
/api/video_feed | GET | MJPEG 预览流 |
实现细节
- 源码模块:
src/rpi5_hailo8_mspn_regnetx_800mf/ - Dockerfile:
docker/hailo8/mspn_regnetx_800mf.dockerfile normalize_in_net含 ImageNet RGB 均值/标准差;无input_conversion—— letterbox 后直接输入原始 uint8 RGB。- 解码:逐通道 argmax → 64x48 空间坐标 (x, y) → 缩放到 256x192 → 逆 letterbox 还原到原图。首次推理会打印一次原始 vstream 布局。
- 单人模型:假定画面中只有一位居中的人物。多人场景请先运行检测器并逐人裁剪。
- Model Zoo 参考实现额外做 5x5 高斯模糊和四分之一像素偏移;本演示未启用。
故障排查
HEF加载失败:确认 HailoRT 为 4.23.x,且挂载的libhailort.so与主机驱动匹配。- 没有
/dev/hailo0:检查lsmod | grep hailo并重装hailort-pcie-driver。 - 未绘制骨架:降低关键点置信度滑块(默认 0.30)。
- 关键点位置不对:确认打印的输入/输出 shape 与 256x192 输入和 64x48x17 热力图一致。
输入与输出
输入:图像(256x192 RGB)。输出:17 个关键点,包含 x、y 和置信度(COCO 格式)。