یادداشت پژوهشیبینایی ماشین202611 دقیقه مطالعه

تشخیص شیء در عمل؛ YOLO، خانواده R-CNN و طراحی بهتر دیتاست

یک یادداشت کاربردی درباره انتخاب روش تشخیص شیء بر اساس تأخیر، دقت مکان‌یابی، سگمنتیشن و محدودیت داده؛ نه صرفاً شماره نسخه مدل.

نویسندگان: Pouria Maleki
پوریا ملکیبه‌روزرسانی وبلاگ: 2026-08-14
تشخیص شیء در عمل؛ YOLO، خانواده R-CNN و طراحی بهتر دیتاست — مقاله پژوهشی پوریا ملکی
خلاصه نتایج و نکات کلیدی
خانواده آشکارساز را بر اساس محدودیت کاربرد انتخاب کنید، نه صرفاً شماره نسخه
آشکارسازهای تک‌مرحله‌ای مانند YOLO برای پایپ‌لاین بلادرنگ مناسب‌اند و خانواده R-CNN در مسائل ناحیه‌محور و سگمنتیشن نمونه‌ای ارزشمند است
طراحی دیتاست، کیفیت برچسب و اختلاف دامنه اغلب از چند امتیاز بنچمارک مهم‌تر است

وقتی درباره مهارت بینایی ماشین صحبت می‌شود، خیلی وقت‌ها فقط نام مدل‌ها ردیف می‌شوند: YOLOv5، YOLOv6، YOLOv7، YOLOv8. این برای مستندسازی آزمایش‌ها مفید است، اما برای نشان‌دادن توانایی مهندسی کافی نیست. سؤال مهم‌تر این است: چه مسئله ادراکی را حل می‌کنیم، محدودیت اجرای واقعی چیست و چه داده‌ای در اختیار داریم؟

تجربه من در پروژه‌های تشخیص خودرو دقیقاً همین نکته را پررنگ کرده است. خانواده مدل مهم است، اما تعریف دیتاست، کیفیت برچسب، اختلاف دامنه، سرعت اجرا و هدف نهایی سیستم اغلب مهم‌ترند.

از مسئله شروع کنیم، نه شماره نسخه

تشخیص شیء یعنی پیدا کردن موقعیت و کلاس اشیا در تصویر. در حمل‌ونقل هوشمند این اشیا می‌توانند خودرو، اتوبوس، موتورسیکلت، آمبولانس و خودروی آتش‌نشانی باشند. در تصویربرداری پزشکی، نوع هدف و پروتکل ارزیابی کاملاً متفاوت است. بنابراین معماری باید تابع مسئله باشد.

یک تقسیم‌بندی مفید، تفاوت میان روش‌های تک‌مرحله‌ای و رویکردهای ناحیه‌محور / دو‌مرحله‌ای است.

آشکارسازهای تک‌مرحله‌ای؛ مناسب برای پایپ‌لاین بلادرنگ

مقاله اصلی YOLO تشخیص شیء را به یک مسئله پیش‌بینی یکپارچه و انتها‌به‌انتها تبدیل کرد. به‌جای اینکه پیشنهاد ناحیه و طبقه‌بندی در چند مرحله جدا انجام شود، یک شبکه مستقیماً مکان و احتمال کلاس‌ها را از کل تصویر پیش‌بینی می‌کند.

برای سامانه‌هایی مثل پایش ترافیک، این ساختار جذاب است چون:

  • پایپ‌لاین inference نسبتاً فشرده‌ای دارد؛
  • برای ویدئو و کاربردهای نزدیک به edge مناسب است؛
  • اتصال آن به حلقه کنترلی که به بروزرسانی سریع نیاز دارد ساده‌تر است؛
  • آموزش روی دیتاست اختصاصی اکوسیستم جاافتاده‌ای دارد.

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

خانواده R-CNN؛ استدلال ناحیه‌ای هنوز مهم است

خانواده R-CNN مسیر متفاوتی دارد. Faster R-CNN یک Region Proposal Network (RPN) را وارد معماری کرد که ویژگی‌های کانولوشنی را با آشکارساز به اشتراک می‌گذارد. Mask R-CNN نیز این ایده را با یک شاخه مستقل برای ماسک هر نمونه توسعه داد.

این خانواده زمانی نقطه مقایسه مهمی است که:

  • کیفیت مکان‌یابی اهمیت بالایی دارد؛
  • پیشنهاد ناحیه بخشی مفید از مسئله است؛
  • instance segmentation نیاز داریم؛
  • تحلیل غنی‌تر هر شیء از throughput مهم‌تر است.

بنابراین جمله قوی‌تر برای رزومه این نیست که «چهار نسخه YOLO بلدم». جمله دقیق‌تر این است: روی تشخیص شیء و ادراک بصری کار می‌کنم، تفاوت خانواده‌های تک‌مرحله‌ای و ناحیه‌محور را می‌شناسم و معماری را بر اساس نیاز سیستم انتخاب می‌کنم.

