NTU S-Lab等提出基于GPT的3D舞蹈生成新框架(CVPR 2022 Oral)

关注公众号,发现CV技术之美

本篇文章分享 CVPR 2022 Oral 论文『Bailando: 3D Dance Generation by Actor-Critic GPT with Choreographic Memory』,由 NTU S-Lab 等提出基于 GPT 的 3D 舞蹈生成新框架。

详细信息如下:

7ca1665b9feb870da1c0623c0daa37e2.png

  • 论文链接:https://arxiv.org/abs/2203.13055

  • 项目链接:https://github.com/lisiyao21/Bailando

      01      

问题背景

近些年,虚拟主播产业逐渐变得火爆,虚拟人物的表演受到越来越多人的喜爱。驱动3D虚拟人物根据音乐跳舞也成为了非常热门的研究课题。

然而,想要自动化地为一段音乐配舞仍然是个非常困难的任务。其中难点有两个:

第一,舞蹈在空间上有一定规则和范式,并非是所有所有物理上可行的 3D 人体姿势都适用于舞蹈。舞蹈通常有着对身体有更严格要求的姿态标准,并且要具有表现力和感染力。我们可以随意产生一段人体姿态,但如果生成的姿态东倒西歪,就无法达到舞蹈的标准。

第二,生成的舞蹈动作,要在时间上同音乐保持连贯。舞蹈动作应该保持流畅,且能与不同节拍的音乐保持节奏一致。

大多数现有的舞蹈生成研究都试图设计一个巧妙的神经网络,把音乐信号直接映射到高维连续空间中的3D人体关键点序列[1, 2, 3, 4]。但是,此类方法在实践中通常不够稳定,比如经常会出现僵住或轻微的乱晃。这是因为,这些映射的目标空间,没有被显示地约束为符合舞蹈标准的子空间,因此容易回归到不符合舞蹈标准的姿态。

为了达到舞蹈的空间姿态标准,一些研究工作收集了很多真实舞蹈动作的片段,并通过拼接这些片段,编排成新的舞蹈[5]。虽然这种方法可以通过直接操作真实数据保证生成的舞蹈的空间质量,但收集、剪裁这些舞蹈片段需要巨大的人工工作量。更关键的是,因为每一段舞蹈片段的时长、速度以及对应音乐的节奏是固定的,因此,没有办法复用于其他速度和节奏的音乐。比如,对应4/4拍音乐的片段可能无法被用于3/4拍的音乐,每分钟80拍的没法适用于每分钟60拍的。对于不同速度和节奏的音乐,这种方法就很难保证上述的时间一致性。

针对这两个难点,我们提出了一个“两阶段”的编舞框架Bailando。在第一阶段,我们利用量化自编码器(VQ-VAE)将符合空间标准的舞姿编码和量化到一个名为“舞蹈记忆”的编码本中;在第二阶段,我们利用生成预训练Transformer(GPT)将音乐转换为视觉上令人满意的舞蹈。我们还进一步通过引入评论家网络给生成的舞蹈打分,以指导 GPT 编排出与背景音乐节奏具有时间一致性的舞蹈动作。

      02      

提出的方法

2.1 针对舞蹈序列的VQ-VAE和编舞记忆

与之前的方法不同,我们不学习从音频特征到 3D 关键点序列的连续域的直接映射。相反,我们先让神经网络“观看”大量的舞蹈数据,自己从里面“总结”出有意义的舞蹈元素,并且记录下来成为“编舞记忆”。编舞记忆中,每个元素都是从专业舞蹈中提取的符合空间要求的标准舞姿。

具体来说,我们设计了一个针对人体姿态序列的VQ-VAE(Vector Quantized Variational Auto-Encoder)网络,对舞蹈数据的姿态序列进行编码和量化到一个编码本Z中。

d8e9e2d897cae0d240c41d97989b1ff4.png

Z表示VQ-VAE的量化编码本,即“编舞记忆”,其中每一个元素都代表着一个标准的舞姿。为了使舞蹈记忆能涵盖更广泛的舞蹈动作,我们对舞蹈动作的上下身用独立的VQ-VAE进行学习,分别得到上下半身的编码本,并对上下半身进行组合式的拼接。我们还单独学习一个网络分支Dv,用于预测人体关键点的整体位移。 

训练VQ-VAE的损失函数分为:

9ec21959f0276a84ea98f27a331e8996.png

其中,重构函数不仅考虑到对关键点位置P的重构,还考虑到对一阶(速度)和二阶(加速度)导数的重构。

d3096cbcdd4308d31feaeca7107d2a65.png

2.2 动作GPT (motion GPT)

