Ultralytics YOLO27:

Conjunto de dados DOTA128#

Introdução#

Ultralytics DOTA128 é um conjunto de dados pequeno, mas versátil, de deteção de objetos orientados, composto por 128 imagens do conjunto DOTAv1, que servem tanto para treino como para validação. Este conjunto de dados é ideal para testar e depurar modelos de caixas delimitadoras orientadas (OBB) ou para experimentar novas abordagens de deteção. Com 128 imagens, é pequeno o suficiente para ser facilmente gerido, mas diversificado o suficiente para testar pipelines de treino em busca de erros e servir como verificação de sanidade antes do treino com conjuntos de dados maiores.

Estrutura do conjunto de dados#

  • Imagens: 128 recortes aéreos (todos na pasta train, usados tanto para treino como para validação) provenientes do DOTAv1.
  • Classes: Herda as 15 categorias do DOTAv1, como avião, navio e veículo de grandes dimensões.
  • Rótulos: Caixas delimitadoras orientadas no formato YOLO, guardadas em ficheiros .txt junto a cada imagem.
  • Transferência: 34 MB, obtidos automaticamente dos recursos do GitHub da Ultralytics na primeira vez que iniciares o treino.

Este conjunto de dados destina-se ao uso com a Ultralytics Platform e o YOLO26.

YAML do conjunto de dados#

Um ficheiro YAML é usado para definir a configuração do conjunto de dados. Contém informações sobre os caminhos, as classes e outros dados 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/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.zip

Utilização#

Para treinar um modelo YOLO26n-obb com o conjunto de dados DOTA128 durante 100 épocas, com um tamanho de imagem de 640, podes usar os seguintes excertos de código. Para consultar a lista completa de argumentos disponíveis, visita a página de Treino do modelo.

Exemplo de treino
from ultralytics import YOLO

# Carregue um modelo
model = YOLO("yolo26n-obb.pt")  # carregar um modelo pré-treinado (recomendado para o treino)

# Treine o modelo
results = model.train(data="dota128.yaml", epochs=100, imgsz=640)

Imagens de exemplo e anotações#

Aqui estão alguns exemplos de imagens do conjunto de dados DOTA128, juntamente com as respetivas anotações:

DOTA128 oriented bounding box dataset training mosaic
  • Imagem em mosaico: Esta imagem mostra um lote de treino composto por imagens do conjunto de dados organizadas em mosaico. A criação de mosaicos é uma técnica utilizada durante o treino que combina várias imagens numa só para aumentar a variedade de objetos e cenas em cada lote de treino. Isto ajuda a melhorar a capacidade do modelo para generalizar a diferentes dimensões de objetos, proporções e contextos.

O exemplo mostra a variedade e a complexidade das imagens do conjunto de dados DOTA128, bem como as vantagens de usar mosaicos durante o processo de treino.

Citações e agradecimentos#

Se usares o conjunto de dados DOTA no teu trabalho de investigação ou desenvolvimento, cita o seguinte artigo:

Citação
@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}
}

Um agradecimento especial à equipa responsável pelos conjuntos de dados DOTA pelo louvável trabalho de curadoria deste conjunto de dados. Para compreenderes o conjunto de dados em profundidade e conheceres as suas particularidades, visita o site oficial do DOTA.

Perguntas frequentes#

  • O conjunto de dados DOTA128 é um conjunto versátil de deteção de objetos orientados, composto por 128 imagens do conjunto DOTAv1, todas guardadas na pasta train. O treino e a validação usam o mesmo conjunto de imagens, o que o torna ideal para testar e depurar rapidamente modelos OBB, como o Ultralytics YOLO26. Graças ao seu tamanho manejável e à sua diversidade, ajuda a identificar erros nos pipelines e a realizar verificações de sanidade antes do treino com conjuntos de dados maiores. Sabe mais sobre a deteção OBB com o Ultralytics YOLO26.

  • Para treinar um modelo YOLO26n-obb com o conjunto de dados DOTA128 durante 100 épocas, com um tamanho de imagem de 640, podes usar os seguintes excertos de código. Para consultar as opções completas de argumentos, visita a página de Treino do modelo.

    Exemplo de treino
    from ultralytics import YOLO
    
    # Carregue um modelo
    model = YOLO("yolo26n-obb.pt")  # carregar um modelo pré-treinado (recomendado para o treino)
    
    # Treine o modelo
    results = model.train(data="dota128.yaml", epochs=100, imgsz=640)
  • O conjunto de dados DOTA é conhecido pelo seu benchmark de grande 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 manejável para os testes iniciais. Podes aceder ao ficheiro dota128.yaml, que contém caminhos, classes e detalhes de configuração, através desta ligação do GitHub.

  • Em termos de tamanho, o DOTA128 (128 imagens) fica entre o DOTA8 (8 imagens) e o conjunto de dados completo DOTA-v1 (1.869 imagens anotadas de treino e validação):

    • DOTA8: Contém apenas 8 imagens (4 de treino e 4 de validação) — ideal para testes rápidos e depuração
    • DOTA128: Contém 128 imagens (todas na pasta train, usadas tanto para treino como para validação) — um equilíbrio entre tamanho e diversidade
    • DOTA-v1 completo: Contém 1.869 imagens anotadas de treino e validação — abrangente, mas exige muitos recursos

    O DOTA128 oferece um bom meio-termo: proporciona mais diversidade do que o DOTA8 e continua a ser muito mais manejável do que o conjunto de dados DOTA completo para experimentação e desenvolvimento inicial de modelos.

  • A criação de mosaicos combina várias imagens numa só durante o treino, aumentando a variedade de objetos e contextos em cada lote. Isto melhora a capacidade do modelo de generalizar para diferentes tamanhos de objetos, proporções e cenários. Esta técnica pode ser demonstrada visualmente com um lote de treino composto por imagens do conjunto de dados DOTA128 organizadas em mosaicos, contribuindo para um desenvolvimento robusto de modelos. Explora mais sobre a criação de mosaicos e as técnicas de treino na nossa página de Treino.

  • O Ultralytics YOLO26 oferece capacidades de deteçã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 vantagens e formas de utilização na documentação do Ultralytics YOLO26.

Comentários