DiffTalk: Crafting Diffusion Models for Generalized Audio-Driven Portraits Animation制作广义音频驱动人像动画的扩散模型
贡献:
-
提出了一种条件扩散模型用于talking head生成。引入 平滑信号作为条件,生成过程是音频驱动、与时间相关的去噪过程。
-
对于个性感知的广义合成,进一步合并双参考图像作为条件。这样,训练好的模型就可以泛化到不同的身份,而无需进一步微调。
-
DiffTalk 在生成的图像质量上显著优于基于 2D 的方法,同时在模型泛化能力上超过了基于 3D 的方法。
方法
概述: 以驱动嘴唇运动的平滑音频特征为条件;将参考图像和面部标志作为个性化面部建模的额外驱动因素;利用潜在空间学习的模式,可以让 DiffTalk 在几乎不增加成本的情况下,实现更高分辨率的合成。
条件扩散模型
LDM(潜在扩散模型)的出现为高保真图像合成提供了一种直接有效的方法
- 平滑音频特征提取
其中t ∈ [1,…,T],zt 是从z0 通过前向扩散过程得到的。 ~zt−1 = zt −M(zt,t) 是 zt 在时间步 t 的去噪结果。然后使用预训练的图像解码器 ~x = DI(~z0) 将最终的去噪结果 ~z0 上采样到像素空间,其中 ~x ∈ RH×W×3 是重建的人脸图像。
平滑音频特征提取
- 音频划分时间窗口
- 预训练的基于 RNN 的 DeepSpeech 模块来提取每帧音频特征图 F
- 引入learn-able temporal filtering,它接收一系列相邻音频特征 [Fi−w,…,Fi,…,Fi+w](其中 w =8)作为输入,并将第 i 帧的最终平滑音频特征计算为 a
- 目标函数
身份保护模型泛化(Identity-Preserving Model Generalization)
- 三个分支方法:
- 选择源身份的随机人脸图像xr作为参考条件,其中包含外观和背景信息。为了防止训练走捷径,我们将 xr 的选择限制为超出目标图像 60 帧;
- 将屏蔽的groundtruth图像 xm 作为另一个参考条件来提供目标头部姿势指导。 xm 的嘴部区域被完全屏蔽,以确保地面真实的嘴唇运动对网络不可见;(在作为条件之前,xr 和 xm 也通过训练好的图像编码器编码到潜在空间中,我们有 zr = DI(xr) ∈ Rh×w×3,zm = DI(xm) ∈ Rh×w×3,见图2);
- 加入了辅助的面部标志条件,以更好地控制面部轮廓,同样,嘴部区域的地标也被遮盖以避免走捷径。地标特征 l ∈ RDL 是通过基于 MLP 的编码器 EL 获得的;
- 将这些条件与音频特征a相结合,我们就实现了对动态说话人脸所有关键元素的精确控制。用 C = {a, zr,zm,l} 表示条件集,说话头合成最终被建模为具有以下目标优化的条件去噪过程:
调节机制
我们以图2所示的方式将这些条件C传递给网络,具体来说:
- 空间对齐的参考 zr 和 zm 与噪声图 zT 逐通道连接,以产生联合视觉条件 Cv = [zT; zm; zr] ∈ Rh×w×9,Cv 被馈送到网络的第一层,以图像到图像转换的方式直接引导输出面部;
- 驱动音频特征 a 和地标表示 l 连接成潜在条件 Cl =[a; l] ∈ RDA+DL ,作为 M 的中间交叉注意层的键和值
到此为止,所有条件信息 C = {Cv,Cl} 都被适当地集成到去噪网络 M 中以引导talking-head生成过程
更高分辨率的talking head合成
对于尺寸为256×256×3的训练图像,我们将下采样因子设置为f = 4,并获得64×64×3的潜在空间。此外,对于 512 × 512 × 3 的更高分辨率生成,我们只需使用更大的下采样因子 f = 8 来调整配对的图像编码器 EI 和解码器 DI 即可。
渐近式推理
我们使用基于去噪扩散隐式模型 (DDIM) 的迭代去噪步骤进行推理,以加速采样以实现更高效的合成。
渐进式参考策略:如图 4 所示,使用经过训练的模型渲染谈话视频序列时,对于第一帧,xr,1 是来自目标身份的随机人脸图像。随后,合成面部图像〜xi被用作下一帧的参考xr,i+1。这样,相邻帧之间的图像细节保持一致,从而使帧之间的过渡更加平滑。值得注意的是,该策略并不用于训练。在推理过程中使用了 masked zT(ground truth),其中嘴部区域被屏蔽并随机初始化,使网络能够专注于该区域的去噪。
实验
消融实验
- 平滑音频
- 条件设计
随机图像提供嘴唇外观信息
屏蔽的ground truth控制头部姿势和身份
面部标志也被纳入作为有助于更好地塑造面部轮廓的条件
- 渐进式推理
方法对比
- 基于2D的方法
可以看出,ATVGnet 基于裁剪后的人脸进行生成,图像质量有限。 MakeItTalk 合成了看似可信的对话帧,但背景与嘴部动作错误地包裹在一起,这极大地影响了视觉体验。由于合成区域和原始图像没有很好地混合,Wav2Lip 生成的说话面孔在以嘴为中心的方形边界中出现伪影。相比之下,由于精心设计的调节机制和稳定的训练过程,所提出的 DiffTalk 可以生成自然、真实的谈话视频,并具有准确的音频-唇形同步。为了更客观的比较,我们进一步评估表 3 中的定量结果。对于视听同步度量SyncNet,所提出的方法达到了较高水平,并且优于MakeItTalk。虽然DiffTalk在SyncNet评分上稍逊于Wav2Lip,但在图像质量方面却远远优于Wav2Lip。综合基于 2D 的方法下优于这些基于 2D 的方法
- 基于3D的方法
进一步与一些最近的基于高性能 3D 的作品进行比较,包括 ADNeRF [17] 和 DFRF [37]。
远优于Wav2Lip。综合基于 2D 的方法下优于这些基于 2D 的方法
- 基于3D的方法
进一步与一些最近的基于高性能 3D 的作品进行比较,包括 ADNeRF [17] 和 DFRF [37]。
可视化结果如图7所示。AD-NeRF分别对头部和躯干部分进行建模,导致颈部区域未对准。更重要的是,值得注意的是AD-NeRF是一种非通用方法。相比之下,我们的方法无需进一步微调即可处理看不见的身份,这更符合实际应用场景。 DFRF 严重依赖于模型泛化的微调操作,仅使用基础模型生成的说话面孔远不能令人满意,如图 7 所示。表 3 中的更多定量结果也表明我们的方法超越了 [17, 37] ,关于图像质量和视听同步指标。