Meet YOLO26: next-gen vision AI.

Link to this sectionOBB ile DOTA Veri Kümesi#

DOTA, hava görüntülerinde nesne algılama konusuna odaklanan özel bir veri kümesidir. DOTA veri kümesi serisinden köken alan bu küme, Yönlendirilmiş Sınırlayıcı Kutular (OBB) içeren çeşitli hava sahası sahnelerini yakalayan etiketlenmiş görüntüler sunar.

Hava algılama için DOTA veri kümesi nesne sınıfları

Link to this sectionTemel Özellikler#



Watch: How to Train Ultralytics YOLO26 on the DOTA Dataset for Oriented Bounding Boxes in Google Colab
  • Çeşitli sensör ve platformlardan toplanan, 800 × 800 ile 20.000 × 20.000 piksel arasında değişen görüntü boyutları.
  • 18 kategoride 1,7 milyondan fazla yönlendirilmiş sınırlayıcı kutu içerir.
  • Görüntü başına geniş nesne boyutu aralığı sayesinde çok ölçekli nesne algılamayı kapsar.
  • Örnekler, uzmanlar tarafından farklı ölçeklerdeki, yönelimlerdeki ve şekillerdeki nesneleri yakalayan keyfi (8 serbestlik dereceli) dörtgenler kullanılarak etiketlenmiştir.

Link to this sectionVeri Kümesi Sürümleri#

Link to this sectionDOTA-v1.0#

  • 15 yaygın kategori içerir.
  • 188.282 örnek içeren 2.806 görüntüden oluşur.
  • Bölünme oranları: Eğitim için 1/2, doğrulama için 1/6 ve test için 1/3.

Link to this sectionDOTA-v1.5#

Link to this sectionDOTA-v2.0#

  • Google Earth, GF-2 Uydu ve diğer hava görüntülerinden koleksiyonlar.
  • 18 yaygın kategori içerir.
  • 1.793.658 adet muazzam sayıda örnek içeren 11.268 görüntüden oluşur.
  • Yeni tanıtılan kategoriler: "havaalanı" ve "helikopter pisti".
  • Görüntü bölümleri:
    • Eğitim: 268.627 örnek içeren 1.830 görüntü.
    • Doğrulama: 81.048 örnek içeren 593 görüntü.
    • Test-dev: 353.346 örnek içeren 2.792 görüntü.
    • Test-challenge: 1.090.637 örnek içeren 6.053 görüntü.

Link to this sectionVeri Kümesi Yapısı#

DOTA, OBB nesne algılama zorlukları için özel olarak tasarlanmış yapılandırılmış bir düzen sergiler:

  • Görüntüler: Farklı arazileri ve yapıları yakalayan geniş bir yüksek çözünürlüklü hava görüntüleri koleksiyonu.
  • Yönlendirilmiş Sınırlayıcı Kutular: Nesneleri yönelimlerinden bağımsız olarak kapsayan, uçaklar, gemiler ve binalar gibi nesneleri yakalamak için ideal, döndürülmüş dikdörtgenler biçimindeki etiketler.

Link to this sectionUygulamalar#

DOTA, hava görüntüsü analizi için özel olarak hazırlanmış modellerin eğitimi ve değerlendirilmesi için bir kıyaslama görevi görür. OBB etiketlerinin dahil edilmesiyle, hava görüntülerinin nüanslarına hitap eden özel nesne algılama modellerinin geliştirilmesini sağlayan benzersiz bir zorluk sunar. Veri kümesi özellikle uzaktan algılama, gözetleme ve çevresel izleme uygulamaları için değerlidir.

Link to this sectionVeri Kümesi YAML#

Bir veri kümesi YAML (Yet Another Markup Language) dosyası; görüntü/etiket köklerini, sınıf adlarını ve diğer önemli meta verileri belirtir. Ultralytics, en yaygın kullanılan iki sürüm için resmi YAML dosyalarını korur:

İndirdiğiniz sürümle eşleşen YAML dosyasını kullanın veya DOTA-v2 ya da başka bir türev ile çalışıyorsanız özel bir YAML oluşturun.

DOTAv1.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── DOTAv1 ← downloads here (2 GB)

# 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: DOTAv1 # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
test: images/test # test images (optional) 937 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/DOTAv1.zip

Link to this sectionDOTA görüntülerini böl#

Ham görüntüler genellikle kenar başına 10.000 pikseli aştığından, verileri YOLO'ya beslemeden önce döşeme işlemi gerekir. Kaynak görüntüleri, etiketleri senkronize tutarken birden fazla ölçekte örtüşen 1024 × 1024'lük kırpmalara ayırmak için aşağıdaki yardımcıyı kullan.

Görüntüleri böl
from ultralytics.data.split_dota import split_test, split_trainval

# Split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# Split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
İpucu

Çıktı dizinini standart YOLO düzeninde (images/train, labels/train vb.) tut ki veri kümesi YAML dosyasından doğrudan referans verebilesin.

Link to this sectionKullanım#

DOTA v1 veri kümesi üzerinde bir model eğitmek için aşağıdaki kod parçacıklarını kullanabilirsin. Mevcut argümanların kapsamlı bir listesi için her zaman modelinin belgelerine başvur. Önce daha küçük bir alt küme ile deneme yapmak isteyenler için, hızlı test amacıyla sadece 8 görüntü içeren DOTA8 veri kümesini kullanmayı düşün.

Uyarı

