Link to this sectionDOTA-Datensatz mit OBB#
Das DOTA-Dataset ist ein groß angelegter Benchmark für Objekterkennung in Luftaufnahmen, der in drei Versionen (v1.0, v1.5, v2.0) mit bis zu 1,7 Millionen Oriented Bounding Box (OBB)-Annotationen in 18 Kategorien veröffentlicht wurde und von verschiedenen Luftsensoren und Plattformen erfasst wurde.

Link to this sectionHauptfunktionen#
Watch: How to Train Ultralytics YOLO on the DOTA Dataset for Oriented Bounding Boxes in Google Colab
- Sammlung von verschiedenen Sensoren und Plattformen mit Bildgrößen von 800 × 800 bis zu 20.000 × 20.000 Pixeln.
- Enthält mehr als 1,7 Millionen orientierte Begrenzungsrahmen über 18 Kategorien hinweg.
- Ermöglicht multiskalige Objekterkennung dank der großen Bandbreite an Objektgrößen pro Bild.
- Die Instanzen werden von Experten mithilfe von beliebigen (8 Freiheitsgrade) Vierecken annotiert, um Objekte unterschiedlicher Skalierungen, Ausrichtungen und Formen zu erfassen.
Link to this sectionDatensatz-Versionen#
Link to this sectionDOTA-v1.0#
- Enthält 15 gängige Kategorien.
- Umfasst 2.806 Bilder mit 188.282 Instanzen.
- Aufteilungsverhältnis: 1/2 für das Training (1.411 Bilder), 1/6 für die Validierung (458 Bilder) und 1/3 für das Testen (937 Bilder).
Link to this sectionDOTA-v1.5#
- Enthält dieselben Bilder wie DOTA-v1.0.
- Sehr kleine Instanzen (weniger als 10 Pixel) sind ebenfalls annotiert.
- Hinzufügen einer neuen Kategorie: "container crane".
- Insgesamt 403.318 Instanzen.
- Veröffentlicht für die DOAI Challenge 2019 on Object Detection in Aerial Images.
Link to this sectionDOTA-v2.0#
- Sammlungen aus Google Earth, GF-2 Satelliten und anderen Luftbildern.
- Enthält 18 gängige Kategorien.
- Umfasst 11.268 Bilder mit beeindruckenden 1.793.658 Instanzen.
- Neue Kategorien eingeführt: "airport" und "helipad".
- Bildaufteilungen:
- Training: 1.830 Bilder mit 268.627 Instanzen.
- Validierung: 593 Bilder mit 81.048 Instanzen.
- Test-dev: 2.792 Bilder mit 353.346 Instanzen.
- Test-challenge: 6.053 Bilder mit 1.090.637 Instanzen.
Link to this sectionDatensatzstruktur#
DOTA weist eine strukturierte Anordnung auf, die auf OBB-Objekterkennungs-Herausforderungen zugeschnitten ist:
- Bilder: Eine riesige Sammlung hochauflösender Luftbilder, die verschiedene Gelände und Strukturen erfassen.
- Oriented Bounding Boxes: Annotationen in Form von gedrehten Rechtecken, die Objekte unabhängig von ihrer Ausrichtung umschließen, ideal für die Erfassung von Objekten wie Flugzeugen, Schiffen und Gebäuden.
Link to this sectionAnwendungen#
DOTA dient als Benchmark für das Training und die Bewertung von Modellen, die speziell auf die Analyse von Luftbildern zugeschnitten sind. Durch die Einbeziehung von OBB-Annotationen stellt er eine einzigartige Herausforderung dar, die die Entwicklung spezialisierter Objekterkennungs-Modelle ermöglicht, welche die Nuancen von Luftbildern berücksichtigen. Der Datensatz ist besonders wertvoll für Anwendungen in den Bereichen Fernerkundung, Überwachung und Umweltmonitoring.
Link to this sectionDatensatz-YAML#
Eine Dataset-YAML-Datei spezifiziert Bild-/Label-Roots, Klassennamen und andere wichtige Metadaten. Ultralytics pflegt offizielle YAML-Dateien für die zwei am häufigsten verwendeten Releases:
Verwende das YAML, das zu der von dir heruntergeladenen Version passt, oder erstelle ein benutzerdefiniertes YAML, wenn du mit DOTA-v2 oder einem anderen Derivat arbeitest. Beide Versionen werden beim ersten Training automatisch (2 GB) von den Ultralytics GitHub-Assets heruntergeladen.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# ├── ultralytics
# └── datasets
# └── DOTAv1 ← downloads here (2 GB)
# 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: DOTAv1 # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
test: images/test # test images (optional) 937 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/DOTAv1.zipLink to this sectionDOTA-Bilder aufteilen#
Die Rohbilder sind routinemäßig über 10.000 Pixel breit, daher ist ein Tiling erforderlich, bevor die Daten in YOLO eingespeist werden. Verwende das untenstehende Hilfsprogramm, um das Quellmaterial in überlappende 1024 × 1024-Zuschnitte bei mehreren Skalierungen zu zerlegen, während die Annotationen synchron gehalten werden.
from ultralytics.data.split_dota import split_test, split_trainval
# Split train and val set, with labels.
split_trainval(
data_root="path/to/DOTAv1.0/",
save_dir="path/to/DOTAv1.0-split/",
rates=[0.5, 1.0, 1.5], # multiscale
gap=500,
)
# Split test set, without labels.
split_test(
data_root="path/to/DOTAv1.0/",
save_dir="path/to/DOTAv1.0-split/",
rates=[0.5, 1.0, 1.5], # multiscale
gap=500,
)Halte das Ausgabeverzeichnis im Standard-YOLO-Layout organisiert (images/train, labels/train usw.), damit du direkt aus der Datensatz-YAML darauf verweisen kannst.
Link to this sectionVerwendung#
Um ein Modell auf dem DOTA v1-Dataset zu trainieren, kannst du die folgenden Code-Snippets verwenden. Schaue für eine vollständige Liste der verfügbaren Argumente immer in die Dokumentation deines Modells. Wenn du zuerst mit einem kleineren Datensatz experimentieren möchtest, ziehe die Verwendung des DOTA8-Datasets in Betracht, das nur 8 Bilder für schnelle Tests enthält und auf der Ultralytics Platform durchsuchbar ist.
Bitte beachte, dass alle Bilder und zugehörigen Annotationen im DOTAv1-Datensatz für akademische Zwecke verwendet werden dürfen, eine kommerzielle Nutzung jedoch untersagt ist. Wir wissen dein Verständnis und deinen Respekt für die Wünsche der Datensatzersteller sehr zu schätzen!
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 sectionBeispieldaten und Annotationen#
Ein Blick auf den Datensatz verdeutlicht seine Tiefe:

