هذا المستودع هو التطبيق الرسمي لـ AnimateDiff [ICLR2024 Spotlight]. إنها وحدة توصيل وتشغيل تعمل على تحويل معظم نماذج المجتمع لتحويل النص إلى صورة إلى مولدات للرسوم المتحركة، دون الحاجة إلى تدريب إضافي.
AnimateDiff: قم بتحريك نماذج نشر النص إلى الصورة المخصصة لديك دون ضبط محدد
يووي غو، سيوان يانغ✝، أنيي راو، زينغيانغ ليانغ، ياوهوي وانغ، يو تشياو، مانيش أغراوالا، داهوا لين، بو داي (✝المؤلف المراسل)
ملحوظة: الفرع main
مخصص لـ Stable Diffusion V1.5؛ للحصول على Stable Diffusion XL، يرجى الرجوع إلى فرع sdxl-beta
.
يمكن العثور على المزيد من النتائج في المعرض. البعض منهم يساهم به المجتمع.
الموديل: تون يو
الموديل: رؤية واقعية 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
، ليناسب العناصر المرئية المعيبة (مثل العلامات المائية) في مجموعة بيانات التدريب. يمكن أن يفيد هذا أيضًا التعلم المتباعد للحركة والمظهر المكاني. بشكل افتراضي، يمكن إزالة المحول عند الاستدلال. ويمكن أيضًا دمجه في النموذج ويمكن تعديل تأثيراته بواسطة مقياس لورا.
في المرحلة 2. تعلم Motion Priors ، نقوم بتدريب وحدة الحركة ، على سبيل المثال، v3_sd15_mm.ckpt
، للتعرف على أنماط الحركة الواقعية من مقاطع الفيديو.
في 3. (اختياري) مرحلة التكيف مع الأنماط الجديدة ، نقوم بتدريب MotionLoRA ، على سبيل المثال، v2_lora_ZoomIn.ckpt
، لتكييف وحدة الحركة بكفاءة مع أنماط حركة محددة (تكبير الكاميرا، والتدحرج، وما إلى ذلك).
يهدف SparseCtrl إلى إضافة المزيد من التحكم إلى نماذج تحويل النص إلى فيديو من خلال اعتماد بعض المدخلات المتفرقة (على سبيل المثال، عدد قليل من صور RGB أو مدخلات الرسم). تفاصيلها الفنية تجدونها في الورقة التالية:
SparseCtrl: إضافة عناصر تحكم متفرقة إلى نماذج نشر النص إلى الفيديو
يووي غو، سيوان يانغ✝، أنيي راو، مانيش أغراوالا، داهوا لين، بو داي (✝المؤلف المراسل)
في هذا الإصدار، نستخدم Domain Adaptor LoRA لضبط نموذج الصورة، مما يوفر مرونة أكبر في الاستدلال. نقوم أيضًا بتنفيذ اثنين من برامج تشفير SparseCtrl (صورة RGB/خربشة)، والتي يمكن أن تأخذ عددًا صغيرًا من خرائط الحالة للتحكم في محتويات الرسوم المتحركة.
اسم | HuggingFace | يكتب | تخزين | وصف |
---|---|---|---|---|
v3_adapter_sd_v15.ckpt | وصلة | محول المجال | 97.4 ميجابايت | |
v3_sd15_mm.ckpt.ckpt | وصلة | وحدة الحركة | 1.56 جيجابايت | |
v3_sd15_sparsectrl_scribble.ckpt | وصلة | التشفير SparseCtrl | 1.86 جيجابايت | حالة خربشات |
v3_sd15_sparsectrl_rgb.ckpt | وصلة | التشفير SparseCtrl | 1.85 جيجابايت | حالة صورة RGB |
الإدخال (بواسطة RealisticVision) | الرسوم المتحركة | مدخل | الرسوم المتحركة |
إدخال خربشة | الإخراج | إدخال الخربشات | الإخراج |
قم بتحرير وحدة الحركة (الإصدار التجريبي) على SDXL، المتوفرة على Google Drive / HuggingFace / CivitAI. يمكن إنتاج مقاطع فيديو عالية الدقة (أي 1024x1024x16 إطارًا بنسب عرض إلى ارتفاع مختلفة) باستخدام/بدون نماذج مخصصة. يتطلب الاستدلال عادةً ذاكرة فيديو بسعة 13 جيجابايت تقريبًا ومعلمات تشعبية مضبوطة (على سبيل المثال، خطوات أخذ العينات)، اعتمادًا على النماذج المخصصة المختارة.
الخروج إلى فرع sdxl لمزيد من التفاصيل حول الاستدلال.
اسم | HuggingFace | يكتب | مساحة التخزين |
---|---|---|---|
mm_sdxl_v10_beta.ckpt | وصلة | وحدة الحركة | 950 ميجابايت |
اس دي اكس ال اصلي | المجتمع SDXL | المجتمع SDXL |
في هذا الإصدار، تم تدريب وحدة الحركة mm_sd_v15_v2.ckpt
(Google Drive / HuggingFace / CivitAI) على دقة أكبر وحجم دفعة أكبر. لقد وجدنا أن التدريب على نطاق واسع يساعد بشكل كبير على تحسين جودة الحركة وتنوعها.
نحن ندعم أيضًا MotionLoRA المكون من ثماني حركات أساسية للكاميرا. تشغل نقاط فحص MotionLoRA مساحة تخزين تبلغ 77 ميجابايت فقط لكل طراز ، وهي متاحة على Google Drive / HuggingFace / CivitAI.
اسم | HuggingFace | يكتب | المعلمة | تخزين |
---|---|---|---|---|
mm_sd_v15_v2.ckpt | وصلة | وحدة الحركة | 453 م | 1.7 جيجابايت |
v2_lora_ZoomIn.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
v2_lora_ZoomOut.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
v2_lora_PanLeft.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
v2_lora_PanRight.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
v2_lora_TiltUp.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
v2_lora_TiltDown.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
v2_lora_RollingClockwise.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
v2_lora_RollingAnticlockwise.ckpt | وصلة | موشنلورا | 19 م | 74 ميجا بايت |
تكبير | تصغير | تكبير عموم اليسار | تكبير/تصغير لليمين | ||||
إمالة لأعلى | إمالة لأسفل | المتداول عكس اتجاه عقارب الساعة | المتداول في اتجاه عقارب الساعة | ||||
فيما يلي مقارنة بين mm_sd_v15.ckpt
(يسار) و mm_sd_v15_v2.ckpt
(يمين).
الإصدار الأول من AnimateDiff!
اسم | HuggingFace | المعلمة | مساحة التخزين |
---|---|---|---|
mm_sd_v14.ckpt | وصلة | 417 م | 1.6 جيجابايت |
mm_sd_v15.ckpt | وصلة | 417 م | 1.6 جيجابايت |
يرجى التحقق من خطوات التدريب للحصول على التفاصيل.
AnimateDiff لواجهة WebUI للنشر المستقر: sd-webui-animatediff (بواسطة @continue-revolution)
AnimateDiff لـ ComfyUI: ComfyUI-AnimateDiff-Evolved (بواسطةKosinkadink)
جوجل كولاب: كولاب (بواسطة @ 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.