Meet YOLO26: next-gen vision AI.

Link to this sectionDataset DOTA con OBB#

DOTA è un dataset specializzato che si concentra sul rilevamento di oggetti nelle immagini aeree. Derivato dalla serie di dataset DOTA, offre immagini annotate che catturano una vasta gamma di scene aeree con Oriented Bounding Boxes (OBB).

Classi di oggetti del dataset DOTA per il rilevamento aereo

Link to this sectionCaratteristiche principali#



Watch: How to Train Ultralytics YOLO26 on the DOTA Dataset for Oriented Bounding Boxes in Google Colab
  • Raccolta proveniente da vari sensori e piattaforme, con dimensioni delle immagini che variano da 800 × 800 a 20.000 × 20.000 pixel.
  • Include oltre 1,7 milioni di bounding box orientati in 18 categorie.
  • Supporta il rilevamento di oggetti multiscala grazie all'ampia distribuzione delle dimensioni degli oggetti per immagine.
  • Le istanze sono annotate da esperti utilizzando quadrilateri arbitrari (8 gradi di libertà), catturando oggetti di diverse scale, orientamenti e forme.

Link to this sectionVersioni del dataset#

Link to this sectionDOTA-v1.0#

  • Contiene 15 categorie comuni.
  • Comprende 2.806 immagini con 188.282 istanze.
  • Rapporti di suddivisione: 1/2 per l'addestramento, 1/6 per la convalida e 1/3 per il test.

Link to this sectionDOTA-v1.5#

Link to this sectionDOTA-v2.0#

  • Raccolte da Google Earth, Satellite GF-2 e altre immagini aeree.
  • Contiene 18 categorie comuni.
  • Comprende 11.268 immagini con ben 1.793.658 istanze.
  • Nuove categorie introdotte: "airport" e "helipad".
  • Suddivisioni delle immagini:
    • Addestramento: 1.830 immagini con 268.627 istanze.
    • Convalida: 593 immagini con 81.048 istanze.
    • Test-dev: 2.792 immagini con 353.346 istanze.
    • Test-challenge: 6.053 immagini con 1.090.637 istanze.

Link to this sectionStruttura del dataset#

DOTA presenta un layout strutturato su misura per le sfide di rilevamento di oggetti OBB:

  • Immagini: Una vasta collezione di immagini aeree ad alta risoluzione che catturano terreni e strutture diverse.
  • Oriented Bounding Boxes: Annotazioni sotto forma di rettangoli ruotati che racchiudono gli oggetti indipendentemente dal loro orientamento, ideali per catturare oggetti come aerei, navi ed edifici.

Link to this sectionApplicazioni#

DOTA funge da benchmark per l'addestramento e la valutazione di modelli specificamente adattati all'analisi di immagini aeree. Con l'inclusione delle annotazioni OBB, offre una sfida unica, consentendo lo sviluppo di modelli di rilevamento di oggetti specializzati che rispondono alle sfumature dell'immaginario aereo. Il dataset è particolarmente prezioso per applicazioni di telerilevamento, sorveglianza e monitoraggio ambientale.

Link to this sectionDataset YAML#

Un file YAML (Yet Another Markup Language) del dataset specifica le radici di immagini/etichette, i nomi delle classi e altri metadati importanti. Ultralytics mantiene file YAML ufficiali per le due versioni più comunemente utilizzate:

Usa il YAML che corrisponde alla versione che hai scaricato, oppure crea un YAML personalizzato se stai lavorando con DOTA-v2 o un altro derivato.

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 sectionSuddividi immagini DOTA#

Le immagini grezze superano abitualmente i 10.000 pixel per lato, quindi è necessario il tiling prima di fornire i dati a YOLO. Usa lo strumento di supporto qui sotto per affettare l'immagine sorgente in ritagli sovrapposti da 1024 × 1024 a scale multiple mantenendo sincronizzate le annotazioni.

Suddividi immagini
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,
)
Suggerimento

Mantieni la directory di output organizzata nel layout standard YOLO (images/train, labels/train, ecc.) in modo da poterla fare riferimento direttamente dal YAML del dataset.

Link to this sectionUtilizzo#

Per addestrare un modello sul dataset DOTA v1, puoi utilizzare i seguenti snippet di codice. Fai sempre riferimento alla documentazione del tuo modello per un elenco completo degli argomenti disponibili. Per chi desidera sperimentare prima con un sottoinsieme più piccolo, prendi in considerazione l'utilizzo del dataset DOTA8, che contiene solo 8 immagini per test rapidi.

Avviso

