文章目录
- EchoMimic原文翻译
- EchoMimic:逼真的音频驱动肖像动画通过可编辑的landmark条件
- Abstract
- 1. Introduction
- 2. Related Works
- 2.1. 扩散模型
- 2.2.肖像动画:从视频到基于图像的方法
- 3. Method
- 3.1. Preliminaries
- 3.2. Model Architecture
- 3.3. Training Details
- 3.4. Inference
- 4. Experiments
- 4.1. Experimental Setups
- 4.2. Quantitative Results
- 4.3.定性结果
- 4.4. Ablation Study
- 4.5. Limitation and Future Work
- 代码调试
- 1. 下载github项目
- 2. 配置环境
- 3. 下载ffmpeg-static
- 4. 下载预训练权重
- 5. 推断
- 不同模型对比
- 1. 3s音频
- 2. 6s音频
- 3. 评价
EchoMimic原文翻译
EchoMimic:逼真的音频驱动肖像动画通过可编辑的landmark条件
Abstract
在音频输入的推动下,肖像图像动画领域在生成逼真和动态肖像方面取得了显著进展。传统的方法仅限于利用音频或面部关键点将图像驱动到视频中,虽然它们可以产生令人满意的结果,但存在某些问题。例如,仅由音频驱动的方法有时会因为音频信号相对较弱而不稳定,而仅由面部关键点驱动的方法虽然在驱动上更稳定,但由于对关键点信息的过度控制,可能导致不自然的结果。为了解决前面提到的挑战,在本文中,我们引入了一种新的方法,我们将其命名为EchoMimic。EchoMimic同时使用音频和面部标志进行训练。通过实施一种新的训练策略,EchoMimic不仅能够通过音频和面部地标单独生成人像视频,还能够通过音频和选定面部地标的组合生成人像视频。EchoMimic已经在各种公共数据集和我们收集的数据集上与其他算法进行了全面比较,在定量和定性评估中都显示出卓越的性能。可以在EchoMimic项目页面上找到更多的可视化和对源代码的访问。
Project Page: https://badtobest.github.io/echomimic.html
图 1. EchoMimic 能够通过音频、面部标志以及音频和选定的面部标志的组合来生成肖像视频。
1. Introduction
扩散模型的引入及其有效性极大地推动了图像生成的最新进展[3,5,15]。通过对大型图像数据集的严格训练和逐步生成过程,这些模型能够创建具有前所未有细节的超现实图像。这种创新的进步不仅重塑了生成模型领域,而且还将其应用扩展到视频合成中,以制作生动而引人入胜的视觉叙事。在视频合成领域,一个重要的焦点在于生成以人为中心的内容,特别是说话的头部动画,它涉及将音频输入转换为相应的面部表情。由于人类面部运动的复杂性和多样性,这项任务本身就很复杂。传统的方法,尽管通过诸如3D面部建模或从基础视频中提取运动等约束简化了过程,但往往会损害面部表情的丰富性和真实性。
肖像动画是该领域的一个子集,涉及使用生成对抗网络(gan)和扩散模型将运动和表情从源视频转移到目标肖像图像。尽管基于GAN的方法遵循结构化的两阶段过程[4,8],其中包括特征翘曲和细化,但它们受到GAN性能和不准确的运动描述的限制,导致不现实的输出。相比之下,扩散模型表现出优越的生成能力,使其适应肖像动画任务。人们一直在努力用专门的模块来增强这些模型,以保持肖像的身份并准确地模拟目标表情。然而,诸如扭曲和人工制品等挑战仍然存在,特别是在使用非常规肖像类型时,由于不充分的运动表示和不适当的损失函数用于肖像动画的特定需求。该领域面临着双重挑战,即同步嘴唇运动、面部表情和头部姿势与音频输入,并制作具有一致时间一致性的视觉吸引力、高保真动画。虽然基于参数化模型的解决方案依赖于音频驱动的中间表示,如3DMM[19],但它们的局限性在于这些表示的充分性。潜在空间中的解耦表示学习通过独立处理面部特征的身份和非身份方面提供了另一种方法。然而,它在实现全面的解纠缠和确保跨帧的一致性方面遇到困难。
对肖像动画,尤其是会说话的头像动画的追求,在包括游戏、媒体制作和教育在内的各个领域都具有重要意义。Stable Diffusion (SD)和DiT (Diffusion Models with Transformers)等著名研究[12]表明了这一领域的显著进步。在潜在空间中,扩散技术和参数化或隐式面部动态表示的结合有助于端到端生成高质量的逼真动画。然而,传统的方法仅限于利用音频或面部地标将图像导入视频。虽然这些方法可以产生令人满意的结果,但它们有特定的局限性。例如,完全由音频驱动的方法可能会由于相对较弱的音频信号而经历不稳定,而完全由面部地标驱动的方法虽然在驾驶中更稳定,但由于对地标信息的过度控制,可能导致不自然的结果。
为了解决上述挑战,在本文中,我们提出了一种称为 EchoMimic 的新方法。EchoMimic同时使用音频信号和面部地标进行训练。利用一种新的训练策略,如图2所示,EchoMimic展示了使用音频或面部地标独立生成人像视频的能力,以及音频和选定的面部地标的组合。EchoMimic 在不同的公共数据集和我们收集的数据集上与替代算法进行了广泛的比较,在定量和定性评估中都表现出卓越的性能。
图 2. 提出的 EchoMimic (EM) 框架的整体管道。
2. Related Works
2.1. 扩散模型
基于扩散的生成模型最近已成为计算创造力的基石,在广泛的多媒体任务中表现出卓越的多功能性和适应性。这些模型已被有效地用于合成新图像、现有视觉的细化和转换、动态视频内容的产生以及创建复杂的三维数字结构。
SD 举例说明了扩散模型潜力的一个典型说明,它集成了 UNet 框架以迭代生成以文本描述为条件的图像。这种能力是通过对大规模多模态数据集的广泛训练来实现的,这些数据集仔细地将文本链接到相应的图像。一旦预训练,扩散模型表现出非凡的灵活性,促进了跨越静态和动态视觉媒体的广泛创造性应用。创新方法试图通过将传统的UNet架构与基于transformer的设计相结合来增强扩散模型,该设计配备了时间层和三维卷积能力,如DiT所示。这种融合可以有效地从头开始训练专门为文本条件视频生成量身定制的模型,从而在视频合成中产生更好的结果。此外,扩散模型在生成类似生命的动画肖像方面获得了吸引力,通常称为“说话头”,展示了它们在合成类人语音动画的真实序列方面的优越性。
2.2.肖像动画:从视频到基于图像的方法
“说话头”动画领域得到了显着的发展,最初依靠基于视频的技术来合成与音频输入同步的嘴唇运动。值得注意的是,Wav2Lip 是一种开创性的方法,擅长将合成的嘴唇运动叠加到现有的视频内容上,同时通过使用鉴别器机制来确保音频-嘴唇同步[13]。然而,Wav2Lip 的输出偶尔会表现出现实主义缺陷,其特征是面部区域内模糊的视觉或扭曲的牙齿结构等伪影。
最近的进展集中在基于图像的方法上,受扩散模型的启发,以减轻以视频为中心的方法的局限性并提高合成动画的真实感和表现力。动画任何人,一项基础工作,为具有最小控制输入[6]的表达肖像视频生成铺平了道路。在此基础上,EMO[20]引入了一种新的帧编码模块和鲁棒控制特征,保证了音频驱动的动画在视频帧之间保持一致性,从而提高了合成语音动画的稳定性和自然度。
SadTalker [25] 从音频中生成 3D Morphable 模型的 3D 运动系数(头部姿势、表情),并隐式调制 3D 感知人脸渲染以生成说话头。为了学习真实的运动系数,SadTalker 明确地模拟了音频和不同类型运动系数之间的联系。然后将生成的3D运动系数映射到所提出的人脸渲染的无监督3D关键点空间,合成最终的视频。
AniPortrait [22] 表示该领域的另一个显着步幅,在将它们映射到 2D 面部地标之前,熟练地将音频信号转换为详细的 3D 面部结构。随后的扩散模型,加上运动模块,将这些地标渲染成时间连贯的视频序列,丰富自然情绪的描绘,并实现细微的面部运动改变和重演。
V-Express [21],扩展了视听对齐的范围,采用分层结构将音频与嘴唇运动、面部表情和头部姿势的细微动态进行细致同步。它复杂的面部损失函数进一步提高了模型对细微情感细微差别的敏感性和面部特征的整体审美吸引力。
Halo [23] 为肖像图像动画提供了一种分层音频驱动的视觉合成方法,解决了嘴唇同步、表情和姿势对齐的复杂性。通过将基于扩散的生成模型与UNet降噪器和交叉注意机制相结合,实现了对表情多样性和姿态变化的增强控制,证明了视频质量、唇形同步精度和运动多样性的改进。
然而,尽管基于图像的方法取得了相当大的进步,但仍有一些挑战。这些方法通常分别对音频或姿势输入进行条件合成,很少同时集成两者。此外,评估协议往往严重依赖图像级指标,如Fŕechet Inception Distance (FID)和Expression Fŕechet Inception Distance (E-FID),可能忽略了面部结构和动力学的关键方面。解决这些复杂性对于提高“说话头”动画的真实性和保真度至关重要,为更身临其境和类似生活的多媒体体验铺平了道路。
3. Method
3.1. Preliminaries
我们的方法基于稳定扩散 (SD),这是建立在潜在扩散模型 (LDM) [15] 之上的文本到图像 (T2I) 转换的开创性工作。SD的核心是应用变分自动编码器(VAE)[7],它充当自动编码器。该机制将原始图像的特征分布(表示为x0)转换为潜在空间表示z0。编码阶段将图像本质捕获为z0 = E(x0),而解码对应阶段将其重构回x0 = D(z0)。这种设计在不影响视觉质量的情况下显着减少了计算开销。
SD集成了去噪扩散概率模型(DDPM)[5]或其变体的原理,去噪扩散隐式模型(DDIM)[18],将高斯噪声ε的战略元素引入潜在表示z0,在步骤t产生时间索引的噪声潜态zt。SD的推理阶段围绕着一个双重目标:从zt逐步消除这种注入的噪声ε,同时利用文本指令。通过无缝结合文本嵌入,SD 指导去噪过程产生与规定文本提示密切一致的图像,从而实现精细控制、高保真的视觉输出。指导训练过程中去噪过程的目标函数公式如下:
在这里,c 表示使用 CLIP [14] ViT-L/14 文本编码器从输入提示中提取的文本特征。在稳定扩散 (SD) 框架内,噪声 ε 的估计是通过定制的 UNet [16] 架构完成的。该 UNet 模型已通过交叉注意机制增强,允许文本特征 c 与潜在表示 zt 的有效集成,从而增强模型生成与提供的文本引导一致的图像的能力。
3.2. Model Architecture
我们提出的 EchoMimic 框架的基本组成部分是去噪 U-Net 架构,如图 2 所示。为了增强网络吸收不同输入的能力,EchoMimic 集成了三个专门的模块:用于编码参考图像的参考 U-Net、用于使用面部标志引导网络的地标编码器和用于编码音频输入的音频编码器。这些模块共同确保了全面且上下文丰富的编码过程,这对于生成高保真视频内容至关重要。这些架构的详细描述将在以下部分中提供。
Denoising U-Net 。Denoising U-Net 旨在增强在不同条件下被噪声破坏的多帧潜在表示,从完善的 SDv1.5 架构中汲取灵感,并在每个 Transformer 块中合并三个不同的注意力层。最初的参考注意层促进了对当前帧和参考图像之间关系的熟练编码,而第二个音频注意层捕获视觉和音频内容之间的交互,在空间维度上运行。此外,Temporal-Attention 层部署了一种时间自注意力机制来破译连续视频帧之间的复杂时间动态和关系。这些增强对于跨网络的空间和时间关系的细微理解和集成至关重要。
Reference U-Net 。参考图像对于在 EchoMimic 框架内保持面部身份和背景一致性至关重要。为了促进这一点,我们引入了专门的模块 Reference U-Net,它反映了 SDv1.5 的架构设计,并与Denoising U-Net 并行运行。在Reference U-Net 的每个 Transformer 块中,自注意力机制用于提取参考图像特征,随后用作去噪 U-Net 中相应 Transformer 块参考注意力层中的键和值输入。Reference U-Net 的唯一函数是对参考图像进行编码,确保没有引入噪声,并且扩散过程中只执行单独的前向传递。此外,为了防止引入无关信息,将空文本占位符输入 ReferenceNet 的交叉注意力层。这种细致的设计确保了参考图像的本质在生成过程中的准确捕获和无缝集成,促进了高保真输出的创建。
Audio Encoder 。合成字符的动画主要是由语音中发音和音调的细微差别驱动的。我们通过使用预训练的 Wav2Vec 模型 [17] 的各种处理块连接从输入音频序列中提取的特征来导出相应帧的音频表示嵌入。字符的运动可能会受到未来和过去的音频片段的影响,需要考虑时间上下文。为了解决这个问题,我们通过连接相邻帧的特征来定义每个生成帧的音频特征。随后,我们在去噪 U-Net 中使用 Audio-Attention 层来实现潜在代码和每个参考注意层输出之间的交叉注意机制,有效地将语音特征集成到生成过程中。这确保了合成字符的运动被精细调整到伴随音频的动态微妙之处,从而增强输出的真实感和表现力。
Landmark Encoder 。利用每个面部地标图像及其相关目标帧之间的鲁棒空间对应关系,我们将Landmark Encoder集成到我们的EchoMimic框架中。Landmark Encoder,实例化为流线型卷积模型,负责将每个面部landmark图像编码为与潜在空间维度对齐的特征表示。随后,编码后的面部landmark图像特征在摄取到Denoising U-Net之前通过元素相加直接与多帧潜伏期集成。该策略能够无缝地结合精确的空间信息,这对于在生成过程中保持准确的解剖结构和运动至关重要,最终提高输出序列的保真度和连贯性。
时间注意层 。为了生成时间连贯的视频序列,EchoMimic 结合了时间注意层来编码视频数据中固有的时间动态。这些层通过重塑隐藏状态并沿帧序列的时间轴应用自我注意机制,熟练地捕获连续帧之间的复杂依赖关系。具体来说,给定一个隐藏状态
h
∈
R
b
×
f
×
d
×
h
×
w
h\in {R}^{b\times f \times d\times h\times w}
h∈Rb×f×d×h×w,其中 b、f、d、h 和 w 表示批量大小、帧数、特征维度、高度和宽度。我们的时间注意层擅长捕捉连续帧之间的复杂依赖关系。这是通过首先将隐藏状态重塑为
h
∈
R
(
b
×
h
×
w
)
×
f
×
d
h\in {R}^{(b\times h\times w)\times f \times d}
h∈R(b×h×w)×f×d 来实现的,从而能够沿帧序列的时间轴应用自注意力机制。通过这个过程,时间注意层识别和学习细微的运动模式,确保合成帧中的平滑和谐过渡。因此,视频序列表现出高度的时间一致性,反映自然运动和流体运动,提高生成内容的视觉质量和真实性。
Spatial Loss. 。由于潜在空间的分辨率(512 * 512 图像的64 * 64)相对较低,无法捕捉细微的面部细节,因此提出了一种时间步感知的空间损失,直接在像素空间中学习人脸结构。特别是,预测的潜在 zt 首先通过采样器映射到 z0。然后通过将 z0 传递给 vae 解码器来获得预测图像。最后,在预测图像及其对应的基本事实上计算 mse 损失。除了 mse 损失外,还采用了 LPIPS 损失来进一步细化图像的细节。此外,由于模型在时间步长 t 很大时很难收敛,我们提出了一个时间步感知函数来减少大 t 的权重。详细的目标函数如下所示:
3.3. Training Details
我们在之前的工作之后采用了两阶段训练策略。我们提出了包括随机地标选择和音频增强在内的有效技术来促进训练过程。
第一阶段。在第一阶段,reference unet 和denoising unet 在单帧数据上进行训练以学习图像-音频和图像-姿势之间的关系。特别是,时间注意层在阶段1中没有插入到去噪unet中。
第二阶段。在第二阶段,时间注意层被插入到去噪unet中。整个管道是在12帧视频上训练的,用于最终的视频生成。只有时间模型的训练,而其他部分在阶段2被冻结。
Random Landmark Selection。为了实现鲁棒的基于landmark 的图像驱动,我们提出了一种称为Random Landmark Selection(RLS)的技术。特别是,面部被分成几个部分,包括眉毛、眼睛、瞳孔、鼻子和嘴巴。在训练期间,我们随机丢弃面部的一个或几个部分。
空间损失和音频增强。在我们的实验中,我们发现两个关键技术可以显着提高生成视频的质量。一种是上述提出的空间损失,它迫使扩散模型直接从像素空间学习空间信息。另一种是音频增强,它将噪声和其他扰动插入到原始音频中,以实现与图像相似的数据增强。
3.4. Inference
对于音频驱动的情况,推理过程很简单。虽然对于姿势驱动或音频+姿势驱动的情况,但根据以前的工作将姿势与参考图像对齐是很重要的。尽管已经提出了几种用于运动对齐的技术,但仍然存在挑战。例如,现有的方法通常应用全人脸透视扭曲仿射,而忽略了人脸部分的匹配。为此,我们提出了一种开发的运动对齐版本,称为部分感知运动同步。
部分感知的运动同步。部分感知的运动同步将人脸分成几个部分。然后,首先在完整人脸上计算变换矩阵。最后,在每个部分计算一个额外的残差变换矩阵,它将添加到前一个矩阵中以获得最终的矩阵。
4. Experiments
4.1. Experimental Setups
实施细节。这项研究涉及实验,包括训练和推理阶段,在配备 8 个 NVIDIA A100 GPU 的高性能计算设置上进行。训练过程分为两部分,每个片段由 30,000 步组成。这些步骤以 4 的批大小执行,处理以 512 × 512 像素的分辨率格式化的视频数据。在第二阶段的训练中,每次迭代生成 14 个视频帧,将运动模块导出的潜在变量与初始 2 个实际视频帧相结合,以确保叙事一致性。在整个训练过程中都保持了 1e-5 的一致学习率。运动模块使用来自 Animatediff 模型的预训练权重进行初始化,以加快学习过程。为了引入可变性并提高模型的生成能力,在训练期间以 5% 的机会随机省略参考图像、引导音频和运动帧等元素。对于推理阶段,系统通过合并受噪声干扰的潜在变量来保持顺序连贯性,以及从运动模块内上一步的最新 2 个运动帧中提取的特征表示。该策略保证了连续视频序列之间的无缝过渡,从而提高了生成视频的整体质量和连续性。
数据集。我们从互联网上收集了大约 540 小时(每个视频片段长约 15 秒,总计约 130,000 个视频剪辑),并补充了 HDTF [26] 和 CelebV-HQ [27] 数据集来训练我们的模型。为了保持训练数据的严格标准,我们实现了一个细致的数据清理过程。这个过程集中在保留一个人说话的视频上,嘴唇运动和伴随音频之间存在很强的相关性,同时丢弃那些场景转换、明显的相机运动、过度表达的面部动作或完全面向轮廓的视点。我们应用MediaPipe[9]来提取训练视频的面部landmarks。
评估指标。用于评估人像图像动画方法的性能的指标包括FID (Fŕechet Inception Distance)、FVD (Fŕechet Video Distance)、SSIM (Structural Similarity Index Measure)和E-FID (Expression-FID)。FID 和 FVD 衡量合成图像与实际数据的相似程度,这里的较低分数表示更大的真实感和卓越的性能。SSIM指数衡量地面真实视频和生成视频之间的结构相似性。此外,E-FID 利用 Inception 网络的特征来批判性地评估生成图像的真实性,提供了更细微的图像保真度衡量标准。首先,E-FID采用人脸重建方法,如[2]中详述,提取表情参数。然后,它计算这些提取参数的FID,以定量评估生成的视频中存在的面部表情与GT数据集中发现的面部表情之间的差异。
基线。在我们的定量实验框架内,我们对几种开源实现进行了比较评估,即 SadTalker [25]、AniPortrait [22]、VExpress [21] 和 Halo [23]。该评估跨越数据集,包括 HDTF、CelebV-HQ 和我们收集的数据集。为了确保严格的检查,采用标准 90:10 的比例来分割身份数据,90% 专门用于训练阶段。定性比较涉及根据这些选定的方法评估我们的方法,同时考虑参考图像、音频输入和每个相应方法提供的结果动画输出。这种定性评估旨在深入了解我们的方法在生成逼真且富有表现力的说话头部动画方面的性能和功能。
4.2. Quantitative Results
HDTF 数据集的比较。表 1 提供了对不同人像动画方法的定量评估,重点关注 HDTF 数据集。我们提出的 EchoMimic 在多个评估指标上表现出色。特别是,它在492.784的FID上达到了29.136和FVD的最佳分数。这些指标肯定了生成的说话头部动画固有的视觉质量和高质量的时间一致性。此外,我们的方法在唇同步方面的能力在1.112的SSIM和E-FID上的异常分数显著突出突出。这些评估结果强调了我们的方法在将精确的嘴唇运动同步与视觉上引人注目的和时间对齐的内容生成和谐地集成中的有效性。
表1.与HDTF上已有的人像图像动画方法进行了定量比较。
CelebV-HQ 数据集的比较。与 HDTF 和我们收集的数据集相比,CelebV-HQ 数据集的视频质量相对较低,因此,与其他两个数据集结果相比,所有算法在该数据集上的表现都较低。表 2 中详述的结果表明,使用 CelebV-HQ 数据集对各种肖像动画方法进行了定量评估。与其他方法相比,我们提出的 EchoMimic 在该数据集上也取得了可比的结果。具体来说,它在 63.258 时在 FID 中获得了最低的值。值得注意的是,我们的方法在比较技术中产生了 2.723 的最有利的 E-FID 分数,突出了它生成高保真动画的能力,以保持惊人的时间一致性水平。
表2. 与CelebV-HQ数据集上已有的人像图像动画方法进行了定量比较。
对我们收集的数据集的比较。我们还在收集的数据集上评估了所提出的 EchoMimic 和其他肖像动画方法。表 3 显示了评估结果。我们提出的 EchoMimic 在 988.144 处在 43.272 和 FVD 中表现出最低的分数,这表明与现有技术相比,视觉质量和时间一致性有了显着提高。此外,我们的方法实现了与性能最佳的算法 (0.691) 相当的 SSIM 分数 (0.699)。此外,它还记录了 1.421 的最有利的 E-FID 分数,增强了即使在具有挑战性和多样化的场景下也能生成卓越保真度动画的能力。这些定量发现共同强调了我们的技术的稳健性和有效性,证实了其创建高质量动画的能力,这些动画不仅在时间上连贯,而且在精确的唇同步方面也表现出色。
表3. 与我们收集的数据集上已有的人像图像动画方法的定量比较。
4.3.定性结果
如前几节所述,我们提出了三种驱动模式,分别是音频驱动、地标驱动和音频+选择的地标驱动。在本节中,我们将定性地评估这三种模式的驱动效果,并进一步展示 EchoMimic 在各种肖像风格的生成结果。可以通过我们的项目主页访问相应的视频结果。
音频驱动。音频驱动是指仅使用输入音频信号和参考图像生成说话头视频。图 3 显示了具有各种肖像风格和不同输入音频的定性结果。获得的结果显示了所提出的方法在合成广泛的视听输出方面的适应性和弹性。这些结果还表明,我们的方法擅长管理不同的音频输入,以产生高分辨率、视觉上一致的说话头视频,这些视频与伴随的音频内容表现出无缝同步。这些结果还强调了我们的方法在无数声学场景中的有效性和鲁棒性,从而证实了它在音频驱动的视频生成中推进最先进技术的潜力。
图 3. 给定不同肖像样式和音频的建议 EchoMimic 的视频生成结果。
Landmark Driven。Landmark driven意味着利用参考图像和landmark控制生成说话头视频,实现了与跟随您的表情符号[11]中描述的相同功能。图4显示了运动同步方法的landmark映射结果。从结果中我们可以看到,与之前的人脸landmark映射方法相比,我们提出的运动同步,来自驾驶帧的landmark与参考图像对齐良好,这有助于算法生成更类似于参考图像中的人脸形状的控制结果。例如,在描述马铃薯人脸的映射中,该算法能够将小嘴从参考图像投影到马铃薯人的较大嘴上。图 4 显示了具有不同landmark的各种肖像样式的定性结果。可以看出,我们提出的方法在表情转移方面表现更好,同时保留了动画过程中参考肖像的身份。此外,我们提出的方法还展示了增强的能力,以解决姿势的巨大变化并准确地再现细微的表情。
图4. 给定不同肖像样式和地标的EchoMimic的视频生成结果。
Audio + Selected Landmark Driven。Audio + selected landmark driven是指利用输入音频信号以及参考图像和选定landmark 控件生成说话头视频。使用这种驱动模式,我们不仅可以保持自然的嘴唇同步,而且可以更好地控制面部细节。此外,这种驱动模式使得生成的视频能够呈现出用户想要的面部表情和动作,例如在唱歌时眨眼或闭上眼睛,进一步增强了生成视频的真实性。图5显示了在不同输入音频和选择landmark 的情况下,不同画像风格的定性结果。与之前的结果类似,这种驱动模式也产生清晰的生成视频,同时确保嘴唇运动与音频同步。此外,从结果中可以看出,生成的视频是由我们选择的landmark 精确控制的,这使得能够生成与预定义landmark 一致的面部表情。
图5所示。给定不同肖像风格、音频和selected landmark driven,所提出的EchoMimic的视频生成结果。
4.4. Ablation Study
具有运动同步的面部landmark 映射。在这项消融研究中,我们旨在验证我们提出的运动同步方法的有效性。landmark 驱动意味着利用参考图像和landmark 控制生成说话头视频,实现了与跟随您的表情符号中描述的相同功能。图6显示了运动同步方法的landmark 映射结果。从结果中我们可以看到,与之前的人脸地标映射方法相比,我们提出的运动同步,来自驾驶帧的地标与参考图像对齐良好,这有助于算法生成更类似于参考图像中的人脸形状的控制结果。例如,在描述马铃薯人脸的映射中,该算法能够将小嘴从参考图像投影到马铃薯人的较大嘴上。
图6. 具有运动同步方法的地标映射结果。
选定的landmark 进行面部表情控制。在这项消融研究中,我们评估了三种不同驾驶模式的影响:(1)音频驱动,(2)面部标志驱动,以及(3)具有选定面部landmark 驱动的音频。表 4 提供了对各种肖像动画方法的定量评估,重点关注 HDTF 数据集。实验结果表明,第一个以最弱约束为特征的驱动模式在生成的视频中增加了自由度,导致原始视频的差异更大。第二个驾驶模式的特点是其强大的面部landmark 约束,导致生成的视频和原始视频之间的相似性最接近,从而提供最有利的结果。第三种驱动模式是第一种模式和第二种模式之间的折衷,在自由和相似性中产生中间结果。
表4. HDTF数据集上EchoMimic不同驱动模式的定量比较。“A”代表仅音频驾驶模型,“L”代表仅姿势驾驶模型,“A+L”是指视频是基于没有嘴部区域的音频和视频生成的模式。
4.5. Limitation and Future Work
虽然这项研究在肖像图像动画领域带来了显着的进步,但必须承认仍然存在一些需要进一步调查和改进的固有限制。未来的研究努力准备改进和扩展所提出的方法,从而促进其进步和增强。(1) 更新视频处理框架。当前的架构虽然在处理视频内容方面表现出相当不错的性能,但本质上是应用于视频域的稳定扩散图像处理技术的扩展。因此,该框架不符合真实意义上的真实视频处理框架。未来的工作可以探索利用真实的视频处理框架(如3DVAE、DiT等)来重新制定这种方法,从而促进专门为视频内容量身定制的增强和优化[12,24]。(2) 使用加速技术。目前,出现了加速稳定扩散生成过程的算法激增 [1, 10],后续研究可以利用这些算法来加速 EchoMimic 框架,从而实现实时生成能力。这种实时生成可以大致分为实时数字人机交互和对话等场景中的应用。
代码调试
Project Page: https://badtobest.github.io/echomimic.html
Github: https://github.com/BadToBest/EchoMimic
1. 下载github项目
git clone https://github.com/BadToBest/EchoMimic
cd EchoMimic
2. 配置环境
创建Conda环境
conda create -n echomimic python=3.8
conda activate echomimic
用pip安装包
pip install -r requirements.txt
3. 下载ffmpeg-static
从https://www.johnvansickle.com/ffmpeg/old-releases/ffmpeg-4.4-amd64-static.tar.xz获取压缩包并解压,然后输入以下命令(/path/to/ffmpeg-4.4-amd64-static
改为你ffmpeg-static的目录)
export FFMPEG_PATH=/path/to/ffmpeg-4.4-amd64-static
4. 下载预训练权重
官方:
git lfs install
git clone https://huggingface.co/BadToBest/EchoMimic pretrained_weights
我发现会报错,如下:
Cloning into 'pretrained_weights'...
fatal: unable to access 'https://huggingface.co/BadToBest/EchoMimic/': Failed to connect to huggingface.co port 443: Connection timed out
因此我的做法是在gitee中寻找hugging face镜像,并根据gitee下载对应的预训练权重。
(1)进入gitee官网:https://gitee.com/
(2)注册并登录
(3)搜索EchoMimic
(4)选择hugging face镜像,点击克隆/下载
(5)改名,将下载的文件名EchoMimic
改成pretrained_weights
,权重配置如下
./pretrained_weights/
├── denoising_unet.pth
├── reference_unet.pth
├── motion_module.pth
├── face_locator.pth
├── sd-vae-ft-mse
│ └── ...
├── sd-image-variations-diffusers
│ └── ...
└── audio_processor
└── whisper_tiny.pt
5. 推断
这里我们使用音频驱动,你需要修改./configs/prompts/animation.yaml
,如下:
test_cases:
"path/to/your/image":
- "path/to/your/audio"
然后,
python -u infer_audio2vid.py
不同模型对比
原图:
1. 3s音频
(1). AniTalker:11s+gfpgan19s
AniTalker_3s
(2). SadTalker:3s+gfpgan19s
SadTalker_3s
(3). EchoMimic:3m7s
EchoMimic_s3
(4). AniPortrait:不支持5s以下视频
2. 6s音频
(1). AniTalker:14s+gfpgan32s
AniTalker_6s
(2). SadTalker:5s+gfpgan32s
SadTalker_6s
(3). EchoMimic:4m52s
EchoMimic_6s
(4). AniPortrait:2m10s
AniTalker_6s
3. 评价
- 速度
SadTalker>AniTalker>AniPortrait>EchoMimic - 主观口型评价
EchoMimic>SadTalker>AniPortrait>AniTalker - 主观视觉评价
SadTalker>EchoMimic>AniPortrait>AniTalker