پاسخ : شناسایی چهره در یک تصویر
سلام ممنون از راهنماییتون
میشه یک مقدار راجع به ADA Boost بیشتر توضیح بدهید
نوشته اصلی توسط حسام الدین
سلام .................
از اونجاییکه فرمودین این پروژه به جهت انجام برای پروژه ی نهایی هست و شما هم مدت کمیه در پردازش تصویر فعالیت میکنین گفتم بهتره یک مقدار در مورد روند پروژتون صحبت کنیم ..
ببینید همون طور که فرمودید پروژه ی شما Face Detection هست به این معنا که یک تصویر باید از مفهوم صورت بودن متمایز بشه . خب اگه صرفا به همین قسمت قضیه نگاه کنیم میتونیم بگیم که مساله ی شما با استفاده از یه Cassifier حل میشه . الان Classifier ای که برای این منظور استفاده میکنن ADA Boost هست . حالا منظورمون از Classifier چیه؟ یه روش تشخیص دهنده و یا باز شناسایی تمایز بین چند مورد . البته Boosting یه Classifier باینریه به این معنا که تنها میتونه روی دسته بندی دو مورد بحث کنه ..
روش کارش هم خیلی جالبه . درواقع رفراندومیه از یک سری Weak Learner Classifier ها که هر کدوم یه Feature Vector خاص رو بررسی میکنن و در نتیجه ی بررسیشون یه خروجی میدن . بعد با توجه به درستی و نادرستی این نتیجه ها به نتایج وزن داده میشه و این مجموعه های دسته بندی کننده ی کوچک و البته زیاد در نهایت مسیر تصمیم گیری الگوریتم Boostig رو مشخص میکنن . یه مثال از این قضیه اینه که شما یه دیتابیس 300 تایی (یا همون دیتابیس استاندارد Face Detector ها ) از صورت ها دارید و میخواین این تصاویر رو از تصاویر معمولی مثل طبیعت یا حیوانات تشخیص بدین . در مرحله ی اول بررسی و پیاده سازی الگوریتمتون (Order 1) ممکنه خیلی جوابتون درست نباشه اما در Order های بالاتر کم کم الگوریتمتون Learn میشه و نتیجه ای منطبق بر خواست شما تحویل میده (تقریبا تصاویر صورت رو به طور کامل جدا میکنه ..) . درسته که Classifier های زیر مجموعه همشون Weak Learner بودن اما در مجموع کار از تطابق نظر کلیه ی اونها و وزن بالا دادن به نتایج درست از یک سو و وزن پایین دادن به نتایج نادرست اونها از سوی دیگه در نهایت ADA Boost رو قادر میکنه که در حکم یه Classifier قدرتمند در مقابل آرگومان های ورودی عمل کنه و این همون چیزیه که ما انتظار داشتیم ..
اما اگه بحث پردازش چهره ی طرح شما به این قسمت ختم نشه و قضیه ی Detection هم توش مطرح باشه که اون وقت بحث چندین حالت میشه . دیتابیس باشه یا نه . اگر هم دیتابیس وجود داشته باشه یک نوع دیتابیس هست یا چند نوع . منظورم چیه؟ ببینید شما اگه دیتابیس هارو ملاحظه کرده باشید متوجه این مورد میشید که همه ی تصاویر از روبرو از افراد گرفته شده . حالا یه دیتابیس دیگه هست که هر چهار تصویرش مربوط به یه نفره در حالت های مختلف . یا چرخیده یا نیم رخ یا نصف صورت پایین یا ... این جا هاست که مساله ی Detection برای شما بسیار مهم و ارزشمند میشه و بر حسب انعطاف قضیه ، راه حل های متنوعی هم باید به کار ببرید ..... موفق باشید ..
از اونجاییکه فرمودین این پروژه به جهت انجام برای پروژه ی نهایی هست و شما هم مدت کمیه در پردازش تصویر فعالیت میکنین گفتم بهتره یک مقدار در مورد روند پروژتون صحبت کنیم ..
ببینید همون طور که فرمودید پروژه ی شما Face Detection هست به این معنا که یک تصویر باید از مفهوم صورت بودن متمایز بشه . خب اگه صرفا به همین قسمت قضیه نگاه کنیم میتونیم بگیم که مساله ی شما با استفاده از یه Cassifier حل میشه . الان Classifier ای که برای این منظور استفاده میکنن ADA Boost هست . حالا منظورمون از Classifier چیه؟ یه روش تشخیص دهنده و یا باز شناسایی تمایز بین چند مورد . البته Boosting یه Classifier باینریه به این معنا که تنها میتونه روی دسته بندی دو مورد بحث کنه ..
روش کارش هم خیلی جالبه . درواقع رفراندومیه از یک سری Weak Learner Classifier ها که هر کدوم یه Feature Vector خاص رو بررسی میکنن و در نتیجه ی بررسیشون یه خروجی میدن . بعد با توجه به درستی و نادرستی این نتیجه ها به نتایج وزن داده میشه و این مجموعه های دسته بندی کننده ی کوچک و البته زیاد در نهایت مسیر تصمیم گیری الگوریتم Boostig رو مشخص میکنن . یه مثال از این قضیه اینه که شما یه دیتابیس 300 تایی (یا همون دیتابیس استاندارد Face Detector ها ) از صورت ها دارید و میخواین این تصاویر رو از تصاویر معمولی مثل طبیعت یا حیوانات تشخیص بدین . در مرحله ی اول بررسی و پیاده سازی الگوریتمتون (Order 1) ممکنه خیلی جوابتون درست نباشه اما در Order های بالاتر کم کم الگوریتمتون Learn میشه و نتیجه ای منطبق بر خواست شما تحویل میده (تقریبا تصاویر صورت رو به طور کامل جدا میکنه ..) . درسته که Classifier های زیر مجموعه همشون Weak Learner بودن اما در مجموع کار از تطابق نظر کلیه ی اونها و وزن بالا دادن به نتایج درست از یک سو و وزن پایین دادن به نتایج نادرست اونها از سوی دیگه در نهایت ADA Boost رو قادر میکنه که در حکم یه Classifier قدرتمند در مقابل آرگومان های ورودی عمل کنه و این همون چیزیه که ما انتظار داشتیم ..
اما اگه بحث پردازش چهره ی طرح شما به این قسمت ختم نشه و قضیه ی Detection هم توش مطرح باشه که اون وقت بحث چندین حالت میشه . دیتابیس باشه یا نه . اگر هم دیتابیس وجود داشته باشه یک نوع دیتابیس هست یا چند نوع . منظورم چیه؟ ببینید شما اگه دیتابیس هارو ملاحظه کرده باشید متوجه این مورد میشید که همه ی تصاویر از روبرو از افراد گرفته شده . حالا یه دیتابیس دیگه هست که هر چهار تصویرش مربوط به یه نفره در حالت های مختلف . یا چرخیده یا نیم رخ یا نصف صورت پایین یا ... این جا هاست که مساله ی Detection برای شما بسیار مهم و ارزشمند میشه و بر حسب انعطاف قضیه ، راه حل های متنوعی هم باید به کار ببرید ..... موفق باشید ..
سلام ممنون از راهنماییتون
میشه یک مقدار راجع به ADA Boost بیشتر توضیح بدهید
دیدگاه