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管線分四個階段運作:
- 參考編碼:輸入影像通過 ReferenceNet,其權重與去噪主幹共享。這會產生多尺度特徵圖,在不同細節層級捕捉角色的外觀。
- 姿勢處理:對於每個目標幀,提取姿勢骨架(來自 DensePose 或 OpenPose)並由姿勢引導器編碼。這告訴模型每個身體部位在每個幀中應在何處。
- 去噪:去噪 U-Net 根據參考特徵(外觀)和姿勢特徵(動作)條件生成每個幀。交叉注意力層將參考外觀融合到每個空間位置。
- 時間精煉:時間層確保連續幀之間的平滑過渡,減少閃爍並維持動作連貫性。
它提供哪些角色動畫功能?
| 功能 | 描述 | 品質 |
|---|---|---|
| 全身動畫 | 行走、跑步、跳舞、跳躍 | 優秀 |
| 服裝一致性 | 圖案、標誌、紋理保留 | 非常好 |
| 面部身份 | 面部在幀之間保持可識別 | 良好 |
| 手部細節 | 複雜的手部姿勢 | 中等(已知限制) |
| 長影片(10+ 秒) | 有姿勢變化的長序列 | 良好(隨時間略有退化) |
| 多角色 | 每次執行單一角色 | 不適用(一次一個角色) |
| 背景保留 | 原始背景維持 | 中等(較簡單背景效果最佳) |
如何試用 Animate Anyone?
本機安裝
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 已發布明確的使用指南:
- 未經明確同意,不得生成真實人物的影片
- 不得用於 Deepfake 創作、騷擾或虛假資訊
- 不得生成不當或有害內容
社群實作通常包含類似的道德指南,有些包括自動內容過濾。Apache-2.0 授權將道德使用的責任置於最終使用者身上。
常見問題
什麼是 Animate Anyone?它能做什麼? 阿里巴巴 HumanAIGC 的 Animate Anyone 從單張參考圖片為人類角色製作動畫——生成人物執行各種動作的影片,同時維持身份、服裝和外觀的一致性。
Animate Anyone 如何維持角色一致性? 透過 ReferenceNet 共享權重與擴散主幹,從參考圖片提取外觀特徵,並在多個尺度上透過交叉注意力將其注入去噪過程。
使用什麼授權條款? Apache-2.0 授權,允許商業使用、修改和散佈。道德使用指南不鼓勵惡意應用。
有社群實作或分支嗎? 是的,有多個社群實作,包括 AnimateAnyone Replica 專案和用於線上測試的 Hugging Face Spaces。
需要什麼硬體? 最小 16 GB VRAM GPU,建議 24 GB+。雲端 GPU 服務是可行的替代方案。
延伸閱讀
- Animate Anyone GitHub 儲存庫 – 官方原始碼、模型權重和文件
- Animate Anyone 研究論文 – 詳細說明架構和實驗結果的學術論文
- AnimateAnyone Replica 社群專案 – 提高推論效率的乾淨社群重新實作
- Stable Diffusion 基礎 – Animate Anyone 所基於的底層擴散模型
- 阿里巴巴 HumanAIGC – 阿里巴巴 HumanAIGC 研究小組的出版品與專案
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!