StableAvatar:开启无限长度音频驱动数字人生成新纪元

在人工智能飞速发展的今天,让虚拟形象(Avatar)根据一段音频就能“开口说话”、甚至唱歌、表演,并且视频长度不受限制,一直是研究者与开发者们追求的目标。今天我们要介绍的这项突破性技术——StableAvatar,正是为解决这一问题而来。

它不仅能够生成无限时长、高保真、身份特征高度一致的数字人视频,更重要的是,它实现了真正的端到端生成,无需依赖任何人脸后处理工具(如FaceFusion、GFP-GAN等),是一项完全自主的合成技术。


一、什么是StableAvatar?

StableAvatar是一个基于扩散变换器(Diffusion Transformer)的音频驱动视频生成模型。你只需要提供一张人物图片和一段音频,它就能生成对应人物口型、表情与音频高度同步的视频,而且视频长度理论上可以无限延长。

🔥 项目地址:https://github.com/Francis-Rings/StableAvatar
📄 论文地址:https://arxiv.org/abs/2508.08248
🧠 模型下载:https://huggingface.co/FrancisRing/StableAvatar

为什么这是一项突破?

现有的音频驱动视频生成模型普遍存在几个问题:

  • 无法生成长视频,容易出现口型不同步;
  • 身份特征难以保持,视频中的人物“越变越不像自己”;
  • 依赖外部后处理工具,流程复杂且效率低。

StableAvatar通过以下几项创新解决了这些问题:

  1. 时间步感知音频适配器(Time-step-aware Audio Adapter):防止误差在生成过程中累积,避免视频片段之间的潜在分布漂移。
  2. 音频原生引导机制(Audio Native Guidance):在推理过程中增强音频与视频的同步性。
  3. 动态加权滑动窗口策略(Dynamic Weighted Sliding-window Strategy):提升无限长度视频的流畅度。

二、效果展示

以下是StableAvatar生成的部分视频示例,全部为直接合成输出,未使用任何后处理工具:

视频1 视频2 视频3
视频4 视频5 视频6
视频7 视频8 视频9

三、技术框架一览

下图展示了StableAvatar的整体架构:

StableAvatar框架图

其核心流程包括:

  • 输入:参考图像 + 驱动音频;
  • 处理:通过定制化的训练与推理模块;
  • 输出:无限长度的高质量视频。

与以往方法最大的不同在于,StableAvatar避免了使用第三方音频提取器,而是通过内部机制实现音频与视频的深度融合,从而显著提升了长视频生成的稳定性。


四、如何快速开始使用?

如果你是一名开发者或研究者,想要亲自体验StableAvatar的强大功能,可以参考下面的步骤。

环境安装

根据你的显卡类型选择以下命令之一:

适用于大多数NVIDIA显卡(CUDA 12.4):

pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
pip install flash_attn  # 可选,用于加速注意力计算

适用于Blackwell系列芯片(如RTX 6000 Pro):

pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
pip install flash_attn

下载模型权重

建议使用Hugging Face官方镜像加速下载:

export HF_ENDPOINT=https://hf-mirror.com
pip install "huggingface_hub[cli]"
mkdir checkpoints
huggingface-cli download FrancisRing/StableAvatar --local-dir ./checkpoints

下载后的文件应组织为如下结构:

StableAvatar/
├── checkpoints
│   ├── Kim_Vocal_2.onnx
│   ├── wav2vec2-base-960h
│   ├── Wan2.1-Fun-V1.1-1.3B-InP
│   └── StableAvatar-1.3B
…

音频提取与人声分离

如果你有一个视频文件(如.mp4),可以先提取音频:

python audio_extractor.py --video_path="path/to/video.mp4" --saved_audio_path="path/to/audio.wav"

为进一步提升口型同步质量,建议分离人声与背景音乐:

pip install audio-separator[gpu]
python vocal_seperator.py --audio_separator_model_file="checkpoints/Kim_Vocal_2.onnx" --audio_file_path="path/to/audio.wav" --saved_vocal_path="path/to/vocal.wav"

运行推理生成视频

使用提供的脚本即可快速生成视频:

bash inference.sh

