لینک کوتاه مطلب : https://hsgar.com/?p=4093

YOLOv6: نسل بعدی تشخیص اشیا

حوزه بینایی کامپیوتر در سال‌های اخیر به سرعت تکامل یافته است و به نتایجی دست یافته است که چند سال پیش مانند یک داستان علمی تخیلی به نظر می‌رسید. از تجزیه و تحلیل تصاویر اشعه ایکس و تشخیص بیماران گرفته تا خودروهای (نیمه) خودران، شاهد انقلابی در ساخت هستیم. این پیشرفت‌ها دلایل زیادی دارند – ایجاد منابع محاسباتی بهتر و در دسترس‌تر، اما همچنین این واقعیت که آنها نزدیک‌ترین چیزی هستند که ما به علوم داده منبع باز (OSDS) داریم. فاش کردن کد منبع برای جامعه قفل “خرد جمعیت” را باز می کند و نوآوری و حل مسئله را در مقیاس ممکن می سازد.

یکی از محبوب ترین پروژه های سیستم عامل در بینایی کامپیوتر، YOLO (Yشما Oفقط Lخوب Once). YOLO یک الگوریتم تشخیص شی در زمان واقعی کارآمد است که برای اولین بار در Seminal 2015 توضیح داده شد. کاغذ توسط جوزف ردمون و همکاران YOLO یک تصویر را به یک سیستم شبکه ای تقسیم می کند و هر شبکه اشیاء درون خود را تشخیص می دهد. می توان از آن برای استنتاج بلادرنگ استفاده کرد و به منابع محاسباتی بسیار کمی نیاز دارد.

امروز، 7 سال پس از انتشار اولین نسخه YOLO، گروه تحقیقاتی Meituan مدل جدید YOLOv6 را منتشر کرد – و اینجاست تا یک **!

تاریخچه YOLO

تشخیص شی قبل از YOLO

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

معماری تشخیص شی دو مرحله ای

YOLO چگونه کار می کند؟

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

معماری YOLOv1

از آنجا که هر سلول “به تنهایی کار می کند” می تواند شبکه را به طور همزمان پردازش کند و قدرت محاسباتی و زمان مورد نیاز برای آموزش و استنتاج را کاهش دهد. در واقع، YOLO به نتایج پیشرفته‌ای دست می‌یابد و از دیگر الگوریتم‌های تشخیص شی در زمان واقعی شکست می‌خورد.

YOLO چه نسخه هایی دارد؟

YOLOv6 اینجاست تا به A** و Take Names ضربه بزند

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

YOLOv6 یک چارچوب تشخیص شی تک مرحله ای است که به برنامه های صنعتی اختصاص داده شده است، با طراحی کارآمد سخت افزاری و عملکرد بالا. در دقت تشخیص و سرعت استنتاج از YOLOv5 بهتر عمل می کند و آن را به بهترین نسخه سیستم عامل معماری YOLO برای برنامه های تولید تبدیل می کند.

دستاوردهای YOLOv6

  • YOLOv6-nano – با استفاده از TensorRT FP16 برای استنتاج bs32 به 35.0 mAP در مجموعه داده COCO val2017 با 1242 FPS در T4 می رسد.
  • YOLOv6-s – 43.1 mAP در مجموعه داده COCO val2017 با 520 FPS در T4 با استفاده از TensorRT FP16 برای استنتاج bs32.

استنتاج تک تصویر

YOLOv6 – استنتاج تک تصویر

YOLOv6s (قرمز) میانگین دقت متوسط ​​(mAP) بهتری نسبت به تمام نسخه‌های قبلی YOLOv5 با زمان استنتاج تقریباً 2 برابر سریع‌تر ارائه می‌دهد. ما همچنین می‌توانیم شکاف عملکردی بزرگی را بین معماری مبتنی بر YOLO و EfficientDet ببینیم که مبتنی بر تشخیص شی دو مرحله‌ای است.

استنتاج ویدیویی

YOLOv6 – استنتاج ویدیویی

همانطور که در استنتاج تک تصویر، YOLOv6 نتایج بهتری را برای ویدیو در تمام طیف FPS ارائه می دهد. توجه به تغییر منحنی برای ~550-620 FPS جالب است. نمی‌دانم که آیا این ربطی به عملکرد سخت‌افزار دارد و آیا نگهدارنده‌ها هنگام انجام آزمایش‌های خود، تعصب سخت‌افزار را کاهش می‌دهند یا خیر.

