تبديل الوجه

 

تبديل الوجه باستخدام OpenCV و Dlib

 

في مجال الرؤية الحاسوبية والتعلم الآلي، يُعَدُّ تبديل الوجوه تقنية رائعة تتيح استبدال وجه شخص بوجه آخر بشكل سلس وفي الوقت الحقيقي.

 

هذا المقال يشرح كيفية تنفيذ تبديل الوجوه في الوقت الحقيقي باستخدام مكتبات OpenCV و Dlib، وهما مكتبتان قويتان في لغة البرمجة بايثون.

 

حبدل وجهي بوجه ابو ايفانكا

 


مصطلحات ابحث عنها وافهمها موجودة في هذه المقالة

Affine Transformation

التحويل الأفيلي

Delaunay Triangulation:

التثليث ديلاوني

Convex Hull and Bounding Rectangle

القشرة المحدبة والمستطيل المحيط

Warping and Blending Triangles:

التشويه ودمج المثلثات

Seamless Cloning:

الاستنساخ السلس

ما عليك من الاسماء المهم ابحث عنهم عشن تفهم الفكرة


المكونات الرئيسية والخطوات:

المكتبات والأدوات:

 

OpenCV:

مكتبة متعددة الاستخدامات لمهام الرؤية الحاسوبية مثل معالجة الصور، والتقاط الفيديو، والتحليل.

 

Dlib:

معروفة بخوارزمياتها في التعلم الآلي، وتوفر أدوات للكشف عن معالم الوجه بدقة، وهو أمر حيوي لتبديل الوجوه بشكل صحيح.

 

Imutils:

مكتبة مساعدة تبسط المهام الشائعة في معالجة الصور.

 

الكشف عن الوجه والتنبؤ بالمعالم:

 

تبدأ العملية بتحميل كاشف الوجه والمحدد المسبق للمعالم الوجهية من Dlib.

هذه النماذج تحدد مواقع الملامح الرئيسية للوجه (المعالم) في كل من الصور المصدرية والهدف.

 

التحويل الأفيلي:

يُستخدم التحويل الأفيلي لربط مثلث في الصورة الاصل بمثلث مناظر له في الصورة الهدف.

 

 يضمن هذا الإجراء توافق ملامح الوجه بشكل صحيح، مع الحفاظ على الهيكل الهندسي للوجه.

 

التثليث ديلاوني:

 

تُقسّم معالم الوجه إلى مثلثات. التثليث ضروري لأنه يتيح تطبيق التحويل الأفيلي على مناطق صغيرة وقابلة للإدارة من الوجه، مما يضمن الدمج السلس والواقعي.

 

القشرة المحدبة والمستطيل المحيط:

 

تُنشأ قشرة محدبة حول مجموعة معالم الوجه لتحديد منطقة الوجه.

 يساعد ذلك في القناع وعزل الوجه لعملية التبديل.

يوفر المستطيل المحيط حول القشرة المحدبة منطقة الاهتمام لتثليث ديلاوني والتحويل الأفيلي.

 

التشويه ودمج المثلثات:

 

يُشوه كل مثلث في تثليث ديلاوني من الصورة الاصلية إلى الصورة الهدف باستخدام التحويل الأفيلي.

 

تتضمن هذه الخطوة إنشاء قناع لكل مثلث لدمجه بسلاسة مع الوجه الهدف.

 

الاستنساخ السلس:

 

تضمن تقنية الاستنساخ السلس من OpenCV دمج الوجه المُبدل بشكل طبيعي مع لون بشرة وظروف إضاءة الوجه الهدف.

يتم ذلك عن طريق إنشاء قناع للقشرة المحدبة واستخدام وظيفة seamlessClone، التي تدمج الوجه المُبدل في الصورة الهدف بسلاسة.

 

معالجة الفيديو في الوقت الحقيقي:

 

تُطبق عملية تبديل الوجوه على كل إطار في الفيديو المباشر. تلتقط الكاميرا كل إطار، وتكشف عن الوجوه، وتتنبأ بالمعالم، وتنفذ التحويلات الأفيلي، وتدمج الوجوه في الوقت الحقيقي. يتم عرض النتيجة على الشاشة، مما يظهر الوجه المُبدل في الفيديو المباشر.



للحصول على الكود كامل اضغط هنا

 




AHMED A. A. ALFARRA

تعليقات

المشاركات الشائعة من هذه المدونة

التعرف على الوجوه باستخدام Python

استخدام Webots و MediaPipe للتحكم في حركة الروبوت بواسطة وضعية الرأس

التحكم بالفأرة بالفم باستخدام OpenCV و Mediapipe و PyAutoGUI