تشخیص شیء (Object Detection): هنر یافتن «چه چیز» و «کجا»
نویسنده: فاطمه جعفری نوبخت
1. مقدمه
وقتی انسان به یک خیابان شلوغ نگاه میکند، فقط یک تصویر کلی نمیبیند؛ او فوراً ماشینها، عابران پیاده، چراغهای راهنمایی و تابلوها را تشخیص میدهد و مکان دقیق هر کدام را درک میکند. تشخیص شیء (Object Detection) تکنیکی در بینایی کامپیوتر است که این توانایی انسانی را شبیهسازی میکند.
این تکنیک فراتر از یک طبقهبندی ساده است. اگر طبقهبندی تصویر (Classification) پاسخ میدهد «آیا در این عکس گربه هست؟»، تشخیص شیء پاسخ میدهد «چند گربه در عکس است و دقیقاً در کجای تصویر قرار دارند؟».
2. آناتومی یک سیستم تشخیص شیء
برای درک این تکنیک، باید بدانیم خروجی آن چیست. یک مدل تشخیص شیء معمولاً سه چیز را برای هر شیء پیدا شده برمیگرداند:
- کادر احاطهکننده (Bounding Box): یک مستطیل که دور شیء کشیده میشود. معمولاً با مختصات گوشه بالا-چپ $(x, y)$ و عرض و ارتفاع $(w, h)$ مشخص میشود.
- برچسب کلاس (Class Label): نام شیء داخل کادر (مثلاً: “انسان”، “ماشین”).
- امتیاز اطمینان (Confidence Score): عددی بین ۰ تا ۱ که نشان میدهد مدل چقدر مطمئن است که تشخیصش درست است.
3. دو رویکرد اصلی: سرعت در برابر دقت
تاریخچه تشخیص شیء مدرن را میتوان به دو خانواده اصلی تقسیم کرد:
الف) آشکارسازهای دو مرحلهای (Two-Stage Detectors) – دقیق اما کند
این مدلها کار را در دو مرحله انجام میدهند:
- پیشنهاد ناحیه (Region Proposal): ابتدا مناطقی از تصویر را که احتمال دارد “شیء” در آنها باشد (بدون اینکه بدانند چه شیئی است) پیدا میکنند.
- طبقهبندی: سپس آن مناطق پیشنهادی را بررسی کرده و تعیین میکنند چه شیئی در آن است و کادر را دقیقتر میکنند.
- مدلهای مشهور: خانواده R-CNN (شامل R-CNN, Fast R-CNN, Faster R-CNN).
- کاربرد: جاهایی که دقت حیاتی است، مثل تحلیل تصاویر پزشکی.
ب) آشکارسازهای یک مرحلهای (One-Stage Detectors) – سریع و بلادرنگ
این مدلها کل فرآیند را در یک بار عبور تصویر از شبکه انجام میدهند. آنها تصویر را به یک شبکه تقسیم میکنند و برای هر خانه شبکه، احتمال وجود شیء و مختصات کادر را همزمان پیشبینی میکنند.
- مدلهای مشهور: خانواده YOLO (You Only Look Once) و SSD (Single Shot Detector).
- کاربرد: جاهایی که سرعت حیاتی است، مثل دوربینهای مداربسته یا خودروهای خودران.
4. مفاهیم فنی مهم
در پیادهسازی تشخیص شیء با اصطلاحات خاصی روبرو میشوید:
- IoU (اشتراک بر اجتماع): معیاری برای سنجش دقت کادر. چقدر کادر پیشبینی شده با کادر واقعی (Ground Truth) همپوشانی دارد؟
- NMS (حذف غیر بیشینه – Non-Maximum Suppression): یک مشکل رایج این است که مدل ممکن است برای یک گربه، ۱۰ کادر مختلف بکشد. الگوریتم NMS کادری که بالاترین امتیاز اطمینان را دارد نگه میدارد و کادرهای همپوشانی که ضعیفتر هستند را حذف میکند تا فقط “یک” کادر برای هر شیء باقی بماند.
- mAP (میانگین دقت متوسط): استاندارد طلایی برای ارزیابی کلی عملکرد مدل در تمام کلاسها.
5. کاربردها (با تمرکز بر محیط زیست و مدیریت شهری)
تشخیص شیء در صنایع مختلف انقلابی به پا کرده است:
- نظارت تصویری هوشمند: شمارش افراد در معابر شهری، تشخیص تجمعات، یا شناسایی رفتارهای مشکوک.
- خودروهای خودران: شناسایی عابران، خودروهای دیگر و علائم ترافیکی در کسری از ثانیه.
- محیط زیست و حیات وحش:
- استفاده از پهپادها برای شمارش حیوانات در حال انقراض در دشتها.
- شناسایی شکارچیان غیرمجاز در مناطق حفاظت شده.
- تصاویر ماهوارهای (GIS):
- تشخیص ساختمانهای غیرمجاز (تغییرات کاربری اراضی).
- شمارش تعداد درختان در یک جنگل یا خودروها در پارکینگهای شهری برای مدیریت ترافیک.
6. چالشهای پیشرو
- اشیای کوچک: تشخیص اشیاء کوچک (مثل یک پرنده در آسمان یا یک میخ در جاده) بسیار دشوار است.
- انسداد (Occlusion): وقتی بخشی از یک شیء توسط شیء دیگر پوشانده شده باشد (مثلاً نیمی از ماشین پشت درخت باشد)، تشخیص سخت میشود.
- تغییرات نوری: سایهها، بازتاب نور و تاریکی شب عملکرد مدل را به شدت تحت تاثیر قرار میدهند.
7. نتیجهگیری
تشخیص شیء یکی از بالغترین و در دسترسترین تکنولوژیهای هوش مصنوعی است. امروزه با ظهور نسخههای جدید YOLO (مانند YOLOv8 و YOLO11)، ما میتوانیم روی یک لپتاپ معمولی یا حتی گوشی موبایل، تشخیص شیء بلادرنگ با دقت بسیار بالا داشته باشیم. این تکنولوژی پایه و اساس تعامل ماشینها با محیط فیزیکی اطرافشان است.