【论文阅读】DREAM-Talk: Diffusion-based Realistic Emotional Audio-driven Method for Single Image Talking F

DREAM-Talk:基于扩散的逼真情感音频驱动的单张图像说话人脸生成方法。

code:没开源

paper:DREAM-Talk: Diffusion-based Realistic Emotional Audio-driven Method for Single Image Talking Face Generation (magic-research.github.io)

出处:字节,2023.12

Summary 

DREAM-Talk,一种基于扩散的两阶段音频驱动框架。语音驱动一张图片,可同时实现准确的口型同步和自然的情感表达。

1. 介绍

情绪说话头生成的难点:

  1. 难以同时实现情感表达和准确的口型同步。MEAD[33]:情绪表达体现在眉毛、眨眼和嘴巴。但视频不够长,不能训练精确的唇同步模型。因此,SPACE[10]补充了两个无情感数据集:VoxCeleb2[5]和RAVDESS[20],加上MEAD来训练。然而,无情感和情感数据集一起训练会导致合成情感,缺乏表现力。EAMM[14]通过整合两个模块来解决这个问题:一个学习无情感音频驱动的人脸合成,另一个专门捕捉表情变化。为了防止情感位移扭曲口型,它通过模糊说话者的嘴部区域来增强训练数据。但这样会降低口型的表现力。
  2. 难以对情感的变化进行建模。现有方法[10,13,14,21]通常利用LSTM或CNN网络作为生成器将音频转换为面部表示。描绘情感不够自然。

因此作者设计了两阶段pipeline:

  • 第一阶段:EmoDiff Module,捕捉动态且自然的面部表情。作者设计了一个情绪条件扩散模型,将输入的音频转化成面部表情。
  • 第二阶段:Lip Refinement,来确保嘴唇和语音的同步性。会根据音频信号和特定的情感风格重新优化嘴部的动作参数。与传统的面部模型不同,传统模型通常将嘴巴的动作参数和其他面部表情参数混合在一起,使用3D ARKit模型能够让我们明确地只优化嘴唇的动作。这样做可以确保其他面部表情的强度不会受到影响。我们在嘴唇精细化网络中做出的这个设计选择,保证了在提高嘴唇同步性的同时,不会牺牲情感的表达力。这提供了一种更有针对性、更有效的方法,用于创建富有情感的面部动画。

贡献可总结如下:

  • 一个新的两阶段生成框架DREAM-Talk,通过音频同步的唇动实现了富有表现力的情感交谈面部。
  • 扩散模块EmoDiff,能够根据音频和参考的情绪风格生成各种高动态的情绪表情和头部姿势。
  • 情感ARKit数据集,可从其他面部属性中精确分离嘴巴参数,专门细化嘴唇运动。

图2,pipeline。首先,从输入音频、初始状态和情绪风格作为条件开始,用 EmoDiff 进行学习,通过基于 Transformer 架构的序列建模来去噪 3D 表情随时间变化。初始状态对应于第一帧中的表情,情绪风格由随机选择的表情剪辑定义,与输入音频无关。然后,利用条件化的音频和情绪表达,唇部细化模型进一步优化嘴部,而不改变情绪的强度。随后,生成相应的 3D 渲染面孔在混合形状调整装置上。最后,我们使用经过微调的 Face-Vid2Vid 模型[34] 生成情绪对话视频。

2. 方法

2D landmark方法易受头部姿态变化的影响;3D建模提供了形状不变的信息,生成更真实。传统的三维模型,如3DMM或FLAME,利用主成分分析(PCA)来封装人脸特征。但在隔离特定的面部属性方面表现不足,如眨眼或嘴唇运动。

为增强嘴巴区域,同时保留其他面部特征的表现力,作者选择ARKit blendshapes。该技术将嘴部相关参数与其他面部元素明显分开,从而实现针对性优化。ARKit面部模型包含52个不同的参数,每个参数代表独特的面部特征。它利用基于面部动作编码系统(FACS)的blendshapes,允许每个面部表情独立激活特定的面部区域(如嘴区、眼睛、眉毛)。这种方法提供了对各种面部属性的精确控制和优化。

然后,对MEAD情感数据集中每一帧的ARKit参数进行分析,提取相应的参数。

2.2 EmoDiff Module

目标是从音频中生成3D情感表达。

前向:

反向:

为模型提供了附加条件c,包括音频、初始状态和情感风格。条件反向扩散过程概述如图3所示。

