تشخیص چهره و برخی از الگوریتمهای آن

تشخیص چهره و برخی از الگوریتمهای آن

تشخیص چهره

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

تحقیقات درباره چگونگی درک چهره توسط انسان، یافته‌های جالب فراوانی را در پی داشته است که می‌تواند در طراحی سیستم‌های کاربردی و عملی، کمک مفیدی باشد٫ کارایی تشخیص چهره علاوه بر کاربردهای مرتبط با تعیین و مقایسه هویت نظیر کنترل دسترسی، امور قضایی، صدور مجوزها و مدارک هویتی و نظارت در زمینه‌هایی نظیر تعامل انسان و کامپیوتر، واقعیت مجازی، بازیابی اطلاعات از پایگاه‌های داده، مالتی مدیا و سرگرمی‌های کامپیوتری نیز به اثبات رسیده است.یک سیستم معمول تشخیص چهره شامل سه بخش اساسی کشف چهره (Face Detection)، استخراج الگوها (Feature Extraction) و تشخیص چهره (Face Recognition) است.مانند هر مسئله تشخیص الگوی دیگری، تفاوت الگوی ناشی از نورپردازی، ژست، قیافه و… در واحد استخراج الگو، با تبدیل الگوها به حالت‌های یکنواخت و مقاوم در برابر تغییر یا با تعیین قوانینی برای این واحد که در تمام حالت‌ها قابل استفاده باشند، مدیریت می‌شوند. در طراحی سیستم‌های تشخیص چهره دست‌کم دو وظیفه مهم سیستم را همواره باید در نظر داشت :

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

چرا تشخیص چهره دشوار است؟

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

درک چهره

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

  1. تشخیص

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

  1. جزء به جزء در برابر کلی

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

  1. نگاه به ابروها

در میان خصوصیات و الگوهای مختلف چهره، ابروها به لحاظ اهمیت در هنگام تشخیص چهره با چشم‌ها قابل مقایسه‌اند‌٫ برای تشریح اهمیت ابروها در تشخیص چهره دلایل متعددی وجود دارد.نخست به نظر می‌رسد ابروها در انتقال احساسات و سایر علائم غیرکلامی بسیار مهم هستند. چون بخش تصویری سیستم ممکن است از قبل برای کنترل ابروها جهت تشخیص و تفسیر این علائم برنامه‌ریزی شده باشد، این برنامه‌ریزی می‌تواند برای استفاده در عملیات تشخیص چهره نیز گسترش یابد. دوم به دلایل متعدد، ابروها می‌توانند یکی از خصوصیات یا الگوهای پایدار چهره باشند. چون ابروها به طور عادی از مشخصه‌های به نسبت بزرگ و با کنتراست صورت هستند می‌توانند در برابر تغییرات ناشی از کاهش کیفیت تصویر صورت پایدار بمانند. همچنین از آنجا که ابروها روی یک برآمدگی (برجستگی که حدقه چشم را از پیشانی جدا می‌کند) قرار دارند، به نسبت سایر اجزای صورت کمتر تحت تأثیر تغییرات نورپردازی و سایه‌ها قرار می‌گیرند.

  1. طبیعت نشانه‌ها

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

  1. رشد تصاعدی

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

پشتوانه‌های عصبی

به نظر می‌رسد، سیستم بینایی انسان پاره‌ای منابع عصبی متخصص را به ادراک چهره اختصاص می‌دهد. مدت زمان پاسخ‌گویی به چهره‌ها (شناخت چهره) در ناحیه اینفروتمپورال کورتکس (Infero-temporal cortex) 120میلی‌ثانیه است که نشان دهنده نوعی پردازش بازخورد به جلو [feed-forward: نوعی سیستم تشخیص لایه‌ای که خروجی هر لایه به لایه بعدی منتقل می‌شود، نه به لایه‌های قبلی. بنابراین، فاقد حلقه بازخورد است] است. به احتمال فرآیندهای تشخیص چهره و درک حالت چهره توسط سیستم‌های متفاوتی انجام می‌شود.

آیا کامپیوترها بهتر از انسان‌ها هستند؟

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

در یک ویدیو با کیفیت پایین، انسان‌ها به طور ذاتی الگوهای زمانی و بدنی را با هم ترکیب می‌کنند. کاری که محققان پیش‌رو فعلی تازه متوجه آن شده‌اند. یکی از کارهای اخیر نشان داده که ترکیب انسان و کامپیوتر می‌تواند به تولید یک سیستم تشخیص چهره تقریباً کامل منجر شود (مقاله «ترکیب انسان و الگوریتم‌های مقایسه چهره»، نوشته اِی. جی. اُتول و دیگران، مجله IEEE Trans ویژه‌نامه سیستم‌ها، انسان و سایبرنتیک سال ۲۰۰۷٫)

بررسی جدیدترین فناوری‌ها

گام نخست در هر سیستم تشخیص چهره خودکار، کشف صورت در یک تصویر است.

کشف صورت

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

یکی از پرکاربردترین و قوی‌ترین الگوریتم‌های تشخیص چهره توسط بل‌ویولا و مایکل جونز طراحی شده است. آن‌ها برای تشخیص اشیا، شیوه‌ای مبتنی بر یادگیری ماشینی را معرفی‌کردند که در آن از طریق ترکیب تعداد زیادی یادگیرنده ضعیف، یک سیستم طبقه‌بندی‌کننده قوی آموزش داده می‌شود. برای مسئله‌ای که تنها نیازمند دو دسته است و با نمونه‌های تمرینی برچسب‌دار، یک الگوریتم یادگیری آدابوست (Adaboost یا Adaptive Boosting)، می‌تواند تعداد اندکی از مشخصه‌های بصری را انتخاب کند تا بیشترین دقت طبقه‌بندی فراهم شود