在我们从舞蹈数据中总结出了标准的舞姿库“编舞记忆”后,编舞的任务就变成了对音乐的每一时刻,选择一个合适的舞姿与之对应。这一步我们用到了GPT(Generative Pretrained Transformer)。

4bb0583c59c174d9764ff635af561ffb.png

对于每一时刻t,GPT根据0到t-1时刻的音乐(m)、上半身(u)和下半身(l)信息来预测t时刻的上、下半身舞姿,并对每一个存在编舞记忆中的舞姿计算一个概率。而GPT的学习则是通过对预测的概率与真实动作之间的Cross-Entropy损失函数进行优化。

2.3 “演员-评论家”(Actor-Critic)学习

GPT的训练是直接而有效的。然而,这个框架有一个弊端,即很难向损失函数中加入一些人工定义的正则化项(比如希望让生成的舞蹈更加符合音乐节拍),因为GPT的学习的对象是舞姿在编舞记忆中的编号。为了解决这个问题,我们采用了一种名为“演员-评论家”的强化学习框架。

具体来说,我们把GPT前3层视作一个表示当前状态的“状态网络”,后几层视作一个产生“动作”的“演员网络”,并单独引入一个新的GPT分支作为“评论家网络”。评论家网络的打分和人工设计的奖励函数R,将决定GPT生成的舞蹈是好的(应该鼓励),还是不好的(应该避免),并通过对相应损失函数的优化提升GPT的效果。

36db4d43e02dbda9a7a18ecc1723bcd8.png

      03      

实验结果

3.1 对比实验

我们在AIST++ 数据集上分别对比了Bailando和其他模型的效果,如下表所示,可以看到Bailando相比于已有的方法的有很大优势。

236a8f63f906832d3eefc8e469a5d464.png

以下是一些对比实验的视频:

3.2 消融实验

为了验证每个模块的效果,我们进行了各种消融实验,实验结果也验证了我们提出的每个模块的有效性:

f37591cc17838cfe4615092bbcb453e6.png

以下是消融实验的对比视频:

3.3 为现实音乐伴舞

AIST++的音乐和现实中的音乐有一定差异(比如,没有歌词),但我们依然可以产生还不错的结果:

      04      

总结

在本文中,我们提出了一个名新的3D舞蹈生成框架Bailando,来解决舞蹈生成任务中的空间和时间挑战。该框架由一个通过编码和量化舞蹈动作来解决空间约束的“编舞记忆”,和一个让合成的舞蹈与音乐的保持时间一致性的“演员-评论家” GPT 组成。我们提出的方法不仅在标准数据集AIST++上获得了最好的定量结果,并且在对用户的主观调研中获得了相较其他方法更高的评价。

Bailando的相关代码目前已经开源,欢迎各位同学使用和交流。

  • 论文链接:https://arxiv.org/abs/2203.13055

  • 项目链接:https://github.com/lisiyao21/Bailando

MMLab@NTU

https://www.mmlab-ntu.com/

参考文献

[1] Jiaman Li, Yihang Yin, Hang Chu, Yi Zhou, Tingwu Wang, Sanja Fidler, and Hao Li. Learning to generate diverse dance motions with transformer. arXiv, abs/2008.08171, 2020.

[2] Zijie Ye, Haozhe Wu, Jia Jia, Yaohua Bu, Wenting Chen, Fanbo Meng, and Yanfeng Wang. Choreonet: Towards music to dance synthesis with choreographic action unit. ACM MM, 2020.

[3] Ruozi Huang, Huang Hu, Wei Wu, Kei Sawada, and Mi Zhang. Dance revolution: Long sequence dance generation with music via curriculum learning. ICLR, 2020.

[4] Ruilong Li, Shan Yang, D A Ross, and Angjoo Kanazawa. Learn to dance with aist++: Music conditioned 3d dance generation. ICCV, 2021

[5] Chen Kang, Zhipeng Tan, Jin Lei, Song-Hai Zhang, Yuan-Chen Guo, Weidong Zhang, and Shi-Min Hu. Choreomaster: Choreography-oriented music-driven dance synthesis. In SIGGRAPH, 2021

作者信息

李思尧 | 南洋理工大学 S-Lab 一年级博士生,导师是Chen Change Loy副教授。以一作身份发表3篇顶会论文,曾连续获得ICCV 2019、ECCV 2020 AIM视频插帧赛道冠军。目前主要研究兴趣为内容生成。

7db22ef69fd95d056a283a4b0fc4eabe.png

END

加入「姿态估计交流群👇备注:pose

ae07475593fa94e97e93de322c33870a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值