- 核心技术
- 以原创技术体系为根基,SenseCore商汤AI大装置为核心基座,布局多领域、多方向前沿研究,
快速打通AI在各个垂直场景中的应用,向行业赋能。
tuansmomo解读
在CVPR 2020上,来自CMU,北京大学,清华大学,商汤研究院的研究者提出了一种无监督的人体动作迁移方法《TransMoMo: Invariance-Driven Unsupervised Video Motion Retargeting》,为动作序列数据建模提供了新思路。
该论文提出了一种新颖的动作重定向网络(Motion Retargeting Network)设计,可以在二维关键点空间由无标注的网络数据端到端地训练。作者基于不变性设计了新的损失函数,从而赋予网络无监督地解耦动作特征表示的能力。将上述动作重定向网络和基于不变性的损失函数应用于人体动作迁移任务中,在定性和定量指标上都超过了原先的最佳方法(state-of-the-art),尤其是在真实世界的复杂动作上取得明显的优势。
任务介绍
人体动作迁移(Human Motion Transfer)指的是将初始运动视频中初始对象的动作迁移到目标对象上,以生成目标运动视频。例如,业余爱好者是否能立刻像专业人士一样学会跳不同风格的舞蹈,如探戈,芭蕾,萨尔萨舞等?尽管在现实中这几乎是不可能的,但现在人们可以通过人体动作迁移技术在虚拟世界实现这一目标,即将源视频中的专业舞蹈演员的运动信息迁移到业余爱好者的形体上,并渲染生成目标视频。
人体动作迁移在计算机图形学动画制作和仿生机器人领域有广泛的应用,长期以来有许多基于动作捕捉设备的研究。近年来,随着移动计算的普及和深度学习在计算机视觉领域的应用,获取人体动作信息的成本大大降低。此外,得益于生成式对抗网络(GAN)的研究进展,通过计算机合成高度真实的图像和视频成为可能。因此,设计出一种合适的基于视频数据的人体动作迁移方法对许多应用领域都十分重要,例如影视效果、内容创作、在线娱乐等,这也是本文想要探讨的重点。
动机/难点
过去处理人体动作迁移的问题上,有很多研究通过精确的3D人体姿态估计或重建来实现。这些方法往往需要复杂耗时的优化过程,并且在真实场景中的复杂动作视频中表现不佳。在本文中,作者主要设计了一种可在二维人体骨骼空间端到端学习的动作迁移框架,从而绕过了显式的3D姿态估计过程。尽管最近在生成模型和人体动作合成领域有许多进展,在2D空间学习动作迁移仍然是一个富有挑战性的任务,主要有以下难点:
由于初始运动视频和目标运动视频存在很大的结构和视角差异,很难在像素级别上建立源-目标的映射。尤其当初始对象做出复杂动作(如躺倒,倒立,连续旋转等),或者初始对象和目标对象的结构差异比较大(如成人与儿童等),传统的动作迁移方法准确度较低。
很难在真实世界中找到配对的动作-角色数据作为人体动作迁移任务的有效监督信号。
人体运动呈现出复杂的非线性,很难建立准确的模型和参数来刻画人体动作迁移的过程。
方法介绍
框架设计
为了应对第一个难点,作者不直接采用基于像素级映射的视频转换(video-to-video translation)方法,而是将动作迁移过程分为三个阶段,即人体关键点检测(skeleton extraction),动作重定向(motion retargeting),以及视频渲染(skeleton-to-video rendering)。通过对任务的分解,只需要集中解决动作重定向这一问题,此问题的输入和输出都是2D人体关键点序列。
整体框架示意图
为了应对第二和第三个难点,作者利用人体运动数据中三个维度的特征的不变性。三个维度的特征即运动(motion),指的是身体各部分的移动语义信息;结构(structure),指的是身体的比例信息;视角(view),指的是身体和相机的相对朝向信息。理论上,根据这三个信息能够重建整体运动,且这三部分信息互相独立,任一信息对另两者的扰动(perturbation)具备不变性。具体地来说,作者认为它们应具有如下性质:
运动信息应该关于结构和视角扰动具有不变性。
结构信息应该在同一段视频中关于时间具有不变性,且对视角扰动有不变性。
视角信息应该在同一段视频中关于时间具有不变性,且对结构扰动有不变性。
训练实现
训练实现上,作者使用3D人体的旋转作为视角信息的扰动;肢体缩放(Limb Scaling)作为结构信息的扰动;运动信息无需显式添加扰动,因为其自身就随时间变化。基于这些扰动,作者要求网络重新编码的特征分别具有上述不变性,可以推导出一系列完全无监督的损失函数,进而通过训练自编码器(Autoencoder)将人体关键点序列信息解耦为运动、结构、视角三个互相正交的信息分量。
视角信息的扰动(View Perturbation)及重建
结构信息的扰动(Structural Perturbation)及重建
如图所示,相关细节请参考论文。
借助解耦的表示,我们可以很容易地将来自不同视频的运动分量和结构分量配对后再解码到关键点空间,就实现了动作重定向。此外,我们还可以显式地操纵视角信息,得到生成动作序列在不同视角下的投影。值得一提的是,作者提出的动作重定向网络是一个轻量级、即插即用的模块,可以和现有的各种人体关键点检测和视频渲染方法串联使用。
结果展示
作者分别在Mixamo合成角色数据集和自己采集的真实人物数据集上做了定量和定性的评测。结果显示,本工作在动作迁移误差(MSE/MAE)和生成图像的真实度(FID/User Preference)上都比目前的SOTA方法有显著提升,结果见Table1。
其中,该工作用了训练数据中最少的信息,既没有用角色-动作间的配对信息,也没有用输入的3D信息。此外,作者提出的方法使得在任意人体运动视频上训练成为可能,这是此前的方法没有办法做到的。实验结果表明,使用网上采集的真实视频训练的模型(Ours wild)取得了最好的表现。
该方法还允许编码空间的连续插值。如图所示,横向是结构信息的特征插值,纵向是动作信息的特征插值。这表明网络能够成功解耦这两个变量,并且学习了具有良好分布性质的特征子空间。
此外,由于自动编码器的输出是3D火柴人,我们可以任意地调整重定向结果的视角方向。
分析总结
总体来说,作者提出的无监督动作迁移方法在对训练数据的依赖程度、迁移的准确度、生成结果的质量等方面均比之前的同类型方法有突破。这种性能上的提升主要来源于以下创新点:
在2D关键点空间实现特征解耦,避免了3D关键点估计的误差
和先前的隐式无监督方法相比,显式的不变性驱动的损失函数提高了训练数据效率(Data efficiency)
肢体缩放的设计提升了网络处理身体比例差异较大情形的能力
和先前在合成数据集上的监督学习方法相比,使用网络数据无监督训练大大增加了训练时的动作多样性
另外,该工作设计的动作重定向网络实现了无监督特征解耦,可能对人体运动建模的其他问题有一定的启发。
References
Ruben Villegas, Jimei Yang, Duygu Ceylan, and Honglak Lee. Neural kinematic networks for unsupervised motion retargetting. In CVPR, 2018.
Caroline Chan, Shiry Ginosar, Tinghui Zhou, and Alexei A. Efros. Everybody dance now. In ICCV, 2019.
Kfir Aberman, Rundi Wu, Dani Lischinski, Baoquan Chen, and Daniel Cohen-Or. Learning character-agnostic motion for motion retargeting in 2d. ACM Trans. Graph., 38(4):75:1–75:14, 2019.
Ting-Chun Wang, Ming-Yu Liu, Jun-Yan Zhu, Guilin Liu, Andrew Tao, Jan Kautz, and Bryan Catanzaro. Video-to-video synthesis. In NeurIPS, 2018.
Rıza Alp Güler, Natalia Neverova, and Iasonas Kokkinos. Densepose: Dense human pose estimation in the wild. In CVPR, pages 7297–7306, 2018.