在艺术领域,AI有着各式各样的应用,如AI生成音乐、AI绘画。跳舞,也是AI努力学习的一种能力。此前,以音乐的风格、节奏和旋律作为控制信号来生成3D舞蹈动作的DaceNet曾红极一时。如今,DanceNet迎来了新的挑战者——来自谷歌的最新研究AI Choreographer:给定一段2秒的指导动作,AI模型可以按照音乐节奏生成一长段自然的舞蹈动作。
生成的舞蹈效果是这样的(遗憾的是动图没有声音):而和DanceNet这些同类研究相比,谷歌新方法的效果更为明显。左边两种方法生成的舞蹈动作像「抽风」,该新方法则更加流畅自然:值得注意的是,这还是一个基于Transformer的模型。通过编排与音乐节拍一致的动作模式来跳舞是人类的一项基本能力。舞蹈是所有文化中的通用语言,如今,许多人在多媒体平台上通过舞蹈来表现自己。
在YouTube上最受欢迎的视频是以舞蹈为主的音乐视频,例如Baby Shark Dance、江南Style,在互联网信息传播中,舞蹈成为强大的传播工具。然而,舞蹈是一种艺术形式,即使是人类,也需要专业培训才能使舞蹈演员掌握丰富的舞蹈动作曲目,创造出富有表现力的舞蹈编排。从计算方面来讲更具有挑战性,因为该任务需要有能力生成一个连续的高运动学复杂度动作,捕捉与伴奏音乐的非线性关系。
在这项研究中,来自南加州大学、谷歌研究院、加州大学伯克利分校的研究者提出了一个基于transformer的跨模态学习架构和一个新的3D舞蹈动作数据集AIST++,该数据集用来训练一个生成3D舞蹈动作的模型。具体来说,给定一段音乐和一个短的(2秒)种子动作(seed motion),本文模型能够生成一个长序列的逼真3D舞蹈动作。该模型有效地学习了音乐动作的相关性,并且可以生成不同输入音乐的舞蹈序列。
研究者将舞蹈表示为一个由关节旋转和全局平移组成的3D动作序列,这使得输出可以很容易地迁移至动作重定向等应用,具体流程如下图1所示:在学习框架方面,该研究提出了一种新的基于transformer的跨模态架构来生成基于音乐的3D动作。
该架构建立在已被证明对长序列生成特别有效的基于注意力的网络上,并从视觉和语言的跨模态文献中获得灵感,设计了一个使用三个transformer的框架,分别用于音频序列表示、动作表示和跨模态音频-动作表示。其中动作和音频transformer对输入序列进行编码,而跨模态transformer学习这两种模态之间的相关性,并生成未来的动作序列。
该研究精心设计的新型跨模态transformer具有自回归特性,但需要全注意力和future-N监督,这对于防止3D运动在多次迭代后冻结或漂移非常关键,正如先前关于3D运动生成所述。由此生成模型为不同的音乐生成不同的舞蹈序列,同时生成长时间的逼真动作,在进行推理时不受漂移冻结的影响。AIST++数据集为了训练模型,该研究还创建了一个新的数据集:AIST++。
该数据集在AIST(多视角舞蹈视频库)基础上进行构建。研究者利用多视角信息从数据中恢复可靠的3D动作。注意,虽然这个数据集具有多视角照片,但相机并未校准,这使得3D重建非常具有挑战性。AIST++数据集包含高达110万帧伴有音乐的3D舞蹈动作,据了解,这是此类数据集中最大的一个。
AIST++还跨越了10种音乐类型、30个主题和9个视频序列,并具有恢复的相机内在特性,这对于其他人体和动作研究具有很大的潜力。该研究创建的AIST++是一个大规模3D舞蹈动作数据集,包含大量伴随音乐的3D舞蹈动作。其中每一帧都具备以下额外标注:9种视角,包括摄像机的内外参数;17种COCO格式的人类关节位置,包含2D和3D形式;24个SMPL姿势参数,以及全局扩展和平移。
下表1对比了AIST++和其他3D动作与舞蹈数据集,AIST++对于现有的3D动作数据集是一种补充。
此外,AIST++数据集包含10个舞种:Old School(Break、Pop、Lock和Waack)和New School(Middle Hip-hop、LA-style Hip-hop、House、Krump、Street Jazz和Ballet Jazz),参见下图3:基于音乐的3D舞蹈生成问题描述:给定一个2秒的动作种子示例X = (x_1, . . . , x_T)和音乐序列Y = (y_1, . . . , y_T'),生成时间步T + 1到T'期间的未来动作序列X'= (x_T+1, . . . , x_T'),T' >> T。
跨模态动作生成Transformer该研究提出一种基于Transformer的网络架构,它可以学习音乐-动作关联,生成不凝滞的逼真动作序列。
架构图参见下图2:该模型具备三个transformer:动作transformer f_mot(X):将动作特征X转换为动作嵌入h^x_1:T;音频transformer f_audio(Y):将音频特征Y转换为音频嵌入h^y_1:T';跨模态transformer f_cross(h^xy_1:T +T'):学习动作和音频两个模态之间的对应,并生成未来动作X'。
为了更好地学习两个模态之间的关联,该研究使用了一个深度为12层的跨模态transformer。研究者发现,跨模态transformer的深度越大,模型对两种模态的关注越多(参见下图6)。实验定量评估研究者报告了该方法与两种基线方法在AIST++测试集上的定量评估结果,见下表2:动作质量:从上表中可以看出,该方法生成的动作序列关节和速度分布更接近真值动作。
动作多样性:表2展示了,相比基线方法,该研究提出的方法能够生成更多样的舞蹈动作。控制变量研究结果表明,网络设计,尤其跨模态transformer,是带来这一差异的主要原因。研究者将该方法生成的多样化舞蹈动作进行了可视化,参见下图7:动作-音乐关联:从表2中还可以看出,该方法生成的动作与输入音乐的关联性更强。下图5中的示例展示了生成动作的运动节拍与音乐节拍能够实现很好地匹配。
但是,在与真实数据进行对比时,这三种方法都有很大的改进空间。这表明,音乐动作关联仍然是一个极具挑战性的问题。
控制变量研究跨模态Transformer:该论文利用三种不同设置研究跨模态Transformer的功能:1)14层动作transformer;2)13层动作/音频transformer和1层跨模态Transformer;3)2层动作/音频transformer和12层跨模态Transformer。下表3表明跨模态Transformer对于生成与输入音乐关联性强的动作至关重要。
如图6所示,更深的跨模态Transformer能够更加关注输入音乐,从而带来更好的音乐-动作关联度。因果注意力或完全注意力Transformer:研究者还探索了完全注意力机制和future-N监督机制的效果。从下表4中可以看出,在使用因果注意力机制执行20秒长程生成时,生成动作和真值动作的分布差异很大。
对于future-1监督设置下的完全注意力机制而言,长程生成期间的结果会出现快速漂移,而在future-10或future-20监督设置下,模型可以生成高质量的长程动作。