StableAnimator 介绍
StableAnimator 是一个高质量、身份保持(ID-preserving)的人像动画生成框架,采用视频扩散模型(Video Diffusion Model),能够在不使用任何面部修复或换脸后处理的情况下,生成自然、高清且一致的人物动画。
📌 研究机构:复旦大学、微软亚洲研究院、Huya Inc、卡内基梅隆大学
📌 论文:arXiv 预印版
📌 GitHub:StableAnimator Repository
📌 CVPR 2025 录用 🎉
1. 主要特点
✅ 身份保持(ID-Preserving)
- 许多现有模型(如 AnimateAnyone)在动画过程中容易出现 身份漂移(Identity Drift),导致生成结果不像原始人物。
- StableAnimator 采用全局内容感知的 Face Encoder(面部编码器),确保身份一致性。
✅ 高质量视频生成
- 无需使用 FaceFusion、GFP-GAN、CodeFormer 等后处理工具,就能生成高清动画。
- 采用 Hamilton-Jacobi-Bellman (HJB) 方程优化 进行去噪,使面部细节更清晰。
✅ 端到端(End-to-End)训练
- 直接输入 参考图像 + 动作序列,生成完整动画。
- 训练过程中采用 分布感知 ID 适配器(Distribution-aware ID Adapter),减少时序层的干扰,提高身份一致性。
✅ Pose + ID 结合
- PoseNet 提取人体姿态。
- Face Encoder 保持面部细节,避免 ID 失真。
- 采用 扩散模型,逐步生成连贯的动画帧。
2. 适用场景
StableAnimator 适用于多个 AI 生成动画应用场景:
1️⃣ AI 视频生成
- 将静态人物图像转换为高保真动画。
- 适用于 短视频、影视、社交媒体动画。
2️⃣ 虚拟偶像 & VTuber
- 保持虚拟人物形象一致,增强动画真实性。
- 适用于 AI 驱动的 VTuber 直播、数字人动画。
3️⃣ 影视制作 & 数字营销
- 电影级动画,支持复杂人物运动和相机控制。
- 适用于 广告、短片、动画制作。
4️⃣ 游戏 & 交互式 AI
- 生成 游戏角色动画,适用于 RPG、元宇宙、NPC 交互。
- 增强虚拟世界中的 AI 角色表现力。
3. 使用方法
📌 3.1 环境安装
StableAnimator 需要 Python 3.8+,并推荐使用 CUDA 12.4+:
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
pip install xformers
pip install -r requirements.txt
📌 3.2 下载预训练模型
StableAnimator 依赖 SVD(Stable Video Diffusion) 和 Face Encoder,需要下载相关模型权重:
cd StableAnimator
git lfs install
git clone https://huggingface.co/FrancisRing/StableAnimator checkpoints
StableAnimator/
├── checkpoints
│ ├── DWPose
│ ├── Animation
│ ├── SVD
│ └── inference.zip
📌 3.3 运行推理
StableAnimator 提供了 基础版(basic) 和 HJB 优化版(op) 推理脚本。
1️⃣ 基础版推理
bash command_basic_infer.sh
- 适用于普通 GPU 运行,生成 512×512 或 576×1024 分辨率视频。
2️⃣ HJB 优化版推理
bash command_op_infer.sh
- 采用 HJB 方程优化,增强面部细节,提高身份一致性。
3️⃣ Python 代码推理
from stableanimator import StableAnimatorModel
model = StableAnimatorModel()
output_video = model.animate(image="input.jpg", motion="motion.mp4")
output_video.save("output.mp4")
📌 3.4 运行 Gradio 在线 Demo
python app.py
📌 然后在浏览器中打开 Gradio 界面,进行动画测试。
4. 示例
📌 示例 1:静态人物动画
输入
- 参考图像(静态人物照片)
- 目标动作(人体姿态序列)
代码
output_video = model.animate(image="input.jpg", motion="dance.mp4")
output_video.save("output.mp4")
📌 生成一个高保真的人物动画。
📌 示例 2:身份保持动画
输入
- 参考图像
- Pose 序列
- HJB 优化
代码
output_video = model.animate(image="person.jpg", motion="run.mp4", use_hjb=True)
output_video.save("id_preserve.mp4")
📌 保证动画过程中人物面部一致性。
📌 示例 3:不同姿势的身份保持动画
output_video = model.animate(image="portrait.jpg", motion="boxing.mp4", use_hjb=True)
output_video.save("boxing_animation.mp4")
📌 适用于运动分析、体育动画等场景。
5. 研究背景 & 论文
StableAnimator 由 复旦大学、微软亚洲研究院、卡内基梅隆大学 研究团队开发,并将在 CVPR 2025 发表。
📜 论文引用
@article{tu2024stableanimator,
title={StableAnimator: High-Quality Identity-Preserving Human Image Animation},
author={Shuyuan Tu and Zhen Xing and Xintong Han and Zhi-Qi Cheng and Qi Dai and Chong Luo and Zuxuan Wu},
journal={arXiv preprint arXiv:2411.17697},
year={2024}
}
6. 结论
🔥 StableAnimator 是目前最先进的“身份保持”动画生成框架,适用于高质量视频生成、虚拟偶像、电影制作等场景。
🔹 无需面部修复工具,直接生成高质量动画。
🔹 采用 HJB 方程优化,增强身份一致性。
🔹 端到端扩散模型,输入静态图像 + 运动轨迹,输出完整动画。
💡 如果你想要生成“高质量、身份一致的 AI 动画”,StableAnimator 是最值得尝试的模型之一! 🚀