来源:CVPR 2023 论文题目:MoFusion: A Framework for Denoising-Diffusion-based Motion Synthesis 论文链接:https://arxiv.org/abs/2212.04495 论文作者:Rishabh Dabral 等人 内容整理: 林宗灏 本文提出了一种基于去噪扩散的、用于高质量人体动作条件合成的框架 MoFusion,该框架可以根据一系列条件上下文(例如文本、音乐)合成时间上可信、语义上准确的长动作序列。此外,本文提出加权策略将运动学损失引入动作扩散框架,提高了动作的可信度。在 AIST++ 和 HumanML3D 数据集的定量评估以及用户研究展示了 MoFusion 相对于 SOTA 基准方法的有效性。
图 1:MoFusion 可根据文本或音频输入合成 3D 人体动作长序列。我们的模型大大提高了通用性和真实性,并能以文本和音频等模态为条件。即使音乐不在训练数据分布之中,生成的舞蹈动作仍与条件音乐节奏相匹配。
传统人体运动合成方法要么是确定性的,要么是在动作的多样性和质量上进行权衡。针对这些局限性,我们提出了 MoFusion,即一种基于去噪扩散的、用于高质量人体动作条件合成的新框架。MoFusion 可以根据一系列条件上下文(例如文本、音乐)合成时间上可信、语义上准确的长动作序列。我们还介绍了如何通过加权策略,在动作扩散框架中引入运动学损失,以提高动作的可信度。我们分析了动作合成的两个相关子任务:音乐条件的编舞生成和文本条件的动作合成,通过对 AIST++ 和 HumanML3D 数据集的定量评估以及用户研究,我们展示了 MoFusion 相对于 SOTA 基准方法的有效性。本文的主要贡献总结如下:
图 2:3D 动作合成的扩散。在前向扩散过程中,我们反复向
时的初始动作添加高斯噪声。我们训练神经网络
以根据条件信号去噪
时刻的含噪动作。
动作生成任务表示为一个反向扩散的过程,需要从噪声分布中采样一个随机噪声向量
以生成一个有意义的动作序列(如图 2 所示)。在训练过程中,前向扩散过程以马尔可夫的方式在 T 个时间步内连续向动作序列中添加高斯噪声,其结果是将训练集中有意义的动作序列
转换为噪声分布
:
其中,
为向时间步
的动作中加入高斯噪声的马尔可夫扩散核,
是控制扩散率的超参数。在实践中,利用重参数化技巧:
其中,
是随机噪声,
。当
足够大时,可以认为
。
为了从随机噪声
中生成动作序列,我们需要在
个时间步内迭代反向扩散
。反向扩散表示为:
其中,
由神经网络学习函数
来近似。对于条件合成的情形,网络还受条件信号
的影响,即
。
训练 MoFusion 的总体损失是两大类损失的加权和:
其中,
是正向扩散噪声
与估计值
之间的 L2 距离。
虽然能够近似底层的数据分布,但并不能保证合成的动作在物理和解剖学上是可信的。因此,我们引入了时变权重方案,对于损失项
设置权重
,以确保
时的运动权重相对
时呈指数级下降,从而稳定训练过程。
在
中,我们使用骨架一致性损失
确保合成的动作中的骨骼长度在不同时间保持一致:
其中,
是平均骨骼长度向量。然后,我们使用解剖学约束
来对骨骼长度的左右不对称进行惩罚:
其中,
计算输入关节之间的骨骼长度,
提供相应对称关节的索引。最后,我们加入了真值监督:
图 3:含多头注意力跨模态 Transformer 块的 1D U-Net 架构示意图。该网络的输入是时间步
下的噪声动作样本,输出是噪声
的估计值。此外,它还可以以音乐或文本为条件。在这两种情形下,我们学习一个投影函数将条件特征映射至 1D U-Net 特征。
受 1D 卷积网络在动作合成与姿态估计中成功应用的启发,我们使用 1D U-Net 来近似
。如图 3 所示,三个下采样块将特征长度从
减少至
,然后使用上采样块进行上采样。每一个 1D 残差块之后都有一个跨模态 Transformer 块将条件上下文
纳入网络。时间嵌入以正弦时间嵌入通过两层 MLP 生成。为了结合上下文,我们使用中间残差运动特征来得到查询向量,使用条件信号来计算键值向量。
音乐-舞蹈合成
为了将网络条件于音乐信号,我们选择使用 Mel 频谱表示,让上下文嵌入层来学习学习在 U-Net 特征空间上的合适投影。理论上,这也允许我们的方法在其他音频(如语音)上进行训练。为了提取 Mel 频谱,我们将音频信号重采样至 16kHz 并将其转换为具有80个 Mel 频段的对数 Mel 频谱。我们使用线性层将输入 Mel 频谱投影至上下文嵌入
。
文本-动作合成
为了从文本描述中合成动作,我们使用预训练的 CLIP 嵌入。我们首先检索输入中每个单词的 token 嵌入,然后对这些 token 嵌入进行位置编码并送入 CLIP Transformer,最后使用 MLP 投影至上下文嵌入
。
表 1:我们的方法与以往方法的比较。我们在节拍配准得分和多样性方面都达到了 SOTA 水平。与 Bailando 不同,我们没有明确使用 BAS 作为奖励或损失函数来训练我们的方法。
表 2:我们的方法与以往方法在 HumanML3D 上的比较。
图 4:给定文本生成不同动作的示例。请注意动作方向的变化以及姿态的不同。
图 5:基于真实度和语义指标的用户研究结果。每个条形表示用户对 MoFusion 生成的动作相较其他动作的偏好程度。