Zum Inhalt springen

DOTA-Datensatz mit OBB

DOTA ist ein spezieller Datensatz, der sich auf die Objekterkennung in Luftbildern konzentriert. Er stammt aus der DOTA-Datenreihe und bietet kommentierte Bilder, die eine Vielzahl von Luftbildern mit Oriented Bounding Boxes (OBB) erfassen.

DOTA Klassen visuell

Hauptmerkmale

  • Sammlung von verschiedenen Sensoren und Plattformen, mit BildgrĂ¶ĂŸen von 800 × 800 bis 20.000 × 20.000 Pixeln.
  • Mit mehr als 1,7 Millionen orientierten Bounding Boxes in 18 Kategorien.
  • Umfasst die Erkennung von Objekten auf mehreren Skalen.
  • Die Instanzen werden von Experten mit einem beliebigen Viereck (8 d.o.f.) beschriftet, das Objekte in verschiedenen GrĂ¶ĂŸenordnungen, Ausrichtungen und Formen erfasst.

Datensatz-Versionen

DOTA-v1.0

  • EnthĂ€lt 15 allgemeine Kategorien.
  • EnthĂ€lt 2.806 Bilder mit 188.282 Instanzen.
  • AufteilungsverhĂ€ltnisse: 1/2 fĂŒr das Training, 1/6 fĂŒr die Validierung und 1/3 fĂŒr das Testen.

DOTA-v1.5

  • Beinhaltet die gleichen Bilder wie DOTA-v1.0.
  • Sehr kleine Instanzen (weniger als 10 Pixel) werden ebenfalls mit Anmerkungen versehen.
  • HinzufĂŒgung einer neuen Kategorie: "Containerkran".
  • Insgesamt gibt es 403.318 FĂ€lle.
  • Freigegeben fĂŒr die DOAI Challenge 2019 zur Objekterkennung in Luftbildern.

DOTA-v2.0

  • Sammlungen aus Google Earth, GF-2 Satellit und anderen Luftbildern.
  • EnthĂ€lt 18 allgemeine Kategorien.
  • Sie umfasst 11.268 Bilder mit satten 1.793.658 Instanzen.
  • Neue Kategorien eingefĂŒhrt: "Flughafen" und "Hubschrauberlandeplatz".
  • Bildspalten:
    • 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-Herausforderung: 6.053 Bilder mit 1.090.637 Instanzen.

Struktur des Datensatzes

DOTA verfĂŒgt ĂŒber ein strukturiertes Layout, das auf die Herausforderungen der OBB-Objekterkennung zugeschnitten ist:

  • Bilder: Eine große Sammlung von hochauflösenden Luftbildern, die verschiedene Landschaften und Strukturen zeigen.
  • Orientierte Bounding Boxes: Anmerkungen in Form von gedrehten Rechtecken, die Objekte unabhĂ€ngig von ihrer Ausrichtung umschließen, ideal zum Erfassen von Objekten wie Flugzeugen, Schiffen und GebĂ€uden.

Anwendungen

DOTA dient als Benchmark fĂŒr das Training und die Bewertung von Modellen, die speziell fĂŒr die Analyse von Luftbildern entwickelt wurden. Die Einbeziehung von OBB-Anmerkungen stellt eine einzigartige Herausforderung dar und ermöglicht die Entwicklung von speziellen Objekterkennungsmodellen, die auf die Besonderheiten von Luftbildern abgestimmt sind.

Datensatz YAML

Normalerweise enthalten DatensĂ€tze eine YAML-Datei (Yet Another Markup Language), in der die Konfiguration des Datensatzes beschrieben wird. FĂŒr DOTA v1 und DOTA v1.5 bietet Ultralytics DOTAv1.yaml und DOTAv1.5.yaml Dateien. Weitere Informationen zu diesen Dateien und zu DOTA v2 findest du im offiziellen DOTA-Repository und in der Dokumentation.

DOTAv1.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 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
#     └── dota1  ← downloads here (2GB)

# 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: ../datasets/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/yolov5/releases/download/v1.0/DOTAv1.zip

DOTA Bilder teilen

Um den DOTA-Datensatz zu trainieren, haben wir die hochaufgelösten Original-DOTA-Bilder in Bilder mit einer Auflösung von 1024x1024 aufgeteilt, und zwar in mehreren Skalen.

Bilder teilen

from ultralytics.data.split_dota import split_trainval, split_test

# 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],    # multi-scale
    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],    # multi-scale
    gap=500
)

Verwendung

Um ein Modell mit dem DOTA v1-Datensatz zu trainieren, kannst du die folgenden Codeschnipsel verwenden. Eine ausfĂŒhrliche Liste der verfĂŒgbaren Argumente findest du immer in der Dokumentation deines Modells.

Warnung

Bitte beachte, dass alle Bilder und zugehörigen Anmerkungen im DOTAv1-Datensatz fĂŒr akademische Zwecke verwendet werden können, eine kommerzielle Nutzung ist jedoch untersagt. Wir schĂ€tzen dein VerstĂ€ndnis und deinen Respekt fĂŒr die WĂŒnsche der Ersteller des Datensatzes sehr!

Beispiel fĂŒr einen Zug

from ultralytics import YOLO

# Create a new YOLOv8n-OBB model from scratch
model = YOLO('yolov8n-obb.yaml')

# Train the model on the DOTAv2 dataset
results = model.train(data='DOTAv1.yaml', epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo obb train data=DOTAv1.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

Beispieldaten und Anmerkungen

Ein Blick auf den Datensatz verdeutlicht seine Tiefe:

Datensatz Beispielbild

  • DOTA-Beispiele: Dieser Schnappschuss unterstreicht die KomplexitĂ€t von Luftszenen und die Bedeutung von Oriented Bounding Box Annotationen, die Objekte in ihrer natĂŒrlichen Ausrichtung erfassen.

Der Reichtum des Datensatzes bietet unschÀtzbare Einblicke in die Herausforderungen der Objekterkennung, die nur bei Luftbildern auftreten.

Zitate und Danksagungen

FĂŒr diejenigen, die DOTA in ihren BemĂŒhungen einsetzen, ist es wichtig, die relevanten Forschungsarbeiten zu zitieren:

@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={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3117983}
}

Ein besonderer Dank geht an das Team hinter den DOTA-DatensĂ€tzen fĂŒr ihre lobenswerte Arbeit bei der Zusammenstellung dieses Datensatzes. FĂŒr ein umfassendes VerstĂ€ndnis des Datensatzes und seiner Feinheiten besuche bitte die offizielle DOTA-Website.



Erstellt am 2023-11-12, Aktualisiert am 2024-02-01
Autoren: glenn-jocher (5), Laughing-q (1)

Kommentare