Übersicht über Datensätze für orientierte Begrenzungsrahmen (OBB)#
Das Training eines präzisen Objekterkennungs-modells mit orientierten Begrenzungsrahmen (OBB) erfordert einen umfassenden Datensatz. Dieser Leitfaden erläutert die verschiedenen OBB-Datensatzformate, die mit Ultralytics-YOLO-Modellen kompatibel sind, und gibt Einblicke in ihre Struktur, Anwendung und die Umwandlung zwischen Formaten.
Unterstützte OBB-Datensatzformate#
YOLO-OBB-Format#
Im YOLO-OBB-Format werden Begrenzungsrahmen durch ihre vier Eckpunkte angegeben, deren Koordinaten zwischen 0 und 1 normalisiert sind. Das Format sieht folgendermaßen aus:
class_index x1 y1 x2 y2 x3 y3 x4 y4Intern verarbeitet YOLO Verluste und Ausgaben im Format xywhr, das den Mittelpunkt (xy), die Breite, die Höhe und die Drehung des Begrenzungsrahmens darstellt.

Eine Labeldatei im Format *.txt für das obige Bild, das ein Objekt der Klasse 0 im OBB-Format enthält, könnte folgendermaßen aussehen:
0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758YAML-Format für Datensätze#
Das Ultralytics-Framework verwendet YAML-Dateien, um den Datensatz und die Modellkonfiguration für das Training von OBB-Modellen festzulegen. Hier ist ein Beispiel für das YAML-Format zur Definition eines OBB-Datensatzes:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# DOTA8 dataset (8 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
# parent
# ├── ultralytics
# └── datasets
# └── dota8 ← downloads here (1 MB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: dota8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
# Classes for DOTA 1.0
names:
0: plane
1: ship
2: storage tank
3: baseball diamond
4: tennis court
5: basketball court
6: ground track field
7: harbor
8: bridge
9: large vehicle
10: small vehicle
11: helicopter
12: roundabout
13: soccer ball field
14: swimming pool
# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dota8.zipFür train, val und test kannst du jeweils ein Verzeichnis, eine Liste von Verzeichnissen oder eine *.txt-Datei angeben, die einen Bildpfad pro Zeile enthält (Pfade, die mit ./ beginnen, werden relativ zur Datei *.txt aufgelöst). Eine *.txt-Datei ist nützlich, um mit einer Teilmenge eines Verzeichnisses zu trainieren, nicht annotierte Bilder zu überspringen oder Bilder aus mehreren Quellen in einem Split zusammenzufassen.
path: datasets/dota8 # dataset root
train: train.txt # a directory, a list e.g. [images/a, images/b], or a *.txt file
val: val.txt
names:
0: planeVerwendung#
So trainierst du ein Modell mit diesen OBB-Formaten:
from ultralytics import YOLO
# Ein vortrainiertes YOLO26n-OBB-Modell laden
model = YOLO("yolo26n-obb.pt")
# Das Modell mit dem DOTAv1-Datensatz trainieren
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)Unterstützte Datensätze#
Derzeit werden die folgenden Datensätze mit orientierten Begrenzungsrahmen unterstützt. Die meisten dieser Datensätze sind auch auf der Ultralytics Platform verfügbar. Dort kannst du Bilder und Annotationen durchsuchen, Datensatzstatistiken anzeigen und Datensätze für das Cloud-Training klonen.
- DOTA-v1: Die erste Version des DOTA-Datensatzes mit einer umfassenden Sammlung von Luftbildern und orientierten Begrenzungsrahmen für die Objekterkennung.
- DOTA-v1.5: Eine Zwischenversion des DOTA-Datensatzes mit zusätzlichen Annotationen und Verbesserungen gegenüber DOTA-v1 für anspruchsvollere Objekterkennungsaufgaben.
- DOTA-v2: DOTA (ein groß angelegter Datensatz zur Objekterkennung in Luftbildern), Version 2, legt den Schwerpunkt auf die Erkennung aus der Luft und enthält orientierte Begrenzungsrahmen für 1,7 Millionen Instanzen in 11.268 Bildern.
- DOTA8: Eine kleine Teilmenge des vollständigen DOTA-Datensatzes mit 8 Bildern, geeignet zum Testen von Arbeitsabläufen und für CI-Prüfungen des OBB-Trainings im Repository
ultralytics. - DOTA8 Multispectral: Eine Teilmenge mit 8 Bildern und 10 Kanälen im TIFF-Format, mit der du multispektrales OBB-Training auf der Ultralytics Platform testen kannst.
- DOTA128: Eine Teilmenge des DOTA-Datensatzes mit 128 Bildern, die sich alle im Trainingsordner befinden (und sowohl für das Training als auch für die Validierung verwendet werden). Sie bietet eine gute Balance zwischen Umfang und Vielfalt zum Testen von OBB-Modellen.
Eigenen OBB-Datensatz integrieren#
Wenn du eigene Datensätze mit orientierten Begrenzungsrahmen einbinden möchtest, achte auf die Kompatibilität mit dem oben beschriebenen „YOLO-OBB-Format“. Wandle deine Annotationen in das erforderliche Format um und gib die Pfade, Klassen und Klassennamen in einer entsprechenden YAML-Konfigurationsdatei an.
Label-Formate umwandeln#
DOTA-Datensatzformat in das YOLO-OBB-Format umwandeln#
Mit diesem Skript kannst du Labels aus dem DOTA-Datensatzformat in das YOLO-OBB-Format überführen:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")Dieser Umwandlungsmechanismus ist für Datensätze im DOTA-Format besonders nützlich, da er die Kompatibilität mit dem OBB-Format von Ultralytics YOLO sicherstellt.
Es ist wichtig, die Kompatibilität des Datensatzes mit deinem Modell zu überprüfen und die erforderlichen Formatkonventionen einzuhalten. Eine korrekte Struktur der Datensätze ist entscheidend, um effiziente Objekterkennungsmodelle mit orientierten Begrenzungsrahmen zu trainieren.
Häufig gestellte Fragen#
Orientierte Begrenzungsrahmen (OBB) sind eine Art von Begrenzungsrahmen-Annotation, bei der der Rahmen gedreht werden kann, um sich besser am erkannten Objekt auszurichten, statt nur parallel zu den Bildachsen zu verlaufen. Das ist besonders bei Luft- oder Satellitenbildern nützlich, in denen Objekte möglicherweise nicht an den Bildachsen ausgerichtet sind. In Ultralytics YOLO-Modellen werden OBBs durch ihre vier Eckpunkte im YOLO-OBB-Format dargestellt. Das ermöglicht eine genauere Objekterkennung, da die Begrenzungsrahmen gedreht werden können, um besser zu den Objekten zu passen.
Mit der Funktion
convert_dota_to_yolo_obbvon Ultralytics kannst du Beschriftungen des DOTA-Datensatzes ins YOLO-OBB-Format umwandeln. Diese Umwandlung gewährleistet die Kompatibilität mit den Ultralytics-YOLO-Modellen und ermöglicht dir, die OBB-Funktionen für eine präzisere Objekterkennung zu nutzen. Hier 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-Annotationen in ein YOLO-kompatibles Format um.
Um ein YOLO26-Modell mit OBBs zu trainieren, muss dein Datensatz im YOLO-OBB-Format vorliegen. Anschließend kannst du das Modell mit der Ultralytics-API trainieren. Hier ein Beispiel für Python und die CLI:
Beispielfrom ultralytics import YOLO # Erstelle ein neues YOLO26n-OBB-Modell von Grund auf model = YOLO("yolo26n-obb.yaml") # Trainiere das Modell mit dem benutzerdefinierten Datensatz results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)So nutzt dein Modell die detaillierten OBB-Annotationen für eine höhere Erkennungsgenauigkeit.
Derzeit unterstützt Ultralytics die folgenden Datensätze für das OBB-Training:
- DOTA-v1: Die erste Version des DOTA-Datensatzes mit einer umfassenden Sammlung von Luftbildern und orientierten Begrenzungsrahmen für die Objekterkennung.
- DOTA-v1.5: Eine Zwischenversion des DOTA-Datensatzes mit zusätzlichen Annotationen und Verbesserungen gegenüber DOTA-v1 für anspruchsvollere Objekterkennungsaufgaben.
- DOTA-v2: Dieser Datensatz umfasst 1,7 Millionen Instanzen mit orientierten Begrenzungsrahmen und 11.268 Bildern. Sein Schwerpunkt liegt auf der Objekterkennung in Luftbildern.
- DOTA8: Eine kleinere Teilmenge des DOTA-Datensatzes mit 8 Bildern, die zum Testen und für Prüfungen der kontinuierlichen Integration (CI) verwendet wird.
- DOTA128: Eine Teilmenge mit 128 Bildern, die sich alle im Trainingsordner befinden und sowohl zum Trainieren als auch zur Validierung verwendet werden. Sie ist vielfältiger als DOTA8 und bleibt zugleich für die anfängliche Entwicklung und das Experimentieren mit OBB-Modellen gut handhabbar.
Diese Datensätze eignen sich besonders für Szenarien, in denen OBBs deutliche Vorteile bieten, etwa bei der Analyse von Luft- und Satellitenbildern.
Ja, du kannst deinen eigenen Datensatz mit orientierten Begrenzungsrahmen zum Trainieren von YOLO26 verwenden. Achte darauf, die Annotationen deines Datensatzes ins YOLO-OBB-Format umzuwandeln. Dabei werden Begrenzungsrahmen durch ihre vier Eckpunkte definiert. Anschließend kannst du eine YAML-Konfigurationsdatei erstellen, in der du die Pfade zum Datensatz, die Klassen und weitere erforderliche Angaben festlegst. Weitere Informationen zum Erstellen und Konfigurieren deiner Datensätze findest du im Abschnitt Unterstützte Datensätze.



