به بخش پرسش و پاسخ یادگیری عمیق خوش آمدید,
این نسخه آزمایشی سایت است.
لطفا به نکات زیر توجه کنید:
  • برای ارتباط با مدیران میتوانید از صفحه مدیران اقدام کنید.
  • سوال و جواب ها باید به زبان فارسی باشند. استفاده از زبان انگلیسی یا فینگلیش برای پاسخ دادن مجاز نیست.
  • لطفا بعد از پرسش سوال لینک سوال خود را در گرو تلگرام (Iran Deep Learning Group) معرفی کنید تا سریعتر به جواب برسید. برای دسترسی به آخرین لینک از منابع یادگیری استفاده کنید
  • لطفا بجای عکس از متن استفاده کنید. اگر متون طولانی هستند از سایت pastebin.com برای اپلود استفاده کرده و لینک حاصل را در سوال خود قرار دهید. برای قرار دادن تصویر ، از بخش ارسال تصویر ادیتور سایت استفاده کنید.
  • بعد از دریافت پاسخ، بهترین پاسخ را از طریق کلیک بر روی علامت تیک انتخاب کنید
  • اگر با خطا و یا مشکلی مواجه شدید از بخش تماس با ما در انتهای صفحه و یا ایمیل Coderx7@gmail.com موضوع را اطلاع دهید.

با تشکر

دسته بندی ها

0 امتیاز

سلام عرض ادب
دوستان فرضا شما Fast RCNN رو در نظر بگیرید همانطور که object detection از دوتا کامپونت تشکیل شده ، یکی object proposal هست دیگری detector ،
وقتی برای تصویر ورودی فیچرهامپ ها توسط CNN ایجاد شدند حالا توسط Selective search مختصات آبجکت های ممکن در تصویر استخراج میشوند و این مختصات به آخری لایه ی CNN لحاظ میشوند تا این ابجکت ها طبقه بندی شوند . سوالم اینکه اخرین لایه ی کانولوشن که فرضا7 7 256 هست یعنی ما 256 فیچرمپ داریم که سایز هرکدام 7 هست و هر کدام مربوط به یک ابجکتی میشوند یعنی در هر فیچر مپ 7 7 یک آبجکت وجود دارد ؟
سوال دوم : حالا selective search مختصات چند تا ابجت ممکن رو بدست آورد فرضا مختصات (r,c,w,h) یکی از آنها (20,25,9,10) حالا این مختصات در لایه کانالوشن چجوری لحاظ میشود ؟ درسته شبکه کانالوشن اطلاعات مکانی رو حفظ میکند یعنی از روی این فیچرمپ های 7 7 256 همان سایز تصویر ورودی ساخته میشود ؟ بعدش این مختصات selective search به این لحاظ میگردد ؟

توسط (389 امتیاز)
ویرایش شده توسط

1 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام
سوالتون رو کلی جواب می دم و در مورد یه ساختار خاص بحث نمی کنم. به طور عمومی یه سری 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 خوب افزایش میده. مقاله رو بخونید بیشتر اطلاعات دستگیرتون میشه

توسط (1.6k امتیاز)
انتخاب شده توسط
این ROI Align رو میشه برای آبجکت دتکشن بکار برد ؟ نه برای سگمنتیشن
لطفا به این هم پاسخ دهید
http://qa.deeplearning.ir/4186/roi-pooling-vs-roi-align
توی همین ساختار mask rcnn، مرحله roi align قبل از مراحل detection و بقیه سر های شبکس
کلا هدف roi pool یا roi align رسیدن به یه بردار ویژگی با ابعاد ثابته، حالا بعدش چه detection باشه، چه segmentation باشه یا رگرسیون یا هر چیزه دیگه ای
انشالله در اولین فرصت به سوال بعدیتون هم جواب میدم
...