【论文阅读】DiffTalk: Crafting Diffusion Models forGeneralized Audio-Driven Portraits Animation

本文提出DiffTalk,一种使用扩散模型处理广义音频驱动的说话头合成,通过结合音频、参考图像和关键点,实现高质量生成且模型泛化能力强。这种方法避免了GAN训练的不稳定性,生成的视频更具同步性和可控性。
摘要由CSDN通过智能技术生成

DiffTalk:制作广义音频驱动人像动画的扩散模型

paper:DiffTalk: Crafting Diffusion Models for Generalized Audio-Driven Portraits Animation (thecvf.com)

code:GitHub - sstzal/DiffTalk: [CVPR2023] The implementation for "DiffTalk: Crafting Diffusion Models for Generalized Audio-Driven Portraits Animation"

目录

1 介绍

2 背景

3 方法

4 实验

5 结论


1 介绍

生成质量和模型泛化是将谈话头合成技术的两个重要因素。本文提出了一个条件扩散模型,用于广义说话头合成(DiffTalk),旨在同时解决这两个挑战。

具体来说,为了避免gan的训练不稳定,使用LDM,将说话头合成建模为音频驱动的时间相干去噪过程。不再利用音频信号作为单一的驱动因素来学习音频到嘴唇的翻译,而是进一步将参考人脸图像和关键点作为补充条件,来指导人脸身份和头部姿势。

在这些设计下,说话头的生成过程更加可控,模型可以泛化到不同的身份,而无需进一步的微调。如图1所示,通过一系列驱动音频,DiffTalk能根据相应的参考视频生成不同身份的谈话视频。

 图1:用于广义说话头合成(DiffTalk)的精细条件扩散模型。给定一个驱动音频,DiffTalk能够合成高保真和同步的多个身份的谈话视频,而无需进一步微调。

2 背景

音频驱动的说话头合成。说话头合成的目的是生成与驾驶音频同步的唇形运动的说话视频。在建模方法上,将现有方法大致分为基于2d和基于3d的方法。在基于2d的方法中,gan通常被用作学习音唇翻译的核心技术。然而,由于GANs的训练过程缺乏稳定性,容易出现模式崩溃,因此生成的说话视频总是图像质量有限,难以缩放到更高的分辨率。基于3d的工作大多数高度依赖于特定身份的训练,因此不能在不同身份之间泛化。

潜在扩散模型。潜在扩散模型(LDMs),将DM的训练和推理过程转移到压缩的低维潜在空间中,以更有效地计算。本文将说话头合成建模为音频驱动的时间连贯去噪过程。

3 方法

3.1 概述

为解决生成质量和模型泛化的挑战,将说话头合成建模为一个音频驱动的时间连贯去噪过程,并将所提出的方法称为DiffTalk。概述如图2所示。通过引入平滑的音频特征作为条件,改进了用于时序连贯面部运动建模的扩散模型。为了进一步个性化人脸建模,将参考人脸图像和人脸关键点作为额外的驱动因素。这样,说话头的生成过程更可控,这使得学习到的模型可以跨不同的身份进行泛化,而无需任何进一步的微调。

3.2.   说话头的条件扩散模型

