5分钟跑通HMMR Demo:用预训练模型从任意视频提取3D人体网格的快速上手教程

📅 2026/8/18 15:43:28
5分钟跑通HMMR Demo:用预训练模型从任意视频提取3D人体网格的快速上手教程
5分钟跑通HMMR Demo用预训练模型从任意视频提取3D人体网格的快速上手教程【免费下载链接】human_dynamicsProject for paper Learning 3D Human Dynamics from Video项目地址: https://gitcode.com/gh_mirrors/hu/human_dynamicsHMMRHuman Mesh Recovery是加州大学伯克利分校开源的计算机视觉项目对应论文Learning 3D Human Dynamics from VideoCVPR 2019。它基于官方预训练模型能够从一段普通视频中自动提取人体的 3D 网格模型并输出 SMPL 参数化的人体姿态与形状。本文是一份面向新手的 HMMR Demo 快速上手教程带你用 5 分钟跑通官方 Demo学会用预训练模型从任意视频提取 3D 人体网格全程无需自己训练模型。HMMR 是什么从视频学习 3D 人体动力学的开源项目HMMR 是 HMR单张图片的人体网格恢复的时序扩展版。HMR 只处理单帧图像而 HMMR 引入了一个时序编码器Temporal Encoder把多帧视频特征拼接成电影胶片Movie Strip从而让每一帧的 3D 人体网格恢复都能利用前后帧的运动信息结果更稳定、更连贯。项目由 Angjoo Kanazawa、Jason Zhang、Panna Felsen、Jitendra Malik 共同完成代码基于 TensorFlow 1.8GPU 版与 PyTorch 0.4核心模块包括demo_video.pyDemo 主入口一条命令跑完整个流程extract_tracks.py调用 AlphaPose/PoseFlow 提取人物 2D 姿态轨迹src/evaluation/tester.py加载预训练模型并执行预测的 Testersrc/evaluation/run_video.py图像预处理与结果渲染src/tf_smpl/batch_smpl.pySMPL 参数化人体模型src/config.py全部命令行参数与默认配置跑通 HMMR Demo 前需要准备的环境快速配置方法官方 Demo 目前仅支持 GPU 运行没有 CPU-only 支持。建议提前确认以下环境依赖项版本要求用途Python3.x官方在 3.5 上测试运行环境TensorFlow1.8GPU 版HMMR 模型推理PyTorch0.4.0AlphaPose 与渲染CUDA9.0官方测试环境GPU 加速ffmpeg3.4视频拆帧AlphaPose/PoseFlow作者 fork 版2D 姿态检测与跟踪Neural Mesh Renderer官方版3D 网格渲染 提示AlphaPose 和 Neural Mesh Renderer 不需要手动安装官方提供了自动化安装脚本src/external/install_external.sh后面会用到。5分钟快速上手步骤一键安装与运行第 1 步获取项目代码1 分钟先克隆仓库到本地git clone https://gitcode.com/gh_mirrors/hu/human_dynamics cd human_dynamics第 2 步创建虚拟环境并安装 Python 依赖2 分钟virtualenv venv_hmmr -p python3 source venv_hmmr/bin/activate pip install -U pip pip install numpy # 部分依赖需要 numpy 已就绪 deactivate source venv_hmmr/bin/activate pip install -r requirements.txt第 3 步安装外部依赖AlphaPose 与 Neural Mesh Renderercd src/external sh install_external.sh脚本会自动克隆作者 fork 的 AlphaPose 分支之后需要进入src/external/AlphaPose执行pip install -r requirements.txt并下载其预训练模型这是 2D 姿态检测环节的必备条件。第 4 步下载预训练模型与演示视频1 分钟在项目根目录放置两个文件包# 预训练模型含 HMMR 与 HMR 权重 wget http://angjookanazawa.com/cachedir/hmmr/hmmr_models.tar.gz tar -xf hmmr_models.tar.gz # 官方演示视频 wget http://angjookanazawa.com/cachedir/hmmr/hmmr_demo_data.tar.gz tar -xf hmmr_demo_data.tar.gz解压后根目录下会出现models/预训练模型和demo_data/示例视频两个文件夹。模型文件包内含hmmr_model.ckpt-1119816、hmr_noS5.ckpt-642561以及 SMPL 中性模型neutral_smpl_with_cocoplustoesankles_reg.pkl路径默认在src/config.py中配置好。第 5 步运行 HMMR Demo1 分钟python -m demo_video --vid_path demo_data/penn_action-2278.mp4 --load_path models/hmmr_model.ckpt-1119816一条命令HMMR 会自动完成视频拆帧 → AlphaPose 检测 2D 姿态 → PoseFlow 跟踪人物 → HMMR 时序模型预测 3D 网格 → 渲染输出的完整链路。HMMR Demo 运行原理从视频到 3D 人体网格的完整流程整个 Demo 背后是一条清晰的处理流水线视频拆帧extract_tracks.py调用 ffmpeg 把 mp4 拆成逐帧 PNG2D 姿态检测AlphaPose 对每一帧检测人体关键点人物跟踪PoseFlow 把跨帧的检测结果串成一条条人物轨迹track时序建模HMMR 的时序编码器处理 20 帧默认sequence_length20构成的序列用 HMR 初始化后迭代回归出 SMPL 参数渲染输出Neural Mesh Renderer 把 3D 网格叠加回原视频同时输出 2D 骨架与旋转视角网格如果视频中有多个人物PoseFlow 会为每个人生成一条轨迹默认取第 0 条你也可以用--track_id指定python -m demo_video --track_id 1 \ --vid_path demo_data/insta_variety-tabletennis_xxx.mp4 \ --load_path models/hmmr_model.ckpt-1119816官方在不同难度的场景上都验证了效果InstaVariety 数据集覆盖舞蹈、运动、骑行等复杂动作Vlog 数据集则覆盖卧室、健身房等日常场景。输出结果解读demo_output 里有什么运行结束后结果保存在demo_output/视频名/hmmr_output/目录hmmr_output.pkl每一帧的 SMPL 参数姿态、形状、相机预测结果渲染视频网格叠加原视频、2D 骨架、旋转视角网格等多视角结果中间产物demo_output/视频名/video_frames/存放拆帧图片AlphaPose_output/存放 2D 检测与跟踪结果进阶技巧与常见问题排查1. 批量处理整个目录的视频python -m demo_video --vid_dir demo_data/ --load_path models/hmmr_model.ckpt-11198162. 自定义输出目录与网格颜色python -m demo_video --out_dir my_output --mesh_color green \ --vid_path demo_data/penn_action-2278.mp4 --load_path models/hmmr_model.ckpt-11198163. 长视频更快的处理方式调大--sequence_length可减少时序编码器的重复计算但会占用更多显存。4. 常见报错排查找不到models/目录确认模型压缩包已解压到项目根目录src/config.py默认会校验该路径AlphaPose 运行失败单独在src/external/AlphaPose目录下验证demo.py能否对图片目录运行显存不足OOM降低--batch_size或--sequence_length视频首帧没有人PoseFlow 需要首帧检测到人物才能开始跟踪可更换视频片段总结HMMR 是一个入门 3D 人体网格恢复的优秀开源项目用官方预训练模型跑通 Demo 只需 5 分钟克隆仓库 → 安装依赖 → 下载预训练模型 → 一条命令运行。通过本文的 HMMR Demo 快速上手教程你已经掌握了从任意视频提取 3D 人体网格的基本方法接下来可以替换成自己的视频或进一步阅读doc/train.md与doc/datasets.md尝试训练自己的模型。【免费下载链接】human_dynamicsProject for paper Learning 3D Human Dynamics from Video项目地址: https://gitcode.com/gh_mirrors/hu/human_dynamics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考