- DOTA-Beispiele: Dieser Schnappschuss unterstreicht die Komplexität von Luftaufnahmen und die Bedeutung von orientierten Bounding Box-Annotationen, die Objekte in ihrer natürlichen Ausrichtung erfassen.
Der Reichtum des Datensatzes bietet unschätzbare Einblicke in Objekterkennungs-Herausforderungen, die exklusiv für Luftbilder gelten. Der DOTA-v2.0-Datensatz ist aufgrund seiner umfassenden Annotationen und vielfältigen Objektkategorien besonders beliebt für Fernerkundungs- und Luftüberwachungsprojekte geworden.
Link to this sectionZitate und Danksagungen#
Wenn du DOTA für deine Arbeit verwendest, zitiere bitte die relevanten Forschungsarbeiten:
@article{9560031,
author={Ding, Jian and Xue, Nan and Xia, Gui-Song and Bai, Xiang and Yang, Wen and Yang, Michael and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges},
year={2022},
volume={44},
number={11},
pages={7778-7796},
doi={10.1109/TPAMI.2021.3117983}
}Ein besonderer Dank gilt dem Team hinter den DOTA-Datensätzen für ihre lobenswerten Bemühungen bei der Kuratierung dieses Datensatzes. Für ein umfassendes Verständnis des Datensatzes und seiner Nuancen besuche bitte die offizielle DOTA-Website.
Link to this sectionFAQ#
Link to this sectionWas ist der DOTA-Datensatz und warum ist er für die Objekterkennung in Luftbildern wichtig?#
Der DOTA-Datensatz ist ein spezialisierter Datensatz mit Schwerpunkt auf Objekterkennung in Luftbildern. Er bietet Oriented Bounding Boxes (OBB) und stellt annotierte Bilder aus verschiedenen Luftbildszenen bereit. DOTAs Vielfalt in Objektorientierung, Skalierung und Form über seine 1,7 Mio. Annotationen und 18 Kategorien hinweg macht ihn ideal für die Entwicklung und Evaluierung von Modellen, die auf die Luftbildanalyse zugeschnitten sind, wie sie z. B. in der Überwachung, Umweltbeobachtung und Katastrophenhilfe eingesetzt werden.
Link to this sectionWie geht der DOTA-Datensatz mit unterschiedlichen Skalierungen und Ausrichtungen in Bildern um?#
DOTA verwendet Oriented Bounding Boxes (OBB) zur Annotation, die durch gedrehte Rechtecke dargestellt werden, welche Objekte unabhängig von ihrer Ausrichtung umschließen. Diese Methode stellt sicher, dass Objekte, ob klein oder in verschiedenen Winkeln, genau erfasst werden. Die multiskaligen Bilder des Datensatzes, die von 800 × 800 bis zu 20.000 × 20.000 Pixeln reichen, erlauben zudem die effektive Erkennung sowohl kleiner als auch großer Objekte. Dieser Ansatz ist besonders wertvoll für Luftbilder, bei denen Objekte in verschiedenen Winkeln und Skalierungen erscheinen.
Link to this sectionWie kann ich ein Modell mit dem DOTA-Datensatz trainieren?#
Um ein Modell mit dem DOTA Datensatz zu trainieren, kannst du das folgende Beispiel mit Ultralytics YOLO verwenden:
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)Weitere Details dazu, wie du die DOTA-Bilder aufteilst und vorverarbeitest, findest du im Abschnitt DOTA-Bilder aufteilen.
Link to this sectionWas sind die Unterschiede zwischen DOTA-v1.0, DOTA-v1.5 und DOTA-v2.0?#
- DOTA-v1.0: Enthält 15 gängige Kategorien in 2.806 Bildern mit 188.282 Instanzen. Der Datensatz ist in Trainings-, Validierungs- und Testsets unterteilt.
- DOTA-v1.5: Baut auf DOTA-v1.0 auf, indem es sehr kleine Instanzen (weniger als 10 Pixel) annotiert und eine neue Kategorie, "container crane", hinzufügt, was insgesamt 403.318 Instanzen ergibt.
- DOTA-v2.0: Erweitert das Ganze mit Annotationen aus Google Earth und GF-2 Satelliten und bietet 11.268 Bilder mit 1.793.658 Instanzen. Es enthält neue Kategorien wie "airport" und "helipad".
Für einen detaillierten Vergleich und weitere Spezifikationen schau dir den Abschnitt zu den Datensatz-Versionen an.
Link to this sectionWie kann ich hochauflösende DOTA-Bilder für das Training vorbereiten?#
DOTA-Bilder, die sehr groß sein können, werden für ein handhabbares Training in kleinere Auflösungen aufgeteilt. Hier ist ein Python-Snippet zum Aufteilen der Bilder:
from ultralytics.data.split_dota import split_test, split_trainval
# split train and val set, with labels.
split_trainval(
data_root="path/to/DOTAv1.0/",
save_dir="path/to/DOTAv1.0-split/",
rates=[0.5, 1.0, 1.5], # multiscale
gap=500,
)
# split test set, without labels.
split_test(
data_root="path/to/DOTAv1.0/",
save_dir="path/to/DOTAv1.0-split/",
rates=[0.5, 1.0, 1.5], # multiscale
gap=500,
)Dieser Prozess erleichtert eine effizientere Trainings- und Modellleistung. Für detaillierte Anweisungen besuche den Abschnitt DOTA-Bilder aufteilen.