تشخیص عیب‌های سطحی با YOLOv9: کدوم مدل پایه بهتره؟!

اگه اهل دنیای هوش مصنوعی و بینایی ماشین باشی احتمالاً اسم YOLO رو شنیدی؛ یولو یعنی You Only Look Once که یه مدل خیلی معروف واسه پیدا کردن اشیاء و مشکلات توی عکس‌هاست. خیلیا از YOLO برای تشخیص عیب‌ها و نقص‌هایی که رو سطح اجسام، مخصوصاً قطعات استیل و فلزی هست، استفاده می‌کنن. یعنی مثلاً وقتی قراره بفهمیم یه ورق فولادی خط افتاده یا سوراخ داره، مدل‌های YOLO کلی به درد می‌خورن.

حالا این تحقیق جدید چی کار کرده؟ اومدن و تو YOLO نسخه ۹ش (که بهش YOLOv9 هم می‌گن) شش مدل پایه یا همون backbone معروف رو تست کردن که ببینن کدومشون تو پیدا کردن عیب‌های سطح فلز از همه بهتر عمل می‌کنه. بک‌بون یا backbone همین بخش اصلی مدله که تصویر رو می‌گیره و ازش اطلاعات استخراج می‌کنه. شش تا مدل مورد استفاده اینا بودن:

  • ResNet50 (یه مدل معروف و سنگین برای کارهای بینایی کامپیوتر)
  • GhostNet (خیلی سبک و سریع)
  • MobileNetV4 (بازم سبک و جمع‌جور)
  • FasterNet (بهینه شده برای سرعت بالا)
  • StarNet
  • RepViT (مدل پیشرفته و جدید با ساختار خاص)

برای اینکه واقعا بفهمن کدوم بهتره، این شش‌تا بک‌بون رو روی دو تا دیتاست معروف تست کردن: NEU-DET و GC10-DET. دیتاست یا مجموعه‌داده یعنی کلی عکس از عیب‌های رایج مثل ترک، خط، زنگ‌زدگی، حباب رو ورقای فولادی… خلاصه همه چی.

نکته مهم این بود که YOLOv9-C رو به عنوان مبنا گرفتن و هربار فقط بک‌بون رو عوض کردن. بعد اومدن چندتا معیار مهم رو برای مقایسه اینا در نظر گرفتن:

  1. دقت شناسایی (Detection Accuracy) که معمولاً با عدد mAP50 نشونش می‌دن (یعنی میانگین دقت وقتی مدل خروجیاشو با واقعیت مقایسه می‌کنه).
  2. F1-score که از ترکیب دقت و یادآوری درست میاد (یه خلاصه از اینکه چقدر مدل می‌تونه چیزای درست رو پیدا کنه و اشتباه نزنه).
  3. مصرف منابع و سرعت پردازش؛ یعنی تعداد پارامترهای مدل (مثلاً ۴۱ میلیون پارامتر)، و تعداد عملیات موردنیاز (یه واحدش GFLOPs هست یعنی میلیارد عملیات اعشاری در ثانیه).

حالا نتایج چی بود؟ جالبه بدونی که RepViT از همه بهتر عمل کرد و تونست در mAP50 به عدد ۶۸.۸ درصد برسه (یعنی تقریباً ۷۰ درصد مواقع دقیقاً تونست عیب‌ها رو درست پیدا کنه)، F1-scoreش هم ۰.۶۵ بود و تعادل خوبی بین دقت و یادآوری داشت (یعنی نه زیادی اشتباه می‌زد و نه زیادی چیزی رو جا می‌نداخت).

اما اگه دنبال سرعت و سبکی باشی، GhostNet ترکوند! فقط ۴۱.۲ میلیون پارامتر داره و در کل ۱۹۰.۲ GFLOPs کار می‌خواد، که برای کاربردهای صنعتی و لحظه‌ای مثلاً روی خط تولید خیلی مهمه، چون نمی‌خوای یه مدل سنگین جلوی کارخونه رو بگیره!

برای اینکه مطمئن بشن این داستان فقط مخصوص YOLOv9-C نبوده، رو نسخه YOLOv5-m هم همین بک‌بون‌ها رو تست کردن و نتایج مشابهی گرفتن. پس قضیه کاملاً جدیه!

در پایان خلاصه‌ی حرف اصلی اینه: اگه دنبال شناسایی عیب سطحی هستی و سرعت برات مهمه، حتماً سبک بودن مدل رو در نظر بگیر و از بک‌بون‌های سبکی مثل GhostNet استفاده کن. اما اگه اولویتت دقت بیشتره و سخت‌افزارت جواب می‌ده، RepViT گزینه عالیه!

پس دفعه بعد که سر و کار داشتی با تشخیص عیب و نقص تو خط تولید یا کارای صنعتی، این راهنما کلی به کارت میاد تا انتخاب بک‌بون اشتباه نکنی و بهترین مدل رو برای کارت پیدا کنی. بک‌بون در واقع اون ستون فقراته که موفقیت کل مدل رو تعیین می‌کنه!

منبع: +