music-to-dance系列论文之DanceFormer

摘要

1)将舞蹈生成视为一个两阶段过程,关键姿态生成和中间参数运动曲线预测
2)提出了一个DanceFormer方法,利用两个级联的运动学增强的transformer模型(DanTrans)分别解决两个阶段任务。
3)提出了一个大规模3D舞蹈数据集PhantomDance,它是由丰富的动画师标记的,而不是通过运动捕捉或者重建获得的。

介绍

相关工作

3D舞蹈合成
3D舞蹈数据集

PhantomDance数据集

数据收集

在视频网站上收集了超过100个不同主题的260个流行舞蹈视频,由一组动画师制作3D舞蹈动画,包括关键姿态序列和参数运动曲线

数据格式

为所有260个运动文件提供了一个主体不变的3D人类骨骼表示,具有统一的肢体长度。运动被参数化为根节点位置的参数曲线和24个骨骼关节点的旋转。对于每个序列,我们将第一帧坐标系上的根位置作为三维坐标的原点。旋转用四元数表示。也就是说,每个运动文件中有3+4×24 = 99条曲线。每个参数运动曲线表示为从与提取的音乐节拍同步的标记关键姿态插值的柯切内克-巴特尔斯样条,其中相邻两个关键姿态之间的曲线段可以由一组固定的参数控制。

与其他数据集的对比

在这里插入图片描述
数据集公开地址:https://huiye-tech.github.io/post/danceformer/(需要额外申请)

DanceFormer

在这里插入图片描述
DanceFormer包括两阶段的舞蹈生成框架:每个阶段包括一个DanTrans模块,第一个DanTrans负责生成关键姿态,第二个DanTrans预测两个邻接关键姿态间的运动曲线参数。每个DanTrans模块又包括一个波形编码器和一个运动解码器,波形编码器与transformer编码器形态相似,运动编码器特殊之处在于包含一个运动传播模块(KPM)和一个结构化多头注意力模块(SMAM),增强了基于人体运动学拓扑关系的舞蹈生成过程之间的运动相关性。

关键姿态生成

关键姿态的定义:在节拍(beats)上的姿态,通过每个骨骼节点的位置和旋转四元数表示(3+4)*24=168
输入音乐特征:以每个节拍为中心的窗口之间的音乐频谱特征,包括40维MFCC特征

参数运动曲线预测

运动曲线的定义:运动曲线定义为一组随时间变化的变换参数,这组变换参数是每个关节点的3维平移和四维旋转参数。作者提出利用TCB样条线来建模每一组运动曲线,包括3个参数:张力t,偏置b,连续性c,以及两个中间结点的位置

DanTrans网络结构

DanTrans与标准transformer具有相近的网络结构,不同之处在于motion decoder部分应用了KPM和SMAM模块。
在这里插入图片描述

Kinematic Propagation Module

KPM模块是在人体结构基础上构建的,即以树拓扑结构组织的24个骨骼关节节点。此模块包括FK-IK blocks。
FK-IK block包括一个前向运动学(forward kinematic)特征传递和反向运动学(inverse kinematic)特征传递。前向运动学特征传递首先在根节点上进行特征嵌入,然后将特征通过运动学骨骼链传递到相邻的子节点。子节点从父节点接收到特征后,进行特征融合,然后利用线性投影实现特征嵌入。(如图示,拼接操作实现特征融合,fc层负责实现特征嵌入)IK模块则是从子节点反向传递特征到父节点。
对于运动解码器开始时的输出嵌入过程,作者提出使用一个带有一个FK-IK块的KPM。对于中间层,则是对每个KPM采用两个FK-IK块。

Structured Multi-Head Attention

KPM输出的特征关节节点排列,在该模块中充当注意力机制的多个头(head),输入音乐通过波形编码器获得编码特征作为values和keys。在经过多头注意力计算后的特征不需要额外拼接,为了保持身体结构,然后直接输入到下一步的KPM模块中。

Training objective

利用对抗训练策略,将每一个DanTrans网络视为一个独立的生成器,并训练两个判别器来判断生成序列和真实值是否对齐。(即生成关键姿态和生成运动参数两部分)每个判别器由两个模块处理音乐特征和输出关键姿态序列(stage 1)或者运动曲线参数(stage 2),输出特征进行拼接并输入到二值分类器来判断输出的真实性。对于生成器部分,使用 l 2 l_2 l2重构损失保证输出质量。

实验

实验细节

将260个舞蹈动画分成1000个序列,其中利用900段音乐-舞蹈对实现模型训练,另外100作为测试。为了收集训练舞蹈前的地面真实标签,作者使用节拍跟踪算法从提供的姿态序列中提取节拍并拟合参数运动曲线。

评价指标

Normalized Power Spectrum Simularity(NPSS)
与均方误差(MSE)相比,它是长期运动合成的一个评价度量。
在这里插入图片描述
在这里插入图片描述
其中, X i , j [ f ] X_{i,j}[f] Xi,j[f] Y i , j [ f ] Y_{i,j}[f] Yi,j[f]表示真实值和预测值的离散傅里叶变换系数的平方幅度谱。对其进行归一化并计算得到EMD距离,进一步可得NPSS。

Frechet Distance(FD)
利用Frechet Inception Distance(FID)来计算生成动作和真实动作之间的距离分布(越小越好)。
F I D g FID_g FIDg F I D k FID_k FIDk指标:利用几何特征提取器生成一个布尔向量用以表达在运动序列中某些身体关键点之间的几何关系;一个运动学特征提取器将速度和加速度信息映射到运动序列。

Position Variance(PVar)
用于评价动作的多样性

Beat Consistency Score(BC)
用于评价运动和音乐之间的关联性,计算每个音乐节拍与其最近的运动学节拍之间的平均距离。
在这里插入图片描述

消融实验

曲线预测的有效性:为了评估曲线预测的有效性,从数据中采样6fps的姿态序列,并使用标准Transformer来直接预测序列。实验证明了本文提出的两阶段pose-to-curve框架的有效性。
KPM模块的有效性:为了验证KPM模块的有效性,作者将它替换为标准transformer中的前向模块,实验结果显示KPM在运动生成质量上有显著提升。进一步,作者将它利用两层图神经网络替换,该GNN根据关节结构所定义的无向图的邻接矩阵来融合关节特征。实验结果证明,GNN比线性前向方法表现更好,证明了建模空间关联性更助于模型的学习。KPM进一步超过了GNN,证明了设计空间关联性和物理约束能够显著提升效果。
注意力的变体:作者发现在运动序列生成任务中,局部注意力比全局注意力更适用。因此采用全局注意力,固定帧数的局部注意力,高斯掩膜后的注意力以及学习得到的注意力掩膜这四种方法,实验证明效果随着注意力的局部关注能力变得更好。

对比实验

对比方法,分定量和定性对比
AI Choreographer(AI Choreographer: Music Conditioned 3D Dance Generation with AIST++)
Li et al. (Learning to Generate Diverse Dance Motions with Transformer)
Music2Dance(Music2dance: Music-driven dance generation using wavenet)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值