یادگیری ماشین

YOLOR در مقابل YOLOX: نبرد اعجوبه‌های کشف شی

تشخیص اشیا یکی از وظایف اساسی بینایی کامپیوتر است. اگرچه اغلب با تشخیص تصویر اشتباه گرفته می شود، به بیان ساده، تکنیک‌های تشخیص شی، ناحیه‌ای از تصویر را که شامل شیء است با یک کادر محدود مشخص می‌کنند. این توانایی برای تشخیص منطقه مورد علاقه (ROI)،اساس بسیاری از کارهای پایین دستی، به عنوان مثال، ردیابی شی، تقسیم بندی تصویر، تشخیص نقطه عطف، و موارد دیگر قرار گرفته است. این بدان معناست که همه چیز از تشخیص متن گرفته تا ردیابی عابر پیاده در خودروهای خودران از تشخیص اشیا، در پشت صحنه استفاده می کند.

دو پارادایم گسترده از تکنیک های تشخیص شی وجود دارد – آشکارسازهای تک مرحله ای و آشکارسازهای دو مرحله ای. مدل‌های دو مرحله‌ای مانند R-CNN، یک شبکه پیشنهادی منطقه‌ای مرحله اولیه (RPN) دارند که تنها مسئول یافتن مناطق کاندید در تصاویر به همراه یک جعبه مرزی تقریبی برای آن است. شبکه مرحله دوم از ویژگی های محلی پیشنهاد شده توسط RPN برای تعیین کلاس و ایجاد یک جعبه مرزی دقیق تر استفاده می کند. تفکیک مسئولیت به شبکه مرحله دوم اجازه می دهد تا بر یادگیری ویژگی های جدا شده از مناطق مورد علاقه که توسط RPN پیشنهاد شده تمرکز کند و بنابراین منجر به بهبود عملکرد می شود.

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

در سال‌های اخیر، مدل‌های تشخیص تک مرحله‌ای جدید عملکرد بهتری نسبت به مدل‌های دو مرحله‌ای خود داشته‌اند. نگاهی بیندازیم به دو مورد از جدیدترین گونه های YOLO که امسال معرفی شدند – YOLOR و YOLOX.

YOLOR

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

YOLOR (You Only Learn One Representation) یک شبکه یکپارچه است که دانش ضمنی و دانش صریح را ادغام می کند که یک شبکه دانش ضمنی را با تمام وظایف موجود در مجموعه داده COCO برای یادگیری یک نمایش کلی، یعنی دانش ضمنی، از قبل آموزش می دهد. برای بهینه سازی برای کارهای خاص، YOLOR مجموعه دیگری از پارامترها را آموزش می دهد که دانش صریح را نشان می دهد. هم از دانش ضمنی و هم دانش صریح برای استنتاج استفاده می شود.

YOLOX

همانطور که قبلا ذکر شد مدل های YOLO تصویر را می گیرند و شبکه ای از مربع های کوچک مختلف را ترسیم می کنند. و سپس از این مربع‌های کوچک، از مربع خارج می‌شوند تا افستی را که باید جعبه مرزی را پیش‌بینی کنند، پیش‌بینی کنند. این سلول های شبکه به تنهایی ده ها هزار جعبه ممکن را به ما می دهند، اما مدل های YOLO دارای جعبه های لنگر در بالای شبکه هستند. جعبه های لنگر دارای نسبت های متفاوتی هستند که به مدل اجازه می دهد اشیاء با اندازه های مختلف را در جهت های مختلف تشخیص دهد. به عنوان مثال، اگر در یک مجموعه داده کوسه و زرافه دارید، برای زرافه ها به جعبه های لنگر لاغر و بلند و برای کوسه ها به لنگر باکس های پهن و مسطح نیاز دارید. اگرچه ترکیب، این دو مدل را قادر می‌سازد تا طیف وسیعی از اشیاء را شناسایی کند، اما باعث افزایش هزینه محاسبات و سرعت استنتاج نیز می شود.

YOLOX لنگرهای جعبه را به طور کلی حذف می کند، این منجر به بهبود هزینه محاسبات و سرعت استنتاج می شود. YOLOX همچنین سر تشخیص YOLO را برای رگرسیون مختصات جعبه و طبقه‌بندی شی به کانال‌های ویژگی جداگانه جدا می‌کند. این منجر به بهبود سرعت همگرایی و دقت مدل می شود.

YOLOR vs YOLOX

علیرغم ارائه عملکرد و افزایش سرعت قابل توجه برای انواع پیشرفته YOLO موجود، YOLOX از نظر دقت / mAP بسیار کمتر از YOLOR است. با این حال، YOLOX از نظر ارائه مدل‌های بهتر به دستگاه‌های لبه‌ای، نوید بخش بوده است. حتی با مدل‌های کوچک‌تر، YOLOX-Tiny و YOLOX-Nano عملکرد قابل توجهی از همتایان خود – YOLOv4-Tiny و NanoDet دارند و به ترتیب 10.1% و 1.8% افزایش می‌دهند.

در جدول امتیازات تشخیص شی برای مجموعه داده COCO، تنها نوع YOLO که به YOLOR نزدیک است Scaled-YOLOv4 است و YOLOR 88٪ سریعتر از آن است! علاوه بر بهبود عملکرد در وظایف تشخیص اشیا، شبکه یکپارچه YOLOR برای یادگیری چند کار بسیار موثر است. این بدان معنی است که دانش ضمنی آموخته شده توسط مدل می تواند برای انجام طیف گسترده ای از وظایف فراتر از تشخیص اشیا مانند تشخیص نقطه کلید، شرح تصویر، تخمین وضعیت و بسیاری موارد دیگر مورد استفاده قرار گیرد. علاوه بر این، YOLOR را می توان به یادگیری چند وجهی مانند CLIP تعمیم داد، و آن را قادر می سازد پایگاه دانش ضمنی خود را حتی بیشتر گسترش دهد و از اشکال دیگر داده ها مانند متن و صدا استفاده کند.

در نظرات به ما اطلاع دهید که از کدام مدل YOLO برای پروژه خود استفاده می کنید؟

امیرحسین باقری

امیرحسین باقری هستم عاشق برنامه نویسی مخصوصا با python و همینطور طراح قالب و متخصص فرانت اند؛ از دانشی که تو این مدت بدست آوردم میشه به HTML, CSS, Bootstrap, Flexbox, SASS, Python, Django, DRF و هوش مصنوعی اشاره کرد.

دیدگاهتان را بنویسید

دکمه بازگشت به بالا