利用 AIST++ 生成音乐条件下的 3D 舞蹈

发布人:Google Research 软件工程师 Shan Yang 和研究员 Angjoo Kanazawa

舞蹈是几乎所有文化中的一种通用语言,也是如今许多人在当代媒体平台上表达自己的一种方式。跳舞的能力(组织形成与音乐节拍一致的动作模式)是人类行为的一个基本方面。然而,舞蹈是一种需要练习的艺术形式。事实上,舞者若要创造极具表现力的编舞 (Choreography),就需要丰富的舞蹈动作,而这通常需要进行专业训练。这个过程对人来说很困难,对机器学习 (ML) 模型来说则更具挑战性,因为这项任务要求能够产生具有高度运动学复杂性的连续动作,同时捕捉到动作和伴奏音乐之间的非线性关系。

在 “ AIChoreographer:利用 AIST++ 生成音乐条件下的 3D 舞蹈 (AIChoreographer:Music-Conditioned 3D Dance Generation with AIST++) ”一文中(载于 ICCV 2021),我们提出了一个完整关注 (Attention) 跨模态转换器 (FACT) 模型,此模型可以模仿和理解舞蹈动作,甚至可以提高用户的编舞能力。提出该模型的同时,我们发布了一个大规模的多模态 3D 舞蹈动作数据集 AIST++,该数据集包含 5.2 小时的 3D 舞蹈动作,分为 1408 个序列,涵盖了 10 种舞蹈类型,每个类型都包括从已知相机位置方向拍摄的多视角视频。通过对 AIST++ 进行广泛用户研究,我们发现 FACT 模型无论在质量还是数量上都优于日前领先的方法。


我们提出了一个新颖的完整关注跨模态转换器 (FACT) 网络,可以在音乐和新的 3D 舞蹈数据集 AIST++(左)的条件下生成真实的 3D 舞蹈动作(右)

我们根据现有的 AIST 舞蹈数据库生成了建议的 3D 运动数据集,该数据集是一个有音乐伴奏的舞蹈视频集合,但没有任何 3D 信息。AIST 包含 10 种舞蹈类型:旧学派(霹雳、机械舞、锁舞和威金)和新学派(Middle Hip-Hop、LA-style Hip-Hop、House、Krump、Street Jazz 和 Ballet Jazz)。虽然其中包含了舞者的多视角视频,但这些相机并没有经过校准。

为了实现目的,我们根据广泛使用的 SMPL 3D 模型所使用的参数恢复了相机校准参数和 3D 人体动作。由此产生的数据库 (AIST++) 是一个大规模的 3D 人类舞蹈动作数据集,包含了与音乐相配的各种各样的3D 动作,每一帧都包含大量的注释:

  • 9 个相机内在和外在参数的视图;
  • 17 个 COCO 格式的人体关节位置(2D 和 3D 形式);
  • 24 个 SMPL 姿势参数,带有全局缩放和平移。

这些动作在所有的 10 种舞蹈类型中平均分布,涵盖了以每分钟节拍 (BPM) 为单位的各种音乐节奏。每种类型的舞蹈包含 85% 的基本动作和 15% 的高级动作(由舞者自由设计的较长编舞)。

AIST++ 数据集还包含多视角同步图像数据,使其对其他研究方向(例如 2D/3D 姿势预测)很有帮助。据我们所知,AIST++ 是截止目前最大的 3D 人类舞蹈数据集,包含 1408 个序列、30 个主题和 10 个舞蹈类型,并同时包含基本和高级的编舞。

AIST++ 数据集中一个 3D 舞蹈序列的示例
左图:AIST 数据库中舞蹈视频的三个视角
右图:重建的 3D 动作在 3D 网格(上图)和骨架(下图)中可视化

由于 AIST 是一个教学数据库,因此它记录了在不同音乐和各种 BPM 下遵循相同编舞的多个舞者,这是舞蹈中常见的做法。这给跨模态序列到序列的生成带来了独特挑战,因为该模型需要学习音频和动作之间的一对多映射。我们在 AIST++ 上精心构建了不重叠的训练和测试子集,以确保在子集之间编舞和音乐都不相同。

全注意力跨模态转换器 (FACT) 模型

我们利用这些数据训练 FACT 模型,以便根据音乐生成 3D 舞蹈。该模型首先使用单独的动作和音频转换器对种子动作和音频输入进行编码。然后,将嵌入向量串联起来并发送给跨模态转换器,该转换器学习两种模态之间的对应关系并生成 N 个未来动作序列。随后利用这些序列以自我监督 (Self-supervised learning) 的方式来训练模型。所有三个转化器都是联合学习的端到端。进行测试时,我们在一个自回归 (GPT-3) 框架中应用这个模型,其中预测的动作充当下一个生成步骤的输入。因此,FACT 模型能够逐帧地生成长时间的舞蹈动作。

FACT 网络接收一段音乐 (Y) 和一个 2 秒的种子动作序列 (X),然后生成与输入音乐相关的长时间未来动作

