本文的主要贡献为:
- 提出了基于 GAN 和 Transformer混合架构的通用 3D 人体动作生成框
- 不仅能够实现单人动作生成,还能拓展到多人交互式动作生成;
- 基于GTA游戏引擎构造了一个合成的多人打架数据集,包括2~5个人同时交互,现已开源。
论文链接:
https://arxiv.org/abs/2203.07706
代码链接:
https://github.com/Szy-Young/actformer
项目主页:
https://liangxuy.github.io/actformer
一、 简介
3D人体动作生成是计算机视觉和图形学中的经典问题,近期通过文本描述生成人体动作的研究方向(text-to-motion)更是吸引了大量关注,其对于游戏、AR/VR、人机交互、具身智能等实际应用有重要的现实意义。本研究旨在探索给定动作类别标签,生成高质量的、多样化的3D人体动作序列。
我们发现,现有的相关工作在以下几个方面存在一定局限性:
- 大多工作局限于人体SMPL[5]参数模型表征的3D人体动作,而对于骨架坐标表征泛化性能差;
- 大多工作关注单人动作生成,而忽略了多人交互动作的生成;
因此,我们希望设计一种更加通用的、能够支持多种类型的人体动作表征的、支持单人/多人动作生成的3D人体动作生成框架。
二、具体方法
2.1 单人动作生成
2.2 多人动作生成
从单人拓展到多人动作生成需要额外的人数维度P,我们可以通过小幅度调整网络框架进行拓展。首先,考虑到在同一时刻,多个人的动作是高度相关且同步的,因此我们将其作为一个整体,多个人共享同一个采样的隐式表征,实验证明这样能够生成更加同步的交互结果。
生成器网络方面,我们设计了交互Transformer结构(I-Former)来建模不同人体之间的交互,以及时序Transformer结构(T-Former)来建模同一个人动作的时序变化,我们通过交替式地建模交互和时序来处理多人动作的建模。多人条件下,可学习的位置编码拓展为时间维度和人数维度的拼接。和单人生成一样,我们通过一层全连接层恢复出多人的3D人体动作序列。
2.3 生成对抗训练
Actformer是条件生成对抗网络框架,训练时,给定动作类别标签后,生成器合成3D人体动作序列,判别器以动作序列为输入,试图区分真实和合成动作序列,而生成器通过判别器的反馈提升生成质量。实验中,我们通过条件Wasserstein GAN损失函数来训练网络,并采用ST-GCN[4]的网络框架作为判别器。
由于多人的动作特征通过在特征通道维度拼接操作进行融合,然而拼接操作不具备排列不变性质,即<A, B>与<B, A>的输出结果不同,这是不合理的。因此我们采用了一个简单有效的数据增强方案,即在每个训练阶段都随机变换不同人的位置,从而使得判别网络更加鲁棒。
三、GTA Combat数据集
为了弥补目前多人交互,尤其是超过2个人的复杂交互数据集的缺乏,我们基于GTA-V游戏引擎合成了一个多人打架数据集,每个打架序列包含2~5个参与者,具有交互真实感、丰富的随机性。在GTA-V游戏引擎中,通过随机触发超过10种原子的打架模式,以及组合不同的人物、场景、被打者的随机反应,保证了合成数据集的多样性;同时,GTA-V的物体模型保证了合成数据集的物理真实性。对于2/3/4/5个人的打架行为,我们分别合成了大约2.3/1.9/1.5/1.2K数量的动作序列。数据将开源用作学术使用。
四、实验
我们在NTU-13、NTU RGB+D 120、BABEL以及本文提出的GTA Combat数据集上进行了大量实验,来证明算法的有效性和泛化性。评测方面,我们采用了动作识别准确率和FID分数作为量化指标,利用训练好的ST-GCN网络进行动作识别准确率的评测以及FID评测的特征提取,值得注意的是,与之前的工作不同的是,我们的ST-GCN网络考虑了人的全局位移,这是因为位移变化对多人交互的真实性更加重要。
4.1 量化结果
我们和Action2Motion[1]、ACTOR[2]和CSGN[3]等方法在单人和多人动作生成任务上进行了对比。从表1可得,我们的算法在所有数据集上均取得了最好的效果。
对于多人动作生成实验,我们将Action2Motion[1]、ACTOR[2]和CSGN[3]方法拓展到多人场景,从表2可得,我们的算法均取得了最好的效果。
4.2. 消融实验
我们在不同网络模块设计上进行了大量消融实验。表3展示了高斯过程隐式先验(1)、Transformer生成网络(2)、可学习的位置编码(3)的有效性。
表4展示了判别器的特征融合选择(5-7)、可学习的位置编码(8)、时间维度和人数维度的拼接(9)的有效性。
表5展示了多人交互生成中多人共享采样的隐式表征(1)以及I-Former模块(2)的有效性。
4.3 可视化结果
如下图4所示,Actformer能够生成高质量的、多样化的3D人体动作序列,支持骨架坐标或者SMPL参数模型,同时支持多人交互的生成。更多的可视化结果以及视频效果可以参见项目主页。
五、结论
本文旨在面向更加通用的3D人体动作生成,并提出了基于GAN和Transformer的生成网络框架,支持多种人体动作表征以及单人/多人动作生成,我们提出的GTA Combat数据集也弥补了当前复杂场景交互数据集不足的现状。
希望大家更多地关注3D人体动作生成领域,并持续关注我们关于人体动作/交互的理解与生成的后续工作,也欢迎对该领域感兴趣的同学加入我们!
参考
- Guo, Chuan, et al. “Action2motion: Conditioned generation of 3d human motions.” Proceedings of the 28th ACM International Conference on Multimedia. 2020.
- Petrovich, Mathis, Michael J. Black, and Gül Varol. “Action-conditioned 3D human motion synthesis with transformer VAE.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.
- Yan, Sijie, et al. “Convolutional sequence generation for skeleton-based action synthesis.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.
- Yan, Sijie, Yuanjun Xiong, and Dahua Lin. “Spatial temporal graph convolutional networks for skeleton-based action recognition.” Proceedings of the AAAI conference on artificial intelligence. Vol. 32. No. 1. 2018.
- Loper, Matthew, et al. “SMPL: A skinned multi-person linear model.” ACM transactions on graphics (TOG) 34.6 (2015): 1-16.
作者:徐良