Vai al contenuto

Panoramica dei set di dati OBB (Oriented Bounding Box)

L'addestramento di un modello preciso di rilevamento degli oggetti con le bounding box orientate (OBB) richiede un set di dati completo. Questa guida illustra i vari formati di set di dati OBB compatibili con i modelli Ultralytics YOLO , offrendo approfondimenti sulla loro struttura, sull'applicazione e sui metodi di conversione dei formati.

Formati di set di dati OBB supportati

YOLO Formato OBB

Il formato OBB di YOLO designa le bounding box in base ai quattro punti d'angolo con coordinate normalizzate tra 0 e 1. Segue questo formato:

class_index x1 y1 x2 y2 x3 y3 x4 y4

A livello interno, YOLO elabora le perdite e le uscite nel xywhr che rappresenta il formato riquadro di delimitazionepunto centrale (xy), larghezza, altezza e rotazione.

Esempi di formato OBB

Un esempio di *.txt per l'immagine di cui sopra, che contiene un oggetto di classe 0 in formato OBB, potrebbe avere un aspetto simile:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Utilizzo

Per addestrare un modello utilizzando questi formati OBB:

Esempio

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

Set di dati supportati

Attualmente sono supportati i seguenti set di dati con rettangoli di selezione orientati:

  • DOTA-v1: la prima versione del set di dati DOTA, che fornisce un set completo di immagini aeree con bounding box orientati per il rilevamento degli oggetti.
  • DOTA-v1.5: una versione intermedia del set di dati DOTA, che offre annotazioni aggiuntive e miglioramenti rispetto a DOTA-v1 per compiti di rilevamento di oggetti avanzati.
  • DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) versione 2, enfatizza il rilevamento da prospettive aeree e contiene bounding box orientati con 1,7 milioni di istanze e 11.268 immagini.
  • DOTA8: Un piccolo sottoinsieme di 8 immagini dell'intero set di dati DOTA, adatto ai flussi di lavoro di test e ai controlli di integrazione continua (CI) dell'addestramento OBB nel sistema di gestione dei dati. ultralytics deposito.

Inclusione del proprio set di dati OBB

Per coloro che desiderano introdurre i propri set di dati con bounding box orientati, assicurarsi della compatibilità con il "formatoYOLO OBB" menzionato in precedenza. Convertire le annotazioni in questo formato richiesto e specificare i percorsi, le classi e i nomi delle classi in un file di configurazione YAML corrispondente.

Convertire i formati delle etichette

Formato DOTA Dataset a YOLO Formato OBB

La transizione delle etichette dal formato del dataset DOTA al formato OBB di YOLO può essere effettuata con questo script:

Esempio

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Questo meccanismo di conversione è fondamentale per i set di dati in formato DOTA, garantendo l'allineamento con il formato Ultralytics YOLO OBB.

È indispensabile verificare la compatibilità del set di dati con il modello e rispettare le convenzioni di formato necessarie. I set di dati strutturati correttamente sono fondamentali per addestrare modelli di rilevamento degli oggetti efficienti con bounding box orientati.

FAQ

Cosa sono le Oriented Bounding Boxes (OBB) e come vengono utilizzate nei modelli di Ultralytics YOLO ?

Gli OBB (Oriented Bounding Boxes) sono un tipo di annotazione dei riquadri di delimitazione in cui il riquadro può essere ruotato per allinearsi più strettamente con l'oggetto da rilevare, anziché essere semplicemente allineato agli assi. Ciò è particolarmente utile nelle immagini aeree o satellitari, dove gli oggetti potrebbero non essere allineati con gli assi dell'immagine. Nei modelli Ultralytics YOLO , gli OBB sono rappresentati dai loro quattro punti d'angolo nel formato OBB YOLO . Ciò consente un rilevamento più accurato degli oggetti, poiché le bounding box possono ruotare per adattarsi meglio agli oggetti.

Come si fa a convertire le etichette dei dataset DOTA esistenti nel formato OBB di YOLO per utilizzarle con Ultralytics YOLO11 ?

È possibile convertire le etichette dei set di dati DOTA nel formato YOLO OBB utilizzando il file convert_dota_to_yolo_obb da Ultralytics. Questa conversione garantisce la compatibilità con i modelli Ultralytics YOLO , consentendo di sfruttare le funzionalità OBB per migliorare il rilevamento degli oggetti. Ecco un rapido esempio:

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Questo script riformatterà le annotazioni di DOTA in un formato compatibile con YOLO.

Come posso addestrare un modello YOLO11 con bounding box orientate (OBB) sul mio dataset?

L'addestramento di un modello YOLO11 con le OBB implica che il dataset sia nel formato OBB YOLO e che si utilizzi l'API Ultralytics per addestrare il modello. Ecco un esempio sia in Python che in CLI:

Esempio

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)
# Train a new YOLO11n-OBB model on the custom dataset
yolo obb train data=your_dataset.yaml model=yolo11n-obb.yaml epochs=100 imgsz=640

In questo modo il modello sfrutta le annotazioni OBB dettagliate per migliorare l'accuratezza del rilevamento.

Quali sono i set di dati attualmente supportati per l'addestramento OBB nei modelli Ultralytics YOLO ?

Attualmente, Ultralytics supporta i seguenti set di dati per l'addestramento OBB:

  • DOTA-v1: la prima versione del set di dati DOTA, che fornisce un set completo di immagini aeree con bounding box orientati per il rilevamento degli oggetti.
  • DOTA-v1.5: una versione intermedia del set di dati DOTA, che offre annotazioni aggiuntive e miglioramenti rispetto a DOTA-v1 per compiti di rilevamento di oggetti avanzati.
  • DOTA-v2: Questo set di dati comprende 1,7 milioni di istanze con bounding box orientati e 11.268 immagini, incentrate principalmente sul rilevamento di oggetti aerei.
  • DOTA8: un sottoinsieme più piccolo, composto da 8 immagini, del set di dati DOTA utilizzato per i test e i controlli di integrazione continua (CI).

Questi set di dati sono stati creati su misura per gli scenari in cui le OBB offrono un vantaggio significativo, come l'analisi delle immagini aeree e satellitari.

È possibile utilizzare il proprio dataset con bounding box orientati per l'addestramento di YOLO11 e, in caso affermativo, come?

Sì, è possibile utilizzare il proprio set di dati con bounding box orientati per l'addestramento di YOLO11 . Assicurarsi che le annotazioni del dataset siano convertite nel formato OBB di YOLO , che prevede la definizione di bounding box in base ai quattro punti d'angolo. È quindi possibile creare un file di configurazione YAML che specifichi i percorsi dei dataset, le classi e altri dettagli necessari. Per ulteriori informazioni sulla creazione e la configurazione dei dataset, consultare la sezione Dataset supportati.

📅C reato 1 anno fa ✏️ Aggiornato 2 mesi fa

Commenti