资讯动态

HMR(Human Mesh Recovery)端到端人体形状与姿态恢复算法:MMPose 中的原理、训练数据与评估实践

发布时间:2026/9/17 8:12:53 来源:尧图企业网站定制
HMRHuman Mesh Recovery端到端人体形状与姿态恢复算法MMPose 中的原理、训练数据与评估实践【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose本文以 HMR 算法文档 为骨架结合 MMPose 仓库中的网格评估实现与 3D 人体网格数据集指南系统讲解 HMR 从单张 RGB 图像恢复完整 3D 人体网格的核心原理、对抗训练机制、在 MMPose 中的支持情况以及从数据准备到评估的完整实操路径。读完本文你将理解 HMR 如何仅凭 2D 标注训练出可用的 3D 人体网格模型并掌握在 MMPose 体系下为网格估计任务准备数据与进行相似度评估的具体方法。一、HMR 算法概述从单张图像到完整人体网格HMREnd-to-end Recovery of Human Shape and PoseCVPR2018由 Angjoo Kanazawa、Michael J. Black、David W. Jacobs、Jitendra Malik 等人提出其核心目标是从单张 RGB 图像中端到端地重建出完整的人体 3D 网格mesh。inProceedings{kanazawaHMR18, title{End-to-end Recovery of Human Shape and Pose}, author {Angjoo Kanazawa and Michael J. Black and David W. Jacobs and Jitendra Malik}, booktitle{Computer Vision and Pattern Recognition (CVPR)}, year{2018} }在 HMR 出现之前主流人体姿态估计方法输出的通常是2D 或 3D 关节点位置。HMR 则更进一步输出一种信息更丰富、实用性更强的网格表示mesh representation并且该网格由两类参数显式刻画形状参数shape描述人体高矮胖瘦等体型信息3D 关节角度3D joint angles描述人体姿态信息。在 MMPose 的论文索引体系中HMR 被归类于 algorithms算法目录文档中以!-- [ALGORITHM] --标记供文档站自动收集算法列表使用同时在仓库更新日志中明确记录了「Support HMR for 3D human shape recovery」这一里程碑见 docs/en/notes/changelog.md发布于 v0.7.0 版本。二、方法核心重投影损失驱动的端到端学习HMR 在设计上有三个相互支撑的关键机制这也是它区别于早期优化式optimization-based人体网格恢复方法的核心1. 直接回归 3D 参数不依赖中间 2D 检测HMR 是端到端框架它不依赖任何中间 2D 关键点检测结果而是直接从图像像素回归 3D 姿态与形状参数。给定一个包含人体的边界框bounding box模型即可实时运行。2. 重投影损失Reprojection Loss让野外图像可训练模型的主要优化目标是最小化关键点的重投影损失——即将预测的 3D 网格通过相机模型投影回 2D 平面再与图像中可见的 2D 标注关键点计算误差。这一设计带来一个巨大优势由于只需要 2D 标注HMR 可以使用大规模 in-the-wild野外图像进行训练这些图像通常只有 2D ground truth 标注而没有昂贵的 3D 真值。3. 对抗判别器约束病态的重投影问题仅仅依赖重投影损失是高度欠约束underconstrained的——同一张 2D 投影可能对应无数种 3D 姿态与形状组合。为此HMR 引入了一个对抗训练adversarial training机制训练一个判别器adversary用于判断某组人体形状与姿态参数是「真实」还是「伪造」判别器基于大规模 3D 人体网格数据库如 CMU MoShed 数据进行训练从而学习到真实人体的形状/姿态先验分布回归器被要求生成的参数不仅要通过重投影损失贴合 2D 观测还要能「骗过」判别器使其输出符合真实人体分布。通过这一对抗约束HMR 学会了在 2D 观测模糊的情况下生成合理的 3D 人体网格。训练模式有无成对 2D-3D 监督均可论文明确指出HMR 可以在有或没有成对 2D-to-3D 监督paired 2D-to-3D supervision的情况下训练。这意味着当拥有带 3D 真值的数据如 Human3.6M、MPI-INF-3DHP时可以加入 3D 监督信号当只有 2D 标注的野外数据如 COCO、LSP时仅凭重投影损失 对抗先验即可完成训练。这一灵活性是 HMR 能在真实场景图像上取得良好泛化能力的重要原因。三、MMPose 中的 HMR 支持与评估工具1. 支持历史根据 更新日志MMPose 在 v0.7.02020 年 9 月 30 日版本中将「Support HMR for 3D human shape recovery」列为该版本的核心亮点Highlights之一标志着 MMPose 正式具备 3D 人体网格恢复能力。同一版本还同步支持了 COCO-WholeBody、Frei-hand、CMU Panoptic HandDB、Human3.6MH36M等数据集构成了围绕人体网格估计的数据生态。2. 网格评估实现Procrustes 相似变换在评估环节MMPose 提供 mmpose/evaluation/functional/mesh_eval.py该文件头部明确标注# Adapted from https://github.com/akanazawa/hmr # Original licence: Copyright (c) 2018 akanazawa, under the MIT License.即该评估代码直接移植自 HMR 原作者的官方实现。其中核心函数为compute_similarity_transform(source_points, target_points)其作用与算法细节如下功能计算一个相似变换sR, t使源点集source_points形状[N, 3]在变换后最接近目标点集target_points形状[N, 3]并返回变换后的源点集——即求解正交 Procrustes 问题输入约束两组点集点数必须相同N且每个点均为三维坐标求解步骤去除均值mean removal使两组点集中心对齐计算源点集的方差用于恢复缩放尺度 scale计算两组点集的外积矩阵 K对 K 做 SVD 分解构造旋转矩阵 R并通过 Z 矩阵修正行列式符号保证 det(R)1由迹比值恢复尺度 scale恢复平移 t对源点集施加变换scale * R · points t。在 3D 人体网格/关节点评估中此类相似变换用于消除预测与真值之间的全局刚性对齐差异旋转、缩放、平移从而在姿态形状对齐后的空间内公平地度量误差。从源码结构看该函数被设计为纯 numpy 实现、无外部依赖可直接在评估 pipeline 中被复用。四、训练数据准备人体网格估计3D Body Mesh数据集指南要复现 HMR 或在其基础上训练网格恢复模型需要准备多组数据集。MMPose 在 3D 人体网格恢复数据集指南 中给出了完整规范其核心原则是为达到高质量的人体网格估计效果通常需要联合多个数据集训练涵盖不同标注类型纯 2D、带 3D、带真实 SMPL 参数以互补。1. 标注文件统一预处理格式不同数据集的标注会被预处理成统一格式。官方提供两种方式获取按照 SPIN 的预处理流程自行生成标注文件直接下载官方打包好的mesh_annotation_files.zip。完成后目录结构应如下$MMPOSE指仓库根目录mmpose ├── mmpose ├── docs ├── tests ├── tools ├── configs ── data │── mesh_annotation_files ├── coco_2014_train.npz ├── h36m_valid_protocol1.npz ├── h36m_valid_protocol2.npz ├── hr-lspet_train.npz ├── lsp_dataset_original_train.npz ├── mpi_inf_3dhp_train.npz └── mpii_train.npz建议将数据集根目录软链接到$MMPOSE/data下如果目录结构不同需要同步修改配置文件中的对应路径。2. SMPL 模型准备人体网格估计依赖SMPLSkinned Multi-Person Linear Model参数化人体模型来生成网格相关引用如下article{loper2015smpl, title{SMPL: A skinned multi-person linear model}, author{Loper, Matthew and Mahmood, Naureen and Romero, Javier and Pons-Moll, Gerard and Black, Michael J}, journal{ACM transactions on graphics (TOG)}, volume{34}, number{6}, pages{1--16}, year{2015}, publisher{ACM New York, NY, USA} }需要准备三个关键文件统一放置于$MMPOSE/models/smpl下mmpose ├── mmpose ├── ... ├── models │── smpl ├── joints_regressor_cmr.npy # 关节点回归器 ├── smpl_mean_params.npz # 平均参数初始化用 └── SMPL_NEUTRAL.pkl # 性别中立的 SMPL 模型3. 各数据集组织规范MMPose 的网格估计训练通常涉及以下数据集数据集用途与说明目录结构要点COCO2014 Train提供大规模 in-the-wild 2D 标注用于重投影损失训练data/coco/train2014/*.jpgHuman3.6M提供 MoShed 化 3D 数据用于训练测试图像需按 SPIN 流程从原始视频抽取因许可限制无法再分发data/Human3.6M/images/S11_Directions_1.54138969_000001.jpg等MPI-INF-3DHP提供 3D 姿态监督测试集包含 TS1~TS6 序列训练集含 S1~S8 的 Seq1/Seq2data/mpi_inf_3dhp_test_set/TS*与data/S1/Seq1等LSP提供野外 2D 标注使用高分辨率原版data/lsp_dataset_original/images/im0001.jpgLSPETHR-LSPET大规模野外 2D 训练数据data/lspet_dataset/images/*.jpgjoints.matCMU MoShed Data对抗训练关键真实世界 SMPL 参数用于训练判别器包含在标注压缩包中data/mesh_annotation_files/CMU_mosh.npz其中特别值得注意的是CMU MoShed 数据文档明确说明「Real-world SMPL parameters are used for the adversarial training in human mesh estimation」即对抗判别器正是使用这些真实 SMPL 参数来学习「真实人体形状/姿态」的分布与前述方法核心中的对抗机制一一对应。而 Human3.6M 的训练数据同样使用 HMR 提供的 MoShed 数据但因许可限制官方不提供再分发需自行获取原始视频与 MoShed 数据。五、实验结论与适用场景根据论文摘要的表述HMR 的效果与适用性可以从三个维度理解对优化式方法的超越在各类 in-the-wild 图像上HMR 优于以往基于优化的网格输出方法optimization-based methods多任务竞争力在 3D 关节位置估计3D joint location estimation与部件分割part segmentation等下游任务上表现出有竞争力的结果实时性给定包含人体的边界框后模型可实时运行具备实际部署的可行性。在 MMPose 的项目语境下HMR 代表的「参数化网格回归 对抗先验 重投影损失」范式是 3D 人体网格恢复3D Body Mesh Recovery这一任务族的重要基线与其配套的 3D 人体网格数据集指南 和 Procrustes 评估实现 共同构成了从数据、训练到评估的完整闭环。六、总结HMR 作为 CVPR2018 提出的端到端人体网格恢复框架其核心贡献可以凝练为三点以 SMPL 形状/姿态参数为输出表示、以重投影损失为唯一监督信号从而支持野外 2D 图像训练、以对抗判别器补足欠约束问题。在 MMPose 仓库中HMR 的印记清晰可见v0.7.0 版本将其列为里程碑特性评估侧保留了移植自 HMR 官方的相似变换代码数据集侧则形成了覆盖 COCO、Human3.6M、MPI-INF-3DHP、LSP、LSPET、CMU MoShed 的完整准备规范。理解 HMR也就理解了从 2D 姿态估计迈向 3D 人体网格重建的关键一跃。【免费下载链接】mmposeOpenMMLab Pose Estimation Toolbox and Benchmark.项目地址: https://gitcode.com/GitHub_Trending/mm/mmpose创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价