作者:Yifei Liu等 论文题目:Towards Variable and Coordinated Holistic Co-Speech Motion Generation 来源:CVPR2024 论文链接:https://arxiv.org/abs/2404.00368 内容整理:王怡闻 这篇论文研究了语音驱动的全身语音运动的问题,重点关注了两个关键方面:变化性和协调性。变化性是指即使是在相似的语音内容驱动下,模型仍可以展示出丰富的运动,而协调性则确保面部表情、手势和身体姿势之间的和谐对齐。ProbTalk旨在联合建模语音中的面部、手部和身体运动。ProbTalk建立在变分自动编码器(VAE)架构之上,并且融合了三个核心设计。首先,我们引入了PQ到VAE中,丰富了复杂整体运动的表示。其次,我们设计了一种新颖的非自回归模型,将2D位置编码嵌入到量化表征中,从而保留了表征的基本结构信息。最后,我们采用了一个辅助模型来优化初步预测,进一步丰富了动作的细节内容。这三个设计的结合使ProbTalk能够生成自然和多样化的全身语音运动,优于几种最先进的方法。
用语音驱动来生成逼真的全身动作对于提供更沉浸式和互动式用户体验至关重要。这个任务引起了相当多的研究兴趣。Habibie等人提出的早期方法使用确定性回归模型将语音信号映射到整体动作。虽然在某些方面有效,但相同的语音内容会生成相同的动作,生成效果不够自然。为了改进这一点,TalkSHOW提出了一种混合方法,使用确定性建模来处理面部表情,使用概率建模来处理手势和身体动作。尽管TalkSHOW在身体姿势方面取得了更多的多样性,但仍然存在面部运动的多样性不足的问题。此外,TalkSHOW中使用的分离建模策略可能会导致不同身体部位之间的协调不够流畅。为了解决这些挑战,我们提出了ProbTalk,这是一个基于变分自动编码器(VAE)架构的新框架,包括三个核心设计。首先,我们将PQ应用于VAE。PQ将整体运动的潜在空间划分为多个子空间进行单独量化。PQ-VAE的构成性质提供了更丰富的表示,使得复杂的整体运动可以用较低的量化误差来表示。其次,我们设计了一种新颖的非自回归模型,将MaskGIT和2D位置编码集成到PQ-VAE中。MaskGIT是一种训练和推断范式,它同时预测所有latene code,显著减少了推断所需的步骤。2D位置编码考虑了PQ引入的额外维度,有效地保留了latene code中时间和子空间的二维结构信息。最后,我们使用一个refinement来细化初步预测的动作。这三个设计的结合使ProbTalk能够生成自然和多样化的全身语音运动,优于几种最先进的方法。
图1
图2
我们将一系列的全身运动表示为
,其中
为序列长度,每个单独的姿势
由6D SMPL-X参数表示。相应的语音音频使用wav2vec 2.0编码器进行编码,得到一系列音频特征
。
给定一个整体运动序列
,我们的目标是通过学习一个离散表示来重构运动序列,以捕捉整体运动的复杂变化。经典的VQ-VAE包括一个自动编码器和一个离散codebook,后者学习捕捉自动编码器的潜在空间中的数据模式。由于codebook组合的限制,VQ-VAE表示多样化数据模式的能力受到了相当大的量化误差的限制。受之前研究的启发,我们引入了一种PQ方法来解决这一挑战。具体来说,PQ将潜在空间划分为
个单独的子空间,每个子空间由一个单独的子codebook表示。我们将第
个子codebook表示为
。类似地,潜在特征
被划分为
个子特征
,然后与其相应的codebook独立量化:
其中,
表示码书
中第
个码的嵌入,
表示每个码的嵌入的维度。然后,量化的子特征
被送到解码器进行合成。与经典的矢量量化相比,PQ具有更大的表示能力。例如,假设VQ和PQ具有相同的内存成本,它们各自的码书组合的大小分别为
和
,其中
(在我们的情况下,
)。这意味着PQ可以处理指数级别更大的数据模式,且在相同的内存成本下减少量化误差。通过在VAE中利用PQ,我们可以有效地捕捉整体运动的复杂多样性。
尽管PQ-VAE显著增强了表示复杂整体运动的能力,并降低了量化误差,但PQ-VAE引入的较长的潜在码序列需要更多的推断步骤,从而降低了效率。此外,对跨时间序列和子空间的复杂关系进行建模并不直观。因此我们将MaskGIT和2D位置编码集成到PQ-VAE中以解决这些问题。
由于PQ-VAE增加了码序列的长度,导致推断步骤增加,降低了推断效率。受MaskGIT的启发,我们设计了一个类似于MaskGIT的预测器,以解决这个问题。该预测器首先同时生成所有码,然后在推断时根据先前生成的码迭代地对码进行细化。
在每个训练迭代中,我们首先从PQ-VAE中获取一系列伪GT码
,表示为one-hot向量。随后,我们随机采样一个二进制掩码
,其中值为0表示
中对应的元素应该被替换为一个不同的[MASK]码。这个过程可以用公式
表示,其中
是[MASK]的索引向量。然后,预测器被训练来基于条件和未屏蔽的码来预测缺失的码。随后,预测器生成码的logits
,考虑了多模态输入,包括音频
,运动上下文
和身份
,以及掩码码序列
:
然后,我们使用交叉熵损失
来优化我们的预测器:
在推断过程中,我们的模型在每次迭代中并行预测所有码。然而,它只保留最自信的那个预测,并将其余的码掩码,以便在下一次迭代中重新预测。这个迭代过程会一直持续,直到所有的码都被准确地生成。
传统的Transformer模型通常将输入和输出数据表示为一维序列,并加入一维的位置编码来指示每个元素的确切位置。然而,这种方法经常忽视了多维数据配置中固有的明确关系动态。在我们的具体背景下,复杂的二维结构相关性跨越了时间序列和各种子空间,当PQ码被线性化为一维连续体时,这些相关性可能会变得模糊或不太容易获取。因此,将PQ码转换为一维格式需要模型经历一个复杂的重新学习过程,以重新解码和理解这些相互关系。
为了避免这种对多维关系清晰度的丧失,我们设计了一个双向位置编码策略来保持PQ码的原始结构完整性。这种双重编码模式有助于模型保留和理解代码之间复杂的关系相互作用。对于第g个子空间的第n个代码,二维位置编码
通过将时间编码
和空间编码
相加而得到:
和
都是通过正弦和余弦函数实例化的。这种时间和子空间编码的综合旨在在Transformer模型的操作框架内保持数据的多维特征的稳定表示。
初始估计的动作描绘了运动的整体风格,朝向变化和协调,但忽略了捕捉高频细节,特别是面部运动中的快速过渡。为了进一步改善初步动作,我们引入了一个运动细节优化模块,利用确定性的序列到序列模型来优化初步动作。这种方法有效地捕捉了复杂且快速移动的运动细节,从而提高了初步动作的准确性,并实现了与音频更精确的同步。Refiner具有与Predictor相似的网络结构,但不包含类MaskGIT建模和2D位置编码。Refiner接受组合的动作
,输入音频
,掩码
和说话者身份
作为输入,并输出优化后的动作
:
组合动作
是运动上下文
和初步动作
的组合:
这里,
是通过向所需的运动前缀或后缀添加零来生成的,以适应我们模型的需求。另一方面,
来自于PQ-VAE解码器的输出,该解码器以预测的PQ码作为输入。
最后,我们的框架设计支持多模态条件。我们将除音频之外的其他模态,如运动上下文,纳入我们的Predictor和Refiner模型中,如图3所示。这使我们能够促进运动完成和编辑。另外,由于说话者经常展现出不同的运动风格,我们利用说话者身份的模态来区分这些风格。
图3
选取了FGD,Var和FPS作为参考指标,分别用来衡量模型的真实度、多样性和实时性。
表1
表2
在本研究中,我们引入了ProbTalk,这是专门设计来解决共同语音运动生成中整体身体可变性和协调性挑战的第一种方法。我们方法的第一步是将PQ引入到VAE中,这显著增强了复杂的整体运动的表示。接下来,我们开发了一种独特的非自回归模型,集成了2D位置编码,从而实现了高效和有效的推断。最后,我们利用第二阶段来细化初始预测,从而提高了高频细节的丰富程度。实验结果验证了我们的方法在定性和定量方面都达到了最先进的性能水平。