معیار

  • مقایسه mAP و سرعت آشکارسازهای شیء مختلف بر روی آزمایش شده است COCO val2017 مجموعه داده
  • نتایج سرعت سایر روش‌ها در محیط نگهدارنده با استفاده از پایگاه کد و مدل رسمی در صورتی که از نسخه رسمی مربوطه یافت نشد، آزمایش شد.

سلب مسئولیت: بررسی فوق بر اساس ادعای نویسندگان است و ما هنوز آنها را تأیید نکرده ایم.

YOLOv5 در مقابل YOLOv6

مقایسه معیار بین YOLOv5 و YOLOv6

در حالی که به معیارهای هر دو مدل نگاه می کردم، مقایسه سیب با سیب برایم سخت بود. YOLOv6 مدل های کمتری دارد (بدون m/l/x) و هیچ اطلاعاتی در مورد تصاویر بزرگتر از 640 پیکسل ندارد. برای معیارهای گزارش شده هر دو پروژه، ما می توانیم به وضوح شاهد بهبود mAP برای YOLOv6 باشیم. با این حال، v6 دارای 2 برابر تعداد پارامترها و Flops از v5 است، که باعث می شود من بخواهم خودم به روند آموزش شیرجه بزنم و نتایج زیر را دوباره بررسی کنم.

مقایسه معیار بین YOLOv5 و YOLOv6

مقایسه کیفی بین YOLOv5 و YOLOv6

من از نسخه s هر دو مدل برای تشخیص اشیاء در تصاویر زیر استفاده کردم

نتایج YOLOv6s
نتایج YOLOv6s
نتایج YOLOv5s
نتایج YOLOv5s

نتایج YOLOv6s
نتایج YOLOv6s
نتایج YOLOv5s
نتایج YOLOv5s

نتایج YOLOv6s
نتایج YOLOv6s
نتایج YOLOv5s
نتایج YOLOv5s

ما به وضوح می بینیم که YOLOv6s اشیاء بیشتری را در تصویر تشخیص می دهد و نسبت به برچسب آنها اطمینان بیشتری دارد.

انعطاف پذیری

هر دو پروژه رویکردهای مشابهی برای ایجاد اندازه مدل های مختلف دارند. بزرگترین تفاوت در این است YOLOv5 از YAML استفاده می کند، در حالی که YOLOv6 پارامترهای مدل را مستقیماً در پایتون تعریف می کند. یک نگاه اولیه همچنین نشان می دهد که YOLOv5 ممکن است تا حدی قابل تنظیم تر باشد.

با این حال، این واقعیت که YOLOv6 بسیار منعطف است به این معنی است که ما می‌توانیم نسخه‌های بزرگتر YOLOv6 را در آینده با پیش‌بینی‌هایی با دقت بالاتر ببینیم!

اگر یک مدل YOLOv6 بزرگتر بسازید، در Discord به ما اطلاع دهید! ما دوست داریم آن را ببینیم!

استفاده

می توانید با استفاده از برنامه DagsHub با آخرین نسخه YOLOv6 تعامل داشته باشید. اگر می خواهید از آن در دستگاه محلی خود استفاده کنید این مراحل را دنبال کنید:

نصب و راه اندازی

git clone https://dagshub.com/nirbarazida/YOLOv6 cd
YOLOv6 pip install -r requirements.txt 
dvc pull

استنتاج

python tools/infer.py --weights yolov6s.pt --source <path to image/directory>

python tools/infer.py --weights yolov6n.pt --source <path to image/directory>

نتیجه

YOLOv6 یکی از هیجان انگیزترین پروژه های OSDS است که اخیراً منتشر شده است. در مقایسه با نسخه های قبلی YOLO نتایج پیشرفته و پیشرفت قابل توجهی را در همه زمینه ها ارائه می دهد. نگهدارنده ها در حال حاضر بر غنی سازی انواع مدل ها، گزینه های استقرار و ابزارهای کوانتیزاسیون متمرکز هستند. با این حال، مانند هر پروژه منبع باز، جامعه می تواند تا حد زیادی بر نقشه راه و منحنی پیشرفت خود تأثیر بگذارد.

اگرچه این پروژه هنوز در روزهای اولیه خود است، اما بسیار امیدوارکننده به نظر می رسد، و من شیفته این هستم که ببینم چه معیارهای دیگری را در آینده خواهد شکست.

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.