فيديو

جدول المحتويات:

Anonim

تسترشد سوكانت كورانا

في السنوات القليلة الماضية ، امتلك التعرف على الوجوه اعتبارًا كبيرًا وتم تقديره باعتباره أحد التطبيقات الواعدة في مجال تحليل الصور. يمكن للكشف عن الوجه مراعاة جزء كبير من عمليات التعرف على الوجوه. وفقًا لقوتها في تركيز الموارد الحسابية على قسم صورة تحمل وجهًا. تتسم طريقة اكتشاف الوجه في الصور بالتعقيد نظرًا لوجود تباين في الوجوه البشرية مثل المظهر والتعبير والموضع والاتجاه ولون البشرة ووجود النظارات أو شعر الوجه والاختلافات في كسب الكاميرا وظروف الإضاءة ودقة الصورة.

يعد اكتشاف الكائنات أحد تقنيات الكمبيوتر ، التي ترتبط بمعالجة الصور ورؤية الكمبيوتر وتتفاعل مع اكتشاف حالات كائن مثل الوجوه البشرية والمبنى والشجرة والسيارة ، إلخ. والهدف الأساسي لخوارزميات اكتشاف الوجه هو تحديد ما إذا كان هناك أي وجه في صورة أم لا.

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

يعد اكتشاف الوجه الخطوة الأولى والضرورية للتعرف على الوجوه ، ويتم استخدامه للكشف عن الوجوه في الصور. إنه جزء من اكتشاف الكائنات ويمكن استخدامه في العديد من المجالات مثل الأمن والمقاييس الحيوية وتطبيق القانون والترفيه والسلامة الشخصية ، إلخ.

يتم استخدامه للكشف عن الوجوه في الوقت الحقيقي لمراقبة وتتبع الشخص أو الأشياء. يستخدم على نطاق واسع في الكاميرات لتحديد المظاهر المتعددة في إطار كاميرات Ex- Mobile و DSLR. يستخدم Facebook أيضًا خوارزمية اكتشاف الوجه للكشف عن الوجوه في الصور والتعرف عليها.

طرق كشف الوجه: -

قدم Yan و Kriegman و Ahuja تصنيفًا لطرق اكتشاف الوجه. تنقسم هذه الطرق إلى أربع فئات ، ويمكن أن تنتمي خوارزميات اكتشاف الوجه إلى مجموعتين أو أكثر. هذه الفئات هي كما يلي-

1.Knowledge القائم على: -

تعتمد الطريقة المعتمدة على المعرفة على مجموعة القواعد ، وهي تعتمد على المعرفة الإنسانية لاكتشاف الوجوه. على سبيل المثال ، يجب أن يكون للوجه أنف وعينين وفم ضمن مسافات ومواضع معينة مع بعضهما البعض. المشكلة الكبيرة في هذه الأساليب هي صعوبة بناء مجموعة مناسبة من القواعد. يمكن أن يكون هناك الكثير من الإيجابيات الخاطئة إذا كانت القواعد عامة أو مفصلة للغاية. هذا النهج وحده غير كافٍ وغير قادر على العثور على العديد من الوجوه في صور متعددة.

2.Feature القائم على: -

الأسلوب القائم على الميزة هو تحديد الوجوه عن طريق استخراج الميزات الهيكلية للوجه. يتم تدريبه أولاً كمصنف ومن ثم استخدامه للتمييز بين المناطق الوجهية وغير الوجهية. والفكرة هي التغلب على حدود معرفتنا الغريزية للوجوه. ينقسم هذا النهج إلى عدة خطوات وحتى الصور ذات الوجوه المتعددة التي يبلغ معدل نجاحها 94 ٪.

3. مطابقة قالب: -

تستخدم طريقة مطابقة القوالب قوالب وجه محددة مسبقًا أو معلمة لتحديد الوجوه أو اكتشافها من خلال الارتباط بين القوالب وصور الإدخال. يمكن تقسيم الوجه الإنساني إلى عيون ووجه محيطي وأنف وفم. أيضا ، يمكن بناء نموذج الوجه عن طريق الحواف فقط باستخدام طريقة الكشف عن الحافة. هذا النهج سهل التنفيذ ، لكنه غير مناسب للكشف عن الوجه. ومع ذلك ، فقد تم اقتراح قوالب مشوهة للتعامل مع هذه المشكلات.

