معرفی کامل الگوریتم یولو YOLO
اگر شما هم در حوزه هوش مصنوعی فعالیت میکنید احتمالا بارها اسم الگوریتم یولو رو در پروژه های یادگیری ماشین و یادگیری عمیق شنیده اید. YOLO یک سیستم تشخیص اشیا بلادرنگ (real time) و پیشرفته است که به طور گسترده در برنامه های بینایی کامپیوتر استفاده می شود و به دلیل سرعت تشخیص سریع و دقت بالا شناخته شده است. در این مقاله قصد داریم این الگوریتم را بیشتر بررسی و به شرح آن بپردازیم.
فهرست مطالب
Toggleیولو چیست؟
YOLO یا You Only Look Once بر اساس اصل “شما فقط یک بار به یک تصویر نگاه می کنید” عمل می کند؛ به این معنی که یک تصویر را در عبور از یک شبکه عصبی عمیق پردازش می کند. این برخلاف سیستم های سنتی تشخیص اشیا است که از دو شبکه مجزا برای تشخیص و طبقه بندی اشیا استفاده می کنند. این رویکرد نوآورانه به YOLO اجازه می دهد تا اشیا را در زمان واقعی با زمان پردازش تنها چند میلی ثانیه در هر فریم شناسایی کند.
یولو برای اولین بار در سال 2015 توسط جوزف ردمون و علی فرهادی معرفی شد و از آن زمان به یکی از پرکاربردترین سیستم های تشخیص اشیا در دانشگاه و صنعت تبدیل شده است که با میانگین دقت متوسط (mAP) بیش از 70٪ در مجموعه داده های معیار استاندارد، از دقت بالایی برخوردار است.
یولو چگونه کار میکند؟ (نمای کلی معماری YOLO )
یک سیستم تشخیص شی تک شات است که از یک شبکه عصبی کانولوشن (CNN) برای انجام تشخیص اشیا استفاده می کند. شبکه یک تصویر ورودی می گیرد و آن را به شبکه ای از سلول ها تقسیم می کند که هر سلول مسئول پیش بینی حضور اشیا در ناحیه خاصی از تصویر است. شبکه مجموعه ای از جعبه های مرزی و احتمالات کلاس را برای هر سلول خروجی می دهد.
فرآیند تشخیص شی در YOLO را می توان به مراحل زیر تقسیم کرد:
- پیش پردازش: اندازه تصویر ورودی به اندازه ثابت تغییر می کند و نرمال می شود.
- لایه های کانولوشن: تصویر از یک سری لایه های کانولوشن عبور داده می شود تا ویژگی هایی از تصویر استخراج شود.
- لایه های تشخیص: نقشه ویژگی تولید شده توسط لایه های کانولوشن از لایه های تشخیص عبور داده می شود تا حضور اشیا در تصویر را پیش بینی کند.
- حداکثر عدم انتشار (Non-Maximal Suppression): برای از بین بردن همپوشانی جعبههای مرزی و کاهش تشخیصهای مثبت کاذب، YOLO سرکوب غیر حداکثری را برای مجموعه جعبههای مرزی تولید شده توسط لایههای تشخیص اعمال میکند.
- خروجی: خروجی نهایی YOLO مجموعه ای از جعبه های محدود کننده با احتمالات کلاس برای هر جعبه است.
معرفی بهترین کتاب های هوش مصنوعی
اگر به دنبال خواندن مباحث فنی تر هستید خواندن کتاب های این مقاله را به شما پیشنهاد میدهیم.
مزیت ها و کاربردهای یولو
در مقاله دیگری در سایت درمورد مزیت های یولو صحبت کردیم که میتوانید آن ها را از طریق این لینک مطالعه کنید. اما از کاربرد های گسترده یولو میتوان به موارد زیر اشاره کرد.
الف. شناسایی، تشخیص و شمارش اشیا
از آنجایی که میتوان در زمان واقعی و بلادرنگ از یولو استفاده کرد، برای شناسایی ناهنجاری یا بررسی موارد مختلف میتوان از YOLO بهره گرفت. در یکی از پروژه های شرکت اسمارتک توسط تیم ویژن تک، از همین ابزار برای مدیریت دام و حتی تشخیص بیماری استفاده میشود.
ب. اتومبیل های خودران
YOLO را می توان در اتومبیل های خودران برای شناسایی و ردیابی اشیاء در زمان واقعی استفاده کرد و به وسیله نقلیه این امکان را می دهد تا در مورد محیط خود تصمیم بگیرد و با خیال راحت در جاده ها حرکت کند.
ج. بازی
YOLO همچنین در بازی استفاده می شود؛ جایی که می توان از آن برای شناسایی اشیایی مانند بازیکنان یا آیتم های بازی استفاده کرد. این می تواند برای تشخیص و ردیابی اشیاء بازی استفاده شود و بازی ها را قادر می سازد تا تجربیات تعاملی و همه جانبه تری را برای بازیکنان ارائه دهند.
به عنوان مثال، در زمینه بازی های واقعیت افزوده، YOLO می تواند برای شناسایی و ردیابی اشیاء در دنیای واقعی استفاده شود و به بازیکنان اجازه می دهد تا با عناصر مجازی به روشی طبیعی و شهودی تر تعامل داشته باشند. YOLO همچنین می تواند در بازی های واقعیت مجازی مورد استفاده قرار گیرد، جایی که می توان از آن برای تشخیص و ردیابی موقعیت سر و دست های بازیکن استفاده کرد و تجربه های واقعی تر و همه جانبه تر از گیم پلی را امکان پذیر کرد.
محدودیت های یولو
در کنار تمامی ویژگی های مثبت و قابلیت های بالا YOLO میتوان به محدودیت اندازه ورودی تصاویر اشاره کرد. (که البته میتوان با ابزار های دیگری، این مشکل را برطرف نمود) همچنین در مواردی که اشیا کوچک هستند، امکان ارزیابی اشتباه و بیش از حد وجود دارد و دقت 100 درصدی حاصل نمیشود. توان محاسباتی بالای موردنیاز یولو، مانع از استفاده از آن برروی گوشی های هوشمند یا دستگاه های تعبیه شده ارزان قیمت میشود. به تازگی YOLOv8 عرضه شده که همچنان مشکلاتی را درخود دارد اما میتواند روز به روز بهتر و با کارایی بیشتر شود.
خلاصه و جمع بندی
YOLO دارای طیف گسترده ای از برنامه های کاربردی در زمینه های مختلف از جمله بینایی کامپیوتر، نظارت، ماشین های خودران و بازی است که آن را به ابزاری همه کاره و ارزشمند برای بسیاری از صنایع تبدیل کرده است. این پتانسیل باعث ایجاد انقلابی در نحوه شناسایی و ردیابی اشیاء در زمان واقعی شده است و برنامههای جدید و هیجانانگیزی را در زمینههایی مانند امنیت، بازی و سیستمهای مستقل امکانپذیر میکند.
با این حال، YOLO همچنین دارای محدودیتهایی است؛ از جمله تشخیص نادرست اشیا، توانایی محدود برای پردازش تصاویر با اندازهها یا نسبتهای مختلف، نرخ بالای تشخیص مثبت کاذب، و هزینه محاسباتی بالا. با وجود این محدودیت ها، YOLO همچنان یک سیستم تشخیص اشیاء محبوب و پرکاربرد است و با پیشرفت در یادگیری عمیق و بینایی کامپیوتری این احتمال وجود دارد که نسخه های آینده YOLO بتوانند بر این محدودیت ها غلبه کنند و حتی قابلیت های دقیق و قوی تری برای تشخیص اشیا ارائه دهند. .
منابع تکمیلی
در پایان، تعدادی منبع، برای معرفی هرچه بهتر یولو دراختیار شما قرار میگیرد.
- وب سایت رسمی یولو که اطلاعات دقیقی در مورد سیستم YOLO و معماری آن ارائه می دهد.
- مخزنYOLO GitHub ، که دسترسی به کد منبع و مدل های از پیش آموزش داده شده را برای YOLO فراهم می کند.
- مقاله YOLO ، که شرح مفصلی از سیستم YOLO و معماری آن ارائه می دهد.
نظرات و پیشنهاد های خود را درمورد این مقاله با ما به اشتراک بگذارید.
دیدگاهتان را بنویسید