Francis-Rings/StableAvatar
[NeurIPS2026] We present StableAvatar, the first end-to-end video diffusion transformer, which synthesizes infinite-length high-quality audio-driven avatar videos without any post-processing, conditioned on a reference image and audio.
StableAvatar – 无限长度音频驱动虚拟人物视频生成
这是什么
- 一个研究级的视频扩散模型,可从单张参考图片和音频轨道生成说话头像/虚拟人物视频。
- 与先前的音频驱动生成器不同,StableAvatar 可以生成无限制的视频长度,同时保持主体的身份和唇形同步准确,无需任何后处理(无需换脸或修复步骤)。
关键技术理念
| 组件 | 用途 |
|---|---|
| 时间步感知音频适配器 | 在每个扩散时间步调制音频嵌入,以阻止通常会破坏长片段生成的潜在漂移。 |
| 音频原生引导 | 使用模型自身不断演变的音频潜在预测作为动态引导,在推理期间加强唇形同步。 |
| 动态加权滑动窗口 | 重叠连续的生成窗口并混合潜在变量,从而在任意长的视频中实现平滑过渡。 |
| 视频扩散转换器(DiT)骨干 | 一个 1.3B 参数的转换器(Wan2.1),在混合分辨率的说话脸部数据集(512×512、480×832、832×480)上训练。 |
你可以用它做什么
- 从任何肖像图片和语音/音频文件生成三种分辨率(512×512、480×832、832×480)的无限虚拟人物片段。
- 微调模型或训练 LoRA 适配器以实现自定义身份或风格(提供了训练脚本和 LoRA 代码)。
- 在单个 GPU 上运行推理(使用 CPU 卸载约 3GB 内存),或使用提供的
multiple_gpu_inference.sh脚本扩展到多 GPU 设置。 - 将模型集成到 Gradio、ComfyUI 或 Hugging Face Spaces 中,用于交互式演示。
快速入门摘要
- 安装 确切的 PyTorch 2.6(或 Blackwell GPU 的 2.7)以及
requirements.txt中的其他依赖项。 - 下载 来自 Hugging Face 仓库(
FrancisRing/StableAvatar)的检查点。 - 准备 一个音频文件(可选使用
audio-separator[gpu]进行人声分离)。 - 运行
bash inference.sh(或python app.py以启动 Gradio UI)。调整--width、--height、--sample_steps、--overlap_window_length和引导比例以权衡质量与速度。 - 合并 如果需要带声音的 MP4,请使用
ffmpeg将无声输出视频与原始音频结合。
训练数据布局
- 仓库期望一个
talking_face_data/文件夹,其中包含三个分辨率分支(square、vec、rec)。 - 每个分支包含 speech、singing 和 dancing 的子文件夹;内部是每个片段的目录,包含
sub_clip.mp4、audio.wav、images/、face_masks/和lip_masks/。 - 提供了脚本来提取帧、人声轨道、脸部掩码(通过配套的 StableAnimator 仓库)和唇部掩码(mediapipe)。
硬件注意事项
- 基本推理使用
sequential_cpu_offload约需 3GB GPU 内存。 - 为了更快的生成,可以安装
flash_attn。 - 多 GPU 推理使用
--ulysses_degree×--ring_degree方案;可以使用--fsdp_dit启用 FSDP。
资源
- 项目页面、论文(arXiv 2508.08248)、Hugging Face 模型中心、演示 Space、YouTube/Bilibili 视频。
- 代码根据仓库的许可证开源(请参阅
LICENSE)。
谁可能使用它
- 探索长格式音频驱动视频合成的研究人员。
- 需要高保真说话头像虚拟人物用于虚拟主持人、游戏或教育的创作者。
- 开发需要即插即用虚拟人物生成器的 UI 工具(Gradio、ComfyUI)的开发者。
相关
- 项目
- 项目
- 项目
- 项目