DreamTalk: When Expressive Talking Head Generation Meets Diffusion Probabilistic Models

DreamTalk是一个基于扩散的音频驱动的富有表现力的说话头生成框架,可以生成不同说话风格的高质量的说话头视频。DreamTalk对各种输入表现出强大的性能,包括歌曲、多语言语音、噪声音频和域外肖像。

项目主页:https://dreamtalk-project.github.io/

论文地址:https://arxiv.org/pdf/2312.09767.pdf

Github地址:https://github.com/ali-vilab/dreamtalk

摘要

DreamTalk利用扩散模型生成表情丰富的说话头像。该框架包括三个关键组件:去噪网络、风格感知的唇部专家和风格预测器。去噪网络能够生成高质量的音频驱动面部动作,唇部专家能够提高唇部运动的表现力和准确性,风格预测器能够直接从音频中预测目标表情,减少对昂贵的风格参考的依赖。实验结果表明,DreamTalk能够生成逼真的说话头像,超越现有的最先进的对手。

简介

音频驱动的说话头生成是一种将肖像与语音音频动画化的技术,它在视频游戏、电影配音和虚拟化身等领域引起了广泛关注。生成逼真的面部表情对于增强说话头的真实感至关重要。目前,生成对抗网络(GANs)在表达性说话头生成方面处于领先地位,但其存在的模式崩溃和不稳定训练问题限制了其在不同说话风格上的高性能表现。扩散模型是一种新的生成技术,近年来在图像生成、视频生成和人体动作合成等领域取得了高质量的结果。然而,目前的扩散模型在表达性说话头生成方面仍存在问题,如帧抖动问题。因此,如何充分发挥扩散模型在表达性说话头生成方面的潜力是一个有前景但尚未开发的研究方向。

DreamTalk是一个表情丰富的说话头生成框架,利用扩散模型提供高性能和减少对昂贵的风格参考的依赖。它由去噪网络、风格感知的嘴唇专家和风格预测器组成。去噪网络利用扩散模型产生具有参考视频指定的说话风格的音频驱动的面部动作。风格感知的嘴唇专家确保准确的嘴唇动作和生动的表情。风格预测器通过音频直接预测个性化的说话风格。DreamTalk能够在各种说话风格下一致生成逼真的说话头,并最小化对额外风格参考的需求。它还能够灵活地操纵说话风格,并在多语言、嘈杂音频和领域外肖像等各种输入下展现出强大的泛化能力。通过全面的定性和定量评估,证明了DreamTalk相比现有的最先进方法的优越性。

相关工作

两种人工智能生成人物头像的方法:音频驱动和表情驱动。音频驱动方法分为个人特定和个人不确定两种,前者需要在训练时指定演讲者,后者则可以为未知演讲者生成视频。表情驱动方法早期采用离散情感类别模型,后来采用表情参考视频进行表情转移。然而,这些基于GAN的模型存在模式崩溃问题。本文提出了一种使用扩散模型的方法,可以从输入音频和肖像中推断出个性化和情感表达。扩散模型在多个视觉任务中表现出色,但之前的尝试在生成表情时只能产生中性情感的头像。本文提出的方法可以生成更具表现力的头像,而且可以从输入音频中推断出演讲风格。

DreamTalk

DreamTalk由3个关键组件组成:去噪网络,风格感知唇形专家和风格预测器。去噪网络根据语音和风格参考视频计算人脸运动。人脸运动被参数化为来自3D形变模型的表情参数序列。人脸运动由渲染器渲染成视频帧。风格感知唇形专家提供不同表情下的唇动指导,从而驱动去噪网络在保证风格表现力的同时实现准确的唇形同步。风格预测器可以预测与讲话中传达的风格一致的说话风格。

