بازشناسی به معنای «تشخیص تفاوت بین دو چیز» است و بازشناسی اشیاء در اصطلاح بینایی ماشین، به معنای توانایی تشخیص یک شی از بین مجموعه ای از اشیاء است. به عنوان نمونه، بازشناسی تصاویر چهره شامل توانایی تشخیص هویت یک فرد از روی تصویر چهرهی او با داشتن پایگاه دادهای از تصاویر افراد مختلف است. چندین دهه است که این مفهوم به عنوان ابزاری پر کاربرد، مورد توجه محققین قرار گرفته است.
۱-۲-۲-۱)فرآیند طراحی یک سیستم بازشناسی اشیاء
از آن جایی که هر شی دارای الگوی خاصی است که آن را از سایر اشیاء متمایز می کند، سیستمهای بازشناسی اشیاء زیرشاخهای از سیستمهای بازشناسی الگو هستند و از فرآیندهای حاکم بر این سیستمها پیروی می کنند. هر سیستم بازشناسی الگو برای این که قدرت تمایز بین الگوهای مختلف را پیدا کند و در اجرای وظیفهی تشخیص و بازشناسی الگوها با موفقیت عمل کند، باید ابتدا آموزش ببیند. ساختار کلی فرآیند آموزش در یک سیستم بازشناسی الگو در شکل(۱-۲) نمایش داده شده است. اولین گام در فرآیند آموزش یک سیستم بازشناسی الگو، جمعآوری تعداد مناسبی نمونه از الگوهای مورد نظر (به طور مثال تصاویر اشیاء در یک سیستم بازشناسی اشیاء) است. خصوصیات این نمونهها باید به گونهای باشد که اهداف نهایی مورد نظر در سیستم بازشناسی الگو را برآورده کند و حتیالامکان همهی حالتهای قابل پیش بینی برای الگوها در بین این نمونهها وجود داشته باشد. این بخش زمان زیادی از فرایند طراحی سیستم بازشناسی الگو را به خود اختصاص میدهد و گاهی اوقات با مشکلاتی نیز همراه است.
گام بعدی پس از جمعآوری نمونههای لازم، استخراج ویژگی[۱] از نمونهها است. استخراج ویژگی نگاشتی از فضای الگوها به فضای ویژگیها است و حاصل آن یک بردار ویژگی عددی برای هر نمونه است. استخراج ویژگی در واقع خصوصیات کیفی الگوها را به ویژگیهای کمی تبدیل می کند و بردار ویژگی هر نمونه، توصیفی کمی از آن نمونه ارائه میدهد. این کار عملا یک فرآیند کدگذاری[۲] است، چرا که از نظر هندسی هر الگو را میتوان به عنوان یک نقطه در فضای اقلیدسی در نظر گرفت. انتخاب نوع ویژگیها نیازمند دانش اولیه در مورد الگوها است. این انتخاب باید به گونهای باشد که ویژگیهای استخراجشده بین الگوهای متعلق به یک کلاس حداکثر تشابه و بین الگوهای متعلق به کلاسهای متفاوت حداکثر تمایز را به وجود آورند.
پس از استخراج ویژگی باید روش یادگیری در سیستم بازشناسی الگو تعیین شود تا گامهای اصلی آموزش سیستم شروع شود. روش یادگیری میتواند از نوع بدون نظارت[۳] یا بانظارت[۴] باشد. در یادگیری بدون نظارت، الگوها برچسب کلاسی ندارند و بر اساس شباهتشان در کلاسهای یکسان قرار میگیرند. در واقع در این روش، هدف کاربر این است که تعیین کند آیا گروههایی در مجموعهی داده وجود دارند و اگر وجود دارند، چه مشخصاتی الگوهای داخل یک گروه را به هم شبیه می کند و چه مشخصاتی الگوهای موجود در گروههای متفاوت را از یکدیگر متمایز می کند.
دنیای واقعی(جایی که همه مسائل از آن جا نشأت میگیرد) |
جمعآوری داده |
استخراج ویژگی |
انتخاب مدل خوشهبندی |
خوشهبندی داده ها |
نتیجه قابل قبول است؟ |
آموزش ردهبند |
آزمایش ردهبند |
گزینش ویژگی |
انتخاب مدل ردهبندی |
نتیجه قابل قبول است؟ |
دنیای واقعی(جایی که همه راهحلها به آن جا باز میگردد) |
بانظارت |
بدون نظارت |
شکل ۱‑۲ فرآیند آموزش در یک سیستم بازشناسی الگو (۲۰۰۶Kuncheva,)
در یادگیری بانظارت، برای هر الگو در مجموعهی داده، علاوه بر یک بردار ویژگی، یک برچسب کلاس هم وجود دارد. هدف این است که بر اساس نمونههای موجود، یک ردهبند[۵] به گونهای آموزش داده شود که بتواند نمونههای جدیدی را که تاکنون ندیده است با کمترین خطا در کلاس مربوط به خودشان ردهبندی کند. روش یادگیری با توجه به ماهیت مسأله تعیین میشود. اگر الگوها برچسب کلاس داشته باشند، از روش یادگیری بانظارت و اگر الگوها برچسب کلاس نداشته باشند از روش یادگیری بدون نظارت استفاده میشود.
اگر روش یادگیری بانظارت باشد، گام بعدی اجرای فرآیند گزینش ویژگی[۶] است. ویژگیهایی که در مرحلهی استخراج ویژگی از الگوها استخراج میشوند، دارای کیفیت و اهمیت یکسانی نیستند و برخی از آنها نسبت به بقیه از اهمیت و کیفیت بالاتری برخوردارند. هر چه قدرت یک ویژگی برای جداسازی نمونهها در کلاسهای مختلف بیشتر باشد، کیفیت بالاتری دارد. در مرحلهی گزینش ویژگی، زیرمجموعهای از ویژگیها که بیشترین اهمیت را در جداسازی کلاسهای الگو دارند، از بین مجموعهی ویژگیها گزینش میشوند. با این کار هم ابعاد بردار ویژگی کاهش مییابد و بار محاسباتی سیستم کمتر میشود و هم کیفیت توصیف الگوها توسط این ویژگیها بهتر میشود. البته اجرای این مرحله در فرآیند آموزش یک سیستم بازشناسی الگو اختیاری است و اگر ویژگیهای استخراجشده در مرحلهی استخراج ویژگی به حد کافی مطلوب و باکیفیت باشند، نیازی به اجرای این مرحله نیست.
پس از گزینش ویژگی، باید مدل ردهبندی انتخاب شود. مدل ردهبندی هر الگوی ناشناخته را بر اساس ویژگیهای آن به یکی از کلاسهای شناختهشده نسبت میدهد. به بیان ریاضی، به هر نگاشتی از فضای n-بعدی ویژگیها به فضای k-بعدی برچسبهای کلاس، یک ردهبندی[۷] گفته میشود. بنابراین یک ردهبند تابعی است مانند D که با رابطه (۱-۱) توصیف میشود:
رابطه ۱-۱
که در آن مجموعهی برچسب کلاس الگوها است. یک ردهبند، میزان تعلق بردار ویژگی به هر یک از کلاسهای الگو را به صورت یک عدد حقیقی بیان می کند. تاکنون مدلهای ردهبندی متنوعی برای سیستمهای بازشناسی الگو پیشنهاد شده اند که هر کدام کاربرد متفاوتی دارند. از جملهی این ردهبندها میتوان به ردهبند بیزین[۸]، ردهبند نزدیکترین همسایگی، ردهبند ماشین بردار پشتیبان(SVM[9]) و شبکه های عصبی اشاره کرد.
گام بعدی پس از انتخاب مدل ردهبندی، آموزش ردهبند است. منظور از آموزش ردهبند در واقع تجزیه و تحلیل نمونههای آموزشی[۱۰] و استنتاج تابعی از آنها برای تعیین برچسب کلاس نمونههای جدید است. این تابع نگاشتی از فضای ویژگیها به فضای برچسب کلاسها است.
پس از آموزش ردهبند، نوبت به آزمایش ردهبند و اعتبارسنجی آن میرسد. در این مرحله با بهره گرفتن از نمونههای آزمون[۱۱]، کارایی ردهبند مورد ارزیابی قرار میگیرد و اگر اهداف مورد نظر طراحی را برآورده نکند، طراح سیستم به یکی از گامهای قبلی برمیگردد و با انجام اصلاحاتی در آن فرآیند آموزش را تکرار می کند و این تکرار تا زمانی که اهداف طراحی برآورده شود، ادامه مییابد تا دستیابی به سیستمی قابل تعمیم به نمونههای جدید را تضمین کند.
اگر روش یادگیری بدون نظارت باشد،پس از جمعآوری داده ها و استخراج ویژگی از آنها، یک روش خوشهبندی[۱۲] برای گروهبندی داده ها انتخاب میشود. اگر نتیجهی خوشهبندی قابل قبول نباشد، با تغییر روش خوشهبندی یا تغییر پارامترهای خوشهبندی،کار ادامه پیدا میکند تا نتیجه مورد نظر حاصل شود.
پس از این که سیستم بازشناسی الگو آموزش داده شد، برای کارکرد عادی و اجرای وظیفهی بازشناسی الگوها آماده میشود. شکل(۱-۲) فرآیند حاکم بر یک سیستم بازشناسی الگو را در حالت کارکرد عادی و تشخیص الگو در نمونههای جدید نشان میدهد. برای هر نمونهی ورودی، ابتدا ویژگیها استخراج میشود و سپس این ویژگیها وارد ردهبند آموزشدیده در مرحلهی آموزش میشوند تا کلاس الگو در نمونهی ورودی تعیین شود.
استخراج ویژگی |
ردهبند آموزش دیده در مرحله آموزش
|
نمونه ورودی |
برچسب کلاس |
شکل ۰۱-۳ فرآیند حاکم بر یک سیستم بازشناسی الگو در حالت کارکرد عادی
[۱] Feature Extraction
[۲] Coding
[۳] Unsupervised Learning
[۴] Supervised Learning
[۵] Classifier
[۶] Feature Selection
[۷] Classification
[۸] Baysian
[۹] Support Vector Machine
[۱۰] Training Examples
[۱۱] Testing Examples
[۱۲] Clustring