พื้นที่เก็บข้อมูลนี้เป็นการใช้งานอย่างเป็นทางการของ AnimateDiff [ICLR2024 Spotlight] เป็นโมดูล Plug-and-Play ที่เปลี่ยนโมเดลข้อความเป็นรูปภาพในชุมชนส่วนใหญ่ให้เป็นตัวสร้างแอนิเมชั่น โดยไม่จำเป็นต้องฝึกอบรมเพิ่มเติม
AnimateDiff: สร้างภาพเคลื่อนไหวแบบจำลองการแพร่กระจายข้อความเป็นภาพส่วนบุคคลของคุณโดยไม่ต้องปรับแต่งเฉพาะ
Yuwei Guo, Ceyuan Yang✝, Anyi Rao, Zhengyang Liang, Yaohui Wang, Yu Qiao, Maneesh Agrawala, Dahua Lin, Bo Dai (✝ผู้เขียนที่เกี่ยวข้อง)
หมายเหตุ: สาขา main
มีไว้สำหรับ Stable Diffusion V1.5; สำหรับ Stable Diffusion XL โปรดดูสาขา sdxl-beta
ผลลัพธ์เพิ่มเติมสามารถพบได้ในแกลเลอรี บางส่วนได้รับการสนับสนุนจากชุมชน
นางแบบ:ToonYou
รุ่น:วิสัยทัศน์ที่สมจริง V2.0
หมายเหตุ: AnimateDiff ยังได้รับการสนับสนุนอย่างเป็นทางการจาก Diffusers เยี่ยมชมบทช่วยสอน AnimateDiff Diffusers เพื่อดูรายละเอียดเพิ่มเติม คำแนะนำต่อไปนี้สำหรับการทำงานกับพื้นที่เก็บข้อมูลนี้
หมายเหตุ: สำหรับสคริปต์ทั้งหมด การดาวน์โหลดจุดตรวจสอบจะได้รับการจัดการ โดยอัตโนมัติ ดังนั้นสคริปต์ที่รันอยู่อาจใช้เวลานานกว่าเมื่อดำเนินการครั้งแรก
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 มุ่งหวังที่จะเรียนรู้พรีเซนเตอร์การเคลื่อนไหวที่สามารถถ่ายโอนได้ ซึ่งสามารถนำไปใช้กับตัวแปรอื่นๆ ของกลุ่ม Stable Diffusion ด้วยเหตุนี้ เราจึงออกแบบไปป์ไลน์การฝึกอบรมต่อไปนี้ซึ่งประกอบด้วยสามขั้นตอน
ในขั้น 1. บรรเทาผลกระทบเชิงลบ เราจะฝึก อะแดปเตอร์โดเมน เช่น v3_sd15_adapter.ckpt
เพื่อให้พอดีกับ aritfact ภาพที่บกพร่อง (เช่น ลายน้ำ) ในชุดข้อมูลการฝึกอบรม สิ่งนี้ยังเป็นประโยชน์ต่อการเรียนรู้การเคลื่อนไหวและรูปลักษณ์เชิงพื้นที่ที่ไม่ยุ่งเหยิงอีกด้วย ตามค่าเริ่มต้น อะแด็ปเตอร์สามารถถอดออกได้เมื่ออนุมาน นอกจากนี้ยังสามารถรวมเข้ากับโมเดลได้และสามารถปรับเอฟเฟกต์ได้ด้วย Lora Scaler
ในขั้นที่ 2 เรียนรู้ Motion Priors เราจะฝึก โมดูลการเคลื่อนไหว เช่น v3_sd15_mm.ckpt
เพื่อเรียนรู้รูปแบบการเคลื่อนไหวในโลกแห่งความเป็นจริงจากวิดีโอ
ใน ขั้นที่ 3 (ไม่บังคับ) ปรับให้เข้ากับขั้นตอนรูปแบบใหม่ เราจะฝึก MotionLoRA เช่น v2_lora_ZoomIn.ckpt
เพื่อปรับโมดูลการเคลื่อนไหวอย่างมีประสิทธิภาพสำหรับรูปแบบการเคลื่อนไหวเฉพาะ (การซูมกล้อง การหมุน ฯลฯ)
SparseCtrl มุ่งหวังที่จะเพิ่มการควบคุมให้กับโมเดลข้อความเป็นวิดีโอโดยการนำอินพุตแบบกระจายบางส่วนมาใช้ (เช่น รูปภาพ RGB ไม่กี่ภาพหรืออินพุตแบบร่าง) รายละเอียดทางเทคนิคสามารถพบได้ในเอกสารต่อไปนี้:
SparseCtrl: การเพิ่มการควบคุมแบบกระจายให้กับโมเดลการแพร่กระจายข้อความเป็นวิดีโอ
Yuwei Guo, Ceyuan Yang✝, Anyi Rao, Maneesh Agrawala, Dahua Lin, Bo Dai (✝ผู้เขียนที่เกี่ยวข้อง)
ในเวอร์ชันนี้ เราใช้ Domain Adapter LoRA สำหรับการปรับแต่งโมเดลรูปภาพอย่างละเอียด ซึ่งให้ความยืดหยุ่นในการอนุมานมากขึ้น นอกจากนี้เรายังใช้ตัวเข้ารหัส SparseCtrl (รูปภาพ RGB/การเขียนลวก ๆ) สองตัว ซึ่งสามารถใช้การแมปเงื่อนไขจำนวนเล็กน้อยเพื่อควบคุมเนื้อหาแอนิเมชัน
ชื่อ | กอดใบหน้า | พิมพ์ | พื้นที่จัดเก็บ | คำอธิบาย |
---|---|---|---|---|
v3_adapter_sd_v15.ckpt | ลิงค์ | อะแดปเตอร์โดเมน | 97.4 เมกะไบต์ | |
v3_sd15_mm.ckpt.ckpt | ลิงค์ | โมดูลการเคลื่อนไหว | 1.56GB | |
v3_sd15_sparsectrl_scribble.ckpt | ลิงค์ | ตัวเข้ารหัส SparseCtrl | 1.86GB | สภาพการเขียนลวก ๆ |
v3_sd15_sparsectrl_rgb.ckpt | ลิงค์ | ตัวเข้ารหัส SparseCtrl | 1.85GB | สภาพภาพ RGB |
อินพุต (โดย RealVision) | แอนิเมชั่น | ป้อนข้อมูล | แอนิเมชั่น |
ป้อนข้อมูลเขียนลวก ๆ | เอาท์พุต | ป้อนการเขียนลวก ๆ | เอาท์พุต |
เผยแพร่ Motion Module (เวอร์ชันเบต้า) บน SDXL มีให้ที่ Google Drive / HuggingFace / CivitAI วิดีโอความละเอียดสูง (เช่น เฟรม 1024x1024x16 ที่มีอัตราส่วนภาพต่างๆ) สามารถผลิต โดยมี/ไม่มี โมเดลส่วนบุคคลได้ โดยทั่วไปการอนุมานต้องใช้ ~13GB VRAM และไฮเปอร์พารามิเตอร์ที่ได้รับการปรับแต่ง (เช่น ขั้นตอนการสุ่มตัวอย่าง) ขึ้นอยู่กับรุ่นเฉพาะบุคคลที่เลือก
ชำระเงินไปที่สาขา sdxl เพื่อดูรายละเอียดเพิ่มเติมของการอนุมาน
ชื่อ | กอดใบหน้า | พิมพ์ | พื้นที่เก็บข้อมูล |
---|---|---|---|
mm_sdxl_v10_beta.ckpt | ลิงค์ | โมดูลการเคลื่อนไหว | 950 เมกะไบต์ |
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.7 กิกะไบต์ |
v2_lora_ZoomIn.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
v2_lora_ZoomOut.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
v2_lora_PanLeft.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
v2_lora_PanRight.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
v2_lora_TiltUp.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
v2_lora_TiltDown.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
v2_lora_RollingClockwise.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
v2_lora_RollingAnticlockwise.ckpt | ลิงค์ | โมชั่นLoRA | 19 ม | 74 เมกะไบต์ |
ซูมเข้า | ซูมออก | ซูมแพนไปทางซ้าย | ซูมแพนไปทางขวา | ||||
เอียงขึ้น | เอียงลง | กลิ้งทวนเข็มนาฬิกา | กลิ้งตามเข็มนาฬิกา | ||||
นี่คือการเปรียบเทียบระหว่าง mm_sd_v15.ckpt
(ซ้าย) และ mm_sd_v15_v2.ckpt
ที่ปรับปรุงแล้ว (ขวา)
AnimateDiff เวอร์ชันแรก!
ชื่อ | กอดใบหน้า | พารามิเตอร์ | พื้นที่เก็บข้อมูล |
---|---|---|---|
mm_sd_v14.ckpt | ลิงค์ | 417 ม | 1.6GB |
mm_sd_v15.ckpt | ลิงค์ | 417 ม | 1.6GB |
โปรดตรวจสอบขั้นตอนสำหรับการฝึกอบรมเพื่อดูรายละเอียด
AnimateDiff สำหรับการแพร่กระจาย WebUI ที่เสถียร: sd-webui-animatediff (โดย @ continue-revolution)
AnimateDiff สำหรับ ComfyUI: 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}
}
Codebase สร้างขึ้นจาก Tune-a-Video