یادگیری ماشین
موضوعات داغ

YOLO v4 یا YOLO v5 یا PP-YOLO؟

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

سه نسخه اول YOLO به ترتیب در سال های 2016، 2017 و 2018 منتشر شده اند. با این حال، در سال 2020، تنها در عرض چند ماه، سه نسخه اصلی YOLO به نام‌های YOLO v4، YOLO v5 و PP-YOLO منتشر شد. انتشار YOLO v5 حتی باعث ایجاد جنجال در بین افراد جامعه یادگیری ماشین شده است.

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

YOLO چگونه تکامل یافت

YOLO برای اولین بار در سال 2016 معرفی شد و به دلیل توانایی آن در تشخیص اشیاء در زمان واقعی با دقت بهتر، نقطه عطفی در تحقیقات تشخیص اشیا بود.

این پیشنهاد توسط جوزف ردمون، فارغ التحصیل دانشگاه واشنگتن ارائه شد. مقاله ای که YOLO را توصیف میکرد برنده جایزه OpenCV People’s Choice در کنفرانس بینایی کامپیوتری و تشخیص الگو (CVPR) در سال 2016 شد.

نسخه های YOLO که توسط جوزف ردمون ارائه شدند

  1. Version 1 (2016)
    You Only Look Once: Unified, Real-Time Object Detection 
  2. Version 2 (2017)
    YOLO9000: Better, Faster, Stronger 
  3. Version 3 (2018)
    YOLOv3: An Incremental Improvement 

YOLO v2 می‌تواند تصاویر را با سرعت 40 تا 90 فریم در ثانیه پردازش کند.

پیاده سازی های اصلی YOLO

اجرای اصلی YOLO Redmon بر اساس Darknet است، که یک چارچوب شبکه عصبی منبع باز است که در C و CUDA نوشته شده است. Darknet معماری زیربنایی شبکه را تنظیم می کند و به عنوان چارچوبی برای آموزش YOLO استفاده می کند. این پیاده سازی توسط خود Redmon معرفی شده است و نصب آن سریع، آسان است و از محاسبات CPU و GPU پشتیبانی می کند.

بعداً، ترجمه PyTorch برای YOLO v3 توسط Glenn Jocher از Ultralytics LLC معرفی شد.

YOLO به دلیل سرعت عالی و دقت خوب به سرعت در بین جامعه بینایی کامپیوتر مشهور شد. با این حال، در فوریه 2020، جوزف ردمون، خالق YOLO اعلام کرد که تحقیقات خود را در بینایی کامپیوتر متوقف کرده است! او همچنین اظهار داشت که یک سری نگرانی ها باعث تأثیر منفی در کار او شد.

این منجر به بحث‌های داغ در جامعه شد و یک سوال مهم را مطرح کرد: آیا در آینده به‌روزرسانی‌های YOLO وجود خواهد داشت؟

YOLO v4

خروج Redmon پایان YOLO نبود. با تلاش های بسیار در جامعه بینایی کامپیوتر، نسل چهارم YOLO در آوریل 2020 منتشر شد. این نسل در مقاله ای با عنوان “YOLOv4: سرعت و دقت بهینه تشخیص اشیا” توسط Alexey Bochkovskiy و همکاران معرفی شده است.

علاوه بر این، کار Redmon توسط Alexey در فورک مخزن اصلی ادامه یافت. YOLO v4 سریع ترین و دقیق ترین مدل بلادرنگ برای تشخیص اشیا در نظر گرفته شده است.

پیشرفت های عمده در YOLO v4

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

عملکرد YOLO v4

YOLO v4 همچنین بر اساس Darknet است و مقدار AP 43.5 درصد را در مجموعه داده COCO به همراه سرعت بلادرنگ 65 FPS با Tesla V100 به دست آورده است که از نظر سرعت و دقت، سریع ترین و دقیق ترین تشخیص ها را شکست می دهد.

Ap و FPS در مقایسه با YOLOv3 به ترتیب 10 درصد و 12 درصد افزایش یافته اند.

YOLO v5

پس از انتشار YOLO v4، تنها در عرض دو ماه، نسخه دیگری از YOLO به نام YOLO v5 منتشر شد! که توسط Glenn Jocher که قبلاً در بین جامعه برای ایجاد و پیاده‌سازی PyTorch از YOLO v3 شناخته شده بود نوشته شد.

