Dataset DOTA128

Introduzione

Ultralytics DOTA128 è un piccolo ma versatile object detection dataset composto da 128 immagini tratte dal set DOTAv1, 128 per l'addestramento e la validazione. Questo dataset è ideale per testare ed eseguire il debug di modelli con oriented bounding box (OBB), o per sperimentare con nuovi approcci di rilevamento. Con 128 immagini, è abbastanza piccolo da essere facilmente gestibile, ma sufficientemente diversificato per testare le pipeline di addestramento alla ricerca di errori e fungere da controllo di validità prima di addestrare su dataset più grandi.

Struttura del dataset

  • Immagini: 128 riquadri aerei (tutti nella cartella train, utilizzati sia per train che per val) provenienti da DOTAv1.
  • Classi: Eredita le 15 categorie di DOTAv1 come plane, ship e large vehicle.
  • Etichette: Oriented bounding box in formato YOLO salvati come .txt file accanto a ogni immagine.

Questo dataset è inteso per l'uso con Ultralytics Platform e YOLO26.

YAML del dataset

Un file YAML (Yet Another Markup Language) viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, le classi e altre informazioni rilevanti. Nel caso del dataset DOTA128, il dota128.yaml è mantenuto su https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota128.yaml.

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

# DOTA128 dataset (128 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota128/
# Example usage: yolo train model=yolo26n-obb.pt data=dota128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota128 ← downloads here (34 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: dota128 # dataset root dir
train: images/train # train images (relative to 'path') 128 images
val: images/train # val images (relative to 'path') 128 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/dota128.zip

Usage

Per addestrare un modello YOLO26n-obb sul dataset DOTA128 per 100 epochs con una dimensione dell'immagine di 640, puoi utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, fai riferimento alla pagina del modello Addestramento.

Esempio di Train
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-obb.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="dota128.yaml", epochs=100, imgsz=640)

Immagini campione e annotazioni

Ecco alcuni esempi di immagini dal dataset DOTA128, insieme alle relative annotazioni:

DOTA128 oriented bounding box dataset training mosaic
  • Immagine Mosaiced: Questa immagine mostra un batch di addestramento composto da immagini del dataset elaborate a mosaico. Il mosaico è una tecnica utilizzata durante l'addestramento che combina più immagini in un'unica immagine per aumentare la varietà di oggetti e scene all'interno di ogni batch di addestramento. Questo aiuta a migliorare la capacità del modello di generalizzare a diverse dimensioni di oggetti, proporzioni e contesti.

L'esempio mostra la varietà e la complessità delle immagini nel dataset DOTA128 e i vantaggi dell'utilizzo del mosaicing durante il processo di addestramento.

Citazioni e riconoscimenti

Se utilizzi il dataset DOTA nel tuo lavoro di ricerca o sviluppo, ti preghiamo di citare il seguente articolo:

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.

FAQ

Cos'è il dataset DOTA128 e come può essere utilizzato?

Il dataset DOTA128 è un versatile dataset di rilevamento di oggetti orientati composto da 128 immagini tratte dal set DOTAv1, tutte archiviate nella cartella train. Sia l'addestramento che la validazione utilizzano lo stesso set di immagini, rendendolo ideale per flussi di lavoro rapidi di test e debug. È l'ideale per testare ed eseguire il debug di modelli OBB come Ultralytics YOLO26. Grazie alle sue dimensioni gestibili e alla sua diversità, aiuta a identificare errori nella pipeline ed eseguire controlli di validità prima di distribuire dataset più grandi. Scopri di più sul rilevamento OBB con Ultralytics YOLO26.

Come posso addestrare un modello YOLO26 utilizzando il dataset DOTA128?

Per addestrare un modello YOLO26n-obb sul dataset DOTA128 per 100 epoche con una dimensione immagine di 640, puoi utilizzare i seguenti frammenti di codice. Per opzioni di argomenti complete, fai riferimento al modello Addestramento.

Esempio di Train
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-obb.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="dota128.yaml", epochs=100, imgsz=640)

Quali sono le caratteristiche principali del dataset DOTA e dove posso accedere al file YAML?

Il dataset DOTA è noto per il suo benchmark su larga scala e le sfide che presenta per il rilevamento di oggetti in immagini aeree. Il sottoinsieme DOTA128 offre una maggiore diversità rispetto a DOTA8 pur rimanendo gestibile per i test iniziali. Puoi accedere al dota128.yaml file, che contiene percorsi, classi e dettagli di configurazione, a questo link GitHub.

Come si confronta DOTA128 con le altre varianti del dataset DOTA?

DOTA128 (128 immagini) si colloca tra DOTA8 (8 immagini) e il dataset DOTA-v1 dataset (1.869 immagini) in termini di dimensioni:

  • DOTA8: Contiene solo 8 immagini (4 di addestramento, 4 di validazione) - ideale per test rapidi e debug
  • DOTA128: Contiene 128 immagini (tutte nella cartella train, utilizzate sia per train che per val) - bilanciato tra dimensioni e diversità
  • Full DOTA-v1: Contiene 1.869 immagini - completo ma richiede molte risorse

DOTA128 offre un buon compromesso, offrendo maggiore diversità rispetto a DOTA8 pur rimanendo molto più gestibile rispetto al dataset DOTA completo per la sperimentazione e lo sviluppo iniziale del modello.

In che modo il mosaicing migliora l'addestramento del modello con il dataset DOTA128?

Il mosaicing combina più immagini in una sola durante l'addestramento, aumentando la varietà di oggetti e contesti all'interno di ogni batch. Ciò migliora la capacità di un modello di generalizzare a diverse dimensioni di oggetti, proporzioni e scene. Questa tecnica può essere dimostrata visivamente attraverso un batch di addestramento composto da immagini del dataset DOTA128 sottoposte a mosaicing, aiutando nello sviluppo di un modello robusto. Esplora altro sul mosaicing e sulle tecniche di addestramento nel nostro Addestramento.

Perché dovrei usare Ultralytics YOLO26 per compiti di rilevamento di oggetti orientati?

Ultralytics YOLO26 fornisce funzionalità di rilevamento oggetti in tempo reale all'avanguardia, incluse funzionalità come oriented bounding boxes (OBB), segmentazione di istanze, e una pipeline di addestramento altamente versatile. È adatto per varie applicazioni e offre modelli preaddestrati per un fine-tuning efficiente. Scopri di più sui vantaggi e sull'utilizzo nella documentazione di Ultralytics YOLO26.

Commenti