点击我爱计算机视觉标星,更快获取CVML新技术


作者 | Muhammed Kocabas

译者 | 刘畅

出品 | AI科技大本营(ID:rgznai100)

人体的运动对于理解人的行为是非常重要的。尽管目前已经在单图像3D姿势和动作估计方面取得了进展,但由于缺少用于训练的真实的3D运动数据,因此现有的基于视频的SOTA方法无法产生准确且自然的运动序列。为了解决这个问题,本文提出了“用于人体姿势和形状估计的视频推理”(VIBE)方法,它利用了现有的大规模运动捕捉数据集(AMASS)以及未配对的2D关键点标注数据。

本文最关键的创新在于它是一种对抗性学习框架,该框架利用AMASS数据集来区分真实的人类动作与本文利用时序姿态和动作回归网络产生的动作。本文定义了一个时序网络体系结构,并展示了在没有真实3D标签的情况下,能够产生序列级别的合理的运动序列。本文进行了大量实验,分析了运动性的重要性,并演示了VIBE在非常有挑战性的3D姿态估计数据集上的有效性,达到了SOTA性能。

代码和预训练模型已经开源:

https://github.com/mkocabas/VIBE

引言

从单幅图像估计3D人体姿势和动作方面已经取得了巨大的进展。这对于许多应用程序是十分有用的,通过身体的运动来获取人的行为。正如约翰逊所指出的那样,即使人体仅移动了一丁点也可以得出有关行为的信息。在这里,本文介绍如何利用时间信息来更准确地从单视频中去估算人体的3D运动。尽管这个问题已经研究了30多年,但我们可能会问,为什么仍然没有可靠的方法。本文的见解是,由于训练数据不足,之前的人类运动的时间模型不能够捕获到人类实际运动的复杂性和可变性。作者在这里用一种新的方法解决了这个问题,并且表明我们可以从单视频中显著改善3D人体姿势估计的生成和判别方法。

如图1(上图)所示,现有的视频姿势和动作估计方法无法产生逼真的且运动学上合理的预测结果。造成这种情况的主要原因是缺乏数据的3D标注,对于单个图像都比较难以获得,更不用说对视频而言。之前的一些研究工作,它们将室内3D数据集与具有2D标注或关键点伪标注的视频结合在一起。但是,这有几个限制:(1)室内3D数据集在拍摄对象的数量,运动范围和图像复杂度方面受到限制;(2)带有2D姿势标注的视频数量仍然不足以训练深层的神经网络;(3)伪2D标签对于3D人体运动的建模不可靠。

为了解决这个问题,本文利用了称为AMASS的最新的大规模3D运动捕捉数据集,该数据集足够丰富,可以训练模型学习人们如何移动。本文的方法是从未标注的视频中使用2D关键点去估计3D姿势序列,是为了判别器无法分辨估计运动与AMASS数据集中运动之间的差异。与之前的一些研究工作相同,本文也会使用3D关键点。本文方法的输出是SMPL人体模型格式的一系列姿势和动作参数。

具体来说,本文通过训练基于序列的生成对抗网络来利用两个未配对的信息来源。在这里,给定一个人的视频,作者训练了一个时间模型来预测每帧SMPL人体模型的参数,而运动判别器则试图区分真实序列和回归序列。通过这样做,可以激励回归器通过最小化对抗训练损失来输出表示合理运动的姿势。作者称该方法为VIBE,它表示“用于人体姿态和动作估计的视频推理”。

在训练过程中,“ VIBE”将未标注的图像作为输入,并使用在单个图像的人体姿态估计任务上预训练的卷积神经网络去预测SMPL人体模型参数。然后,运动判别器使用预测的姿态以及从AMASS数据集采样的姿态,为每个序列输出真实/伪造的标签。整个模型由对抗性损失以及回归损失进行监督,以最大程度地减少预测的和标注的关键点,姿态和动作参数之间的误差。本文使用了改进的SPIN方法,该方法使用基于模型的拟合器来训练深度回归器。但是,SPIN是一种单帧方法。为了处理视频序列,作者通过将SMPLify扩展到视频,使得SPIN方法可以融入时序信息。

在测试时,给定一段视频,作者使用预训练的HMR和时间模块来预测每帧的姿势和动作参数。并在多个数据集上进行了大量的实验,超过了所有最新技术;有关VIBE输出的示例,请参见图1(底部)。重要的是,作者证明了基于视频的方法在具有挑战性的3D姿态估计基准数据集3DPW和MPI-INF-3DHP上总是比单帧方法好得多。这清楚地证明了在3D姿势估计中使用视频的好处。