FACT 涉及三个关键的设计选择,对于根据音乐产生真实的 3D 舞蹈动作至关重要。

1. 所有的转换器都使用完整关注掩码,它比典型的因果模型更具表现力,因为内部令牌可以访问所有输入。
2. 我们训练模型来预测当前输入以外的 N 个未来动作,而不是仅仅预测下一个动作。这鼓励网络更多地关注时间背景,并有助于防止模型在几个生成步骤后出现动作停滞或分歧。
3. 我们在早期融合了两个嵌入向量(动作和音频),并采用了一个深度的 12 层跨模态转换器模块,这对于训练一个真正关注输入音乐的模型至关重要。

结果

我们根据三个指标来进行性能评估:

动作质量: 我们计算 AIST++ 测试集中的真实舞蹈动作序列和 40 个模型生成的动作序列之间的 Frechet Inception Distance (FID),每个序列有 1200 帧(20 秒)。我们将基于几何和运动特征的 FID 分别表示为 FIDg 和 FIDk。

生成多样性: 与此前的研究类似,为了评估模型生成潜水舞蹈动作的能力,我们计算了 AIST++ 测试集上 40 个生成动作的特征空间中的平均欧氏距离,再次比较几何特征空间 (Distg) 和运动特征空间 (Distk)。

使用不同的音乐生成的四种不同编舞(右图),但两秒的种子动作是相同的(左图)
条件音乐的类型为:霹雳、芭蕾爵士、Krump 和 Middle Hip-hop。种子动作来自于嘻哈舞蹈

动作与音乐的相关性: 由于没有设计良好的指标来衡量输入音乐(音乐节拍)和生成的 3D 动作(运动节拍)之间的相关性,我们提出了一个新的指标,称为节拍对齐得分 (BeatAlign)。

生成舞蹈动作的运动速度(蓝色曲线)和运动节拍(绿色虚线),以及音乐节拍(橙色虚线)
提取运动节拍的方式是从运动速度曲线中找到局部最小值

定量评估

我们将 FACT 在这些指标方面的表现与其他最先进的方法进行比较。

与最近的三种最先进方法(Li et al、Dancenet 和 Dance Revolution)相比,FACT 模型生成的动作更加真实,与输入音乐有更好的相关性,并且在不同的音乐条件下更加多样化

*请注意,Li et al. 生成的动作是不连续的,使得平均运动特征距离异常地高

我们还通过一项用户研究,对动作与音乐的相关性进行了感知评估,在这项研究中,我们要求各位参与者观看 10 个视频,视频中包含我们的一个成果和一个随机的对照输出,然后选择哪个舞者与音乐更同步。这项研究包括 30 名参与者,从专业舞者到很少跳舞的人都有。与每个基线相比,81% 的人认为 FACT 模型的输出优于 Li et al. 的输出,71% 的人认为 FACT 优于 Dancenet,77% 的人认为它优于 Dance Revolution。有趣的是,75% 的参与者更喜欢未配对的 AIST++ 舞蹈动作,而不是 FACT 生成的动作,这并不奇怪,因为原始舞蹈动作具有高度表现力。

定性结果

与 DanceNet(左图)和 Li et. al.(中图)等之前的方法相比,使用 FACT 模型(右图)生成的 3D 舞蹈更加逼真,与输入音乐有更高的相关性。

更多使用 FACT 模型生成的 3D 舞蹈


结论和讨论

我们提出的模型不仅可以学习音频和动作的对应关系,还可以根据音乐生成高质量的 3D 动作序列。根据音乐生成 3D 动作是一个新兴的研究领域,我们希望这项研究能够为未来的跨模态音频到 3D 动作生成铺平道路。我们还发布了 AIST++,这是迄今为止最大的 3D 人类舞蹈数据集。本文提出的多视角、多类型、跨模态 3D 动作数据集不仅有助于有条件 3D 动作生成方面的研究,还可以帮助一般的人类理解研究。我们将在 GitHub 代码库 中发布代码,并在 此处 发布训练好的模型。

虽然我们的研究结果为音乐条件下的 3D 动作生成问题指出了一个有前景的方向,但尚有更多可探索的空间。首先,我们的方法是基于运动学的,且我们没有推理出舞者和地板之间的物理学相互作用。因此,全局平移可能会导致伪影,如脚部的滑动和悬浮。第二,我们的模型目前具有确定性。探索如何根据每段音乐产生多种真实舞蹈,这一研究方向极具潜力。

致谢

我们由衷感谢其他联合作者的贡献,包括 Ruilong Li 和 David Ross。感谢 Chen Sun、Austin Myers、Bryan Seybold 和 Abhijit Kundu 提供的有用讨论见解。感谢 Emre Aksan 和 Jiaman Li 分享他们的代码。我们还要感谢 Kevin Murphy 在此研究方向上的早期尝试,以及 Peggy Chi 和 Pan Chen 在用户研究实验中提供的帮助。

原文:Music Conditioned 3D Dance Generation with AIST++
中文:TensorFlow 公众号