基于SMPL的三维人体重建-深度学习经典方法之VIBE

本文以开源项目VIBE[1-2]为例,介绍下采用深度学习和SMPL模板的从图片进行三维人体重建算法的整体流程。如有错误,欢迎评论指正。


一.算法流程

包含生成器模块和判别器模块,核心贡献就在于引入了GRU模块,使得当前帧包含了先前帧的先验信息,从而动作更加连贯和合理(VIBE的思路其实还是很清晰的,几张图足以概况,更多的还是在于工程实现,感兴趣的话还是得去看下源码)。

注: 这里是整个训练流程,训练结束后会拿掉判别器的部分,只需要生成器部分进行推理。

二.具体步骤

数据集

  1. MPI-INF-3DHP: 8个个体,每个个体16个视频序列,大多为室内环境采集,包含3d关节点,SMPL参数
  2. Human3.6M: 使用了7个个体,每个个体15个动作序列,受控环境下采集,包含3d关节点,SMPL参数
  3. 3DPW: 60个视频序列,室内室外均有,包含3d关节点,SMPL参数
  4. PennAction: 2326个视频序列,15种不同的动作,包含2d关节点及其置信度,2d包围盒
  5. Insta Variety: 共计长达24个小时的视频序列,Instagram上收集得到,利用openpose生成伪2d关节点
  6. PoseTrack: 1337个视频序列,包含2d关节点
  7. Kinetics-400: 具体信息不清,利用openpose生成伪2d关节点
  8. AMASS: 300个个体,11000个动作种类,共计40小时的视频,包含SMPL参数

网络结构

  1. 生成器模块

输入图片序列,输出SMPL系数和相机参数。

  1. 判别器模块

输入SMPL系数,输出动作的合理概率。

注:以上两张图还是挺好理解的,可参考GRU[4],对抗学习[6],自注意力模型[5]进行理解。

  • 输入

图片序列。

注:基于单张图片进行SMPL重建的模型最大的问题在于忽视了帧间的联系,若采用这种模型应用于视频序列,其中存在的一个问题就是人体会很抖动。

  • 输出

SMPL系数(全局姿态: 3, 关节点节点姿态: 23*3,形状系数: 10),相机参数(尺度: 1,平移: 2)

注:指推理阶段的输出,也就是生成器的输出

损失函数

1)生成器损失

式2)、式3)含义自明;

式4)中,对于形状系数 β ^ \hat{\beta} β^,是通过对每一帧的 β t \beta_t βt做average pooling得到的;

式5)中, Θ ^ = { θ ^ 1 , . . . , θ ^ , β ^ } \hat\Theta=\{\hat\theta_1,...,\hat\theta,\hat\beta\} Θ^={θ^1,...,θ^,β^}, D M \mathcal{D}_M DM表示判别器,输出的是动作的合理概率。

2)判别器损失

式6)中, Θ \Theta Θ为来自AMASS的SMPL模型的GT系数。

三.实现

注:1)目前的开源实现[2]在训练阶段,生成器开始利用CNN提取特征和最后利用回归器生成SMPL参数的步骤,是单独利用已训练好的SPIN模型实现的,而不是联合GRU模块一起训练的,训练流程如下所示(感觉一起训练的话效果应该会更好)

2)推理流程为

四.其它

除了VIBE之外,后续有一篇改进的论文TCMR[8]。简单看了下主要是对网络结构进行了改动,但重建效果要比VIBE平滑很多,代码也开源了[9],感兴趣的读者可以自行研究下。

五.参考

1\]`VIBE: Video Inference for Human Body Pose and Shape Estimation` \[2\]`[GitHub - mkocabas/VIBE: Official implementation of CVPR2020 paper "VIBE: Video Inference for Human Body Pose and Shape Estimation"](https://github.com/mkocabas/VIBE)` \[3\]`[Guided lecture: VIBE: Video Inference for Human Body Pose and Shape Estimation](https://www.youtube.com/watch?v=hErK0MamTY4&list=TLPQMTIwMjIwMjLEOfLIHvqppA&index=2)` \[4\]`[阿力阿哩哩:通熟易懂RNN|RNN与RNN的变种结构 | 上](https://zhuanlan.zhihu.com/p/105383343)` \[5\]`[soccer:Attention注意力机制与self-attention自注意力机制](https://zhuanlan.zhihu.com/p/265108616?utm_source=qq)` \[6\]`[一文读懂对抗生成学习(Generative Adversarial Nets)[GAN]](https://www.cnblogs.com/Mang0/p/10129284.html)` \[7\]`[CVPR2020论文解读 | VIBE:Video Inference for Human Shape](https://cloud.tencent.com/developer/article/1645354)` \[8\]`Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video` \[9\]`[GitHub - hongsukchoi/TCMR_RELEASE: Official Pytorch implementation of "Beyond Static Features for Temporally Consistent 3D Human Pose and Shape from a Video", CVPR 2021](https://github.com/hongsukchoi/TCMR_RELEASE)` \[10\]`[python中logging日志模块详解 - 咸鱼也是有梦想的 - 博客园](https://www.cnblogs.com/xianyulouie/p/11041777.html)` \[11\]`[十指透兮的阳光:yacs的使用小记](https://zhuanlan.zhihu.com/p/366289700)` \[12\]`[GitHub - mkocabas/multi-person-tracker: Simple Multi Person Tracker implementation in PyTorch](https://github.com/mkocabas/multi-person-tracker)`

相关推荐
飞升不如收破烂~1 天前
Transformer 架构:用「工厂流水线」讲透(无代码、纯人话)
人工智能·深度学习·transformer
八角Z1 天前
AI价值跃迁的核心:输出责任转移与新兴工种的精准重塑
大数据·人工智能·科技·机器学习·计算机视觉·服务发现
Σίσυφος19001 天前
傅里叶变换
人工智能·机器学习
林姜泽樾1 天前
腾讯workbuddy接入QQ,制作AI智能助手
人工智能·ai
阿拉斯攀登1 天前
第八篇(终篇):选型指南——开源 vs 闭源、国内 vs 国外
人工智能·机器学习·ai·大模型·ollma
qq_454245031 天前
AI模块化工作流的基石:三要素双向生成与可信存储机制
人工智能·架构
ZKNOW甄知科技1 天前
深度对标ServiceNow:燕千云如何破解企业全球化运维难题?
大数据·运维·人工智能·科技·ai·自动化·运维开发
回家路上绕了弯1 天前
Claude Code Agent Team 全解析:AI 集群协作,重构代码开发新范式
人工智能·分布式·后端
工业甲酰苯胺1 天前
深度学习核心训练逻辑:自迭代五步法深度解析与实践
人工智能·深度学习
淡岚未央1 天前
Qwen3-14b的微调框架优化
人工智能