Zum Inhalt springen

Oriented Bounding Box (OBB)-Datens├Ątze ├ťbersicht

Das Training eines pr├Ązisen Objekterkennungsmodells mit orientierten Bounding Boxes (OBB) erfordert einen umfassenden Datensatz. Dieser Leitfaden erkl├Ąrt die verschiedenen OBB-Datensatzformate, die mit Ultralytics YOLO Modellen kompatibel sind, und bietet Einblicke in ihre Struktur, Anwendung und Methoden zur Formatkonvertierung.

Unterst├╝tzte OBB-Datensatzformate

YOLO OBB Format

Das YOLO OBB-Format bezeichnet Boundingboxen durch ihre vier Eckpunkte, deren Koordinaten zwischen 0 und 1 normiert sind. Es folgt diesem Format:

class_index, x1, y1, x2, y2, x3, y3, x4, y4

Intern verarbeitet YOLO Verluste und Ausgaben in der xywhr Format, das den Mittelpunkt (xy), die Breite, die H├Âhe und die Drehung des Begrenzungsrahmens angibt.

Beispiele f├╝r das OBB-Format

Ein Beispiel f├╝r eine *.txt Label-Datei f├╝r das obige Bild, die ein Objekt der Klasse 0 im OBB-Format, k├Ânnte wie folgt aussehen:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Verwendung

Um ein Modell mit diesen OBB-Formaten zu trainieren:

Beispiel

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

Unterst├╝tzte Datens├Ątze

Derzeit werden die folgenden Datens├Ątze mit Oriented Bounding Boxes unterst├╝tzt:

  • DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images), Version 2, legt den Schwerpunkt auf die Erkennung aus der Luftperspektive und enth├Ąlt orientierte Bounding Boxes mit 1,7 Millionen Instanzen und 11.268 Bildern.
  • DOTA8: Eine kleine Untermenge von 8 Bildern des vollst├Ąndigen DOTA-Datensatzes, die sich f├╝r das Testen von Workflows und Continuous Integration (CI) Checks des OBB-Trainings in der ultralytics Repository.

Deinen eigenen OBB-Datensatz einbinden

Wenn du eigene Datens├Ątze mit orientierten Bounding Boxes einf├╝hren m├Âchtest, musst du sicherstellen, dass sie mit dem oben erw├Ąhnten "YOLO OBB-Format" kompatibel sind. Konvertiere deine Annotationen in dieses Format und gib die Pfade, Klassen und Klassennamen in einer entsprechenden YAML-Konfigurationsdatei an.

Etikettenformate umwandeln

DOTA-Datensatzformat zu YOLO OBB-Format

Mit diesem Skript kannst du Beschriftungen aus dem DOTA-Datensatzformat in das YOLO OBB-Format umwandeln:

Beispiel

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Dieser Konvertierungsmechanismus ist wichtig f├╝r Datens├Ątze im DOTA-Format, da er die Anpassung an das Ultralytics YOLO OBB-Format sicherstellt.

Es ist unerl├Ąsslich, die Kompatibilit├Ąt des Datensatzes mit deinem Modell zu ├╝berpr├╝fen und die notwendigen Formatkonventionen einzuhalten. Ordnungsgem├Ą├č strukturierte Datens├Ątze sind entscheidend f├╝r das Training effizienter Objekterkennungsmodelle mit orientierten Bounding Boxes.



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (9)

Kommentare