Ultralytics YOLO27:

Dataset DOTA128#

Introduzione#

Ultralytics DOTA128 è un dataset di piccole dimensioni ma versatile per il rilevamento di oggetti orientati, composto da 128 immagini del set DOTAv1, utilizzate sia per l'addestramento sia per la convalida. Questo dataset è ideale per testare ed eseguire il debug di modelli con box di delimitazione orientati (OBB) o per sperimentare nuovi approcci al rilevamento. Con 128 immagini è abbastanza piccolo da essere facilmente gestibile, ma anche abbastanza vario da consentire di verificare la presenza di errori nelle pipeline di addestramento e di fungere da controllo preliminare prima di addestrare modelli su dataset più grandi.

Struttura del dataset#

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

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

File YAML del dataset#

Un file YAML definisce la configurazione del dataset. Contiene informazioni sui percorsi, sulle classi e su altri dettagli pertinenti del dataset. Per il dataset DOTA128, il file dota128.yaml è disponibile all'indirizzo 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 delle immagini 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 disposte a mosaico. La composizione a mosaico è una tecnica usata durante l'addestramento che combina più immagini in un'unica immagine per aumentare la varietà di oggetti e scene in ogni batch di addestramento. Questo aiuta 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 mosaico durante l'addestramento.

Citazioni e ringraziamenti#

Se usi il dataset DOTA per le tue attività 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'ottimo lavoro di raccolta e cura di questo dataset. Per conoscere a fondo il dataset e le sue peculiarità, 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 utilizzano lo stesso insieme di immagini, il che lo rende ideale per testare rapidamente ed eseguire il debug di modelli OBB come Ultralytics YOLO26. Grazie alle dimensioni gestibili e alla varietà, aiuta a individuare gli 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 delle immagini di 640, puoi usare i seguenti frammenti di codice. Per consultare l'elenco completo degli argomenti disponibili, visita 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 suo benchmark su larga scala e per le difficoltà che pone al rilevamento di oggetti nelle immagini aeree. Il sottoinsieme DOTA128 offre più varietà di DOTA8, pur restando gestibile per i test iniziali. Puoi consultare il file dota128.yaml, che contiene percorsi, classi e dettagli di configurazione, a questo link GitHub.

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

    • DOTA8: contiene solo 8 immagini (4 train, 4 val), ideale per test rapidi ed eseguire il debug
    • DOTA128: contiene 128 immagini (tutte nella cartella train, usate sia per train sia per val), con un buon equilibrio tra dimensioni e varietà
    • DOTA-v1 completo: contiene 1.869 immagini etichettate di train e val, è completo ma richiede molte risorse

    DOTA128 offre un buon compromesso: è più vario 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 dimensioni e rapporti d'aspetto degli oggetti e a scene diverse. Questa tecnica può essere illustrata visivamente con un batch di addestramento composto da immagini del dataset DOTA128 combinate a mosaico, favorendo lo sviluppo di modelli robusti. Scopri di più sul mosaico e sulle tecniche di addestramento nella nostra pagina Addestramento.

  • Ultralytics YOLO26 offre funzionalità di rilevamento di oggetti in tempo reale all'avanguardia, tra cui box 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. Scopri di più sui vantaggi e sull'utilizzo nella documentazione di Ultralytics YOLO26.

Commenti