در این پروژه میخواهیم سامانهای را آموزش دهیم که بتواند صفتهای مربوط به اشیاء در یک تصویر را به صورت هوشمند تشخیص دهد. برای مثال در شکل زیر تصاویر چهرههای عینکی و غیر عینکی تشخیص داده شده است:
۱. چکیده
تشخیص اشیاء یکی از موضوعات مطرح در مباحث بینایی ماشین می باشد و کاربردهای تاثیرگذاری در علوم و ابزارهای مختلف دارد. عملکرد سامانه های
واقعیت افزوده و نظارت ویدئویی هوشمند به استفاده و بهره برداری صحیح از روش های تشخیص اشیاء وابسته است. روش های گوناگونی برای حل مسائل مختلف شناسایی اشیاء مطرح شده اند که هر کدام دارای مزیت ها و معایبی می باشند که اجازه استفاده از آنها در تمام کاربرد ها را نمی دهد و باید روش مناسب با توجه به کاربرد خاص مورد نظر انتخاب شود. روش های مبتنی بر لبه و مبتنی بر تکه از روش های عمده استخراج ویژگی برای کاربرد های تشخیص اشیاء میباشد
در این مقاله قصد داریم روش های مطرح بینایی ماشین که برای تشخیص و شناسایی اشیاء در تصاویر استفاده میشود را بررسی کنیم و نقاط ضعف و قوت و همچنین کاربرد های خاص آنها را معرفی کنیم.
۲. مقدمه
سیستم بینایی انسان دارای توانایی فوق العاده ای در تشخیص اشیاء می باشد و با وجود تغییر زاویه ی دید، تغییر مقیاس، انتقال و چرخش تصاویر وحتی در حالتی که قسمتی از شیء توسط مانعی پوشیده شده باشد، قادر است شیء مربوطه را تشخیص دهد. عملکرد دقیق پروسه ی تشخیص اشیاء توسط انسان، هنوز دارای ابهامات فراوانی است و از مسائل چالش برانگیز بینایی ماشین می باشد. موضوع کلاسه بندی تصاویر در پایگاه داده های گوناگون، زمنیه تحقیقاتی گسترده ای
است که دو بخش مهم را در بر می گیرد: استخراج ویژگی های مناسب و انتخاب یک کلاسه بند خوب.
تحقیقات فراوان در این زمینه نشان داده است که حصول نرخ تشخیص خوب بیشتر از آنکه به انتخاب نوع کلاسه بند بستگی داشته باشد؛ به استخراج ویژگی مناسب نیازمند است.
هرچقدر ویژگی های استخراج شده قادر باشند: بهتر توصیف کنند، در برابر تغییرات مقیاس و دوران تصویر مقاوم باشند و قابلیت انعطاف پذیری بیشتری برای استفاده در پایگاه داده های مختلف داشته باشند؛ بیشتر ما را به این هدف نایل می آوردند که بتوانیم با دقت بیشتری تصاویر را دسته بندی کنیم. مسأله ی مطرح شده در این مقاله نیز در زمره ی همین مسائل قرار می گیرد.
طرح مسأله:
در واقع این مقاله تلاشی است برای ارائه راهکار های موجود در زمینه ی تشخیص و کلاسه بندی ویژگی های موجود در تصاویر، که لازمه ی آن معرفی روش های موجود برای استخراج ویژگی های بینایی اشیاء و بررسی راه حل های یادگیری ماشین برای درک این ویژگی ها که نیاز اصلی یک سامانه تشخیص اشیاء می باشد. به طور خلاصه می توان گفت: لازمه بهره برداری از سامانه های تشخیص اشیاء برای کاربرد های مختلف، اتخاذ روش های صحیح استخراج ویژگی و یادگیری ماشین با توجه به کاربردهای خاص می باشد. به عنوان توضیح بیشتر با استفاده از بینایی ماشین میتوان به شناسایی اشیاء و افراد پرداخت و رفتار آنها را تجزیه و تحلیل کرد. به طور مثال در یک سیستم نظارت تصویری، بینایی ماشین می تواند با شناسایی فعالیت ها به توصیف صحنه بپردازد و در صورت لزوم هشدارهای مختلفی را اعلام کند.
این رویداد و فعالیت می تواند متفاوت باشد. به طور مثال می تواند هدف، شناسایی و درک فعالیت خودرو ها در یک بزرگراه در قالب یک سیستم هوشمند حمل نقل
باشد که در صورت وقوع حادثه تصادف در بزرگراه اعلان خطر می کند. در سطحی بالاتر از نظارت تصویر می توان به شناسایی حالات و فعالیت انسان اشاره کرد که یکی دیگر از موضوعات مورد بحث در حوزه بینایی و یادگیری ماشین است. میتوان یک دوربین امنیتی در یک محیط عمومی همچون فرودگاه را تصور کرد که می تواند تحرکات مشکوک و هرج و مرج را تشخیص دهد. این کار توسط آموزش های قبلی که به سیستم داده شده است امکان پذیر می باشد. با پژوهش های صورت گرفته این موضوع مطرح است که در صورتی که هدف سیستم بینایی ماشین مشخص و مرزهای آن محدود شده باشد نتایج قابل قبولی برای سیستم کسب خواهد
شد.[ 1]
این عبارت بیان می کند که تعریف مسأله و پرداختن صحیح به جنبه ها و محدود کردن ویژگی ها، ما را در به ثمر رساندن سیستمی بهینه در حوزه تشخیص و بینایی ماشین رهنمون می سازد. یک سیستم بینایی که برای تشخیص اجناس یک فروشگاه زنجیره ای در نظر گرفته شده است، تنها باید اجناس موجود در فروشگاه را که پیش از این به آن آموزش داده شده است، درست تشخیص دهد و از آن سیستم انتظار نمی رود که مرغوبیت هر یک از اجناس را نیز به صورت درصد نشان دهد و یا تازه بودن یا نبودن میوه ها را به ما اعلام کند. در طرفی دیگر از همان فروشگاه امکان دارد یک دوربین نظارت تصویری موجود باشد که حرکات و رفتار مشریان را زیر نظر داشته باشد و رفت و آمد آنها به مکان های غیر مجاز نظیر انبار را به اطلاع حراست فروشگاه برساند. از این سیستم نیز تنها انتظار وظیفه محول شده می رود و نه تشخیص جنسیت افراد یا سن آنها. در این صورت است که هر سیستم به صورت کارآمدی وظایف خود را انجام می دهند.
حل مسئله:
+ انواع ویژگی های موجود در تصویر: [21]
اکثر روش های مورد استفاده برای تشخیص اشیاء را می توان بر اساس نوع ویژگی ها به دو بخش تقسیم بندی کرد. این دو بخش عبارتند از: ویژگی های بر اساس لبه ها و ویژگی های بر اساس تکه ها.
البته در برخی از پژوهش ها، به صورت ترکیبی از این ویژگی ها برای تشخیص اشیاء استفاده شده است[2]. استفاده ترکیبی از هر دو ویژگی در آینده بسیار شایع خواهد شد زیرا می توان با مقایسه قرار دادن آنها در موقعیت های مختلف بهترین تصمیم را اتخاذ کرد، که البته بار محاسباتی زیادی را طلب می کند. یک روش خوب روشی است که از هر دو نوع ویژگی به طور موثر استفاده کند و قابل پیاده سازی و استخراج در یک سیستم بلادرنگ باشد. از این رو مدیریت منابع امری مهم در به کارگیری سامانه های تشخیص اشیاء می باشد.
1) ویژگی ها بر اساس لبه:
در این روش از ویژگی های لبه استفاده می شود به این صورت که نقشه و طرح لبه های تصویر بدست می آید و ویژگی های اشیاء بر اساس لبه ی آنها مشخص می گردد. مثال هایی که از این روش استفاده کرده اند [2,3] می باشند. استفاده از لبه ها به عنوان ویژگی مزیت هایی نسبت به استفاده از دیگر ویژگی ها دارد.
همانطور که در [4] به آن اشاره شده است، لبه ها ویژگی های استواری هستند و نسبت به شرایط روشنایی و تغییرات رنگ اشیاء و بافت خارجی اشیاء مقاوم هستند و تغییرات آنها بر روی لبه تاثیری نمی گذارد. همچنین لبه ها ، مرز اشیاء را به خوبی مشخص می کنند و به این صورت بهره وری اطلاعات را در محیط های شلوغ و پر از اشیاء افزایش می دهد.
در این روش دو راه برای استفاده از لبه ها وجود دارد:
استفاده از کل لبه ها و به اصطلاح شکل و فرم هر شیء که در [5,6] از این حالت استفاده شده است.
در حالت دیگر می توان تنها بخش هایی از شکل و کانتور ها را استفاده کرد که در موارد [2,3] استفاده شده است. نمایش این بخش ها در تصاویر نشان داده شده است. شکل 1 بیانگر تصویر اصلی از محیط است که توسط سامانه بینایی ماشین دریافت می شود. در شکل ، از تمام شکل ها و لبه های تصویر استفاده شده است و در شکل 3 تنها از بخشی از لبه ها برای شناسایی شی استفاده شده است.
مشکل دیگر در تصاویر تست و ارزیابی می باشد. زمانی که در تصاویر کانتورها کامل نمی باشند و مطابقت آنها با کانتورهای کاملی که مدل شده اند به طور معمول کم می باشد[7]. در عین حال بعضی روش ها مثل روش های مبتنی بر هسته [5] و یا مبتنی بر هیستوگرام [11] می تواند این مشکل را رفع کند. اما همچنان انسداد اشیاء مشکلی جدی محسوب می شود و نمی شود هیچ تضمینی برای رفع این مشکل ارائه داد. همچنین بعضی ویژگی ها توانایی ترکیب کردن و دخالت دادن نوع حالت (وضع) و زاویه دید را ندارند، و یا شناسایی تصاویری مفصل دار مانند تصویر یک اسب یا تصاویری چندریختی و انعطاف پذیر مانند تصویر ماشین ها مشکل است. به دلیل اینکه این نوع از ویژگی ها با کل شکل کانتورها سروکار دارند، ممکن است تاثیر آنها فقط در بخشهایی از کانتورهای تصویر باشد و تمام شکل کانتور باید آموزش داده شود و بر اساس آن شناسایی صورت گیرد.
مرحله TRAIN :
زمانی که ویژگی ها به خوبی برای مشخص کردن هر شی تعریف شده باشند و به سیستم آموزش داده شده باشند، استفاده از بخش های کانتور میتواند روشی قوی برای از بین بردن مشکلات انسداد تصویر باشد. این روش به محاسبات کمتر و حافظه کمتری نیازمند است برخلاف دیگر روش های کامل کردن کانتورها .
همچنین نیاز به نگهداری اطلاعات کمتری برای ویژگی ها دارد. این انتظار می رود که در هنگام تست نیز حساسیت کمتری به انسداد وجود داشته باشد. به علاوه مشکلاتی همچون تغییرات زاویه دید، اشکال مفصل دار، تصاویر انعطاف پذیر و چند ریختی را میتوان با آموزش صحیح بخش های کانتور رفع کرد. بدون نیاز به اینکه کل کانتور را آموزش دهیم. عملکرد این روش که بر اساس ویژگی های قسمت های کانتورها عمل میکند به طور مستقیم وابسته به روش های یادگیری است. زمانی که از این ویژگی ها استفاده می شود، انتخاب ویژگی های الگو مناسب اهمیت پیدا می کند تا بتواند به خوبی دسته بندی اشیاء را مشخص کند. روش های یادگیری مانند روش ارتقا برای این دسته از ویژگی ها بسیار مناسب می باشند.[12]
2) ویژگی ها بر اساس تکه ها:
یکی دیگر از انواع ویژگی ها که استفاده از آنها شایع است انتخاب ویژگی ها بر اساس تکه ها (وصله های تصویر) می باشد .در این روش ظاهر تصویر به عنوان نشانه هایی برای شناخت بهتر استفاده می شود. این روش برخلاف نوع ویژگی های بر اساس لبه، قدیمی تر می باشد . برای نمونه در[15] به دنبال بیشینه و کمینه شدت تغیرات رنگ جستجو انجام شده و آنها را گوشه های تصویر می نامد و تکه ها را در این گوشه ها انتخاب می کند. این فعالیت در [16]بهبود داده شده است و یک انتخابگر جدیدی در نظر گرفته شده است که کمتر به نویز، لبه ها و طبیعت وجودی اشیاء حساس میباشد. در این نوع ویژگی ها دو حالت متفاوت وجود دارد.
الف) تکه هایی با اشکال چهار ضلعی که شامل مرزهای اساسی ویژگی های اجسام هستند که توسط آنها هر شی تعریف می شوند. به طور معمول به این نوع از ویژگی ها که شخصیت شی را مشخص می کند، ویژگی های محلی میگویند.
ب) تکه هایی نامنتظم که هر تکه می تواند شکلی متفاوت داشته باشد که بر اساس شدت رنگ و یا تغییرات بافت شی تعریف شود و هر شی بر اساس مرزهای تصمیم گیری که از این تکه ها بدست می آید شناسایی می شود. به این نوع ویژگی ها، ویژگی های بر اساس ناحیه می گویند.
در شکل 4 نحوه انتخاب ویژگی ها بر اساس تکه ها نمایش داده شده است. در این تصویر ویژگی های بر اساس ناحیه را نشان می دهد که برای مشخص کردن ناحیه از شدت رنگ استفاده کرده است و از ویژگی های محلی استفاده شده است. همانطور که مشخص است، ویژگی های محلی می توانند انواع مختلفی داشته باشند. ساده ترین نوع این ویژگی ها استفاده از ناحیه های چهارضلعی و مربع گونه می باشد که یک اندازه هستند و الگوی اشیاء را مشخص می کنند که از این مورد در [17] استفاده شده است
یک طرح بهتر این است که تکه های بزرگ یا کوچکی را تعریف کرد که به اندازه ویژگی های محلی باشد و قابل استفاده در تصاویر مختلف باشد در این صورت یادگیری آسانتر و سریعتر بوده و حافظه کمتری نیز نیاز است که در [18] از این روش استفاده شده است.
شکل 6 نمونه ای از انتخاب این نوع ویژگی های محلی با اندازه های متفاوت را نشان میدهد. یک روش پیشرو نیز در [19]استفاده شده است که از تکه های با اندازه های مناسب و متغیر استفاده میشود ضمن اینکه هر تکه دارای جهت نیز میباشد و از آنها برای تعریف اشیا استفاده میشود. در این تحقیق از تبدیل ویژگی6 همراه با مقیاس یکسان استفاده شده است. در این تحقیق ابتدا نقاط کلیدی بر اساس تابع گوسی مشخص میشوند که این نقاط کلیدی میتوانند بر اساس مقیاس و چرخش یکسان باشند. سپس، بهترین نقاط کلیدی و ثابت ترین آنها مشخص میشوند و مقیاس آنها یعنی اندازه چهارضلعی ویژگی تعیین میشود. در نهایت، تغییرات رنگ محلی تصویر در نقاط کلیدی محاسبه میشود و از آنها به عنوان جهت های تکه ها استفاده میشود. نمونه ای از انتخاب این نوع ویژگی ها در شکل 6 نشان داده شده است.
بر اساس به کارگیری این روش، ویژگی ها تغییر شکل داده میشوند به این صورت که ویژگی ها به سمت جهت مناسب که رنگ ها در آن جهت تغییر میکنند چرخانده شده است و در یک اندازه مناسب به خود قرار داده میشود. به این صورت میتوان با تغییرات اندازه و جهت ها مقابله کرد و یک مقدار ثابت و یکسان دست یافت. برای مقابله با تاثیرات مخرب تغییرات وضعیت اشیا و سطح روشنایی، هر ویژگی با استفاده از تابع وزن دار گوسی با جهت های مختلف معرفی میشود. ایراد اساسی که میتوان برای این روش مطرح کرد اینست که انتخاب صحیح نقاط کلیدی مشکل میباشد که در واقع هر نقطه بخشی از اطلاعات را مشخص میکند.
ویژگی هایی که براساس ناحیه ها الهام گرفته شده اند، حاصل روش های قطعه بندی میباشند و بیشتر در الگوریتم هایی استفاده میشوند که هدف آنها ترکیب نواحی، قطعه بندی و یا دسته بندی میباشد.از شدت روشنایی بیشترین استفاده صورت میگیرد تا بتوان ویژگی های برمبنای ناحیه را استخراج کرد [3].
۳. کارهای مرتبط
در ادامه به معرفی اجمالی چند روش تشخیص صفت در تصویر می پردازیم:
استخراج ویژگی با استفاده از تبدیل هاف:
تبدیل هاف [27] از اندازه و زاویه مکان پیکسل های تشکیل دهنده مرز شی، ویژگی هایی استخراج میکند که با یکدیگر متفاوت می باشند. در این قسمت مراحل استخراج ویژگ ی و تشکیل پایگاه داده به ترتیب آمده است:
1) تقطیع تصویر: تصویر از چند ناحیه مجزا تشکیل شده است به طوریکه در هر ناحیه یک شی وجود دارد و مجموع این نواحی تصویر اصلی را تشکیل میدهد؛ تقطیع فرآیندی است که تصویر را به نواحی مجزا تقسیم میکند و پیکسل های تشکیل دهنده هر یک از نواحی را مشخص میکند.
2) تبدیل تصویر به باینری:
3) حذف قسمت های اضافی تصویر و تغییر اندازه شی:امکان دارد شی در گوشه ای از تصویر باشد و پیکسل های زیادی فاقد شی باشند، این پیکسل ها به صورت یک ردیف یا یک ستون هستند که این ردیف های فاقد شی حذف میشوند.
4) تعیین مرز دور شی:ابتدا تصویر توسط فیلتر گوسین هموار میشود. [28]
مرز دور شی لبه بیرونی شی میباشد که همان کانتور است. این لبه حاوی ردیف و ستون پیکسل های تشکیل دهنده ی دور شکل میباشد.
5) پیدا کردن حداکثر فاصله:دو پیکسلی که دارای بیشترین فاصله از یکدیگر هستند را انتخاب میکنیم.
6) چرخش و جداسازی:زاویه ی بین دوپیکسلی که بیشترین فاصله را دارند محاسبه میشود و شکل به اندازه آن زاویه حول مرکز تصویر چرخانده میشود. ردیف ها و ستون های اضافه نیز حذف میشوند.
7) انتقال مبدا و پیدا کردن زاویه حداکثر: در تصویر پیکسل ها از گوشه ی بالا سمت چپ شروع میشوند و مکان پیکسل ها نسبت به این گوشه است. مکان تمام پیکسل ها در این مرحله به مرکز انتقال می یابد. در این بلوک زاویه تمام نقاط مرز را نسبت به مرکز تصویر حساب میکنیم:
بزرگترین زاویه ای را که بین زوایای حاصله از پیکسل های مرز وجود دارد را می یابیم.
8) شیفت چرخشی:مقدار زوایا به ترتیب مکانشان فراهم آمده. ترتیب این زوایا را با شیفت چرخشی آنقدر می چرخانیم تا بزرگترین زاویه در ابتدا قرار گیرد[29].پس از انجام این مرحله صد زاویه داریم که از شی استخراج شده است. شیفت چرخشی با استفاده از این معادله انجام میشود.
این روند برای تک تک تصاویر نمونه انجام میگیرد.
حال ویژگی های استخراجی از تصاویر باید در پایگاه داده ای ذخیره شوند تا برای مقایسه از آن استفاده شود. این ویژگی ها در ماتریس ذخیره میکنیم.
در هریک از سلول های ماتریس ویژگی برای هر یک از سطرهای آن برچسبی متناسب با محتوای آن تعیین میکنیم و در کنار آن ذخیره میکنیم. این برچسب ماتریس است که در خروجی برگردانده میشود.
حال از تصویر تست ورودی نیز همین ویژگی را استخراج میکنیم. در این بلوک ویژگی حاصله از تصویر ورودی با تک تک سلول های ماتریس جدید مقایسه میشود. فاصله با تمام سطرها محاسبه می شود سطری که کمترین فاصله را با تصویر تست دارد مکان و برچسب آن در ماتریسی جداگانه ذخیره می شود. سپس بین سطر های منتخب از هر سلول مقایسه ای صورت گرفته و کمترین بین آن ها انتخاب شده و برچسب آن به عنوان خروجی برگردانده میشود.
ایجاد ماتریس تفسیر برچسب: برچسب حاصله از فرایند مقایسه باید تفسیر گردد و مشخص شود که مربوط به چه چیزی است. باید ماتریسی سلولی از بر چسب ها تشکیل دهیم که در کنار هر برچسب تصویر و داده مربوط به آن برچسب وجود داشته باشد. برچسب خروجی در ماتریس برچسب ها پیدا می کنیم و داده که ماتریس برچسب به آن اشاره دارد را نمایش داده و از آن استفاده می کنیم.روش POSELET:
این روش برای استخراج ویژگی هایی که تنوع بسیار زیادی در (زاویه دید و حالت) دارند بسیار کارایی دارد. در روش مقاله [30] دسته بندی کنندههای قوی صفات، تحت چنین شرایطی بایستی مستقل ازحالت باشند اما حدس زدن حالت خود از مباحث چالش برانگیز است.
مسائل کلاسیک با تشخیص و تقسیم بندی توسط یک یابندهی مبتنی بر جزء، حل میشود. این یابنده روی یک جزء اصلی کار میکند و poselet نام دارد. Poselet برای پاسخ دادن به یک قسمت از شیء – با حالت و زاویهی داده شده- آموزش داده میشود.روش IBP:
در [31] تلاش بر این است که صفات به یک روش کاملا بیناظر از مجموعه عکسهای دادهشده آموزش داده شود. از یک متد آماری بیزین که غیرپارامتری و داده گرا است استفاده میکنیم که Infinite Sparse FactorAnalysis نامیده میشود و یک روش تبدیل خطی است که وابستگی آماری اجزای نمایش را به حداقل می رساند. برای داشتن یک تعداد خطی است که وابستگی آماری اجزای نمایش را به حداقل می رساند. برای داشتن یک تعداد نامحدود از اجزاء، یک تقدم برای یک ماتریکس دودویی از صفات پنهان قرار میدهیم . در اینجا از یک تقدم غیرپارامتری به نام (IBP(Indian Buffet Process استفاده میشود.روش PCA:
تجزیه به مولفه های اصلی (PCA) یک روش برای استخراج ویژگی از داده (سیگنال یا تصویر) می باشد [32]. به تعبیر دیگر می توان با PCA کاهش بعد انجام داد. بعد در واقع ویژگی ها یا برچسب هایی است که به یک شی نسبت می دهیم. در بحث کلاس بندی تصاویر مخصوصا با PCA،پیکسل های هر تصویر را یک بعد در نظر می گیریم، یعنی اگر یک تصویر 50در50 داشته باشیم، تعداد بعد این تصویر برابر 2500 می شود. در این روش کاهش بعد یعنی کم کردن تعداد ویژگی های متعلق به هر شی است تا بتوان آن ها را راحت تر از هم تفکیک کرد.
مولفه های اصلی(Principle Components) :
به زبان ساده این روش بردارهایی را پیدا می کند که داده ها در جهت آن بردارها بیشترین پراکندگی را داشته باشند. مولفه های اصلی (بردار اصلی ) دو ویژگی اساسی دارند:
1- تصویر داده ها روی بردارها بیشترین پراگندگی را داشته باشد.
2- بردارهای اصلی برهم عمود هستند.
برای نمونه به تصویر زیر نگاه کنید. در اینجا تعدادی داده دو بعدی داریم. بردار اصلی اول برداری است که تصویر داده ها روی آن بیشترین پراکندگی (بیشترین واریانس) را داشته باشد و بردار اصلی دوم برداری عمود بر بردار اول است که تصویر داده ها روی آن بیشترین واریانس را بعد از بردار اول داشته باشد. تعداد بردارهای اصلی در صورتی که تعداد داده ها (مشاهدات) بیشتر از تعداد بعد داده باشد، برابر تعداد بعد داده است. در اینجا چون دوبعد داریم، دو مولفه اساسی هم داریم.
محاسبه مولفه های اساسی(PCA):
یکی از روش های ساده محاسبه مولفه های اساسی (PCA)، روش ماتریس کواریانس است. به صورت ساده، ابتدا لازم است ماتریس کواریانس داده ها را بدست آوریم. اگر ابعاد داده ورودی n و تعداد مشاهدات m باشد، ماتریس ورودی به صورت mn می شود. ابعاد ماتریس کواریانس برابر nn می شود. سپس باید مقادیر ویژه و بردارهای ویژه ماتریس کواریانس را بدست بیاوریم. تعداد مقادیر ویژه برابر n و ابعاد ماتریس بردارهای ویژه برابر n*n می شود. پس از آن کافی است، مقادیر ویژه را به ترتیب از زیاد به کم مرتب کنیم و مطابق با مقادیر ویژه، بردارهای ویژه مرتبط را هم مرتبط می کنیم. بردارهای ویژه مرتبط شده به ترتیب مولفه اساسی اول، دوم و … است.
در واقع مولفه های اساسی بردارهای یکتایی هستند، که تعدادشان با تعداد ابعاد ورودی یکسان است. در واقع در این روش دستگاه مختصات جدیدی تشکیل داده شده است. بنابر این تجزیه به مولفه های اساسی این امکان را به ما می دهد که دستگاه مختصات جدیدی با محور های جدید و عمود بر هم ایجاد کنیم که در آن داده ها پراکندگی زیادی دارند و به راحتی قابل تفکیک باشند.
دستور PCA برای بدست آوردن مولفه های اساسی در متلب موجود است.ترکیب PCA و فیلتر گابور:
یک راه تشخیص چهره ترکیب هر دو روش PCA و فیلتر گابور است.بدین صورت که پس از اعمال فیلتر گابور روی هر تصویر موجود در پایگاه تصاویر تعدادی تصویر حاصل از فیلتر گابور بدست می آید. میانگین تصاویر حاصل از فیلتر گابور بعنوان یک تصویر جدید در نظر گرفته می شود سپس از مولفه های اصلی بدست آمده از اعمال PCA بر روی تصاویر میانگین برای تشخیص چهره استفاده می شود.[33]
در این مقاله الگوریتم پیشنهادی قابلیت توسعه در هر یک از فازهای آن، به صورت مجزا و عدم وابستگی به مرحله ی قبل را دارد. همچنین در این روش با توجه به بار محاسباتی زیاد پس از اعمال فیلتر گابور از تصاویر بدست آمده، میان گیری میشود و سپس تبدیل PCA اعمال میگردد.روش ﻫﺎیﻣﺒﺘﻨﯽﺑﺮﻟﻐﺖ ﻧﺎﻣﻪ:
روش ﻫﺎی ﻣﺒﺘﻨﯽ ﺑﺮ ﻟﻐﺖ ﻧﺎﻣﻪ از ﻗﺪﯾﻤﯽ ﺗﺮﯾﻦ روش ﻫﺎ در دﺳﺘﻪ ﺑﻨﺪی ﺗﺼﻮﯾﺮ ﻫﺴﺘﻨﺪﮐﻪ ﻫﻨﻮز ﻫﻢ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮﻧﺪ[34]. اﯾﺪه اوﻟﯿﻪ اﯾﻦ روش ﻫﺎ از ﺗﺤﻘﯿﻘﺎت ﭘﺮدازش ﻣﺘﻦ ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ. درﭘﺮدازش ﻣﺘﻦ، ﯾﮏﻟﻐﺖ ﻧﺎﻣﻪ دارﯾﻢ و ﯾﮏ ﻣﺘﻦ و ﻣﯽ ﺧﻮاﻫﯿﻢ ﻣﺘﻦ را دﺳﺘﻪ ﺑﻨﺪیﮐﻨﯿﻢ. اﮔﺮ ﻓﺮﮐﺎﻧﺲ ﻟﻐﺎت داﺧﻞ ﻣﺘﻦ را ﻣﺤﺎﺳﺒﻪ ﮐﻨﯿﻢ، ﻣﯽ ﺑﯿﻨﯿﻢ ﮐﻪ ﻟﻐﺎت ﭘﺮﺗﮑﺮار در ﻣﺘﻮن ﯾﮏ دﺳﺘﻪ ی ﺧﺎص ﻣﺸﺘﺮک ﻫﺴﺘﻨﺪ. اﯾﻦ ﻣﺸﺎﻫﺪه ﺑﺎﻋﺚ ﺷﺪ ﮐﻪ روش ﻫﺎی ﻣﺒﺘﻨﯽ ﺑﺮﻟﻐﺖ ﻧﺎﻣﻪ ﺑﺮای دﺳﺘﻪ ﺑﻨﺪیﻣﺘﻦ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﺑﮕﯿﺮﻧﺪ.
حال ﻫﻤﯿﻦﻣﺸﺎﻫﺪات درﻣﻮرد ﺗﺼﺎوﯾﺮ ﻧﯿﺰ ﺑﺮﻗﺮار اﺳﺖ. ﺑﺮای ﻣﺜﺎل ﻓﺮض ﮐﻨﯿﻢ ﮐﻪ ﻟﻐﺎت را در ﺗﺼﺎوﯾﺮ ﺑﻪ ﺻﻮرت ﺗﮑﻪ ای از ﺗﺼﻮﯾﺮ ﺗﻌﺮﯾﻒ ﮐﻨﯿﻢ. ﺣﺎل اﮔﺮ ﻟﻐﺖ ﻣﻌﺎدل دﻫﺎن، ﭼﺸﻢ و ﺑﯿﻨﯽ را در ﺗﺼﻮﯾﺮی ﻣﺸﺎﻫﺪه ﮐﻨﯿﻢ ﻣﯽ ﺗﻮاﻧﯿﻢ ﻧﺘﯿﺠﻪ ﺑﮕﯿﺮﯾﻢ ﮐﻪﺑﻪ اﺣﺘﻤﺎل زﯾﺎد ﺗﺼﻮﯾﺮ ﻣﺮﺑﻮط ﺑﻪ ﯾﮏ ﭼﻬﺮه اﺳﺖ. ﮐﻠﯿﺖ اﯾﻦ روش ﺑﺮ ﭘﺎﯾﻪ ی دﺳﺘﻪ ﺑﻨﺪی در ﯾﺎدﮔﯿﺮی ﻣﺎﺷﯿﻦ اﺳﺖ. ﺑﺪﯾﻦ ﺻﻮرت ﮐﻪ ﺗﻌﺪادی ﺗﺼﻮﯾﺮ آﻣﻮزﺷﯽ و دﺳﺘﻪ ﻫﺎی آن ﻫﺎ رادراﺧﺘﯿﺎر داریم. ابتدا یک مدل دسته بند مثل SVM را انتخاب میکنیم و با داده های آموزشی مدل را آموزش میدهیم. بعد برای داده های آموزشی با استفاده از مدل برچسب میزنیم. برای استفاده از این چارچوب دسته بندی باید نمایش برداری مناسبی از تصاویر داشته باشیم که در آموزش و آزمایش طول یکسانی داشته باشند. این نمایش برداری توسط مرحله کدینگ بدست می آید.
روش دسته بندی ریزدانه ای تصاویر:
همانطور که مشخص است روش مبتنی بر لغت نامه بیشترین ابهام را در دسته هایی دارد که به یکدیگر از نظر ظاهری و معنایی نزدیک هستند. برای نمونه در شکل زیر میان پرندگان ابهام زیادی وجود دارد.
در سال های اخیر روش های مختلفی برای حل مسئله دسته بندی ریزدانه ای تصاویر مطرح شده است که دسته بندی آنها سخت است ولی چند محور میان آنها مشترک است:
1) پیدا کردن اجزای مهم به صورت خودکار: روش های [35, 36. 37. 38] سعی میکنند به صورت خودکار بخشی از تصویر را پیدا کنند که قابلیت تمایز بالایی دارند. بهترین نتیجه ای که این روش ها میگیرند[38] برابر 56.8 درصد است و نکته جالب این است که اگر از اجزای داده شده اصلی استفاده کند دقت روش به 73.3 درصد افزایش می یابد.
2)انتقال اطلاعات از داده های آزمایشی به داده های آموزشی: مقالات [40,39] بر اساس مقاله [41] سعی بر این کار دارند و نتایج قابل توجهی را بدست آورده اند.
فرض این روش ها این است که در صورتی که برای داده ی آزمایشی ، از بین داده های آموزشی موردی پیدا کنیم که از نظر شکل به داده ی آزمایشی شبیه باشند، میتوان اطلاعات اجزا را از آن داده های آموزشی به داده های آزمایشی انتقال داد تخمینی از مکان اجزا بدست آورد. با این تخمین ویژگی های کیسه ای از لغات را برای هر کدام از اجزا بدست می آورد، سپس دسته بندی را با یان ویژگی ها انجام میدهد.
این روش [39] به دقت میانگین 62.7 درصد و روش [40] به دقت میانگین 57.84 درصد دست می یابد.
3) یادگیری عمیق: روش های یادگیری عمیق بخاطر قابلیت های بالایشان در یادگیری ویژگی سریعا برای دسته بندی ریزدانه ای نیز مورد استفاده قرار گرفتند[44,43,42] . این روش ها حتی اگر ویژگی ها بر روی پایگاه داده دیگری به جز آنچه بر روی آن آزمایش انجام میدهیم نیز آموزش داده شوند، باز نتایج بسیار خوبی را بدست می آورند.
دیگر پروژه ها:
+ پروژه ی تشخیص احساس از چهره با استخراج ویژگی های صورت در نرم افزار متلب
روشی که در این پروژه مورد استفاده قرار گرفته است، ویژگی ترکیبی را استخراج و تشخیص چهره را با بهره گیری از تکنیک های آشکارساز چهره ویولا و جونز (Viola-Jones)، تجزیه و تحلیل تشخیص خطی (LDA)، استخراج ویژگی های صورت از تصاویر با استفاده از تجزیه و تحلیل مولفه های اصلی (PCA) ، ﻫﯿﺴﺘﻮﮔﺮام ﮔﺮادﯾﺎن ﺷﯿﺐ ﮔﺮا (HOG) استخراج ویژگی وماشین بردار پشتیبان (SVM) برای آموزش یک پیش بینی چند کلاسه برای طبقه بندی هفت حالت از چهره انسانی می باشد.
+ پروژه ی Amazon Rekognition
این سیستم یکی از بخش های پروژه ی یادگیری عمیق آمازون است که به تازگی توسط این شرکت برای توسعه دهندگان معرفی شده است. این سیستم تقریبا مثل سایر سیستم های مشابه تشخیص عکس کار می کند، به این صورت که چهره انسان ها را تشخیص می دهد، احساسات آن را مشخص می کند و اشیاء را با توجه به شکل آنها نامگذاری می کند. در حقیقت این سیستم به قدری هوشمند شده که نه تنها حضور یک سگ در تصویر را تشخیص می دهد، بلکه می تواند نوع و نژاد سگ را نیز به طور دقیق مشخص کند.
+ تشخیص حالت چهره از روی تصاویر ثابت و متحرک با روشهای هوشمند
طرح مذکور در سیستمهای امنیتی و روبوتهای دارای احساس کاربرد دارد. به این ترتیب که به کارگیری آن در این دسته از روبوتها سبب میشود تا روبوت دارای احساس هر نوع احساس یا تغییر حالت چهره در طرف مقابل را تشخیص داده و به همان ترتیب عکسالعمل مناسب را نشان دهد. همچنین در ساخت پویانمایی (کارتون) و در بخش مخابرات به هنگام استفاده از سامانه ویدئو کنفرانس برای دو بخش گیرنده و فرستنده این سامانه کاربرد دارد. در این حالت از مدل سنتز سه بعدی چهره استفاده و به جای ارسال تصاویر چهره کدهای حالت چهره ارسال شده و باعث کاهش نرخ بیت ارسال در تصویر میگردد. در ساخت پویانمایی نیز حرکات چهره شخص مقابل دوربین بطور خود کاربه شخصیت کارتونی انتقال پیدا میکند که در نتیجه باعث واقعیتر جلوه کردن حالتهای چهره و حرکات لب متناسب با گفتار ادا شده، میگردد.
۴. آزمایش ها
در یادگیری عمیق، ما روش های مختلفی داریم یکی از آن روش ها استفاده از شبکه های عصبی کانولوشنی است. لایه های کانولوشنی یا اصطلاحا convolutional layers در پیدا کردن ویژگی های موجود در تصاویر بسیار خوب عمل می کنند و اگر تعدادی از این لایه ها را پشت سر هم قرار بدهیم بطور حیرت آوری یه سلسله مراتب از ویژگی های غیر خطی رو یاد می گیرند. یعنی در لایه های ابتدایی مثلا گوشه ها و خط ها و لبه ها یادگرفته می شوند و سپس به ترتیب ویژگی های سطح بالاتر یادگرفته میشوند. مثلا اگر تصویر ورودی ما تصویر یک صورت باشد ویژگی هایی مثل بینی, چشم ها, گونه ها و صورت در لایه های بعدی (بالاتر) یاد گرفته میشوند. در آخر هم لایه های نهایی از این ویژگی های تولید شده برای دسته بندی و یا رگرسیون استفاده میکنند.
همانطور که در تصویر بالا میبنید ویژگی های سلسله مراتبی یادگرفته شده از یک الگوریتم یادگیری عمیق به خوبی مشخص است. هر کدام از این ویژگی ها رو میتوان به عنوان یک فیلتر در نظر گرفت که تصویر ورودی را برای آن ویژگی (مثلا بینی) فیلتر میکند. اگر یک ویژگی پیدا بشود, واحد یا واحدهای مسئول
(منظور واحدهای پردازشی ست (مثل نورون ها در شبکه عصبی) فعال سازی های بزرگی را تولید میکنند که مراحل دسته بندی بعدی میتوانند این فعالسازی ها رو دریافت کنند و بعد از آن به عنوان یک نشانه خوب از حضور یک کلاس استفاده کنند. در یادگیری ویژگی سلسله مراتبی ما ویژگی های غیرخطی چندین لایه رو استخراج میکنیم و بعد آنها را به یک کلاسیفایر (دسته بندی کننده) پاس میدهیم که تمامی این ویژگی ها رو با هم ترکیب میکند تا بتواند پیش بینی ای رو انجام بدهد. هرچقدر این سلسله مراتب لایه ها بیشتر (عمیقتر) باشد در نتیجه ویژگی های غیرخطی بیشتری هم بدست می آید، برای همین خاطر است که ما علاقه داریم از تعداد لایه های بیشتری در یادگیری عمیق استفاده کنیم. از طرف دیگر این ویژگی های پیچیده را ما نمی توانیم بصورت مستقیم از تصویر ورودی بدست بیاوریم.
میشود از لحاظ ریاضی نشان داد که بهترین ویژگی هایی که میشود از یک تصویر با استفاده از یک لایه (بدون سلسله مراتب) بدست آورد فقط لبه ها و توده ها edge) ها و blob ها) هستند. دلیل این موضوع نیز این است که این ها نهایت اطلاعاتی است که ما میتوانیم از یک تبدیل غیرخطی از تصویر ورودی بدست بیاوریم. برای بدست آوردن و یا تولید ویژگی هایی که شامل اطلاعات بیشتری هستند ما نمیتوانیم بصورت مستقیم روی تصویر ورودی کار کنیم و لازمه اینکار این است که ویژگی های اولیه خودمان را (مثل لبه ها و توده ها) دوباره تبدیل کنیم تا ویژگی های پیچیده تری که شامل اطلاعات بیشتری برای تمایز بین کلاس ها مورد نیاز است بدست بیاید.
۵. مراجع
[1] Dilip K Prasad,"Survey of The Problem of Object
Detection In Real Images", International Journal of Image Processing
(IJIP), Volume (6) , Issue (6) , 2012
[2] A. Opelt, A. Pinz, and A. Zisserman, "Learning an
alphabet of shape and appearance for multi-class object detection,"
International Journal of Computer Vision, vol. 80, pp. 16-44,2008.
[3] Z. Si, H. Gong, Y. N. Wu, and S. C. Zhu, "Learning
mixed templates for object recognition,"in Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition,2009, pp. 272-279
[4] J. Shotton, A. Blake, and R. Cipolla, "Multiscale
categorical object recognition using contour fragments," IEEE Transactions
on Pattern Analysis and Machine Intelligence, vol. 30, pp. 1270-1281, 2008.
[5] O. C. Hamsici and A. M. Martinez, "Rotation invariant
kernels and their application to shape analysis," IEEE Transactions on
Pattern Analysis and Machine Intelligence, vol. 31, pp.1985-1999, 2009.
[6] N. Alajlan, M. S. Kamel, and G. H. Freeman,"Geometry-based image retrieval in binary image databases," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol.30, pp.
1003-1013, 2008.
[7] K. Schindler and D. Suter, "Object detection by global
contour shape," Pattern Recognition,vol. 41, pp. 3736-3748, 2008.
[8] V. Ferrari, L. Fevrier, F. Jurie, and C. Schmid,"Groups of adjacent contour segments for object detection," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 30,pp. 36-51,
2008.
[9] X. Ren, C. C. Fowlkes, and J. Malik, "Learning
probabilistic models for contour completion in natural images,"
International Journal of Computer Vision, vol. 77, pp. 47-63, 2008.
[10] Y. Freund, "Boosting a Weak Learning Algorithm by
Majority," Information and Computation, vol. 121, pp. 256-285, 1995.
[11] L. Szumilas and H. Wildenauer, "Spatial configuration
of local shape features for discriminative object detection," in Lecture
Notes in Computer Science vol. 5875, ed, 2009,pp. 22-33.
[12] Y. Amit, D. Geman, and X. Fan, "A coarse-to-fine
strategy for multiclass shape detection," IEEE Transactions on Pattern
Analysis and Machine Intelligence, vol. 26, pp. 1606-1621,2004.
[13] A. Y. S. Chia, S. Rahardja, D. Rajan, and M. K. H. Leung,"Structural descriptors forcategory level object detection," IEEE
Transactions on Multimedia, vol. 11, pp. 1407-1421,2009.
[14] Y. Chi and M. K. H. Leung, "Part-based object
retrieval in cluttered environment," IEEE Transactions on Pattern Analysis
and Machine Intelligence, vol. 29, pp. 890-895, May2007.
[15] H. P. Moravec, "Rover visual obstacle avoidance," in Proceedings of the International Joint
Conference on Artificial Intelligence, Vancouver, CANADA, 1981, pp. 785-790
[16] C. Harris and M. Stephens, "A combined corner and edge detector," presented at the AlveyVision
Conference, 1988.
[17] M. Varma and A. Zisserman, "A statistical approach to material classification using image patch
exemplars," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.31, pp. 2032-2047, 2009.
[18] P. M. Roth, S. Sternig, H. Grabner, and H. Bischof, "Classifier grids for robust adaptive object
detection," in Proceedings of the IEEE Computer Vision and Pattern Recognition,Miami, FL, 2009, pp.
2727-2734.
[19] D. G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of
Computer Vision, vol. 60, pp. 91-110, 2004.
[20] Y. Chen, L. Zhu, A. Yuille, and H. J. Zhang, "Unsupervised learning of probabilistic object models
(POMs) for object classification, segmentation, and recognition using knowledge propagation," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 31, pp.1747-1774, 2009.
[21] http://beta.khi.ac.ir/Research_Portal/8thSASTech/Computer/Com144-.pdf
[24] http://idochp2.irandoc.ac.ir/FulltextManager/fulltext15/th/183/183969.pdf
[25] http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf
[26] http://idochp2.irandoc.ac.ir/FulltextManager/fulltext15/th/199/199857.pdf
[27]D.H. Ballard,
Generalizing the hough transform to detect arbitrary shapes. Pattern
Recognition, 1981.
[28]J. Canny, A Computational Approach to Edge Detection.
Pattern Analysis and Machine Intelligence ,IEEE Transcations, 1986.
[29]A.V. Oppenheim,R.W. Shafer, J.R. Buck, Discrete-Time
Signal Processing. Premtic-Hall, New Jersey,1998.
[30]L.Bourdev, S.Maji, J.Malik,"
Describing People: Poselet-Based Approach to Attribute Classification",
ICCV 2011.
[31]S.Changpinyo,E.B.
Sudderth,"Learning Image Attributes using the Indian Buffet
Process."BS. thesis,2012
[32]https://www.cs.cmu.edu/~elaw/papers/pca.pdf
[33] تشخیص چهره با استفاده از PCA و فیلتر گابور.حمید رضا قجر,محسن سریانی,عباس کوچاری.
[34]G.Csurka,C.Dance,L.Fan,J.Willamowski,andC.Bray,“Visualcategorizationwithbagsofkeypoints,”inWorkshoponstatistical
learningincomputervision,ECCV,2004
[35]B.Yao,A.Khosla,andL.Fei-Fei,“Combiningrandomizationanddiscriminationforfine-grainedimagecategorization,”inCVPR, 2011.
[36]B.Yao,G.Bradski,andL.Fei-Fei,“Acodebook-freeandannotation-freeapproachforfine-grainedimagecategorization,”inCVPR, 2012.
[37]Y.J.Lee,A.A.Efros,andM.Hebert,“Style-awaremid-levelrepresentationfordiscoveringvisualconnectionsinspaceandtime,” inICCV,2013.
[38]T.BergandP.N.Belhumeur,“Poof: Part-basedone-vs.-onefeaturesforfine-grainedcategorization,faceverification,andattribute estimation,”inCVPR,2013.
[39]E. Gavves, B. Fernando, C. G. Snoek, A. W. Smeulders, and T. Tuytelaars, “Fine-grained categorization by alignments,” in ICCV, 2013.
[40]C.Goring, E.Rodner,A.Freytag, andJ.Denzler,“Nonparametricparttransferforfine-grainedrecognition,” inProceedingsofthe IEEEConferenceonComputerVisionandPatternRecognition(CVPR),2014.
[41]T. Malisiewicz, A. Gupta, and A. A. Efros, “Ensemble of exemplar-svms for object detection and beyond,” in Proceedings of the IEEEInternationalConferenceonComputerVision(ICCV),2011.
[42]A.S.Razavian,H.Azizpour,J.Sullivan,andS.Carlsson,“Cnnfeaturesoff-the-shelf: anastoundingbaselineforrecognition,”arXiv preprintarXiv:1403.6382,2014.
[43]J. Krause, T. Gebru, J. Deng, L.-J. Li, and L. Fei-Fei, “Learning features and parts for fine-grained recognition,” in International ConferenceonPatternRecognition,Stockholm,Sweden,August2014.
[44]N. Zhang, J. Donahue, R. Girshick, and T. Darrell, “Part-based r-cnns for fine-grained category detection,” in Proceedings of the EuropeanConferenceonComputerVision. Springer,2014.