基于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)

相关推荐
lilu88888881 小时前
AI代码生成器赋能房地产:ScriptEcho如何革新VR/AR房产浏览体验
前端·人工智能·ar·vr
梦云澜1 小时前
论文阅读(十六):利用线性链条件随机场模型检测阵列比较基因组杂交数据的拷贝数变异
深度学习
好评笔记1 小时前
多模态论文笔记——VDT
论文阅读·深度学习·机器学习·大模型·aigc·transformer·面试八股
好评笔记1 小时前
多模态论文笔记——ViViT
论文阅读·深度学习·机器学习·计算机视觉·面试·aigc·transformer
梦云澜1 小时前
论文阅读(五):乳腺癌中的高斯图模型和扩展网络推理
论文阅读·人工智能·深度学习·学习
危险、2 小时前
Spring Boot 无缝集成SpringAI的函数调用模块
人工智能·spring boot·函数调用·springai
深度学习实战训练营3 小时前
基于迁移学习的ResNet50模型实现石榴病害数据集多分类图片预测
人工智能·分类·迁移学习
XianxinMao3 小时前
开源AI模型发布策略:平衡开放与质量的艺术
人工智能
Fxrain4 小时前
[Computer Vision]实验二:图像特征点提取
人工智能·计算机视觉
人类群星闪耀时4 小时前
用深度学习优化供应链管理:让算法成为商业决策的引擎
人工智能·深度学习·算法