بازشناسی چهره

تغییرات پروژه از ابتدا تا تاریخ 1394/08/30
**تعریف مسأله**: مسأله بازشناسی چهره [1] و مکانیزم کلی عملکرد آن در این پروژه را می توان در این قالب بیان نمود: عکسی از یک چهره به عنوان ورودی و یک مجموعه داده شامل عکس از چهره های شناخته شده به سیستم داده می شود؛ چگونه می توان عمل بررسی یا تعیین هویت شخص موجود در تصویر ورودی را انجام داد؟


----------


# مقدمه

موضوع بازشناسی چهره اساساً یکی از مسائل چالش برانگیز در حوزه مباحث مرتبط با پردازش تصویر و بینایی کامپیوتر در عصر حاضر بوده است و کاربردهای فراوان و کلیدی آن در حوزه های مختلف باعث توجه بیش از پیش به این موضوع در سالهای اخیر گردیده است.
اساساً بکارگیری تکنیک های بایومتریکی [2] در موضوع احراز هویت اشخاص از مؤثرترین و کارآمدترین روش ها می باشد. در حقیقت بجای آن که برای احراز هویت افراد جهت دادن دسترسی‌های خاص فیزیکی یا غیرفیزیکی به آنها از رمز عبور، پین کد، کارت‌های هوشنمد، توکن، کلید و ... استفاده شود، از روش‌هایی که اصطلاحاً از آنها تحت عنوان روش‌های بایومتریکی یاد می‌شود، استفاده می گردد که در آن با نمونه برداری از حالات فیزیکی یا رفتاری شخص، هویت وی بررسی می شود.
بطور کلی می توان گفت که همیشه عمل احراز هویت بصورت مکانیزه به سه روش کلی و یا ترکیبی از این سه روش انجام می پذیرد [3]:

1- Password, PIN, ... [**What you know**]
2- Smart Card,Token, ... [**What you have**]
3- Bio-metric elements [**What you are**]

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

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


**فرضیات و اهداف**

برخی از رویکردها، ساختار یک سیستم بازشناسی چهره را مشتمل بر سه گام اصلی زیر می دانند: [5]

![شکل1: فرآیند کامل تشخیص و بازشناسی چهره](https://boute.s3.amazonaws.com/208-face.jpg)

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

# کارهای مرتبط

**روش HMM مبتنی بر مدل** [9]
در میان روش‌های مختلف بازشناسی چهره یا بررسی هویت بر اساس چهره، که به سه دسته کلی روش‌های مبتنی بر ویژگی‌های هندسی، الگو و مدل تقسیم می‌شوند، روش‌های مبتنی بر مدل در مقابل تغییرات شدت و جهت تابش نور، چرخش و مقیاس تصویر، تغییر حالات صورت و مدل مو انعطاف پذیری بیشتری به نمایش گذارده اند که نتیجه استفاده از یک مدل ریاضی ـ آماری، برای ترکیب نمونه‌های گوناگون تصویر در مقیاس‌ها و چرخش‌های مختلف است. HMM که یک روش مبتنی بر مدل است، نسبت به تغییر وضعیت چهره، تغییر موی صورت (ریش و سبیل)، شرایط نوری متفاوت، چرخش محدود صورت (تا 22/5 درجه) و تغییر سایز تصویر حساس نمی‌باشد.[10]

**روش‌های مبتنی بر [PCA[11 و [12]LDA**
روش PCA شامل دو فاز آموزش و طبقه بندی است. در طی این دو فاز تصاویر آموزشی (تصاویری که به عنوان تصاویر موثق در اختیار سیستم قرار می‌گیرد) مبتنی بر تکنیک‌های PCA به نحو مطلوبی و با توجه به ویژگی‌های خود طبقه بندی خواهند شد. نقطه مقابل روش PCA که در واقع کد کردن اطلاعات را انجام می‌دهد، روش LDA می‌باشد که از یک فضای خطی در دامنه فعالیت خود بهره می برد.[6]

 (**اصلاحات و توضیحات تکمیلی در فازهای بعدی)** 

# آزمایش‌ها

# کارهای آینده

# مراجع
[1]. Face recognition
[2]. Bio-metrics
[3]. EC-Council Certified Security Analyst Course (ECSA).
[4]. R. Jafri and H. R. Arabnia, A Survey of Face Recognition Techniques,  Journal of Information Processing Systems, Vol.5, No.2, June 2009.
[5]. Ion Marqu´es, Face Recognition Algorithms, Proyecto Fin de Carrera, 2010. 
[6]. K. Delac and M. Grgic, Face recognition, Tech Education and Publishing, 2007.
[7]. Sh. K. Zhou and R. Chellappa, Unconstrained face recognition, Springer Science+Business Media, 2006. 
[8]. J. Li and Sh. Ch. Chu, Kernel Learning Algorithms for Face Recognition, Springer Science+Business Media New York, 2014.
[9]. Hidden Markov Model
[10]. ش. نادری و دیگران، HMM یک بعدی در بررسی هویت بر اساس تصویر چهره : بهینه سازی مدل با بهبود الگوریتم و انتخاب هوشمند تصاویر آموزشی، بانک مقالات همایش‌های دانشگاه فردوسی مشهد.
[11]. Principal components analysis 
[12]. Linear discriminant analysis
**پیوندهای مفید**
+ [کتابخانه اپن‌سی‌وی](http://opencv.org)
+ [اپن‌سی‌وی در پایتون](http://docs.opencv.org/trunk/doc/py_tutorials/py_tutorials.html)
+ [نصب اپن‌سی‌وی در ابونتو](https://help.ubuntu.com/community/OpenCV)
+ [بازشناسی چهره در اپن‌سی‌وی](http://docs.opencv.org/trunk/modules/contrib/doc/facerec/facerec_tutorial.html)