Ti preghiamo di notare che tutte le immagini e le relative annotazioni nel dataset DOTAv1 possono essere utilizzate per scopi accademici, ma l'uso commerciale è proibito. La tua comprensione e il rispetto per i desideri dei creatori del dataset sono molto apprezzati!

Esempio di Addestramento
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 sectionDati di esempio e annotazioni#

Dare un'occhiata al dataset ne illustra la profondità:

Dataset DOTA con annotazioni bounding box orientate

  • Esempi DOTA: Questo snapshot sottolinea la complessità delle scene aeree e il significato delle annotazioni Bounding Box orientate, che catturano gli oggetti nel loro orientamento naturale.

La ricchezza del dataset offre approfondimenti inestimabili sulle sfide di rilevamento di oggetti esclusive delle immagini aeree. Il dataset DOTA-v2.0 è diventato particolarmente popolare per progetti di telerilevamento e sorveglianza aerea grazie alle sue annotazioni complete e alle diverse categorie di oggetti.

Link to this sectionCitazioni e riconoscimenti#

Se utilizzi DOTA nel tuo lavoro, ti preghiamo di citare i documenti di ricerca pertinenti:

Citazione
@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}
}

Un ringraziamento speciale al team dietro i dataset DOTA per il loro lodevole impegno nella cura di questo dataset. Per una comprensione esaustiva del dataset e delle sue sfumature, visita il sito ufficiale DOTA.

Link to this sectionFAQ#

Link to this sectionCos'è il dataset DOTA e perché è importante per il rilevamento di oggetti nelle immagini aeree?#

Il dataset DOTA è un dataset specializzato incentrato sul rilevamento di oggetti nelle immagini aeree. È caratterizzato da Oriented Bounding Boxes (OBB), fornendo immagini annotate da diverse scene aeree. La diversità di DOTA nell'orientamento, scala e forma degli oggetti attraverso le sue 1,7 milioni di annotazioni e 18 categorie lo rende ideale per sviluppare e valutare modelli su misura per l'analisi delle immagini aeree, come quelli utilizzati nella sorveglianza, nel monitoraggio ambientale e nella gestione dei disastri.

Link to this sectionCome gestisce il dataset DOTA diverse scale e orientamenti nelle immagini?#

DOTA utilizza Oriented Bounding Boxes (OBB) per l'annotazione, che sono rappresentati da rettangoli ruotati che racchiudono gli oggetti indipendentemente dal loro orientamento. Questo metodo garantisce che gli oggetti, piccoli o con angolazioni diverse, vengano catturati accuratamente. Le immagini multiscala del dataset, che vanno da 800 × 800 a 20.000 × 20.000 pixel, consentono inoltre di rilevare efficacemente sia oggetti piccoli che grandi. Questo approccio è particolarmente prezioso per l'immaginario aereo dove gli oggetti appaiono a varie angolazioni e scale.

Link to this sectionCome posso addestrare un modello utilizzando il dataset DOTA?#

Per addestrare un modello sul dataset DOTA, puoi utilizzare il seguente esempio con Ultralytics YOLO:

Esempio di Addestramento
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)

Per ulteriori dettagli su come suddividere e pre-elaborare le immagini DOTA, fai riferimento alla sezione sulla suddivisione delle immagini DOTA.

Link to this sectionQuali sono le differenze tra DOTA-v1.0, DOTA-v1.5 e DOTA-v2.0?#

  • DOTA-v1.0: Include 15 categorie comuni in 2.806 immagini con 188.282 istanze. Il dataset è suddiviso in set di addestramento, convalida e test.
  • DOTA-v1.5: Si basa su DOTA-v1.0 annotando istanze molto piccole (meno di 10 pixel) e aggiungendo una nuova categoria, "container crane", per un totale di 403.318 istanze.
  • DOTA-v2.0: Si espande ulteriormente con annotazioni da Google Earth e Satellite GF-2, con 11.268 immagini e 1.793.658 istanze. Include nuove categorie come "airport" e "helipad".

Per un confronto dettagliato e specifiche aggiuntive, controlla la sezione delle versioni del dataset.

Link to this sectionCome posso preparare immagini DOTA ad alta risoluzione per l'addestramento?#

Le immagini DOTA, che possono essere molto grandi, vengono suddivise in risoluzioni più piccole per un addestramento gestibile. Ecco uno snippet Python per suddividere le immagini:

Esempio
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,
)

Questo processo facilita una migliore efficienza di addestramento e prestazioni del modello. Per istruzioni dettagliate, visita la sezione sulla suddivisione delle immagini DOTA.

Commenti