سلام
سوالتون رو کلی جواب می دم و در مورد یه ساختار خاص بحث نمی کنم. به طور عمومی یه سری feature از شبکه cnn برای تصویر به دست میاد. حالا این feature های می تونه از هر کدوم از لایه ها باشه، یا همش باشه یا ....
خلاصه الان فرض می کنیم یه سری feature داریم به ابعاد 256x7x7 که گفتید. به طور عمومی این 256 تا feature map هیچ ربطی به وجود یه سری شی خاص یا کلاس مشخصی ندارن و فقط ویژگیهای مختلف تصویر رو مشخص می کنن
فقط و فقط یه سری ویژگی هستن که از تصویر استخراج کردیم. اینکه توی هر منطقه و توی هر کانال ممکنه چه چیزی باشه که بیانگر وجود یک شی باشه، وظیفه classifier مرحله بعدیه
البته این 7x7 توی ساختارهای معمول اندازه pooling ه و معمولا feature map ها بزرگتر از اینن
در مورد اینکه چه طوری مختصات اصلی در تصویر به مختصات در feature map ها تبدیل میشه که معمولا هم خیلی کوچیکتر از تصویر اصلیه، 2 تا روش پر کاربرد وجود داره.
قبل از اینکه به 2 تا روش برسیم، اینکه چه طوری مثلا یه باکس HxW تبدیل میشه به متناظرش توی feature map ها خیلی سادست معمولا و در حد یه projection خطیه. یعنی میگید این مختصات توی تصویر اصلی x,y بوده، خب الان اندازه feature map ها ، یک بیستم اندازه تصویره، پس مختصات جدید چی میشه؟ هر ایده که توی هندسه و تبدیلات هست رو میشه اینجا استفاده کرد.
مشکل اینجاست که هر ROI اندازه متفاوتی داره اما classifier یه بردار ویژگی ورودی با اندازه ثابت می خواد. برای حل این مشکل همون 2 تا روش که گفتم به طور متداول استفاده میشه.
یکیش ROI Pooling ه که توی ساختارهای RCNN نسخه های fast و faster استفاده میشه.
اینطوری کار می کنه که شما feature map رو به سلولهایی تقسیم می کنید (مثل 5x5) و از هر سلول یه عدد انتخاب می کنید که این عدد می تونه max باشه. با این کار هر ROI ی که به شما بدن، تهش 25 تا عدد از هر کانال استخراج میشه و اندازه ورودی به classifier همیشه ثابته
برای اطلاعات بیشتر این پست خیلی مفیده:
https://blog.deepsense.ai/region-of-interest-pooling-explained
روش بعدی ROI Align ه که توی Mask RCNN معرفی شد تا جایی که یادمه
https://arxiv.org/abs/1703.06870
ایده اینجا هم خیلی سادست. بحثش هم اینه که بحث مختصات مکانی وقتی ROI Pool انجام میدیم خیلی توجه چندانی بهش نمیشه و می تونیم بهش بیشتر توجه کنیم D:
برای همین مختصات جاهایی که می خواد ازش اطلاعات رو استخراج کنه رو با درون یابی بدست میاره. ایده ساده ایه اما به نسبت دقت رو به خصوص برای instance segmentation خوب افزایش میده. مقاله رو بخونید بیشتر اطلاعات دستگیرتون میشه