۳٫۱٫ آناتومی برای تشخیص اشیا
تشخیص شی را می توان به عنوان یک توسعه طبقه بندی تصویر تعیین کرد، که در آن تمرکز نه تنها بر روی تشخیص یک شی است، بلکه چندین اشیاء همراه با مکان های مربوطه برای هر شی است. در درجه اول، تشخیص شی بر اساس استخراج ویژگی از طریق یک ماژول به نام ستون فقرات است. معماری های مختلفی را می توان برای خدمت به این منظور مستقر کرد، مانند ResNet [39]، که با پیش بینی جعبه مرزی همراه با ادعای کلاس دنبال می شود. شکل ۳ آناتومی یک آشکارساز شی را نشان می دهد. قبل از تشخیص اشیاء مبتنی بر CNN، محققان تلاش خود را بر روی تشخیص دسته بندی انتخابی مانند چهره ها انجام دادند. [۵۱] و انسان ها [۵۲] از طریق توصیفگرهای دستی ویژگی، به عنوان مثال، HOG [53]LBP [54] و هرر مانند رویکرد تاریخی حول مفهوم تطبیق الگوی ویژگی در مورد مکان است.
مشابه IMAGENET برای طبقهبندی تصویر، محققان در حوزه تشخیص شی توسعه مجموعههای داده بزرگ و چند مقیاسی را برای سادهسازی فرآیند محکگذاری معماریهای تازه معرفی شده در اولویت قرار دادهاند. دو مجموعه داده نمادین در این زمینه PASCAL-VOC 2007 هستند [۵۵] حاوی ۲۰ کلاس و MS-COCO [56] شامل ۸۰ دسته ارزیابی عملکرد بر اساس دو معیار است: (۱) دقت متوسط (AP) برای محاسبه تشخیص جعبه مرزی واقعی با نسبت همپوشانی ۰٫۵ یا بیشتر در مورد حقیقت زمین. و (۲) میانگین دقت متوسط (MAP)، با گرفتن میانگین مقادیر AP نسبت داده شده به آستانه های نسبت همپوشانی مختلف. محبوبیت دو مجموعه داده مربوطه و پذیرش گسترده در بین محققان را می توان از طریق شکل ۴ سنجید که دقت تشخیص را برای معماری های مختلف بر اساس دو مجموعه داده معیار ارائه می کند.
R-CNN در میان معماری های اولیه تشخیص اشیاء مبتنی بر CNN در نظر گرفته می شود. با تمرکز بر روی تولید مجموعهای پراکنده از کادرهای محدودکننده نامزد از تصویر ورودی، به مرحله دوم متمرکز بر سرکوب و انتخاب مرتبطترین پیشنهادهای کاندید، برای تعیین خروجی، در چارچوب تشخیص دو مرحلهای مشترک میشود. R-CNN چارچوب AlexNet را برای استخراج بردارهای ویژگی با طول ثابت از پیشنهادات نامزد منطقه ای، که توسط الگوریتم جستجوی انتخابی به دست آمده است، در بر می گیرد. [۵۷]. هر پیشنهاد از طریق دسته ای از SVM های خطی مخصوص کلاس طبقه بندی می شود. همانطور که در شکل ۴ نشان داده شده است، R-CNN بهبود قابل توجهی را در استفاده در مقایسه با شبکه DPM پیشرفته قبلی نشان داد. [۵۲]. با این حال، خط لوله دست و پا گیر و چند مرحله ای آن به دلیل افزونگی زیاد، به ناکارآمدی هایی منجر شد که به تعداد زیادی پیشنهادات منطقه ای نامربوط نسبت داده می شود.
جانشین آن Fast R-CNN است [۵۸]، یک مکانیسم ادغام منطقه مورد علاقه (RoI) را قبل از بلوک کاملا متصل معرفی کرد. از این رو، کسب بردار ویژگی با طول ثابت برای هر پیشنهاد منطقه به یک عملیات کانولوشنیک محدود شد. اگرچه Fast R-CNN به طور قابل توجهی MAP را بهبود بخشید، بار محاسباتی بالا به دلیل پیشنهادات منطقه خارجی مانع باقی ماند. تمرکز بر کاهش پیچیدگی های محاسباتی، سریعتر R-CNN [59] ادغام شبکه ادغام منطقه (RPN) با معماری Fast R-CNN، همانطور که در شکل ۵ ارائه شده است، پیشنهاد کرد و الگوریتم جستجوی انتخابی را با شبکه پیشنهادی منطقه جایگزین کرد. برای هر مکان، یک مجموعه از پیش تعریف شده از جعبه های لنگر متشکل از اندازه ها و نسبت های مختلف برای به دست آوردن مناطق نامزد اعمال می شود. در مرحله بعد، هر نامزد منطقه از نظر ابعادی با ضریب ۳۲ قبل از اعمال حداکثر ادغام سرکوب می شود. در نهایت، رگرسیون مشترک و طبقهبندی مناطق کاندید، تعیین مناطق مورد علاقه (ROI) را تسهیل میکند و نرمالسازی مربوط به جعبههای مرزی و احتمال کلاس را تأیید میکند. این ادغام منجر به لایههای کانولوشنال مشترک شد که منجر به سرعت استنتاج ۶ فریم در ثانیه از طریق یک GPU در مجموعه داده PASCAL-VOC 2007 شد. لین دلار و همکاران [۶۰] یک شبکه هرمی ویژگی (FPN) را پیشنهاد کرد تا از ساختار هرمی یک CNN برای تولید نقشههای ویژگی بهینهسازی معنایی در لایههای مختلف شبکه استفاده کند.
معماری دو مرحله ای عملکرد چشمگیری را در رابطه با MAP نشان داده است. با این حال، این به قیمت محاسبات بالا و FPS پایین تمام می شود و آنها را برای بسیاری از برنامه های کاربردی در دنیای واقعی غیرممکن می کند. برای رسیدگی به این مسائل، آشکارسازهای یک مرحلهای بر رگرسیون مستقیم و طبقهبندی جسم بدون پیشنهادهای منطقهای از پیش تولید شده تمرکز میکنند.
برای شکستن یخ، YOLO [61] در سال ۲۰۱۶ معرفی شد و تشخیص اشیا را به عنوان یک کار رگرسیونی در مقابل طبقه بندی قرار داد. روش پیشنهادی مبتنی بر تقسیمبندی تصویر ورودی به چندین بخش بود شبکهها، و به دنبال آن چندین جعبه محدودکننده B برای هر شبکه. سپس، از طریق استفاده جهانی از ویژگیهای CNN برای ورودی داده شده، شبکه مستقیماً احتمالات کلاس، ابعاد جعبه مرزی و امتیازات اطمینان را برای نرمالسازی جعبههای مرزی شبکه از مرحله تولید پیشنهاد پیشبینی کرد و آن را قادر میسازد به استنتاج ۴۵ فریم در ثانیه دست یابد. سرعت. با این حال، کاندیداهای پیشنهادی کاهش یافته در مقایسه با آشکارسازهای دو مرحله ای، دقت کمتری داشتند. در همان سال، لیو و همکاران. [۶۲] یک معماری تک مرحله ای دیگر را معرفی کرد که معروف به آشکارساز تک شات (SSD) است. رویکرد روششناختی بر اساس حذف فرآیند تولید نامزد پیشنهاد، با پردازش تعداد از پیش تعریفشده نقشههای ویژگی چند مقیاسی، قبل از اتخاذ یک مجموعه پیشفرض از جعبههای لنگر بود، که مدیریت بهتر نقشههای ویژگی وضوح متفاوت را به دلیل ابعاد شیء متفاوت اشیاء تسهیل میکند. نتیجه افزایش سرعت تشخیص به ۵۹ فریم در ثانیه بر اساس یک تصویر ورودی ۳۰۰ × ۳۰۰ پیکسل بود. با افزایش اندازه ورودی به ۵۱۲ × ۵۱۲، یک MAP 76.5٪ در مجموعه داده PASCAL-VOC 2007 به دست آمد که از جدیدترین R-CNN سریعتر عملکرد بهتری داشت.
سال بعد، YOLO برگشت و YOLO9000، معروف به YOLOv2 را معرفی کرد. [۶۳]. چارچوب پیشنهادی رویکرد لنگر را از SSD اتخاذ کرده است، همچنین استفاده از نرمالسازی دستهای، خوشهبندی ابعاد و پیچیدگی مبتنی بر لنگر را پیشنهاد میکند، یعنی تمرکز بر پیشبینی افست به جای مختصات جعبه محدود. YOLOv2 توانست در مجموعه داده PASCAL-VOC 2007 با MAP 78.6 درصد به سرعت ۴۰ فریم بر ثانیه برسد که از معماری های پیشرفته مختلف از جمله آشکارسازهای دو مرحله ای بهتر عمل می کند.
YOLOv3، ۲۰۱۸ [۶۴]، بر بهبود عملکرد شبکه در نقص های کوچک با ارائه رویکردهای جعبه لنگر چندگانه اختصاص داده شده در سه مقیاس نقشه ویژگی های مختلف متمرکز شده است. این باعث افزایش تعداد پیشنهادات شد و توانایی طبقه بندی بهتر را تسهیل کرد. ستون فقرات معماری، YOLOv3، از Darknet-19 برای YOLOv2 به Darknet-53 تکامل یافت و عمق لایههای معماری را افزایش داد. دارک نت به عنوان یک چارچوب انعطاف پذیر برای اهداف تحقیقاتی شناخته می شود که به زبان های سطح پایین نوشته شده است. اگرچه این سرعت استنتاج را در مقایسه با Darknet-19 کاهش داد، اما دقتی مشابه با Faster R-CNN را با استنتاج بلادرنگ قابل احترام حفظ کرد. نویسنده اصلی، Redmon، با استناد به دستکاری بینایی کامپیوتر برای استفاده در برنامه های مشکوک، کار خود را پس از YOLOv3 متوقف کرد. [۶۴]. انواع YOLO در دوره پس از ردمون، تا به امروز، توسط نویسندگان مختلف، هم افراد و هم گروههای تحقیقاتی بازسازیشده، مانند بایدو، منتشر شده است.
YOLOv4 [65]که در سال ۲۰۱۸ منتشر شد، امکان کمی سازی مفاهیم مختلف از جمله نرمال سازی مینی دسته ای متقاطع (CMBN)، اتصالات جزئی مقطعی و فعال سازی اشتباه را فراهم می کند. شکل ۶ خط لوله مفهومی را برای اتصال جزئی چند مرحله ای نشان می دهد که نقشه ویژگی ورودی مجدد پارامتر را به دو قسمت جدا می کند. قسمت اول از عبور از بلوک متراکم اجتناب می کند و مستقیماً ورودی لایه انتقال زیر را تشکیل می دهد. در حالی که قسمت دوم قبل از پیوستن به قسمت اول در ورودی لایه انتقال از بلوک متراکم تغذیه می کند، پارامترسازی پیچیدگی را افزایش می دهد. هدف پشت CMBN، فعال کردن پردازش در هر GPU بر خلاف نیاز چندین GPU بود که در پشت سر هم کار می کنند. علاوه بر این، کیسههای رایگان پیشنهاد شد، با کمک اولیه که به عنوان تقویت موزاییک شناخته میشود، بر اساس کاشیکاری تصاویر همراه با تمرکز بر برجستهسازی کوچکتر اشیاء و سرکوب پیکسلهای پسزمینه. YOLOV4 به ۶۵٫۷% AP در MS-COCO دست یافت [۵۶] مجموعه داده با سرعت تقریبی ۶۵ فریم در ثانیه، در تسلا V100 محک زده شده است.
YOLOv5 [66] از طریق یک مخزن Github برخلاف رویکرد مرسوم (مقاله دانشگاهی)، توسط Glen Jocher، حدود یک ماه پس از YOLOv4 منتشر شد. از منظر دسترسی، سهم قابل توجهی مهاجرت از دارک نت، که عمدتاً به زبان C نوشته شده بود، به PyTorch بود که به زبان محبوب پایتون نوشته شده بود. کمک فنی شامل ادغام مکانیسم انتخاب لنگر باکس از طریق k-Means در فرآیند آموزشی است، در مقابل یک روش خوشه بندی جداگانه برای انتخاب جعبه لنگر پیش فرض، ارائه شده در YOLOv2. [63]نیاز به پیکربندی دستی در معماری
YOLOv6، پایگاه کد اولیه، در ژوئن ۲۰۲۲ معرفی شد، به دنبال آن یک نسخه به روز شده و سپس در یک مقاله در سپتامبر ۲۰۲۲ منتشر شد. [۶۷] توسط محققان Meituan [68]. هدف محققان انتشار اجرای آن در محیطهای صنعتی، از این رو ملاحظات طراحی دقیق مانند سرعت و دقت بود. انواع مختلفی از YOLOv6 معرفی شدهاند که هدف آنها مجموعهای از کاربردهای صنعتی است، از YOLOv6-Nano (سرعت آدرسدهی) تا YOLOv6-Large (دقت آدرسدهی) و در بین آنها. کشف نکات فنی جدیدترین نوع، کمک های فراوانی را در زمینه های مختلف، از جمله ستون فقرات بازسازی شده، تقویت های مختلف، کمی سازی شبکه و موارد دیگر ارائه کرد. اولین سهم مهم، اتخاذ یک رویکرد بدون لنگر بود، که قابلیت تعمیم بهتری را ارائه میکرد و در مقایسه با اکثر معماریهای تشخیص شی مبتنی بر لنگر، آن را ۵۱ درصد سریعتر میکرد. در مرحله بعد، ستون فقرات reparameterized برای مرحله استخراج ویژگی اجرا شد. ستون فقرات یکی از گرانترین اجزای محاسباتی در یک شبکه است، از این رو بار محاسباتی را افزایش داده و بر سرعت استنتاج تأثیر منفی میگذارد. از این رو، پارامترسازی مجدد، سوئیچ بین ساختارهای ستون فقرات را در طول مرحله آموزش و استنتاج امکان پذیر کرد. همانطور که در شکل ۷ نشان داده شده است، بلوکهای RepVGG با اتصالات پرش در طول آموزش برای YOLOv6 پیادهسازی شدند، در حالی که RepConv، یعنی بلوکهای ساده ۳×۳ کانولوشن، در طول استنتاج مستقر شدند. چند هفته بعد از معرفی YOLOv6، YOLOv7 [69] به صنعت بینایی کامپیوتر معرفی شد. هدف نویسندگان بهبود سرعت و دقت از طریق اجرای چندین اصلاحات در سطح معماری بود. YOLOv7، شبیه به ستون فقرات مقیاس شده YOLOv4، به جای انتخاب مجموعه داده COCO از پیشآموزش ستون فقرات از طریق IMAGENET اجتناب می کند. سهم قابل توجهی در قالب یک شبکه تجمع لایه کارآمد توسعه یافته (E-ELAN) به عنوان ستون فقرات محاسباتی برای معماری آشکار می شود. برای برآوردن برنامه های مختلف، شبکه ها باید برای برآوردن الزامات خاص، یعنی دقت و سرعت، تنظیم شوند. برای این کار، نویسندگان مدل مقیاس بندی ترکیبی را برای تسهیل مقیاس بندی عمق و عرض در انسجام برای شبکه های مبتنی بر الحاق معرفی کردند. YOLOv7 در انواع مختلفی وجود دارد، با تمام انواع آنها میتوانند در GPU تسلا V100 به سرعت بیش از ۳۰ فریم در ثانیه دست یابند. با این حال، نویسندگان به صراحت بیان می کنند که هیچ گونه ای برای CPU های دستگاه های تلفن همراه طراحی نشده است.
جدول ۲ نتایج کمی معیارهای اعتبارسنجی COCO 2017 را برای معماری های مختلف YOLO با ابعاد ورودی ۶۴۰ × ۶۴۰ پیکسل، به جز YOLOX-Tiny و YOLOV7-Tiny در ۴۱۶ × ۴۱۶ پیکسل ارائه می دهد. با کمال تعجب، YOLOv6-ReLU، متشکل از ۵۸٫۵ میلیون پارامتر، در سرعت و دقت از هر دو PPYE-L و YOLOX-L پیشی گرفت. علاوه بر این، می توان مشاهده کرد که اکثر انواع YOLOv6 FPS بالاتری را در مورد اندازه دسته ۳۲ ارائه می دهند.
منبع: https://www.mdpi.com/2673-2688/5/3/64