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

با تشکر

دسته بندی ها

0 امتیاز

از قبل می‌دانیم که معماری VGG16 یک تصویر با ابعاد 3در224در224 را به عنوان ورودی دریافت می‌کند و در آخرین feature map با ابعاد 512در14در14 روبرو هستیم
حالا سوال این هست که rpn که یک شبکه با ورودی 512در3در3 هست روی همین 14در14 لغزانده می‌شود یعنی هر پنجره فضایی در حدود 48در48 پیکسل را اسکن می‌کنه؟(در مقاله اندازه‌ی آخرین feature map را 40در60 عنوان کرده؟چجوری؟

سوال دوم در مورد anchor هست که تا جایی که من متوجه شدم مستقیم از روی تصویر انتخاب می‌شوند و تنها آن پنجره‌ی 3 در 3 یک میدان دید (که معمولا هم ناقص هست) برای اون anchor به حساب میاد. آیا درکم درسته؟

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

1 پاسخ

+2 امتیاز

سلام
ابعاد 224x224 که گفتید ابعاد استاندارده که برای ImageNet معمولا استفاده می شه و در صورتی که از این سایز ورودی استفاده کنید، اندازه featuremap ها اون آخر چیزی می شه که گفتید
اما توی بحث object detection، معمولا تصویرهای ورودی بزرگتر در نظر گرفته میشه، به عنوان نمونه توی همین مقاله Faster RCNN، شبکه های روی تصاویری آموزش داده میشن که مینیمم طول و عرض، 600 باشه(قسمت 3.3)
توی این حالت featuremap ها هم بزرگتر میشن که دوباره توی مقاله اشاره کرده(قسمت 3.1) که با در نظر گرفتن پنجره های 3x3 روی featuremap، اگه شبکه پایه، VGG باشه، ابعاد receptive field برابر 228 میشه
تازه این فقط یک روشه. شما مثلا اگه از شبکه های پایه دیگه استفاده کنید یا به جای لایه آخر از لایه های دیگه به عنوان feature استفاده کنید می تونید این ابعاد رو تغییر بدید به راحتی

در مورد anchor هم توی ایده faster rcnn اگه اشتباه نکنم برای هر نقطه روی feature map اومدن k تا anchor انتخاب کردن (که اینجا 9 تاس).
توی ایده قبلی می یومدن می گفتن کلا چندتا پنجره با ابعاد رندوم و جاهای مختلف می گیریم روی تصویر (مثلا بر اساس الگوریتم selective search) و بعد نگاشت می کردن روی feature map و و از اون قسمت feature ها استفاده میکردن برای طبقه بندی شی ای که توی اون پنجره هست
اگه چون می خواستن همه چیز end to end باشه گفتن ما فرض می کنیم شی هایی که توی تصویر داریم حداکثر مثلا k تا ابعاد مختلف ممکنه داشته باشن و این چیزیه که به عنوان anchor مطرح شده. همونطورم که گفتم دیگه روی تصویر اصلی در نظر گرفته نمیشه و روی feature map در نظر میگیرن و اون ابعاد 3x3 روی featuremap، خیلی فضای بزرگی رو روی تصویر اصلی پوشش میده. اما تهش به قول شما اون ابعاد یه جور میدان دید حساب میشه اما به طور معمول به اندازه کافی بزرگ هست و برعکس چیزی که به نظر میاد، بیشتر مشکل توی اینه که چطوری اشیا کوچیک رو توی تصویر تشخیص بدیم تا اینکه نگران این باشیم که میدان دید به اندازه کافی بزرگ نباشه

چندتا پست خوب در این رابطه هست که دقیقتر این موضوعات رو شرح دادن :

Understanding Deep Learning for Object Detection

http://zoey4ai.com/2018/05/12/deep-learning-object-detection

Review of Deep Learning Algorithms for Object Detection

https://medium.com/comet-app/review-of-deep-learning-algorithms-for-object-detection-c1f3d437b852

Faster R-CNN Explained

https://medium.com/@smallfishbigsea/faster-r-cnn-explained-864d4fb7e3f8

توسط (1.6k امتیاز)
معمولا یک تصویر با اندازه بزرگ به دو روش به یک شبکه‌ی کانولوشنالی مثل VGG16 داده میشود
1. یا برابر اندازه ورودی شبکه تغییر اندازه می‌شود
2. یا تصویر برش می‌خورد و در چند مرحله به شبکه داده می‌شود
در هیچکدام از دو حالت فوق اندازه‌ی خروجی شبکه فرقی نمی‌کند و بازم در لایه‌ی آخر (البته به استثناء اون dropout آخر) به اندازه‌ی 14در14 می‌رسیم. چجوری اندازه بزرگتر میشه؟
...