Vai al contenuto

Dataset DOTA128

Introduzione

Ultralytics DOTA128 è un dataset di rilevamento di oggetti orientati piccolo ma versatile, composto da 128 immagini dal set DOTAv1, 128 per l'addestramento e la validazione. Questo dataset è ideale per testare e debuggare modelli di bounding box orientati (OBB), o per sperimentare nuovi approcci di rilevamento. Con 128 immagini, è abbastanza piccolo da essere facilmente gestibile, ma abbastanza diversificato da testare le pipeline di addestramento per errori e fungere da sanity check prima di addestrare dataset più grandi.

Struttura del set di dati

  • Immagini: 128 tessere aeree (tutte nella cartella di training, utilizzate sia per il training che per la validazione) provenienti da DOTAv1.
  • Classi: Eredita le 15 categorie DOTAv1 come aereo, nave e veicolo di grandi dimensioni.
  • Etichette: Bounding box orientati in formato YOLO salvati come .txt file accanto a ciascuna immagine.

Questo dataset è destinato all'uso con Piattaforma Ultralytics e YOLO26.

YAML del set di dati

Un file YAML (Yet Another Markup Language) viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi, le classi e altre informazioni rilevanti del dataset. Nel caso del dataset DOTA128, il dota128.yaml file è mantenuto in 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

Utilizzo

Per addestrare un modello YOLO26n-obb sul dataset DOTA128 per 100 epoche con una dimensione dell'immagine di 640, è possibile utilizzare i seguenti snippet di codice. Per un elenco completo degli argomenti disponibili, fare riferimento alla pagina Training del modello.

Esempio di addestramento

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)
# Start training from a pretrained *.pt model
yolo obb train data=dota128.yaml model=yolo26n-obb.pt epochs=100 imgsz=640

Immagini di esempio e annotazioni

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

Mosaico di training del dataset DOTA128 con bounding box orientate

  • Immagine mosaicata: questa immagine mostra un batch di addestramento composto da immagini del dataset mosaicato. Il mosaicing è 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. Ciò contribuisce a migliorare la capacità del modello di generalizzare a diverse dimensioni degli oggetti, proporzioni e contesti.

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

Citazioni e ringraziamenti

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

@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, visitare il sito web ufficiale di DOTA.

FAQ

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

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

Come addestro un modello YOLO26 utilizzando il dataset DOTA128?

Per addestrare un modello YOLO26n-obb sul dataset DOTA128 per 100 epoche con una dimensione dell'immagine di 640, è possibile utilizzare i seguenti snippet di codice. Per opzioni complete sugli argomenti, fare riferimento alla pagina Training del modello.

Esempio di addestramento

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)
# Start training from a pretrained *.pt model
yolo obb train data=dota128.yaml model=yolo26n-obb.pt 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 nelle immagini aeree. Il sottoinsieme DOTA128 offre maggiore diversità rispetto a DOTA8 pur rimanendo gestibile per i test iniziali. È possibile accedere al dota128.yaml file, che contiene percorsi, classi e dettagli di configurazione, a questo Link GitHub.

Come si confronta DOTA128 con altre varianti del dataset DOTA?

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

  • DOTA8: Contiene solo 8 immagini (4 per il training, 4 per la validazione) - ideale per test rapidi e debugging
  • DOTA128: Contiene 128 immagini (tutte nella cartella di training, utilizzate sia per il training che per la validazione) - bilanciato tra dimensione e diversità
  • Full DOTA-v1: Contiene 1.869 immagini - completo ma intensivo in termini di risorse

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

Come il mosaicing migliora l'addestramento del modello con il dataset DOTA128?

Il mosaicing combina più immagini in una 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, rapporti d'aspetto e scene. Questa tecnica può essere dimostrata visivamente attraverso un batch di addestramento composto da immagini del dataset DOTA128 sottoposte a mosaicing, contribuendo allo sviluppo di modelli robusti. Scopri di più sul mosaicing e sulle tecniche di addestramento sulla nostra pagina Formazione.

Perché dovrei usare Ultralytics per attività di rilevamento di oggetti orientate?

Ultralytics YOLO26 offre capacità di object detection in tempo reale all'avanguardia, incluse funzionalità come le bounding box orientate (OBB), la instance segmentation e una pipeline di addestramento altamente versatile. È adatto a diverse applicazioni e offre modelli pre-addestrati per un fine-tuning efficiente. Esplora ulteriormente i vantaggi e l'utilizzo nella documentazione di Ultralytics YOLO26.



📅 Creato 20 giorni fa ✏️ Aggiornato 20 giorni fa
Laughing-q

Commenti