Übersicht über Datensätze mit orientierten Begrenzungsboxen (OBB)#
Das Training eines präzisen Objekterkennungs-Modells mit orientierten Begrenzungsboxen (OBB) erfordert einen sorgfältig erstellten Datensatz. Dieser Leitfaden erläutert die verschiedenen OBB-Datensatzformate, die mit Ultralytics YOLO-Modellen kompatibel sind, und gibt Einblicke in deren Struktur, Anwendung und Methoden zur Formatkonvertierung.
Unterstützte OBB-Datensatzformate#
YOLO-OBB-Format#
Das YOLO-OBB-Format definiert Begrenzungsboxen anhand ihrer vier Eckpunkte mit Koordinaten, die zwischen 0 und 1 normalisiert sind. Es folgt diesem Format:
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 Rotation der Begrenzungsbox darstellt.

Eine Beispieldatei mit Beschriftungen im Format *.txt für das obige Bild, die ein Objekt der Klasse 0 im OBB-Format enthält, könnte wie folgt 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 das YAML-Dateiformat, um den Datensatz und die Modellkonfiguration für das Training von OBB-Modellen zu definieren. 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.zipJede der Dateien train, val und test akzeptiert ein Verzeichnis, eine Liste von Verzeichnissen oder eine *.txt-Datei, die pro Zeile einen Bildpfad 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 beschriftete Bilder zu überspringen oder Bilder aus mehreren Quellen zu einem Datensatzabschnitt zusammenzuführen.
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
# Load a pretrained YOLO26n-OBB model
model = YOLO("yolo26n-obb.pt")
# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)Unterstützte Datensätze#
Aktuell werden die folgenden Datensätze mit orientierten Bounding Boxes unterstützt. Die meisten dieser Datensätze werden auch auf der Ultralytics Platform gehostet, wo du die Bilder und Annotationen durchsuchen, Datensatzstatistiken anzeigen und die Datensätze für das Cloud-Training klonen kannst.
- DOTA-v1: Die erste Version des DOTA-Datensatzes mit einer umfassenden Sammlung von Luftbildern mit orientierten Begrenzungsboxen zur 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: Version 2 von DOTA (ein groß angelegter Datensatz zur Objekterkennung in Luftbildern) legt den Schwerpunkt auf die Erkennung aus der Luft und enthält orientierte Begrenzungsboxen für 1,7 Millionen Objekte in 11.268 Bildern.
- DOTA8: Eine kleine Teilmenge des vollständigen DOTA-Datensatzes mit 8 Bildern, die sich zum Testen von Arbeitsabläufen und Prüfungen der kontinuierlichen Integration (CI) für das OBB-Training im Repository
ultralyticseignet. - DOTA8 Multispectral: Eine TIFF-Teilmenge mit 8 Bildern und 10 Kanälen zum Testen des multispektralen OBB-Trainings auf der Ultralytics Platform.
- DOTA128: Eine Teilmenge des DOTA-Datensatzes mit 128 Bildern, wobei sich alle Bilder im Ordner train befinden (für train und val verwendet werden), und die zum Testen von OBB-Modellen ein gutes Gleichgewicht zwischen Größe und Vielfalt bietet.
Eigenen OBB-Datensatz integrieren#
Wenn du eigene Datensätze mit orientierten Begrenzungsboxen verwenden möchtest, stelle die Kompatibilität mit dem oben erwähnten „YOLO-OBB-Format“ sicher. Konvertiere deine Annotationen in dieses erforderliche Format und gib die Pfade, Klassen und Klassennamen in einer entsprechenden YAML-Konfigurationsdatei an.
Beschriftungsformate konvertieren#
DOTA-Datensatzformat in YOLO-OBB-Format#
Du kannst Beschriftungen aus dem DOTA-Datensatzformat mit diesem Skript in das YOLO-OBB-Format konvertieren:
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 entscheidend, da er die Kompatibilität mit dem Ultralytics YOLO-OBB-Format sicherstellt.
Es ist unerlässlich, die Kompatibilität des Datensatzes mit deinem Modell zu überprüfen und die erforderlichen Formatkonventionen einzuhalten. Eine korrekt strukturierte Datensatzgrundlage ist entscheidend für das Training effizienter Objekterkennungsmodelle mit orientierten Begrenzungsboxen.
FAQ#
Orientierte Begrenzungsboxen (OBB) sind eine Form der Begrenzungsbox-Annotation, bei der die Box gedreht werden kann, um sie enger am erkannten Objekt auszurichten, anstatt sie nur an den Bildachsen auszurichten. Dies 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. Dadurch wird eine genauere Objekterkennung ermöglicht, da die Begrenzungsboxen gedreht werden können, um besser zu den Objekten zu passen.
Du kannst Beschriftungen des DOTA-Datensatzes mithilfe der Funktion
convert_dota_to_yolo_obbaus Ultralytics in das YOLO-OBB-Format konvertieren. Diese Konvertierung stellt die Kompatibilität mit den Ultralytics YOLO-Modellen sicher, sodass du die OBB-Funktionen für eine verbesserte Objekterkennung nutzen kannst. 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-Annotationen in ein YOLO-kompatibles Format um.
Beim Training eines YOLO26-Modells mit OBBs musst du sicherstellen, dass dein Datensatz im YOLO-OBB-Format vorliegt, und anschließend die Ultralytics API zum Trainieren des Modells verwenden. Hier ist ein Beispiel für Python und CLI:
Beispielfrom ultralytics import YOLO # Create a new YOLO26n-OBB model from scratch model = YOLO("yolo26n-obb.yaml") # Train the model on the custom dataset results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)Dadurch nutzt dein Modell die detaillierten OBB-Annotationen für eine verbesserte Genauigkeit bei der Erkennung.
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 mit orientierten Begrenzungsboxen zur 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 Objekte mit orientierten Begrenzungsboxen und 11.268 Bilder und konzentriert sich hauptsächlich auf die Erkennung von Objekten 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, wobei sich alle Bilder im Ordner train befinden (für train und val verwendet werden), die mehr Vielfalt als DOTA8 bietet und dennoch für die anfängliche Entwicklung und Erprobung von OBB-Modellen handhabbar bleibt.
Diese Datensätze sind auf Szenarien zugeschnitten, in denen OBBs erhebliche Vorteile bieten, etwa bei der Analyse von Luft- und Satellitenbildern.
Ja, du kannst deinen eigenen Datensatz mit orientierten Begrenzungsboxen für das YOLO26-Training verwenden. Stelle sicher, dass deine Datensatz-Annotationen in das YOLO-OBB-Format konvertiert wurden, bei dem Begrenzungsboxen durch ihre vier Eckpunkte definiert werden. Anschließend kannst du eine YAML-Konfigurationsdatei erstellen, in der die Datensatzpfade, Klassen und weitere erforderliche Angaben festgelegt sind. Weitere Informationen zum Erstellen und Konfigurieren deiner Datensätze findest du im Abschnitt Unterstützte Datensätze.



