تشخیص اشیا در سیستمهای نظارت تصویری (با چشمانداز فناوریهای سال 2025) قسمت دوم
تشخیص اشیا در سیستمهای نظارت تصویری
(با چشمانداز فناوریهای سال 2025)
قسمت دوم
مقایسه شناسایی اشیا با یادگیری عمیق و تشخیص اشیا
اگرچه این دو نوع تشخیص، مشابه هستند ولی تشخیص اشیا و شناسایی اشیا دو کار متفاوت در بینایی کامپیوتری محسوب میشود. شناسایی شیء که به آن طبقهبندی تصویر نیز گفته میشود، شامل شناسایی کلاس یک شیء موجود در یک تصویر است. برخلاف تشخیص مستقیم شیء، شناسایی شیء اطلاعات محلیسازی را ارائه نمیدهد.
الگوریتمهای شناسایی شیء، برچسبهای کلاسی را تولید میکنند که اشیاء موجود در تصویر را نشان میدهند و معمولاً برای برنامههایی مانند برچسبگذاری تصویر، بازیابی تصویر مبتنی بر محتوا و موتورهای جستجوی بصری استفاده میشود.
چگونه الگوریتم تشخیص اشیای یادگیری عمیق کار میکند؟
تشخیص اشیا را میتوان با استفاده از تکنیکهای متداول: (1) پردازش تصویر یا شبکههای مدرن؛ (2) یادگیری عمیق، انجام داد.
1.تکنیکهای پردازش تصویر معمولاً به دادههای تاریخی برای آموزش نیاز ندارند و بدون نظارت هستند. OpenCV یک ابزار محبوب برای کارهای پردازش تصویر است.
مزایا: این تکنیک نیازی به تصاویر حاشیهنویسی ندارد و افراد دادهها را بهصورت دستی (برای آموزش تحت نظارت) برچسبگذاری میکنند.
معایب: این تکنیک توسط عوامل متعددی محدود میشود؛ مانند سناریوهای پیچیده (بدون پسزمینه تکرنگ)، انسداد (اشیا تا حدی پنهان)، روشنایی و سایهها، تصاویر بهمریخته.
2.روشهای یادگیری عمیق معمولاً به یادگیری تحت نظارت یا بدون نظارت بستگی دارند، با روشهای نظارتشده استاندارد در وظایف بینایی کامپیوتر. عملکرد این روش توسط قدرت محاسباتی GPUها که سال به سال به سرعت در حال افزایش است، محدود میشود.
مزایا: تشخیص اشیا برای حالتهای دارای انسداد زیاد، صحنههای پیچیده و روشنایی چالشبرانگیز، خیلی بهتر و قویتر است.
معایب: حجم عظیمی از دادههای آموزشی مورد نیاز است. فرایند حاشیهنویسی تصویر کار فشرده و پرهزینهای است. به عنوان مثال، برچسب زدن 500000 تصویر برای آموزش یک الگوریتم تشخیص شیء DL سفارشی یک مجموعه داده کوچک در نظر گرفته میشود. با این حال، بسیاری از مجموعه دادههای معیار
(MS COCO، Caltech، KITTI، PASCAL VOC، V5) در دسترس بودن دادههای برچسبگذاریشده را فراهم میکنند.
امروزه، تشخیص اشیا از طریق یادگیری عمیق بهطور گسترده توسط محققان پذیرفته شده است و توسط شرکتهای دستاندرکار در حوزه بینایی کامپیوتر برای ساخت محصولات تجاری استفاده میشود.
تشخیص اشیا مبتنی بر یادگیری عمیق برای وسایل نقلیه (ماشین، کامیون، دوچرخه و غیره)
تشخیص اشیا مبتنی بر یادگیری عمیق برای وسایل نقلیه (ماشین، کامیون، دوچرخه و غیره)یک قاب نمونه از یک برنامه تجاری بلادرنگ با تشخیص اشیای یادگیری عمیق در جریان دوربینهای IP
تشخیص اشیا در سیستمهای نظارت تصویری
بهترین الگوریتم فعلی برای تشخیص تصویر
حوزه تشخیص اشیا آنقدرها هم که به نظر میرسد، جدید نیست. در واقع، تشخیص اشیا در طول 20 سال گذشته تکامل یافته است. پیشرفت تشخیص اشیا معمولاً به دو دوره تاریخی جداگانه (قبل و بعد از معرفی
Deep Learning) تقسیم میشود:
آشکارساز شیء قبل از سال 2014 – دوره تشخیص شیء به روش سنتی
1- ردیاب Viola-Jones (2001)، کار پیشگامی که توسعه روشهای سنتی تشخیص اشیا را آغاز کرد؛
2-HOG Detector (2006)، یک توصیفگر ویژگی برای تشخیص اشیا در بینایی کامپیوتری و پردازش تصویر؛
3-DPM (2008) با اولین معرفی رگرسیون جعبه مرزی.
آشکارساز شیء پس از 2014 – دوره تشخیص شیء توسط یادگیری عمیق
مهمترین الگوریتمهای تشخیص اشیا دو مرحلهای
1-RCNN and SPPNet (2014)
2-Fast RCNN and Faster RCNN (2015)
3-Mask R-CNN (2017)
4- Pyramid Networks/FPN (2017)
5-G-RCNN (2021)
تشخیص اشیا در سیستمهای نظارت تصویری
مهمترین الگوریتمهای یک مرحلهای تشخیص اشیا عبارتند از:
1-YOLO (2016)
2-SSD (2016)
3-RetinaNet (2017)
4-YOLOv3 (2018)
5-YOLOv4 (2020)
6-YOLOR (2021)
7-YOLOv7 (2022)
8-YOLOv8 (2023)
9-YOLOv9 (2024)
سازندگان الگوریتمهای اصلی YOLO، YOLOv8 را منتشر نکردند. این الگوریتم تحت مجوز AGPL-3.0 منتشر شده و یک مجوز کپی لفت قوی است که استفاده تجاری را محدود میکند.
تشخیص ویژگیهای اصلی برای درک بهترین مدل، مهم است. پیش از بحث در مورد مدلهای مختلف، تفاوتهای کلیدی بین مدلهای شناسایی تصویر برای تشخیص شیء را بررسی میکنیم.
تشخیص اشیاء در زمان واقعی در شهرهای هوشمند برای تشخیص عابر پیاده با انواع مختلف اشیامقایسه تشخیص اشیای یادگیری عمیق یکمرحلهای و دومرحلهای
همانطور که در لیست بالا مشاهده میکنید، روشهای پیشرفته تشخیص اشیا را میتوان به دو نوع اصلی طبقهبندی کرد: آشکارسازهای یکمرحلهای و آشکارسازهای دومرحلهای.
به طور کلی، آشکارسازهای شیء مبتنی بر یادگیری عمیق، ویژگیهایی را از تصویر ورودی یا فریم ویدئو استخراج میکنند. یک آشکارساز شیء، دو وظیفه زیر را انجام میدهد:
وظیفه شماره 1: تعداد دلخواه از اشیا (احتمالاً حتی صفر) را پیدا میکند؛
وظیفه شماره 2: هر شیء را طبقهبندی کرده و اندازه آن را با یک کادر محدود تخمین میزند.
برای ساده کردن فرایند، میتوان وظایف فوقالذکر را به دو مرحله تقسیم نمود. آشکارسازهای تکمرحلهای هر دو وظیفه را در یک مرحله ترکیب کرده و انجام میدهند و با اعمال دقت بیشتر، به عملکرد بالاتری دست مییابند.
تشخیص اشیا در سیستمهای نظارت تصویری
آشکارسازهای دو مرحلهای
در آشکارسازهای شیء دو مرحلهای، مناطق تقریبی شیء با استفاده از ویژگیهای عمیق برای کاندیدای شیء پیشنهاد میشود. این کار قبل از استفاده از این ویژگیها برای طبقهبندی تصویر و رگرسیون جعبه مرزی انجام میشود.
- معماری دو مرحلهای شامل (1) پیشنهاد منطقه شیء با روشهای مرسوم دید کامپیوتری یا شبکههای عمیق، و به دنبال آن (2) طبقهبندی شیء بر اساس ویژگیهای استخراجشده از منطقه پیشنهادی با رگرسیون جعبه مرزی است.
- روشهای دو مرحلهای به بالاترین دقت تشخیص دست مییابند؛ اما معمولاً کندتر هستند. به دلیل بسیاری از مراحل استنتاج در هر تصویر، عملکرد (فریم در ثانیه) به خوبی آشکارسازهای یک مرحلهای نیست.
- آشکارسازهای دو مرحلهای مختلف شامل شبکه عصبی کانولوشنال منطقه (RCNN)، با تکامل
Fast R-CNN یا Mask R-CNN است و آخرین تکامل RCNN دانهبندی شده (G-RCNN) میباشد. - آشکارسازهای شیء دو مرحلهای ابتدا ناحیه مورد نظر را پیدا کرده و از این ناحیه برشخورده برای طبقهبندی استفاده میکنند. البته چنین آشکارسازهای چند مرحلهای معمولاً قابل آموزش نیستند؛ زیرا قطعهبندی و برش، یک عملیات غیر قابل تمایز است.
تشخیص اشیا در سیستمهای نظارت تصویری
آشکارسازهای یکمرحلهای
آشکارسازهای یکمرحلهای، جعبههای محدودکننده را روی تصاویر پیشبینی میکنند. این فرایند زمان کمتری مصرف میکند و بنابراین میتواند در برنامههای بلادرنگ استفاده شود.
- آشکارسازهای شیء یکمرحلهای، سرعت استنتاج را در اولویت قرار میدهند و فوقالعاده سریع هستند؛ اما معمولاً در شناسایی اجسام با شکل نامنظم یا گروهی از اشیای کوچک، خوب عمل نمیکنند.
- محبوبترین آشکارسازهای یکمرحلهای عبارتند از YOLO، SSD و RetinaNet. جدیدترین آشکارسازهای بلادرنگ YOLOv7 (2022)، YOLOR(2021) و YOLOv4-Scaled(2020) هستند.
- مزایای اصلی تشخیص اشیا با الگوریتمهای تکمرحلهای شامل سرعت تشخیص سریعتر و سادگی ساختاری و کارایی بیشتر در مقایسه با آشکارسازهای چند مرحلهای است.
تشخیص اشیا در سیستمهای نظارت تصویری
نحوه مقایسه الگوریتمهای تشخیص تصویر
محبوبترین معیار، مجموعه داده مایکروسافت COCO است. مدلهای مختلف معمولاً بر اساس یک متریک با میانگین دقت (MAP) ارزیابی میشوند. در ادامه به مقایسه بهترین الگوریتمهای تشخیص اشیا در زمان واقعی میپردازیم.
توجه به این نکته مهم است که انتخاب الگوریتم به مورد استفاده و کاربرد بستگی دارد. الگوریتمهای مختلف در کارهای گوناگون کاربرد دارند (بهعنوان مثال، بتا R-CNN بهترین نتایج را برای تشخیص عابر پیاده نشان میدهد).
بهترین الگوریتم تشخیص شیء در زمان واقعی (دقت)
در مجموعه داده MS COCO و براساس میانگین دقت (AP)، بهترین الگوریتم تشخیص اشیا در زمان واقعی YOLOv7 است و پس از آن Vision Transformer (ViT) مانند Swin و DualSwin، PP-YOLOE، YOLOR، YOLOv4 و EfficientDet قرار دارند.
تشخیص شیء در زمان واقعی در معیار COCO: پیشرفتهترین روش با دقت متوسط (AP)
سریعترین الگوریتم تشخیص شیء در زمان واقعی (زمان استنتاج)
در مجموعه داده MS COCO، یک معیار مهم، زمان استنتاج (ms/قاب/کمتر بهتر است) یا فریم در ثانیه (FPS، بالاتر بهتر است). درخصوص بهبود زمان استنتاج، پیشرفتهای سریعی در فناوری بینایی کامپیوتری در حال انجام است.
براساس زمان استنتاج فعلی (کمتر بهتر است)، YOLOv7 در مقایسه با YOLOv4 12ms یا
YOLOv3 29ms به 3.5 میلیثانیه در هر فریم میرسد. توجه داشته باشید که چگونه معرفی آشکارساز یکمرحلهای YOLO به لحاظ زمانهای استنتاج، بهطور چشمگیری سریعتر از روشهای قبلی، مانند روش
دو مرحلهای Mask R-CNN (333 میلیثانیه) منجر شد.
در سطح فنی، مقایسه معماریهای مختلف و نسخههای مدل بسیار پیچیده است. هوش مصنوعی Edge در حال تبدیل شدن به بخشی جداییناپذیر از راهحلهای هوش مصنوعی مقیاسپذیر است و مدلهای جدیدتر با نسخههای بهینهشده لبهای با وزن سبکتر عرضه میشوند.
پیشرفتهترین الگوریتم فریم در ثانیه (FPS): الگوریتم بینایی کامپیوتری پیشرو برای تشخیص اشیا در زمان واقعی در COCO میتواند 286 فریم در ثانیه (YOLOv7) را پردازش کند؛ سریعتر از YOLOv5، YOLOv4، YOLOR و YOLOv3.
مقایسه عملکرد YOLOv7 در مقابل YOLOv5 در مقابل YOLOR و Vit Transformers
در مقایسه با آخرین نسخههایYOLO، YOLOv8 در مقابل YOLOv7 و YOLOv6 – آخرین نسخه (YOLOv8) بهترین عملکرد را در معیارهای بلادرنگ منتشرشده توسط سازنده نشان میدهد.
مقایسه مدلهای YOLO- YOLOv7 در مقابل YOLOv8