該儲存庫是 AnimateDiff [ICLR2024 Spotlight] 的官方實作。它是一個即插即用模組,可將大多數社群文字到圖像模型轉變為動畫生成器,無需額外培訓。
AnimateDiff:無需特定調整即可為您的個人化文字到圖像擴散模型製作動畫
郭宇偉、楊策源✝、饒安儀、梁正陽、王耀輝、喬宇、Maneesh Agrawala、林大華、戴博(✝通訊作者)
註: main
分支適用於Stable Diffusion V1.5;對於 Stable Diffusion XL,請參閱sdxl-beta
分支。
更多結果可以在圖庫中找到。其中一些是由社區貢獻的。
型號:ToonYou
型號:真實視覺V2.0
注意: AnimateDiff 也得到了 Diffusers 的官方支持。請造訪 AnimateDiff 擴散器教學以了解更多詳細資訊。以下說明適用於使用此儲存庫。
注意:對於所有腳本,檢查點下載都會自動處理,因此第一次執行時腳本運行可能需要更長的時間。
git clone https://github.com/guoyww/AnimateDiff.git
cd AnimateDiff
pip install -r requirements.txt
產生的樣本可以在samples/
資料夾中找到。
python -m scripts.animate --config configs/prompts/1_animate/1_1_animate_RealisticVision.yaml
python -m scripts.animate --config configs/prompts/1_animate/1_2_animate_FilmVelvia.yaml
python -m scripts.animate --config configs/prompts/1_animate/1_3_animate_ToonYou.yaml
python -m scripts.animate --config configs/prompts/1_animate/1_4_animate_MajicMix.yaml
python -m scripts.animate --config configs/prompts/1_animate/1_5_animate_RcnzCartoon.yaml
python -m scripts.animate --config configs/prompts/1_animate/1_6_animate_Lyriel.yaml
python -m scripts.animate --config configs/prompts/1_animate/1_7_animate_Tusun.yaml
python -m scripts.animate --config configs/prompts/2_motionlora/2_motionlora_RealisticVision.yaml
python -m scripts.animate --config configs/prompts/3_sparsectrl/3_1_sparsectrl_i2v.yaml
python -m scripts.animate --config configs/prompts/3_sparsectrl/3_2_sparsectrl_rgb_RealisticVision.yaml
python -m scripts.animate --config configs/prompts/3_sparsectrl/3_3_sparsectrl_sketch_RealisticVision.yaml
我們創建了一個 Gradio 演示,以使 AnimateDiff 更易於使用。預設情況下,演示將在localhost:7860
運行。
python -u app.py
AnimateDiff 旨在學習可應用於穩定擴散家族其他變體的可轉移運動先驗。為此,我們設計了以下由三個階段組成的訓練流程。
在1.減輕負面影響階段,我們訓練域適配器,例如v3_sd15_adapter.ckpt
,以適應訓練資料集中有缺陷的視覺事實(例如,水印)。這也有利於運動和空間外觀的分散學習。預設情況下,適配器可以在推理時刪除。它還可以整合到模型中,並且可以透過 lora 縮放器調整其效果。
在2.學習運動先驗階段,我們訓練運動模組,例如v3_sd15_mm.ckpt
,以從影片中學習真實世界的運動模式。
在3.(可選)適應新模式階段,我們訓練MotionLoRA (例如v2_lora_ZoomIn.ckpt
),以有效地適應特定運動模式(相機縮放、滾動等)的運動模組。
SparseCtrl 旨在透過採用一些稀疏輸入(例如,少量 RGB 圖像或草圖輸入)來為文字到視訊模型添加更多控制。其技術細節可在以下論文中找到:
SparseCtrl:為文字到視訊擴散模型添加稀疏控件
郭宇偉、楊策源✝、饒安儀、Maneesh Agrawala、林大華、戴波(✝通訊作者)
在此版本中,我們使用Domain Adapter LoRA進行圖像模型微調,這在推理時提供了更大的靈活性。我們還實作了兩個(RGB 圖像/塗鴉)SparseCtrl 編碼器,它可以採用任意數量的條件映射來控制動畫內容。
姓名 | 抱臉 | 類型 | 貯存 | 描述 |
---|---|---|---|---|
v3_adapter_sd_v15.ckpt | 關聯 | 網域適配器 | 97.4MB | |
v3_sd15_mm.ckpt.ckpt | 關聯 | 運動模組 | 1.56GB | |
v3_sd15_sparsectrl_scribble.ckpt | 關聯 | SparseCtrl 編碼器 | 1.86GB | 亂寫條件 |
v3_sd15_sparsectrl_rgb.ckpt | 關聯 | SparseCtrl 編碼器 | 1.85GB | RGB 影像條件 |
輸入(由 RealisticVision 提供) | 卡通 | 輸入 | 卡通 |
輸入塗鴉 | 輸出 | 輸入塗鴉 | 輸出 |
在 SDXL 上發布運動模組(測試版),可在 Google Drive / HuggingFace / CivitAI 上取得。可以使用或不使用個人化模型來製作高解析度影片(即具有各種寬高比的 1024x1024x16 幀)。推理通常需要 ~13GB VRAM 和調整的超參數(例如取樣步驟),具體取決於所選的個人化模型。
查看分支 sdxl 以獲取推理的更多詳細資訊。
姓名 | 抱臉 | 類型 | 儲存空間 |
---|---|---|---|
mm_sdxl_v10_beta.ckpt | 關聯 | 運動模組 | 950MB |
原廠 SDXL | 社區SDXL | 社區SDXL |
在此版本中,運動模組mm_sd_v15_v2.ckpt
(Google Drive / HuggingFace / CivitAI) 在更大的解析度和批次大小上進行訓練。我們發現擴大訓練顯著有助於提高運動品質和多樣性。
我們也支援八種基本相機運動的MotionLoRA 。每個模型 MotionLoRA 檢查點僅佔用 77 MB 儲存空間,並可在 Google Drive / HuggingFace / CivitAI 上取得。
姓名 | 抱臉 | 類型 | 範圍 | 貯存 |
---|---|---|---|---|
mm_sd_v15_v2.ckpt | 關聯 | 運動模組 | 453米 | 1.7GB |
v2_lora_ZoomIn.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
v2_lora_ZoomOut.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
v2_lora_PanLeft.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
v2_lora_PanRight.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
v2_lora_TiltUp.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
v2_lora_TiltDown.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
v2_lora_RollingClockwise.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
v2_lora_RollingAnticlockwise.ckpt | 關聯 | 運動LoRA | 19米 | 74MB |
放大 | 縮小 | 向左平移縮放 | 向右平移縮放 | ||||
向上傾斜 | 向下傾斜 | 逆時針滾動 | 順時針滾動 | ||||
這是mm_sd_v15.ckpt
(左)和改進的mm_sd_v15_v2.ckpt
(右)之間的比較。
AnimateDiff 的第一個版本!
姓名 | 抱臉 | 範圍 | 儲存空間 |
---|---|---|---|
mm_sd_v14.ckpt | 關聯 | 417米 | 1.6GB |
mm_sd_v15.ckpt | 關聯 | 417米 | 1.6GB |
詳情請查看培訓步驟。
用於穩定擴散 WebUI 的 AnimateDiff:sd-webui-animatediff(由 @continue-revolution 提供)
ComfyUI 的 AnimateDiff:ComfyUI-AnimateDiff-Evolved(作者:@Kosinkadink)
Google Colab:Colab(@camenduru)
該項目發布用於學術用途。我們對用戶生成的內容不承擔任何責任。另外,請注意,我們唯一的官方網站是 https://github.com/guoyww/AnimateDiff 和 https://animatediff.github.io,所有其他網站與我們在 AnimateDiff 沒有關聯。
郭宇偉:[email protected]
楊策源:[email protected]
戴波:[email protected]
@article{guo2023animatediff,
title={AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning},
author={Guo, Yuwei and Yang, Ceyuan and Rao, Anyi and Liang, Zhengyang and Wang, Yaohui and Qiao, Yu and Agrawala, Maneesh and Lin, Dahua and Dai, Bo},
journal={International Conference on Learning Representations},
year={2024}
}
@article{guo2023sparsectrl,
title={SparseCtrl: Adding Sparse Controls to Text-to-Video Diffusion Models},
author={Guo, Yuwei and Yang, Ceyuan and Rao, Anyi and Agrawala, Maneesh and Lin, Dahua and Dai, Bo},
journal={arXiv preprint arXiv:2311.16933},
year={2023}
}
程式碼庫基於 Tune-a-Video 建置。