تشخیص چهره انسان به کمک پردازش تصویر قسمت 2
روش PCA چند لایه
این روش در مقاله ی ارائه شده است. این روش به این صورت است که پس از این که سیستم با چند عکس تمرین داده شد, عکسها بر اساس میزان نزدیکی به تصویر ورودی مرتب می شوند. تعدادی از شبیه ترین عکس ها به عکس ورودی انتخاب می شوند و سیستم دوباره و با این تعداد عکس انتخاب شده تمرین داده می شود. این روند می تواند چند مرحله ی دیگر تکرار شود. با توجه به اینکه در هر مرحله دامنه ی جستجو محدود تر می شود, انتظار می رود که نتایج دقیق تری بدست آید. هر مرحله از این الگوریتم را یک لایه می نامند, به همین دلیل این روش, pca چند لایه نامیده شده است.
کد پیاده سازی شده مربوط به این الگوریتم را می توانید از اینجا دریافت کنید. برای آزمایش نرخ تشخیص چهره با این روش,آزمایشی مشابه آزمایش اول, انجام شد و حدود 55 درصد از تصاویر ورودی به درستی شناسایی شدند که نشانگر بهبود 5 درصدی نسبت به الگوریتم pca معمولی می باشد.
روش Modular PCA
این روش در مقاله ی [9] ارائه شده است. روش PCA معمولی در مقابل تغییرات حالت قرار گرفتن چهره در تصویر و تغییرات میزان نور در تصویر, بازده خوبی ندارد. چون در این روش مشخصات عمومی چهره, در قالب مجموعه ای از وزن ها (بردار وزن ها) توصیف می شود. تک تک این وزن ها وابسته به تمام نواحی چهره می باشند. بنابراین با تغییر حالت چهره و نورپردازی, حتی در قسمتی از تصویر, تمام وزن های این بردار دچار تغییر می شوند.
روش MudularPca سعی در رفع این مشکل دارد. در این روش یک عکس به چند قسمت کوچکتر تقسیم می شود و الگوریتم PCA روی این عکس ها اعمال می شود و بردار وزن ها برای هر قطعه به صورت جداگانه محاسبه می شود. با این عمل(تقسیم تصویر به چند تکه), تغییر در قسمتی از تصویر تنها بردار ویژگی آن قسمت از تصویر را تغییر می دهد و بردارهای مربوط به سایر قطعات بدون تغییر باقی می مانند. هنگام تشخیص چهره, هر قطعه از عکس ورودی با قطعه ی متناظر در تصاویری که سیستم با آنها تمرین داده شده است مقایسه می شود و به تعداد قطعات, فاصله محاسبه می شود. تصویری که مجموع فواصل قطعات آن با قطعات عکس ورودی کمتر از سایر تصاویر باشد, به عنوان تصویر مشابه با تصویر ورودی در نظر گرفته می شود.
کد پیاده سازی شده ی این الگوریتم را می توانید از اینجا دریافت کنید. برای آزمایش این روش, آزمایشی مشابه آزمایش اول انجام شد, اما تغییر محسوسی در نتایج بدست نیامد.
نحوه ی استفاده از کدها در گیت هاب قرار داده شده است.
کارهای آینده
برای بهبود نتایج حاصل از PCA معمولی که در بخش کارهای مرتبط شرح داده شد, کارهای زیادی انجام شده است و مقالات زیاد به چاپ رسیده است. تعدادی از این روش ها در بخش آزمایش ها شرح داده شد و کد مربوط به آنها پیاده سازی شد. در این بخش چند نمونه از کارهای انجام شده ی دیگر را بدون پیاده سازی به طور مختصر شرح می دهیم :
برای مثال در مقاله ی [10] فرمولهای مختلف فاصله, برای بدست آوردن فاصله ی تصویر ورودی و تصاویر موجود در سیستم استفاده شده است و نرخ تشخیص چهره ی آن ها با هم مقایسه شده است. در این مقاله از فاصله های euclidian distance, city block distance, angle distance, mahalanobis distance و یک بار هم از مجموع این چهار فاصله استفاده شده است و این نتیجه بدست آمده است که استفاده از مجموع این چهار فاصله نتیجه ی بهتری می دهد.
همچنین در برخی از مقاله ها قبل از اعمال الگوریتم PCA روی تصاویر, پیش پردازش هایی روی تصاویر انجام می شود. برای مثال ابتدا الگوریتم های کاهش نویز روی تصاویر اعمال می شود و سپس الگوریتم PCA روی تصاویر حاصل اعمال می شود.
همانطور که در بخش های مختلف گفته شد, پس از ارائه ی الگوریتم PCA کارهای زیادی برای بهبود عملکرد این الگوریتم انجام شده است که بررسی همه ی آنها در این پست نمی گنجد.
وقتی با کسی صحبت می کنیم ، معمولا به چهره و یا به عبارت دقیقتر به چشم های او نگاه می کنیم. این واقعیت نه تنها با تجربه ، بلکه با آزمایش های روانشناسی هم تأیید شده است. حالت صورت اشخاص نقش مهمی را در روابط اجتماعی بازی می کند. علاوه بر این ، خاصیت یکتایی صورت در بین اشخاص (به جز مواردی بسیار نادر) باعث شده است که چهره هر شخص به عنوان شاخص بسیار خوبی برای شناسایی اش بحساب آید. در مقایسه با اثر انگشت و یا قرنیه ، برداشتن تصویر از صورت به آسانی انجام می گیرد ، زیرا برای این کار احتیاجی به تماس با فرد مورد نظر نیست در حالیکه برای تهیه اثر انگشت ، تماس کامل و برای تهیه تصویر از قرنیه تماس نزدیک با فرد لازم است. به همین دلیل شناسایی چهره توسط ماشین گام بسیار مهمی در ارتباط بین ماشین و انسان خواهد بود و همچنین یکی از متداولترین کاربردهای بینایی کامپوتر است. شناسایی چهره یک موضوع مهم و فعال تحقیقاتی در زمینه علوم بینایی ماشین ، شناسایی الگو و هوش محاسباتی است که همواره محققین این علوم را به مبارزه دعوت می کند.
بطور کلی سیستم شناسایی انسان با استفاده از طیف وسیعی از اطلاعاتی که حواس پنجگانه اش (بینایی ، شنوایی ، بویایی ، چشایی و لامسه ) در اختیارش قرار می دهند ، کار می کند. این اطلاعات بصورت جداگانه و یا در کنار هم ، هم برای به خاطر سپردن و هم برای بازشناسی به کار می روند. علاوه بر این موارد اطلاعات محیطی نیز در شناسایی انسانی نقش مهمی دارند. برای مثال شناسایی مجری یک برنامه ی تلویزیونی در همان برنامه بسیار راحت تر از شناسایی او در خیابان و یا هر محل دیگری است.
تکنولوژی تشخیص چهره VeriLook برای توسعه دهندگان و مجتمع سازان سیستم های بیومتریکی در نظر گرفته شده است. این تکنولوژی بواسطه تشخیص چهره زنده ، تشخیص چندین چهره بصورت همزمان و همچنین تطبیق سریع چهره در حالت های یک به یک و یک به چند ، میزان کارایی ، عملکرد و قابلیت اطمینان سیستم را تضمین می نماید.
VeriLook به عنوان SDK های زیر در دسترس است :
SDK استاندارد برای توسعه کاربردهای بیومتریکی مبتنی بر PC در نظر گرفته شده است و شامل کامپوننت های استخراج کننده و تطبیق دهنده ، خودآموزها و نمونه های برنامه نویسی ، کتابخانه مدیریت دوربین و مستندات نرم افزار می باشد. SDK امکان توسعه کاربردهای بیومتریک را برای سیستم عامل های Linux ، Microsof Windows و Mac OS X فراهم می کند.
SDK توسعه یافته برای توسعه کاربردهای بیومتریکی تحت وب و شبکه در نظر گرفته شده است. این SDK علاوه بر تمام ویژگی های SDK استاندارد ، شامل نمونه برنامه های client ، خودآموزها و سرور تطبیق آماده برای استفاده نیز می باشد.
تشخیص چهره انسان
مقدمه
اولین قدم در فرایند پردازش چهره، تشخیص چهره است.
هدف از تشخیص چهره پاسخ به این سوال خواهد بود که آیا در یک عکس چهره -و یا چهرههایی- وجود دارد یا نه؟ و اگر بله مکان هر کدام از چهره -و یا چهرهها- کجاست؟
از موارد زیر میتوان به عنوان چالشهای پیشرو در زمینهی تشخیص چهره نام برد:
- زاویه چهره. اینکه دوربین از کدام زاویه (تمامرخ، نیمرخ و …) از چهره عکس گرفته باشد میتوان فاکتور مهمی در درجهی سختی تشخیص چهره محسوب گردد.
- وجود یا عدم وجود اجزای مختلف صورت. اجزای مختلف صورت از جمله محاسن، سبیل و … میتوانند در چهرهی فرد موجود باشند یا نباشند. از طرفی دیگر تفاوتهای زیادی بین شکلهای مختلف این اجزا وجود دارد.
- حالات چهره. نمای صورت در حالات مختلف چهره (لبخند، خنده، گریه و …) متفاوت خواهد بود.
- پوشش. ممکن است قسمتی از چهره بخاطر زاویه چهره و یا قرارگیری پشت اشیاء دیگر قابل مشاهده نباشد.
- زاویه عکس. اشیاء مختلف با قرارگیری در زاویههای مختلف نسبت به صفحه مماس اشکال خاصی به خود میگیرند.
- شرایط عکاسی. فاکتورهای مختلف محیطی نظیر شرایط نوری و مشخصات دوربین عکاسی از جمله لنز میتوانند تاثیر زیادی در پروسه تشخیص چهره داشته باشند.
شکل شماره ۱
در ادبیات تشخیص چهره، مفهومی مرتبط وجود دارد که از آن به عنوان مکانیابی چهره یاد میکنیم. خواننده محترم باید این نکته را در نظر داشته باشد که هدف از مکانیابی چهره درست همانند تشخیص چهره هست اما تفاوت اندکی موجود خواهد بود و آن این که در مکانیابی چهره تصویر موجود فقط شامل یک چهره در نظر گرفته میشود.
یکی از روشهای مرسوم در زمینه تشخیص اشیاء در نظر گرفتن قابی کوچک روی تصویر اصلی و تشخیص این خواهد بود که آیا شیء مورد نظر در آن پنجره وجود دارد یا نه؟ پس اگر از این روش استفاده شود باید در جستجوی الگوریتمی بود تا توانایی تشخیص وجود یا عدم وجود چهره در یک قاب کوچک، متشکل از چند صد پیکسل داشته باشد.
در این دیدگاه تشخیص چهره را میتوان به صورت مسالهی دسته بندی نیز در نظر گرفت. به این صورت که عامل هوش مصنوعی باید قابهای مختلف موجود در تصویر را در دو گروه چهره و غیرچهره در نظر گرفت.
المانهای مختلفی را میتوان در ارزیابی یک سیستم تشخیص چهره مؤثر دانست مانند زمان یادگیری، زمان اجرا، تعداد مثالهای مورد نیاز برای یادگیری و نسبت بین میزان تشخیص و خطای منفی.
میزان تشخیص را میتوان به نسبت تعداد چهرههای درست تشخیص داده شده توسط عامل هوش مصنوعی به تعداد چهرههای تشخیص داده شده توسط انسان تعریف کرد.
در صورتی قابی توسط عامل تشخیص داده شده است به عنوان چهره در نظر گرفته میشود که قاب مورد نظر بیشتر از میزان خاصی از چهرهی فرد را پوشش دهد.
از طرف دیگر خطای منفی زمانی رخ میدهد که عامل در تشخیص چهره ناموفق باشد که این خود ریشه در پایین بودن میزان تشخیص خواهد بود. در مقابل خطای منفی مفهوم دیگری به نام خطای مثبت7 وجود دارد که وقتی قابی به عنوان چهره از طرف عامل هوش مصنوعی معرفی میشود اما عامل انسانی تایید نمیکند، رخ میدهد.
نکتهی مهم در رابطه با خطای منفی یا خطای مثبت این است که هر چه قوانین پیادهسازی شده سختتر و به واسطهی آن رفتار عامل سختگیرانه تر باشد خطای منفی بالاتر و خطای مثبت پایینتر خواهد بود و بالعکس.
روشهای موجود
روشهای موجود در تشخیص چهره را میتوان به چهار گروه مختلف تقسیم کرد:
- روشهای دانش محور
- روشهای جزئیات محور
- روشهای الگو محور
- روشهای ظاهر محور
روشهای دانش محور
مشکل اساسی در این روش پیادهسازی دانش انسانی خواهد بود. از طرف دیگر عملکرد این نوع عاملها در تشخیص چهره بسیار خوب بوده است.
یکی از استراتژیهای جالب توجه در این روش استفاده از الگوریتمهای ابتکاری خواهد بود. بدین صورت که ابتدا با اعمال بعضی قوانین سادهتر بر روی تصویر با کیفیت پایینتر به راحتی تعداد زیادی از قابها را حذف کرده و در مراحل بعدی با اعمال قوانین سختگیرانهتر قابهای باقیمانده را فیلتر کرد. در پایان هر کدام از قابها که همهی قوانین را پشت سر گذاشته است به عنوان چهره تشخیص داده میشود.
روشهای جزئیات محور
برعکس روش دانش محور محققان در این روش به دنبال یافتن اجزای مختلف صورت برای تشخیص چهره خواهند بود.
فرض بنیادین در این روش این مشاهده بوده که انسان بدون دشواری در زوایای مختلف چهره و شرایط نوری متفاوت میتواند بهراحتی چهره را تشخیص دهد.
اجزای مختلف چهره مانند ابروها، چشمها، بینی و دهان براحتی توسط آشکارساز لبه استخراج میشوند. بر اساس اجزای استخراج شده مدلی آماری از رابطهی اجزای صورت با هم ساخته میشود تا در تأیید وجود چهره مورد استفاده قرار گیرد.
یکی از مشکلات این نوع روشها این است که تصویر اجزای مختلف صورت بخاطر شرایط نوری نامناسب، نویز و یا پوشش خراب شود. وجود این مشکل احتمال بروز این مسأله که مرزهای اجزای صورت از دست برود و یا بخاطر ایجاد سایههای زیاد الگوریتم بیفایده گردد را نیز افزایش میدهد.
روشهای الگو محور
در روش الگو محور الگوی استانداردی از چهرهی انسان به صورت دستی و یا به صورت تابعی ریاضی از پیش تعیین گردد.با دریافت تصویر ورودی، همبستگی میان تصویر در مرزهای صورت، چشمها و.. با الگو بدست میآید. تصمیم نهایی در خصوص تشخیص تصویر بر اساس مقدار همبستگی خواهد بود.
اگر چه این روش به راحتی قابلیت پیاده سازی دارد اما از آنجایی که در مصاف با تصاویر با مقیاس مختلف، زاویه چهره و اشکال متفاوت باز میماند گزینهی خوبی برای استفاده در مسالههایی که تصاویر چهره در آن در شرایط مختلف وجود دارد نخواهد بود.
روشهای ظاهر محور
بر خلاف روش الگو محور که در آن الگوی مورد استفاده توسط گروهی متخصص تولید میگردد در روش ظاهر محور این الگو از آموزش عامل هوش مصنوعی بوسیلهی تعدادی مثال از تصاویر چهره حاصل میشود. به طور معمول روشهای ظاهر محور بر اساس آنالیز آماری و یادگیری ماشین استوار است. در همین حال از کاهش کیفیت تصاویر نیز در جهت بهبود عملکرد محاسباتی استفاده میشود.
کارهای مرتبط
وایولا و جونز در روشی برای حل مسأله تشخیص اشیاء مبتنی بر یادگیری ماشینی را معرفی کردهاند که قادر به پردازش سریع تصاویر با میزان تشخیص بالا خواهد بود.
روش معرفی شده که به نوعی نمایندهی روشهای ظاهرمحور محسوب میشود از سه عنصر کلیدی استفاده میکند:
- انتگرال تصویر که توانایی محاسبه سریع مجموع مقادیر پیکسلهای موجود در یک قاب مستطیل شکل را به ما میدهد.
- آدابوست که ما را قادر به تنظیم پارامترهای مختلف، نوع و تعداد مشخصههای هار مورد استفاده در الگوریتمهای کلاسبندی موجود در مدل آبشاری میکند تا بتوان با استفاده از کمترین تعداد از مشخصههای هار و در نتیجه محاسبهی کمتر به بیشترین میزان تشخیص رسید.
- روش آبشاری در کلاسبندی اشیا.
انتگرال تصویر
ماتریس مجموع محیطی ساختمان داده و الگوریتمی برای محاسبهی سریع و دقیق زیرمجموعهای از یک ماتریس (برای مثال یک تصویر) که به شکل مستطیلی ظاهر میشود، است.
در ادبیات پردازش تصویر از این الگوریتم به عنوان انتگرال تصویر نیز یاد میشود.
همانطور که از نام تکنیک پیداست مقدار درایهی (x, y)ماتریس مجموع محیطی برابرست با مجموع همهی مقادیر بالا و چپ درایهی (x, y) ماتریس اصلی.
نحوه کارکرد سیستم های تشخیص چهره
تکنولوژی تشخیص چهره (Face detection) ، یکی از انواع سیستم Biometric محسوب می شود و از مهمترین تکنولوژی های تشخیص و شناسایی افراد است که در Access control نیز مورد استفاده قرار می گیرد و پس از موفقیت سیستم شناسایی از طریق اثر انگشت در چند سال اخیر جزء مهمترین تکنولوژی های تشخیص بیومتریک به شمار می آید.
این اهمیت و توسعه کاربرد به دو دلیل عمده زیر می باشد:
الف- این سیستم شایستگی استفاده در کاربردهای مختلف امنیتی ، پردازش تصویر ، شناسایی اتوماتیک سریع و بدون دخالت شخص را دارد و سرعت پردازش را بالا و خطا را کاهش داده است .
ب- با وجود سیستمهای بیومتریک قابل اعتمادی مانند تشخیص اثر انگشت و عنبیه چشم سیستم تشخیص چهره رابطه عاطفی تری با کاربر ایجاد کرده و بدون تماس کامل عضوی از بدن با سیستم عملیات تشخیص انجام میگیرد و القای اطمینان بیشتری در کاربر ایجاد میکند و البته توسعه کاربردهای دوربین های دیجیتالی پیشرفته عامل موثری در توسعه و بالا رفتن طرفداران این سیستم بوده است.
سیستم تشخیص چهره براساس الگوریتم های شناسایی و مقایسه تصاویر کارمی کند. که اساس و پایه این الگوریتم ها شناسایی و آنالیز ویژگی های مربوط به اندازه ، شکل و موقعیت چشم ، بینی ، گونه ها و اعضای چهره کاربر می باشد. نحوه کار این سیستم بدین گونه است که تصاویر رقمی در ورودی سیستم ارسال می شود و سیستم به طورخودکار عکس Biometric را از عکس نمونه دریافت می نماید تا داده Biometric را گرفته و آن رابا نمونه های دیگر مقایسه کند ومشخص می نماید که آیا شناسایی و تفاوت سازی آن انجام شده است و یا خیر.مرحله کدگذاری از مکانیسم خود ساخته بر پایه پردازش آماری تعداد تصاویر زیادی استفاده میکند و نتیجه این پردازش لیستی از تصاویر جداگانه است که مشابه نمونه ورودی است که در بردارهای مناسب رتبه بندی شده است.
بطورکلی یک سیستم بیومتریک تشخیص چهره، از چهار ماژول تشکیل یافته است:
1-ماژول سنسور:
در حالی که تشخیص چهره دو بعدی با دوربین معمولی امکان پذیر میباشد در روش سه بعدی نیاز به یک سنسور پیچیده و سطح بالایی از لحاظ فنی میباشد چرا که بایستی قابلیت کسب اطلاعات عمیق تر را داشته باشد . ماژول سنسور وظیفه گرفتن تصویر اشخاص را بر عهده دارد و بسته به نیاز و کاربرد دستگاه گیرنده میتواند یک دوربین سیاه و سفید و یا رنگی و یا یک ماژول مخصوص با قابلیت استخراج اطلاعات عمیقتر و یا یک دوربین مادون قرمز با تصاویر مادون قرمز باشد.
2-ماژول مخصوص تشخیص و استخراج اطلاعات:
تصاویر بدست آمده توسط این ماژول در ابتدا ارزیابی محتوایی شده و داده های نامربوط ازقبیل پس زمینه – موها و گردن و شانه و غیره حذف و تنها محتوای ناحیه چهره را شناسایی میکند . سپس تصویر بدست آمده تحت فرایندهای محاسباتی و عملیاتی پیچیده برای استخراج اطلاعات مربوط به ویژگیهای سطحی چهره و تجزیه اطلاعات کلی تصویر قرار میگیرد. در حقیقت در این مرحله تصویر خروجی که بایستی توسط ماژول طبقه بندی کننده برای تعیین هویت و تشخیص چهره مورد استفاده قرار گیرد در این مرحله با استفاده از روشهای پیچیده PCA, LDA و غیره آماده میگردد.
3- ماژول طبقه بندی :
در این ماژول قالب تصویر استخراج شده از مرحله قبلی با قالبهای موجود در گالری تصاویر مقایسه میگردد و در نتیجه معلوم میشود که آیا چهره گرفته شده جزء قالبهای موجود میباشد و قابل شناسایی است یا خیر . و در صورت مثبت بودن جواب ماژول تصمیم گیری هویت شخص را که بر اساس نتیجه مقایسه ماژول طبقه بندی بوده است را تایید میکند . بر اساس امتیاز بدست آمده از مقایسه که همان درصد تطابق قالب گرفته شده با قالبهای موجود میباشد کاربر مورد نظر مورد تایید قرار گرفته و یا پذیرفته نمیشود .
4- ماژول پایگاه داده ها:
این ماژول برای ثبت نام – نگهداری – واکشی قالب چهره کاربران را بر عهده دارد . در طول ثبت نام ماژول سنسور تصاویر را ثبت کرده و مجموعه این تصاویر همان گالری تصاویر را ایجاد میکند که در مرحله طبقه بندی مورد استفاده قرار میگیرد .در بیشتر روشهای تشخیص چهره چندین نمای متفاوت از یک شخص در حالتهای مختلف روحی خنده – اخم و عصبانیت – عادی و یا با عینک از کاربر گرفته میشود و این تعدد در بالابردن ضریب شناسایی اهمیت ویژه ایی دارد در خصوص اطلاعات سه بعدی که در جهت افزایش دقت در تشخیص مورد استفاده قرار میگیرد علاوه بر اطلاعات دو بعدی تصویر اطلاعات مربوط به ساختار داخلی اندام نظیر کاسه چشم.
این دستگاه ها می توانند چندین گروه و تصاویررا ذخیره نمایند و حتی در محیط های با نور کم چهره را آنالیز نمایند. علاوه براین قابلیت اتصال به قفل های الکترونیکی ، زنگ در ، دکمه خروج وسنسوررا نیز داراهستند و می توانند چندین منطقه زمانی و گروه را تعریف نمایند.
فن آوري بازشناسي چهره يکي از معدود روشهاي بيومتريک مي باشد که با دارا بودن مزاياي دقت بالا و سطح پايين دخالت فرد، در مواردي مانند امنيت اطلاعات، اجرا و نظارت بر قانون، کنترل تردد و ثبت تردد در سیستم های حضور و غیاب مورد استفاده قرارميگيرد. به همين دليل اين فناوري درطي بيست سال گذشته در عرصه هاي صنعتي و علمي مورد توجه قرار گرفته است.
کاربردهای زیادی برای مبحث شناسایی چهره می توان متصور شد که محدوده وسیعی از تصاویر متحرک تا تصاویر ثابت و از کاربدهای امنیتی تا کاربردهای تجاری را شامل می شود:
– معمول ترین کاربرد شناسایی چهره ، انطباق تصاویر ثابت می باشد. نمونه ای از این کاربرد را می توان در شناسایی مجرمین دید . حالت ساده تری از شناسایی مجرمین را می توان در کاربردهایی چون تائید هویت دارنده کارتهای شناسایی ، گواهینامه ، گذرنامه و کارتهای اعتباری دانست.
– کنترل نامحسوس و ایجاد امنیت در بانکها، فروشگاه ها، فرودگاه ها و یا نظایر اینها یکی دیگر از کاربردهای ارزشمند شناسایی چهره است
– علاوه بر کاربردهای فوق ، شناسایی و پردازش چهره کاربردهای دیگری هم دارند از جمله :
دنبال کردن خط دید چشم و تعیین نژاد، جنس و حالت صورت
منابع
تشخیص چهره انسان به کمک پردازش تصویر قسمت 1
تشخیص چهره انسان به کمک پردازش تصویر قسمت 2
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.