综上,本文的主要贡献如下:首先,作者扩展了Kolotouros等人的基于模型的fitting-in-the-loop训练过程,对视频进行了更准确的监督。其次,作者利用了AMASS运动数据集,以进行VIBE的对抗训练。第三,作者定量比较了不同时间架构的3D人体运动估计。第四,作者使用大型的运动捕捉数据集来训练鉴别器,从而获得了SOTA的结果。

方法

整个VIBE方法的结构如下图2所示,输入是一段单人的视频。对每一帧使用一个预训练的模型去提取特征,接下来使用双GRU组成的编码器去训练。然后特征会被用于回归SMPL人体模型的参数。最后会从AMASS数据集中采样样本,进入动作判别器,去区分真假样本,完成整个流程。

时序编码器(Temporal Encoder)

作者在训练该编码器的时候,使用了4个损失函数,如下,包括2D损失、3D损失、姿态损失和动作损失。

每一项的具体计算方法如下:

其中L_adv是动作判别器的损失。

动作判别器(Motion Discriminator)

作者使用动作判别器来判断生成的姿态序列是否对应于真实的序列。如下图所示:

判别器的损失项计算方式如下:

而动作判别器的目标函数如下:

实验

作者首先介绍了训练和测试用的数据集,接下来,将本文方法的结果与之前的基于帧和基于视频的最新方法(SOTA)进行比较,如表格1所示。此外还做了消融实验,展示本文的贡献。最后,图4展示了可视化的结果。

本文方法与SOTA方法对比

作者证明了使用3DPW训练集,是有助于改善模型对in-the-wild数据的处理能力。由于本文方法保持了时序姿态和动作的一致性,因此MPJPE和PVE指标得到了显著的提升。

消融实验(关于动作判别器)

可以观察到,一旦添加了生成器G,由于缺少足够的视频训练数据,与基于帧的模型相比,本文获得的效果会稍差一些,但视觉效果会更平滑。在Temporal-HMR方法中也观察到了这种效果。另外,使用动作判别器可以有助于改善G的性能,同时仍会产生更加平滑的预测结果。

消融实验(关于自注意力机制)

如表3所示,与静态池化相比,动作判别器中的动态特征聚合可显著的改善最终结果。使用自注意力机制,可以加强动作判别器在时间上的相关性。在大多数情况下,使用自注意力机制会产生更好的结果。

下面图4和图5是本文方法的可视化结果,可以发现它能够正确复原全局旋转,这个是之前的方法都难以解决的一个问题。

总结

尽管当前的3D人体姿态方法效果很好,但是其中大多数都是未经过训练去估计视频中的人体运动。这种运动对于理解人体行为至关重要。

在这里,本文探索了几种将静态方法扩展到可以处理视频的方法:(1)介绍了一种随时间传播信息的循环体系结构;(2)介绍了使用AMASS数据集引入运动序列的判别训练;(3)本文在判别器中引入了自注意力机制,使它学会了关注人体运动的时间结构;(4)本文还从AMASS学习了一种新的人体先验序列信息(MPoser),并表明它也有助于训练结果,虽然能力不如判别器。未来的工作,作者会探索使用视频来监督单帧的方法,比如看看光流信息是否可以帮助提升结果。

原文链接:

https://arxiv.org/abs/1912.05656


姿态估计交流群

关注最新、最前沿的人体姿态估计、手势识别技术,扫码添加CV君拉你入群,如已为CV君其他账号好友请直接私信,

(请务必注明:姿态):

喜欢在QQ交流的童鞋可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过还请见谅)


长按关注我爱计算机视觉

