ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

PyMAF项目全解:ICCV‘21 Oral单目3D人体姿态与形状回归HMR工具有多强大?

PyMAF项目全解:ICCV‘21 Oral单目3D人体姿态与形状回归HMR工具有多强大? PyMAF项目全解ICCV21 Oral单目3D人体姿态与形状回归HMR工具有多强大【免费下载链接】PyMAF[ICCV 2021, Oral] PyMAF: 3D Human Pose and Shape Regression with Pyramidal Mesh Alignment Feedback Loop项目地址: https://gitcode.com/gh_mirrors/py/PyMAFPyMAF是一个面向单目 3D 人体姿态估计与人体网格恢复HMR的开源 PyTorch 项目出自 ICCV 2021 Oral 论文《PyMAF: 3D Human Pose and Shape Regression with Pyramidal Mesh Alignment Feedback Loop》。只需一张普通照片或一段视频它就能回归出完整的 3D 人体姿态、体型形状SMPL 参数与相机位置并直接渲染出贴合真实图像的 3D 人体网格。对于想快速上手人体姿态回归、复现论文或在此基础上做二次开发的同学这是一个功能完整、代码清晰的参考实现 一分钟了解 PyMAF 能做什么PyMAF 的核心任务可以概括为一句话从单张 RGB 图像回归出 SMPL 人体模型的姿态、体型和相机参数。单目输入一张照片或一段视频即可无需深度传感器或多目相机完整 3D 输出SMPL 姿态72维、体型10维 beta、相机参数网格恢复输出可直接用于渲染的人体 3D 网格顶点视频支持内置多人跟踪能处理视频中多人交叉、遮挡的场景双任务同时支持 2D 关键点定位评估与 3DPW 3D 姿态评估它还有一个进阶版本 PyMAF-XTPAMI 2023在 SMPL-X 全身模型上进一步提升了 UV 对齐质量。 核心原理金字塔网格对齐反馈循环PyMAF 的命名来自Pyramid ofMesh-AlignedFeatures。整个网络是一个预测—对齐—反馈的迭代结构这也是它精度领先的关键网格对齐特征提取MAF网络先粗预测一版 SMPL 姿态把人体网格投影回 2D 图像再从网格顶点位置采样图像特征图上的特征即mesh-aligned features送进回归器进行下一轮修正。这一过程迭代多次默认 3 次见配置MODEL.PyMAF.N_ITER让网格与真实人体逐步对齐如同金字塔般逐层逼近。实现位于 models/maf_extractor.py其中MAF_Extractor类会加载降采样后的 SMPL 网格结构data/mesh_downsampling.npz沿网格顶点金字塔逐层提取特征并降维。残差式迭代回归回归器Regressor采用残差学习每一轮只预测姿态、体型、相机的增量叠加到上一轮结果上再送入 SMPL 前向计算保证迭代过程稳定收敛。相关代码见 models/pymaf_net.py 中的Regressor与PyMAF两个类。IUV 辅助监督让网格贴合像素级更紧除了姿态和体型PyMAF 还引入 DensePose 风格的IUV 回归辅助监督把图像每个像素映射到人体网格的 UV 纹理坐标等价于预测每个像素属于网格哪个位置从而获得像素级的对齐监督。实现见 models/iuv_predictor.py 中的IUV_predict_layerU、V、部件索引、UV 索引共 4 个分支。模型总览输入图像 → ResNet-50 骨干 → 反卷积特征图 ├─ 网格对齐特征MAF提取 ├─ 21×21 空间网格特征 └─ 迭代回归器 ×3 轮残差修正 → SMPL 前向 → 姿态 / 体型 / 相机 / 3D 网格骨干与结构配置均可在 configs/pymaf_config.yaml 中找到例如BACKBONE: res50、MLP_DIM、损失权重LOSS.*等。 快速上手3 步跑通单目 3D 人体姿态演示PyMAF 官方提供了可直接运行的图像/视频 demo无需自己写推理代码。第 1 步准备运行环境需要 Python 3.8 与 PyTorch 1.9.0CUDA 11.1 验证通过conda create --no-default-packages -n pymafx python3.8 conda activate pymafx conda install pytorch1.9.0 torchvision0.10.0 cudatoolkit11.1 -c pytorch -c conda-forge pip install githttps://github.com/facebookresearch/pytorch3d.gitstable pip install -r requirements.txt第 2 步获取必要文件一条命令拉取网格降采样数据与 DensePose UV 数据bash fetch_data.sh此外还需手动准备文件说明SMPL 模型SMPL_*.pkl需从官方渠道申请放入data/smpl预处理数据 / final_fits从 SPIN 等渠道获取PyMAF 预训练权重放入data/pretrained_model/第 3 步运行 Demo单张图片输入python3 demo.py --checkpointdata/pretrained_model/PyMAF_model_checkpoint.pt \ --img_file examples/COCO_val2014_000000019667.jpg视频输入单人 / 多人均可python3 demo.py --checkpointdata/pretrained_model/PyMAF_model_checkpoint.pt \ --vid_file examples/dancer.mp4示例素材已内置在仓库 examples/ 目录下单张测试图、单人舞者视频dancer.mp4和多人视频flashmob.mp4。多人场景的跟踪由 multi_person_tracker_yolov8.py 提供配合utils/pose_tracker.py完成逐帧平滑。 评估与训练如何验证效果、复现论文评估命令速查# COCO 2D 关键点定位评估 python3 eval_coco.py --checkpointdata/pretrained_model/PyMAF_model_checkpoint.pt # 3DPW 3D 姿态评估 python3 eval.py --checkpointdata/pretrained_model/PyMAF_model_checkpoint.pt --dataset3dpwCOCO 评估只需额外下载coco_2014_val.npz放入data/dataset_extras/即可流程非常轻量。两阶段训练策略PyMAF 采用论文中的两阶段训练入口为 train.py# 阶段一Human3.6M 单数据集训练 CUDA_VISIBLE_DEVICES0 python3 train.py --regressor pymaf_net --single_dataset --misc TRAIN.BATCH_SIZE 64 # 阶段二2D3D 混合数据集继续训练 CUDA_VISIBLE_DEVICES0 python3 train.py --regressor pymaf_net --pretrained_checkpoint path/to/ckpt.pt --misc TRAIN.BATCH_SIZE 64 官方强烈建议使用 EFT 生成的标注训练可显著提升 baseline 效果兼容标签文件已在项目公告中放出详见 README 顶部的 Update 说明。训练配置学习率、损失权重、批大小等集中在 configs/pymaf_config.yaml例如KP_2D_W: 300、POSE_W: 60、PART_WEIGHTS: 0.324 个 DensePose 部件加权。训练过程可通过 TensorBoard 监控./logs目录。损失函数设计PyMAF 的监督是多路组合的各权重同样在 YAML 中可调损失作用默认权重KP_2D / KP_3D2D/3D 关键点回归300POSE_WSMPL 姿态60SHAPE_W体型 beta0.06PART_WEIGHTSDensePose 24 部件0.3POINT_REGRESSION_WEIGHTSUV 回归0.5️ 项目结构导览目录内容关键文件models/网络结构pymaf_net.py主网络、maf_extractor.pyMAF、iuv_predictor.pyIUV 头、hmr.pybaseline、smpl.pySMPL 前向datasets/数据与推理mixed_dataset.py混合训练集、coco_keypoint_dataset.py、inference.py测试封装core/训练基础设施base_trainer.py/trainer.py训练器、cfgs.py配置解析、train_options.pyutils/工具集renderer.py网格渲染、pose_tracker.py视频平滑、densepose_methods.pyDensePose 标签转换、transforms.pyconfigs/配置pymaf_config.yaml根目录入口脚本demo.py、train.py、eval.py、eval_coco.py、fetch_data.sh✨ 总结谁适合使用 PyMAF3D 姿态 / HMR 方向的研究者ICCV 2021 Oral 的完整开源实现MAF 机制 IUV 监督是精读人体网格恢复论文代码的绝佳样本想快速出效果的开发者3 步跑通 demo图像、视频、单/多人场景开箱即用需要强 baseline 的项目配合 EFT 标签训练可得到一个精度更高的 HMR baseline相比传统图像→SMPL 参数的一次性回归PyMAF 的网格对齐反馈循环让预测的 3D 人体与输入图像在像素级别逐步对齐——这正是它强大的底层原因。clone 仓库https://gitcode.com/gh_mirrors/py/PyMAF后跟着上文的三步流程即可开始你的单目 3D 人体姿态回归之旅 【免费下载链接】PyMAF[ICCV 2021, Oral] PyMAF: 3D Human Pose and Shape Regression with Pyramidal Mesh Alignment Feedback Loop项目地址: https://gitcode.com/gh_mirrors/py/PyMAF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表