ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

MMPose 全身姿态估计实战:一条命令跑通 133 关键点

MMPose 全身姿态估计实战:一条命令跑通 133 关键点 MMPose 全身姿态估计实战一条命令跑通 133 关键点【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmposeMMPose 的全身姿态估计WholeBody模块能在一张图上同时输出 133 个关键点身体、面部、双手、足部一次前向全部出完。本文带你 10 分钟跑通推理看懂 SimCC 与 RTMWHead 的底层设计再对照官方基准数据决定该选哪个模型。一、17 个关节点为什么撑不起真实业务标准 COCO 的 17 个人体关节点只够搭一个骨架。而不少业务要的是骨架之外的东西健身与舞蹈评分手指弯曲角度、脚尖朝向直接决定动作是否标准手势交互42 个手指关节是识别比心握拳这类手势的前提虚拟角色驱动面部 68 点做表情迁移脚部 6 点做步态与重心分析传统做法是给身体、脸、手、脚各训一个独立检测器再拼装问题在于四个模型、四套坐标系、多次推理误差在拼接处逐级放大。MMPose 的 WholeBody 方案把这件事合并成一次前向——输入一张人体图输出 133 个点天然对齐、天然并行。二、三步跑通从 clone 到 133 点可视化仓库自带预训练权重和演示脚本不需要自己写配置文件git clone https://gitcode.com/GitHub_Trending/mm/mmpose cd mmpose pip install -e . # --pose2d wholebody 直接指向预训练的 133 关键点全身模型 python demo/inferencer_demo.py tests/data/crowdpose \ --pose2d wholebody --vis-out-dir vis_results/wholebody--pose2d wholebody是一个模型别名Inferencer 会替你加载对应配置和权重支持图片、视频、整个文件夹、甚至摄像头输入。如果你需要先检测人、再估计姿态的完整流水线可以改用 demo/topdown_demo_with_mmdet.py 配合 MMDetection 的人体检测器。图1官方 demo 使用的多人场景输入图inferencer_demo.py可批量处理此类图片目录三、133 个关键点从哪里来一次前向出全身 133 17 身体 6 脚部 68 面部 42 手部这个 133 不是拍脑袋定的键位定义在 configs/base/datasets/coco_wholebody.py 里每段各司其职id 0~16COCO 标准 17 点负责躯干与四肢主干id 17~22左右脚的大脚趾、小脚趾、脚跟补齐步态分析所需的足部信息id 23~90面部 68 点覆盖表情迁移id 91~132左右手各 21 点腕根 四指四节精细手势的基础 SimCC把找点变成读两把尺子传统 heatmap 方案要在 H×W 的网格上找最亮像素网格越细精度越高、计算越贵。MMPose 的 RTMPose 系列改用 SimCC每个关键点不再输出二维热图而是拆成x、y 两条一维强度分布simcc_split_ratio2.0表示各放大 2 倍相当于让模型读两把更长的尺子而不是在一张图上找亮点用更低的分辨率拿到亚像素级坐标。标签生成逻辑在 mmpose/codecs/simcc_label.py。前向链路的核心是 mmpose/models/heads/coord_cls_heads/rtmw_head.py 里的RTMWHeadCSPNeXt 骨干提取特征后头部分高低分辨率两路PixelShuffle上采样 残差融合再经过 Gated Attention UnitRTMCCBlock做通道间信息交互最后线性层分别投影出(N, 133, W)和(N, 133, H)两组一维分布损失函数KLDiscretLoss以 KL 散度对齐预测与标签分布。图2单人全身姿态估计的输入图推理结果可直接读出 133 个关键点坐标四、官方基准数据分部位精度怎么读以下 AP 数据来自仓库自带的模型清单configs/wholebody_2d_keypoint/rtmpose/coco-wholebody/rtmpose_coco-wholebody.yml行按身体部位分组身体部位RTMPose-M 256×192RTMPose-L 256×192RTMPose-L 384×288躯干四肢 Body67.369.571.2面部 Face81.383.388.2手部 Hand47.551.957.9足部 Foot61.565.869.3全身 Whole58.261.164.8读这张表有三个直接结论手部是最短板手指占比小、自遮挡多Hand AP 比其他部位低 10 分以上做手势业务的场景要重点盯这一行分辨率对小手点收益最大从 256×192 提到 384×288手部 AP 涨 6 个点而躯干只涨 1.7 个点——算力预算应优先花在分辨率上选档逻辑追求精度选 384 档的 RTMPose-L实时场景用 RTMPose-M 并关闭翻转测试test_cfg.flip_testFalse换速度五、换自己的数据从 Label Studio 到训练配置用自己的场景微调时数据与配置是两条腿标注转换在 Label Studio 标注后用 tools/dataset_converters/labelstudio2coco.py 转成 COCO-WholeBody 格式训练配置configs/wholebody_2d_keypoint/rtmpose/coco-wholebody/rtmpose-l_8xb32-270e_coco-wholebody-384x288.py 是一份可直接抄作业的完整配方——AdamW 余弦退火、EMA 权重平滑、PipelineSwitchHook在最后 30 个 epoch 自动切换到更温和的数据增强评测走CocoWholeBodyMetric分部位出分改好配置后用python tools/train.py config启动训练日志里 Body/Face/Hand/Foot 四路指标会分开打印哪块掉点就能立刻定位。下一步克隆仓库后运行python demo/inferencer_demo.py tests/data/crowdpose --pose2d wholebody亲眼看一遍 133 点效果更多推理参数与别名清单见 docs/en/user_guides/inference.md。【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表