4.Appearance القائم على: -

تعتمد الطريقة القائمة على المظهر على مجموعة من صور الوجوه التدريبية المفوضة لمعرفة نماذج الوجوه. النهج القائم على المظهر أفضل من طرق الأداء الأخرى.تعتمد الطريقة المستندة إلى المظهر العام على تقنيات من التحليل الإحصائي والتعلم الآلي لإيجاد الخصائص ذات الصلة لصور الوجه. تستخدم هذه الطريقة أيضًا في استخراج الميزات للتعرف على الوجوه.

ينقسم النموذج القائم على المظهر إلى طرق فرعية لاستخدام كشف الوجه وهي كما يلي:

4.1.Eigenface القائم على: -

الخوارزمية المستندة إلى Eigenface المستخدمة للتعرف على الوجوه ، وهي طريقة لتمثيل الوجوه بكفاءة باستخدام تحليل المكونات الرئيسية.

4.2.Distribution القائم على: -

يمكن استخدام الخوارزميات مثل PCA و Fisher's Discriminant لتحديد الفضاء الفرعي الذي يمثل أنماط الوجه. يوجد مصنف مدرّب يحدد بشكل صحيح مثيلات فئة النمط الهدف من أنماط صورة الخلفية.

4.3.Neural-الشبكات: -

واجهت شبكات العصبية العديد من مشكلات الكشف ، مثل اكتشاف الكائنات ، وكشف الوجه ، وكشف العواطف ، والتعرف على الوجه ، وما إلى ذلك.

4.4.دعم ناقلات الجهاز: -

تعد ماكينات Vector Support عبارة عن مصنفات خطية تعمل على زيادة الهامش بين المستوى الفائق للقرار والأمثلة الموجودة في مجموعة التدريب. أوسونا وآخرون. طبقت لأول مرة هذا المصنف للكشف عن الوجه.

4.5.Sparse شبكة من Winnows: -

حددوا شبكة متفرقة من وحدتين خطيتين أو العقد المستهدفة ؛ واحد يمثل أنماط الوجه وغيرها لأنماط غير الوجه. انها تستغرق وقتا طويلا وكفاءة.

4.6. تصنيفات بايز بايز: -

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

4.7. نموذج ماركوف المخفي: -

ستكون حالات النموذج هي ميزات الوجه ، والتي توصف عادة بأنها شرائط بكسل. يستخدم HMM بشكل شائع مع طرق أخرى لبناء خوارزميات الكشف.

4.8.المقاربة النظرية للمعلومات: -

يمكن استخدام حقول ماركوف العشوائية (MRF) لنمط الوجه والميزات المرتبطة. تزيد عملية Markov من التمييز بين الطبقات باستخدام اختلاف Kullback-Leibler. لذلك يمكن استخدام هذه الطريقة في اكتشاف الوجه.

4.9. التعلم الاستقرائي: -

وقد استخدم هذا النهج لاكتشاف الوجوه. تستخدم الخوارزميات مثل Quinlan's C4.5 أو Mitchell's FIND-S لهذا الغرض.

كيف يعمل اكتشاف الوجه: -

هناك العديد من التقنيات لاكتشاف الوجوه ، بمساعدة هذه التقنيات ، يمكننا التعرف على الوجوه بدقة أعلى. هذه التقنيات لها نفس الإجراء تقريبًا للكشف عن الوجه مثل OpenCV ، والشبكات العصبية ، Matlab ، إلخ. يعمل كشف الوجه على اكتشاف الوجوه المتعددة في صورة ما. نحن هنا نعمل على OpenCV للكشف عن الوجه ، وهناك بعض الخطوات التي يعمل بها كشف الوجه ، وهي كالتالي:

أولاً يتم استيراد الصورة عن طريق توفير موقع الصورة. ثم يتم تحويل الصورة من RGB إلى تدرج الرمادي لأنه من السهل اكتشاف الوجوه في التدرج الرمادي.

بعد ذلك ، يتم استخدام معالجة الصورة ، حيث يتم تغيير حجم الصور ، اقتصاصها ، عدم وضوحها وشحذها عند الحاجة. والخطوة التالية هي تجزئة الصورة ، والتي تُستخدم للكشف عن الكفاف أو لشرائح الكائنات المتعددة في صورة واحدة حتى يتمكن المصنف من اكتشاف الكائنات والوجوه في الصورة بسرعة.

