恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

从视频到训练数据:HMMR中OpenPose轨迹提取与帧裁剪预处理全流程指南

  • 首页
  • 资讯中心
  • /
  • 从视频到训练数据:HMMR中OpenPose轨迹提取与帧裁剪预处理全流程指南

相关资讯

AOS滚动动画库快速上手:让网页在滚动中“活“起来的完整实践指南 2026/8/18 15:39:12
elli 安全加固清单:超时控制、请求大小限制与异常防护的 8 个最佳实践 2026/8/18 15:34:12
Milvus 迁移到 RAG:先守住索引和评测口径 2026/8/18 15:34:12

最新资讯

【四川工商学院主办 | 成都举办】第八届文学、艺术与人文发展国际学术会议(ICLAHD 2026)
Android Library混淆加载后类名冲突
05-ByteTrack多目标跟踪
从零构建AI助手:Codex平台环境配置、记忆系统与MCP协议实战指南
软考信息安全工程师备考:系统化学习路径与高效资源利用指南
LLM智能体上下文管理:结构化驱逐策略与工程实践

今日推荐

数据缺失处理:从MCAR、MAR到MNAR的机制解析与多重插补实践
MAGS-SLAM:多智能体协同3D高斯泼溅SLAM系统解析
LLM智能体记忆管理:基于关键词门控的混合激活机制CAMeR详解

本周热门

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码
【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码
隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

从视频到训练数据:HMMR中OpenPose轨迹提取与帧裁剪预处理全流程指南

