拓冰建站拓冰建站
首页 / 资讯中心 / 正文

复现HMMR论文训练:从下载5大数据集到运行do_train.sh的一站式实操教程

复现HMMR论文训练从下载5大数据集到运行do_train.sh的一站式实操教程【免费下载链接】human_dynamicsProject for paper Learning 3D Human Dynamics from Video项目地址: https://gitcode.com/gh_mirrors/hu/human_dynamics想复现CVPR 2019论文《Learning 3D Human Dynamics from Video》简称HMMR的训练流程却被繁琐的数据集下载和TFRecord转换劝退这篇HMMR论文训练实操教程整理了从环境搭建、5大数据集下载到执行do_train.sh启动训练的完整路径帮你少踩坑、快速跑通官方训练代码。项目源码位于gh_mirrors/hu/human_dynamics训练说明见 doc/train.md全程只需跟着本文一步步操作即可。HMMR是什么一张图看懂3D人体动力学模型HMMRHuman Motion and Recurrent Reconstruction来自伯克利团队核心目标是从一段普通视频中恢复人体的3D姿态、形状和运动轨迹。它把经典的HMR单帧重建扩展到时序上引入时序编码器Temporal Encoder和幻觉模块Hallucinator让模型能同时预测过去、现在和未来的3D人体运动。上图就是论文的完整系统架构输入视频帧经过ResNet提取特征phi再送入时序模块最终输出逐帧的3D人体参数SMPL姿态与形状配合L2D2D关键点损失、L3D3D监督和对抗先验L_adv prior进行优化。想深入理解每个模块可以翻看 src/models.py 和 src/trainer_sequence_fc.py。复现HMMR训练前先把运行环境搭好官方代码基于Python 3.5 TensorFlow 1.8 PyTorch 0.4并且只支持GPU论文实验环境为CUDA 9.0 Titan Xp/1080 Ti建议提前准备好显卡和对应版本的驱动。核心步骤只有三步第一步拉取代码并创建虚拟环境git clone https://gitcode.com/gh_mirrors/hu/human_dynamics cd human_dynamics virtualenv venv_hmmr -p python3 source venv_hmmr/bin/activate pip install -U pip pip install numpy pip install -r requirements.txt第二步安装外部依赖渲染和人体检测用cd src/external sh install_external.sh该脚本会自动安装Neural Mesh Renderer并拉取AlphaPose/PoseFlow的fork版本跑demo提取视频中人物轨迹时必需。完整依赖列表见 requirements.txt。第三步下载预训练模型wget http://angjookanazawa.com/cachedir/hmmr/hmmr_models.tar.gz tar -xf hmmr_models.tar.gz解压后把models目录放在项目根目录训练和TFRecord生成都会用到里面的hmr_noS5.ckpt-642561与hmmr_model.ckpt-1119816。HMMR训练数据集下载清单5大数据集一次理清复现训练共涉及5个数据集其中3个用于训练、1个可选、1个用于评估。下表是完整清单数据集用途说明Human3.6M训练3D监督提供3D关节标注但受版权限制不再提供Mosh SMPL真值Penn Action训练2D监督户外运动视频含2D关键点标注Mosh数据CMU JointLimits训练对抗先验仅限非商业科研使用InstaVariety训练可选官方开源的Instagram运动视频数据集3DPW评估野外3D人体数据集用于验证模型其中InstaVariety是HMMR论文自建的大规模数据集作者爬取了92个运动相关的Instagram标签、共28,272个视频覆盖跳舞、骑车、跑步、滑雪等动作上图即为示例。项目提供了视频列表 datasets/instavariety/insta_variety_train.txt 和 insta_variety_test.txt还附带一键下载脚本 download_insta_variety.pypython download_insta_variety.py --savedir /path/to/save此外还有一个可选数据Vlog-people上图为生活vlog场景示例视频ID清单在 datasets/vlog/vlog_ids.txt。建议先下载UPenn和Human3.6MInstaVariety和Vlog可后补每个数据集都请遵守其各自的许可协议。用prepare_datasets.sh把数据集转成TFRecord训练前所有数据集都必须转换成统一的TFRecord格式每个视频一个文件内含图像帧、关键点标注、预计算的2048维HMR特征phi等格式说明见 doc/datasets.md。转换工作全部由 prepare_datasets.sh 统一调度第1步创建TFRecord输出目录mkdir ~/hmmr/tf_datasets/第2步修改 prepare_datasets.sh 中的路径变量把OUT_DIR、H36_DIR、PENN_DIR、TDPW_DIR、MOSH_DIR、HMR_MODEL等替换成你的实际路径。第3步按脚本注释逐条执行。脚本里每个数据集对应一条命令建议逐条取消注释、分别运行不要一次性全部放开Human3.6M先运行预处理 src/datasets/h36/read_human36m.py再执行src.datasets.h36_to_tfrecords_videoUPenn运行src.datasets.upenn_to_tfrecords_videotrain和test各一次InstaVariety运行src.datasets.video_in_the_wild_to_tfrecordsMosh运行src.datasets.smpl_to_tfrecordsCMU和jointLim各一次3DPW先运行 src/datasets/threedpw/compute_neutral_shape.py 计算中性模型再执行src.datasets.3dpw_to_tfrecords_video转换完可以用可视化脚本检查数据是否正确python -m src.datasets.visualize_train_tfrecords --data_rootdir ${OUT_DIR} --dataset insta_variety⚠️ 注意Human3.6M 的 Mosh 数据因授权问题已不再公开因此你无法100%复现论文原版模型但数据仍保留3D关节标注官方也提供了在此设置下重新训练的模型权重。一键运行do_train.sh启动HMMR训练TFRecord准备就绪后训练就变得非常简单。先编辑 do_train.sh把脚本开头的两个路径改成你的实际路径DATA_DIR/home/jason/tf_datasets_phi_shard_oldaugmin40_toes # 改成你的TFRecord目录 PRETRAINED_HMR/home/jason/hmmr/models/hmr_noS5.ckpt-642561 # 改成你的模型路径脚本默认使用的训练参数与论文一致--datasets h36m,penn_action,insta_variety、--batch_size8、--T 20时序长度20帧、--num_conv_layers 3并开启--do_hallucinate幻觉模块。随后直接运行sh do_train.sh训练日志和模型会写入logs_release目录可在 src/config.py 中通过--log_dir调整。若中途中断想断点续训把do_train.sh中被注释的--load_path ${LP}一行打开填入之前的日志目录即可。训练监控与常见问题排查用TensorBoard实时监控训练是官方反复强调的一步将TensorBoard指向训练日志目录重点观察加载的图像是否正确、损失曲线是否正常下降。训练时记得在 src/config.py 里核对e_lw_kp、e_lw_smpl等损失权重以及freeze_phi、precomputed_phi等关键开关。新手最容易踩的几个坑路径不匹配DATA_DIR写错或TFRecord目录结构不符合tfrecords_dir/dataset_name/split规范训练启动即报错。版本不兼容TensorFlow 1.x 与新版2.x差异巨大务必使用官方要求的1.8版本。显存不足batch_size为8且T20时显存占用较高可适当调小--batch_size。数据集不完整缺了Mosh数据会导致对抗先验部分无法工作可加--mosh_ignore跳过。训练完成后可用 src/evaluation/eval.py 在3DPW、UPenn、Human3.6M的测试集上评估模型具体命令与官方指标对照见 doc/eval.md。结语到这里你已经走完了复现HMMR论文训练的全流程环境搭建 → 5大数据集下载 → TFRecord转换 →do_train.sh一键训练。虽然HMMR的代码基于较老的TensorFlow 1.x但作为从视频学习3D人体动力学的经典工作其时序编码 幻觉预测的思路至今仍值得学习。跟着这篇教程动手跑一遍你对3D人体重建的训练管线会有更直观的理解。祝训练顺利早日跑出你想要的3D人体模型【免费下载链接】human_dynamicsProject for paper Learning 3D Human Dynamics from Video项目地址: https://gitcode.com/gh_mirrors/hu/human_dynamics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门