图3。每个序列N帧的时间位置感知条件嵌入。初始状态对应音频的第一帧,中间三帧对应情感风格。另一个比特用于表示有效信息。最后,将初始状态和情感风格条件逐帧与音频特征进行融合。

训练目标:
xt可以作为模型的输入,在时间步长t处预测高斯噪声ε而不是µ。

θϵ是一个函数近似器,旨在从xt预测。用以下目标优化θ,通过忽略[12]中引入的加权项,效果更好:

无分类器引导: 

通过设置c = ϕ,条件c会周期性地随机丢弃。引导推理表示为无条件生成样本和条件生成样本的加权和。w是缩放参数,用于权衡无条件和有条件生成的样本。无分类器引导可以在质量和多样性之间取得很好的平衡。

网络架构的选择。主要考虑两个问题:

  1. 如何融合不同的模态数据,如音频和3D表情
  2. 如何生成不同于图像的n帧3D人脸表情序列。

如图2所示,选择使用transformer结构,该结构融合了不同模态的表示,并通过交叉注意机制捕获长期依赖性[42]。

时间感知的位置嵌入。具有时间连续性的人脸表情生成需要考虑两个问题:

1. 训练数据集只包含T frame输入数据。然而测试时需要更长的音频,因此需要考虑生成序列之间的连续性。针对这个问题,将生成序列的第一帧作为输入特征条件,加入到网络中,对生成序列的初始状态进行约束。

2. 还需要引导网络捕捉情感表达的风格。为了实现这一点,使用三个表情框架作为情感风格的表示。为了防止风格代表音频信息,在训练过程中随机采样三帧表情。为了将初始状态条件和风格信息纳入网络,使用一种时间位置感知的方法,如图3所示。具体来说,首先创建一个与音频帧相同长度的矩阵,并将矩阵的第一列设置为初始状态值,这是一个50维向量,最后一个元素设置为1。对于样式信息,我们选择矩阵中间的三个位置并将它们设置为样式值,最后一个元素也设置为1。在训练过程中,将该矩阵与音频特征逐帧结合,完成条件的设置。

长期动态采样。测试时,首先从数据集中选择一个字符的情感片段,例如“M003 Angry clip001”,以及输入音频。

如Algorithm. 1,为了保证序列之间的连续性,随机选择一帧作为初始状态,随后使用前一序列的最后一帧作为下一序列的初始状态,这确保了长序列的连续性。

为了在每次序列生成中引入多样性,每次随机选择3帧作为风格,这允许在整个序列中生成动态面部表情。

  1. Trained diffusion model M, Input audio A, Emotion Style S, Frame length N.

    输入参数包括经过训练的扩散模型 M、输入音频 A、情绪风格 S 和帧长度 N。
  2. LA = length(A)

    计算输入音频 A 的长度。
  3. Lexp = length(S[0])

    计算情绪风格 S 中第一个元素的长度。
  4. Output o = zeros(L, Lexp)

    初始化输出 o 为大小为 L × Lexp 的零矩阵。
  5. Condition c = zeros(N, Nexp + 1)

    初始化条件 c 为大小为 N × (Nexp + 1) 的零矩阵。
  6. c[:, 0, : −1] = S[random(1), :]

    将情绪风格 S 中随机选择的第一个元素赋给条件 c 的第一列。
  7. c[:, N/2 − 1 : N/2 + 2, : −1] = S[random(3), :]

    将情绪风格 S 中随机选择的第三个元素赋给条件 c 的中间列。
  8. c[:, 0, −1] = 1

    将条件 c 的第一列的最后一个元素设置为 1。
  9. c[:, N/2 − 1 : N/2 + 2, −1] = 1

    将条件 c 的中间列的最后一个元素设置为 1。
  10. for i = 0 :: N − 1 :: LA do  

  • temp=M.sampling(cat[c, A[i : i + N]])   利用扩散模型 M 对合并后的 c 和 A[i : i + N] 进行采样,得到临时结果 temp。
  • c[:, 0, : −1] = temp[−1]   更新条件 c 的第一列。
  • c[:, N/2 − 1 : N/2 + 2, : −1] = S[random(3), :]   随机选择情绪风格 S 的第三个元素并更新条件 c 的中间列。
  • o[i : i + N] = temp   将临时结果 temp 赋给输出 o 的相应位置。

    11. end for   结束循环。

    12. return o   返回输出 o。

