Salta para o conteĆŗdo

Conjunto de dados DOTA com OBB

O DOTA Ć© um conjunto de dados especializado, com ĆŖnfase na deteĆ§Ć£o de objectos em imagens aĆ©reas. OriginĆ”rio da sĆ©rie de conjuntos de dados DOTA, oferece imagens anotadas que capturam um conjunto diversificado de cenas aĆ©reas com Oriented Bounding Boxes (OBB).

Visual das classes DOTA

CaracterĆ­sticas principais

  • Recolha de vĆ”rios sensores e plataformas, com tamanhos de imagem que variam entre 800 Ɨ 800 e 20 000 Ɨ 20 000 pixĆ©is.
  • Inclui mais de 1,7 milhƵes de caixas delimitadoras orientadas em 18 categorias.
  • Engloba a deteĆ§Ć£o de objectos em vĆ”rias escalas.
  • As instĆ¢ncias sĆ£o anotadas por especialistas utilizando quadrilĆ”teros arbitrĆ”rios (8 d.o.f.), capturando objectos de diferentes escalas, orientaƧƵes e formas.

VersƵes do conjunto de dados

DOTA-v1.0

  • ContĆ©m 15 categorias comuns.
  • Inclui 2.806 imagens com 188.282 instĆ¢ncias.
  • Divide as proporƧƵes: 1/2 para treino, 1/6 para validaĆ§Ć£o e 1/3 para teste.

DOTA-v1.5

  • Incorpora as mesmas imagens do DOTA-v1.0.
  • As instĆ¢ncias muito pequenas (menos de 10 pixĆ©is) tambĆ©m sĆ£o anotadas.
  • Aditamento de uma nova categoria: "grua para contentores".
  • Um total de 403.318 ocorrĆŖncias.
  • LanƧado para o Desafio DOAI 2019 sobre deteĆ§Ć£o de objectos em imagens aĆ©reas.

DOTA-v2.0

  • ColecƧƵes do Google Earth, do satĆ©lite GF-2 e de outras imagens aĆ©reas.
  • ContĆ©m 18 categorias comuns.
  • Inclui 11.268 imagens com um nĆŗmero impressionante de 1.793.658 instĆ¢ncias.
  • Introduziu novas categorias: "aeroporto" e "heliporto".
  • Divide a imagem:
    • Treino: 1.830 imagens com 268.627 instĆ¢ncias.
    • Valida: 593 imagens com 81.048 instĆ¢ncias.
    • Test-dev: 2.792 imagens com 353.346 instĆ¢ncias.
    • Teste-desafio: 6.053 imagens com 1.090.637 instĆ¢ncias.

Estrutura do conjunto de dados

O DOTA apresenta um layout estruturado adaptado aos desafios de deteĆ§Ć£o de objectos OBB:

  • Imagens: Uma vasta coleĆ§Ć£o de imagens aĆ©reas de alta resoluĆ§Ć£o que captam diversos terrenos e estruturas.
  • Caixas delimitadoras orientadas: AnotaƧƵes na forma de rectĆ¢ngulos rodados que encapsulam objectos independentemente da sua orientaĆ§Ć£o, ideais para capturar objectos como aviƵes, navios e edifĆ­cios.

AplicaƧƵes

O DOTA serve de referĆŖncia para treinar e avaliar modelos especificamente adaptados Ć  anĆ”lise de imagens aĆ©reas. Com a inclusĆ£o de anotaƧƵes OBB, proporciona um desafio Ćŗnico, permitindo o desenvolvimento de modelos especializados de deteĆ§Ć£o de objectos que atendam Ć s nuances das imagens aĆ©reas.

Conjunto de dados YAML

Normalmente, os conjuntos de dados incorporam um ficheiro YAML (Yet Another Markup Language) que detalha a configuraĆ§Ć£o do conjunto de dados. Para DOTA v1 e DOTA v1.5, Ultralytics fornece DOTAv1.yaml e DOTAv1.5.yaml ficheiros. Para mais detalhes sobre estes ficheiros, bem como sobre o DOTA v2, consulta o repositĆ³rio e a documentaĆ§Ć£o oficial do DOTA.

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

Divide as imagens do DOTA

Para treinar o conjunto de dados DOTA, dividimos as imagens DOTA originais com alta resoluĆ§Ć£o em imagens com resoluĆ§Ć£o de 1024x1024 de forma multiescala.

Divide as imagens

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
)

UtilizaĆ§Ć£o

Para treinar um modelo no conjunto de dados DOTA v1, podes utilizar os seguintes trechos de cĆ³digo. Consulta sempre a documentaĆ§Ć£o do teu modelo para obteres uma lista completa dos argumentos disponĆ­veis.

Aviso

Tem em atenĆ§Ć£o que todas as imagens e anotaƧƵes associadas no conjunto de dados DOTAv1 podem ser utilizadas para fins acadĆ©micos, mas a utilizaĆ§Ć£o comercial Ć© proibida. A tua compreensĆ£o e respeito pelos desejos dos criadores do conjunto de dados sĆ£o muito apreciados!

Exemplo de comboio

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

Dados de amostra e anotaƧƵes

Um olhar sobre o conjunto de dados ilustra a sua profundidade:

Imagem de amostra do conjunto de dados

  • Exemplos de DOTA: Este instantĆ¢neo sublinha a complexidade das cenas aĆ©reas e a importĆ¢ncia das anotaƧƵes Oriented Bounding Box, capturando os objectos na sua orientaĆ§Ć£o natural.

A riqueza do conjunto de dados oferece informaƧƵes valiosas sobre os desafios da deteĆ§Ć£o de objectos exclusivos das imagens aĆ©reas.

CitaƧƵes e agradecimentos

Para aqueles que utilizam o DOTA nos seus esforƧos, Ć© pertinente citar os trabalhos de investigaĆ§Ć£o relevantes:

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

Uma nota especial de agradecimento Ć  equipa por detrĆ”s dos conjuntos de dados DOTA pelo seu esforƧo louvĆ”vel na curadoria deste conjunto de dados. Para uma compreensĆ£o exaustiva do conjunto de dados e das suas nuances, visita o sĆ­tio Web oficial do DOTA.



Criado em 2023-11-12, Atualizado em 2024-03-03
Autores: glenn-jocher (6), Laughing-q (1)

ComentƔrios