FaceSwap - أداة تبديل الوجوه بالتعلم العميق
نظرة عامة على المشروع
FaceSwap هي أداة تستخدم تقنيات التعلم العميق للتعرف على الوجوه وتبديلها في الصور ومقاطع الفيديو. المشروع مفتوح المصدر ويمكن تشغيله على أنظمة تشغيل متعددة مثل Windows و Linux و MacOS.
غرض المشروع
يتمتع مشروع FaceSwap بمعايير أخلاقية واضحة وغرض استخدام محدد:
الاستخدامات الإيجابية
- للاستخدام في التجارب واكتشاف تقنيات الذكاء الاصطناعي
- التعليقات الاجتماعية أو السياسية
- صناعة الأفلام
- أي استخدامات أخرى أخلاقية ومعقولة
- توفير التعليم والخبرة لأي شخص يرغب في تعلم الذكاء الاصطناعي شخصيًا
الاستخدامات المحظورة
- لا يجوز استخدامه لإنشاء محتوى غير لائق
- لا يجوز تبديل الوجوه دون موافقة أو بقصد إخفاء الاستخدام
- لا يجوز استخدامه لأي أغراض غير قانونية أو غير أخلاقية أو مشبوهة
الميزات التقنية
متطلبات النظام
- برنامج Python
- دعم أنظمة تشغيل متعددة (Windows و Linux و MacOS)
- يتطلب وحدة معالجة رسومات حديثة ودعم CUDA للحصول على أفضل أداء
- دعم العديد من وحدات معالجة الرسومات AMD من خلال DirectML (Windows) و ROCm (Linux)
وحدات الوظائف الرئيسية
- استخراج الوجه: استخراج الوجوه من الصور الأصلية
- تدريب النموذج: تدريب النموذج بناءً على الوجوه المستخرجة
- تحويل الوجه: استخدام النموذج المدرب لتبديل الوجوه
- واجهة المستخدم الرسومية: توفير واجهة مستخدم رسومية
سير العمل
الخطوات الأساسية
- جمع المواد: تحضير الصور و/أو مقاطع الفيديو
- استخراج الوجه: استخراج الوجوه من الصور الأصلية
- تدريب النموذج: تدريب النموذج على الوجوه المستخرجة
- تطبيق التحويل: استخدام النموذج لتحويل المواد المصدر
عمليات سطر الأوامر
استخراج الوجه
python faceswap.py extract
سيقوم هذا الأمر باستخراج الصور من مجلد src
واستخراج الوجوه إلى مجلد extract
.
تدريب النموذج
python faceswap.py train
سيستخدم هذا الأمر مجلدًا يحتوي على صورتين للوجه للتدريب، وسيتم حفظ النموذج المدرب في مجلد models
.
تحويل الوجه
python faceswap.py convert
سيحصل هذا الأمر على الصور من مجلد original
ويطبق الوجه الجديد على مجلد modified
.
واجهة المستخدم الرسومية
python faceswap.py gui
معالجة الفيديو
يمكن معالجة الفيديو بالطرق التالية:
python tools.py effmpeg -h
أو استخدم ffmpeg لتحويل الفيديو إلى صور، ومعالجة الصور، ثم تحويل الصور مرة أخرى إلى فيديو.
هيكل المشروع
النماذج الرئيسية
- نموذج Phaze-A
- نموذج Villain
- نموذج Unbalanced
- نموذج OHR
- نموذج DFL-H128
- نموذج DFaker
المكونات الأساسية
- محاذاة FAN
- كاشف MTCNN
- واجهة المستخدم الرسومية
الحصول على المساعدة
موارد الوثائق
INSTALL.md
: تعليمات التثبيت الكاملة
USAGE.md
: تعليمات الاستخدام التفصيلية
- تحتوي جميع البرامج النصية على خيار
-h
/--help
مبادئ التعلم الآلي
يعمل FaceSwap بناءً على تقنيات التعلم العميق والشبكات العصبية. ببساطة، يعمل بالطرق التالية:
- بيانات التدريب + التجربة والخطأ = عملية التعلم
تتعلم أجهزة الكمبيوتر كيفية التعرف على الوجوه وتشكيلها من خلال كميات كبيرة من بيانات التدريب، وهي عملية تعلم آلي معقدة تتضمن تدريبًا عميقًا للشبكات العصبية.
الخلفية التقنية
عندما تم تطوير تقنية تبديل الوجوه ونشرها لأول مرة، كانت اختراقًا كبيرًا، وكانت خطوة هائلة في تطوير الذكاء الاصطناعي. قبل "deepfakes"، كانت هذه التقنيات تبدو وكأنها سحر أسود، ولا يمكن ممارستها إلا من قبل أولئك الذين يمكنهم فهم جميع الأعمال الداخلية. لقد غير ظهور FaceSwap كل هذا، مما سمح لأي شخص بالمشاركة في تطوير الذكاء الاصطناعي دون الحاجة إلى الحصول على درجة الدكتوراه في الرياضيات أو نظرية الكمبيوتر أو علم النفس أو ما شابه ذلك.
تنبيهات
- إعادة استخدام النماذج الحالية أسرع بكثير من التدريب من الصفر
- إذا كانت بيانات التدريب غير كافية، يمكنك البدء بأشخاص متشابهين ثم تبديل البيانات
- يلتزم المشروع بمعايير أخلاقية صارمة، ويتخذ موقفًا متشددًا تجاه أي استخدام غير لائق
- يجب طرح جميع مشكلات التعليمات البرمجية ذات الصلة في منتدى FaceSwap
