Ultralytics YOLO27: Iscriviti alla lista d'attesa.

Dataset DOTA128#

Introduzione#

DOTA128 di Ultralytics è un dataset piccolo ma versatile per il rilevamento di oggetti orientati, composto da 128 immagini del set DOTAv1, usate sia per l'addestramento sia per la convalida. Questo dataset è ideale per testare e correggere modelli con riquadri di delimitazione orientati (OBB) o per sperimentare nuovi approcci di rilevamento. Con 128 immagini, è abbastanza piccolo da essere gestito facilmente, ma sufficientemente vario da consentire di verificare la presenza di errori nelle pipeline di addestramento e di effettuare un controllo preliminare prima di addestrare modelli su dataset più grandi.

Struttura del dataset#

  • Immagini: 128 ritagli aerei (tutti nella cartella train, usati sia per train sia per val) provenienti da DOTAv1.
  • Classi: eredita le 15 categorie di DOTAv1, come aereo, nave e veicolo grande.
  • Etichette: riquadri di delimitazione orientati in formato YOLO, salvati in file .txt accanto a ciascuna immagine.
  • Download: 34 MB, scaricato automaticamente dagli asset GitHub di Ultralytics al primo addestramento.

Questo dataset è pensato per essere utilizzato con Ultralytics Platform e YOLO26.

YAML del dataset#

Per definire la configurazione del dataset si usa un file YAML. Il file contiene informazioni sui percorsi del dataset, sulle classi e su altri dettagli pertinenti. Per il dataset DOTA128, il file dota128.yaml è gestito 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, puoi usare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, consulta la pagina Addestramento del modello.

Esempio di addestramento
from ultralytics import YOLO

# Carica un modello
model = YOLO("yolo26n-obb.pt")  # carica un modello preaddestrato (consigliato per l'addestramento)

# Addestra il modello
results = model.train(data="dota128.yaml", epochs=100, imgsz=640)

Immagini di esempio e annotazioni#

Ecco alcuni esempi di immagini del dataset DOTA128, con le relative annotazioni:

DOTA128 oriented bounding box dataset training mosaic
  • Immagine a mosaico: questa immagine mostra un batch di addestramento composto da immagini del dataset unite in un mosaico. La creazione di mosaici è una tecnica utilizzata durante l'addestramento che combina più immagini in una sola per aumentare la varietà di oggetti e scene in ogni batch di addestramento. Questo aiuta a migliorare la capacità del modello di generalizzare a oggetti di dimensioni e proporzioni diverse e a contesti differenti.

L'esempio mostra la varietà e la complessità delle immagini nel dataset DOTA128 e i vantaggi dell'uso del mosaico durante l'addestramento.

Citazioni e ringraziamenti#

Se usi il dataset DOTA nel tuo lavoro di ricerca o sviluppo, cita 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={2022},
  volume={44},
  number={11},
  pages={7778-7796},
  doi={10.1109/TPAMI.2021.3117983}
}

Un ringraziamento speciale al team che ha realizzato i dataset DOTA per l'apprezzabile lavoro di raccolta e preparazione di questo dataset. Per conoscere a fondo il dataset e le sue caratteristiche, visita il sito ufficiale di DOTA.

Domande frequenti#

  • Il dataset DOTA128 è un versatile dataset per il rilevamento di oggetti orientati, composto da 128 immagini del set DOTAv1, tutte archiviate nella cartella train. L'addestramento e la convalida usano lo stesso insieme di immagini, rendendolo ideale per testare e correggere rapidamente modelli OBB come Ultralytics YOLO26. Grazie alle dimensioni gestibili e alla varietà, aiuta a individuare errori nella pipeline e a eseguire controlli preliminari prima dell'addestramento su dataset più grandi. Scopri di più sul rilevamento OBB con Ultralytics YOLO26.

  • Per addestrare un modello YOLO26n-obb sul dataset DOTA128 per 100 epoche con una dimensione dell'immagine di 640, puoi usare i seguenti frammenti di codice. Per le opzioni complete degli argomenti, consulta la pagina Addestramento del modello.

    Esempio di addestramento
    from ultralytics import YOLO
    
    # Carica un modello
    model = YOLO("yolo26n-obb.pt")  # carica un modello preaddestrato (consigliato per l'addestramento)
    
    # Addestra il modello
    results = model.train(data="dota128.yaml", epochs=100, imgsz=640)
  • Il dataset DOTA è noto per il benchmark su larga scala e per le sfide che pone al rilevamento degli oggetti nelle immagini aeree. Il sottoinsieme DOTA128 offre più varietà di DOTA8, pur restando gestibile per i test iniziali. Puoi trovare il file dota128.yaml, che contiene percorsi, classi e dettagli di configurazione, a questo link GitHub.

  • Per dimensioni, DOTA128 (128 immagini) si colloca tra DOTA8 (8 immagini) e il dataset completo DOTA-v1 (1.869 immagini etichettate per train e val):

    • DOTA8: contiene solo 8 immagini (4 train, 4 val), ideale per test rapidi e debugging
    • DOTA128: contiene 128 immagini (tutte nella cartella train, usate sia per train sia per val), un equilibrio tra dimensioni e varietà
    • DOTA-v1 completo: contiene 1.869 immagini etichettate per train e val, completo ma dispendioso in termini di risorse

    DOTA128 offre un buon compromesso: più varietà di DOTA8, ma è molto più gestibile del dataset DOTA completo per la sperimentazione e lo sviluppo iniziale dei modelli.

  • Il mosaico combina più immagini in una durante l'addestramento, aumentando la varietà di oggetti e contesti in ogni batch. Questo migliora la capacità del modello di generalizzare a oggetti di dimensioni e rapporti d'aspetto diversi e a scene differenti. Questa tecnica può essere illustrata visivamente con un batch di addestramento composto da immagini del dataset DOTA128 unite con il mosaico, contribuendo allo sviluppo di modelli robusti. Scopri di più sul mosaico e sulle tecniche di addestramento nella nostra pagina Addestramento.

  • Ultralytics YOLO26 offre funzionalità all'avanguardia per il rilevamento degli oggetti in tempo reale, tra cui riquadri di delimitazione orientati (OBB), segmentazione di istanze e una pipeline di addestramento estremamente versatile. È adatto a diverse applicazioni e offre modelli preaddestrati per un fine-tuning efficiente. Approfondisci i vantaggi e l'utilizzo nella documentazione di Ultralytics YOLO26.

Commenti