Link to this sectionÜbersicht zu Datensätzen mit orientierten Begrenzungsrahmen (OBB)#
Das Training eines präzisen Objekterkennungs-Modells mit orientierten Begrenzungsrahmen (OBB) erfordert einen gründlichen Datensatz. Dieser Leitfaden erklärt die verschiedenen OBB-Datensatzformate, die mit Ultralytics YOLO-Modellen kompatibel sind, und bietet Einblicke in deren Struktur, Anwendung und Methoden zur Formatkonvertierung.
Link to this sectionUnterstützte OBB-Datensatzformate#
Link to this sectionYOLO OBB-Format#
Das YOLO OBB-Format definiert Begrenzungsrahmen durch ihre 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 xywhr-Format, das den Mittelpunkt (xy), die Breite, die Höhe und die Rotation der Bounding Box repräsentiert.

Ein Beispiel für eine *.txt-Labeldatei für das obige Bild, die ein Objekt der Klasse 0 im OBB-Format enthält, könnte so aussehen:
0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758Link to this sectionDatensatz-YAML-Format#
Das Ultralytics-Framework verwendet ein YAML-Dateiformat, um die Datensatz- und Modellkonfiguration für das Training von OBB-Modellen zu definieren. Hier ist ein Beispiel für das YAML-Format, das zur Definition eines OBB-Datensatzes verwendet wird:
# 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.zipLink to this sectionVerwendung#
So trainierst du ein Modell unter Verwendung dieser OBB-Formate:
from ultralytics import YOLO
# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")
# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)Link to this sectionUnterstützte Datensätze#
Derzeit werden die folgenden Datensätze mit orientierten Begrenzungsrahmen unterstützt:
- DOTA-v1: Die erste Version des DOTA-Datensatzes, die einen umfassenden Satz an Luftbildern mit orientierten Begrenzungsrahmen für die Objekterkennung bereitstellt.
- DOTA-v1.5: Eine Zwischenversion des DOTA-Datensatzes, die zusätzliche Annotationen und Verbesserungen gegenüber DOTA-v1 für erweiterte Objekterkennungsaufgaben bietet.
- DOTA-v2: Version 2 von DOTA (einem groß angelegten Datensatz für die Objekterkennung in Luftbildern) betont die Erkennung aus Luftperspektiven und enthält orientierte Begrenzungsrahmen mit 1,7 Millionen Instanzen und 11.268 Bildern.
- DOTA8: Ein kleiner Datensatz-Ausschnitt von 8 Bildern des vollständigen DOTA-Datensatzes, der sich zum Testen von Workflows und Continuous Integration (CI)-Prüfungen des OBB-Trainings im
ultralytics-Repository eignet. - DOTA128: Ein Datensatz-Ausschnitt von 128 Bildern des DOTA-Datensatzes, bei dem sich alle Bilder im Trainingsordner befinden (verwendet für Training und Validierung), was eine gute Balance zwischen Größe und Vielfalt für das Testen von OBB-Modellen bietet.
Link to this sectionEinbindung deines eigenen OBB-Datensatzes#
Wenn du deine eigenen Datensätze mit orientierten Begrenzungsrahmen einbinden möchtest, stelle die Kompatibilität mit dem oben genannten "YOLO OBB-Format" sicher. Konvertiere deine Annotationen in dieses erforderliche Format und gib die Pfade, Klassen und Klassennamen in einer entsprechenden YAML-Konfigurationsdatei an.
Link to this sectionLabelformate konvertieren#
Link to this sectionDOTA-Datensatzformat in YOLO OBB-Format#
Die Umstellung der Labels vom DOTA-Datensatzformat auf das YOLO OBB-Format kann mit diesem Skript erreicht werden:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")Dieser Konvertierungsmechanismus ist hilfreich für Datensätze im DOTA-Format und stellt die Abstimmung auf das Ultralytics YOLO OBB-Format sicher.
Es ist zwingend erforderlich, die Kompatibilität des Datensatzes mit deinem Modell zu validieren und die notwendigen Formatkonventionen einzuhalten. Korrekt strukturierte Datensätze sind entscheidend für das Training effizienter Objekterkennungsmodelle mit orientierten Begrenzungsrahmen.
Link to this sectionFAQ#
Link to this sectionWas sind orientierte Begrenzungsrahmen (OBB) und wie werden sie in Ultralytics YOLO-Modellen verwendet?#
Orientierte Begrenzungsrahmen (OBB) sind eine Art von Begrenzungsrahmen-Annotation, bei der der Rahmen gedreht werden kann, um sich genauer an das zu erkennende Objekt anzupassen, anstatt nur achsenparallel zu sein. Dies ist besonders nützlich bei Luft- oder Satellitenaufnahmen, bei 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. Dies ermöglicht eine genauere Objekterkennung, da die Begrenzungsrahmen gedreht werden können, um sich besser an die Objekte anzupassen.
Link to this sectionWie konvertiere ich meine vorhandenen DOTA-Datensatz-Labels in das YOLO OBB-Format für die Verwendung mit Ultralytics YOLO26?#
Du kannst DOTA-Datensatz-Labels mit der Funktion convert_dota_to_yolo_obb von 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.
Link to this sectionWie trainiere ich ein YOLO26-Modell mit orientierten Begrenzungsrahmen (OBB) auf meinem Datensatz?#
Das Training eines YOLO26-Modells mit OBBs beinhaltet, dass du sicherstellst, dass dein Datensatz im YOLO OBB-Format vorliegt, und dann die Ultralytics API verwendest, um das Modell zu trainieren. Hier ist ein Beispiel sowohl für Python als auch für die CLI:
from 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)Dies stellt sicher, dass dein Modell die detaillierten OBB-Annotationen für eine verbesserte Erkennungsgenauigkeit nutzt.
Link to this sectionWelche 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, die einen umfassenden Satz an Luftbildern mit orientierten Begrenzungsrahmen für die Objekterkennung bereitstellt.
- DOTA-v1.5: Eine Zwischenversion des DOTA-Datensatzes, die zusätzliche Annotationen und Verbesserungen gegenüber DOTA-v1 für erweiterte Objekterkennungsaufgaben bietet.
- DOTA-v2: Dieser Datensatz enthält 1,7 Millionen Instanzen mit orientierten Begrenzungsrahmen und 11.268 Bildern, wobei der Schwerpunkt auf der Objekterkennung aus der Luft liegt.
- DOTA8: Ein kleinerer Datensatz-Ausschnitt von 8 Bildern des DOTA-Datensatzes, der für Tests und Continuous Integration (CI)-Prüfungen verwendet wird.
- DOTA128: Ein Datensatz-Ausschnitt von 128 Bildern, bei dem sich alle Bilder im Trainingsordner befinden (verwendet für Training und Validierung), was mehr Vielfalt als DOTA8 bietet und dennoch für die anfängliche Entwicklung und Experimente mit OBB-Modellen überschaubar bleibt.
Diese Datensätze sind auf Szenarien zugeschnitten, in denen OBBs einen erheblichen Vorteil bieten, wie z. B. bei der Analyse von Luft- und Satellitenbildern.
Link to this sectionKann ich meinen eigenen Datensatz mit orientierten Begrenzungsrahmen für das YOLO26-Training verwenden, und wenn ja, wie?#
Ja, du kannst deinen eigenen Datensatz mit orientierten Begrenzungsrahmen für das YOLO26-Training verwenden. Stelle sicher, dass deine Datensatz-Annotationen in das YOLO OBB-Format konvertiert sind, was bedeutet, dass Begrenzungsrahmen durch ihre vier Eckpunkte definiert werden. Du kannst dann eine YAML-Konfigurationsdatei erstellen, in der die Datensatzpfade, Klassen und andere notwendige Details festgelegt sind. Weitere Informationen zum Erstellen und Konfigurieren deiner Datensätze findest du im Abschnitt Unterstützte Datensätze.