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:
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.
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:
Verwendung
Um ein Modell mit diesen OBB-Formaten zu trainieren:
Beispiel
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
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.
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 Annotation, bei der die Box gedreht werden kann, um sich enger an das zu erkennende Objekt anzupassen, anstatt nur an den Achsen ausgerichtet zu sein. Dies ist vor allem bei Luft- oder Satellitenbildern nützlich, bei denen die Objekte möglicherweise nicht an den Bildachsen ausgerichtet sind. In den Modellen von Ultralytics YOLO werden die 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 YOLOv8 ?
Du kannst DOTA-Datensatzbeschriftungen in das YOLO OBB-Format konvertieren, indem du 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 dir, 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 deine DOTA-Kommentare in ein YOLO-kompatibles Format um.
Wie trainiere ich ein YOLOv8 Modell mit orientierten Boundingboxen (OBB) auf meinem Datensatz?
Um ein YOLOv8 Modell mit OBBs zu trainieren, musst du sicherstellen, dass dein 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
So wird sichergestellt, dass dein Modell die detaillierten OBB-Anmerkungen für eine bessere 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-v2: Dieser Datensatz umfasst 1,7 Millionen Instanzen mit orientierten Bounding Boxes und 11.268 Bilder, die sich hauptsächlich auf die Erkennung von Objekten in der Luft konzentrieren.
- DOTA8: Eine kleinere Untergruppe 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, z. B. bei der Analyse von Luft- und Satellitenbildern.
Kann ich meinen eigenen Datensatz mit orientierten Bounding Boxes für das YOLOv8 Training verwenden und wenn ja, wie?
Ja, du kannst deinen eigenen Datensatz mit orientierten Boundingboxen für das YOLOv8 Training verwenden. Stelle sicher, dass deine Datensätze in das YOLO OBB-Format konvertiert werden, bei dem Bounding Boxes durch ihre vier Eckpunkte definiert werden. Anschließend kannst du eine YAML-Konfigurationsdatei erstellen, in der die Pfade zu den Datensätzen, die Klassen und andere notwendige Details angegeben werden. Weitere Informationen zum Erstellen und Konfigurieren deiner Datensätze findest du im Abschnitt Unterstützte Datensätze.