Meet YOLO26: next-gen vision AI.

Link to this sectionYönlendirilmiş Sınırlayıcı Kutu (OBB) Veri Kümelerine Genel Bakış#

Yönlendirilmiş sınırlayıcı kutulara (OBB) sahip hassas bir nesne algılama modeli eğitmek, kapsamlı bir veri kümesi gerektirir. Bu kılavuz, Ultralytics YOLO modelleriyle uyumlu çeşitli OBB veri kümesi formatlarını açıklar ve bunların yapısı, uygulaması ve format dönüştürme yöntemleri hakkında bilgiler sunar.

Link to this sectionDesteklenen OBB Veri Kümesi Formatları#

Link to this sectionYOLO OBB Formatı#

YOLO OBB formatı, sınırlayıcı kutuları 0 ile 1 arasında normalleştirilmiş koordinatlara sahip dört köşe noktasıyla belirler. Şu formatı izler:

class_index x1 y1 x2 y2 x3 y3 x4 y4

Internally, YOLO processes losses and outputs in the xywhr format, which represents the bounding box's center point (xy), width, height, and rotation.

Oriented bounding box annotation format examples

An example of a *.txt label file for the above image, which contains an object of class 0 in OBB format, could look like:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Link to this sectionVeri kümesi YAML biçimi#

Ultralytics çerçevesi, OBB modellerini eğitmek için veri kümesini ve model yapılandırmasını tanımlamak üzere bir YAML dosya formatı kullanır. İşte bir OBB veri kümesini tanımlamak için kullanılan YAML formatına bir örnek:

