AI 模型与平台

AniPortrait:基于音频的逼真肖像动画合成

mm

这些年来,静态图像和音频的逼真肖像动画创建已发现了广泛的应用,包括游戏、数字媒体、虚拟现实等。尽管其潜在应用,但开发人员仍然难以创建能够生成高质量动画的框架,这些动画保持时间一致性,视觉效果也很吸引人。主要原因是需要复杂的嘴唇运动、头部位置和面部表情的协调,以创造视觉效果。

在本文中,我们将讨论AniPortrait,一种新颖的框架,旨在使用参考图像和音频样本生成高质量的动画。AniPortrait框架的工作分为两个阶段。首先,AniPortrait框架从音频样本中提取中间3D表示,并将其投影到2D面部标志物序列中。然后,框架使用强大的扩散模型和运动模块,将标志物序列转换为时间一致且逼真的动画。实验结果表明AniPortrait框架能够生成高质量的动画,具有出色的视觉质量、姿势多样性和面部自然性,从而提供增强和丰富的感知体验。此外,AniPortrait框架在可控性和灵活性方面具有显著的潜力,可以有效地应用于面部reenactment、面部运动编辑等领域。本文旨在深入介绍AniPortrait框架,探讨其机制、方法、架构以及与最先进框架的比较。让我们开始吧。

AniPortrait:逼真肖像动画

创建逼真和富有表现力的肖像动画已成为研究人员的重点,考虑到其令人难以置信的潜力和应用范围,涵盖数字媒体、虚拟现实、游戏等。尽管经过多年的研究和开发,但生成高质量动画的难题仍然存在,尤其是保持时间一致性和视觉吸引力。开发人员面临的主要障碍是需要复杂的头部位置、视觉表达和嘴唇运动的协调,以创造视觉效果。现有的方法未能解决这些挑战,主要是因为它们依赖于有限的生成器,如NeRF、基于运动的解码器和GAN,用于视觉内容创建。这些网络表现出有限的泛化能力,并且不稳定地生成高质量内容。然而,扩散模型的出现促进了高质量图像的生成,一些基于扩散模型和时间模块的框架促进了引人入胜的视频的创建,使扩散模型脱颖而出。

在扩散模型的基础上,AniPortrait框架旨在使用参考图像和音频样本生成高质量的动画肖像。AniPortrait框架的工作分为两个阶段。在第一个阶段,AniPortrait框架使用基于变换器的模型从音频输入中提取3D面部网格和头部姿势序列,并将其投影到2D面部标志物序列中。第一个阶段使AniPortrait框架能够从音频中捕捉嘴唇运动和细微表达,以及与音频节奏同步的头部运动。第二阶段,AniPortrait框架使用强大的扩散模型和运动模块,将面部标志物序列转换为时间一致且逼真的动画肖像。更具体地说,AniPortrait框架借鉴了AnimateAnyone模型的网络架构,该模型使用Stable Diffusion 1.5,一个强大的扩散模型,根据参考图像和身体运动序列生成逼真和流畅的动画。值得注意的是,AniPortrait框架没有使用AnimateAnyone框架中的姿势引导模块,而是重新设计了它,使AniPortrait框架不仅保持轻量级设计,还表现出生成嘴唇运动的增强精度。

实验结果表明AniPortrait框架在创建具有出色视觉质量、姿势多样性和面部自然性的动画方面的优势。通过使用3D面部表示作为中间特征,AniPortrait框架获得了修改这些表示以满足其需求的灵活性。这种适应性显著增强了AniPortrait框架在面部reenactment和面部运动编辑等领域的适用性。

AniPortrait:工作原理和方法

所提出的AniPortrait框架由两个模块组成,即Lmk2Video和Audio2Lmk。Audio2Lmk模块尝试从音频输入中提取一系列标志物,以捕捉复杂的嘴唇运动和面部表达,而Lmk2Video模块使用此标志物序列生成具有时间一致性和视觉吸引力的肖像视频。以下图表展示了AniPortrait框架的工作概述。如图所示,AniPortrait框架首先从音频中提取3D面部网格和头部姿势,并将其投影到2D关键点中。在第二阶段,框架使用扩散模型将2D关键点转换为具有时间一致性的肖像视频,两个阶段在网络中同时训练。

Audio2Lmk