这个算法的主要目的是根据输入音频、情绪风格和帧长度,在训练好的扩散模型上进行长期动态采样,以生成相应的输出序列。算法中的条件设置和采样过程有助于保持输出的一致性和连续性。

 

2.3 Lip Refinement

从扩散模型中获得动态情感表达x0后,发现音频和口型之间出现明显失调。可能是由于扩散网络倾向于生成逼真的序列,反过来减少了音频的影响。

为纠正这个问题,本文提出一个唇同步细化网络,利用相同的音频和情感数据重新校准和生成细化的嘴部参数。包含一个LSTM结构作为音频编码器,一个CNN结构作为情感编码器。专门生成与输入音频和情感参考风格密切相关的嘴部参数。

利用面部参数和生成的头部姿态,来动画化3D混合形状的It。随后用 video-to-video 的方法为任意角色生成说话面部视频。消融研究表明,在实施唇形细化后,嘴部运动和音频之间的同步有显著改善。

表1。在MEAD和HDTF数据集上与最先进方法的比较。MakeitTalk和SadTalker在不考虑情感的情况下保持口型和图像质量。然而,添加情感会使假唱和渲染变得复杂。我们的方法既实现了情感表达,又保持了对口型和图像质量。

 

2.4 Face Neural Rendering


使用 GPU 渲染器获取合成图像之后,作者采用的是运动转移技术来实现不同主体的真实说话头部效果,即 Face-Vid2Vid方法[34] 作为基础的神经渲染管线 R。

此外,为了提高清晰度,作者使用高分辨率表情丰富的说话视频数据集 TalkHead1HK [34]对模型进行了微调,能够提高表情的丰富性和渲染质量。除了微调,作者还使用文献[1]中概述的面部超分辨率方法将最终图像分辨率提升到 512x512。

为了确保整个过程中有效地保留身份,还使用了 Siarohin等人[25]开发的 FOMM 进行神经运动转移。首先渲染一个带有神经表情的参考帧 In,然后将相对运动 MIn→It(即说话帧与神经帧之间的变换)应用到源图像 T 上,最终得到了渲染输出 R(T, MIn→It)。

  • Reference Frame (参考帧) In:一个带有神经表达的渲染帧,可以理解为基准图像,它包含了某个时刻的面部表情或者姿态。
  • Relative Motion (相对运动) MIn→It :代表了从一个说话的帧(talking frame)到神经帧(neural frame)之间的变化或转换。简言之,它是一个描述如何从参考帧 In 移动到另一个特定帧 It 的运动信息。
  • Source Image (源图像) T:要被转换表情或动作的原始图像,可以理解为目标人物的静态图像。
  • Ultimate Rendered Outputs (最终渲染输出) R ( T , MIn→It ) : 最终的输出结果,通过将相对运动应用于源图像T来生成。换句话说,它是源图像T在经过参考帧In的表情或动作变化后的最终渲染图像。

                        

3. 实验

Adam优化器,单个V100 GPU。训练数据集的帧率设置为25 FPS。

EmoDiff模块训练数据集:MEAD,HDTF。生成的每个序列由固定长度的32帧组成。训练了1000个epoch,批大小64,学习率0.0004。

Lip细化模型:用大小为T = 8的滑动窗口来提取音频特征的训练样本。训练50个epoch, batch size为32,学习率0.0001。

表2。比较。SadTalker和MakeItTalk不会产生情绪化的演讲。EAMM制作情感视频,但失去了身份和动态的面部表情。EVP是一种基于视频的方法,可以生成情感语言,但缺乏情感动态。相比之下,DreamTalk提供动态的情感表达,产生眨眼和身份保护。

图4。最先进的模型与我们的方法的比较:在前两次比较中,分别对MEAD和HDTF数据集进行了评估。对于第三个比较,使用一个aigc生成的人脸。

 

图6。评估右侧眉毛向下的控制参数。生成的序列之间会有一个大的跳跃,比如红框中的结果。采用自回归反馈生成长序列,保证了生成结果的连续性。 

4. 结论

本文提出DREAM-Talk,一种创新框架,旨在生成具有情感表现力的说话人脸,并进行精确的唇形同步。所提出的两阶段方法,包括EmoDiff模块和嘴唇细化网络,有效捕捉情感细微差别,并确保准确的唇部对齐。实验结果表明,在保持高视频质量的同时,改善了面部情感表达。

