YOLO11: Tezlik va aniqlik
YOLO11: Tezlik, aniqlik va moslashuvchanlikning mukammal uyg‘unligi
YOLO11 seriyasi YOLO oilasidagi eng zamonaviy (SOTA), eng yengil va eng samarali model bo‘lib, o‘zidan oldingi versiyalardan ustun turadi. Bu variant ham Ultralytics tomonidan yaratilgan, ular ilgari [YOLOv8](https://inomjonramatov.uz/tutorial/yolo/) modelini chiqarishgan, bu esa hozirgacha eng barqaror va keng qo‘llaniladigan YOLO varianti hisoblanadi. Ushbu maqolada esa biz quyidagilarni o‘rganamiz:
- YOLO11 o’zi nima?
- YOLO11 qo’llanilish sohalari
- YOLO11 ishga tushirish
YOLO11 — bu Ultralytics tomonidan ishlab chiqilgan YOLO seriyasining eng yangi versiyasi. Ushbu model oldingi YOLO modellarga nisbatan ancha tezroq va samaraliroq bo‘lgan yengil modellarni taqdim etadi. YOLO11 kompyuter ko‘rish(computer vision) bilan bog‘liq keng ko‘lamli vazifalarni bajarishga qodir. Ultralytics YOLO11 uchun beshta o‘lchamdagi model va turli vazifalar uchun jami 25 ta modelni taqdim etdi.
- YOLO11n – Nano: kichik va yengil vazifalar uchun mo‘ljallangan.
- YOLO11s – Small: Nano versiyasining biroz yaxshilangan varianti, qo‘shimcha aniqlikka ega.
- YOLO11m – Medium: umumiy maqsadlar uchun mos model.
- YOLO11l – Large: yuqori hisoblash quvvati bilan yuqori aniqlik uchun.
- YOLO11x – Extra-large: maksimal aniqlik va samaradorlik uchun mo‘ljallangan.
YOLO asosan obyektlarni aniqlash modellaridan biri sifatida tanilgan. Ammo YOLO11 YOLOv8 kabi bir nechta kompyuter ko‘rish vazifalarini bajarishi mumkin. Bu vazifalar quyidagilarni o‘z ichiga oladi:
- Obyektlarni aniqlash (Object Detection)
- Obyekt segmentatsiyasi (Instance Segmentation)
- Tasvirlarni tasniflash (Image Classification)
- Pozitsiyani aniqlash (Pose Estimation)
- Yo‘naltirilgan obyektlarni aniqlash (Oriented Object Detection - OBB)
Keling, ushbu vazifalarning har birini batafsil o‘rganamiz.
Obyektlarni aniqlash (Object Detection)
YOLO11 obyektlarni aniqlash jarayonini quyidagicha amalga oshiradi: dastlab kiruvchi tasvirni CNN (Konvolyutsion Neyron Tarmoq) orqali o'tkazib, tasvirdagi xususiyatlarni ajratadi. Keyin tarmoq grid shaklidagi maydonlarda obyektlarni aniqlash uchun cheklov qutilarini (bounding boxes) va obyektlarning qaysi sinfga tegishli ekanligini aniqlaydigan ehtimolliklarni hisoblaydi. Turli o‘lchamdagi obyektlarni aniqlashni yaxshilash uchun tarmoq bir nechta qatlamlardan foydalanadi, bu esa katta va kichik obyektlarni bir xil darajada samarali aniqlash imkonini beradi. Keyinchalik, takrorlanadigan yoki past ishonchlilikka ega bo‘lgan qutilarni olib tashlash uchun Non-Maximum Suppression (NMS) texnikasi qo‘llanadi. Natijada obyektlarni aniqlash ancha aniqlashadi.
Obyekt segmentatsiyasi (Instance Segmentation)
YOLO11 faqat obyektlarni aniqlash bilan cheklanib qolmay, balki instansiya segmentatsiyasini ham amalga oshiradi. Bu qo‘shimcha vazifa uchun modelga maxsus maska bashorati (mask prediction) bo‘limi qo‘shilgan. Model MS-COCO ma’lumotlar to‘plamida o‘rgatilgan bo‘lib, unda 80 ta oldindan tayyorlangan obyekt sinflari mavjud. Maska bashorati bo‘limi aniqlangan har bir obyekt uchun piksellar asosida maxsus segmentatsiya maskalarini hosil qiladi. Bu modelga bir-biriga yaqin yoki ustma-ust tushgan obyektlarni farqlash va ularning shakllarini aniq belgilash imkonini beradi. Ushbu maska bo‘limi tasvirdan olingan xususiyat xaritalarini qayta ishlaydi va obyektlarning aniq maskalarini chiqaradi. Bu jarayon modelga tasvirdagi obyektlarni piksellar darajasida aniq tanib olish va ajratish imkonini beradi. Natijada, model nafaqat obyektlarning joylashuvini aniqlaydi, balki ularning shakllarini to‘liq va aniqlik bilan chizib beradi, bu esa obyektlarni tasvirda yanada aniq ko‘rsatishga yordam beradi.
Tasvirlarni tasniflash (Image Classification)
YOLO11 tasvirlarni tasniflash uchun chuqur neyron tarmoqdan foydalanadi. Model kirish tasviridan muhim xususiyatlarni ajratib oladi va tasvirni oldindan belgilangan kategoriyalardan biriga bog‘laydi. Bu modellar ImageNet ma’lumotlar to‘plamida o‘rgatilgan bo‘lib, 1000 ta oldindan tayyorlangan kategoriyani o‘z ichiga oladi. Tarmoq tasvirni bir nechta qatlamlar orqali o‘tkazadi: konvolyutsiya qatlamlari tasvirdagi xususiyatlarni ajratadi, pooling qatlamlari esa tasvirning o'lchamini qisqartiradi va asosiy xususiyatlarni kuchaytiradi. Tarmoqning oxirida joylashgan tasniflash qismi (classification head) tasvirning qaysi kategoriya yoki sinfga tegishli ekanligini aniqlaydi. Bu model, asosan, tasvirning umumiy mazmunini aniqlash kerak bo‘lgan vazifalar uchun juda samarali ishlaydi.
Pozitsiyani aniqlash (Pose Estimation)
YOLO11 pozitsiyani aniqlash (pose estimation) vazifasini obyektlardagi asosiy nuqtalarni, masalan, inson tanasidagi bo‘g‘inlarni aniqlash va bashorat qilish orqali amalga oshiradi. Ushbu asosiy nuqtalar bir-biri bilan bog‘lanib, skelet tuzilmasi hosil qilinadi, bu esa pozitsiyani ifodalaydi. Bu modellar COCO ma’lumotlar to‘plamida o‘rgatilgan bo‘lib, bitta oldindan tayyorlangan sinf - "inson" (person) sinfini o‘z ichiga oladi. Pozitsiyani aniqlash uchun maxsus qatlamlar tarmoqning yuqori qismiga qo‘shilgan va tarmoq asosiy nuqtalarning koordinatalarini aniqlashga o‘rgatiladi. Keyingi bosqichda post-protsessing orqali bu nuqtalar bir-biriga ulanishi natijasida skelet tuzilmasi hosil qilinadi. Bu model real vaqt rejimida pozitsiyalarni aniqlash va tushunishni ta’minlaydi.
Yo‘naltirilgan obyektlarni aniqlash (Oriented Object Detection - OBB)
YOLO11 oddiy obyektlarni aniqlashdan tashqari, OBB (Oriented Bounding Box) funksiyasini ham qo‘llab-quvvatlaydi. Bu funksiya modelga aylangan yoki noodatiy yo‘nalishga ega obyektlarni aniqlash va tasniflash imkonini beradi. Bu, ayniqsa, aviatsion tasvirlarni tahlil qilish kabi sohalar uchun juda foydalidir. Ushbu modellar DOTAv1 ma’lumotlar to‘plamida o‘rgatilgan bo‘lib, 15 ta oldindan tayyorlangan sinfni o‘z ichiga oladi.
Endi YOLO11 modellarida tajribalar o‘tkazib, natijalarni ko‘rib chiqamiz. Buning uchun “Usha Jey” tomonidan yaratilgan Hybrid Bharatham nomli videoni tanladik va undan inference (modelni sinash) jarayonida foydalanamiz. Biz obyektlarni aniqlash, instance segmentatsiya va pozitsiyani aniqlash vazifalarini birma-bir ko‘rib chiqamiz.
Tajribalarda Nvidia Geforce RTX 3070 Ti Laptop GPU dan foydalanamiz. Keling, jarayonni boshlaymiz:
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
Keyin, muhitni quyidagi buyruq orqali sozlashimiz kerak:
conda create -n yolo11 python=3.11
conda activate yolo11
pip install ultralytics
Obyektlarni aniqlash uchun quyidagi buyruqni kiritish kerak:
yolo detect predict model=yolo11x.pt source='./path/to/your/video.mp4' save=True classes=[0]
Quyida natija:
Segmentatsiya:
yolo segment predict model=yolo11x.pt source='./path/to /your/video.mp4' save=True classes=[0]
Pose estimation:
yolo pose predict model=yolo11x-pose.pt source='./path/to/your/video.mp4' save=True classes=[0]
Natija:
Oriented Object Detection (OBB)
yolo obb predict model=yolo11x-obb.pt source='./path/to/your/video.mp4' save=True
Natija:
Xulosa
YOLO11 — eng yengil va samarali model: YOLO11 YOLO oilasidagi eng yengil va eng tez ishlaydigan model hisoblanadi. Ushbu model o‘zining moslashuvchanligi va ishlash samaradorligi bilan ajralib turadi. YOLO11 turli xil ehtiyojlarni qondirish uchun beshta o‘lcham variantida taqdim etiladi: Nano, Small, Medium, Large va Extra-large.
- Nano va Small versiyalari resurslari cheklangan qurilmalar, masalan, mobil telefonlar yoki yengil dasturlar uchun mo‘ljallangan. Bu versiyalar kichik hajmi va minimal hisoblash quvvatiga bo‘lgan talablari bilan ajralib turadi.
- Medium va Large versiyalari ko‘proq resurs talab qiluvchi dasturlar, masalan, real vaqt rejimidagi videolarni tahlil qilish uchun juda mos keladi.
- Extra-large versiyasi esa yuqori samaradorlik talab qilinadigan ilovalar, masalan, katta hajmdagi ma’lumotlarni tahlil qilish yoki murakkab obyektlarni aniqlash uchun ishlatiladi.
YOLO11 nafaqat tezkor va samarali, balki turli vazifalar va platformalarda foydalanish uchun moslashuvchanlikni ham ta’minlaydi. U yengil vazifalardan tortib, yuqori samaradorlikka ehtiyoj seziladigan murakkab ilovalargacha bo‘lgan ko‘plab sohalarda qo‘llanishi mumkin. Shu bilan birga, u tezlik va aniqlik o‘rtasidagi muvozanatni saqlab qolgan holda keng foydalanish imkoniyatini yaratadi.
Post ChatGPT yordamida tarjima qilindi, manba