对于给定的语音片段序列,AniPortrait框架的主要目标是预测对应的3D面部网格序列,具有平移和旋转的向量表示。AniPortrait框架使用预训练的wav2vec方法提取音频特征,该模型表现出高泛化能力,能够从音频中准确识别语调和发音,这对于生成逼真面部动画至关重要。通过利用获得的强大语音特征,AniPortrait框架能够有效地使用简单的架构,包括两个全连接层,将这些特征转换为3D面部网格。AniPortrait框架观察到,这种简单的设计不仅增强了推理过程的效率,还确保了准确性。当将音频转换为姿势时,AniPortrait框架使用相同的wav2vec网络作为骨干,尽管模型与音频到网格模块不共享权重。这主要是因为姿势与音频中的语调和节奏更相关,这与音频到网格任务有不同的强调。为了考虑到前一状态的影响,AniPortrait框架使用变换器解码器来解码姿势序列。在此过程中,框架使用跨注意力机制将音频特征集成到解码器中,并且两个模块都使用L1损失进行训练。一旦模型获得姿势和网格序列,AniPortrait框架使用透视投影将这些序列转换为2D面部标志物序列,然后将其用作下一阶段的输入信号。

Lmk2Video

对于给定的参考肖像图像和面部标志物序列,所提出的Lmk2Video模块创建一个时间一致的肖像动画,该动画与标志物序列的运动一致,并保持与参考图像一致的外观,最后,框架将肖像动画表示为肖像帧序列。Lmk2Video的网络结构设计借鉴了现有的AnimateAnyone框架。AniPortrait框架使用Stable Diffusion 1.5,一个极其强大的扩散模型作为其骨干,并集成了一个时间运动模块,该模块有效地将多帧噪声输入转换为视频帧序列。同时,ReferenceNet网络组件模仿了Stable Diffusion 1.5的结构,并使用它从参考图像中提取外观信息,并将其集成到骨干中。这种战略设计确保面部ID在整个输出视频中保持一致。不同于AnimateAnyone框架,AniPortrait框架增强了PoseGuider的设计复杂性。AnimateAnyone框架的原始版本仅包含几个卷积层,然后标志物特征与骨干的输入层合并。AniPortrait框架发现这种设计在捕捉嘴唇的细微运动方面存在不足,并为了解决这个问题,框架采用了ConvNet架构的多尺度策略,并将对应尺度的标志物特征集成到骨干的不同块中。另外,AniPortrait框架引入了额外的改进,包括参考图像的标志物作为额外的输入。PoseGuider组件的跨注意力模块促进了目标标志物与参考标志物之间的交互,这为网络提供了额外的线索,以理解外观和面部标志物之间的相关性,从而有助于生成具有更精确运动的肖像动画。

AniPortrait:实现和结果

对于Audio2Lmk阶段,AniPortrait框架采用wav2vec2.0组件作为其骨干,并利用MediaPipe架构提取3D网格和6D姿势以进行注释。模型从其内部数据集中获取Audio2Mesh组件的训练数据,该数据集包含大约60分钟的高质量语音数据,来源于单个演讲者。为了确保MediaPipe组件提取的3D网格稳定,演讲者被指示在整个录音过程中面对摄像头并保持稳定的头部位置。对于Lmk2Video模块,AniPortrait框架实施了两阶段训练方法。在第一阶段,框架专注于训练ReferenceNet和PoseGuider,骨干的2D组件,并排除运动模块。在第二阶段,AniPortrait框架冻结所有其他组件,并专注于训练运动模块。对于这一阶段,框架使用两个大型高质量面部视频数据集来训练模型,并使用MediaPipe组件处理所有数据以提取2D面部标志物。另外,为了增强网络对嘴唇运动的敏感性,AniPortrait模型在渲染2D标志物的姿势图像时使用不同的颜色区分上下嘴唇。

如以下图像所示,AniPortrait框架生成了一系列动画,展示了卓越的质量和现实感。

然后,框架利用中间3D表示,可以编辑以操纵输出以满足要求。例如,用户可以从某个源提取标志物并改变其ID,从而允许AniPortrait框架创建面部reenactment效果。

最后的思考

在本文中,我们讨论了AniPortrait,一种新颖的框架,旨在使用参考图像和音频样本生成高质量的动画。通过简单地输入参考图像和音频片段,AniPortrait框架能够生成具有自然头部运动和平滑嘴唇运动的肖像视频。通过利用扩散模型的强大泛化能力,AniPortrait框架生成的动画展示了令人印象深刻的逼真图像质量和生动的运动。AniPortrait框架的工作分为两个阶段。首先,AniPortrait框架从音频样本中提取中间3D表示,并将其投影到2D面部标志物序列中。然后,框架使用强大的扩散模型和运动模块,将标志物序列转换为时间一致且逼真的动画。实验结果表明AniPortrait框架能够生成高质量的动画,具有出色的视觉质量、姿势多样性和面部自然性,从而提供增强和丰富的感知体验。此外,AniPortrait框架在可控性和灵活性方面具有显著的潜力,可以有效地应用于面部reenactment、面部运动编辑等领域。

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。