وظایف تشخیص شیء در بینایی ماشین در مقابل طبقهبندی تصویر
تشخیص اشیا و طبقهبندی تصویر هر دو وظایف اصلی بینایی کامپیوتر هستند، اما اساساً اهداف متفاوتی را دنبال میکنند. طبقهبندی، کل تصویر را با یک دسته برچسبگذاری میکند، در حالی که تشخیص اشیا، چندین شیء را در یک صحنه پیدا و شناسایی میکند. انتخاب بین آنها بستگی به این دارد که آیا شما نیاز دارید بدانید چه چیزی در یک تصویر وجود دارد یا موارد خاص در کجا قرار گرفتهاند.
برجستهها
تشخیص شیء، مکانیابی مکانی را از طریق جعبههای محصورکننده فراهم میکند، در حالی که طبقهبندی فقط یک برچسب واحد برای هر تصویر ارائه میدهد.
مدلهای طبقهبندی به طور قابل توجهی سریعتر هستند و به قدرت محاسباتی کمتری نسبت به مدلهای تشخیص نیاز دارند.
تشخیص نیاز به حاشیهنویسیهای پرهزینهی کادر مرزی دارد، در حالی که طبقهبندی فقط به برچسبهای سطح تصویر نیاز دارد.
هر دو وظیفه از معماریهای بنیادی مانند ستون فقرات ResNet استفاده میکنند، اما تشخیص، سرهای پیشبینی منطقه را برای محلیسازی اضافه میکند.
تشخیص اشیاء با بینایی ماشین چیست؟
با استفاده از کادرهای مرزی و برچسبهای کلاس، چندین شیء را در یک تصویر شناسایی و مکانیابی میکند.
تشخیص اشیا، طبقهبندی را با مکانیابی ترکیب میکند و هم پیشبینی میکند که چه اشیائی وجود دارند و هم اینکه در مختصات پیکسلی کجا ظاهر میشوند.
معماریهای محبوب شامل YOLO، Faster R-CNN، SSD و DETR هستند که هر کدام سرعت و دقت را به طور متفاوتی متعادل میکنند.
مجموعه دادههای Pascal VOC و COCO معیارهای اساسی بودهاند، به طوری که COCO شامل بیش از ۳۳۰،۰۰۰ تصویر و ۲.۵ میلیون نمونه برچسبگذاری شده است.
آشکارسازهای مدرن میتوانند ویدیو را به صورت بلادرنگ پردازش کنند، و YOLOv8 و YOLOv9 با سختافزار مناسب به سرعت استنتاج بیش از ۱۰۰ فریم در ثانیه دست مییابند.
کاربردها شامل وسایل نقلیه خودران، سیستمهای نظارتی، تصویربرداری پزشکی، تجزیه و تحلیل خردهفروشی و نظارت بر کشاورزی میشود.
وظایف طبقهبندی تصویر چیست؟
بر اساس محتوای بصری غالب یک تصویر، یک برچسب یا دسته بندی واحد به کل آن اختصاص میدهد.
طبقهبندی تصویر، یک یا چند برچسب برای کل تصویر ارائه میدهد، بدون اینکه مشخص کند اشیاء از نظر مکانی در کجا قرار دارند.
مجموعه داده ImageNet، با بیش از ۱۴ میلیون تصویر برچسبگذاری شده در ۲۰،۰۰۰ دسته، انقلاب یادگیری عمیق را در سال ۲۰۱۲، زمانی که AlexNet در مسابقه ILSVRC برنده شد، تسریع کرد.
معماریهای بنیادی شامل ResNet، VGG، Inception، EfficientNet و Vision Transformers (ViT) میشوند.
مدلهای طبقهبندی معمولاً سریعتر از مدلهای تشخیص اجرا میشوند، زیرا آنها فقط به یک عبور رو به جلو برای هر تصویر بدون پیشنهاد ناحیه نیاز دارند.
موارد استفاده رایج شامل تعدیل محتوا، تشخیص پزشکی از طریق اشعه ایکس، کنترل کیفیت در تولید و شناسایی گونهها در بومشناسی است.
جدول مقایسه
ویژگی
تشخیص اشیاء با بینایی ماشین
وظایف طبقهبندی تصویر
خروجی اولیه
کادرهای محصورکننده با برچسبهای کلاس و نمرات اطمینان
برچسب تک کلاس برای کل تصویر
اطلاعات مکانی
مکانهای دقیق اشیاء را با استفاده از مختصات ارائه میدهد
هیچ اطلاعات مکانی یا موقعیتی ارائه نشده است
تعداد اشیاء
میتواند چندین شیء را به طور همزمان تشخیص دهد
فقط سوژه غالب را شناسایی میکند
هزینه محاسباتی
به دلیل پیشنهادهای منطقهای و پیشبینیهای متعدد، بالاتر است
با یک پاس رو به جلو به ازای هر تصویر، پایین بیایید
پیچیدگی مدل
پیچیدهتر با اجزای ستون فقرات، گردن و سر
معماری سادهتر با تمرکز بر استخراج ویژگی
محدوده دقت معمول
mAP 40-65 در معیار COCO برای مدلهای پیشرفته
دقت بالای ۸۵-۹۱٪ در ImageNet برای مدلهای پیشرو
الزامات دادههای آموزشی
نیاز به حاشیهنویسی کادرهای محدودکننده دارد، برچسبگذاری آن گرانتر است
فقط به برچسبهای سطح تصویر نیاز دارد، حاشیهنویسی ارزانتر است
سرعت استنتاج
امکان اجرای زنده (30 تا 100 فریم بر ثانیه) با مدلهای بهینه شده
خیلی سریع، اغلب بالای ۱۰۰ فریم بر ثانیه حتی روی سختافزار معمولی
بهترین مورد استفاده
صحنههایی با چندین شیء که نیاز به محلیسازی دارند
تصاویر تکموضوعی که نیاز به شناسایی دستهبندی دارند
مقایسه دقیق
هدف اصلی و خروجی
تمایز اساسی در هدف هر وظیفه نهفته است. طبقهبندی تصویر با اختصاص یک یا چند برچسب به کل تصویر، به این سوال پاسخ میدهد که «در این تصویر چه چیزی وجود دارد؟». تشخیص شیء با استفاده از کادرهای محدودکننده در اطراف هر مورد شناساییشده، با پاسخ به «در این تصویر چه چیزی وجود دارد و دقیقاً کجاست؟» پا را فراتر میگذارد. اگر یک عکس خیابانی آپلود کنید، یک طبقهبندیکننده ممکن است آن را «صحنه شهری» برچسبگذاری کند، در حالی که یک آشکارساز، کادرهایی را در اطراف اتومبیلها، عابران پیاده، چراغهای راهنمایی و علائم به صورت جداگانه رسم میکند.
معماری و طراحی مدل
مدلهای طبقهبندی معمولاً از یک خط لولهی سرراست پیروی میکنند: یک شبکهی ستون فقرات ویژگیها را استخراج میکند و یک سر طبقهبندیکننده احتمالات را خروجی میدهد. مدلهای تشخیص شیء ذاتاً پیچیدهتر هستند و معمولاً شامل یک ستون فقرات برای استخراج ویژگی، یک گردن برای ادغام ویژگیها و یک سر که هم کلاسها و هم مختصات جعبهی محصورکننده را پیشبینی میکند، میباشند. این پیچیدگی اضافی دلیل نیاز مدلهای تشخیص به پارامترها و منابع محاسباتی بیشتر برای دستیابی به دقت قابل مقایسه در معیارهای مربوطه است.
دادههای آموزشی و حاشیهنویسی
مجموعه دادههای طبقهبندی تصویر فقط به برچسبهای سطح تصویر نیاز دارند، که باعث میشود تولید آنها در مقیاس بزرگ ارزانتر و سریعتر باشد. تشخیص شیء نیاز به حاشیهنویسی کادر مرزی برای هر نمونه شیء دارد، فرآیندی که بسته به پیچیدگی صحنه میتواند 10 تا 100 برابر بیشتر برای هر تصویر طول بکشد. مجموعه دادههایی مانند COCO هزاران ساعت حاشیهنویسی برای تکمیل نیاز داشتند، در حالی که برچسبهای طبقهبندی ImageNet نسبتاً سریع از طریق سرویسهایی مانند Amazon Mechanical Turk جمعآوری شدند.
بدهبستانهای عملکرد و سرعت
مدلهای طبقهبندی عموماً سریعتر اجرا میشوند و در معیارهای خود به دقت بالاتری دست مییابند، زیرا کار سادهتر است. طبقهبندیکنندههای پیشرفته در ImageNet از دقت ۹۱٪ در صدر جدول عبور میکنند، در حالی که آشکارسازهای شیء برتر در COCO به حدود ۶۳-۶۵ mAP میرسند. با این حال، مدلهای تشخیص پیشرفت چشمگیری در سرعت داشتهاند، به طوری که آشکارسازهای تک مرحلهای مانند YOLO این شکاف را برای فعال کردن برنامههای کاربردی در زمان واقعی پر میکنند. انتخاب اغلب به این بستگی دارد که آیا به دقت مکانی نیاز دارید یا حداکثر توان عملیاتی.
کاربردهای دنیای واقعی
طبقهبندی در سناریوهایی که مکان مهم نیست، مانند فیلتر کردن محتوای نامناسب، تشخیص بیماریها از اسکنهای پزشکی یا مرتبسازی محصولات بر اساس دستهبندی، میدرخشد. تشخیص اشیا زمانی ضروری است که موقعیت مکانی مهم باشد، از جمله رانندگی خودکار (شناسایی عابران پیاده و سایر وسایل نقلیه)، مدیریت موجودی خردهفروشی، نظارت بر حیات وحش و دستکاری رباتیک. بسیاری از سیستمهای تولیدی در واقع هر دو را با هم ترکیب میکنند و از طبقهبندی برای فیلتر کردن سریع تصاویر قبل از اجرای تشخیص روی تصاویر مرتبط استفاده میکنند.
مزایا و معایب
تشخیص اشیاء با بینایی ماشین
مزایا
+مکانهای شیء را فراهم میکند
+چندین شیء را مدیریت میکند
+خروجی فضایی غنی
+موارد استفاده بلادرنگ را فعال میکند
+کاربردهای متنوع
مصرف شده
−هزینه محاسباتی بالاتر
−حاشیهنویسیهای گرانقیمت مورد نیاز است
−آموزش پیچیدهتر
−دقت معیار پایینتر
وظایف طبقهبندی تصویر
مزایا
+سرعت استنتاج بالا
+معماری سادهتر
+حاشیه نویسی ارزان تر
+دقت معیار بالا
+استقرار آسان
مصرف شده
−اطلاعات مکانی وجود ندارد
−محدودیت تک برچسب
−چندین شیء را از دست میدهد
−درک محدود از صحنه
تصورات نادرست رایج
افسانه
تشخیص شیء همان طبقهبندی با مراحل اضافی است.
واقعیت
در حالی که طبقهبندی بخشی از تشخیص است، تشخیص شیء یک شاخه محلیسازی اضافه میکند که مختصات را پیشبینی میکند و آن را به یک کار اساساً متفاوت تبدیل میکند. معماریها، توابع زیان و معیارهای ارزیابی تفاوت قابل توجهی دارند. مدلهای تشخیص باید تعداد متغیری از اشیاء را در هر تصویر مدیریت کنند، که طبقهبندی هرگز با آن مواجه نمیشود.
افسانه
دقت طبقهبندی بالاتر به معنای عملکرد تشخیص بهتر است.
واقعیت
مدلی که در طبقهبندی ImageNet عملکرد خوبی دارد، بهطور خودکار در تشخیص اشیا خوب عمل نمیکند. تشخیص نیازمند ستون فقراتی است که اطلاعات مکانی را حفظ کند، نه اینکه آن را در یک بردار واحد تجزیه کند، به همین دلیل است که معماریها و استراتژیهای آموزشی مختص تشخیص وجود دارند.
افسانه
شما میتوانید به راحتی یک طبقهبندیکننده را به یک آشکارساز تبدیل کنید.
واقعیت
اگرچه تکنیکهایی مانند Grad-CAM میتوانند مناطقی را که یک طبقهبندیکننده روی آنها تمرکز میکند، برجسته کنند، اما این نقشههای حرارتی، جعبههای مرزی دقیقی نیستند. ساخت یک آشکارساز واقعی نیازمند آموزش مجدد با حاشیهنویسیهای جعبه مرزی و یک معماری خاص برای تشخیص است. این دو وظیفه قابل تعویض نیستند.
افسانه
تشخیص اشیا همیشه در وظایف دنیای واقعی از طبقهبندی بهتر عمل میکند.
واقعیت
تشخیص برای بسیاری از برنامهها بیش از حد است. اگر فقط لازم است بدانید که آیا یک تصویر حاوی گربه است یا خیر، اجرای یک مدل تشخیص کامل منابع را هدر میدهد. طبقهبندی همچنان انتخاب بهتری است وقتی که مکان بیربط است و استفاده غیرضروری از تشخیص، تأخیر و هزینههای زیرساخت را افزایش میدهد.
افسانه
آشکارسازهای شیء مدرن در هر محیطی کاملاً کار میکنند.
واقعیت
مدلهای تشخیص با انسداد، اشیاء کوچک، زوایای غیرمعمول و تغییر توزیع مشکل دارند. مدلهای پیشرفته هنوز در موارد بحرانی که انسانها به راحتی از عهده آنها برمیآیند، شکست میخورند، به همین دلیل است که کاربردهای حیاتی ایمنی مانند رانندگی خودران نیاز به اعتبارسنجی و افزونگی گسترده دارند.
سوالات متداول
تفاوت اصلی بین تشخیص شیء و طبقهبندی تصویر چیست؟
طبقهبندی تصویر یک برچسب واحد به کل تصویر اختصاص میدهد و به این سوال پاسخ میدهد که «این چیست؟» تشخیص شیء با تعیین مکان اشیاء با استفاده از کادرهای محصورکننده، پا را فراتر میگذارد و به این سوال پاسخ میدهد که «این چیست و کجاست؟» تمایز کلیدی، اطلاعات مکانی است: طبقهبندی مکان اشیاء را نادیده میگیرد، در حالی که تشخیص، مختصات دقیقی را برای هر مورد شناسایی شده ارائه میدهد.
انجام کدام کار برای هوش مصنوعی دشوارتر است؟
تشخیص اشیا عموماً دشوارتر در نظر گرفته میشود زیرا نیاز به حل همزمان طبقهبندی و محلیسازی دارد. مدل باید تعداد متغیری از اشیا را پیشبینی کند، جعبههای همپوشانی را مدیریت کند و دقت مکانی را حفظ کند. طبقهبندی فقط نیاز به تعیین محتوای غالب دارد، که آن را به یک مسئله یادگیری سادهتر با دقت قابل دستیابی بالاتر در معیارهای استاندارد تبدیل میکند.
آیا میتوان از تشخیص شیء برای طبقهبندی تصویر استفاده کرد؟
بله، اما ناکارآمد است. میتوانید یک آشکارساز شیء را اجرا کنید و از کلاسهای شناساییشده به عنوان برچسبهای طبقهبندی استفاده کنید، اما این کار محاسبات را هدر میدهد زیرا تشخیص گرانتر است. یک طبقهبندیکننده اختصاصی برای کارهای طبقهبندی صرف، سریعتر و دقیقتر خواهد بود. تشخیص فقط زمانی ارزش سربار را دارد که واقعاً به مکانهای کادر محصورکننده نیاز داشته باشید.
بهترین مجموعه دادهها برای آموزش هر وظیفه چیست؟
برای طبقهبندی، ImageNet با ۱۴ میلیون تصویر در هزاران دسته، همچنان استاندارد طلایی است. CIFAR-10 و CIFAR-100 برای آزمایشهای در مقیاس کوچکتر محبوب هستند. برای تشخیص اشیا، COCO (اشیاء رایج در متن) با ۳۳۰،۰۰۰ تصویر و ۸۰ دسته اشیا، پرکاربردترین معیار است. Pascal VOC یکی دیگر از مجموعه دادههای کلاسیک است که اغلب برای یادگیری و نمونهسازی اولیه استفاده میشود.
مبتدیان باید با کدام مدلها شروع کنند؟
برای طبقهبندی، با ResNet-50 یا EfficientNet-B0 شروع کنید که نسبت دقت به پیچیدگی خوبی دارند و مستندات گستردهای ارائه میدهند. برای تشخیص اشیا، YOLOv5 یا YOLOv8 برای مبتدیان مناسبتر هستند زیرا APIهای ساده، انجمنهای فعال و وزنهای از پیش آموزشدیده دارند. R-CNN سریعتر دقیقتر است اما پیکربندی آن برای تازهکارها دشوارتر است.
برای هر کار به چه مقدار داده آموزشی نیاز دارید؟
طبقهبندی میتواند با صدها تا چند هزار تصویر در هر کلاس با استفاده از یادگیری انتقالی از مدلهای از پیش آموزشدیده کار کند. تشخیص اشیا معمولاً به دادههای بیشتری، اغلب حداقل چند هزار تصویر حاشیهنویسی شده، نیاز دارد، زیرا مدل باید هم تشخیص اشیا و هم پیشبینی دقیق محدودههای کادر را یاد بگیرد. تشخیص چند عکسی همچنان یک حوزه تحقیقاتی فعال است.
آیا YOLO یک مدل طبقهبندی است یا تشخیص؟
YOLO (شما فقط یک بار نگاه میکنید) یک مدل تشخیص شیء است، نه یک طبقهبندیکننده. این مدل، جعبههای مرزی و احتمالات کلاس را به طور همزمان در یک مسیر رو به جلو پیشبینی میکند و آن را به یکی از سریعترین آشکارسازهای بلادرنگ موجود تبدیل میکند. انواع طبقهبندی معماریهای YOLO وجود دارد، اما نسخههای اصلی و محبوبترین آنها برای تشخیص طراحی شدهاند.
برای اجرای این مدلها به چه سختافزاری نیاز دارید؟
مدلهای طبقهبندی میتوانند به راحتی برای استنتاج روی CPUها اجرا شوند، حتی دستگاههای تلفن همراه نیز میتوانند آنها را به طور موثر مدیریت کنند. تشخیص اشیا به منابع بیشتری نیاز دارد، به خصوص برای برنامههای بلادرنگ. یک GPU مدرن برای آموزش هر دو کار توصیه میشود، اما استنتاج برای آشکارسازهای بهینه شده مانند YOLOv8-nano میتواند روی دستگاههای لبهای از جمله Raspberry Pi و تلفنهای همراه اجرا شود.
چگونه عملکرد مدل را برای هر وظیفه ارزیابی میکنید؟
طبقهبندی از معیارهایی مانند دقت ۱-بالا، دقت ۵-بالا، دقت، یادآوری و امتیاز F1 استفاده میکند. تشخیص شیء از میانگین دقت متوسط (mAP) که در آستانههای مختلف IoU محاسبه میشود، مانند mAP@0.5 یا mAP@0.5:0.95 (معیار COCO) استفاده میکند. ارزیابی تشخیص پیچیدهتر است زیرا باید هم صحت طبقهبندی و هم دقت محلیسازی را در نظر بگیرد.
آیا میتوان از ترانسفورماتورها برای هر دو کار استفاده کرد؟
بله، تبدیلکنندههای بینایی (ViT) و انواع مختلف آنها هم برای طبقهبندی و هم برای تشخیص به خوبی کار میکنند. DETR (تبدیلکننده تشخیص) یک مدل پیشگام بود که تبدیلکنندهها را برای تشخیص اشیاء به صورت سرتاسری به کار میبرد. مدلهایی مانند تبدیلکننده Swin به عنوان ستون فقرات هر دو کار عمل میکنند و اغلب در صورت وجود دادههای آموزشی کافی، به نتایج پیشرفتهای دست مییابند.
حکم
زمانی که نیاز به دستهبندی سریع تصاویر بر اساس محتوای کلی آنها دارید و به اطلاعات مکانی نیاز ندارید، به خصوص در محیطهای با محدودیت منابع، طبقهبندی تصویر را انتخاب کنید. زمانی که برنامه شما نیاز به دانستن اینکه چه اشیاء وجود دارند و کجا ظاهر میشوند دارد، تشخیص اشیاء را انتخاب کنید و هزینه محاسباتی بالاتر را به عنوان یک بدهبستان ضروری برای خروجی غنیتر بپذیرید.