AniTalker通过一个静态的肖像画和输入音频,生成生动多样的说话面部动画视频。该框架不仅仅着重于嘴唇同步这样的言语线索,而且能够捕捉到面部表情和非言语线索的复杂动态。 <p data-immersive-translate-paragraph="1" data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong>AniTalker 能实现的效果包括:</strong></p> <ol data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">面部动画生成</strong>:通过输入静态的人像和音频信号,AniTalker 可以生成说话的面部动画。这种动画不仅包括口型同步,还包括与说话内容匹配的面部表情和头部动作。</p> </li> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">多样化和可控性</strong>:集成的扩散模型和方差适配器允许生成具有高度多样性和可控性的动画。这意味着可以根据不同的输入和参数设置,生成各种不同表情和动作的面部动画。</p> </li> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">真实感和动态表现</strong>:AniTalker 的动画不仅外观真实,动作流畅,还能很好地捕捉细微的面部动态和复杂的非言语信息,如眨眼、微笑等。</p> </li> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">长视频生成</strong>:AniTalker 可以生成较长的面部动画视频,演示视频显示,最长可以超过3分钟,适用于多种应用场景,如虚拟助理、数字人物表演等。</p> </li> </ol> [video width="640" height="480" mp4="https://img.xiaohu.ai/2024/05/8_ablation_studies.mp4"][/video] <h3>技术方法</h3> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">AniTalker 的技术方法原理是通过先进的自监督学习和扩散模型技术来生成动态和真实的说话面部动画。</p> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><img class="aligncenter size-large wp-image-7783" src="https://img.xiaohu.ai/2024/05/method_overview-1-1024x497.png" alt="" width="1024" height="497" /></p> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">以下是这些技术原理的详细介绍:</p> <h5 data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">1. <strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">通用运动表示</strong></h5> <strong>运动和身份信息的解耦</strong> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">AniTalker 通过解耦身份和运动信息来提升动画的普适性和精确性。这是通过两个并行的编码器实现的:</p> <ul data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">身份编码器</strong>:负责提取面部图像的身份特征。</li> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">运动编码器</strong>:负责捕捉与语音或视频输入相关的动态面部运动。</li> </ul> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">通过最小化这两个编码器输出之间的互信息,确保运动信息中不含有身份特征,从而使得生成的面部动画不仅真实,还能保持与原图像身份的一致性。</p> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong>度量学习</strong></p> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">在身份编码器中应用度量学习,以增强模型对不同身份的区分能力。这通常通过对比学习实现,其中利用正样本(同一人的不同表情图像)和负样本(不同人的图像)来训练模型,使得相同身份的图像在特征空间中距离更近,不同身份的图像距离更远。</p> <h5 data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">2. <strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">自监督学习策略</strong></h5> <ul> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong>目标视频帧重建</strong></li> </ul> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">在不依赖于显式标记的情况下,模型通过自监督学习从视频中学习面部运动。通过预测从源图像到目标图像的变化(例如,表情变化或头部运动),模型能够自主学习如何生成逼真的面部动态。</p> <ul> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong>互信息最小化</strong></li> </ul> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">通过最小化身份编码器和运动编码器输出之间的互信息,进一步强化运动信息与身份信息的分离。这种方法通常使用基于神经网络的互信息估计技术(例如 MINE 或 CLUB)来实现。</p> <h5 data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">3. <strong data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">扩散模型与方差适配器</strong></h5> <ul> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong>扩散模型</strong></li> </ul> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">扩散模型在生成任务中表现出色,尤其是在图像和视频生成领域。AniTalker 采用扩散模型来生成连续和多样化的面部动画序列。扩散模型通过逐步引入和消除噪声,模拟从无序状态到有序状态的过程,从而生成具有高度真实感的面部动画。</p> <ul> <li data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a"><strong>方差适配器</strong></li> </ul> <p data-immersive-translate-walked="e2f6f458-281d-40fb-93e7-164abc96e11a">方差适配器允许在生成过程中调整动画的特定属性,例如表情的强度或动作的速度。这通过调整模型输出的方差来实现,从而提供对生成动画的更细粒度控制。</p> <h3>案例展示</h3> <ul> <li><strong><span lang="zh-CN" data-immersive-translate-translation-element-mark="1">音频驱动的会说话的面部视频生成</span></strong></li> </ul> [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/05/1_audio_driven_1_realism.mp4"][/video] <p style="text-align: center;">英文语言</p> [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/05/1_audio_driven_2_realism.mp4"][/video] <p style="text-align: center;">中文语言</p> [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/05/1_audio_driven_3_cartoon.mp4"][/video] [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/05/1_audio_driven_4_statue.mp4"][/video] <p style="text-align: center;"><span lang="zh-CN" data-immersive-translate-translation-element-mark="1">雕像/漫画</span></p> [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/05/2_video_driven_same_identity.mp4"][/video] [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/05/2_video_driven_cross_identity.mp4"][/video] <p style="text-align: center;"><span lang="zh-CN" data-immersive-translate-translation-element-mark="1">交叉/自我再现</span></p> <ul> <li><strong><span lang="zh-CN" data-immersive-translate-translation-element-mark="1">长视频生成</span></strong></li> </ul> [video width="960" height="720" mp4="https://img.xiaohu.ai/2024/05/6_long_video_generation-1.mp4"][/video] <p style="text-align: center;"><strong><span lang="zh-CN" data-immersive-translate-translation-element-mark="1">(火星故事)</span></strong></p> [video width="640" height="480" mp4="https://img.xiaohu.ai/2024/05/6_long_video_generation-2.mp4"][/video] <p style="text-align: center;"><strong><span lang="zh-CN" data-immersive-translate-translation-element-mark="1">(蒙娜丽莎)</span></strong></p> 项目及演示:<a href="https://x-lance.github.io/AniTalker/" target="_blank" rel="noopener">https://x-lance.github.io/AniTalker/</a> 论文:<a href="https://arxiv.org/abs/2405.03121" target="_blank" rel="noopener">https://arxiv.org/abs/2405.03121</a> GitHub:<a href="https://github.com/X-LANCE/AniTalker" target="_blank" rel="noopener">https://github.com/X-LANCE/AniTalker</a>