رُخ در گیت‌هاب

۱. مقدمه

اولین قدم در فرایند پردازش چهره‌، تشخیص چهره است.
هدف از تشخیص چهره پاسخ به این سوال خواهد بود که آیا در یک عکس چهره -و یا چهره‌هایی- وجود دارد یا نه؟ و اگر بله مکان هر کدام از چهره‌ -و یا چهره‌ها- کجاست؟

از موارد زیر می‌توان به عنوان چالش‌های پیش‌رو در زمینه‌ی تشخیص چهره‌ نام برد:

  • زاویه چهره1. این‌که دوربین از کدام زاویه (تمام‌رخ، نیم‌رخ و ...) از چهره عکس گرفته باشد می‌توان فاکتور مهمی در درجه‌ی سختی تشخیص چهره محسوب گردد.

  • وجود یا عدم وجود اجزای مختلف صورت. اجزای مختلف صورت از جمله محاسن، سبیل و ... می‌توانند در چهره‌ی فرد موجود باشند یا نباشند. از طرفی دیگر تفاوت‌های زیادی بین شکل‌های مختلف این اجزا وجود دارد.

  • حالات چهره. نمای صورت در حالات مختلف چهره (لبخند، خنده، گریه و ...) متفاوت خواهد بود.

  • پوشش. ممکن است قسمتی از چهره بخاطر زاویه چهره و یا قرارگیری پشت اشیاء دیگر قابل مشاهده نباشد.

  • زاویه عکس2. اشیاء مختلف با قرارگیری در زاویه‌های مختلف نسبت به صفحه مماس اشکال خاصی به خود می‌گیرند.

  • شرایط عکاسی. فاکتور‌های مختلف محیطی نظیر شرایط نوری و مشخصات دوربین عکاسی از جمله لنز‌ می‌توانند تاثیر زیادی در پروسه تشخیص چهره داشته باشند.

در ادبیات تشخیص چهره، مفهومی مرتبط وجود دارد که از آن به عنوان مکان‌یابی چهره3 یاد می‌کنیم. خواننده محترم باید این نکته را در نظر داشته باشد که هدف از مکان‌یابی چهره درست همانند تشخیص چهره هست اما تفاوت اندکی موجود خواهد بود و آن این که در مکان‌یابی چهره تصویر موجود فقط شامل یک چهره در نظر گرفته می‌شود.
یکی از روش‌های مرسوم در زمینه تشخیص اشیاء در نظر گرفتن قابی4 کوچک روی تصویر اصلی و تشخیص این خواهد بود که آیا شیء مورد نظر در آن پنجره وجود دارد یا نه؟ پس اگر از این روش استفاده شود باید در جستجوی الگوریتمی بود تا توانایی تشخیص وجود یا عدم وجود چهره در یک قاب کوچک، متشکل از چند صد پیکسل داشته باشد.
در این دیدگاه تشخیص چهره را می‌توان به صورت مساله‌ی دسته بندی نیز در نظر گرفت. به این صورت که عامل هوش مصنوعی باید قاب‌های مختلف موجود در تصویر را در دو گروه چهره و غیرچهره در نظر گرفت.

المان‌های مختلفی را می‌توان در ارزیابی یک سیستم تشخیص چهره مؤثر دانست مانند زمان یادگیری، زمان اجرا، تعداد مثال‌های مورد نیاز برای یادگیری و نسبت بین میزان تشخیص5 و خطای منفی6.
میزان تشخیص را می‌توان به نسبت تعداد چهره‌های درست تشخیص داده شده توسط عامل هوش مصنوعی به تعداد چهره‌های تشخیص داده شده توسط انسان تعریف کرد.
در صورتی قابی توسط عامل تشخیص داده شده است به عنوان چهره در نظر گرفته می‌شود که قاب مورد نظر بیشتر از میزان خاصی از چهره‌ی فرد را پوشش دهد.
از طرف دیگر خطای منفی زمانی رخ می‌دهد که عامل در تشخیص چهره ناموفق باشد که این خود ریشه در پایین بودن میزان تشخیص خواهد بود. در مقابل خطای منفی مفهوم دیگری به نام خطای مثبت7 وجود دارد که وقتی قابی به عنوان چهره از طرف عامل هوش‌ مصنوعی معرفی می‌شود اما عامل انسانی تایید نمی‌کند، رخ می‌دهد.

detection\ rate= \frac{correctly\ detected}{determined\ by\ human}

نکته‌ی مهم در رابطه با خطای منفی یا خطای مثبت این است که هر چه قوانین پیاده‌سازی شده سخت‌تر و به واسطه‌ی آن رفتار عامل سخت‌گیرانه تر باشد خطای منفی بالاتر و خطای مثبت پایین‌تر خواهد بود و بالعکس.

۱.۱. روش‌های موجود

روش‌های موجود در تشخیص چهره را می‌توان به چهار گروه مختلف تقسیم کرد:

  • روش‌های دانش‌ محور8

  • روش‌های جزئیات محور9

  • روش‌های الگو محور10

  • روش‌های ظاهر محور11

۱.۱.۱. روش‌های دانش محور

مشکل اساسی در این روش پیاده‌سازی دانش انسانی خواهد بود. از طرف دیگر عمل‌کرد این نوع عامل‌ها در تشخیص چهره بسیار خوب بوده است.

یکی از استراتژی‌های جالب توجه در این روش استفاده از الگوریتم‌های ابتکاری خواهد بود. بدین صورت که ابتدا با اعمال بعضی قوانین ساده‌تر بر روی تصویر با کیفیت پایین‌تر به راحتی تعداد زیادی از قاب‌ها را حذف کرده و در مراحل بعدی با اعمال قوانین سخت‌گیرانه‌تر قاب‌های باقی‌مانده را فیلتر کرد. در پایان هر کدام از قاب‌ها که همه‌ی قوانین را پشت سر گذاشته است به عنوان چهره تشخیص داده می‌شود.