سال‌های نخست

در اواخر دهه هشتاد و اوایل دهه نود میلادی، استفاده از شیوه‌های متعلق به زیرشاخه تشخیص چهره ساکن (Still-Face) نظیر تحلیل اجزای اصلی یا PCA (سرنامPrincipal Component Analysis)، تحلیل جداکننده‌های خطی یا LDA (سرنام Linear Discriminant Analysis) و روندی ساختار‌گرا به نام انطباق گراف الاستیک یا EGM (سرنامElastic Graph Matching) به تحقیقات در زمینه تشخیص چهره رونق بخشید. از آن زمان تحقیقات زیادی در زمینه توسعه و بهبود این الگوریتم‌ها صورت گرفته است. در آزمون فناوری تشخیص چهره FRET (سرنام Facial Recognition Technology) که در اواخر سال ۱۹۹۶ و اوایل ۱۹۹۷ روی الگوریتم‌های تشخیص چهره انجام شد، بهترین کارایی مربوط به روش‌های LDA و EGM بود، یعنی الگوریتم‌هایی که از تحلیل‌های شبه فضای احتمالات مشتق شده بودند. مشکل‌ترین آزمون FRET تشخیص چهره فرد بر‌‌اساس تصاویری بود که با فاصله زمانی حداقل هجده ماهه گرفته‌شده‌بودند.

ژست، نورپردازی و حالت چهره

محققان توانسته‌اند مشکل تشخیص چهره در وضعیت‌های مختلف ژست، نورپردازی و حالت‌های مختلف PIE (سرنام Pose ,Illumination ,Expression) چهره را حل کنند. تلاش‌های قبلی شامل استفاده از روش بسط چهره آیگن [‌نسخه‌ای از تصویر چهره که معادلات ریاضی Eigenvector و Eigenspace بر آن اعمال شده است] می‌شد که در این روش فضاهای آیگن متفاوتی ایجاد شده و هریک از این فضاها اطلاعات متفاوتی از چهره را در زاویه‌های دید مختلف ثبت می‌کرد و برای حل مشکل تفاوت ژست‌ها، از ساخت یک مدل سه بعدی و استخراج نماهای دو بعدی برای هر ژست استفاده می‌شد. برای کنترل حالت‌های متفاوت ژست و نورپردازی، محققان مدل سه‌بعدی قابل تغییری را پیشنهاد کردند که در آن ترکیب خطی مجموعه‌ای از نمونه‌های چهره پارامترهای لازم را برای بافت و فرم چهره فراهم می‌کند. این پارامترها از طریق جفت کردن مدل سه‌بعدی روی تصویر ورودی تخمین زده می‌شوند.

به این ترتیب، شیوه مبتنی بر مدل سه‌بعدی قابل تغییر توانست در تشخیص تصاویر چهره‌ای که از روبه‌رو گرفته نشده بودند، نرخ تشخیص بالایی را از خود نشان دهد. حالت‌های فرعی زیادی از این شیوه با درجه‌های گوناگون موفقیت عرضه شده‌اند. اغلب این شیوه‌های مبتنی بر مدل سه‌بعدی، به محاسبات سنگین نیاز دارند و به طور معمول باید تعداد کمی از مشخصات و الگوها به صورت دستی انتخاب شوند. در کنار توسعه شیوه‌های مبتنی بر مدل سه‌بعدی قابل تغییر، روش‌هایی برای نرمال‌سازی نورپردازی باعث جلب توجه محققان عرصه بینایی کامپیوتری شد. تلاش‌های اولیه برای کاهش اثر نورپردازی شامل حذف تعداد کمی از نخستین مقادیر آیگن مربوط به بسط اجزای اصلی صورت می‌شده که این کار با استفاده ازسمت و جهت تغییر طیف رنگی به عنوان یک مشخصه یا ساخت یک زیر فضای نمونه با نام مخروط نورپردازی (Illumination Cone) برای ثبت تصویر شیء لامبرتی محدب انجام می‌شد. مدل‌های همسازهای کروی ابعاد پایین(Low-Dimensional Spherical Harmonics Representations) نیز برای تشخیص چهره در شرایط نوری متفاوت مؤثر شناخته شده‌اند. همچنین از طریق توسعه روش مبتنی بر مدل سه‌بعدی قابل تغییر، روش‌هایی پیشنهاد شده‌اند که می‌توانند الگویی از چهره را تولید کنند که نسبت به تغییرات نور ثابت باشد. پیشنهاد دیگر عبارت است از استفاده از محاسبه و ساخت یک تصویر خود تقسیمی که از طریق تقسیم تصویر اصلی بر کپی ملایم شده آن (کپی که در آن شدت تیره و روشن‌ها کاهش یافته است) به دست می‌آید و در نتیجه نسبت به تغییرات نورپردازی حساس نخواهد بود. این روش نوعی الگوریتم استریو فتومتریک عمومی است که امکان تغییر شکل‌های درون گروهی را فراهم می‌آورد. در تحقیقات جدیدتر، محققان الگوریتم فیلتر اتفاقی (Stochatic) و غیر‌ایستایی را توسعه داده‌اند که برای تخمین نقشه‌های بازتابی (Albedo) تشخیص چهره غیر حساس به نورپردازی استفاده می‌شود. اما بیشتر محققان بر این نکته توافق دارند که این روش‌ها نسبت به روش‌های زیر فضای آیگن و… در تشخیص چهره با نورپردازی‌های متفاوت، موفق‌تر عمل می‌کنند، اما همه آن‌ها روی مجموعه داده‌های کنترل شده نظیر مجموعه B در دانشگاه ییل یا مجموعه PIE جمع‌آوری شده در دانشگاه کارنگی ملون آزمایش شده‌اند. طراحی روش‌هایی که در برابر تغییرات نورپردازی در محیط‌های کنترل نشده مقاوم و قدرتمند باشند، هنوز مسئله‌ای حل نشده به شمار می‌رود. تحلیل و تشخیص حالت‌های چهره در تحقیقات مربوط به تعامل انسان و کامپیوتر بسیار مورد مطالعه قرار گرفته است۹٫ هویت و حالت چهره ممکن است با سیستم‌های جداگانه‌ای پردازش شوند. برای تشخیص خودکار حالت‌های چهره روش‌های بسیاری موجود است که اغلب آن‌ها برای حالت‌های کلی و مقیاس بالای چهره مانند شادی، عصبانیت، تعجب و ترس مؤثر هستند۳٫ یکی از زمینه‌هایی که فعالیت تحقیقاتی در آن دنبال می‌شود و توسط برنامه تلویزیونی «به من دروغ بگو» (Lie to Me) به فرهنگ عامه مردم هم نفوذ کرده، تحلیل و تشخیص حالت‌های مقیاس کوچک چهره است.

