تشخیص حالت فرد از روی تصویر

تغییرات پروژه از تاریخ 1392/12/24 تا تاریخ 1393/02/06
![تشخیص حالت](http://www.eecs.qmul.ac.uk/~ioannisp/HumanMotionAnalysis/expressions.jpg)

#مقدمه
تشخیص حالت چهره از مهمترین چالش های پردازش تصویر محسوب می گردد  و امروزه این موضوع کاربردهای فراوانی پیدا کرده است . از نمونه این کاربرد های ارتباط انسان با کامپیوتر است که با استفاده از روشهای تشخیص حالت میتوان یک ارتباط به اصطلاح قلبی میان انسان و کامپیوتر ایجاد کرد .به عنوان مثال ربات هایی ساخت که با خوشحالی شما خوشحال و با ناراحتی شما ناراحت شوند . از جمله کاربردهای دیگر این بحث در طراحی انیمیشن و فیلم های کارتونی است به این صورت که اگر یک شخصیت کارتونی حرکات صورت خود را برای نمایش یک حالت از چهره ی یک  انسان الهام بگیرد نمایش حالت مورد نظر بسیار حقیقی تر بوده و طراحی نیز ساده تر میگردد . 
تشخیص حالات مختلف  از روی ویژگی های صورت به خصوص ویژگی های مربوط به چشم ُ دهان و ابرو ها انجام میگیرد و با استفاده از قوانینی که جهت تمییز حالات مختلف از یکدیگر تعریف میشود میتوان حالت چهره را با دقت خوبی مشخص کرد .
در این پروژه سعی میشود تا با پردازش تصویر متحرک و بدست آوردن الگویی از تغییرات نقاط صورت به حالت نهایی چهره دست یافت . کاملا قابل تصور است که تشخیص حالت چهره از روی تصویر متحرک که در واقع نشان دهنده ی تغییر حالت چهره از معمولی به یکی از حالات گفته شده در زیر است از دقت بالا تری نسبت به تشخیص چهره از روی تصویری صامت و ثابت خواهد بود .

#کار های مرتبط
شش حالت اصلی چهر ه که اغلب برای تشخیص در نظر گرفته میشوند عبارتند از : خوشحالی ‌ْ ناراحتی ْ خشم ْ تعجب ْ ترس و تنفر .   
 تعیین حالات چهره با توجه به تغییراتی است که در نقاط مختلف صورت رخ میدهد  . این نقاط را واحد های فعال یا AU می نامند .جهت تشخیص حالت میبایست  ابتدا با انجام یک سری  پیش پردازش ها ناحیه مورد پردازش را روی صورت مشخص نمود سپس چند نقطه مشخصه در صورت تعین کرد و سپس  با انجام پردازش های لازم روی تصویر و نرمال سازی اندازه ها این نقاط را در اولین فریم و همچنین فریم های بعدی تعیین نمود . با تعقیب نقاط مشخصه در فریم ها یک بردار ویژگی برای هر یک از نقاط مشخصه به دست می آید و با کمک این بردار ها میتوان به حالت چهره دست یافت .
در شکل زیر 21 نقطه به عنوان نقاط مشخصه در نظر گرفته شده اند .


![تصویر نقاط مشخصه](http://gigpars.com/upload/y00g_untitled.png)


‫برای حذف اثر فاصلۀ دوربین نسبت به‬‫شخص ‪ ،‬کمیتی بنام ‪ BASE‬که در واقع فاصلۀ بین انتهای‬‫ داخلی چشم ها می باشد‪ ،‬در نظر گرفته شده و تمام مقادیر‬
‫اندازه گیری شده نسبت به این کمیت نرمالیزه می شوند‪.
‬‬
$$BASE=\sqrt{(x_5-x_{10})^2+(y_5-y_{10})^2}$$

‫‪θ‬‬ نیز زاویه‫‪ BASE‬‬ نسبت به افق است که جهت حذف دوران صورت در نظر گرفته میشود .

$$\theta = \arctan{\frac{y_5-y_{10}}{x_5-x_{10}}}$$

‫برای اینکه مختصات‪ FCP‬ها در تصـاویر مختلـف نسـبت بـه‬ ‫یک مرجع ثابتی اندازه گیری شوند ، نقطه مرجع نقطه مرجع تقریبا نوک بینی میتواند فرض شود به عنوان مبدا مقایسه ی مختصات FCP‬ها در تصاویر مختلف در نظر گرفته میشود .
مختصات مبدا برابر خواهد بود با :

$$x_0 = \frac{x_5+x_{10}}{2}$$
$$y_0 = \frac{y_5+y_{10}}{2}$$

$$x_org = x_0 – BASE \times \sin \theta$$
$$y_org = y_0 – BASE \times \cos \theta$$


#تشخیص حالت های چهره با کمک شبکه عصبی RBF
شبکه عصبی RBF  در واقع  یک سیستم پردازش اطلاعات است که عملکردی شبیه شبکه عصبی بیولوژیکی دارد و می­توان آن را مدل ریاضی توسعه داده شده قسمت مادی شناخت انسان یا بیولوژی عصبی قلمداد نمود . در این مسئله پس از بدست آوردن  بردار های ویژگی  ، شبکه ای شامل 21 گره ورودی خواهیم داشت که هر یک از ورودی ها مختص به یکی از مولفه های بردار ویژگی میباشند . این شبکه همچنین شامل یک لایه مخفی و 5 گره خروجی است که هر یک نمایانگر یکی از حالات چهره هستند . لایه ی مخفی از واحد هایی ترکیب یافته که بر اساس تحریکات توابع radial basis  عمل میکنند. این واحد ها فیلد نامیده میشوند . لایه خروجی شامل گره هایی است که به بردار خروجی متصل هستند .
گره های ورودی به طور کامل با اتصلات با وزن واحد به فیلد های پذیرنده در لایه مخفی متصل اند و فیلد های پذیرنده به طور کامل با اتصالات وزن دار به واحد های خروجی متصلند .
بدین ترتیب در آزمایش هر یک از حالات ، شبکه عصبی با تصاویر موجود در پایگاه داده ی مورد استفاده آموزش دیده و میتواند توسط تعدادی تصویر دیگر از پایگاه داده مورد آزمایش قرار بگیرد . چهره های مورد آزمایش در هر مرحله در آموزش شبکه دخالت داده نمیشوند .

#مراجع
+ خانمحمدی، سهراب، علی آقاگلزاده، و میرهادی سیدعربی، 1381، تشخیص حالتهای چهره براساس نقاط مشخصه صورت با استفاده از شبکه عصبی RBF و منطق فازی، دومین کنفرانس ماشین بینایی و پردازش تصویر، تهران، دانشگاه خواجه نصیرالدین طوسی
+ M. Rosenblum , Y. Yacoob and L. Davis ,"Human Expression Recognition from Motion using a Radial Basis Function Network Architecture," IEEE Trans. on Neural Networks ,vol.7,No.5,september 1996.
+ Claude C. Chibelushi, Fabrice Bourel   Facial Expression Recognition :A Brief Tutorial Overview  
+ Facial Expression Recognition : Neeta Sarode et. al. / (IJCSE) International Journal on Computer Science and Engineering Vol. 02, No. 05, 2010, 1552-1557 

#پیوند های مفید
 
+ [شناسایی چهره](http://www.myheritage.ir/%D8%AA%DA%A9%D9%86%D9%88%D9%84%D9%88%DA%98%DB%8C-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%B5%D9%88%D8%B1%D8%AA)
+ [نرم افزار چهره خوان](http://www.noldus.com/human-behavior-research/products/facereader)