舞蹈作为一种表演艺术,需要由受过专业训练的舞者在音乐的伴奏下有节奏地完成一系列高难度动作,对舞者肢体的协调性和舞蹈动作的表现力要求极高,对机器学习模型来说则更具有挑战性,因为这项运动需要高度复杂的连续运动能力,同时还要捕捉动作和伴奏之间的非线性关系。
9 月 13 日,软件工程师 Shan Yang 及科学家 Angjoo Kanazawa 发布博客称已开源 3D 舞蹈生成模型 FACT。
其实早在今年 3 月份的 ICCV 2021 会议上,Shan Yang 和 Angjoo Kanazawa 就已经发表过名为《AI Choreographer : Music-Conditioned 3D Dance Generation with AIST++ 》的论文,其中提到 full-attention cross-modal Transformer(FACT) 可以模仿和理解舞蹈动作,甚至还能够提高个人的编舞能力。随之一起发布的还有一个大规模的多模态 3D 舞蹈动作数据集 AIST++,这个数据集中包含了 1408 个序列中 5.2 个小时的 3D 舞蹈动作,涵盖 10 种舞蹈类型(Break、Pop、Lock、Waack 等),每种类型都包含摄像机拍摄的多视图视频,如下图所示。
在 AIST++ 中,每个框架都包含广泛的注释:
- 9 个摄像头内参和外参视图;
- 17 个 COCO 格式的人体关节位置,包含2D和3D;
- 24 个 SMPL 姿态参数以及全局缩放和平移;
这些动作平均分布在 10 种舞蹈类型中,还拥有各种不同节拍 (BPM) 的音乐伴奏,而且每种舞蹈类型都包含 85% 的基本动作及 15% 的高级动作。
AIST 记录了多个舞者在同一舞种下根据不同的伴奏所做出的表演,这为跨模态序列到序列的生成提出了一个严峻的挑战,因为模型需要学习音频和动作之间的一对多映射。
利用以上数据,可以训练 FACT 模型从音乐中生成 3D 舞蹈。该模型首先使用单独的运动和音频变压器对种子运动(seed motion)和音频输入(audio inputs)进行编码。然后将嵌入连接起来发送到一个跨模态变压器,该变压器学习两种模态之间的对应关系并生成 N 个未来运动序列,然后再用这些序列以自监督的方式训练模型。所有三个变压器都是通过端到端共同学习的。在测试时,将该模型应用于自回归框架,其中预测的运动作为下一代步骤的输入,因此,FACT模型能够逐帧生成一长段的舞蹈动作。
以下几点对于从音乐中生成 3D 舞蹈至关重要:
- 所有的转换器都使用 full attention mask,这比典型的因果模型更具有表现力,因为 internal tokens 可以访问所有输入;
- 这个模型能预测当前输入之外的 N 个未来,而不仅仅是下一个动作,更多地关注时间上下文,有助于防止模型在几代步骤后运动僵硬;
- FACT 早期融合了两种嵌入(动作和音频),并使用了一个12层的跨模态转换器模块,这对于训练一个真正关注输入音乐的模型至关重要;
综上,FACT 不仅可以学习音频与运动之间的对应关系,还能以音乐为条件生成高质量 3D 舞蹈,目前这仍然是一个新兴领域,还需要更多深入的研究,感兴趣的同学可以点击了解详情。