نمونه‌های استخراج نقشه‌های بازتابی غیر حساس به نورپردازی و مدل‌های سه بعدی از روی تصاویری که از اینترنت دانلود شده‌اند. در هر ردیف، تصویر سمت چپ از اینترنت دانلود شده است. دو تصویر بعدی مدل سه بعدی بازسازی شده را از دو زاویه دید مختلف نشان می‌دهند. آخرین مجموعه تصاویر از طریق ترکیب تصاویر جدید حاصل از مدل سه بعدی بر اساس ژست‌های مختلف به دست آمده‌اند (از مجموعه تصاویر سوما بیسواز و سایرین (Soma Biswas et al) – مقاله هوش ماشینی و تحلیل الگو

تشخیص چهره طی روند پیری

یکی از جنبه‌های مشکل و ترسناک تشخیص چهره، یعنی «پیری» از این جهت چالش برانگیز است که باید تمام حالت‌های مختلف دیگر را نیز پوشش دهد. زمانی که تصاویر چهره فرد در فاصله‌های زمانی چندساله گرفته شوند، ژست، حالت چهره یا نورپردازی به سادگی ممکن است تغییر کند. همچنین خصوصیات بافت پوست نیز ممکن است در اثر آرایش، کاهش یا افزایش وزن، ریزش مو، استفاده از عینک و… نیز تغییر کند. تغییراتی که به واسطه پیری در چهره رخ می‌دهند، به فاکتورهای محیطی فراوانی نظیر تشعشع خورشیدی، دخانیات، مصرف داروها و میزان استرس وابسته هستند٫ فاکتورهای بیولوژیکی و محیطی می‌توانند باعث تسریع یا تأخیر روند پیری شوند. پیری باعث بروز تغییراتی هم در بافت نرم و هم در بافت سخت صورت خواهد شد. از بین رفتن حالت الاستیک بافت صورت، تغییر حجم صورت و تغییر در بافت صورت نیز در اثر پیری رخ خواهد داد. روند پیری به شدت غیرقابل پیش‌بینی است، اما به نظر می‌رسد یک سری تغییرات وجود دارد که به یک الگوی ساده تصاعدی در طول زمان وابسته است.
همچنین جابه‌جایی در نشانه‌های چهره به خوبی تغییرات شکلی ناشی از افزایش سن را به‌خصوص در سنین دو تا هجده سال توصیف و مشخص خواهد کرد. برای سوژه‌های مسن‌تر، میزان تغییر در بافت صورت بیش از میزان تغییر فرم و شکل صورت است. تحقیقات پژوهشگران در زمینه‌های بینایی کامپیوتری و فیزیک-روان‌شناسی (Psychophysics) نیز به مطالعات ریخت شناسی چهره و تغییرات چهره در طول زمان کمک کرده است. روش‌های فیزیک-روان‌شناسی شامل بررسی و استنتاج منحنی تغییرات قابلیت کشسانی صورت و نتایج آن‌ها و همچنین تغییر در فرم و میزان چین و چروک‌های صورت و عمیق‌تر یا کم‌رنگ‌تر شدن آن‌ها است. محققانی که در زمینه بینایی کامپیوتری فعالیت می‌کنند روش‌های مختلفی را بر پایه زیرفضاها، مدل‌های سه بعدی و یادگیری ماشینی برای تشخیص چهره در طی روند پیری پیشنهاد داده‌اند ستون نخست تصاویر اصلی کودکان و دومین ستون، تغییرات تخمینی ناشی از رشد آن‌ها را نشان می‌دهد. ستون سوم قیافه پیش‌بینی شده توسط الگوریتم تغییر سن و ستون چهارم تصویر واقعی کودکان در سن مورد نظر را نشان می‌دهد.

تشخیص چهره بر‌اساس ویدیو

تشخیص چهره بر‌اساس ویدیو یا VFR (سرنام Video Face Recognition) می‌تواند هویت فرد یا افرادی را که در یک ویدیو وجود دارند بر پایه مشخصات چهره تعیین کند. روند معمول FVR روی یک ویدیوی چهره مشخص، برای تشخیص چهره از خصوصیات مقطعی (موقتی) حرکت صورت در ترکیب با تغییر ظاهر فرد استفاده می‌کند. این روند به طور معمول شامل توصیف مقطعی صورت برای تشخیص، ساخت یک مدل سه بعدی یا یک با تفکیک‌پذیری فوق‌العاده بالا [ سوپر رزولوشن تکنیکی برای افزایش دقت تصویر است] از چهره یا یادگیری ساده تغییرات ظاهر شخص از روی فریم‌های مختلف ویدیو است.

فاکتورهای عمومی‌سازی سیستم (تعمیم)

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

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

ترکیب اطلاعات

یکی از بزرگ‌ترین چالش‌های پیش‌روی سیستم‌های VFR نیاز به استفاده مؤثر از اطلاعات- هم فضایی وهم‌زمانی- موجود در یک ویدیو و ترکیب آن‌ها برای عمومی‌سازی (Generalization) بهتر هر سوژه و همچنین درک تمایز بین سوژه‌های مختلف جهت بهبود قابلیت تشخیص هویت است. طرح‌های ارائه شده برای استفاده و ترکیب اطلاعات می‌توانند شامل گستره وسیعی از حالت‌ها مانند انتخاب ساده فریم‌های مناسب که محققان بعدها آن‌را در سیستم‌های تشخیص هویت مبتنی بر تصاویر ثابت به کار می‌برند تا تخمین ساختار کامل سه‌بعدی چهره باشند که مورد آخر را می‌توان برای عمومی‌سازی در شرایط مختلف نور، ژست و سایر پارامترها به‌کار برد. انتخاب انجام‌شده به نیازهای عملیاتی سیستم بستگی کامل دارد. به عنوان نمونه، در کاربردهای نظارتی، دقت تصاویر چهره برای تخمین مناسب فرم چهره کافی نیست. بنابراین، استفاده از این روش، قابلیت تشخیص سیستم را کاهش می‌دهد. همچنین روش انتخاب تصویرهای منفرد، نمی‌تواند عمومی‌سازی قیافه را در مواجهه با تغییرات ژست پیاده کند و در نتیجه، به حالت‌هایی نیازدارد که ژست سوژه در ویدیوی مورد نظر شباهت‌هایی با ویدیو‌های ثبت شده داشته باشد.

مدل‌سازی خصوصیات چهره

مدل‌سازی مؤثر خصوصیات چهره هر سوژه از روی داده‌های ویدیویی، تنها زمانی امکان‌پذیر می‌شود که تغییرات ظاهر چهره در طول مدت ویدیو را بتوان به درستی بر‌اساس فاکتورهای مختلف نظیر ژست، نور و حالت چهره دسته‌بندی کرد. برخلاف سناریوهای مبتنی بر تصویر ثابت، این تغییرات به طور ذاتی در سیستم‌های VFR وجود دارند و برای بهره‌برداری از اطلاعات افزوده موجود در داده‌های ویدیویی باید آن‌ها را نیز مدنظر قرار داد.

همچنین، با در نظر گرفتن طبیعت داده‌های ورودی، VFR معمولاً با مسئله «ردگیری» مواجه است که خود چالش بزرگی به شمار می‌آید. در بیشتر مواقع دقت ردگیری سیستم به در اختیار داشتن مدل قابل اعتمادی از قیافه و ظاهر بستگی دارد، اما نتایج تشخیص سیستم معمولاً به دقت تعیین محل چهره در ویدیوی ورودی بستگی دارد. محققان، سیستم‌های VFR موجود را بر‌اساس متد ترکیبی ردگیری و تشخیص طراحی کرده‌اند. این متد عبارت است از ترکیب یک الگوریتم تطابق گراف خصوصیات چهره در طول محور زمان با یک روش مبتنی بر مدل سه بعدی یا مدل‌های پنهان ماکاروف یا نمودار احتمالات تنوع ظاهری. جدول ۲ خلاصه‌ای از روش‌های موجود را نشان می‌دهد.

جهت دهی تحقیقات آینده

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

اطلاعات مربوط به پیکربندی

نخست ما باید دقیقاً تعیین کنیم که چه اطلاعاتی در رابطه با پیکره (شکل کلی) چهره برای تشخیص آن مهم است. در بیشتر تحقیقات سعی شده با تمرکز بر تفاوت بین روش‌های تشخیص چهره مبتنی بر خصوصیات چهره و روش‌های مبتنی بر پیکره چهره از این مسئله صرف نظر شود. به طور مشخص در این میان چیزی از کلیت چهره (Face Gestalt) اهمیت فوق‌العاده‌ای دارد، اما ما هنوز دقیقاً نمی‌دانیم که چگونه این مفهوم کلی را جمع‌بندی و مشخص کنیم. کدام یک از ابعاد و خصوصیات چهره می‌تواند در این سیستم نشانه‌گذاری به ما کمک کند؟

نقش آشنا بودن چهره

در وحله بعدی ما باید به این نتیجه برسیم که چگونه آشنا بودن چهره بر نحوه درک و تصور ما از چهره تأثیر می‌گذارد. فرآیند تشخیص چهره در انسان، می‌تواند با کاهش دقت تصویر افراد آشنا، بسیار بهتر از افرادی که فقط با آن‌ها آشنایی مختصری داریم، کنار بیاید. این امر ما را به این نتیجه می‌رساند که تصور درونی (ذهنی) ما از چهره افراد با افزایش میزان آشنایی، تغییرات زیادی را متحمل خواهد شد و در نتیجه سؤالات متعددی را پیش روی ما قرار خواهد داد. ماهیت این تغییرات چیست؟ آیا تغییر فرآیند کدگذاری از حالت مبتنی بر جزئیات به حالت کل گرا نتایج بهتری را فراهم خواهد آورد؟ چگونه می‌توان از این تغییرات برای افزایش قدرت و قابلیت سیستم در برابر تغییر شکل‌ها بهره برد؟

انتظارات از بالا به پایین

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

سوم ما باید تصمیم بگیریم که انتظارات مدل بالا به پایین چه نقشی در سیستم تشخیص بازی خواهد کرد. به خاطر داشته باشید که زمان تأخیر نورون‌های انتخابی در تشخیص چهره انسانی، در ناحیه اینفروتمپورال کورتکس (Infero-Temporal Cortex) بیش از صد میلی ثانیه بود. با درنظر گرفتن ایده‌های معمول کدگذاری تناوبی [Rate Codingکه فرآیندی مربوط به واکنش نورون‌ها در برابر محرک‌های تکراری است] این تأخیر پایین ما را به این فکر می‌اندازد که شاید، فرآیند پردازش چهره ذاتاً باید به شدت مبتنی بر سیستم بازخورد به جلو (Feed Forward) باشد. در چنین صورتی، انتظارات و توقعات قبلی چگونه می‌تواند بر محاسبه هویت تأثیر بگذارد؟ همچنین، تحت چه شرایطی تأثیرات روش بالا به پایین می‌تواند به سیستم‌های تشخیص چهره معمول کمک کند؟ پاسخ به این سؤالات نه تنها نوید آشکار‌کردن فرآیند تشخیص چهره در مغز را با خود به همراه دارد، بلکه نشانه‌ها و راهنمایی‌هایی را برای توسعه راهبردهای مؤثرتر و ارائه‌هایی مناسب کاربرد در سیستم‌های مبتنی بر بینایی کامپیوتری را نیز فراهم خواهد کرد.

تشخیص چهره از راه دور

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

تشخیص چهره مبتنی بر ویدیو

بخش امنیت نیروی دریایی و سایر کاربردهای امنیتی، به راهکارهای قابل اعتمادی نیاز دارند که بتوانند توالی‌های ویدیویی را استخراج کنند. تشخیص چهره مبتنی بر ویدیو، در طی نه سال اخیر توجه زیادی را به خود جلب کرده است. در مراحل اولیه توسعه، تحقیقات در زمینه VFR باید با کمبود داده‌های ویدیویی دست و پنجه نرم می‌کرد. در برنامه مسابقات بزرگ بیومتریک چندگانه که توسط مؤسسه استاندارد و فناوری امریکا (NIST) برگزار شد(http://face.nist.gov/mbgc)، نزدیک به ۴۴۸۹ سکانس ویدیویی برای توسعه و ارزیابی و امتیازبندی روش‌های تطابق ویدیو به ویدیو در اختیار شرکت کنندگان قرار گرفت. برای هرچه مؤثرتر‌شدن چنین اقداماتی، این مشکلات باید حل شوند: ردگیری و نرمال‌سازی ژست چهره‌های متحرک به صورت بی‌درنگ، نرمال‌سازی نورپردازی، جبران کیفیت پایین تصاویر چهره با تکیه بر تکنیک‌های افزایش کیفیت و ردگیری و تشخیص همزمان. همچنین الگوریتم‌های دارای قابلیت سازگاری با تصاویر چندین گالری و سکانس‌های کاوش ویدیویی باید توسعه داده شوند.

تشخیص چهره در شبکه دوربین‌ها

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

تشخیص چهره در وب ۲

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

تشخیص چهره: آیا نوع پوست هم مهم است؟

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

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

تشخیص چهره در طی فرآیند پیری

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

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

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

چهره و سایر خصوصیات بیومتریک

الگوریتم‌های تشخیص چهره برای تثبیت کارایی و قدرت، اغلب در ترکیب با سیستم‌های تشخیص اثرانگشت، عنبیه، گام و صدا به‌کار برده شده‌اند. این امر به زمینه پژوهشی جدیدی شده منجر است: سیستم‌های چندوضعیتی یا بیومتریک چندگانه. یکی از چالش‌های مهم ترکیب الگوریتم‌ها یا سیستم‌های بیومتریک، ساخت و طراحی روش‌های کارا و قدرتمند ترکیب است.در این زمینه به شدت از تئوری و طراحی‌های سیستم‌های طبقه‌بندی چندگانه استفاده شده است. اگرچه محققان نمونه‌های متعددی از ترکیب‌های چهره -انگشت، چهره-گام، چهره-صدا و چهره-عنبیه را طراحی کرده و توسعه داده‌اند، اما هنوز بیومتریک چندگانه که در آن چهره یکی از شاخصه‌های تشخیص هویت است، در دوران ابتدایی خود به سر می‌برد٫
ادامه تحقیقات در زمینه تشخیص چهره، پروژه‌های بسیار مهمی را در زمینه‌هایی نظیر امنیت ملی، تعامل انسان و کامپیوتر و بسیاری کاربردهای ساده دیگر، برای دانشمندان و مهندسان به ارمغان خواهد آورد. زمینه‌هایی که از دید ما قابل تعقیب هستند، عبارتند از: تشخیص چهره از طریق سکانس‌های ویدیویی غیر تحمیلی، ترکیب تأثیرات آشنا بودن چهره در الگوریتم‌ها، مدل‌سازی اثرات پیری و توسعه مدل‌های بیولوژیک احتمالی برای توانایی تشخیص چهره در انسان.

در  ادامه به معرفی برخی از الگوریتم های تشخیص می پردازیم :

  1. تشخیص چهره با استفاده از الگوریتم Flood Fill

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

استخراج ویژگی :

برای استخراج ویژگی ها از نواحی مختلف ، ما منحنی هایی در این نواحی رسم کرده امپیم ، که پیکسلهایشان به عنوان پیکسلهای پوست به حساب نمی آمدند .بعد از تشخیص پیکسلهای غیر پوست ما الگوریتم Flood Fill را برای پیدا کردن منحنی هایی از پیکسلهای غیر پوست به کار بردیم. این الگوریتم سه پارامتر میگیرد:

  1. شاخه ی شروع کننده یا starting node
  2. رنگ (target)
  3. رنگ جایگزی
  4. الگوریتم به دنبال تمام شاخه هایی در آرایه (صفحه) میگردد که با رنگ target به نودوصل شده و آنها را با رنگ جایگزین عوض میکند . البته راههای بسیار زیادی برای ساختار این الگوریتم وجود دارد، ولی همه ی آنها به دو حالت stack یا queue کار میکنند.

الگوریتم Flood Fill :

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

  1. قرار دادن Q برای صف خالی
  2. اگر رنگ نود با نود هدف یکی نیست ، برگرد
  3. اضافه کردن نود به Q
  4. برای هر n عنصر از Q
  5. اگر رنگ n با رنگ هدف یکی هست
  6. W و e را مساوی با n قرار بده .
  7. تا زمانیکه رنگ این نود با w از west با رنگ هدف مطابقت نداشته باشد ، w را به west انتقال بده.
  8. تا زمانیکه رنگ این نود با e از e east با رنگ هدف مطابقت نداشته باشد ، e را به east حرکت بده.
  9. قرار دادن رنگ برای این نودها بین w و e به عنوان رنگ جایگزین
  10. برای هر نود n بین w و e
  11. اگر رنگ این نود برای n از north ،v رنگهدف هست ، این نود راQ اضافه کن .
  12. اگر رنگ این نود برای n از south ، رنگ هدف هست ، این نود را به Q اضافه کن .
  13. ادامه ی حلقه تا زمانیکه Q ، exhaust بشود.
  14. بازگشت

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

اهداف :

شناسایی چهره از تصویر ورودی

تشخیص ROI برای کار بر روی بخش های مختلف تصویر چهره

پیدا کردن شکل منحنی ها از هر ROI

استخراج ویژگی به کمک مماس بر منحنی ها برای نقاط بینهایت

شرح روش پیشنهادی :

گام اول : الگوریتم قطعه بندی رنگ پوست برای پیدا کردن رنگ پوست بمنظور تشخیص چهره از تصویر ورودی به سیستم ، به کار برده میشود .

گام دوم : حداکثر عرض و حداکثر ارتفاع پیکسلهای پوست به عنوان عرض و ارتفاع چهره در نظر گرفته میشود.

گام سوم : پس از شناسایی چهره ، تصویر چهره به یه تصویر باینری تبدیل میشود

گام چهارم : cut چهره از تصویر باینری با توجه به پیکسل های پوست در تصویر به کمک عرض و ارتفاع

گام ششم : یافتن ناحیه ی مورد نظر ( ROI ) از چهره به صورت : چشم چپ ، چشم راست و لب با توجه به روش مبتنی بر دانش برای شناسایی چهره

گام هفتم : به کار بردن الگوریتم Flood Fill بر روی چشم چپ ، چشم راست و لب واسه بدست آوردن منحنی های آنها

گام هشتم : در نظر گرفتن دو نقطه ی بینهایت از منحنی به عنوان دو ویژگی اول از هر ناحیه

گام نهم : حالا با رسم مماس بر منحنی ها ما 4 ویژگی بر روی هر ناحیه ی مورد نظر ( ROI ) رو خواهیم داشت.

  1. تشخیص چهره با استفاده از ترکیب الگوریتم AdaBoost و Cascade

Viola – Jones الگوریتم AdaBoost را با Cascade برای تشخیص چهره ترکیب کردند . الگوریتم پیشنهادی آنها می توانست چهره ررا در یک تصویر 384×288 با صرف زمانی معادل 0.067 ثانیه تشخیص بدهد. یعنی 15 بار سریع تر از آشکار ساز های state-of-the-art با دقتی بالاتر ، به طوریکه این الگوریتم یکی از پیشرفته ترین الگوریتم های ماشین بینایی در دهه ی گذشته تا به حال بوده است .

اما نقش AdaBoost در این الگوریتم چیست؟ در ابتدا تصویر مورد نظر به زیر تصاویر ( 24×24 ) تقسیم بندی میشود. هر زیر تصویر بیانگر یک بردار ویژگی است. برای اینکه محاسبات موثر و کارآمد باشد ، از یک سری ویژگی های خیلی ساده استفاده می کنیم . تمام مستطیل های ممکن در تصویر زیر بررسی میشوند. در هر مستطیل ، 4 نمونه ویژگی به کمک ماسک هایی که در شکل زیر اومده استخراج میشود . ( 4 ماسک ویژگی که برای هر مستطیل استفاده میشود)

با هرکدام از این ماسکها ، مجموع پیکسل های سطح خاکستری در نواحی سفید از مجموع پیکسل ها ی نواحی سیاه ، کم میشود. که این مقدار به عنوان یک ویژگی در نظر گرفته میشود. پس می تونیم اینگونه بگوییم که در یک زیر تصویر ( 24×24 ) بالغ بر 1 میلیون ویژگی می توانیم داشته باشیم ( البته این ویژگی ها خیلی سریع محاسبه میشوند !! و می توانند کمتر از 1 میلیون ویژگی هم باشند مثلا 160000 در هر زیر تصویر )

هر ویژگی به عنوان یک یادگیرنده ی ضعیف در نظر گرفته می شود، یعنی :

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

 مستطیل های چهره را به عنوان مثالهای positive  در نظر میگیریم. در شکل زیرآمده است(مثالهای آموزشی مثبت)

و مستطیل هایی که شامل تمام چهره نمیشوند ، به عنوان مثالهای آموزشی Negative تلقی میشوند. سپس الگوریتم AdaBoost را اعمال میکینم ، که این الگوریتم تعدادی یادگیرنده ی ضعیف را برمیگردانند ، که هرکدام از اینها مربوط به یکی از 1 میلیون ویژگی هایی هست که داریم. درواقع اینجا ، AdaBoost می تواند به عنوان یک ابزار برای انتخاب ویژگی در نظر گرفته شود.

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

پارامترهایی در Cascade تنظیم میشود به طوریکه ، در هر نود درخت ، یک انشعاب not a face داریم و بدین معنیست که تصویر ، یک تصویر چهره نبوده ، یا به عبارتی دیگر ، نرخ false negative دارد به حداقل میرسد. ایده ی این طرح در واقع می خواهد بگوید تصویر غیره چهره زودتر شناسایی میشود. به طور متوسط در هر زیر تصویر 10 ویژگی را مورد بررسی قرار میدهیم. اتصاویر زیر تعدادی آزمایش است که Viola – Jones روی تصاویر انجام داده ند :

 

البته می شود از جعبه ابزار متلب هم برای تشخیص چهره با الگوریتم Viola – Jones استفاده کرد به این صورت که :

close all

clc

%Detect objects using Viola-Jones Algorithm

%To detect Face

FDetect = vision.CascadeObjectDetector;

%Read the input image

I = imread(‘face3.jpg’);

%Returns Bounding Box values based on number of objects

BB = step(FDetect,I);

figure,

imshow(I); hold on

for i = 1:size(BB,1)

    rectangle(‘Position’,BB(i,:),’LineWidth’,5,’LineStyle’,’-‘,’EdgeColor’,’r’);

end

title(‘Face Detection’);

hold off

  1. تشخیص چهره با استفاده از الگوریتم ژنتیک

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

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

در این جا ، پیشنهاد ما کاربرد الگوریتم ژنتیک در تشخیص چهره است.این الگوریتم ها به عنوان یک روش جستجو با الهام از نظریه ی تکامل داروین مشخص می شوند.با به کار گیری برخی مکانیزم ها، معمولا برای تولید نسل جدید individual هایی انتخاب می شوند که بیشترین شانس را برای بقائ دارندو خیلی راحت تر با تغییرات محیط سازگار می شوند.

تشخیص چهره

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

تکنیک های شناسایی چهره شامل سه روش عمده هستند:

  • روش هایی بر پایه ی خصوصیات ثابت
  • روش هایی بر پایه ی ظاهر
  • روش هایی بر پایه ی دانش

روش هایی برپایه ی دانش

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

الگوریتم های ژنتیک یکی از الگوریتم های جستجوی تصادفی است که ایده آن برگرفته از طبیعت می باشدو با استفاده از مکانیزم انتخاب هر individual ای که بیشترین سازگاری را با محیط داشته باشد برای تولید نسل برگزیده می شود.این الگوریتم درشش گام توصیف می شود:

  • ایجاد جمعیتی تصادفی به اندازه ی N از کروموزوم ها
  • محاسبه ی تابع fitness برای هر کروموزوم
  • ایجاد کروموزوم های جدید از طریق ترکیب کردن کروموزوم های انتخاب شده از این جمعیت ، به کار بردن ترکیب recombination و جهش mutation در این کروموزوم ها
  • از بین بردن اعضای قدیمی جمعیت ، به منظور ایجاد فضا برای کروموزوم های جدید و درج آنها و همچنین ثابت ماندن مقدار N از جمعیت (جمعیت به اندازه ی N ثابت بماند و تغییر نکند)
  • اعمال fitness  (مقدار برازندگی) در این کروموزم های جدید و درج آنها در جمعیت
  • در صورتی که راه حل مطلوب پیدا شود یا اگر زمان (تعداد نسل ) تهی شد ، کروموزوم با بهترین fitness برگردانده می شود در غیر این صورت به گام سوم برمی گردیم.

تابع fitness

به منظور حل هر مسئله با استفاده از الگوریتم های ژنتیک ابتدا باید یک تابع برازندگی برای آن مسئله ابداع شود برای هر کروموزوم این تابع عدد غیر منفی را بر می گرداند که نشان دهنده ی شایستگی یا توانایی فردی آن کروموزوم است.

انتخاب

انتخاب بعد از اعمال fitness در کروموزوم رخ می دهد.در طبیعت موجودی برای تولید مثل و تکامل انتخاب می شود که بیشترین مقدار fitness را داشته باشد.برای انتخاب روش های زیادی وجود دارد.اما مسلما در اکثر این روش ها کروموزومی انتخاب می شود که میزان سازگاری و احتمال بقا و تولید مثل بالاتری را دارد.

تولید مثل

کروموزوم جدید از ترکیب دو کروموزوم قبلی به وجود می آید.این فرآیند به دو پارامتر ( دو کروموزوم ) که اپراتور یا عملگر پیشنهاد می کند بستگی دارد. این عملگر همان crossover یا احتمال نوترکیب است که با pc نمایش داده می شود.همچنین ممکن است عمل جهش در کروموزوم جدید به وجود آید که با pm نشان داده می شود.برای شروع معمولا مقدار pc بین 1 تا 1.5 و مقدار pm بین 0.001 تا 0.02 در نظر گرفته میشود.

الگوریتم ژنتیک در تشخیص چهره

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

  • پیش پردازش
  • کاربرد الگوریتم ژنتیک

مرحله ی پیش پردازش

این مرحله شامل سه گام اساسی است :

  • کاهش اندازه ی تصویر : اندازه ی تصویر اصلی در حدود 256*256 پیکسل است این اندازه باید به حدود 128*128 پیکسل کاهش داده شود.
  • کاهش نویز : برای کاهش نویز در تصویر از فیلتر میانه با ماسک 3*3 استفاده شده است.
  • تشخیص لبه ها : برای شناسایی لبه ها در تصویر از عملگر سوبل استفاده شده که نتیجه ی حاصل از آن یک تصویر باینری است ، پیکسل های سفید لبه ها و پیکسل های سیاه پس زمینه ی تصویر است.

کاربرد الگوریتم ژنتیک

بعد از انجام مراحل پیش پردازش ، امکان استفاده از الگوریتم ژنتیک فراهم می شود که اساسا شامل جستجو برای پیدا کردن شی ای شبیه بیضی با نسبت تناسب 1.5:1 در تصویر است. ( قبلا ذکر کردیم که Templateچهره شبیه به بیضی است ) که احتمالا چهره ی شخص باشد.

در این مورد individual ها بیضی هایی هستند که به صورت باینری نوشته می شوند.با فرض این که هر individual در حدود 4 کروموزوم دارد که به ترتیب : مکان x ، مکان y ، نسبت x و نسبت y است. این کروموزوم ها در الگوریتم ها ی معمولی همان متغییر ها برای مختصات بیضی هستند اما در الگوریتم ژنتیک این کروموزوم ها از تنها یک individual ساخته می شوند. اندازه ی هر کروموزوم در حدود 7 بیت است که نمونه ی آن را در تصویر زیر مشاهده می کنید.

اولین گام تولید جمعیت اولیه با تعداد 100 ، individual است. هر individual به صورت تصادفی و با محدودیت ( x و y باید در اندازه گیری متناسب از 1.5:1 باشند ) نه محدودیت در مورد اندازه و موقعیت بیضی ساخته شده ، ایجاد می شود چرا که چهره در تصویر می تواند بزرگ یا کوچک باشد.

تعداد پیکسل های سفید در تصویر پیش پردازش شده را NA قرار می دهیم و تعداد پیکسل های سفید در تصویر individual را NB می نامیم ، بنابراین تابع fitness به صورت : NA/NB تعریف می شود.

فرایند انتخاب به صورت خودکار انجام می شود بدون استفاده از تطابق یا رولت روش ، برای مثال تعداد 20 عدد individual با مقدار fitness خیلی بزرگ برای تولید مثل انتخاب شد، اما با 20 individual مفهوم تولید مثل تنها برای 20 عدد individual جدید دیگر ممکن است چرا که جفت ها بین خودشان مبادله می شوند. تولید مثل از دونقطه به وجود می آید و این نقاط به صورت تصادفی انتخاب می شوند بعد از فرایند تولید مثل ممکن است کروموزوم جدید دچار mutation یا جهش شود این فرایند این قدر تکرار میشود تا حدود 150 نسل به وجود آید هر نسل با 100 عدد individual و در پایان individual ایی که بالاترین مقدار fitness را داشته است به عنوان احتمال وجود چهره در این ناحیه از تصویر مشخص می شود.

نتایج 

وضوح تصاویر مورد آزمایش در حدود 256*256 پیکسل بود، همه ی تصاویر در فرمت JPG فشرده سازی شده بودند.در مورد تصاویر با پس زمینه ی غیر پیچیده ، الگوریتم عملکرد قابل قبولی داشت حتی اگر چهره شامل ریش ، سیبیل ، موی بلند ، عینک و غیره باشد.اما مواردی که پس زمینه ی تصویر پیچیده باشد الگوریتم کارآمد نخواهد بود. با توجه به این واقعیت که الگوریتم همیشه هر پیکسل از تصویر را مقایسه می کند بنابراین سرعت آن کند است.روند تشخیص چهره با اجرا در متلب 7 در یک کامپیوتر با پردازنده ی 1.8 GHZ و 256 مگابایت رم در حدود 3 دقیقه طول می کشد.

نتیجه گیری

در این مقاله یک روش برای تشخیص چهره ی انسان پیشنهاد شد ، الگوریتم برای تصاویری با پس زمینه ی ساده ( غیر پیچیده) عملکرد مناسبی داشت یقینا ، الگوریتم ژنتیک می تواند برای حل مسائل پیچیده در بینایی ماشین و غیره استفاده شود.

 

مراجع :

 [1]محسن جمشیدی، مهدی توکلی، “تشخیص و شناسایی چهره در تصاویر رنگی با استفاده از تقسیم بندی رنگ و ویژگی های صورت”، هشتمین سمپوسیم علم و تکنولوژی پیشرفته، 28 آذر 1392

[2] مریم قلیزاده، شهره کسایی، محمود تابنده، “تشخیص صورت در تصاویر رنگی و کاربرد آن در ارسال تصاویر بر روی خطوط تلفن یا اینترنت”، دومین کنفرانس ماشین بینایی و پردازش تصویر ایران، تهران بهمن 1381

[3] Biosignal and Biomedical Image Processing MATLAB based Applications – John L. Semmlow

[4] Digital Signal and Image Processing Using MATLAB – Gerard Blanchet & Maurice Charbit

[5] M. Turk and A. Pentland, “Eigenfaces for Recognition”, Journal of Cognitive Neuroscience, March 1991

[6] Shady S. Al-atrash, “Robust Face Recognition”, Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Engineering, 2011

[7] A. Binti Abdullah,” Fase Recognition Using Neural Network”, Faculty of Electrical & Electronics Engineering Universiti Malaysia Pahang, November, 2010

[8] L.Chandra Paul, A.Al Sumam,” Face Recognition Using Principal Component Analysis Method”, International Journal of Advanced Research in Computer Engineering & Technology (IJARCET), Volume 1, Issue 9, November 2012

[9] L. Sumitha Balasuriya, “Frontal View Human Face Detection and Recognition”, University of Colombo Sri Lanka, May 2000

[10] D.Garg, A.Kumar Sharma, “Face Recognition”, IOSR Journal of Engineering (IOSRJEN), Volume 2, Issue 7(July 2012)

[11] M. B. Alves, R.A. Faccioli, A. Gonzaga, “Human Face Detection Using Genetic Algorithm”

[12] Surbhi, V. Arora, “Roi Segmentation For Feature Extraction From Human Facial Images”

برای اطلاع از فن آوری های نوین ارتباطی شبکه های وایرلس و مایکرو ویو و مراکز تلفنی تحت شبکه از کانال تلگرامی ما به آدرسهای Wireless_tech@و Voip_Tech@  دیدن فرمایید.

ارسال نظر

آدرس ایمیل شما منتشر نخواهد شد.