文章地址:https://arxiv.org/abs/2403.17694
项目代码:https://github.com/Zejun-Yang/AniPortrait
01 导言
前段时间阿里的EMO让人狂喜,可惜不开源(此处省略一万字),想白嫖都不行。今日腾讯趁机推出AniPortrait,demo上看效果跟Emo相差不是很大,只能说这一波腾讯赢麻了。
AniPortrait,这是一个由音频和参考图像驱动的高质量动画生成的新框架。
方法分为两个阶段:
(1)首先,从音频中提取3D中间表示,并将其投影到一系列2D面部landmarks中。
(2)随后,采用鲁棒扩散模型,加上运动模块,将landmarks序列转换为逼真且时间一致的肖像动画。
实验结果表明AniPortrait在面部自然度、姿态多样性和视觉质量方面具有优势,从而提供了增强的感知体验。此外,AniPortrait方法在灵活性和控制不稳定性方面表现出相当大的潜力,可以有效地应用于面部动作编辑或面部再现等领域。
02 方法
AniPortrait包含两个模块,即Audio2Lmk和Lmk2Video。Audio2Lmk旨在从音频输入中提取一系列landmarks,捕捉复杂的面部表情和嘴唇动作。Lmk2Video利用这个具有里程碑意义的序列来生成具有时间稳定性的高质量人像视频。整体框架如下:
AniPortrait整体框架
(第一阶段从音频中提取三维面部网格和头部姿态,然后将这两个元素投影到二维关键点上,第二阶段利用扩散模型将2D关键点转换为人像视频)
2.1 Audio2Lmk
同时使用预训练的wav2vec来提取音频特征。wav2vec该模型具有高度的泛化性,能够准确地识别语音和语调,这对于生成逼真的面部动画起着关键作用。通过利用所获得的鲁棒语音特征,可以有效地采用由两个fc层组成的简单架构将这些特征转换为3D面部网格。这种简单的设计不仅保证了准确性,而且提高了推理过程的效率。
在将音频转换为姿态的任务中,使用相同的wav2vec网络作为主干,但是不与audio-to-mesh共享权重。这是因为姿势与音频中的节奏和音调联系更紧密,这与音频到网格任务的重点不同。为了考虑先前状态的影响,我们使用transformer解码器来解码姿势序列。在此过程中,音频特征通过交叉注意机制集成到解码器中,上述两个模块使用简单的L1损失来训练
在获得网格和姿态序列后,使用透视投影将它们转换为二维面部landmarks序列。这些landmarks随后被用作下一阶段的输入信号。
2.2 Lmk2Video
与AnimateAnyone不同的是,Lmk2Video增强了poseguide设计的复杂性。原始版本仅包含几个卷积层,之后landmark特征与骨干输入层的潜在特征合并。实验发现,这种基本的设计在捕捉嘴唇的复杂运动方面是不够的。因此,最终采用ControlNet的多尺度策略,将相应尺度的landmark特征整合到主干的不同块中。
此外引入了一个额外的改进:包含参考图像的landmark作为额外的输入。PoseGuider的交叉注意模块促进了参考landmark和每帧目标landmark之间的交互。这个过程为网络提供了额外的线索来理解面部landmark和外观之间的相关性,从而帮助生成具有更精确运动的肖像动画。
03 效果展示
音频和参考图驱动
面部再现
用户提供一段视频,实现在新的肖像上复现视频中人物的面部表情和动作。
04 结论和展望
AniPortrait通过简单地输入音频片段和参考图像,该框架能够生成具有平滑嘴唇运动和自然头部运动的人像视频。利用扩散模型的强大泛化能力,该框架创建的动画显示出令人印象深刻的逼真图像质量和令人信服的逼真运动。然而,这种方法需要使用中间的三维表示,并且获得大规模、高质量的三维数据的成本相当高。因此,生成的人像视频中的面部表情和头部姿势都无法逃脱恐怖谷效应。在未来,作者计划遵循EMO的方法,直接从音频中预测人像视频,以获得更惊人的生成结果。