آشکار سازی چهره

اولین قدم در سیستم تشخیص چهره ،آشکار سازی چهره می باشد. به همین دلیل برای آشکار سازی و استخراج منطقه چهره از غیر چهره ابتدا باید ویژگی های چهره و غیر چهره شناسایی و در نهایت تشخیص چهره صورت می گیرد. یک سیستم تشخیص چهره معمولا" شامل سه بخش می باشد:

1.آشکار سازی(face detection)

2.استخراج الگو(feature extraction)

3.تشخیص چهره(face recognition)

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

در این زمینه  شما همه ی تمرکز برنامه و الگوریتم ها و روابطشان  را بر این مبنا می گذارید که بتوانند تصاویر چهره رو تشخیص بدهند . مثلا با یک دوربین وارد اتاقی میشدید که یک جشن تولد داخلش برگزار می شود.  چندین نفر توی اتاق نشستن و از روبرو به دوربین نگاه میکنند.  چند نفر هم از پهلو به دوربین نگاه میکنند.  بعضی از آنها هم پشتشان به دوربین می باشد. چند تا بادکنک هم هست که با ماژیک رویشان  را به صورت آدمک نقاشی کردند.  یک آینه ی گرد کوچک هم ته اتاق است  که دو تا میخ به صورت موازی  روی  قطرش زدند تا به دیوار متصل بشود.  حال اگر بخواهید با این دوربین تعداد افرادی که توی اتاق هستند  را بشمارید چه کاری انجام می دهید؟ طبیعتا"  باید صورت ها را  از غیر صورت تشخیص بدهید.  به طور کلی اولین چیزی که از صورت در نظر ما می آید این است که دو تا چشم و یک محیط گرد، یک بینی و یک خط برای لب .. حال اگر همین ها را بتوانیم در قالب الگوریتم و روابط کدنویسی به اجرا در بیاوریم ، فریم هایی که از دوربین استخراج میشوند می توانند  پردازش شوند و تخصیص داده شوند  که چند تا تصویر صورت از طریق پیاده سازی  این الگوریتم  به دست می آید. اما نکته ی مهم این است که  هر چه شما ویژگی هایتان را دقیق تر تعریف کنید ، نتیجه ای که میگیرید به واقعیت نزدیک تر می شود. مثلا  اگر  شما صرفا گردی صورت را ملاک پردازش تصاویر دریافتی بگیرید؛ آن آینه و بادکنک ، صورت به حساب می آیند اما افرادی که نیمرخ قرار دارن یا سرشان پایین بوده (سطوح بیضی ..) ،صورت به حساب نمی آیند. اگر چشم ها را هم دخیل کنید ، باز هم همین وضع پیش می آید و نتیجه تغییر نمی کند. اگر صرفا لب و گردی صورت رو به عنوان feature قرار بدهید، آینه حذف می شود ولی بادکنک هنوز می ماند و همینطور تا آخر .. این است که باید بدانید برای یک دسته بندی مناسب  از چه  feature هایی استفاده کنید بهتر است یا در کجا مناسب تر است؟؟؟؟ 

مورد بعدی  اصولا موردی است که صرفا محدود به پردازش چهره نمی شود و برای موارد بسیار دیگری هم کاربرد دارد.  اساس این مورد بر این موضوع استوار است که شما از تصویر پارامترهایی را  استخراج کنید که بتوانید بر مبنای آنها استدلال کنید که به این دلیل ، تصویر a  کپی است از تصویر b ...یعنی یک تناظر یک به یک بین دو تصویر برقرار کنید.  فرض کنید دو تا تصویر چهره دارید و می خواهید اینها را با تصویر سومی مقایسه کنید. حال  اگر صرفا از چهره این استنباط را داشته باشید که چهره عبارت است از یک گردی صورت + دو گردی کوچکتر به عنوان چشم+ یک تیغه ی عمودی به عنوان بینی+ یک خط افقی به عنوان لب  هر سه تصویر بر هم منطبق می شوند و نمی توانید تفکیک بین آنها قائل شوید.  مثلا اگه این کار را برای تشخیص هویت بخواهید انجام بدهید در عمل الگوریتمتان شکست میخورد ، اما اگر تصاویرتان را با ملاک های دیگری تحلیل کنید ؛ مثل اینکه فاصله ی دو تا چشم از هم چقدر است و یا ارتفاع چشم ها یا فاصله ی بینی از لب و یا موارد دیگری که میتوانید انتخاب کنید، در آن صورت دیگر عمل  تطابقتان  به صورت دقیق تری انجام می شود و میتوانید از آن  برای موارد دیگر هم استفاده کنید. هرچقدر این انتخاب ها خلاقانه تر و منحصر به فرد تر باشد، نتیجه ی تطابقتان دقیق تر و صحیح تر خواهد بود به طوریکه در صورت بهینه شدن میتوانید این رفتار را برای هر تصویر چهره ای به اجرا در بیاورید.
برای مورد اولی شما باید روی Classifier ها و متد های آنها و الگوریتم هایی که در این زمینه کاربرد دارند زمان بگذارید و دنبال این موضوع باشید که کدام Classifier می تواند بهترین نتیجه را به همراه داشته باشد و در انتخاب آنها باید به این نکته هم توجه کنید که همیشه  Accuracy با speed در رقابت هستند و به نوعی باید این trade off را برچسب  application خودتان برقرار کنید.
برای مورد دومی  شما باید روی الگوریتم ها و متد های Matching زمان بگذارید و بروید دنبال این موضوع که هر کدام از اینها به چه نحوی کار می کنند و از چه طریقی می توانند با  توجه به feature های انتخابی شما به روند کنترل تطابق سمپل ها کمک کنند.  روش های متنوعی برای هر دو مورد وجود دارد هر کدام هم یک شیوه ی خاص برای خودشان دارند و نتایجشان هم بسیار متفاوت است. (هر کدوم برای یه  application  کاربرد دارند که آن  را شما باید پیدا کنید ..) 

منابع:

M. Yang, D. J. Kriegman and N. Ahuja, ‘Detecting Faces in Images: A Survey’, IEEE Trans. On Pattern Analysis and Machine Intelligence, 24 (1):34-58, 2002.

] C.J.C. Burges, ‘A Tutorial on Support Vector Machines for Pattern Recognition’, Data Mining and Knowledge Discovery, 2:121-158, 1998.

 H.-J. Lin, S.-Y. Wang, S.-H. Yen, and Y.-T. Kao, "Face Detection Based on Skin Color Segmentation and Neural Network," presented at Neural Networks and Brain, 2005. ICNN&B '05. International Conference on, 2005.

http://www.eca.ir/forums/thread7997-3.html

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.