发布时间:2026/8/18 15:39:12
从视频到训练数据:HMMR中OpenPose轨迹提取与帧裁剪预处理全流程指南 从视频到训练数据HMMR中OpenPose轨迹提取与帧裁剪预处理全流程指南【免费下载链接】human_dynamicsProject for paper Learning 3D Human Dynamics from Video项目地址: https://gitcode.com/gh_mirrors/hu/human_dynamics想要训练 HMMRHuman Mesh Recovery from Video视频三维人体动态学习模型这样从视频中学习三维人体动态的模型最关键的准备工作就是把一段段原始视频变成模型能直接读懂的训练数据。这条流水线的核心就是OpenPose轨迹提取与帧裁剪预处理两大环节。本文将以 HMMR 官方代码库为例用通俗易懂的方式带你完整走一遍视频 → 关键点轨迹 → 裁剪帧 → TFRecord 训练数据的转换过程即使你刚接触三维人体重建也能照着一步步跑通。HMMR 为什么要从视频里抠训练数据HMMR 的核心思路是输入一段连续的视频帧输出每一帧对应的人体三维网格姿态包括当前、过去和未来时刻。它不需要昂贵的动捕设备而是靠大规模在野视频in-the-wild video自学。但原始视频无法直接进网络必须先做两件事找到视频里的人并跟踪他们的二维骨骼关键点这就是 OpenPose 轨迹提取把人裁剪成统一尺寸的干净图像供卷积网络提取特征这就是帧裁剪预处理。这两步分别对应仓库根目录的 extract_tracks.py 和 src/datasets/video_in_the_wild_to_tfrecords.py下面逐一拆解。第一步OpenPose轨迹提取的三大执行阶段在 HMMR 中轨迹提取实际是 AlphaPose PoseFlow 的组合AlphaPose 做单帧检测、PoseFlow 做跨帧跟踪extract_tracks.py只是把它们串起来的封装脚本整个过程分三段执行阶段一ffmpeg 抽帧把视频拆成图片序列PoseFlow 要求输入是逐帧图片所以先调用 ffmpeg 把 mp4 拆成 PNG 帧ffmpeg -i 视频.mp4 -start_number 0 输出目录/frame%08d.png对应源码中的dump_frames函数。注意抽出的帧名按 8 位数字编号后续轨迹和裁剪都要靠这个帧序对齐。阶段二AlphaPose 逐帧检测人体关键点接着在帧目录上运行 AlphaPose 的单帧检测模式--sp关闭多进程以避免报错对每一帧输出 25 个关键点含脚趾、脚踝等 COCO 扩展关节的坐标与置信度结果汇总为一个alphapose-results.json。这一步得到的是每帧独立的检测人物 ID 还不连续。阶段三PoseFlow 关联跟踪生成连续轨迹最后用 PoseFlow 的tracker-general.py把逐帧检测结果串成多人的连续轨迹输出alphapose-results-forvis-tracked.json。每个被跟踪的人物拥有一个稳定的idx编号即使某几帧检测不到也会以空值占位保证轨迹长度与帧数一致。完整调用链见compute_tracks函数它把中间产物统一放在--track_dir下目录结构为视频名/video_frames与视频名/AlphaPose_output既方便断点续跑已生成的文件会自动跳过也方便你排查问题。第二步轨迹清洗——把脏数据挡在训练门外拿到原始轨迹后并不能直接使用。video_in_the_wild_to_tfrecords.py里的clean_video函数会做四道质检不合格的视频直接丢弃可见点数过滤统计每帧可见关键点数中值滤波后低于 4 个点MIN_VIS_PTS的片段直接截断开头空白裁剪如果视频前几帧检测不到人MIN_VIS_START_PTS阈值自动把无检测的开头切掉最短长度限制清洗后不足 40 帧MIN_NUM_FRAMES的轨迹整体丢弃只有脸和肩剔除如果超过 40% 的帧只有上半身关键点可见说明镜头只拍到了人脸特写这类样本对学习全身动态毫无帮助直接跳过。此外超过 500 帧的长轨迹会被截断到MAX_FRAME_LENGTH避免单条样本过长拖慢训练。清洗逻辑集中在 video_in_the_wild_to_tfrecords.py。第三步帧裁剪预处理——从全图到 224x224 的标准输入这是整个流程中最讲究的部分目标是让每一帧都以人为中心、尺度统一地送入网络具体分四步1. 计算平滑边界框参数直接由关键点算出的包围盒往往抖动剧烈。HMMR 用 src/util/smooth_bbox.py 的get_smooth_bbox_params生成稳定的人体框先按可见关键点的最小外接矩形求出中心与缩放尺度让人高归一化到约 150 像素再对缺失帧做线性插值最后依次经过中值滤波 高斯滤波双重平滑得到一条时间上连续稳定的边界框轨迹。2. 按边界框缩放与补边每一帧按照平滑后的scale等比缩放并在四周用边缘像素补 300 像素的边保证人始终位于画面中央且有足够的裁切余量。3. 裁出 300x300 中心区域以平滑中心点为原点裁出 300x300 的局部图像同时把关键点坐标同步平移保证标注与图像始终对齐。这一尺寸留足了空间方便下一步数据增强时做平移和缩放扰动。4. 数据增强与最终缩放训练时离线生成阶段会再经过 src/util/tube_augmentation.py 的 Tube 级增强整段视频随机水平翻转并施加有界随机游走的平移抖动单帧最大 20 像素、帧间增量受限与尺度抖动模拟相机抖动增强模型鲁棒性。最终统一缩放到 224x224像素归一化到 [-1, 1]作为 ResNet 特征提取器的标准输入。如果你想要更平滑的训练轨迹可以在生成 TFRecord 时加上--delta_trans_max 0 --delta_scale_max 0让抖动只作用于整条轨迹而非每一帧见 prepare_datasets.sh 末尾的说明。第四步打包成 TFRecord 训练数据预处理完成后每一帧的图像JPEG 编码、14 个公共关节坐标、可见性标记、中心点、缩放因子、裁剪起点以及预计算的 2048 维 HMR 图像特征phi都会被写入 TFRecord 文件。官方数据集如 InstaVariety的字段说明见 doc/datasets.md训练集每 50 条轨迹一个分片并可设置num_copy让每条视频复制多份以扩充样本。一键运行完整命令串起来整个流水线可用仓库根目录的 prepare_datasets.sh 串联。假设你已下载好视频帧与轨迹 JSON按以下顺序执行即可# 1. 生成训练集 TFRecord python -m src.datasets.video_in_the_wild_to_tfrecords \ --data_directory ${INSTA_TRACKS_DIR} \ --output_directory ${OUT_DIR}/insta_variety \ --num_copy ${INSTA_NUM_COPIES} \ --pretrained_model_path ${HMR_MODEL} \ --image_directory ${INSTA_FRAMES_DIR} \ --video_list ${INSTA_VIDEO_LIST} --split train # 2. 生成测试集 TFRecord python -m src.datasets.video_in_the_wild_to_tfrecords \ --data_directory ${INSTA_TRACKS_DIR} \ --output_directory ${OUT_DIR}/insta_variety \ --num_copy 1 \ --pretrained_model_path ${HMR_MODEL} \ --image_directory ${INSTA_FRAMES_DIR} \ --video_list ${INSTA_VIDEO_LIST} --split test生成的 TFRecord 可以直接用 src/datasets/visualize_train_tfrecords.py 可视化检查确认裁剪结果和关键点标注是否正确。总结一条视频数据的洗白流水线回顾全程HMMR 的数据预处理可以浓缩成一条清晰的流水线ffmpeg 抽帧 → AlphaPose 逐帧检测 → PoseFlow 跨帧跟踪 → 轨迹质检清洗 → 平滑边界框 → 缩放补边 → 300x300 裁剪 → Tube 数据增强 → 224x224 标准化 → 写入 TFRecord每一步都在解决一个具体问题抽帧解决格式问题、跟踪解决人是谁的问题、清洗解决数据质量问题、裁剪解决输入标准化问题。理解了这条 OpenPose轨迹提取与帧裁剪预处理流水线你就掌握了 HMMR 乃至同类从视频学习三维人体动态方法的数据基石。之后无论是训练自己的模型还是跑通 demo_video.py 的推理演示都会轻松很多。【免费下载链接】human_dynamicsProject for paper Learning 3D Human Dynamics from Video项目地址: https://gitcode.com/gh_mirrors/hu/human_dynamics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号