MMPose 全身姿态估计实战:3步跑通133关键点检测
2026/9/20 8:45:37 网站建设 项目流程

MMPose 全身姿态估计实战:3步跑通133关键点检测

【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose

MMPose 是 OpenMMLab 的 PyTorch 姿态估计工具箱,其中 WholeBody 模块在单张图像上一次性输出 133 个全身关键点,覆盖身体关节、面部轮廓、双手手指和足部。它解决的是传统姿态估计只给出 17 个身体关节、而手部表情细节必须另配模型的问题:一套 top-down 流程,人体框出来后,133 个点全部标注到位。全文覆盖内容:

  • 133 个关键点的构成,以及 RTMW 模型在 COCO-WholeBody 上的实测精度
  • 从克隆仓库到出结果的最短路径:安装、下模型、跑推理
  • 健身评分、AIGC 集成两类落地场景的具体做法
  • 按硬件选模型、微调入口与部署提速的调优要点

133关键点能力拆解:身体、面部、双手、足部一次到位

WholeBody 走的是自顶向下架构:RTMDet 先检测出每个人体框,再把裁剪后的人体区域送入 RTMPose 回归 133 个关键点。它通过共享的 CSPPAN 特征网络把四个部位联合学习,手指和面部这些高频细节不再单独建模。

133 个点的分配如下:

部位点数覆盖范围
身体17头、肩、肘、腕、髋、膝、踝等主要关节
面部68眉、眼、鼻、嘴的外轮廓与内特征点
双手42(21×2)每根手指三个关节加手腕,支持手势级分析
足部10(5×2)脚尖、脚跟、内外踝

配套的 RTMW(RTMPose-WholeBody)系列在 COCO-WholeBody v1.0 val 上的 Whole AP 从 0.582 一路到 0.702,配置与权重见 rtmpose_coco-wholebody.md 和 rtmw_cocktail14.md。轻量骨干加 SimCC 定位算法让它在消费级 GPU 上做到 130+ FPS,这是"全身点云"能实时跑起来的关键。

三步跑通全身姿态估计

第1步:克隆仓库并安装

git clone https://gitcode.com/GitHub_Trending/mm/mmpose cd mmpose pip install -r requirements.txt pip install -v -e .

第2步:下载预训练权重

mim download mmpose --config rtmpose-m_8xb64-270e_coco-wholebody-256x192 --dest .

检测器权重(RTMDet-m)一并放到本地目录即可,配置放在 demo/mmdetection_cfg/。

第3步:对测试图出结果

python demo/topdown_demo_with_mmdet.py \ demo/mmdetection_cfg/rtmdet_m_640-8xb32_coco-person.py <RTMDet权重> \ configs/wholebody_2d_keypoint/rtmpose/coco-wholebody/rtmpose-m_8xb64-270e_coco-wholebody-256x192.py <RTMW权重> \ --input tests/data/coco/000000196141.jpg \ --output-root vis_results/ --device cuda:0 --bbox-thr 0.5

不加--show也能直接得到带 133 点标注的可视化图,输出在vis_results/下。同一脚本传视频路径即可逐帧处理。

如果只是想批量处理一个目录,Inferencer 接口把配置和权重收敛成一个别名,命令短到一行:

python demo/inferencer_demo.py tests/data/crowdpose \ --pose2d wholebody --vis-out-dir vis_results/crowdpose

落地场景:输入什么、输出什么

健身动作相似度评分

projects/just_dance/ 把 133 点关键点作为输入,与参考视频的骨骼序列逐帧比对,输出 0-1 的相似度分数,用于舞蹈/健身的实时打分。整条链路是:摄像头帧进,相似度曲线出,process_video.py负责视频解码,calculate_similarity.py负责比对。

AIGC 与风格化集成

projects/mmpose4aigc/ 复用 133 点输出驱动换装、风格化骨架等 AIGC 工作流,手指与面部关键点在这里直接决定贴图对齐质量;projects/pose_anything/ 则把"提示词选部位"的交互接在整套关键点体系之上。

手部与面部细粒度分析

双手 42 点加面部 68 点意味着手势识别和表情变化不再依赖单独模型。若只需其中一块,configs/wholebody_2d_keypoint/ 下也提供了独立的 face、hand 子模块配置,可按需裁剪。

选型与调优:精度、速度、部署

  • 按硬件选模型:rtmw-m/s 配 256x192 输入,整机(检测+姿态)在 i7 CPU 上约 30-90 FPS、消费级 GPU 上 130+ FPS,视硬件而定;精度敏感就换 rtmw-l/x 配 384x288,Whole AP 从 0.582 提到 0.702。追求离线精度可换 HRNet 系列 heatmap 模型,代价是帧率明显下降。
  • 微调入口:标注按 COCO-WholeBody 格式准备,参照 coco_wholebody.py 改数据路径,关键点数与类别数在 config 的num_keypoints/num_classes中同步修改,然后python tools/train.py <你的config>
  • 部署提速:推理侧把model.test_cfg.flip_test置 False 能立省一次前向;RTMPose 系列支持导出 ONNX,RTMPose 项目(projects/rtmpose/)还覆盖了 NPU 与移动端部署样例。

133 点全身方案的价值在于把身体、面部、双手、足部压进同一次推理,下游行为分析不再需要多个模型拼接。后续若要 3D 骨骼,仓库内的 RTMPose3D 项目提供了 2D 到 3D 的提升路径。

  • 官方文档:docs/zh_cn/overview.md
  • 模型库:configs/wholebody_2d_keypoint/
  • 推理 API:mmpose/apis/inference.py

【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询