腾讯开源项目AniPortait!音频+图片+肖像视频
功能:可以生成由音频和参考肖像图像驱动的高质量动画。算法流程分为两个阶段:1. 从音频中提取 3D 中间表示并将其投影到一系列 2D 面部landmark中;2. 采用鲁棒的扩散模型,结合运动模块,将landmark序列转换为逼真且时间一致的肖像动画
结论:在面部自然度、姿势多样性和视觉质量方面的优越性,提供了增强的感知体验。 此外,在灵活性和可控性方面表现出巨大的潜力,可以有效地应用于面部运动编辑或面部重演等领域
开源:开源模型权重与训练框架(部分)
Demo对比:
- 主观感觉没有阿里EMO效果好,官方结论也没有EMO好
- 细节方面,嘴唇、牙齿、脸部边界存在崩溃与都懂得现象
- 支持时长较短(10s)
阶段1:Audio2Lmk
提取一系列脸部的landmark,从音频输入中捕获复杂的面部表情和嘴唇动作。
- 使用wav2vec作为音频编码器+2*FC得到3D面部序列特征
- 使用wav2vec(与1不同参数)作为音频编码器+Transformer解码器得到姿势序列特征
- 使用perspective project将两种特征转换为面部标志的2D序列
阶段2:Lmk2Video
利用这个landmark序列来生成具有时间稳定性的高质量肖像视频。
- 网络参考AnimateAnyone,主干网络是sd1.5,结合一个时间运动模块(橘黄色),将多帧噪声输入转换为连续的视频帧
- Pose Guider采用使用controlnet中multi-scale的训练策略,将相应尺度的标志性特征合并到主干的不同块中
- 将参考图像的landmark作为额外的输入,PoseGuider 的交叉注意力模块促进参考landmark和每帧目标landmark之间的交互。 此过程为网络提供了额外的线索来理解面部标志和外观之间的相关性,从而有助于生成具有更精确运动的肖像动画。
其他Trick
- MediaPipe 提取 3D meshes 和 6D poses for annotations
- Audio2Mesh网络训练使用了未开源的内部数据;Audio2Pose使用HDTF数据集训练;单卡A100训练
- Lmk2Video使用VFHQ和CelebV-HQ数据集,分辨率512x512,4xA100训练
结论
参考
https://arxiv.org/pdf/2403.17694.pdf
https://github.com/Zejun-Yang/AniPortrait
对比阿里的EMO:https://github.com/HumanAIGC/EMO