OBB ile DOTA Veri Kümesi
DOTA, nesne tespiti konusunda uzmanlaşmış bir veri kümesi olarak öne çıkar ve hava görüntülerindeki nesne tespitine odaklanır. DOTA veri kümesi serisinden türetilmiştir ve çeşitli hava sahnelerini Yönlendirilmiş Sınırlayıcı Kutular (OBB) ile yakalayan açıklama eklenmiş görüntüler sunar.
Temel Özellikler
İzle: Google Colab'da Yönlendirilmiş Sınırlayıcı Kutular için DOTA Veri Kümesi üzerinde Ultralytics YOLO11 Nasıl Eğitilir
- 800 × 800 ile 20.000 × 20.000 piksel arasında değişen görüntü boyutlarına sahip, çeşitli sensörlerden ve platformlardan toplama.
- özelliği, 18 kategoride 1,7 milyondan fazla Yönlendirilmiş Sınırlayıcı Kutu.
- Çok ölçekli nesne algılamayı kapsar.
- Örnekler, farklı ölçeklerdeki, yönelimlerdeki ve şekillerdeki nesneleri yakalayan keyfi (8 d.o.f.) dörtgen kullanılarak uzmanlar tarafından açıklanır.
Veri Kümesi Sürümleri
DOTA-v1.0
- 15 ortak kategori içerir.
- 188.282 örnekle birlikte 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.
DOTA-v1.5
- DOTA-v1.0 ile aynı görüntüleri içerir.
- Çok küçük örnekler (10 pikselden az) de açıklanır.
- Yeni bir kategori eklenmesi: "konteyner vinci".
- Toplam 403.318 örnek.
- Hava Görüntülerinde Nesne Tespiti Üzerine DOAI Yarışması 2019 için yayınlandı.
DOTA-v2.0
- Google Earth, GF-2 Uydusu ve diğer hava görüntülerinden koleksiyonlar.
- 18 ortak kategori içerir.
- Tam 1.793.658 örnekle birlikte 11.268 görüntüden oluşur.
- Yeni eklenen kategoriler: "havaalanı" ve "helikopter pisti".
- Görüntü bölmeleri:
- Eğitim: 268.627 örneklemli 1.830 resim.
- Doğrulama: 81.048 örnek içeren 593 görüntü.
- Test-dev: 353.346 örneklemli 2.792 görüntü.
- Test-challenge: 1.090.637 örneklemli 6.053 görüntü.
Veri Seti Yapısı
DOTA, OBB nesne algılama zorlukları için özel olarak tasarlanmış yapılandırılmış bir düzene sahiptir:
- Görüntüler: Çeşitli 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, döndürülmüş dikdörtgenler şeklindeki açıklamalar; uçaklar, gemiler ve binalar gibi nesneleri yakalamak için idealdir.
Uygulamalar
DOTA, özellikle hava görüntü analizi için uyarlanmış modelleri eğitmek ve değerlendirmek için bir ölçüt görevi görür. OBB açıklamalarının dahil edilmesiyle, hava görüntülerinin nüanslarına hitap eden özel nesne algılama modellerinin geliştirilmesini sağlayarak benzersiz bir zorluk sunar. Veri kümesi, uzaktan algılama, gözetim ve çevre izleme uygulamaları için özellikle değerlidir.
Veri Seti YAML
Tipik olarak, veri kümeleri, veri kümesinin yapılandırmasını detaylandıran bir YAML (Yet Another Markup Language) dosyası içerir. DOTA v1 ve DOTA v1.5 için Ultralytics şunları sağlar: DOTAv1.yaml
ve DOTAv1.5.yaml
dosyaları. Bunlar ve DOTA v2 hakkında ek ayrıntılar için lütfen DOTA'nın resmi deposuna ve belgelerine bakın.
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
# └── dota1 ← downloads here (2GB)
# 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
DOTA resimlerini böl
DOTA veri kümesini eğitmek için, yüksek çözünürlüklü orijinal DOTA görüntülerini çok ölçekli şekilde 1024x1024 çözünürlüğe sahip görüntülere böleriz. Bu ön işleme adımı, orijinal görüntüler son derece büyük olabileceğinden verimli eğitim için çok önemlidir.
Resimleri 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,
)
Kullanım
DOTA v1 veri kümesi üzerinde bir model eğitmek için aşağıdaki kod parçacıklarını kullanabilirsiniz. Mevcut argümanların kapsamlı bir listesi için daima modelinizin belgelerine bakın. Daha küçük bir alt küme ile deneme yapmak isteyenler için, hızlı test için yalnızca 8 görüntü içeren DOTA8 veri kümesini kullanmayı düşünebilirsiniz.
Uyarı
Lütfen DOTAv1 veri setindeki tüm resimlerin ve ilgili açıklamaların akademik amaçlarla kullanılabileceğini, ancak ticari kullanımın yasak olduğunu unutmayın. Veri seti oluşturucularının isteklerine gösterdiğiniz anlayış ve saygı için çok teşekkür ederiz!
Eğitim Örneği
from ultralytics import YOLO
# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")
# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024
Örnek Veri ve Açıklamalar
Veri kümesine bir göz atmak, derinliğini gösterir:
- DOTA örnekleri: Bu anlık görüntü, hava sahnelerinin karmaşıklığının ve nesneleri doğal yönelimlerinde yakalayan Yönlendirilmiş Sınırlayıcı Kutu açıklamalarının öneminin altını çiziyor.
Veri kümesinin zenginliği, yalnızca hava görüntülemeye özgü nesne algılama zorluklarına dair paha biçilmez bilgiler sunar. DOTA-v2.0 veri kümesi, kapsamlı açıklamaları ve çeşitli nesne kategorileri nedeniyle özellikle uzaktan algılama ve hava gözetleme projeleri için popüler hale gelmiştir.
Alıntılar ve Teşekkürler
Çalışmalarında DOTA'dan yararlananlar için, ilgili araştırma makalelerine atıfta bulunmak önemlidir:
@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 düzenleme konusundaki takdire şayan çabalarından dolayı DOTA veri kümelerinin arkasındaki ekibe özel bir teşekkür. Veri kümesi ve nüanslarının kapsamlı bir şekilde anlaşılması için lütfen resmi DOTA web sitesini ziyaret edin.
SSS
DOTA veri seti nedir ve hava görüntülerinde nesne tespiti için neden önemlidir?
DOTA veri seti, hava görüntülerinde nesne tespiti üzerine odaklanan özel bir veri setidir. Yönlendirilmiş Sınırlayıcı Kutular (OBB) içerir ve çeşitli hava sahnelerinden açıklanmış görüntüler sağlar. DOTA'nın 1,7 milyon açıklaması ve 18 kategorisi genelindeki nesne yönlendirmesi, ölçeği ve şeklindeki çeşitlilik, onu gözetim, çevre izleme ve afet yönetimi gibi alanlarda kullanılanlar gibi hava görüntüleme analizi için uyarlanmış modeller geliştirmek ve değerlendirmek için ideal hale getirmektedir.
DOTA veri kümesi, görüntülerdeki farklı ölçekleri ve yönlendirmeleri nasıl ele alır?
DOTA, nesneleri yönlerinden 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çılarda olsun, nesnelerin doğru bir şekilde yakalanmasını sağlar. 800 × 800 ile 20.000 × 20.000 piksel arasında değişen veri kümesinin ç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.
DOTA veri kümesini kullanarak bir modeli nasıl eğitebilirim?
DOTA veri kümesi üzerinde bir model eğitmek için, Ultralytics YOLO ile aşağıdaki örneği kullanabilirsiniz:
Eğitim Örneği
from ultralytics import YOLO
# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")
# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024
DOTA resimlerini bölme ve ön işleme hakkında daha fazla bilgi için DOTA resimlerini bölme bölümüne bakın.
DOTA-v1.0, DOTA-v1.5 ve DOTA-v2.0 arasındaki farklar nelerdir?
- DOTA-v1.0: 188.282 örnekle 2.806 görüntüde 15 ortak kategori içerir. Veri kümesi eğitim, doğrulama ve test kümelerine ayrılmıştır.
- DOTA-v1.5: Çok küçük örnekleri (10 pikselden az) açıklayarak ve toplamda 403.318 örnekle yeni bir "konteyner vinci" kategorisi ekleyerek DOTA-v1.0 üzerine inşa edilmiştir.
- DOTA-v2.0: Google Earth ve GF-2 Uydusu'ndan alınan açıklamalarla daha da genişleyerek 11.268 görüntü ve 1.793.658 örnek içerir. "Havaalanı" ve "helikopter pisti" gibi yeni kategoriler içerir.
Ayrıntılı bir karşılaştırma ve ek ayrıntılar için veri kümesi sürümleri bölümünü kontrol edin.
Yü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 eğitim için daha küçük çözünürlüklere bölünür. Görüntüleri bölmek için bir Python kodu 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 split DOTA images section bölümünü ziyaret edin.