Vai al contenuto

Panoramica dei dataset 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 dati OBB compatibili con i modelli di Ultralytics YOLO , offrendo approfondimenti sulla loro struttura, sull'applicazione e sui metodi di conversione dei formati.

Formati di dati OBB supportati

YOLO Formato OBB

Il formato OBB di YOLO designa i riquadri di delimitazione attraverso i 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 punto centrale (xy), la larghezza, l'altezza e la rotazione del rettangolo di selezione.

Esempi di formato OBB

Un esempio di un *.txt per l'immagine di cui sopra, che contiene un oggetto della 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 YOLOv8n-OBB model from scratch
model = YOLO('yolov8n-obb.yaml')

# Train the model on the DOTAv2 dataset
results = model.train(data='DOTAv1.yaml', epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo detect train data=DOTAv1.yaml model=yolov8n.pt epochs=100 imgsz=640

Set di dati supportati

Attualmente sono supportati i seguenti set di dati con caselle di delimitazione orientate:

  • 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 del set di dati DOTA completo, adatto ai flussi di lavoro di test e ai controlli di integrazione continua (CI) dell'addestramento OBB nel sistema di ricerca e sviluppo. ultralytics deposito.

Incorporare il proprio set di dati OBB

Per coloro che desiderano introdurre i propri set di dati con bounding box orientati, assicurati che siano compatibili con il formato "YOLO OBB" menzionato in precedenza. Converti le tue annotazioni in questo formato richiesto e specifica 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.

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



Creato 2023-11-12, Aggiornato 2024-01-25
Autori: glenn-jocher (6)

Commenti