Animate Anyone 是阿里巴巴 HumanAIGC 团队的一项研究项目,能将单张照片转变为人物行走、跳舞或执行任何姿势序列的完整动画视频——同时以非凡的保真度维持角色的身份、服装和外观。它代表了使用扩散模型进行图像到视频合成最令人印象深刻的应用之一。
Animate Anyone 解决的核心技术挑战是时间一致性与身份保留。先前从单张图片进行角色动画的方法存在闪烁、外观漂移以及丢失服装图案或面部特征等细节的问题。Animate Anyone 的创新是一种参考引导扩散架构,将输入图像的外观特征以多个尺度注入生成视频的每一帧。
该系统使用 ReferenceNet——共享权重的扩散主干精确复制——从参考图片提取详细的外观特征。这些特征通过交叉注意力层融合到去噪过程中,确保生成的每个帧中的角色看起来与原始角色一致。一个独立的姿势引导器模块整合来自 DensePose 或 OpenPose 的骨架关键点,以控制角色在整部视频中的身体定位。
Animate Anyone 的架构是如何运作的?
flowchart TD
A[参考图片\n单张照片] --> B[ReferenceNet\n外观编码器]
A --> C[姿势引导器]
D[姿势序列\n每帧骨架] --> C
B --> E[交叉注意力\n特征注入]
C --> F[空间控制]
E --> G[去噪 U-Net\n多步扩散]
F --> G
G --> H[噪声偏移\n生成器]
G --> I[潜在帧\n解码器]
H --> J[帧 1]
H --> K[帧 2]
H --> L[帧 N]
J --> M[最终\n视频输出]
K --> M
L --> M主要功能
| 功能 | 描述 | 质量 |
|---|---|---|
| 全身动画 | 行走、跑步、跳舞、跳跃 | 优秀 |
| 服装一致性 | 图案、标志、纹理保留 | 非常好 |
| 面部身份 | 面部在帧之间保持可识别 | 良好 |
| 手部细节 | 复杂的手部姿势 | 中等(已知限制) |
| 长视频(10+ 秒) | 有姿势变化的长序列 | 良好 |
| 多角色 | 每次执行单一角色 | 不适用 |
| 背景保留 | 原始背景维持 | 中等 |
如何试用
本地安装
git clone https://github.com/HumanAIGC/AnimateAnyone.git
cd AnimateAnyone
pip install -r requirements.txt
wget https://huggingface.co/HumanAIGC/AnimateAnyone/resolve/main/model.pth
python inference.py \
--reference ./input/photo.jpg \
--pose ./poses/dance_sequence.pkl \
--output ./output/video.mp4
社区实现
| 项目 | 描述 | 链接 |
|---|---|---|
| AnimateAnyone Replica | 提高效率的干净重新实现 | GitHub |
| Hugging Face 演示 | 在线试用,无需安装 | HF Spaces |
技术规格
| 规格 | 详情 |
|---|---|
| 基础模型 | Stable Diffusion 1.5(微调) |
| 最小 VRAM | 16 GB |
| 建议 VRAM | 24 GB |
| 最大分辨率 | 768 x 768(基础) |
| 支持的姿势源 | DensePose, OpenPose, 自定义骨架序列 |
| 许可证 | Apache-2.0 |
| 输出格式 | MP4 视频 |
| 推理时间 | 30 秒 – 5 分钟(取决于 GPU) |
常见问题
什么是 Animate Anyone? 阿里巴巴 HumanAIGC 的项目,从单张参考图片为人类角色制作动画,生成人物执行各种动作的视频,同时维持身份、服装和外观的一致性。
如何维持角色一致性? 通过 ReferenceNet 共享权重与扩散主干,从参考图片提取外观特征,并在多个尺度上通过交叉注意力注入去噪过程。
使用什么许可证? Apache-2.0 许可证,允许商业使用、修改和分发。
有社区实现吗? 是的,包括 AnimateAnyone Replica 项目和 Hugging Face Spaces。
需要什么硬件? 最小 16 GB VRAM GPU,建议 24 GB+。
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!