تشخیص خودکار چهره شخص با استفاده از الگوریتم‌های تشخیص الگو

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

انواع تشخیص الگو
----------------

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

### تشخیص آیتم‌های واقعی

این ممکن است به عنوان تشخیص سنسوری معرفی شود که تشخیص الگوهای سمعی و بصری را دربر می‌گیرد.

### تشخیص الگوهای زمانی و فضایی

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

الگوها و کلاس‌های الگوها
------------------------

تشخیص الگو می‌تواند به عنوان دسته‌بندی داده‌ها ی ورودی در کلاس‌های شناخته شده به وسیلهٔ استخراج ویژگی‌های مهم
یا صفات داده تعریف شود. یک کلاس الگو، یک دستهٔ متمایز شده به وسیلهٔ برخی صفات و ویژگی‌های مشترک است. ویژگی‌های یک کلاس الگو، صفات نوعی هستند که بین همهٔ الگوهای متعلق به آن کلاس مشترک هستند. ویژگی‌هایی که تفاوت‌های بین کلاس‌های الگو را بیان می‌کنند اغلب به عنوان ویژگی‌های اینترست شناخته می‌شوند. یک الگو، توصیفی از یکی از اعضای دسته است که ارائه دهندهٔ کلاس الگو می‌باشد. برای راحتی، الگوها معمولاً به وسیلهٔ یک بردار نمایش داده می‌شوند. مانند:

مسائل اساسی در طراحی سیستم تشخیص الگو
-------------------------------------

به‌طور کلی طراحی یک سیستم تشخیص الگو چندین مسئلهٔ اصلی را در بر می‌گیرد:

1. طریقه نمایش داده‌ها
2. استخراج ویژگی
3. تعیین رویه تصمیم بهینه

### طریقه نمایش داده‌ها

اول از همه، ما بایستی در مورد نمایش داده‌های ورودی تصمیم بگیریم.

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

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

### تعیین رویه تصمیم بهینه

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

یادگیری و تمرین دادن
--------------------

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

تشخیص الگوی نظارت شده و بدون نظارت
----------------------------------

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

کلیات یک سیستم تشخیص الگو
-------------------------

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

الگوریتم‌ها
-----------

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

### الگوریتم‌های کلاس‌بندی (الگوریتم‌های با ناظر پیش‌گو)

* درخت تصمیم و لیست تصمیم
* ماشین‌های بردار پشتیبانی
* شبکه‌های عصبی
* پرسپترون
* k-نزدیکترین همسایگی

### الگوریتم‌های خوشه‌سازی (الگوریتم‌های بدون ناظر پیش‌گو)

* مدل‌های دسته‌بندی ترکیبی
* خوشه‌سازی سلسله مراتبی
* Kernel PCA

### الگوریتم‌های مبتنی بر رگرسیون

#### با ناظر

* رگرسیون خطی
* شبکه‌های عصبی
* رگرسیون فرآیند گاوسی (Gaussian Process Regression)

#### بدون ناظر

* تحلیل مؤلفه‌های اصلی (PCA)
* آنالیز افتراقی خطی (LDA)

کاربردها
--------

* تشخیص صدا
* تشخیص چهره
* تشخیص اثر انگشت
* تشخیص امضا
* تشخیص دی ان ای
* تشخیص شبکه چشم
* تشخیص مردمک چشم
* تشخیص دست خط
* دسته‌بندی متون به گروه‌های مختلف (به عنوان نمونه، نامه‌های الکترونیکی شامل هرزنامه و بدون هرزنامه)
* تشخیص خودکار کدهای پستی دست‌نویس روی پاکت‌های نامه
* تشخیص خودکار چهره افراد

جستارهای وابسته
---------------

* علم داده‌ها

منابع
-----

1. ↑  Richard O. Duda, Peter E. Hart, David G. Stork (2001) Pattern classification (2nd edition), Wiley, New York, ISBN 0-471-05669-3
2. ↑  R. Brunelli, Template Matching Techniques in Computer Vision: Theory and Practice, Wiley, ISBN 978-0-470-51706-2, 2009 ([1] TM book)

برای مطالعهٔ بیشتر
------------------

* Fukunaga, Keinosuke (1990). *Introduction to Statistical Pattern Recognition* (2nd ed.). Boston: Academic Press. ISBN 0-12-269851-7.
* Bishop, Christopher (2006). *Pattern Recognition and Machine Learning*. Berlin: Springer. ISBN 0-387-31073-8.
* Koutroumbas, Konstantinos; Theodoridis, Sergios (2008). *Pattern Recognition* (4th ed.). Boston: Academic Press. ISBN 1-59749-272-8.
* Hornegger, Joachim; Paulus, Dietrich W. R. (1999). *Applied Pattern Recognition: A Practical Introduction to Image and Speech Processing in C++* (2nd ed.). San Francisco: Morgan Kaufmann Publishers. ISBN 3-528-15558-2.
* Schuermann, Juergen (1996). *Pattern Classification: A Unified View of Statistical and Neural Approaches*. New York: Wiley. ISBN 0-471-13534-8.
* Godfried T. Toussaint, ed. (1988). *Computational Morphology*. Amsterdam: North-Holland Publishing Company.
* Kulikowski, Casimir A.; Weiss, Sholom M. (1991). *Computer Systems That Learn: Classification and Prediction Methods from Statistics, Neural Nets, Machine Learning, and Expert Systems*. Machine Learning. San Francisco: Morgan Kaufmann Publishers. ISBN 1-55860-065-5.