通过一对训练好的图像编码器EI和解码器DI(在训练中冻结(Taming transformers for high-resolution image synthesis.),输入的人脸图像被编码到潜空间,其中H/ H = W/ W = f。H, W是原始图像的高度和宽度,f是下采样因子。通过这种方式转移到低维隐空间。

LDMs建模为一个基于时间条件unet的去噪网络M,学习一个长度 t 的马尔可夫链的反向过程,目标:

zt是通过正向扩散过程从z0得到的。是zt在时间步t的去噪结果。然后使用预训练的图像解码器将最终去噪结果上采样到像素空间。最后为重建的人脸图像。

这样,引入音频信号作为基本条件,引导去噪过程,用于建模从音频到嘴唇运动的转换

平滑音频特征提取。为了更好地融入时间信息,在音频编码器EA中引入了两阶段平滑操作,如图3所示。

 图3。平滑音频特征提取器的可视化

首先,将原始音频信号重新组织成大小为16个时间间隔的重叠窗口,每个窗口位于相应的视频帧中心位置(窗口大小为1-16,2-17,3-18,以此类推)。然后,用预训练的基于RNN的DeepSpeech模块提取逐帧音频特征图F

为了更好地保持帧间一致性,引入了可学习的时间滤波器。它接收一个由相邻音频特征 [Fi−w, . . . , Fi , . . . , Fi+w] 组成的序列,计算第 i 帧的最终平滑音频特征:。通过对音频信息进行编码,弥合了音频信号和视觉信息之间的模态差距。

这样,引入了平滑音频特征 a 作为条件,对面部动态建模时考虑时间一致性。因此目标函数:

图2。除了驱动嘴唇运动的音频条件外,还进一步将参考图像和人脸关键点作为个性化人脸建模的额外驱动因素。这样,生成过程更可控,这使得学习到的模型可以跨不同的身份进行泛化,而无需进一步微调。此外,可以优雅地改进DiffTalk,以实现更高分辨率的合成,而只需要略微额外的计算成本。

身份保持的模型泛化。在保留源图像中完整身份信息的同时,实现模型的泛化。泛化的身份信息包括面部外貌、头部姿态和图像背景。

设计了一个参考机制,使模型能推广到训练中未见过的新个体。选择一个随机人脸图像xr作为参考条件,期望模型能够在 没有任何先验信息的情况下 将xr的姿态转移到目标人脸上。引入被掩盖的真实图像xm,作为另一个参考条件,以提供目标头部姿态的指导。xm的嘴部区域完全掩盖,以确保网络看不到真实嘴唇的运动。通过这种方式,参考xr主要关注嘴部外貌信息,从而进一步降低训练的难度。

将这些条件与音频特征a结合,实现了对动态说话人脸的所有关键元素的精确控制。用C = {a, zr, zm, l}表示条件集合,最终将说话头合成建模为一个通过以下目标进行优化的有条件去噪过程:

其中M、EA和EL的网络参数通过这个方程进行联合优化。

条件机制。基于方程3中的有条件去噪过程的建模,按照图2,将这些条件C传递给网络。使用交叉注意机制实现基于unet的主干M。经过空间对齐的zr和zm 与噪声图zT 按通道连接,生成联合视觉条件Cv = [zT ; zm; zr] ∈ R h×w×9。Cv输入到网络的第一层,直接指导输出人脸的图像到图像的转换。驱动音频特征 a 关键点表示 l 被连接为潜在条件Cl = [a; l] ∈ R DA+DL,作为M的中间交叉注意层的键和值。通过这种方式,所有条件信息C = {Cv, Cl}被整合到去噪网络M中,以指导生成过程

更高分辨率的说话人头部合成。我DiffTalk方法可以扩展到更高分辨率的说话人头部合成,几乎不增加额外的计算成本。在尺寸为256×256×3的训练图像上,将下采样因子设置为f = 4,获得64×64×3的潜在空间。对于512×512×3的更高分辨率生成,只需通过更大的下采样因子f = 8,来调整配对的图像编码器EI和解码器DI。然后,训练好的编码器被冻结,并用于将训练过程转移到64×64×3的潜在空间。

渐进推断。使用基于DDIM的迭代去噪步骤推断,以加速更高效的合成过程。为了进一步提升生成的说话视频的连贯性,采用渐进引用策略,如图4所示。

用训练好的模型渲染说话视频序列时,对于第一帧,xr,1是目标身份的一个随机人脸图像。随后,合成的人脸图像x˜i被用作下一帧的参考xr,i+1。通过这种方式,相邻帧之间的图像细节保持一致,从而实现了更平滑的过渡效果。

这种策略在训练过程中不使用。相邻帧之间的差异很小,需要消除这样的参考,以避免学习捷径。

 

图4。渐进推理策略的说明

4 实验

视听数据集HDTF。包含了来自300多个身份的720P或1080P的16小时谈话视频。随机抽取100个视频,形成长100分钟的视频库训练,剩余的数据作为测试集。

对于训练和推理过程,去噪步骤T的长度都设置为200。特征维数DA = DL = 64。模型在8个NVIDIA 3090 gpu上训练大约需要15个小时。

4.2. 消融研究平滑音频的效果

表1的量化结果表明,加入音频时间滤波模块的模型优于没有加入平滑音频的模型,尤其是SyncNet得分。

表1。消融研究探讨音频平滑操作的贡献。“w”表示经过时间滤波的音频特征训练模型,反之亦然

 可视化相邻帧之间的差异,如图5所示的热图。未经音频滤波的结果在口腔区域有明显的高热值,表明该区域有抖动。相比之下,以平滑的音频为条件,生成的视频帧呈现出更平滑的过渡,这体现在相邻帧的软差异上。

 图5。音频平滑操作的消融研究。将相邻帧之间的差异显示为热图,以更好地可视化。

设计条件。这项工作的一个主要贡献是巧妙地设计了通用和高保真说话头合成的条件。图6逐步展示了在不同条件设置下生成的结果。

图6。研究了烧蚀条件的设计。这些图像上面的标记指以下含义,' A ':音频;“L”:具有里程碑意义的;` R `:随机参考图像;` M `:带面具的真实图像。在两个测试集上展示了不同条件设置下生成的结果,并证明了最终设计的有效性,即A+L+M+R。

纯音频条件下,模型无法泛化到新的身份,并且在基于修复的推理中,人脸与背景没有对齐。添加标记作为另一个条件可以解决不对齐的问题。进一步引入随机参考图像以提供身份信息。然而,由于真实人脸图像与该随机参考图像具有不同的姿态,因此期望模型将参考图像的姿态转移到目标人脸。这大大增加了训练的难度,导致网络难以收敛,身份信息不能很好地学习。使用音频和掩码的地面真实图像作为驱动因素,减轻了身份不一致和错位问题,但由于该信息对网络不可见,因此无法学习嘴巴的外观。为此,将随机参考人脸和掩码地面真实图像结合起来进行双重驱动,其中随机参考提供唇形外观信息,而掩码地面真实图像控制头部姿态和身份。面部特征点也被作为一种有助于更好地建模面部轮廓的条件。图6中的结果显示了这种设计在合成真实感和可控人脸图像方面的有效性。

渐进式推理的影响。本文采用渐进参考策略进行时序相关性推断。表2中进行了消融研究,以调查这种设计的影响。` w/o `表示采用随机参考图像xr, ` w `表示选取前一帧生成的结果作为参考条件。通过这种渐进式推理,SyncNet的分数进一步提高,因为时间相关性被更好地建模,说话风格变得更加连贯。这一改进也增强了LPIPS指标。PSNR倾向于给模糊图像更高的分数,因此推荐LPIPS作为视觉质量的更有代表性的指标。

 

 表2。渐进式推理策略的消融效应研究。‘w/o’表示采用随机参考图像作为条件,‘w’表示参考图像是前一帧的生成结果。

4.3. 方法比较与基于2d的方法比较

与一些代表性的基于2d的说话头生成方法进行比较,包括ATVGnet[5]、MakeitTalk[54]和Wav2Lip[29]。

 图7。与一些代表性的基于2d的说话头生成方法vgnet[5]、MakeitTalk[54]和Wav2Lip[29]以及最近的一些基于3d的说话头生成方法nerf[17]和DFRF[37]进行了视觉比较。DFRF的结果与基本模型进行合成,无需微调以公平比较。AD-NeRF分别在这两个身份上进行训练以产生结果。

图7显示了这些方法生成的框架。ATVGnet在图像质量有限的情况下根据裁剪的人脸进行生成。MakeItTalk合成了看似合理的说话框架,但背景被错误地包裹在嘴巴运动中,这极大地影响了视觉体验。由于Wav2Lip合成区域与原始图像没有很好地融合,生成的Wav2Lip说话人脸在以嘴部为中心的方形边界处出现伪影。相比之下,DiffTalk生成了自然和真实的说话视频,具有准确的音频-唇同步。

 表3。在两个测试集上与一些代表性的说话头合成方法进行对比,如图7所示。最佳表现用红色(第一最佳)和蓝色(第二最佳)突出显示。DiffTalk获得了最佳的PSNR、SSIM和LPIPS值,同时还获得了可比较的SyncNet分数。值得注意的是,DFRF是在特定身份上进行微调的,以获得这些结果,而所提出方法可以直接用于生成,而无需进一步微调。

图8中显示了两个模型(a)和(b)的合成框架。(a)是在256 × 256图像上进行训练的,下采样因子f = 4,因此潜空间大小为64 × 64 × 3。对于(b),使用f = 8的512 × 512图像来训练模型。由于两个模型都是在压缩后的64 × 63 × 3隐空间上训练的,缓解了计算资源不足的压力。因此,我们可以轻松地扩展模型以生成更高分辨率,如图8所示,其中(b)中的合成质量明显优于(a)。

5 结论

本文提出了一种通用的、高保真的基于条件扩散模型的说话人头像合成方法。除了驱动唇动的音频信号条件外,还进一步将参考图像作为驱动因素来对个性化外观进行建模,使学习到的模型能够轻松地在不同身份之间泛化,而无需任何进一步的微调。DiffTalk可以进行高分辨率合成,而额外的计算成本可以忽略不计。

局限性。DiffTalk将说话头的生成作为一个迭代的去噪过程,与大多数基于gan的方法相比,需要更多的时间来合成框架。推理过程中,网络对zT中的遮盖形状也很敏感,其中遮盖需要完全覆盖嘴巴区域,不能泄露任何唇形信息。

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值