Yönlendirilmiş Sınırlayıcı Kutu (OBB) Veri Kümelerine Genel Bakış#
Yönlendirilmiş sınırlayıcı kutular (OBB) içeren hassas bir nesne algılama modeli eğitmek kapsamlı bir veri seti gerektirir. Bu kılavuz, yapıları, uygulamaları ve format dönüştürme yöntemleri hakkında bilgiler sunarak Ultralytics YOLO modelleriyle uyumlu çeşitli OBB veri seti formatlarını açıklar.
Desteklenen OBB Veri Kümesi Formatları#
YOLO OBB Formatı#
YOLO OBB formatı, sınırlayıcı kutuları 0 ile 1 arasında normalize edilmiş koordinatlara sahip dört köşe noktasıyla tanımlar. Şu formatı izler:
class_index x1 y1 x2 y2 x3 y3 x4 y4Dahili olarak YOLO, kayıpları ve çıktıları, bounding box merkez noktasını (xy), genişliğini, yüksekliğini ve rotasyonunu temsil eden xywhr formatında işler.

Yukarıdaki görüntü için OBB formatında 0 sınıfından bir nesne içeren *.txt etiket dosyası örneği şu şekilde olabilir:
0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758Veri kümesi YAML formatı#
Ultralytics çerçevesi, OBB modellerini eğitmek için veri kümesini ve model yapılandırmasını tanımlamak adına bir YAML dosya formatı kullanır. İşte bir OBB veri kümesini tanımlamak için kullanılan YAML formatına bir örnek:
# 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.ziptrain, val ve test öğelerinin her biri bir dizin, bir dizin listesi veya her satırda bir görsel yolu listeleyen bir *.txt dosyası kabul eder (./ ile başlayan yollar *.txt dosyasına göre çözümlenir). Bir *.txt dosyası, bir dizinin alt kümesi üzerinde eğitim yapmak, etiketlenmemiş görselleri atlamak veya birden fazla kaynaktan gelen görselleri tek bir bölüme (split) birleştirmek için kullanışlıdır.
path: datasets/dota8 # dataset root
train: train.txt # a directory, a list e.g. [images/a, images/b], or a *.txt file
val: val.txt
names:
0: planeKullanım#
Bu OBB formatlarını kullanarak bir model eğitmek için:
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)Desteklenen 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ı kutulara sahip kapsamlı bir hava görüntüsü seti sunan DOTA veri setinin ilk versiyonu.
- DOTA-v1.5: Gelişmiş nesne algılama görevleri için DOTA-v1'e kıyasla ek açıklamalar ve iyileştirmeler sunan DOTA veri setinin ara versiyonu.
- DOTA-v2: Hava Görüntülerinde Nesne Algılama için Büyük Ölçekli Bir Veri Seti (A Large-scale Dataset for Object Detection in Aerial Images) olan DOTA versiyon 2, havadan perspektiften algılamaya odaklanır ve 1,7 milyon örnek ile 11.268 görsel içeren yönlendirilmiş sınırlayıcı kutular barındırır.
- DOTA8:
ultralyticsdeposundaki OBB eğitimi için iş akışlarını ve Sürekli Entegrasyon (CI) kontrollerini test etmeye uygun, tam DOTA veri setinin küçük, 8 görsel içeren bir alt kümesi. - DOTA128: Tüm görselleri train klasöründe yer alan (hem train hem de val için kullanılan), OBB modellerini test etmek için boyut ve çeşitlilik arasında iyi bir denge sunan DOTA veri setinin 128 görselik bir alt kümesi.
Kendi OBB veri kümeni dahil etme#
Yönlendirilmiş sınırlayıcı kutulara sahip kendi veri kümelerini tanıtmak isteyenler için, yukarıda belirtilen "YOLO OBB formatı" ile uyumluluğu sağla. Açıklamalarını bu gerekli formata dönüştür ve ilgili bir YAML yapılandırma dosyasında yolları, sınıfları ve sınıf adlarını detaylandır.
Etiket Formatlarını Dönüştürme#
DOTA 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:
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ı ile uyumluluk sağlayarak DOTA formatındaki veri setleri için oldukça önemlidir.
Veri kümesinin modelinle uyumluluğunu doğrulamak ve gerekli format kurallarına uymak 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 kritiktir.
SSS#
Yönlendirilmiş Sınırlayıcı Kutular (OBB) nelerdir ve Ultralytics YOLO modellerinde nasıl kullanılırlar?#
Yönlendirilmiş Sınırlayıcı Kutular (OBB), kutunun yalnızca eksene hizalanmak yerine, algılanan nesneyle daha yakından hizalanacak şekilde döndürülebildiği bir sınırlayıcı kutu etiketleme türüdür. Bu, özellikle nesnelerin görsel eksenleriyle hizalanmamış olabileceği hava veya uydu görüntülerinde faydalıdır. Ultralytics YOLO modellerinde OBB'ler, YOLO OBB formatındaki dört köşe noktasıyla temsil edilir. Bu, sınırlayıcı kutuların nesnelere daha iyi uyum sağlamak için dönebilmesi sayesinde daha doğru nesne algılamaya olanak tanır.
Mevcut DOTA veri kümesi etiketlerimi, Ultralytics YOLO26 ile kullanmak üzere nasıl YOLO OBB formatına dönüştürebilirim?#
Ultralytics'ten convert_dota_to_yolo_obb fonksiyonunu kullanarak DOTA veri seti etiketlerini YOLO OBB formatına dönüştürebilirsin. Bu dönüştürme, Ultralytics YOLO modelleriyle uyumluluk sağlayarak gelişmiş nesne algılama için OBB yeteneklerinden yararlanmanı sağlar. İşte hızlı bir örnek:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")Bu betik, DOTA açıklamalarını YOLO uyumlu bir formata yeniden biçimlendirecektir.
Veri kümemde yönlendirilmiş sınırlayıcı kutular (OBB) ile nasıl bir YOLO26 modeli eğitebilirim?#
YOLO26 modelini OBB'lerle eğitmek, veri setinin YOLO OBB formatında olmasını sağlamayı ve ardından modeli eğitmek için Ultralytics API kullanmayı içerir. İşte hem Python hem de CLI formatında bir ö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 gelişmiş algılama doğruluğu için ayrıntılı OBB etiketlerinden yararlanmasını sağlar.
Ultralytics 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ı kutulara sahip kapsamlı bir hava görüntüsü seti sunan DOTA veri setinin ilk versiyonu.
- DOTA-v1.5: Gelişmiş nesne algılama görevleri için DOTA-v1'e kıyasla ek açıklamalar ve iyileştirmeler sunan DOTA veri setinin ara versiyonu.
- DOTA-v2: Bu veri seti, öncelikli olarak havadan nesne algılamaya odaklanan, yönlendirilmiş sınırlayıcı kutulara sahip 1,7 milyon örnek ve 11.268 görsel içerir.
- DOTA8: Test ve sürekli entegrasyon (CI) kontrolleri için kullanılan DOTA veri setinin daha küçük, 8 görsel içeren bir alt kümesi.
- DOTA128: Tüm görselleri train klasöründe bulunan (hem train hem de val için kullanılan) 128 görselik bir alt küme; ilk OBB modeli geliştirme ve denemeleri için yönetilebilir kalırken DOTA8'den daha fazla çeşitlilik sunar.
Bu veri kümeleri, OBB'lerin hava ve uydu görüntüsü analizi gibi önemli bir avantaj sağladığı senaryolar için özel olarak hazırlanmıştır.
YOLO26 eğitimi için yönlendirilmiş sınırlayıcı kutulara sahip kendi veri kümemi kullanabilir miyim ve kullanabilirsem nasıl?#
Evet, YOLO26 eğitimi için yönlendirilmiş sınırlayıcı kutulara sahip kendi veri setini kullanabilirsin. Veri seti etiketlerinin, sınırlayıcı kutuların dört köşe noktasıyla tanımlanmasını içeren YOLO OBB formatına dönüştürüldüğünden emin ol. Ardından veri seti yollarını, sınıfları ve diğer gerekli ayrıntıları belirten bir YAML yapılandırma dosyası oluşturabilirsin. Veri setlerini oluşturma ve yapılandırma hakkında daha fazla bilgi için Desteklenen Veri Setleri bölümüne göz at.