Ultralytics YOLO27:

Dataset DOTA8#

Introduzione#

DOTA8 di Ultralytics è un dataset piccolo ma versatile per il rilevamento di oggetti orientati, composto dalle prime 8 immagini del set DOTAv1 suddiviso, 4 per l'addestramento e 4 per la convalida. Questo dataset è ideale per testare e correggere i modelli di rilevamento degli oggetti o per sperimentare nuovi approcci di rilevamento. Con 8 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: 8 ritagli aerei (4 train, 4 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: 1 MB, scaricato automaticamente dagli asset GitHub di Ultralytics al primo addestramento.

  • Struttura consigliata:

    datasets/dota8/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/

Esplora DOTA8 sulla piattaforma Ultralytics per sfogliare i ritagli aerei con le sovrapposizioni dei riquadri orientati, visualizzare la distribuzione delle classi e le mappe di calore delle annotazioni nella scheda Grafici e clonare il dataset per addestrare il tuo modello nel cloud.

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 DOTA8, il file dota8.yaml è gestito in https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota8.yaml.

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

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

Utilizzo#

Per addestrare un modello YOLO26n-obb sul dataset DOTA8 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="dota8.yaml", epochs=100, imgsz=640)

Immagini di esempio e annotazioni#

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

DOTA8 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 DOTA8 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 DOTA8 è un dataset piccolo e versatile per il rilevamento di oggetti orientati, composto dalle prime 8 immagini del set DOTAv1 suddiviso, con 4 immagini destinate all'addestramento e 4 alla convalida. È ideale per testare e correggere modelli di rilevamento degli oggetti 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 degli oggetti con Ultralytics YOLO26.

  • Per addestrare un modello YOLO26n-obb sul dataset DOTA8 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="dota8.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 DOTA8 è più piccolo e gestibile, ideale per i test iniziali. Puoi trovare il file dota8.yaml, che contiene percorsi, classi e dettagli di configurazione, a questo link GitHub.

  • 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 DOTA8 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