یک تصویر مورد استفاده در روش‌های بالا-به-پایین دانش محور تولید شده بر اساس دانش انسانی درباره خصوصیات چهره انسان.بر گرفته از [4]

۱.۱.۲. روش‌های جزئیات محور

برعکس روش دانش‌ محور محققان در این روش به دنبال یافتن اجزای مختلف صورت برای تشخیص چهره خواهند بود.
فرض بنیادین در این روش این مشاهده بوده که انسان بدون دشواری در زوایای مختلف چهره و شرایط نوری متفاوت می‌تواند به‌راحتی چهره را تشخیص دهد.
اجزای مختلف چهره مانند ابروها، چشم‌ها، بینی و دهان براحتی توسط آشکارساز لبه استخراج می‌شوند. بر اساس اجزای استخراج شده مدلی آماری از رابطه‌ی اجزای صورت با هم ساخته می‌شود تا در تأیید وجود چهره مورد‌ استفاده قرار گیرد.

یکی از مشکلات این نوع روش‌ها این است که تصویر اجزای مختلف صورت بخاطر شرایط نوری نامناسب، نویز و یا پوشش خراب شود. وجود این مشکل احتمال بروز این مسأله که مرز‌های اجزای صورت از دست برود و یا بخاطر ایجاد سایه‌های زیاد الگوریتم بی‌فایده گردد را نیز افزایش می‌دهد.

۱.۱.۳. روش‌های الگو محور

در روش الگو محور الگوی استانداردی از چهره‌ی انسان به صورت دستی و یا به صورت تابعی ریاضی از پیش تعیین گردد.با دریافت تصویر ورودی، همبستگی میان تصویر در مرزهای صورت، چشم‌ها و.. با الگو بدست می‌آید. تصمیم نهایی در خصوص تشخیص تصویر بر اساس مقدار همبستگی خواهد بود.

اگر چه این روش به راحتی قابلیت پیاده سازی دارد اما از آنجایی که در مصاف با تصاویر با مقیاس مختلف‌، زاویه چهره و اشکال متفاوت باز می‌ماند گزینه‌ی خوبی برای استفاده در مساله‌هایی که تصاویر چهره در آن در شرایط مختلف وجود دارد نخواهد بود.

الگوی نسبی تولید شده جهت تشخیص چهره (بر گرفته از [5])

۱.۱.۴. روش‌های ظاهر محور

بر خلاف روش الگو محور که در آن الگوی مورد استفاده توسط گروهی متخصص تولید می‌گردد در روش ظاهر محور این الگو از آموزش عامل هوش مصنوعی بوسیله‌ی تعدادی مثال‌ از تصاویر چهره حاصل می‌شود. به طور معمول روش‌های ظاهر محور بر اساس آنالیز آماری و یادگیری ماشین استوار است. در همین حال از کاهش کیفیت تصاویر نیز در جهت بهبود عملکرد محاسباتی استفاده می‌شود.

۲. کارهای مرتبط

وایولا و جونز در [2] روشی برای حل مسأله تشخیص اشیاء مبتنی بر یادگیری ماشینی را معرفی کرده‌اند که قادر به پردازش سریع تصاویر با میزان نشخیص بالا خواهد بود.

<!--

۳. آزمایش‌ها

-->

۴. کارهای آینده

هدف این پروژه در فاز بعدی پیاده‌سازی روش ارائه شده توسط [2] خواهد بود.

۵. مراجع

  • [1] D. A. Forsyth and J. Ponce, Computer Vision: A Modern Approach, 2nd ed. .

  • [2] P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple features,” Proc. 2001 IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognition. CVPR 2001, vol. 1, 2001.

  • [3] M.-H. Y. M.-H. Yang, D. J. Kriegman, and N. Ahuja, “Detecting faces in images: a survey,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 24, no. 1, pp. 34–58, 2002.

  • [4] G. Yang and T. S. Huang, “Human Face Detection in Complex Background,” Pattern Recognition, vol. 27, no. 1, pp. 53-63, 1994.

  • [5] B. Scassellati,“EyeFindingvia Face Detection for a Foevated, Active Vision System,” Proc. 15th Nat’l Conf. Artificial Intelligence, 1998.

۶. پیوندهای مفید


  1. Pose

  2. Image orientation.

  3. Face localization.

  4. Window.

  5. detection rate.

  6. false alarm.

  7. positive alarm.

  8. Knowledge-based.

  9. Feature invariant.

  10. Template matching.

  11. Appearance-based.

نیما همتی

کار شما برای این فاز از پروژه بسیار خوب بود و از شما به خاطر تلاشتان تشکر میکنم.

تنها نکته ای که به نظر بنده خوب بود رعایت می‌کردید، بهتر بود کمی از روشی که قرار است در فازهای بعدی به پیاده‌سازی آن بپردازید نیز صحبت کنید. مثلا بگویید در روشی که در این مقاله آمده است و قرار است پیاده سازی شود از این روش‌ استفاده شده است.

همچنین مناسب بود کمی از پیچیدگی‌ها و مشکلات ناشی از کارهای پردازش تصویر نیز صحبت کنید. یعنی مثلا بگویید برای پردازش این عکس باید این مراحل صورت بگیرد. اول روی عکس این عملیات صورت بگیرد، بعد ....

اما به طور کلی از زحمتی که کشیدید تشکر میکنم . موفق باشید