محمدحسین گیوکاشی
محمدحسین گیوکاشی
خواندن ۳ دقیقه·۴ سال پیش

بررسی و مرور مقاله ی RCNN

مقاله ی RCNN تلاش کرد مشکل تشخیص اشیا در تصویر را حل کند.


در این مقاله از مفهومی به عنوان Region proposals استفاده شده که به معنی بخش های کوچکی از تصویر هستند که میتوانند شامل اشیایی باشند که دنبال انها هستیم . در این مقاله از الگوریتم selective search برای ایجاد ناحیه های پیشنهادی استفاده شده است .این روش تقریبا 2000 ناحیه متفاوت در تصویر ایجاد می کند و این ناحیه ها تک تک به مدل داده می شوند تا براساس انها پیش بنی نهایی را انجام دهد . این نواحی به مدل CNN داده شده و بردار ویژگی استخراج شده می شود برای استخراج ویژگی در شبکه کانولوشنی از ساختار شبکه AlexNet استفاده شده برای فرایند اموزش شبکه کلی هر یک از بخش ها به صورت مستقل اموزش دیده و در کنار هم قرار گرفته اند و امکان اموزش تمام شبکه به صورت همزمان وجود نداشته به عنوان مثال برای بخش استخراج ویزگی ها شبکه AlexNet به عنوان یک کلاسیفیکیشن اموزش دیده و بعد از ان لایه softmax اخر حذف شده و به جای ان یک لایه fully connected 4096 قرار گرفته و این به این معنا هست که برداز ویژگی ها با ابعاد 4096 دارد. با توجه به اینکه ابعاد ورودی شبکه Alexnet به صورت (227،227،3) در نظر گرفته شده برای دادن نواحی بدست امده به شبکه باید تغییر سایز انجام شود.تا این مرحله بردار ویژگی ها از تصویر استخراج شده و نیازمند کلاسیفای کردن این بردار ها هستیم و میخواهیم تشخیص دهیم کلاس هر شی که توسط بردار ویزگی نشان داده شده چی هست برای این منظور از یک کلاسیفیکیشن SVM استفاده می کنیم. برای یک بردار ویژگی ما به تعداد n خروجی داریم که n تعداد شی های متفاوتی هست که میخواهیم تشخیص دهیم.

به طور خلاصه تا اینجا ما نمایش های مختلف یک عکس را درست کردیم سپس یک بردار ویژگی با استفاده از تصویر ورودی به شبکه ی CNN ساختیم و در اخر هر بردار ویژگی را با استفاده از یک SVM کلاسیفای کردیم .

در حال حاضر ما خروجی به صورت بخش هایی مختلف که کلاسیفای شده اند داریم و باید همه را در یک تصویر واحد مشخص کنیم و از روشی به اسم gready non-maximum suppression استفاده می کنیم . از معیار intersection-over-union(IoU) برای انتخاب ناحیه ای هایی که با هم هم پوشانی دارند استفاده می کنیم بعد از این کار ناحیه هایی با امتیاز بالاتر از 0.5 را نگه میداریم .

برای رسم کادر اطراف شی شناسایی شده از Bunding box Regressor استفاده می کنیم و این قسمت در اخر شبکه قرار دارد در زمان اموزش این قسمت طول و عرض کارد مشخص هست و هدف یادگیری یک تبدیل برای نگاشت باکس P به باکس درست G هست.

مشکلات روش RCNN

  • استخراج ۲۰۰ بخش از هر تصویر با توجه به جستجوی انتخابی
  • استخراج ویژگی با CNN برای هر بخش تصویر
  • کل فرایند توسط سه مدل انجام می شود
    • شبکه CNN برای استخراج ویژگی
    • کلاسیفایر خطی SVM برای شناسایی اشیا
    • مدل رگرسیون برای مشخص سازی محدوده باکس ها

تمام این فرایند ها باعث میشود که RCNN خیلی کند شود. برای هر تصویر جدید این فرایند ۴۰-۵۰ثانیه طول می کشد که برای مجموعه داده های بزرگ (‌دیتاست) این امر فرایند رو دشوار و عملا غیر ممکن می کند.


مراجع:

Rich feature hierarchies for accurate object detection and semantic segmentation

https://arxiv.org/abs/1311.2524


rcnnfast rcnnconv netobject detectionsegmentation
شاید از این پست‌ها خوشتان بیاید