والخطوة التالية هي استخدام خوارزمية ميزات Haar-Like ، التي اقترحتها فويلا وجونز لاكتشاف الوجه. هذه الخوارزمية المستخدمة للعثور على موقع الوجوه البشرية في إطار أو صورة. تشترك جميع الوجوه البشرية في بعض الخصائص العالمية للوجه الإنساني مثل منطقة العيون أغمق من وحدات البكسل المجاورة لها ومنطقة الأنف أكثر إشراقًا من منطقة العين.

تُستخدم خوارزمية تشبه الشعر أيضًا في اختيار الميزة أو استخراج المعالم لكائن ما في صورة ما ، وذلك بمساعدة اكتشاف الحافة ، والكشف عن الخط ، والكشف المركزي للكشف عن العيون والأنف والفم ، وما إلى ذلك في الصورة. يتم استخدامه لتحديد الميزات الأساسية في صورة ما واستخراج هذه الميزات لاكتشاف الوجه.

والخطوة التالية هي إعطاء إحداثيات x، y، w، h التي تجعل مربع مستطيل في الصورة لإظهار موقع الوجه أو يمكننا أن نقول ذلك لإظهار المنطقة موضع الاهتمام في الصورة. بعد ذلك ، يمكن أن يصنع صندوقًا مستطيلًا في المنطقة ذات الاهتمام حيث يكتشف الوجه. هناك أيضًا العديد من تقنيات الكشف الأخرى التي يتم استخدامها معًا للكشف مثل اكتشاف الابتسامة ، وكشف العين ، والكشف عن وميض ، إلخ.

كيفية تشغيل جهاز كشف الوجه في الوقت الفعلي (كاميرا ويب): -

شرط لتشغيل رمز بيثون ، OpenCV ، وكاميرا ويب ، شاذ.

# استيراد المكتبات
استيراد السيرة الذاتية 2
استيراد numpy كـ np

#import المصنف للكشف عن الوجه والعين
face_classifier = cv2.CascadeClassifier (‘Haarcascades / haarcascade_frontalface_default.xml’)

# استيراد المصنف للكشف عن الوجه والعين
face_classifier = cv2.CascadeClassifier (‘Haarcascades / haarcascade_frontalface_default.xml’)
eye_classifier = cv2.CascadeClassifier (‘Haarcascades / haarcascade_eye.xml’)
def face_detector (img ، الحجم = 0.5):

# تحويل الصورة إلى تدرج الرمادي
رمادي = cv2.cvtColor (img ، cv2.COLOR_BGR2GRAY)
الوجوه = face_classifier.detectMultiScale (الرمادي ، 1.3 ، 5)
إذا كانت الوجوه ():
عودة img

# إعطاء الإحداثيات للكشف عن الوجه والعينين موقع من العائد على الاستثمار
ل (س ، ص ، ث ، ح) في الوجوه
س = س - 100
ث = ث + 100
ص = ص - 100
ح = ح + 100
cv2.rectangle (img ، (x ، y) ، (x + w ، y + h) ، (255 ، 0 ، 0) ، 2)
roi_gray = gray y: y + h، x: x + w
roi_color = img y: y + h، x: x + w
eyes = eye_classifier.detectMultiScale (roi_gray)
من أجل (على سبيل المثال ، ey ، ew ، eh) في العيون:
cv2.rectangle (roi_color، (على سبيل المثال، إرنست و يونغ)، (مثلا + مصريات، إرنست و يونغ + إيه)، (0،0،255)، 2)
roi_color = cv2.flip (roi_color ، 1)
عودة roi_color

# إعداد كاميرا ويب للكشف عن الوجه
الحد الأقصى = cv2.VideoCapture (0)
احيانا صحيح:
ret ، frame = cap.read ()
cv2.imshow ('وجهنا النازع' ، face_detector (الإطار))
إذا كان cv2.waitKey (1) == 13: # 13 هو مفتاح Enter
استراحة

# عندما يتم كل شيء ، افرج عن الصورة
cap.release ()
cv2.destroyAllWindows ()

هذه المدونة مخصصة للمبتدئين الذين يرغبون في بدء تشغيل شركة الجوال الخاصة بهم في مجال Computer Vision أو AI من خلال التعرف على ما هو اكتشاف الوجه وأنواعه وكيفية عمله.
موصى به اختيار المحرر