
MMPose 姿态估计从单图骨骼到 133 点全身 2D/3D6 条命令跑通实时关键点检测【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmposeMMPose 是 OpenMMLab 基于 PyTorch 的开源姿态估计工具箱当前版本 v1.3.2要求 PyTorch 1.8覆盖人体 2D/3D、手部、面部、动物和时尚地标检测。它把姿态估计拆成骨干网络、模型头、标签编解码器、数据集适配器四类可替换组件你可以只调它的现成模型做实时骨骼提取也可以逐模块替换来实现自己的算法。MMPose 和自顶向下、端到端方案差在哪姿态估计的落地链路通常有两种组合一种是 MMDetection 出人体框、再用独立模型逐人估计关键点topdown另一种是单网络直接输出多人关键点bottom-up如 RTMO。MMPose 把两条路线都内置了mmpose/models/pose_estimators/下的topdown.py和bottomup.py是两条范式的入口同一套骨干和损失函数两边都能用。这和检测器姿态模型各写一套代码的项目不同你换检测器、换关键点定位算法时不用改数据流水线和评估逻辑。demo/topdown_demo_with_mmdet.py演示了前者的完整链路demo/bottomup_demo.py演示后者。从 17 点到 133 点它实际覆盖的姿态场景按使用场景看仓库里的能力和配置对应四类需求单人 2D 人体COCO 17 点、MPII 16 点配置集中在configs/body_2d_keypoint/覆盖 HRNet、SimCC、RTMO 等算法多人密集场景AIC、CrowdPoseconfigs/body_2d_keypoint/associative_embedding/下有自底向上方法的训练配置133 点全身 2DCOCO-WholeBody 协议下 17 个身体点 68 个面部点 36 个手部点 12 个脚部点configs/wholebody_2d_keypoint/下有 RTMPose 和 DWPose 蒸馏两套配置3D 人体/手部H3.6M 视频姿态提升video_pose_lift、InterNet 手部 3D分别在configs/body_3d_keypoint/和configs/hand_3d_keypoint/非人体动物AP-10K、Aquila、AnimalPose 等和时尚地标DeepFashion对应configs/animal_2d_keypoint/和configs/fashion_2d_keypoint/数据集方面mmpose/datasets/datasets/下按 body、face、hand、animal、wholebody、hand3d 分了 8 个子目录configs/_base_/datasets/里每个数据集都有独立的 base 配置换数据集时只改配置不用写代码。克隆到出图6 条命令跑通全身关键点以下命令把仓库拉到本地、装依赖并以可编辑模式安装git clone https://gitcode.com/GitHub_Trending/mm/mmpose cd mmpose pip install -r requirements.txt pip install -e .requirements.txt依赖mmengine、mmcv等 OpenMMLab 基础库CUDA 环境建议先装对应版本的 PyTorch。装好后用官方 demo 对单张图片做全身 133 点推理检查点文件需从 OpenMMLab 模型库自行下载以官方文档的下载链接为准python demo/image_demo.py \ tests/data/coco/000000000785.jpg \ configs/wholebody_2d_keypoint/rtmpose/coco-wholebody/rtmpose-m_8xb64-270e_coco-wholebody-256x192.py \ 检查点文件路径.pth \ --out-file vis_results.jpgdemo/image_demo.py只需图片、配置、检查点三个位置参数适合验证环境。需要视频批量推理或指定检测器时改用demo/inferencer_demo.py封装了mmpose/apis/inferencers/里的 Pose2DInferencer支持图片和视频输入。热图路线和坐标回归路线为什么并存理解 MMPose 的关键是mmpose/codecs/目录它定义了模型输出如何变成关键点以及关键点标注如何变成训练标签目前内置 18 种编解码器。MSRA/UDP 热图msra_heatmap.py、udp_heatmap.py回归每个像素的热图概率配合num_deconv_layers3的转置卷积头部放大特征图空间精度直接是 SimpleBaseline、HRNet 这类模型的路线SimCCsimcc_label.py把坐标拆成 x、y 两个一维分类分布训练时避免了对角方向的耦合是 RTMPose 系列的主打路线associative_embedding.py则对应自底向上的人体框聚合策略。标签编码决定了损失函数选型热图用KeypointMSELossSimCC 用KeypointKLDiscretLoss配置里data_preprocessor的batch_augments支持 BatchSyncRandomResize 这类跨 batch 增强。mmpose/engine/里还提供了 QuadraticWarmup 学习率、EMA 权重、LayerDecay 优化器这些训练组件都是配置项级别可开关的。选哪个尺寸RTMPose 系列的 AP 与帧率projects/rtmpose/是仓库里迭代最活跃的实时方案官方报告的实测数据检测器RTMPose 整条 pipelineCOCO val如下模型COCO APCPU FPSGPU FPSRTMPose-t68.5300940RTMPose-s72.2200710RTMPose-m75.890430RTMPose-l76.550280RTMPose-l-38478.3-160测试环境为 Intel i7-11700 和 GTX 1660 TiRTMPose-s 在骁龙 865 移动端可达 70 FPS。换到自己硬件后建议用tools/analysis_tools/下的工具复测上述数字以官方文档为准。133 点全身模型方面COCO-WholeBody 验证集上 RTMPose-m256x192Whole AP 为 0.582RTMPose-l384x288达到 0.648对应配置在configs/wholebody_2d_keypoint/rtmpose/coco-wholebody/rtmpose_coco-wholebody.md。和 MMDetection、MMDeploy 怎么配合上游检测demo/mmdetection_cfg/里预置了 15 个检测器配置包含 RTMDet、Cascade RCNN、YOLOX 等topdown_demo_with_mmdet.py直接消费这些配置不需要自己搭检测链路。下游部署RTMPose 项目通过 MMDeploy 导出 ONNX、TensorRT、ncnn 模型projects/rtmpose/examples/下有 CONNXRuntime、TensorRT和 Androidncnn的完整示例还有一套无 MMDeploy 依赖的纯 Python 推理代码。projects/目录本身也是二次开发的参考just_dance/用全身关键点算动作相似度pose_anything/做语义化姿态估计yolox_pose/和rtmo/是端到端多人方案。想加自己的算法照projects/example_project/的骨架写配置和模型模块即可不用动mmpose/主包源码。资源地图configs/ —— 全部训练/推理配置按 body、hand、face、wholebody、animal、fashion 分任务组织每个目录的 README 带精度表demo/ —— 单图、视频、Inferencer、3D 提升等推理脚本及中英文文档mmpose/models/ —— 骨干网络约 35 种、模型头heatmap/regression/hybrid/transformer 等 6 类与损失函数实现mmpose/codecs/ —— 18 种标签编解码器决定热图/回归/自底向上路线mmpose/datasets/ —— 数据集适配器与 11 个 transforms 文件加载、翻转、裁剪、增强tools/dataset_converters/ —— 300VW、H3.6M、Label Studio 等数据格式转 COCO 的脚本projects/ —— RTMPose、RTMO、PoseAnything、Just Dance 等 9 个独立示例项目docs/en/ —— 安装、配置、数据流、部署等完整文档另有 docs/zh_cn/ 中文版【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考