去噪的网络。去噪网络以滑动窗口的方式逐帧合成人脸运动序列。它使用音频窗口预测运动帧。音频窗口首先被馈送到基于transformer的音频编码器中,输出与信道维度的噪声运动级联。线性投影到相同维度后,将拼接结果和时间步长t求和,作为transformer解码器的键和值。为了从风格参考中提取说话风格,风格编码器首先提取3DMM表情参数序列,然后将它们输入transformer编码器。使用自注意力池化层聚合输出标记,以获得风格代码。风格代码重复2w + 1次,并添加位置编码。结果作为transformer解码器的查询。解码器的中间输出令牌被馈送到前馈网络以预测信号。

风格感知唇形专家。我们观察到,仅使用标准扩散模型中的去噪损失会导致不准确的唇动。为解决这个问题,本文提出一名风格感知的唇形专家。该唇部专家经过训练,可以评估不同说话风格下的口型同步。因此,它可以在不同的说话风格下提供唇动指导,更好地在风格表现力和口型同步之间取得平衡。嘴唇专家E根据风格参考R计算一段音频和嘴唇运动同步的概率:

具有风格感知的唇部专家将唇动和音频编码为以风格参考为条件的各自嵌入,然后计算余弦相似度以表示同步概率。为了从人脸运动中获取唇动信息,首先将人脸运动转换为相应的人脸网格,并选择嘴巴区域的顶点作为唇动表示。首先使用风格编码器从风格参考中提取风格特征,该特征反映了去噪网络中的风格结构,然后将风格特征与嵌入编码器的中间特征图连接起来,从而将风格条件融合到嵌入网络中。

风格的预测。风格预测器预测由训练的去噪网络中的风格编码器提取的风格代码。观察说话人身份和风格代码之间的相关性,风格预测器还将肖像作为输入进行集成。风格预测器被实例化为扩散模型,并被训练来预测风格代码本身:

风格预测器是序列上的transformer编码器,序列按顺序包括:音频嵌入,扩散时间步的嵌入,说话人信息嵌入,噪声风格代码嵌入,和一个称为learned query的最终嵌入,它的输出用于预测无噪声风格代码。音频嵌入是使用自监督预训练语音模型提取的音频特征。为获得说话人信息嵌入,该方法首先提取了3DMM身份参数,其中包括人脸形状信息,但从肖像中删除了表情等无关信息,然后使用MLP将其嵌入到token中。

训练和推理

训练。首先,通过确定随机采样的音频和唇动剪辑是否像中那样同步,对风格感知的唇动专家进行预训练,然后在训练去噪网络期间进行冻结。

去噪网络是通过从数据集中抽样随机元组来训练的,优化损失:

具体来说,从同一时刻的训练视频中提取地面真实运动和语音音频窗口。样式引用是从同一个视频中随机抽取的视频片段。

我们首先计算扩散模型的去噪损失定义为:

然后,去噪网络通过对生成的片段进行同步损失来最大化同步概率:

使用无分类器指导的进行模型训练。对于推理,预测信号由一下公式计算:

该方法通过调节比例因子ω来控制风格参考R的效果。

当训练风格预测器时,我们抽取一个随机视频,然后从中提取音频和风格代码。由于3DMM身份参数可能会泄露表情信息,因此从具有相同说话人身份的另一个视频中采样肖像。样式预测器通过优化损失值来训练:

利用PIRenderer作为渲染器,并对其进行精心微调,使渲染器具有情感表达生成能力。

推理。本方法可以使用参考视频或仅通过输入音频和肖像来指定说话风格。在参考视频的情况下,使用去噪网络中的风格编码器导出风格代码。当仅依赖输入的音频和人像时,这些输入由风格预测器处理,采用去噪过程来获得风格代码。

有了风格代码,去噪网络利用DDPM的采样算法产生人脸运动。它首先对随机运动进行采样,然后计算去噪序列。最后,生成人脸运动。利用DDIM可以加速采样过程。然后,渲染器PIRenderer将输出的人脸运动渲染为视频。

实验

实验设置

数据集。我们在MEAD、HDTF和Voxceleb2上训练和评估去噪网络。风格感知唇形专家使用MEAD和HDTF训练。我们在MEAD上训练风格预测器,并在MEAD和RAVEDESS上对其进行评估。