你可以在inference.sh中修改参数,如分辨率(支持512×512、480×832、832×480)、参考图像路径、音频路径等。

💡 实用提示:

  • 推荐推理步数(sample_steps)为30~50步,步数越多质量越高;
  • 重叠窗口长度(overlap_window_length)建议在5~15之间,越长越平滑但速度越慢;
  • 若显存不足,可设置--GPU_memory_modesequential_cpu_offload,仅需约3GB显存。

添加音频到生成视频

StableAvatar生成的视频不包含音频,你可以使用ffmpeg合并音视频:

ffmpeg -i video_no_audio.mp4 -i audio.wav -c:v copy -c:a aac -shortest output_with_audio.mp4

五、训练你自己的StableAvatar模型

如果你希望在自己的数据集上训练模型,StableAvatar也提供了完整的训练支持。

数据准备

数据集需按以下结构组织:

talking_face_data/
├── square/    # 512x512视频
├── rec/       # 832x480视频
├── vec/       # 480x832视频
└── {speech, singing, dancing}/
    └── {id}/
        ├── images/          # 视频帧
        ├── face_masks/      # 人脸掩码
        ├── lip_masks/       # 嘴唇掩码
        ├── sub_clip.mp4     # 原视频
        └── audio.wav        # 音频

你可以使用FFmpeg提取帧:

ffmpeg -i raw_video.mp4 -q:v 1 -start_number 0 talking_face_data/rec/speech/00001/images/frame_%d.png

提取人脸掩码可参考StableAnimator,嘴唇掩码可使用以下脚本:

python lip_mask_extractor.py --folder_root="talking_face_data/rec/singing" --start=1 --end=500

启动训练

单机训练(512×512):

bash train_1B_square.sh

多机训练(混合分辨率):

bash train_1B_rec_vec_64.sh

训练过程中需注意:

  • 混合分辨率训练约需50GB显存;
  • 推荐使用静态背景的视频片段;
  • 音频应清晰,避免背景噪声过大。

模型微调与LoRA训练

StableAvatar支持全参数微调与LoRA轻量微调:

# 全参数微调
bash train_1B_rec_vec.sh

# LoRA微调
bash train_1B_rec_vec_lora.sh

可通过调整ranknetwork_alpha控制LoRA的质量与拟合能力。


六、硬件要求与性能参考

任务 显存占用 耗时(RTX 4090)
5秒视频(480×832) ~18 GB ~3分钟
训练(混合分辨率) ~50 GB 依赖epoch数
LoRA微调 可降低 显著减少

提示:尽管StableAvatar可生成长达数小时的视频,但解码极长序列时VAE解码器可能需在CPU运行以节省显存。


七、常见问题(FAQ)

Q1:StableAvatar支持哪些分辨率?

目前支持512×512、480×832、832×480三种分辨率,可通过参数灵活设置。

Q2:是否可以用于商业用途?

请查阅项目许可证说明,目前模型权重可通过Hugging Face下载,科研用途免费。

Q3:生成的视频有长度限制吗?

理论上没有上限,但实际受硬件内存限制,可通过滑动窗口机制分段生成。

Q4:是否支持非人脸类视频生成?

当前模型针对人脸优化,但架构本身具备扩展至其他类别物体的潜力。

Q5:如何提升生成视频的口型同步质量?

建议使用人声分离后的音频,并适当提高音频引导系数(sample_audio_guide_scale)。


八、结语

StableAvatar的出现,为音频驱动视频生成领域带来了新的可能性。其无限长度、高保真、身份一致的生成能力,不仅在科研层面具有重要价值,也为虚拟人、数字代言人、在线教育等应用场景提供了实用的工具支持。

如果你对这项技术感兴趣,不妨访问项目主页或下载代码尝试运行。也欢迎在论文或应用中引用该项目,支持开源研究的发展。

@article{tu2025stableavatar,
  title={StableAvatar: Infinite-Length Audio-Driven Avatar Video Generation},
  author={Tu, Shuyuan and Pan, Yueming and Huang, Yinming and Han, Xintong and Xing, Zhen and Dai, Qi and Luo, Chong and Wu, Zuxuan and Jiang Yu-Gang},
  journal={arXiv preprint arXiv:2508.08248},
  year={2025}
}