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

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

کاربردهای تشخیص اشیاء
کاربردهای تشخیص اشیاء

با پیشرفت مدل‌های یادگیری عمیق در سال‌های اخیر، عمدتا مدل‌های استفاده شده برای تشخیص اشیاء، مدل‌های مبتنی بر شبکه‌های عصبی عمیق می‌باشند. مدل‌های تشخیص اشیاء مبتنی بر شبکه‌های عصبی عمیق را می‌توان به دو دسته کلی تک مرحله‌ای و دو مرحله‌ای تقسیم کرد. مدل‌های دو مرحله‌ای که قدمت بیشتری نیز دارند با معرفی شبکه R-CNN پا به عرصه ظهور گذاشتند. این مدل‌ها از دو مرحله پیشنهاد ناحیه و تشخیص شیء استفاده می‌کنند در حالی‌که مدل‌های تک مرحله‌ای که با معرفی شبکه YOLO راه خود را آغاز کردند تنها در یک مرحله کل فرایند تشخیص شیء را انجام می‌دهند. همچنین امروزه با معرفی ترانسفورمرها و گسترش کاربرد آن‌ها در مسائل بینایی ماشین، مدل‌های تشخیص اشیاء متنوعی از جمله DETR ارائه شده‌اند که از ترانسفورمرها برای تشخیص اشیاء استفاده می‌کنند. بنابراین نوع دیگری از دسته‌بندی مدل‌های تشخیص اشیاء را می‌توان بر اساس کانولوشنی یا ترانسفورمری بودن آن‌ها در نظر گرفت. مزیت مدل‌های ترانسفورمری نسبت به مدل‌های کانولوشنی دقت بیشتر آن‌ها می‌باشد اما در مقابل سنگین‌تر از مدل‌های کانولوشنی هستند و نیاز به منابع سخت‌افزاری بیشتری دارند.

معیار ارزیابی الگوریتم‌های تشخیص اشیاء با توجه به جنبه‌ای که مورد بررسی قرار می‌گیرند می‌تواند متفاوت باشد. اما این الگوریتم‌ها معمولا از دو جنبه مختلف با یکدیگر مقایسه می‌شوند: دقت و سرعت اجرا. برای ارزیابی سرعت اجرا معمولا میزان فریم بر ثانیه (FPS‌) ای که الگوریتم قادر است تا تصاویر را پردازش کند بررسی می‌شود. برای تعیین دقت در الگوریتم‌های تشخیص اشیاء ابتدا درستی جعبه مرزیِ تشخیص داده شده و سپس درستی کلاس پیش‌بینی شده بررسی می‌شوند. برای بررسی درستی جعبه مرزی از معیاری به نام IoU استفاده می‌شود که نسبت اشتراک جعبه مرزی تشخیص داده شده و جعبه مرزی واقعی به اجتماع آن‌ها را محاسبه می‌کند. در شکل زیر معیار IoU نشان داده شده است.

IoU
معیار IoU

برای تشخیص میزان قابل قبول IoU از آستانه‌های مختلفی استفاده می‌شود. معمولا در بیشتر موارد مقدار IoU>0.5 قابل قبول می‌باشد. پس از این مرحله اگر میزان IoU بدست آمده بیشتر از آستانه مورد نظر باشد، کلاس پیش‌بینی شده شیء با کلاس واقعی آن مقایسه می‌شود و اگر کلاس به درستی تشخیص داده شده باشد به عنوان True Positive و در غیر اینصورت به عنوان False Positive در نظر گرفته می‌شود. همچنین اگر شیئی درون تصویر وجود داشته باشد که الگوریتم قادر به تشخیص آن نشده باشد به عنوان False Negative در نظر گرفته می‌شود. سپس معیار AP برای هر کلاس با محاسبه سطح زیر نمودار Precision-Recall آن کلاس بدست می‌آید. در نهایت با محاسبه AP برای تمامی کلاس‌ها و میانگین گیری بین آن‌ها، mAP بدست می‌آید که نشان‌دهنده دقت کلی مدل بر روی همه کلاس‌ها می‌باشد و هرچه مقدار آن به 1 یا صد درصد نزدیک‌تر باشد عملکرد الگوریتم بهتر است.

دیتاست‌های مورد استفاده برای آموزش و ارزیابی الگوریتم‌های تشخیص اشیاء معمولا یکی از دو دیتاست Pascal VOC یا MS-COCO می‌باشد. دیتاست پاسکال از آستانه IoU>0.5 برای ارزیابی مدل‌ها استفاده می‌کند اما دیتاست COCO روش دقیق‌تری را برای اندازه گیری عملکرد الگوریتم‌های تشخیص اشیاء معرفی می‌کند. در این روش دقت برای IoU هایی از 0.5 تا 0.95 با گام‌های 0.05 محاسبه می‌شود، سپس از میانگین این ده مقدار به عنوان متریک نهایی استفاده می‌شود که به آن دقت متوسط (AP) می‌گویند. باید توجه کرد که این AP با AP ذکر شده در بالا تفاوت دارد و از میانگین‌گیری روی mAP ها بدست می‌آید. علاوه بر این، این دیتاست از AP برای اشیاء کوچک، متوسط و بزرگ برای مقایسه عملکرد در مقیاس‌های مختلف استفاده می‌کند. امروزه مدل‌های جدید صرفا بر روی دیتاست COCO ارزیابی می‌شوند و دقت آن‌ها با معیار AP بیان می‌شود در حالی‌که مدل‌های قدیمی‌تر روی دیتاست Pascal ارزیابی می‌شدند و دقت آن‌ها با معیار mAP بیان می‌شد.

در جدول زیر تعدادی از مدل‌های تشخیص اشیاء مهم با توجه به معیارهای بیان شده روی دیتاست MS-COCO مقایسه شده‌اند. علاوه بر این لینک مربوط به هر مدل نیز قرار داده شده است تا بتوانید هر یک از آن‌ها را بیشتر بررسی کنید.

نام مدلنوعAP[0.5:0.95]FPSسال انتشار
Mask R-CNNکانولوشنی/ دو مرحله‌ای39.8 %52018
RetinaNetکانولوشنی/ تک مرحله‌ای31.9 %122018
DETRترانسفورمری43.4 %122020
Swin Transformer + Mask R-CNNترانسفورمری50.5 %15.32021
DINO DETRترانسفورمری51 %102022
YOLOv8کانولوشنی/ تک مرحله‌ای53.9 %2832022
RT-DETRترانسفورمری54.8 %742023
Co-DETRترانسفورمری66 %2023
YOLOv9کانولوشنی/ تک مرحله‌ای55.6 %2024
YOLOv10کانولوشنی/ تک مرحله‌ای54.4 %93.42024
مقایسه مدل‌های مختلف تشخیص اشیاء روی دیتاست MS-COCO ( – به معنای اعلام نشده است)

در جدول فوق تعدادی از مدل‌های تشخیص اشیاء ارائه شده در سال‌های اخیر با یکدیگر مقایسه شدند. همانطور که مشاهده می‌شود با گذر زمان مدل‌های جدیدتر به سرعت و دقت بهتری دست یافته‌اند. البته باید توجه داشت سرعت اجرای بدست آمده برای هر کدام از مدل‌ها در جدول فوق بر روی GPU های مختلفی بوده است و مدل‌های جدیدتر روی سخت‌افزارهای قوی‌تری ارزیابی شده‌اند.