基线。我们与以下方法进行对比:MakeitTalk、Wav2Lip、PCAVS、AVCT、GC-AVT、EAMM、StyleTalk、DiffTalk、SadTalker、PDFGC、EAT。

指标。使用了广泛使用的指标:SSIM[88]、模糊检测的累积概率(CPBD)、SyncNet置信度分数(Sync conf)、嘴巴区域周围的地标距离(M-LMD)、全脸地标距离(F-LMD)。

结果

定量比较。本方法在大多数指标上优于先前的方法,尤其在精确的嘴唇同步和生成与参考说话风格一致的面部表情方面表现出色。

定性比较。与其他方法相比,MakeItTalk和AVCT在准确的嘴唇同步方面存在困难,Wav2Lip和PC-AVS的输出模糊不清,SadTalker在嘴唇运动方面有时显示出不自然的抖动。EAT的能力仅限于生成离散的情绪,缺乏细腻的表达。EAMM、GC-AVT、StyleTalk和PD-FGC能够产生细致的表情,但EAMM在嘴唇同步方面表现不佳,GC-AVT和PDFGC在保持说话者身份方面有困难,而且三者都存在渲染合理背景的问题。StyleTalk能够生成细致的表情,但有时会减弱强度并且无法准确地生成某些单词的嘴唇运动。DiffTalk在嘴唇同步方面存在困难,并且在嘴部区域引入抖动和伪影。DreamTalk在生成逼真的说话人脸方面表现出色,不仅能够模仿参考说话风格,还能实现精确的嘴唇同步和优质的视频质量。

泛化能力。本方法还展示了在不同领域的肖像、各种语言的语音、嘈杂的音频输入和歌曲中生成逼真的说话头视频的能力。

说话风格预测结果。本方法能够准确识别细微的表情差异,并根据原始视频中观察到的个性化说话风格进行预测。

消融分析

本文通过消融实验分析了设计的贡献,包括去除口型专家和使用无条件口型专家的变体。结果表明,去除口型专家会导致情感数据集MEAD的唇同步精度下降,而使用无条件口型专家则会牺牲表达风格的精度。全模型通过引导扩散模型的表达潜力,实现了精确的唇同步和生动的表情,达到了平衡。

风格代码可视化

使用tSNE将MEAD数据集中15个说话者的风格代码映射到2D空间中,这些说话者展示了22种不同的说话风格,包括三个强度级别的七种情绪和一种中性风格。每种风格从10个随机选择的视频中提取风格代码。结果显示,相同说话者的风格代码倾向于聚集在一起,这表明个体说话者的独特性对说话风格的差异产生了更大的影响,这也是使用肖像信息推断说话风格的合理性的基础。此外,每个说话者的风格代码分布都展示了共同的模式和个性化的特征。

风格编辑

调整分类器自由指导方案中的比例因子ω可以调节输入风格的影响,当ω超过2时,唇同步准确度会下降。利用风格空间进行风格代码插值可以实现无缝过渡和生成新的说话风格。

用户研究

用户研究共有20名参与者,测试样本涵盖多种说话风格和说话人。每种方法都需要参与者对10个视频进行评分,评分包括三个方面:唇同步质量、结果真实性和生成视频与风格参考之间的一致性。结果表明,该方法在所有方面均优于现有方法,尤其是在风格一致性方面表现出色。

总结

DreamTalk利用扩散模型生成表情丰富的说话头像。该方法旨在在多样的说话风格中表现出色,同时最小化对额外风格参考的依赖。作者开发了一个去噪网络来创建表情丰富的音频驱动面部动作,并引入了一个风格感知的唇部专家来优化唇语同步,而不会影响风格表现力。此外,作者设计了一个风格预测器,直接从音频中推断说话风格,消除了对视频参考的需求。作者通过大量实验验证了DreamTalk的有效性。

文章转载于灵度智能