ultralytics/cfg/datasets/dota8.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DOTA8 dataset (8 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8/
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota8 ← downloads here (1 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: dota8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images

# Classes for DOTA 1.0
names:
  0: plane
  1: ship
  2: storage tank
  3: baseball diamond
  4: tennis court
  5: basketball court
  6: ground track field
  7: harbor
  8: bridge
  9: large vehicle
  10: small vehicle
  11: helicopter
  12: roundabout
  13: soccer ball field
  14: swimming pool

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dota8.zip

Link to this sectionKullanım#

Bu OBB formatlarını kullanarak bir model eğitmek için:

Örnek
from ultralytics import YOLO

# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)

Link to this sectionDesteklenen Veri Kümeleri#

Şu anda, yönlendirilmiş sınırlayıcı kutulara sahip aşağıdaki veri kümeleri desteklenmektedir:

  • DOTA-v1: Nesne algılama için yönlendirilmiş sınırlayıcı kutular içeren kapsamlı bir hava görüntüleri seti sunan DOTA veri kümesinin ilk sürümü.
  • DOTA-v1.5: Gelişmiş nesne algılama görevleri için DOTA-v1'e göre ek açıklamalar ve iyileştirmeler sunan, DOTA veri kümesinin ara bir sürümü.
  • DOTA-v2: DOTA (Hava Görüntülerinde Nesne Algılama için Büyük Ölçekli Veri Kümesi) sürüm 2; hava perspektifinden algılamayı vurgular ve 1,7 milyon örnek ile 11.268 görüntü içeren yönlendirilmiş sınırlayıcı kutular barındırır.
  • DOTA8: ultralytics deposundaki OBB eğitiminin iş akışlarını ve Sürekli Entegrasyon (CI) kontrollerini test etmek için uygun, tam DOTA veri kümesinin 8 görüntüden oluşan küçük bir alt kümesi.
  • DOTA128: Train klasöründeki tüm görüntüleri (hem train hem de val için kullanılan) içeren, OBB modellerini test etmek için boyut ve çeşitlilik arasında iyi bir denge sağlayan DOTA veri kümesinin 128 görüntüden oluşan bir alt kümesi.

Link to this sectionKendi OBB veri kümenizi dahil etme#

Kendi yönlendirilmiş sınırlayıcı kutu veri kümelerini kullanmak isteyenler, yukarıda belirtilen "YOLO OBB formatı" ile uyumluluğu sağladıklarından emin olmalıdır. Ek açıklamalarınızı bu gerekli formata dönüştürün ve yolları, sınıfları ve sınıf adlarını ilgili bir YAML yapılandırma dosyasında detaylandırın.

Link to this sectionEtiket Formatlarını Dönüştürme#

Link to this sectionDOTA Veri Kümesi Formatından YOLO OBB Formatına#

Etiketleri DOTA veri kümesi formatından YOLO OBB formatına geçirmek şu betik ile gerçekleştirilebilir:

Örnek
from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Bu dönüştürme mekanizması, Ultralytics YOLO OBB formatıyla uyumluluğu sağlayarak DOTA formatındaki veri kümeleri için oldukça etkilidir.

Veri kümesinin modelinizle uyumluluğunu doğrulamak ve gerekli format kurallarına bağlı kalmak zorunludur. Düzgün yapılandırılmış veri kümeleri, yönlendirilmiş sınırlayıcı kutularla verimli nesne algılama modelleri eğitmek için kritik öneme sahiptir.

Link to this sectionSSS#

Link to this sectionYönlendirilmiş Sınırlayıcı Kutular (OBB) nedir ve Ultralytics YOLO modellerinde nasıl kullanılır?#

Yönlendirilmiş Sınırlayıcı Kutular (OBB), kutunun sadece eksene hizalı olmak yerine algılanan nesneyle daha yakından hizalanacak şekilde döndürülebildiği bir sınırlayıcı kutu ek açıklama türüdür. Bu, özellikle nesnelerin görüntü eksenleriyle hizalı olmayabileceği hava veya uydu görüntülerinde yararlıdır. Ultralytics YOLO modellerinde OBB'ler, YOLO OBB formatında dört köşe noktasıyla temsil edilir. Bu, sınırlayıcı kutular nesnelere daha iyi uyacak şekilde döndürülebildiğinden daha doğru nesne algılamaya olanak tanır.

Link to this sectionMevcut DOTA veri kümesi etiketlerimi Ultralytics YOLO26 ile kullanım için YOLO OBB formatına nasıl dönüştürürüm?#

DOTA veri kümesi etiketlerini, Ultralytics'in convert_dota_to_yolo_obb işlevini kullanarak YOLO OBB formatına dönüştürebilirsin. Bu dönüştürme, Ultralytics YOLO modelleriyle uyumluluğu sağlar ve geliştirilmiş nesne algılama için OBB yeteneklerinden yararlanmanı sağlar. İşte kısa bir örnek:

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Bu betik, DOTA ek açıklamalarını YOLO ile uyumlu bir formata dönüştürecektir.

Link to this sectionVeri kümem üzerinde yönlendirilmiş sınırlayıcı kutularla (OBB) bir YOLO26 modeli nasıl eğitirim?#

Bir YOLO26 modelini OBB'lerle eğitmek, veri kümenin YOLO OBB formatında olduğundan emin olmayı ve ardından modeli eğitmek için Ultralytics API kullanmayı içerir. İşte hem Python hem de CLI için bir örnek:

Örnek
from ultralytics import YOLO

# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)

Bu, modelinin daha iyi algılama doğruluğu için ayrıntılı OBB ek açıklamalarından yararlanmasını sağlar.

Link to this sectionUltralytics YOLO modellerinde OBB eğitimi için şu anda hangi veri kümeleri desteklenmektedir?#

Şu anda, Ultralytics OBB eğitimi için aşağıdaki veri kümelerini desteklemektedir:

  • DOTA-v1: Nesne algılama için yönlendirilmiş sınırlayıcı kutular içeren kapsamlı bir hava görüntüleri seti sunan DOTA veri kümesinin ilk sürümü.
  • DOTA-v1.5: Gelişmiş nesne algılama görevleri için DOTA-v1'e göre ek açıklamalar ve iyileştirmeler sunan, DOTA veri kümesinin ara bir sürümü.
  • DOTA-v2: Bu veri kümesi, öncelikli olarak hava nesnesi algılamaya odaklanan, yönlendirilmiş sınırlayıcı kutulara sahip 1,7 milyon örnek ve 11.268 görüntü içerir.
  • DOTA8: Test ve sürekli entegrasyon (CI) kontrolleri için kullanılan, DOTA veri kümesinin daha küçük, 8 görüntüden oluşan bir alt kümesi.
  • DOTA128: Train klasöründeki tüm görüntüleri içeren (hem train hem de val için kullanılan), ilk OBB modeli geliştirme ve denemeleri için yönetilebilir kalırken DOTA8'den daha fazla çeşitlilik sunan 128 görüntüden oluşan bir alt küme.

Bu veri kümeleri, hava ve uydu görüntüsü analizi gibi OBB'lerin önemli bir avantaj sağladığı senaryolar için özel olarak tasarlanmıştır.

Link to this sectionYOLO26 eğitimi için yönlendirilmiş sınırlayıcı kutulara sahip kendi veri kümemi kullanabilir miyim ve nasıl?#

Evet, YOLO26 eğitimi için yönlendirilmiş sınırlayıcı kutulara sahip kendi veri kümeni kullanabilirsin. Veri kümesi ek açıklamalarının, sınırlayıcı kutuları dört köşe noktasıyla tanımlamayı içeren YOLO OBB formatına dönüştürüldüğünden emin ol. Ardından, veri kümesi yollarını, sınıfları ve diğer gerekli ayrıntıları belirten bir YAML yapılandırma dosyası oluşturabilirsin. Veri kümelerinizi oluşturma ve yapılandırma hakkında daha fazla bilgi için Desteklenen Veri Kümeleri bölümüne bak.

Yorumlar