Overslaan naar inhoud

DOTA Dataset met OBB

DOTA is een gespecialiseerde dataset die de nadruk legt op objectdetectie in luchtfoto's. Deze dataset komt voort uit de DOTA-serie en biedt geannoteerde beelden van een divers scala aan luchtscènes met Oriented Bounding Boxes (OBB).

DOTA klassen visueel

Belangrijkste kenmerken

  • Verzameling van verschillende sensoren en platforms, met beeldformaten van 800 × 800 tot 20.000 × 20.000 pixels.
  • Bevat meer dan 1,7 miljoen georiënteerde begrenzingskaders in 18 categorieën.
  • Omvat objectdetectie op meerdere schalen.
  • Instanties worden geannoteerd door experts met behulp van willekeurige (8 d.o.f.) vierhoeken, waarbij objecten van verschillende schalen, oriëntaties en vormen worden vastgelegd.

Versies van datasets

DOTA-v1.0

  • Bevat 15 algemene categorieën.
  • Bestaat uit 2.806 afbeeldingen met 188.282 instanties.
  • Verhoudingen splitsen: 1/2 voor training, 1/6 voor validatie en 1/3 voor testen.

DOTA-v1.5

  • Bevat dezelfde afbeeldingen als DOTA-v1.0.
  • Zeer kleine instanties (minder dan 10 pixels) worden ook geannoteerd.
  • Toevoeging van een nieuwe categorie: "containerkraan".
  • In totaal 403.318 gevallen.
  • Vrijgegeven voor de DOAI Challenge 2019 over objectdetectie in luchtfoto's.

DOTA-v2.0

  • Verzamelingen van Google Earth, GF-2 Satelliet en andere luchtfoto's.
  • Bevat 18 algemene categorieën.
  • Bestaat uit 11.268 afbeeldingen met maar liefst 1.793.658 instanties.
  • Nieuwe categorieën geïntroduceerd: "vliegveld" en "helipad".
  • Beeldsplitsingen:
    • Training: 1.830 afbeeldingen met 268.627 instanties.
    • Validatie: 593 afbeeldingen met 81.048 instanties.
    • Test-dev: 2.792 afbeeldingen met 353.346 instanties.
    • Test-uitdaging: 6.053 afbeeldingen met 1.090.637 instanties.

Structuur dataset

DOTA vertoont een gestructureerde lay-out die is afgestemd op de uitdagingen van OBB-objectdetectie:

  • Afbeeldingen: Een enorme verzameling luchtfoto's met een hoge resolutie die verschillende terreinen en structuren vastleggen.
  • Georiënteerde begrenzende vakken: Annotaties in de vorm van geroteerde rechthoeken die objecten insluiten ongeacht hun oriëntatie, ideaal voor het vastleggen van objecten zoals vliegtuigen, schepen en gebouwen.

Toepassingen

DOTA dient als benchmark voor het trainen en evalueren van modellen die specifiek zijn afgestemd op beeldanalyse vanuit de lucht. Met de opname van OBB annotaties biedt het een unieke uitdaging, die de ontwikkeling mogelijk maakt van gespecialiseerde objectdetectiemodellen die inspelen op de nuances van luchtfoto's.

Dataset YAML

Meestal bevatten datasets een YAML-bestand (Yet Another Markup Language) met de configuratie van de dataset. Voor DOTA v1 en DOTA v1.5 biedt Ultralytics DOTAv1.yaml en DOTAv1.5.yaml bestanden. Voor meer informatie over deze bestanden en DOTA v2 kun je de officiële repository en documentatie van DOTA raadplegen.

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

Gesplitste DOTA beelden

Om de DOTA dataset te trainen, splitsen we originele DOTA afbeeldingen met een hoge resolutie op in afbeeldingen met een resolutie van 1024x1024 op een multischaal manier.

Gesplitste afbeeldingen

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],    # 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
)

Gebruik

Om een model te trainen op de DOTA v1 dataset, kun je de volgende stukjes code gebruiken. Raadpleeg altijd de documentatie van je model voor een uitgebreide lijst van beschikbare argumenten.

Waarschuwing

Let op: alle afbeeldingen en bijbehorende annotaties in de DOTAv1 dataset kunnen worden gebruikt voor academische doeleinden, maar commercieel gebruik is verboden. Je begrip en respect voor de wensen van de makers van de dataset worden zeer op prijs gesteld!

Voorbeeld trein

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

Voorbeeldgegevens en annotaties

Een blik op de dataset illustreert de diepte ervan:

Voorbeeldafbeelding dataset

  • DOTA voorbeelden: Deze momentopname onderstreept de complexiteit van luchtscènes en het belang van Oriented Bounding Box annotaties, die objecten in hun natuurlijke oriëntatie vastleggen.

De rijkdom van de dataset biedt inzichten van onschatbare waarde in uitdagingen op het gebied van objectdetectie die exclusief zijn voor luchtfoto's.

Citaten en erkenningen

Voor degenen die DOTA gebruiken bij hun inspanningen, is het relevant om de relevante onderzoekspapers te citeren:

@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}
}

Een speciaal woord van dank aan het team achter de DOTA datasets voor hun prijzenswaardige inzet bij het samenstellen van deze dataset. Ga voor een volledig begrip van de dataset en de nuances naar de officiële DOTA website.



Aangemaakt 2023-11-12, Bijgewerkt 2024-03-09
Auteurs: glenn-jocher (7), Laughing-q (1)

Reacties