Dataset DOTA128#
Introdução#
Ultralytics DOTA128 é um conjunto de dados de object detection orientado pequeno, mas versátil, composto por 128 imagens do conjunto DOTAv1, 128 para treino e validação. Este conjunto de dados é ideal para testar e depurar modelos de bounding box orientada (OBB), ou para experimentar novas abordagens de deteção. Com 128 imagens, é suficientemente pequeno para ser facilmente gerível, mas diversificado o suficiente para testar pipelines de treino quanto a erros e servir como uma verificação de sanidade antes de treinar conjuntos de dados maiores.
Estrutura do Dataset#
- Imagens: 128 blocos aéreos (todos na pasta train, usados tanto para treino quanto para val) provenientes do DOTAv1.
- Classes: Herda as 15 categorias do DOTAv1, como avião, navio e veículo grande.
- Etiquetas: Caixas delimitadoras orientadas no formato YOLO guardadas como ficheiros
.txtao lado de cada imagem. - Download: 34 MB, obtido automaticamente dos ativos do GitHub da Ultralytics na primeira vez que treinares.
Este conjunto de dados destina-se ao uso com Ultralytics Platform e YOLO26.
YAML do Dataset#
Um ficheiro YAML é utilizado para definir a configuração do conjunto de dados. Contém informações sobre os caminhos, as classes e outras informações relevantes do conjunto de dados. No caso do conjunto de dados DOTA128, o ficheiro dota128.yaml é mantido em https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota128.yaml.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# DOTA128 dataset (128 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota128
# Example usage: yolo train model=yolo26n-obb.pt data=dota128.yaml
# parent
# ├── ultralytics
# └── datasets
# └── dota128 ← downloads here (34 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: dota128 # dataset root dir
train: images/train # train images (relative to 'path') 128 images
val: images/train # val images (relative to 'path') 128 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/dota128.zipUso#
Para treinar um modelo YOLO26n-obb no conjunto de dados DOTA128 durante 100 epochs com um tamanho de imagem de 640, podes utilizar os seguintes snippets de código. Para uma lista abrangente de argumentos disponíveis, consulta a página de Training do modelo.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-obb.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="dota128.yaml", epochs=100, imgsz=640)Exemplos de Imagens e Anotações#
Aqui estão alguns exemplos de imagens do conjunto de dados DOTA128, juntamente com suas anotações correspondentes:
- Imagem em Mosaico: Esta imagem demonstra um lote de treino composto por imagens do conjunto de dados em mosaico. A mosaicação é uma técnica usada durante o treino que combina múltiplas imagens numa única imagem para aumentar a variedade de objetos e cenas dentro de cada lote de treino. Isto ajuda a melhorar a capacidade do modelo de generalizar para diferentes tamanhos de objeto, proporções e contextos.
O exemplo demonstra a variedade e a complexidade das imagens no conjunto de dados DOTA128 e os benefícios de usar mosaico durante o processo de treinamento.
Citações e Agradecimentos#
Se você usar o conjunto de dados DOTA em seu trabalho de pesquisa ou desenvolvimento, por favor cite o seguinte artigo:
@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}
}Uma nota especial de agradecimento à equipa por trá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 site oficial do DOTA.
FAQ#
O conjunto de dados DOTA128 é um conjunto de dados de deteção de objetos orientados versátil constituído por 128 imagens do conjunto DOTAv1, todas armazenadas na pasta train. Tanto o treino como a validação utilizam o mesmo conjunto de imagens, tornando-o ideal para fluxos de trabalho rápidos de teste e depuração. É ideal para testar e depurar modelos OBB como o Ultralytics YOLO26. Devido ao seu tamanho gerível e diversidade, ajuda a identificar erros no pipeline e a executar verificações de sanidade antes de implementar conjuntos de dados maiores. Sabe mais sobre a deteção OBB com o Ultralytics YOLO26.
Para treinar um modelo YOLO26n-obb no conjunto de dados DOTA128 durante 100 epochs com um tamanho de imagem de 640, podes utilizar os seguintes snippets de código. Para opções de argumentos abrangentes, consulta a página de Training do modelo.
Exemplo de Treinamentofrom ultralytics import YOLO # Load a model model = YOLO("yolo26n-obb.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="dota128.yaml", epochs=100, imgsz=640)O conjunto de dados DOTA é conhecido pelo seu benchmark de larga escala e pelos desafios que apresenta para a deteção de objetos em imagens aéreas. O subconjunto DOTA128 oferece mais diversidade do que o DOTA8, mantendo-se gerível para testes iniciais. Podes aceder ao ficheiro
dota128.yaml, que contém caminhos, classes e detalhes de configuração, neste GitHub link.O DOTA128 (128 imagens) situa-se entre o DOTA8 (8 imagens) e o conjunto de dados DOTA-v1 completo (1.869 imagens) em termos de tamanho:
- DOTA8: Contém apenas 8 imagens (4 de treino, 4 de val) - ideal para testes rápidos e depuração
- DOTA128: Contém 128 imagens (todas na pasta train, usadas tanto para treino quanto para val) - equilibrado entre tamanho e diversidade
- DOTA-v1 Completo: Contém 1.869 imagens - abrangente, mas requer muitos recursos
O DOTA128 oferece um bom meio-termo, proporcionando mais diversidade do que o DOTA8, enquanto permanece muito mais gerenciável do que o conjunto de dados DOTA completo para experimentação e desenvolvimento inicial de modelos.
O mosaico (mosaicing) combina várias imagens numa só durante o treino, aumentando a variedade de objetos e contextos dentro de cada batch. Isto melhora a capacidade de um modelo para generalizar para diferentes tamanhos de objetos, rácios de aspeto e cenas. Esta técnica pode ser demonstrada visualmente através de um batch de treino composto por imagens do conjunto de dados DOTA128 em mosaico, ajudando no desenvolvimento de um modelo robusto. Explora mais sobre mosaicos e técnicas de treino na nossa página de Training.
O Ultralytics YOLO26 fornece capacidades de detecção de objetos em tempo real de última geração, incluindo funcionalidades como caixas delimitadoras orientadas (OBB), segmentação de instâncias e um pipeline de treino altamente versátil. É adequado para várias aplicações e oferece modelos pré-treinados para um ajuste fino eficiente. Explora mais sobre as vantagens e a utilização na documentação do Ultralytics YOLO26.