زمان تخمینی مطالعه: 7 دقیقه
تشخیص اشیاء یک کار مهم در بینایی کامپیوتر است که با رسم کادرهای محدود کننده در اطراف اشیاء شناسایی شده، مکان یک شی را در یک تصویر شناسایی و مکانیابی میکند. اهمیت تشخیص اشیاء را نمیتوان به اندازه کافی بیان کرد. این موضوع امکان استفاده از بینایی ماشین را در زمینههای مختلف را فراهم میکند، به عنوان مثال در وسایل نقلیه خودران، هواپیماهای بدون سرنشین، تشخیص بیماری و نظارت بر امنیت دیجیتال را میتوان نام برد. در سایت الکتروهایو، ما نگاهی جامع به الگوریتم تشخیص اشیاء FCOS، یک مدل تشخیص اشیاء ابتکاری و محبوب که در زمینه های مختلف اعمال میشود، نگاه خواهیم کرد. اما قبل از فرو رفتن در نوآوریهای ارائه شده توسط FCOS، مهم است که انواع مدلهای تشخیص اشیاء موجود را درک کنید.
انواع مدلهای تشخیص اشیاء
مدلهای تشخیص اشیاء را به طور کلی میتوان به دو دسته تشخیص دهندههای یک مرحلهای و دو مرحلهای تقسیم کرد.
– تشخیص دهندههای دو مرحلهای
تشخیص دهندههای دو مرحلهای، مانند R-CNN، Fast R-CNN و Faster R-CNN، وظیفه تشخیص اشیاء را به یک فرآیند دو مرحلهای تقسیم میکنند:
- پیشنهاد منطقه: در مرحله اول، مدل مجموعهای از مناطق را تولید میکند. پیشنهادهایی که احتمالاً حاوی اشیاء هستند. این کار با استفاده از روشهایی مانند جستجوی انتخابی (R-CNN) یا شبکه پیشنهادی منطقه (RPN) (R-CNN سریعتر) انجام میشود.
- طبقهبندی و اصلاح: در مرحله دوم، پیشنهادات به دستههای اشیاء طبقهبندی میشوند و برای بهبود دقت جعبههای مرزبندی اصلاح میشوند.
خط لوله چند مرحلهای کندتر و پیچیدهتر است و در مقایسه با تشخیص دهندههای تک مرحلهای، اجرا و بهینهسازی آن میتواند چالش برانگیز باشد. با این حال، این تشخیص دهندههای دو مرحلهای معمولاً قویتر هستند و دقت بالاتری را به ارمغان میآورند.
– تشخیص دهندههای یک مرحلهای
تشخیص دهندههای یک مرحلهای، مانند FCOS، YOLO (شما فقط یک بار نگاه میکنید)، و SSD (تک شات آشکارساز چند جعبه) نیاز به پیشنهادات منطقهای را از بین میبرند. مدل در یک گذر واحد مستقیماً احتمالات کلاس و مختصات جعبه مرزی را از تصویر ورودی پیشبینی میکند. این امر باعث میشود که تشخیص دهندههای یک مرحلهای در مقایسه با روشهای دو مرحلهای سادهتر و آسانتر پیادهسازی شوند، همچنین تشخیص دهندههای یک مرحلهای به طور قابلتوجهی سریعتر هستند و امکان کاربردهای بلادرنگ را فراهم میکنند. با وجود سرعتشان، معمولا دقت کمتری دارند و از لنگرهای از پیش ساخته شده برای تشخیص استفاده میکنند. با این حال، الگوریتم تشخیص اشیاء FCOS شکاف دقت را در مقایسه با تشخیص دهندههای دو مرحلهای کاهش داده است و به طور کامل از استفاده از لنگرها اجتناب میکند.
الگوریتم تشخیص اشیاء FCOS چیست؟
الگوریتم تشخیص اشیاء FCOS یک مدل تشخیص اشیاء است که استفاده از روشهای جعبه لنگر از پیش تعریفشده را کنار میگذارد. در عوض، مستقیماً مکانها و اندازه اشیاء را در یک تصویر با استفاده از یک شبکه کاملاً کانولوشنال پیشبینی میکند. این رویکرد بدون لنگر در این مدل پیشرفته تشخیص اشیاء منجر به کاهش پیچیدگی محاسباتی و افزایش شکاف عملکرد شده است. علاوه بر این، FCOS از همتایان مبتنی بر لنگر خود بهتر عمل میکند.
** لنگرها چیست؟ در مدلهای تک مرحلهای تشخیص اشیاء، لنگرها جعبههای مرزی از پیش تعریفشدهای هستند که در طول فرآیند آموزش و تشخیص (استنتاج) برای پیشبینی مکانها و اندازههای اشیاء در یک تصویر استفاده میشوند.:
مدلهای محبوبی مانند YOLO و SSD از جعبههای لنگر برای پیشبینی مستقیم استفاده میکنند که منجر به محدودیتهایی در مدیریت اندازهها و شکلهای مختلف اشیاء میشود و همچنین استحکام و کارایی مدل را کاهش میدهد.
معماری الگوریتم تشخیص اشیاء FCOS
در این الگوریتم شبکه ستون فقرات به عنوان استخراج کننده ویژگی عمل میکند، با تبدیل تصاویر به نقشههای ویژگی غنی که در لایههای بعدی برای اهداف تشخیص در معماری FCOS استفاده میشود. در مقاله تحقیقاتی منتشر شده اصلی در مورد FCOS، محققان از ResNet و ResNeXt به عنوان ستون فقرات مدل استفاده کردند. شبکه ستون فقرات تصویر ورودی را از طریق لایههای متعدد کانولوشنال، ادغام و فعالسازیهای غیرخطی پردازش میکند. هر لایه ویژگیهای انتزاعی و پیچیدهای را به تصویر میکشد، از لبهها و بافتهای ساده در لایههای اولیه تا کل بخشهای شی و مفاهیم معنایی در لایههای عمیقتر. سپس نقشههای ویژگی تولید شده توسط ستون فقرات به لایههای بعدی وارد میشوند که مکانها، اندازهها و کلاسهای شی را پیشبینی میکنند. خروجی شبکه ستون فقرات تضمین میکند که ویژگیهای مورد استفاده برای پیشبینی هم از نظر مکانی دقیق و هم از نظر معنایی غنی هستند و دقت و استحکام آشکارساز را بهبود میبخشد.
سرهای پیشبینی چند سطحی
در الگوریتم تشخیص اشیاء FCOS، سر پیشبینی مسئول پیشبینیهای تشخیص نهایی اشیاء است. در FCOS سه سر مختلف وجود دارد که وظایف مختلفی را بر عهده دارند. این هدها بر روی نقشههای ویژگی تولید شده توسط شبکه ستون فقرات عمل میکنند. این سه سر عبارتند از:
- سر طبقهبندی: سر طبقهبندی احتمالات کلاس شی را در هر مکان در نقشه ویژگی پیشبینی میکند. خروجی آن یک شبکه است که در آن هر سلول دارای امتیازهایی برای تمام کلاسهای شی ممکن است، که نشان دهنده احتمال وجود یک شی از یک کلاس خاص در آن مکان است.
- سر رگرسیون: سر رگرسیون جعبه مرزی هماهنگ با شی شناسایی شده در هر مکان روی نقشه ویژگی را از پیش برش میدهد. این هد چهار مقدار را برای مختصات جعبه مرزی (چپ، راست، بالا، پایین) خروجی میدهد. با استفاده از این هد رگرسیون، FCOS میتواند اشیاء را بدون نیاز به لنگر باکس تشخیص دهد.
- سر مرکز Center-ness: این هد امتیاز 0 و 1 را پیشبینی میکند که نشان میدهد مکان فعلی در مرکز شی شناسایی شده چقدر احتمال دارد. سپس از این امتیاز برای کاهش وزن پیشبینی جعبه مرزی برای مکانهای دور از مرکز یک شی استفاده میشود، زیرا پیشبینیهای غیرقابل اعتماد و احتمالاً نادرست هستند.
نتیجه گیری
در سایت الکتروهایو، الگوریتم تشخیص اشیاء FCOS را بررسی کردیم که یک آشکارساز شی یک مرحلهای کاملاً کانولوشنال است که مستقیماً جعبههای محدودکننده اشیاء را بدون نیاز به لنگرهای از پیش تعریفشده، پیشبینی میکند. با توجه به طراحی بدون لنگر این الگوریتم، این مدل به طور کامل از محاسبات پیچیده مربوط به جعبههای لنگر مانند محاسبه تلفات IOU و تطبیق بین جعبههای لنگر و جعبههای حقیقت زمینه در طول آموزش اجتناب میکند. معماری مدل FCOS از ستون فقرات ResNet همراه با سرهای پیشبینی برای طبقهبندی، رگرسیون و امتیاز مرکزی بودن(center-ness) استفاده میکند (برای تنظیم مختصات جعبه مرزی پیشبینی شده توسط سر رگرسیون). ستون فقرات ویژگیهای سلسله مراتبی را از تصویر ورودی استخراج میکند، در حالی که سرهای پیشبینی، پیشبینیهای شی متراکم را روی نقشههای ویژگی ایجاد میکنند. علاوه بر این، مدل FCOS پایه بسیار مهمی را برای کارهای تحقیقاتی آینده در مورد بهبود مدلهای تشخیص اشیاء ایجاد میکند.