در 9 ژوئن 2020، Jocher اظهار داشت که اجرای YOLO v5 او به صورت عمومی منتشر شده است و توصیه می شود در پروژه های جدید استفاده شود. با این حال، او هنگام انتشار این نسخه جدید، مقاله ای را به همراه آن منتشر نکرد.

پیشرفت های عمده در YOLO v5

YOLO v5 چون یک پیاده‌سازی PyTorch است نه فورکی از Darknet اصلی با سایر نسخه‌های قبلی متفاوت است. YOLO v5 هم مانند YOLO v4، از CSP و PA-NET استفاده می کند. پیشرفت‌های عمده شامل تقویت داده‌های موزاییکی و لنگرهای جعبه‌ای محدودکننده و یادگیری خودکار در این نسخه وجود دارد.

بحث و جدل در جامعه یادگیری ماشین

انتشار YOLO v5 توجه زیادی را به خود جلب کرده و بحث های داغی را در پلتفرم های جامعه یادگیری ماشین ایجاد کرده است.

در مجموع گفته شد که YOLO v5 بسیار سریع و سبک تر از YOLO v4 است، در حالی که دقت آن در حد استاندارد YOLO v4 است. اما سوال اصلی مطرح شده توسط جامعه این بود: آیا این معیارها دقیق و قابل تکرار هستند؟

PP-YOLO

PP-YOLO در جولای 2020، از طریق مقاله ای با عنوان PP-YOLO: اجرای موثر و کارآمد تشخیص شی، توسط Xiang Long و همکاران، معرفی شد. که بر اساس PaddlePaddle (آموزش عمیق توزیع شده موازی)، یک پلت فرم یادگیری عمیق منبع باز است که در ابتدا توسط دانشمندان باید توسعه داده شد.

آیا PP-YOLO یک مدل جدید است؟

بر اساس این مقاله، PP-YOLO می‌تواند به mAP با 45.2 درصد در مجموعه داده COCO دست یابد که از 43.5 درصد YOLO v4 بیشتر است. هنگام ی که PP-YOLO روی V100 با اندازه دسته ای = 1 آزمایش می شود، می تواند به سرعت استنتاج 72.9 FPS دست یابد، که همچنین بالاتر از YOLO v4 با 65 FPS است.

نویسندگان PP-YOLO حدس می زنند که بهینه سازی بهتر tensorRT در مدل ResNet نسبت به Darknet دلیل اصلی این بهبود عملکرد است.

سخنان پایانی

در این مقاله، نقاط عطف مهم تکامل YOLO و سرگذشت بسیاری از نسخه‌های جدید YOLO در سال 2020 را مورد بحث قرار داده‌ایم، در حالی که بر پیشرفت‌ها و عملکرد آخرین نسخه‌های YOLO تاکید می‌کنیم. به طور خلاصه، YOLO v4 جدیدترین پیاده‌سازی مبتنی بر Darknet از این تشخیص شیء پیشرفته است. از سوی دیگر، YOLO v5 یک پیاده‌سازی جدید PyTorch توسط Ultralytics است و هنگامی که با اندازه دسته‌ای بزرگ‌تر آزمایش می‌شود، گفته می‌شود که سرعت تداخل بالاتری نسبت به اکثر تشخیص شی های دیگر دارد. با این حال، در زمان نگارش این مقاله، هیچ مقاله بررسی شده ای برای YOLO v5 منتشر نشده است. PP-YOLO یک ارتقاء جدید YOLO بر اساس یک چارچوب یادگیری عمیق به نام PaddlePaddle است و مدل YOLO v3 را برای به دست آوردن تعادل بهتر بین اثربخشی و کارایی بهبود می بخشد. نکاتی که ما در مورد آن صحبت کردیم مانند معماری، بهبودها و عملکرد در هر نسخه مفید خواهد بود.

منابع

[1] Joseph Redmon’s official website.

[2] Published papers of YOLO v1YOLO v2YOLO v3YOLO v4PP-YOLO.

[3] Github repositories of Original YOLO by Redmon, YOLO v4 by Alexey, YOLO v5 by Jocher and PP-YOLO by Xiang Long.

[4] “YOLOv5 is Here” and “Responding to the Controversy about YOLOv5” blog posts by Joseph Nelson and Jacob Solawetz on Roboflow blog.

[5] “YOLO Is Back! Version 4 Boasts Improved Speed and Accuracy” article by Hecate published on syncedreview.com

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

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

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

همچنین ببینید
بستن
دکمه بازگشت به بالا