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 erläutert die verschiedenen OBB-Datensatzformate, die mit den Modellen von Ultralytics YOLO kompatibel sind, und bietet Einblicke in ihre Struktur, Anwendung und Methoden zur Formatkonvertierung.

Unterstützte OBB-Datensatzformate

YOLO OBB-Format

Das Format YOLO OBB bezeichnet Bounding Boxes durch ihre vier Eckpunkte mit Koordinaten, die 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 Erträge in der xywhr Format, das die BegrenzungsrechteckMittelpunkt (xy), Breite, Höhe und Drehung.

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 so 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 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

Unterstützte Datensätze

Derzeit werden die folgenden Datensätze mit Oriented Bounding Boxes unterstützt:

  • DOTA-v1: Die erste Version des DOTA-Datensatzes, der einen umfassenden Satz von Luftbildern mit orientierten Bounding Boxes zur Objekterkennung enthält.
  • DOTA-v1.5: Eine Zwischenversion des DOTA-Datensatzes, die zusätzliche Anmerkungen und Verbesserungen gegenüber DOTA-v1 für erweiterte Objekterkennungsaufgaben bietet.
  • 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 Untergruppe von 8 Bildern des vollständigen DOTA-Datensatzes, die sich für die Prüfung von Arbeitsabläufen und die kontinuierliche Integration (CI) des OBB-Trainings in der ultralytics Repository.

Einbinden Ihres eigenen OBB-Datensatzes

Für diejenigen, die ihre eigenen Datensätze mit orientierten Bounding Boxes einführen möchten, stellen Sie die Kompatibilität mit dem oben erwähnten "YOLO OBB-Format" sicher. Konvertieren Sie Ihre Annotationen in dieses Format und geben Sie die Pfade, Klassen und Klassennamen in einer entsprechenden YAML-Konfigurationsdatei an.

Etikettenformate konvertieren

DOTA-Datensatzformat zu YOLO OBB-Format

Mit diesem Skript können Etiketten aus dem DOTA-Datensatzformat in das YOLO OBB-Format überführt werden:

Beispiel

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Dieser Konvertierungsmechanismus ist für Datensätze im DOTA-Format von entscheidender Bedeutung und gewährleistet die Angleichung an das OBB-Format Ultralytics YOLO .

Es ist unbedingt erforderlich, die Kompatibilität des Datensatzes mit Ihrem Modell zu überprüfen und die notwendigen Formatkonventionen einzuhalten. Ordnungsgemäß strukturierte Datensätze sind für das Training effizienter Objekterkennungsmodelle mit orientierten Bounding Boxes von zentraler Bedeutung.

FAQ

Was sind Oriented Bounding Boxes (OBB) und wie werden sie in Ultralytics YOLO Modellen verwendet?

Oriented Bounding Boxes (OBB) sind eine Art von Bounding Box-Anmerkung, bei der die Box gedreht werden kann, um sich enger an das zu erkennende Objekt anzupassen, anstatt nur achsenorientiert zu sein. Dies ist besonders nützlich bei Luft- oder Satellitenbildern, bei denen die Objekte möglicherweise nicht an den Bildachsen ausgerichtet sind. In Ultralytics YOLO Modellen werden OBBs durch ihre vier Eckpunkte im YOLO OBB-Format dargestellt. Dies ermöglicht eine genauere Objekterkennung, da die Bounding Boxen gedreht werden können, um die Objekte besser zu erfassen.

Wie konvertiere ich meine bestehenden DOTA-Datensatz-Etiketten in das YOLO OBB-Format zur Verwendung mit Ultralytics YOLO11 ?

Sie können DOTA-Datensatzetiketten in das YOLO OBB-Format konvertieren, indem Sie die convert_dota_to_yolo_obb Funktion von Ultralytics. Diese Konvertierung gewährleistet die Kompatibilität mit den Ultralytics YOLO Modellen und ermöglicht es Ihnen, die OBB-Funktionen für eine verbesserte Objekterkennung zu nutzen. Hier ist ein kurzes Beispiel:

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Dieses Skript formatiert Ihre DOTA-Anmerkungen in ein YOLO-kompatibles Format um.

Wie trainiere ich ein YOLO11 Modell mit orientierten Bounding Boxes (OBB) auf meinem Datensatz?

Um ein YOLO11 Modell mit OBBs zu trainieren, müssen Sie sicherstellen, dass Ihr Datensatz im YOLO OBB Format vorliegt und dann die Ultralytics API verwenden, um das Modell zu trainieren. Hier ist ein Beispiel in Python und CLI:

Beispiel

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

Dadurch wird sichergestellt, dass Ihr Modell die detaillierten OBB-Anmerkungen für eine verbesserte Erkennungsgenauigkeit nutzt.

Welche Datensätze werden derzeit für das OBB-Training in Ultralytics YOLO Modellen unterstützt?

Derzeit unterstützt Ultralytics die folgenden Datensätze für das OBB-Training:

  • DOTA-v1: Die erste Version des DOTA-Datensatzes, der einen umfassenden Satz von Luftbildern mit orientierten Bounding Boxes zur Objekterkennung enthält.
  • DOTA-v1.5: Eine Zwischenversion des DOTA-Datensatzes, die zusätzliche Anmerkungen und Verbesserungen gegenüber DOTA-v1 für erweiterte Objekterkennungsaufgaben bietet.
  • DOTA-v2: Dieser Datensatz umfasst 1,7 Millionen Instanzen mit orientierten Bounding Boxes und 11.268 Bilder, wobei der Schwerpunkt auf der Erkennung von Objekten aus der Luft liegt.
  • DOTA8: Eine kleinere Teilmenge des DOTA-Datensatzes mit 8 Bildern, die für Tests und kontinuierliche Integrationsprüfungen (CI) verwendet wird.

Diese Datensätze sind auf Szenarien zugeschnitten, in denen OBBs einen erheblichen Vorteil bieten, wie z. B. bei der Analyse von Luft- und Satellitenbildern.

Kann ich meinen eigenen Datensatz mit orientierten Bounding Boxes für das YOLO11 Training verwenden, und wenn ja, wie?

Ja, Sie können Ihren eigenen Datensatz mit orientierten Bounding Boxes für das YOLO11 Training verwenden. Stellen Sie sicher, dass Ihre Datensatz-Annotationen in das YOLO OBB-Format konvertiert werden, was die Definition von Bounding Boxes durch ihre vier Eckpunkte beinhaltet. Anschließend können Sie eine YAML-Konfigurationsdatei erstellen, in der Sie die Pfade zu den Datensätzen, die Klassen und andere notwendige Details angeben. Weitere Informationen zur Erstellung und Konfiguration Ihrer Datasets finden Sie im Abschnitt Unterstützte Datasets.

📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 1 Monat

Kommentare