لمزيد من النتائج، قم بزيارة صفحتنا الرئيسية
2024/10/18
: ❗ قمنا بتحديث إصدارات transformers
ومكتبات gradio
لتجنب الثغرات الأمنية. التفاصيل هنا.2024/08/29
: ؟ نقوم بتحديث برنامج تثبيت Windows بنقرة واحدة وندعم التحديثات التلقائية، راجع سجل التغيير.2024/08/19
: ️ نحن ندعم الوضع القائم على الصور والتحكم الإقليمي . لمزيد من التفاصيل، انظر هنا .2024/08/06
: ؟ نحن ندعم التحرير الدقيق للصور في واجهة Gradio، المستوحاة من ComfyUI-AdvancedLivePortrait. انظر هنا .2024/08/05
: ؟ يمكن لمستخدمي Windows الآن تنزيل برنامج التثبيت بنقرة واحدة لوضع البشر ووضع الحيوانات الآن! لمزيد من التفاصيل، انظر هنا .2024/08/02
: ؟ لقد أصدرنا نسخة من نموذج الحيوانات ، بالإضافة إلى العديد من التحديثات والتحسينات الأخرى. تحقق من التفاصيل هنا !2024/07/25
: ؟ يمكن لمستخدمي Windows الآن تنزيل الحزمة من HuggingFace. ما عليك سوى فك الضغط والنقر نقرًا مزدوجًا فوق run_windows.bat
للاستمتاع!2024/07/24
: ؟ نحن ندعم تحرير الوضعية للصور المصدرية في واجهة Gradio. لقد قمنا أيضًا بتخفيض حد الاكتشاف الافتراضي لزيادة الاستدعاء. استمتع!2024/07/19
: نحن ندعم تحرير الفيديو العمودي (المعروف أيضًا باسم v2v) ! المزيد لنرى هنا.2024/07/17
: ؟ نحن ندعم macOS مع Apple Silicon، المعدل من jeethu's PR #143.2024/07/10
: ؟ نحن ندعم ربط الصوت والفيديو، وقص الفيديو تلقائيًا، وإنشاء النماذج لحماية الخصوصية. المزيد لنرى هنا.2024/07/09
: ؟ أطلقنا HuggingFace Space، وذلك بفضل فريق HF وGradio!2024/07/04
: ؟ أصدرنا النسخة الأولية من كود الاستدلال والنماذج. التحديثات المستمرة، لا تنزعج!2024/07/04
: أصدرنا الصفحة الرئيسية والتقرير الفني على arXiv. يحتوي هذا الريبو، المسمى LivePortrait ، على تطبيق PyTorch الرسمي لورقتنا LivePortrait: رسوم متحركة بورتريه فعالة مع التحكم في الخياطة وإعادة الاستهداف. نحن نعمل بنشاط على تحديث وتحسين هذا المستودع. إذا وجدت أي أخطاء أو لديك اقتراحات، مرحبا بكم في إثارة القضايا أو إرسال طلبات السحب (PR)؟.
ملحوظة
تأكد من تثبيت git
و conda
و FFmpeg
على نظامك. للحصول على تفاصيل حول تثبيت FFmpeg، راجع كيفية تثبيت FFmpeg .
git clone https://github.com/KwaiVGI/LivePortrait
cd LivePortrait
# create env using conda
conda create -n LivePortrait python=3.10
conda activate LivePortrait
يتطلب X-Pose أن يكون إصدار torch
الخاص بك متوافقًا مع إصدار CUDA.
أولاً، تحقق من إصدار CUDA الحالي الخاص بك عن طريق:
nvcc -V # example versions: 11.1, 11.8, 12.1, etc.
ثم قم بتثبيت إصدار الشعلة المقابل. فيما يلي أمثلة لإصدارات CUDA المختلفة. قم بزيارة موقع PyTorch الرسمي للحصول على أوامر التثبيت إذا لم يكن إصدار CUDA الخاص بك مدرجًا:
# for CUDA 11.1
pip install torch==1.10.1+cu111 torchvision==0.11.2 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
# for CUDA 11.8
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu118
# for CUDA 12.1
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
# ...
ملاحظة : في أنظمة Windows، قد تؤدي بعض الإصدارات الأعلى من CUDA (مثل 12.4 و12.6 وما إلى ذلك) إلى مشكلات غير معروفة. قد تفكر في خفض إصدار CUDA إلى الإصدار 11.8 لتحقيق الاستقرار. راجع دليل الرجوع إلى إصدار أقدم من @dimitribarbot.
وأخيرًا، قم بتثبيت التبعيات المتبقية:
pip install -r requirements.txt
لا تدعم تبعية X-Pose نظام التشغيل macOS، لذا يمكنك تخطي تثبيته. بينما يعمل وضع البشر كالمعتاد، فإن وضع الحيوانات غير مدعوم. استخدم ملف المتطلبات المقدم لنظام التشغيل macOS مع Apple Silicon:
# for macOS with Apple Silicon users
pip install -r requirements_macOS.txt
أسهل طريقة لتحميل الأوزان المدربة هي من HuggingFace:
# !pip install -U "huggingface_hub[cli]"
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude " *.git* " " README.md " " docs "
إذا لم تتمكن من الوصول إلى Huggingface، يمكنك استخدام hf-mirror لتنزيل:
# !pip install -U "huggingface_hub[cli]"
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude " *.git* " " README.md " " docs "
وبدلاً من ذلك، يمكنك تنزيل جميع الأوزان المدربة مسبقًا من Google Drive أو Baidu Yun. قم بفك الضغط ووضعها في ./pretrained_weights
.
التأكد من أن بنية الدليل كما هي أو تحتوي على هذا .
# For Linux and Windows users
python inference.py
# For macOS users with Apple Silicon (Intel is not tested). NOTE: this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python inference.py
إذا تم تشغيل البرنامج النصي بنجاح، فستحصل على ملف إخراج mp4 باسم animations/s6--d0_concat.mp4
. يتضمن هذا الملف النتائج التالية: قيادة الفيديو، وإدخال الصورة أو الفيديو، والنتيجة التي تم إنشاؤها.
أو يمكنك تغيير الإدخال عن طريق تحديد الوسيطتين -s
و -d
:
# source input is an image
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d0.mp4
# source input is a video
python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d0.mp4
# more options to see
python inference.py -h
يتم اختبار وضع الحيوانات فقط على نظامي التشغيل Linux وWindows باستخدام وحدة معالجة الرسومات NVIDIA.
تحتاج إلى إنشاء OP باسم MultiScaleDeformableAttention
أولاً، والذي يستخدمه X-Pose، وهو إطار عمل عام للكشف عن النقاط الرئيسية.
cd src/utils/dependencies/XPose/models/UniPose/ops
python setup.py build install
cd - # equal to cd ../../../../../../../
ثم
python inference_animals.py -s assets/examples/source/s39.jpg -d assets/examples/driving/wink.pkl --driving_multiplier 1.75 --no_flag_stitching
إذا تم تشغيل البرنامج النصي بنجاح، فستحصل على ملف mp4 الناتج باسم animations/s39--wink_concat.mp4
.
مهم
لاستخدام فيديو القيادة الخاص بك، نوصي بما يلي :
--flag_crop_driving_video
. فيما يلي حالة الاقتصاص التلقائي بواسطة --flag_crop_driving_video
:
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d13.mp4 --flag_crop_driving_video
إذا وجدت أن نتائج الاقتصاص التلقائي ليست جيدة، فيمكنك تعديل خيارات --scale_crop_driving_video
، --vy_ratio_crop_driving_video
لضبط المقياس والإزاحة، أو القيام بذلك يدويًا.
يمكنك أيضًا استخدام ملفات قوالب الحركة التي يتم إنشاؤها تلقائيًا والتي تنتهي بـ .pkl
لتسريع الاستدلال وحماية الخصوصية ، مثل:
python inference.py -s assets/examples/source/s9.jpg -d assets/examples/driving/d5.pkl # portrait animation
python inference.py -s assets/examples/source/s13.mp4 -d assets/examples/driving/d5.pkl # portrait video editing
نوفر أيضًا واجهة Gradio لتجربة أفضل، يتم تشغيلها فقط من خلال:
# For Linux and Windows users (and macOS with Intel??)
python app.py # humans mode
# For macOS with Apple Silicon users, Intel not supported, this maybe 20x slower than RTX 4090
PYTORCH_ENABLE_MPS_FALLBACK=1 python app.py # humans mode
نوفر أيضًا واجهة Gradio لوضع الحيوانات، والتي تم اختبارها فقط على Linux باستخدام NVIDIA GPU:
python app_animals.py # animals mode ??
يمكنك تحديد وسيطات --server_port
و --share
و --server_name
لتلبية احتياجاتك!
نوفر أيضًا خيار التسريع --flag_do_torch_compile
. يؤدي الاستدلال لأول مرة إلى تشغيل عملية التحسين (حوالي دقيقة واحدة)، مما يجعل الاستدلالات اللاحقة أسرع بنسبة 20-30%. قد تختلف مكاسب الأداء باختلاف إصدارات CUDA.
# enable torch.compile for faster inference
python app.py --flag_do_torch_compile
ملاحظة : هذه الطريقة غير مدعومة على نظامي التشغيل Windows وmacOS.
أو جربه بسهولة على HuggingFace؟
لقد قدمنا أيضًا برنامجًا نصيًا لتقييم سرعة الاستدلال لكل وحدة:
# For NVIDIA GPU
python speed.py
النتائج هنا .
اكتشف الموارد التي لا تقدر بثمن والتي ساهم بها مجتمعنا لتعزيز تجربة LivePortrait الخاصة بك.
الريبو (مرتبة حسب الطابع الزمني الذي تم إنشاؤه) | وصف | مؤلف |
---|---|---|
AdvancedLivePortrait-WebUI | بدأت واجهة WebUI المخصصة المستندة إلى التدرج من ComfyUI-AdvancedLivePortrait | @jhj0517 |
FacePoke | تطبيق تحويل الرأس في الوقت الحقيقي، والذي يتم التحكم فيه عن طريق الماوس! | @jbilcke-hf |
FaceFusion | يقوم FaceFusion 3.0 بدمج LivePortrait كمعالجات expression_restorer و face_editor . | @henryruhs |
SD-webui-live-portrait | امتداد WebUI لـ LivePortrait، مما يضيف atab إلى Stable Diffusion WebUI الأصلي للاستفادة من ميزات LivePortrait. | @dimitribarbot |
ComfyUI-LivePortraitKJ | عقدة ComfyUI لاستخدام LivePortrait، مع MediaPipe كبديل لـ Insightface. | @ كيجاي |
ComfyUI-AdvancedLivePortrait | عقدة ComfyUI أسرع مع معاينة في الوقت الفعلي ألهمت العديد من الأدوات والمشروعات الأخرى التي طورها المجتمع. | @باور هاوس مان |
comfyui-liveportrait | عقدة ComfyUI لاستخدام LivePortrait، ودعم الوجوه المتعددة، واستيفاء التعبير، وما إلى ذلك، مع برنامج تعليمي. | @shadowcz007 |
والعديد من المساهمات الرائعة من مجتمعنا، كثيرة جدًا بحيث لا يمكن إدراجها جميعًا؟
نود أن نشكر المساهمين في مستودعات FOMM، وOpen Facevid2vid، وSPAD، وInsightFace، وX-Pose، على أبحاثهم ومساهماتهم المفتوحة.
تنطوي تقنيات الرسوم المتحركة للصور الشخصية على مخاطر اجتماعية، لا سيما احتمال إساءة استخدامها في إنشاء صور مزيفة عميقة. للتخفيف من هذه المخاطر، من الضروري اتباع الإرشادات الأخلاقية واعتماد ممارسات الاستخدام المسؤولة. في الوقت الحاضر، تحتوي النتائج المركبة على عناصر مرئية قد تساعد في اكتشاف التزييف العميق. يرجى ملاحظة أننا لا نتحمل أي مسؤولية قانونية عن استخدام النتائج الناتجة عن هذا المشروع.
إذا وجدت أن LivePortrait مفيد لبحثك، فمرحبًا بك في؟ هذا الريبو واستشهد بعملنا باستخدام BibTeX التالي:
@article { guo2024liveportrait ,
title = { LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control } ,
author = { Guo, Jianzhu and Zhang, Dingyun and Liu, Xiaoqiang and Zhong, Zhizhou and Zhang, Yuan and Wan, Pengfei and Zhang, Di } ,
journal = { arXiv preprint arXiv:2407.03168 } ,
year = { 2024 }
}
جيانزو قوه (郭建珠) ؛ [email protected]