PyTorch Howsam
3.1K subscribers
348 photos
48 videos
6 files
482 links
از هوش مصنوعی میگیم...

ارتباط با ادمین
@howsam_support
Download Telegram
#object_detection #efficientdet #پیشرفته

شبکه تشخیص اشیای EfficientDet، درحال حاضر یکی از بهترین سیستم‌های تشخیص اشیا هست. در تصویر 1 می‌تونید مشاهده کنید که شبکه‌های خانواده EfficientDet (D0-D7) نسبت به سایر روش‌ها چقدر بهتر هستند.

بلوک دیاگرام کلی EfficientDet رو در تصویر 2 می‌تونید ببینید. یک شبکه Backbone و بعدش یک لایه به‌نام BiFPN چندبار پشت هم تکرار شده. با استفاده از این لایه، ویژگی‌های لایه‌های مختلف شبکه backbone باهم ترکیب شدند. این لایه BiFPN یکی از مهم‌ترین ایده‌های مقاله هست.

در واقع لایه BiFPN بهبودیافته همون FPN هست. امروزه در بسیاری از مقالات، از FPN استفاده میشه و خب واقعا تکنیک کارآمدی برای ترکیب ویژگی‌هاست. در تصویر 3 مورد a، تکنیک FPN نشون داده شده. اما در اینجا، تکنیک BiFPN ارائه شده که در واقع یک مسیر رفت و برگشت داره... تصویر 3 مورد d. لایه BiFPN کمی شبیه به شبکه‌های بازگشتی دوطرفه شده. موافقید؟!

لینک مقاله EfficientDet:
https://arxiv.org/abs/1911.09070

کد پایتورچ EfficientDet:
https://github.com/zylo117/Yet-Another-EfficientDet-Pytorch/blob/master/readme.md

@pytorch_howsam
#object_detection #yolov4

در مقاله YOLOv4 بلوک دیاگرامی اومده که به‌صورت جامع بخش‌های مختلف سیستم‌های تشخیص اشیا رو به تصویر کشیده.

با توجه به تصویر بالا، بخش‌های کلی سیستم تشخیص اشیا شامل موارد زیر هست:
* ورودی (Input)
* شبکه بدنه یا بیس (Backbone)
* گردن (Neck)!
* سر (Head)

بخش Input که شامل تصویر یا هرم تصویر یا پچ هست.

بخش Backbone که شامل شبکه‌های کانولوشنی معروف مانند رزنت، دارک‌نت هست.

بخش Neck که ممکن هست شامل دو زیربخش تجمیع ویژگی‌ها (مثل FPN) و بلوک‌های افزایش Receptive Field باشه. این بخش Neck در اکثر کارهای دیتکشن دیده میشه. اتفاقا در EffiecientDet دیدیم که یکی از ایده‌های مهم‌شون در همین بود. لینک پست EfficientDet:
https://t.iss.one/pytorch_howsam/44

بخش بعدی head هست که معمولا برای روش‌های تشخیص اشیای دو مرحله‌ای (Sparse Prediction) و یک مرحله‌ای (Dense Prediction) متفاوت هست. مثلا، یولو از جمله روش‌های تک مرحله‌ای هست که یک head بنام yolo layer داره. اما در نوشته‌های زیر شکل می‌تونید ببینید که headهای مختلفی تا الان طراحی شده.

در پست بعدی، کمی درباره YOLOV4 صحبت می‌کنیم.

@pytorch_howsam
#object_detection #faster_rcnn

اگر به پیاده‌سازی مرحله‌ به مرحله شبکه تشخیص اشیای Faster-RCNN با پایتورچ علاقه دارید، مقاله زیر در مدیوم رو از دست ندید.

از ویژگی‌های شاخص این مقاله اینه که مولف تئوری و کدنویسی رو گام به گام همراه با تصاویر توضیح میده. تصاویری که ایده خود مولف هست و صرفا یک کپی از مقالات و منابع دیگه نیست. مثلا تصویر پیوستی رو ببینید؛ بسیار زیبا Anchor center و Anchor box رو به تصویر کشیده. اتفاقا یکی از بهترین بخش‌های این مقاله، توضیحات مربوط به Anchor هست.

البته، مطالعه این مقاله زمان‌بره و با یک بار مطالعه نمیشه مسلط شد.

لینک مقاله

@pytorch_howsam
#YOLO #object_detection

تصویر پیوستی بالا: نظر یکی از کاربران درباره پست سیستم تشخیص اشیای YOLO (لینک پست الگوریتم YOLO)

علاوه‌بر ابراز رضایت، پیشنهادهای خوبی هم مطرح کردند.

نگارش این نوع پست‌های آموزشی پیشرفته که خیلی هم زمانبره، ادامه داره... درحال حاضر نویسنده این پست (سیدسجاد اشرفی) درحال نگارش پست شبکه موبایل‌نت هستند.

@pytorch_howsam

#object_detection #Detectron2 #mmdetection

قبلا در این پست، فریمورک Object Detection از فیسبوک به‌نام Detectron2 رو معرفی کرده بودیم.

اما یک فریمورک معروف دیگه برای Object Detection وجود داره که اسمش mmdetection هست. الگوریتم‌های مختلفی از Object Detection رو داره و داکیومنت هم داره. دو فریمورک mmdetection و Detectron2 میتونن مکمل هم باشن و خیلی از الگوریتم‌های خوب رو پوشش میدن. لینک گیتهاب رو در ادامه گذاشتیم:

لینک

@pytorch_howsam
#object_detection #detr

چند روز قبل، فیسبوک مقاله‌ای در حوزه Object Detection منتشر کرد که حرف جدیدی برای گفتن داشت.

یک سیستم تشخیص اشیای تمام اتوماتیک رو شاهد هستیم! یعنی در این سیستم خبری از NMS یا (Non-max Suppression) نیست.

با استفاده از ترنسفورمرها و شبکه CNN و ساختار Faster-RCNN این کار انجام شده. ترنسفورمرها در اینجا وظیفه انتخاب بهترین باکس از بین باکس‌های موجود رو دارن.

منظور از ترنسفورمر همون چیزی که در NLP و شبکه‌ای مثل برت هست.

Github | Paper | Colab

@pytorch_howsam