AniTalker - 上海交大开源的对口型说话视频生成框架
发布于 2024-05-11 · AniTalker是由来自上海交大X-LANCE实验室和思必驰AISpeech的研究人员推出的AI对口型说话视频生成框架,能够将单张静态人像和输入的音频转换成栩栩如生的动画对话视频。
AniTalker是什么
AniTalker是由来自上海交大X-LANCE实验室和思必驰AISpeech的研究人员推出的AI对口型说话视频生成框架,能把一张静态人像和一段音频变成会说话的动画视频。框架用自监督学习来捕捉面部的细微动态,微妙的表情和头部动作都包括在内。AniTalker 靠通用运动表示和身份解耦技术,降低了对标注数据的依赖;再结合扩散模型和方差适配器,生成的动画既有多样性也能控制,可实现类似阿里EMO和腾讯AniPortrait的效果。
AniTalker的主要功能
- 静态肖像动画化:AniTalker能把任何一张单人人脸肖像变成动态视频,视频里的人物会说话,表情也会变。
- 音频同步:输入的音频会和人物唇动、说话节奏对上,出来的对话看着自然。
- 面部动态捕捉:除了唇动同步,AniTalker还能做出一系列复杂表情,连细微的肌肉运动也能模拟。
- 多样化动画生成:借助扩散模型,AniTalker生成的面部动画会带一些随机变化,内容看着自然,也不会每次都一样。
- 实时面部动画控制:用户可以给控制信号,实时调整动画生成,头部姿势、面部表情、眼睛运动这些都能管。
- 语音驱动的动画生成:直接拿语音信号就能生成动画,不需要再补视频输入。
- 长视频连续生成:AniTalker可以连续生成长时间动画,长对话、长演讲这类场景用得上。
AniTalker的官网入口
- 官方项目主页:https://x-lance.github.io/AniTalker/
- GitHub源码库:https://github.com/X-LANCE/AniTalker
- arXiv研究论文:https://arxiv.org/abs/2405.03121
AniTalker的工作原理
- 运动表示学习:AniTalker用自监督学习训练了一个通用运动编码器,专门捕捉面部动态。做法是从视频里取源图像和目标图像,靠重建目标图像来学习运动信息。
- 身份与运动解耦:为了让运动表示里不带身份信息,AniTalker用了度量学习和互信息最小化。前者帮模型分清不同个体的身份,后者让运动编码器只管运动、不管身份特征。
- 分层聚合层(HAL):引入HAL( Hierarchical Aggregation Layer),让运动编码器能理解不同尺度的运动变化。HAL 靠平均池化层和加权和层,把图像编码器不同阶段的信息汇总到一起。
- 运动生成:运动编码器训好之后,AniTalker就能按用户给的驱动信号生成运动表示,管道分视频驱动和语音驱动两条。
- 视频驱动管道:用驱动者的视频序列给源图像做动画,姿势和面部表情都照着复刻。
- 语音驱动管道:语音驱动则是另一条路:按语音信号或其他控制信号生成视频,画面和输入音频对得上。
- 扩散模型和方差适配器:语音驱动这条路上,AniTalker用扩散模型生成运动潜在序列,再用方差适配器做属性控制,动画因此既有多样性也能调。
- 渲染模块:最后由图像渲染器按运动潜在序列逐帧渲染,输出动画视频。
- 训练和优化:AniTalker的训练用了好几个损失函数——重建损失、感知损失、对抗损失、互信息损失和身份度量学习损失,一起约束模型表现。
- 控制属性特征:用户可以调头部姿态和相机参数,比如头部位置、面部大小,生成带指定属性的动画。
AniTalker的应用场景
- 虚拟助手和客服:AniTalker能生成逼真的虚拟面孔,放在虚拟助手或在线客服里,交互起来更自然、也更亲近。
- 电影和视频制作:电影后期制作里,AniTalker能生成或修改演员的面部表情和动作,尤其是原始表演没拍到的那些镜头。
- 游戏开发:游戏开发者可以用AniTalker给角色做逼真的面部动画,沉浸感和角色表现力都会好一些。
- 视频会议:视频会议里,AniTalker可以给参与者套一张虚拟面孔,需要保护隐私或者想加点趣味时挺合适。
- 社交媒体:用户可以拿AniTalker捏一个自己的虚拟形象,在社交媒体上交流、分享。
- 新闻播报:AniTalker能生成虚拟新闻主播,自动播报新闻,需要多语种播报时尤其省事。
- 广告和营销:企业可以用AniTalker做出有吸引力的虚拟角色,拿去做广告宣传或品牌代言。






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