تکنولوژی YOLO چیست؟
تکنولوژی You Only Look Once یا YOLO، یک تکنولوژی پیشرفته برای تشخیص بلافاصله اشیاء میباشد. جوزف ردمون، علی فرهادی، راشس گیرشیک، سانتوش دیوالا، سال 2015 در پروژه تحقیقاتی، این تکنولوژی را معرفی کردند که با استفاده از یک شبکه عصبی عمیق به نام Darknet طراحی شده است.
همچنین این تکنولوژی با استفاده از یک بار پردازش تصویر، به طور همزمان و هم روند، تشخیص و محاسبه مستطیل های محدود کننده (bounding boxes) برای اشیاء مختلف در تصویر را انجام می دهد. سپس با استفاده از الگوریتم Non-Maximum Suppression، بین مستطیل های محدود کننده نهایی را انتخاب کرده و شبکه را آموزش داده میکند.
نحوه عملکرد تکنولوژی YOLO
معماری YOLO توسط جوزف ردمون و سانتوش دیوالا، توسعه داده شده است. در ادامه، ساختار اصلی معماری این تکنولوژی را توضیح میدهیم :
- ورودی تصویر: تصویر ورودی به عنوان یک تنسور 3D (عرض، ارتفاع، عمق) به مدل وارد میشود. ابعاد این تصویر معمولاً به عنوان ورودی به مدل مشخص می شوند.
- شبکههای کانولوشنال (Convolutional Networks): معماری این تکنولوژی از یک توالی از لایه های کانولوشنال برای استخراج ویژگیها از تصویر استفاده می کند. این لایهها از ماتریس های ویژگی ساخته شده از تصویر برای تشخیص و استخراج ویژگی های مهم از اشیاء استفاده می کنند.
- نقطهی آغاز (Anchor Point): این تکنولوژی از نقاط آغاز مختلف برای تشخیص اشیاء استفاده می کند، این نقاط مشخص میکنند که اشیاء به چه قسمتی از تصویر تعلق دارند.
- جعبه محدود کننده (Bounding Box) و احتمال (Confidence): برای هر نقطه آغاز و هر کلاس شیء ممکن در تصویر، یک جعبه محدود کننده (bounding box) و احتمال تشخیص (confidence) تولید کند، احتمال تشخیص نشان می دهد که مدل چقدر مطمئن است که یک شیء در جعبه محدود کننده واقع شده است.
- تابع هدف (Loss Function): آموزش مدل این فرایند، با استفاده از تابع هدفی مانند( Mean Squared Error (MSE انجام میشود، این تابع هدف جعبههای محدود کننده و احتمال تشخیص را برای هر نقطه آغاز و کلاس شیء را محاسبه می کند.
- تقسیم تصویر (Grid): تصویر به یک شبکه از خانهها یا grid تقسیم میشود که هر خانه اطلاعات مربوط به اشیا ای که در آن خانه وجود دارند را نگه می دارد.
- تصمیم گیری نهایی (Non-Maximum Suppression): پس از تشخیص اشیاء در تصویر، از الگوریتمی به نام Non-Maximum Suppression برای حذف جعبههای محدود کننده تکراری و اشیاء تشخیص داده شده به صورت متداول استفاده میشود.
- خروجی: خروجی نهایی ،شامل جعبههای محدود کننده و اطلاعات مربوط به شیءهای تشخیص داده شده، اعتبار احتمال تشخیص و نوع شیء (کلاس) است.
این تکنولوژی به صورت متداول برای تشخیص اشیاء در تصاویر و ویدئوها در برنامه های بینایی ماشین، خودروهای هوش مصنوعی، تشخیص و دنبال کننده اشیاء و تصویربرداری مورد استفاده قرار می گیرد.
کاربردهای تکنولوژی YOLO
این تکنولوژی کاربردهای بسیاری در زندگی روزمره ما دارد که در بخش زیر تعدادی از این کاربردها را نام برده ایم:
- پزشکی: در صنعت پزشکی، از این فرایند برای مکان یابی عضوهای بدن به صورت لحظه ای استفاده میشود به طور مثال در سی تی اسکن برای سریع تر پیدا شدن کلیه یا کبد با مکان یابی yolo v3 استفاده میشود.
- کشاورزی: ربات های برداشت محصول در کشاورزی با استفاده از بینایی ماشین، محصولات رسیده را برداشت میکنند. برای تشخیص محصول مناسب، برداشت و آفت زدایی از این فرایند استفاده میشود .
- خودروهای خودران: سیستم های خودرو های خودران توسط تشخیص بلافاصله اشیاء راه اندازی شده است، این امر برای خودروهای خودران بسیار ضروری است چرا که تشخیص دیگر ماشین ها، عابرین پیاده، اجسام اطراف جاده و ... حتمی و الزامی میباشد. از این تکنولوژی برای تشخیص افراد، اشیاء و جاده استفاده میشود.
- نظارت امنیتی: دوربین های نظارت امنیتی در دوران پاندمیک ها از این فرایند برای رعایت فاصله استفاده میشدند. با توجه به این قابلیت دوربین ها سلامت و مراقبت ها ضمانت بهتری داشت.
علت پر استفاده بودن تکنولوژی YOLO
- سرعت بالا: این تکنولوژی با استفاده از چارچوب Darknet، قادر به پردازش تصاویر با سرعت بالا است و در زمان واقع بینانه عمل می کند.
- دقت قابل قبول: در تشخیص شئ های کوچک نسبت به تکنولوژی های ديگر، دقت خوبي دارد.
- قابليت تعامل: قابليت تعامل با كاربر را فراهم كرده و به کاربران اجازه ميدهد كه نقطه علاقه خود را يافت كنند.
- قابليت عملكرد: قادر به تشخیص چندين شئ در يك صحنه کلی است و در حال حاضر در نسخه های V1، V2، V3 و V4 عرضه شده است که هر کدام بهبود های خود را نسبت به نسخه قبل خود دارند.
خلاصه مقاله
تکنولوژی YOLO یکی از پرکاربردترین معماری های شبکههای عصبی کانولوشنال برای تشخیص اشیاء در تصاویر است. به بیان ساده این تکنولوژی برای تشخیص بلافاصله اشیاء در تصویر و ویدیو میباشد که در صنعت های بسیاری از جمله خودروهای خودران و کشاورزی و... بکار میرود.