HAAR CASCADE
Haar Cascade خوارزمية التعلم الآلي تستخدم لتحديد الكائنات في صورة أو مقطع فيديو وتستند إلى مفهوم الميزات التي اقترحها بول فيولا ومايكل جونز في ورقتهما "اكتشاف الكائنات السريعة باستخدام سلسلة معززة من الميزات البسيطة" في عام 2001. إنه نهج قائم على التعلم الآلي حيث يتم تدريب الكثير من الصور الإيجابية والسلبية. ثم يتم استخدامه للكشف عن الكائنات في الصور الأخرى.
تحتوي الخوارزمية على أربع مراحل:
اختيار ميزات Haar
Integral Image
تدريب Adaboost
تصنيف Cascade
ان من المعروف جيدًا قدرتها على اكتشاف الوجوه وأجزاء الجسم في صورة ما ، ولكن يمكن تدريبها على تحديد أي كائن تقريبًا. لنأخذ كشف الوجه كمثال. في البداية ، تحتاج الخوارزمية إلى الكثير من الصور الإيجابية للوجوه والصور السلبية بدون وجوه لتدريب من نوع classifier . ثم نحن بحاجة إلى استخراج الميزات منه. الخطوة الأولى هي جمع ميزات haar. تعبر ميزة Haar عن المناطق المستطيلة المجاورة في مكان محدد في نافذة الكشف ، وتلخص شدة البكسل في كل منطقة وتحسب الفرق بينهم.
بشكل عام ، يتم استخدام ثلاثة أنواع من الميزات تكون فيها قيمة اثنين من الميزات المستطيلة هي مجموع فرق البكسل داخل منطقتين مستطيلتين. هذه المناطق لها نفس الشكل والحجم وهي متجاورة أفقياً أو رأسياً كما هو مبين في الشكل في الاسفل . حيث يتم احتساب الميزات المستطيلة الثلاث كما في مجموع المستطيلين الخارجيين ثم طرحها بالمجموع في مستطيل مركزي. علاوة على ذلك ، في ميزة المستطيلات الأربعة تحسب الفرق بين الأزواج القطرية للمستطيلات
مثال : تستخدم ميزات المستطيل في Haar-cascade بحيث يتم خصم مجموع البيكسلات في المستطيلات البيضاء للحصول على مجموع البيكسلات في المستطيلات الرمادية. هنا A و B هما ميزتان مستطيلتان ، و C و D هما ٣ و ٤ ميزات مستطيل.
يتم استخدام Integral Image كوسيلة سريعة وفعالة لحساب مجموع القيم (قيم البكسل) في صورة معينة - أو مجموعة فرعية مستطيلة من الشبكة (الصورة المحددة). يمكن أيضًا استخدامه بشكل أساسي لحساب متوسط الكثافة في صورة معينة.
AdaBoost هي واحدة من أكثر الخوارزميات المستخدمة في مجتمع تعلم الآله. يستخدم AdaBoost عددًا من صور عينات التدريب (مثل الوجوه) لاختيار عدد من "الميزات"/"المصنفات" الجيدة. بالنسبة إلى التعرف على الوجوه ، فإن المصنفات عادة ما تكون مجرد مستطيل من البكسلات ذات قيمة لون متوسطة وحجم نسبي معين. سيبحث AdaBoost في عدد من المصنّفات ويكتشف أيهما أفضل مؤشر للوجه بناءً على صور العينة. بعد اختياره لأفضل مصنف ، سيستمر في العثور على آخر وآخر حتى الوصول إلى بعض العتبات وستجمع هذه المصنّفات معًا النتيجة النهائية.
تسمى كل مرحلة من مراحل تصنيف المنطقة المحددة بواسطة الموقع الحالي للإطار الكاشف بأنها إما إيجابية أو سلبية. تشير الموجبة إلى أنه تم العثور على كائن وتشير السلبية إلى عدم العثور على كائن. إذا كانت التسمية سالبة ، يكون تصنيف هذه المنطقة مكتملاً ، ويقوم الكاشف بتحريك النافذة إلى الموقع التالي. إذا كانت التسمية موجبة ، ينتقل مصنف المنطقة إلى المرحلة التالية. يقوم الكاشف بالإبلاغ عن كائن موجود في موقع النافذة الحالية عندما تصنف المرحلة الأخيرة المنطقة بأنها إيجابية. تم تصميم المراحل لرفض العينات السلبية في أسرع وقت ممكن. الافتراض هو أن الغالبية العظمى من النوافذ لا تحتوي على كائن . على العكس من ذلك ، الإيجابيات الحقيقية نادرة وتستحق وقتًا للتحقق. يحدث نتيجه إيجابيه حقيقيه عندما يتم تصنيف عينة إيجابية بشكل صحيح. يحدث خطأ إيجابي خاطئ عندما يتم تصنيف عينة سلبية عن طريق الخطأ على أنها إيجابية. يحدث نتيجه سلبية خاطئة عندما يتم تصنيف عينة إيجابية عن طريق الخطأ بأنها سلبية.
المرجع
https://www.cs.cmu.edu/~efros/courses/LBMV07/Papers/viola-cvpr-01.pdf