ICCV 2023 | Actformer:从单人到多人,迈向更加通用的3D人体动作生成

2023-08-09 12:27 742 阅读 ID:1318
将门
将门

本文的主要贡献为:

  • 提出了基于 GAN 和 Transformer混合架构的通用 3D 人体动作生成框
  • 不仅能够实现单人动作生成,还能拓展到多人交互式动作生成;
  • 基于GTA游戏引擎构造了一个合成的多人打架数据集,包括2~5个人同时交互,现已开源。
                             图1. Actformer支持多种类型的人体动作表征,支持单人/多人动作生成

论文链接:

https://arxiv.org/abs/2203.07706

代码链接:

https://github.com/Szy-Young/actformer

项目主页:

https://liangxuy.github.io/actformer

一、 简介

3D人体动作生成是计算机视觉和图形学中的经典问题,近期通过文本描述生成人体动作的研究方向(text-to-motion)更是吸引了大量关注,其对于游戏、AR/VR、人机交互、具身智能等实际应用有重要的现实意义。本研究旨在探索给定动作类别标签,生成高质量的、多样化的3D人体动作序列。

我们发现,现有的相关工作在以下几个方面存在一定局限性

  1. 大多工作局限于人体SMPL[5]参数模型表征的3D人体动作,而对于骨架坐标表征泛化性能差;
  2. 大多工作关注单人动作生成,而忽略了多人交互动作的生成;

因此,我们希望设计一种更加通用的、能够支持多种类型的人体动作表征的、支持单人/多人动作生成的3D人体动作生成框架。

二、具体方法

                                                                   图2. Actformer框架图

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数量的动作序列。数据将开源用作学术使用。

                                                                图3. GTA Combat数据集概况

四、实验

我们在NTU-13、NTU RGB+D 120、BABEL以及本文提出的GTA Combat数据集上进行了大量实验,来证明算法的有效性和泛化性。评测方面,我们采用了动作识别准确率和FID分数作为量化指标,利用训练好的ST-GCN网络进行动作识别准确率的评测以及FID评测的特征提取,值得注意的是,与之前的工作不同的是,我们的ST-GCN网络考虑了人的全局位移,这是因为位移变化对多人交互的真实性更加重要。

4.1 量化结果

我们和Action2Motion[1]、ACTOR[2]和CSGN[3]等方法在单人和多人动作生成任务上进行了对比。从表1可得,我们的算法在所有数据集上均取得了最好的效果。

                                                               表1. 单人动作生成结果对比

对于多人动作生成实验,我们将Action2Motion[1]、ACTOR[2]和CSGN[3]方法拓展到多人场景,从表2可得,我们的算法均取得了最好的效果。

                             表2. 多人动作生成结果对比。左侧:NTU-2P,右侧:GTA Combat数据

4.2. 消融实验

我们在不同网络模块设计上进行了大量消融实验。表3展示了高斯过程隐式先验(1)、Transformer生成网络(2)、可学习的位置编码(3)的有效性。

                                                        表3. NTU-1P上的网络模块消融实验

表4展示了判别器的特征融合选择(5-7)、可学习的位置编码(8)、时间维度和人数维度的拼接(9)的有效性。

                                                        表4. NTU-2P上的网络模块消融实验

表5展示了多人交互生成中多人共享采样的隐式表征(1)以及I-Former模块(2)的有效性。

                                                             表5. 多人交互编码消融实验

4.3 可视化结果

如下图4所示,Actformer能够生成高质量的、多样化的3D人体动作序列,支持骨架坐标或者SMPL参数模型,同时支持多人交互的生成。更多的可视化结果以及视频效果可以参见项目主页。

                                                                          图4. 可视化结果

五、结论

本文旨在面向更加通用的3D人体动作生成,并提出了基于GAN和Transformer的生成网络框架,支持多种人体动作表征以及单人/多人动作生成,我们提出的GTA Combat数据集也弥补了当前复杂场景交互数据集不足的现状。

希望大家更多地关注3D人体动作生成领域,并持续关注我们关于人体动作/交互的理解与生成的后续工作,也欢迎对该领域感兴趣的同学加入我们!

参考

  1. Guo, Chuan, et al. “Action2motion: Conditioned generation of 3d human motions.” Proceedings of the 28th ACM International Conference on Multimedia. 2020.
  2. 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.
  3. Yan, Sijie, et al. “Convolutional sequence generation for skeleton-based action synthesis.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019.
  4. 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.
  5. Loper, Matthew, et al. “SMPL: A skinned multi-person linear model.” ACM transactions on graphics (TOG) 34.6 (2015): 1-16.

作者:徐良

免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
反馈
to-top--btn