AniPortrait - 腾讯开源的照片对口型视频生成框架
发布于 2024-04-08 · AniPortrait是腾讯开源的照片对口型AI视频生成框架,类似于此前阿里推出的EMO,能够通过音频和一张参考肖像图片生成高质量的动画。
AniPortrait是什么
AniPortrait是腾讯开源的照片对口型AI视频生成框架,类似于此前阿里推出的EMO,给它一段音频加一张参考肖像,就能生成质量不错的动画。原理分两步:先从音频里提 3D 面部特征,转成 2D 面部标记点;再用扩散模型和运动模块,把这些标记点变成连贯、逼真的动画。这么做出来的动画自然,变化也多,面部动作还能编辑、能复现。
AniPortrait的官网入口
- GitHub代码库:https://github.com/Zejun-Yang/AniPortrait
- arXiv研究论文:https://arxiv.org/abs/2403.17694
- Hugging Face模型:https://huggingface.co/ZJYang/AniPortrait/tree/main
- Hugging Face Demo:https://huggingface.co/spaces/ZJYang/AniPortrait_official
AniPortrait的功能特性
- 音频驱动的动画生成:音频文件输进去,跟语音同步的面部动画就出来了,嘴唇动作、面部表情、头部姿势都包括在内。
- 高质量的视觉效果:扩散模型配运动模块,出来的肖像动画分辨率高,看着也真。
- 时间一致性:动画在时间上是连贯的,角色动作顺下来,不会突然跳一下或者前后不一致。
- 灵活性和可控性:3D 面部表示当作中间特征,改起来就方便,生成之后还能接着定制、接着调。
- 面部表情和嘴唇动作的精确捕捉:PoseGuider 模块做了改进,加上多尺度策略,嘴唇那些细微动作和复杂表情都抓得住。
- 与参考图像的一致性:参考图像的外观信息会整合到生成过程里,动画和原肖像长得一致,身份对不上号的问题就不会出现。
AniPortrait的工作机制
AniPortrait主要由两个模块组成:Audio2Lmk和Lmk2Video。
1. Audio2Lmk模块(音频到2D面部标记点)
Audio2Lmk 要做的,是从音频里提出 3D 面部网格和头部姿势,网格对应的是表情和嘴唇动作。音频特征先交给预训练的 wav2vec 模型,发音和语调它认得比较准——这一步直接决定面部动画像不像。特征出来之后,过两个全连接层转成 3D 面部网格。头部姿势的预测也用 wav2vec 当骨干,但权重不共享,因为姿势更多跟音频里的节奏、语调相关。姿势序列由 Transformer 解码器来解,音频特征通过交叉注意力喂进去。最后做一次透视投影,3D 网格和姿势信息就成了 2D 面部标记点序列。
2. Lmk2Video模块(2D面部标记点到视频)
Lmk2Video 管的是后半段:拿参考肖像和一系列面部标记点,生成时间上连贯的高质量肖像视频。架构参考了AnimateAnyone的网络架构。骨干用 Stable Diffusion 1.5,加上时间运动模块,多帧噪声进去,一串视频帧出来。外观信息则由 ReferenceNet 从参考图像里取——它的结构和 SD1.5 一样——再并进骨干网络,视频里的面部身份因此能保持一致。嘴唇动作要抓得更准,PoseGuider 模块的设计也做了加强:采 ControlNet 的多尺度策略,参考图像的标记点作为额外输入,通过交叉注意力让参考标记点和每一帧的目标标记点互相作用,面部标记点与外观之间的关系,网络就理解得更透。






0 条评论
暂无评论,来抢沙发。