متغیر پنهان و مهم؛ کیفیت دیتاست

بحث معماری گاهی ما را از مهم‌ترین عامل عملی دور می‌کند: داده.

در پژوهش دیتاست خودروهای ایرانی، ۳۰۰۰ تصویر و ۵۷۶۵ bounding box برای سه کلاس خودرو، اتوبوس و کامیون تهیه و به‌صورت دستی برچسب‌گذاری شد. در آزمایش گزارش‌شده، آموزش دامنه‌محور به Precision برابر ۹۱٫۷٪ و mAP@0.5 برابر ۹۲٫۶٪ رسید. درس مهم فقط موفقیت یک نسخه خاص YOLO نبود؛ نکته اصلی این بود که داده نزدیک‌تر به دامنه واقعی می‌تواند یک baseline عمومی را به شکل معنی‌داری بهبود دهد.

در دیتاست بزرگ‌تر هفت‌کلاسه نیز همین ایده ادامه پیدا کرد. آمبولانس و خودروی آتش‌نشانی از کلاس‌های عمومی جدا شدند، چون این برچسب‌ها برای کنترل‌کننده ترافیک هوشمند معنی عملی دارند. اگر هدف نهایی اولویت‌دادن به آمبولانس باشد، آشکارسازی که فقط «ون» یا «کامیون» بگوید، قبل از شروع مسئله کنترل بخشی از اطلاعات را از دست داده است.

برای انتخاب آشکارساز چه سؤال‌هایی می‌پرسم؟

سؤالاهمیت
آیا inference باید بلادرنگ باشد؟روی خانواده مدل، اندازه ورودی و سخت‌افزار اثر دارد
bounding box کافی است؟اگر نه، شاید instance segmentation مناسب‌تر باشد
اشیای کوچک یا متراکم مهم‌اند؟رزولوشن، داده و معیار ارزیابی را تغییر می‌دهد
دامنه واقعی با دیتاست عمومی متفاوت است؟ممکن است داده اختصاصی ضروری باشد
خروجی وارد حلقه کنترل می‌شود؟هزینه خطاها و تعریف کلاس‌ها نامتقارن می‌شود
امکان توسعه یا بازبرچسب‌گذاری دیتاست وجود دارد؟گاهی کار روی داده از تعویض معماری مؤثرتر است

معیارها بدون زمینه کافی نیستند

Precision، Recall و mAP لازم‌اند، اما «بهترین» مدل تابع کاربرد است. از دست دادن یک خودروی امدادی می‌تواند بسیار مهم‌تر از چند دهم درصد تغییر در mAP متوسط باشد. یک نمونه اولیه پزشکی نیز به پروتکل اعتبارسنجی کاملاً متفاوت از دوربین ترافیکی نیاز دارد. سامانه بلادرنگ علاوه بر دقت، به latency و پایداری هم حساس است.

به همین دلیل ترجیح می‌دهم کار بینایی ماشین را با زنجیره تعریف مسئله ← دیتاست ← خانواده مدل ← ارزیابی ← یکپارچه‌سازی سیستم توضیح دهم.

منابع و کارهای مرتبط

شماره نسخه عوض می‌شود؛ سؤال‌های مهندسی ماندگارترند.

پژوهش‌های مرتبط

از تشخیص خودرو تا کنترل هوشمند ترافیک؛ ادراک، یادگیری تقویتی و اولویت خودروهای امدادی — پژوهش پوریا ملکی
یادداشت پژوهشیحمل‌ونقل هوشمند
202610 دقیقه مطالعه

از تشخیص خودرو تا کنترل هوشمند ترافیک؛ ادراک، یادگیری تقویتی و اولویت خودروهای امدادی

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

چهارراه هوشمند فقط آشکارساز نمی‌خواهد؛ ادراک، تخمین وضعیت، تصمیم‌گیری و کنترل باید یکپارچه باشند
مطالعه مقاله
مجموعه‌داده تصاویر خودروهای ایرانی برای الگوریتم تشخیص شیء — پژوهش پوریا ملکی
مقاله علمی منتشرشدهبینایی ماشین
20248 دقیقه مطالعهGitHub

مجموعه‌داده تصاویر خودروهای ایرانی برای الگوریتم تشخیص شیء

Journal of Artificial Intelligence and Data Mining (JAIDM)

یک مجموعه‌داده بومی شامل ۳۰۰۰ تصویر خودرو و ۵۷۶۵ باکس برچسب‌گذاری‌شده که عملکرد YOLOv8s را نسبت به مدل آموزش‌دیده با COCO به‌طور محسوسی بهبود داد.

۳۰۰۰ تصویر خودروهای ایرانی با ۵۷۶۵ باکس برچسب‌گذاری‌شده دستی
مطالعه مقاله