Lütfen DOTAv1 veri kümesindeki tüm görüntülerin ve ilişkili etiketlerin akademik amaçlarla kullanılabileceğini, ancak ticari kullanımın yasak olduğunu unutma. Veri kümesi oluşturucularının isteklerine gösterdiğin anlayış ve saygı için çok teşekkürler!

Eğitim Örneği
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 sectionÖrnek Veriler ve Etiketler#

Veri kümesine bir göz atmak derinliğini gösterir:

Yönlendirilmiş sınırlayıcı kutu etiketlerine sahip DOTA veri kümesi

  • DOTA örnekleri: Bu anlık görüntü, hava sahası sahnelerinin karmaşıklığını ve nesneleri doğal yönelimlerinde yakalayan Yönlendirilmiş Sınırlayıcı Kutu etiketlerinin önemini vurgular.

Veri kümesinin zenginliği, hava görüntülerine özgü nesne algılama zorlukları hakkında paha biçilmez içgörüler sunar. DOTA-v2.0 veri kümesi, kapsamlı etiketleri ve çeşitli nesne kategorileri nedeniyle özellikle uzaktan algılama ve hava gözetleme projeleri için popüler hale gelmiştir.

Link to this sectionAlıntılar ve Teşekkürler#

Çalışmalarında DOTA kullanıyorsan, lütfen ilgili araştırma makalelerine atıfta bulun:

Alıntı
@article{9560031,
  author={Ding, Jian and Xue, Nan and Xia, Gui-Song and Bai, Xiang and Yang, Wen and Yang, Michael and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges},
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3117983}
}

Bu veri kümesini kürate etme konusundaki övgüye değer çabaları için DOTA veri kümelerinin arkasındaki ekibe özel bir teşekkür borçluyuz. Veri kümesi ve nüansları hakkında kapsamlı bir anlayış için lütfen resmi DOTA web sitesini ziyaret et.

Link to this sectionSSS#

Link to this sectionDOTA veri kümesi nedir ve hava görüntülerinde nesne algılama için neden önemlidir?#

DOTA veri kümesi, hava görüntülerinde nesne algılamaya odaklanan özel bir veri kümesidir. Çeşitli hava sahası sahnelerinden etiketlenmiş görüntüler sağlayan Yönlendirilmiş Sınırlayıcı Kutular (OBB) içerir. DOTA'nın 1,7 milyon etiketi ve 18 kategorisi boyunca nesne yönelimi, ölçeği ve şeklindeki çeşitliliği; gözetleme, çevresel izleme ve afet yönetimi gibi alanlarda kullanılanlar dahil olmak üzere, hava görüntüsü analizi için uyarlanmış modelleri geliştirmek ve değerlendirmek için ideal hale getirir.

Link to this sectionDOTA veri kümesi görüntülerdeki farklı ölçekleri ve yönelimleri nasıl ele alır?#

DOTA, etiketleme için nesneleri yönelimlerinden bağımsız olarak kapsayan, döndürülmüş dikdörtgenlerle temsil edilen Yönlendirilmiş Sınırlayıcı Kutuları (OBB) kullanır. Bu yöntem, küçük veya farklı açılardaki nesnelerin doğru bir şekilde yakalanmasını sağlar. Veri kümesinin 800 × 800 ile 20.000 × 20.000 piksel arasında değişen çok ölçekli görüntüleri, hem küçük hem de büyük nesnelerin etkili bir şekilde algılanmasına olanak tanır. Bu yaklaşım, nesnelerin çeşitli açılarda ve ölçeklerde göründüğü hava görüntüleri için özellikle değerlidir.

Link to this sectionDOTA veri kümesini kullanarak nasıl model eğitebilirim?#

DOTA veri kümesi üzerinde bir model eğitmek için Ultralytics YOLO ile aşağıdaki örneği kullanabilirsin:

Eğitim Örneği
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)

DOTA görüntülerini nasıl böleceğin ve ön işlemden geçireceğin hakkında daha fazla ayrıntı için DOTA görüntülerini böl bölümüne bak.

Link to this sectionDOTA-v1.0, DOTA-v1.5 ve DOTA-v2.0 arasındaki farklar nelerdir?#

  • DOTA-v1.0: 188.282 örnek içeren 2.806 görüntü üzerinde 15 yaygın kategori içerir. Veri kümesi eğitim, doğrulama ve test setlerine ayrılmıştır.
  • DOTA-v1.5: Çok küçük örnekleri (10 pikselden küçük) etiketleyerek ve "konteyner vinci" adlı yeni bir kategori ekleyerek toplam 403.318 örnekle DOTA-v1.0'ın üzerine inşa edilmiştir.
  • DOTA-v2.0: Google Earth ve GF-2 Uydu'dan gelen etiketlerle daha da genişleyerek 11.268 görüntü ve 1.793.658 örnek içerir. "Havaalanı" ve "helikopter pisti" gibi yeni kategoriler eklenmiştir.

Ayrıntılı bir karşılaştırma ve ek bilgiler için veri kümesi sürümleri bölümüne göz at.

Link to this sectionYüksek çözünürlüklü DOTA görüntülerini eğitim için nasıl hazırlayabilirim?#

Çok büyük olabilen DOTA görüntüleri, yönetilebilir bir eğitim için daha küçük çözünürlüklere bölünür. Görüntüleri bölmek için işte bir Python parçacığı:

Örnek
from ultralytics.data.split_dota import split_test, split_trainval

# split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)

Bu işlem, daha iyi eğitim verimliliği ve model performansı sağlar. Ayrıntılı talimatlar için DOTA görüntülerini böl bölümünü ziyaret et.

Yorumlar