CVPR2020|无需3D运动数据训练,最新SOTA人体姿势估计方法相关推荐

  1. 无需3D运动数据训练,最新人体姿势估计方法达到SOTA | CVPR 2020

    作者 | Muhammed Kocabas 译者 | 刘畅 出品 | AI科技大本营(ID:rgznai100) 人体的运动对于理解人的行为是非常重要的.尽管目前已经在单图像3D姿势和动作估计方面取得 ...

  2. 论文笔记--3D Human Pose Estimation with Spatial and Temporal Transformers(用空间和时间变换器进行三维人体姿势估计)

    用空间和时间变换器进行三维人体姿势估计 摘要   Transformer架构已经成为自然语言处理中的首选模型,现在正被引入计算机视觉任务中,如图像分类.物体检测和语义分割.然而,在人类姿势估计领域,卷 ...

  3. 2D/3D人体姿态估计 (2D/3D Human Pose Estimation)

    1. 基本概念 算法改进入口 网络设计 特征流 损失函数 数据集的重要性:只要有一个好的.针对性的数据集,问题都可以解决 过集成新一代AutoML技术,可降低算法试错成本 人体姿态估计(Human P ...

  4. 微软开源3D人体姿态估计的交叉视图融合算法,提高SOTA精度

    今天分享一下微软亚洲研究院新的开源3D姿态估计的一篇论文:用于3D人体姿势估计的Cross View Fusion,它大大减少了3D姿态估计的误差. 在H36M数据集上,MPJPE(关节点误差平均值) ...

  5. 2D与3D人体姿态估计数据集(统计)

    2D与3D人体姿态估计数据集(统计) 图像级2D单人数据集 Leeds Sports Pose (LSP) Dataset Frames Labeled in Cinema (FLIC) Datase ...

  6. 姿态估计之3D 人体姿态估计 - 总结(1)【转】

    参考 3D 人体姿态估计简述 - 知乎 3D人体姿态估计(介绍及论文归纳) [2021-CVPR]Graph Stacked Hourglass Networks for 3D Human Pose ...

  7. 3D人体姿态估计(介绍及论文归纳)

    推荐镜子大佬的知乎 2D 多人姿态估计论文汇总.分类与简介 2D多人姿态估计指南:热图回归与坐标回归流程指南 openmmlab微信公众号里的3DHPE综述 opemmlab框架下的MMPose库,有 ...

  8. 人体姿态估计(人体关键点检测)2D Pose训练代码和Android源码

    人体姿态估计(人体关键点检测)2D Pose训练代码和Android源码 目录 人体姿态估计(人体关键点检测)2D Pose训练代码和Android源码 1.人体姿态估计2D Pose方法 2.人体姿 ...

  9. 3d人体姿态估计资料

    人字姿态估计数据集 - 知乎 SMPL论文解读和相关基础知识介绍 - 知乎 3D人体姿态估计方法 MHFormer:Multi-Hypothesis Transformer - 知乎 论文阅读笔记: ...

最新文章

  1. 《数据科学家养成手册》第九章信息论
  2. linux进程管理机制,linux进程管理,linux进程管理机制
  3. 推荐一个生成后端模拟数据的懒人工具:lazy-mock
  4. MySQL ORDER BY的使用
  5. 【错误记录】eclipse,android,logcat日志无法打印,真机调试
  6. 有感:仅在面试时攻克 MySQL 还不够
  7. 【Redis学习】Redis的安装、管理、适用场合以及使用
  8. 推荐一款好用的android反编译工具
  9. java的foreach_深入理解java中for和foreach循环
  10. 你必须懂的Java对象引用
  11. 在datasnap 中使用unidac 访问数据(客户端)
  12. Bartender 让Mac选项列不再拥挤
  13. 借着酒劲儿,是真敢说!程序员酒后吐真言
  14. 34.了解那些算法要求使用排序的区间作为参数
  15. 计算机软考里面的英语试题,计算机软考模拟试题
  16. SUPPA2 分析可变剪切(附详细代码)
  17. Bzoj4567---背单词
  18. 模态框间相互传输数据
  19. 数据名称:中国社会追踪调查数据CGSS区县码(最全版本)数据年限:2010-2015年数据简介:搭配CGSS数据使用,可精准匹配至区县层面,对于从事微观层面研究具有重要价值。
  20. 条形码和二维码编码解码工具类源码

热门文章

  1. 约瑟夫环问题(顺序表和单向链表)
  2. Python GUI界面编程初步 02 - Tkinter基础
  3. String和QString之间的转化----可避免出现中文乱码的现象
  4. python supervisor 日志_Supervisor使用详解
  5. ai作文批改_好未来:AI智能批改中英文作文为老师“减负”
  6. 学计算机的人玩什么游戏,亲戚眼中的大学专业:学的计算机啊,游戏打的肯定贼好吧...
  7. 复化梯形公式matlab程序_【HPC】高性能数值计算-梯形面积法
  8. python保存csv_在python中修改和保存csv文件
  9. JAVA jlist 获取选定,java - 拆分并将选定的jList值移动到jTable行(SWING) - 堆栈内存溢出...
  10. linux查看文件夹下每个文件大小,linux查看当前文件夹下每个文件大小