参考:【数字人】11、DERAM-TALK | 使用扩散模型实现 audio+单张图的带表情驱动(字节跳动)_emo音视频扩散模型-CSDN博客

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DeepDream是一种基于卷积神经网络(CNN)的图像生成算法,它通过最大限度地放大和突出图像中的纹理和模式来创建视觉上令人印象深刻的效果。 DeepDream实验最初由谷歌的工程师团队开发,目的是通过调整神经网络的内部表征来探索CNN的视觉感知能力。该算法通过多次沿着梯度逆向传播过程,将原始图像输入网络并反向增加网络的激活,使网络将注意力更多地放在它认为重要的特征上。经过多次迭代,图像逐渐被改造为充满了独特纹理和特征的幻觉般的形象。 通过DeepDream实验,我们可以发现神经网络在图像识别中使用的内部表征。例如,当我们输入一张狗的照片时,DeepDream会突出给定图像中与狗相关的纹理和特征,例如狗的眼睛、耳朵和毛发。但是,DeepDream不仅仅适用于狗的图像,它可以用于任何图像,从风景照片到抽象艺术作品。 DeepDream实验展示了深度学习算法的创造力和潜力。它不仅仅用于图像生成,还可以用于图像增强和创意艺术。DeepDream的效果被广泛运用在电影、音乐视频和艺术展览中,给人们带来了视觉上的震撼和惊喜。 总的来说,DeepDream实验是一种利用神经网络调整图像表征的方法,通过突出图像的纹理和特征来产生视觉上令人印象深刻的效果。它展示了深度学习的创造力和潜力,并广泛应用于艺术和视觉媒体领域。 ### 回答2: DeepDream是一种基于人工智能的图像处理技术。该技术利用神经网络来识别和分析图像中的不同特征,并将这些特征通过算法进行处理,生成独特的图像效果。 DeepDream的实验过程可以大致分为以下几个步骤:首先,选择一张输入图像,这可以是一张普通的照片或图画;然后,通过一个已经训练好的卷积神经网络对输入图像进行多次迭代处理,来寻找图像中的模式和特征;接下来,将网络中的某些特定层运用到输入图像上,运用梯度上升算法来放大并强调这些特征;最后,将处理后的图像输出,并通过重复这一过程来不断改进结果。 DeepDream实验的独特之处在于,它不仅仅是一种图像处理技术,更是一种艺术创作的工具。通过对图像的重复处理与调整,DeepDream可以生成奇幻、幻觉般的图像效果,不仅仅是图像的艺术变现,还可以通过这一过程来探索和观察神经网络的工作方式和特性。 此外,DeepDream实验还可以应用于图像识别的改进和优化。通过这一技术,可以发现并加强神经网络对图像中的细节和特征的关注,从而提高图像识别的准确率和精度。同时,在医学图像分析、视觉艺术、图像生成等领域也有广泛的应用。 总的来说,DeepDream实验是一种将人工智能与图像处理相结合的创新技术,具有独特的艺术创作和图像识别优化的应用潜力。 ### 回答3: Deepdream是一种基于人工智能技术的图像生成实验,它源自Google开发的深度学习算法。Deepdream通过对现有图像进行多次重复改造,创造出一种另类的图像效果,以探索并揭示神经网络的工作方式。 Deepdream实验首先需要选择一个输入图像,可以是任何一张照片或图片。然后,通过预训练的神经网络模型,将这张图像输入到算法中。算法会对图像进行分析,并逐步改变图像的像素值,以便在图像中寻找和增强神经网络最敏感的特征。 在Deepdream实验中,会对图像进行多次迭代,每次迭代都会对图像进行微小调整。通过调整图像的像素值,使其与最敏感的神经网络特征更相似。经过多次迭代,图像中原本存在的部分特征会被放大和强调,最终生成出一幅视觉上令人难以置信的图像。 这种实验的结果往往呈现出千奇百怪的特效,令人惊叹不已。它可以使普通的图像转变成充满幻想和艺术感的作品。通过Deepdream实验,我们可以更好地理解和观察神经网络的工作方式,探索其内部所学到的知识,同时也能够激发创造力,提供一个新的艺术表现形式。 总而言之,Deepdream实验是一种利用深度学习算法对图像进行改造和增强的创新实践。它不仅能够改变图像的外观,还能够揭示出神经网络的内在特征,为我们了解和探索人工智能提供了更加直观和生动的方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值