Conjunto de datos DOTA128#
Introducción#
Ultralytics DOTA128 es un pequeño pero versátil conjunto de datos de object detection orientado compuesto por 128 imágenes del conjunto DOTAv1, 128 para entrenamiento y validación. Este conjunto de datos es ideal para probar y depurar modelos de cajas delimitadoras orientadas (OBB), o para experimentar con nuevos enfoques de detección. Con 128 imágenes, es lo suficientemente pequeño como para ser fácil de gestionar, pero lo bastante diverso como para probar los flujos de trabajo de entrenamiento en busca de errores y actuar como una comprobación de sanidad antes de entrenar conjuntos de datos más grandes.
Estructura del dataset#
- Imágenes: 128 mosaicos aéreos (todos en la carpeta train, utilizados tanto para entrenamiento como para validación) procedentes de DOTAv1.
- Clases: Hereda las 15 categorías de DOTAv1 como avión, barco y vehículo grande.
- Etiquetas: Cajas delimitadoras orientadas con formato YOLO guardadas como archivos
.txtjunto a cada imagen. - Descarga: 34 MB, obtenidos automáticamente desde los assets de Ultralytics GitHub la primera vez que entrenas.
Este conjunto de datos está pensado para su uso con Ultralytics Platform y YOLO26.
YAML del dataset#
Se utiliza un archivo YAML para definir la configuración del conjunto de datos. Contiene información sobre las rutas, las clases y otros datos relevantes del conjunto de datos. En el caso del conjunto de datos DOTA128, el archivo dota128.yaml se mantiene en 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 entrenar un modelo YOLO26n-obb en el conjunto de datos DOTA128 durante 100 epochs con un tamaño de imagen de 640, puedes usar los siguientes fragmentos de código. Para obtener una lista completa de los argumentos disponibles, consulta la página de Training del 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)Muestras de imágenes y anotaciones#
Aquí tienes algunos ejemplos de imágenes del conjunto de datos DOTA128, junto con sus anotaciones correspondientes:
- Imagen en mosaico: Esta imagen muestra un lote de entrenamiento compuesto por imágenes del conjunto de datos en mosaico. El mosaico es una técnica utilizada durante el entrenamiento que combina múltiples imágenes en una sola para aumentar la variedad de objetos y escenas dentro de cada lote de entrenamiento. Esto ayuda a mejorar la capacidad del modelo para generalizar a diferentes tamaños de objeto, relaciones de aspecto y contextos.
El ejemplo muestra la variedad y complejidad de las imágenes en el conjunto de datos DOTA128 y los beneficios de usar el mosaico durante el proceso de entrenamiento.
Citas y agradecimientos#
Si utilizas el conjunto de datos DOTA en tu trabajo de investigación o desarrollo, por favor cita el siguiente artículo:
@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}
}Una nota especial de agradecimiento al equipo detrás de los conjuntos de datos DOTA por su encomiable esfuerzo en la recopilación de este conjunto de datos. Para obtener una comprensión exhaustiva del conjunto de datos y sus matices, visita el sitio web oficial de DOTA.
FAQ#
El conjunto de datos DOTA128 es un versátil conjunto de datos de detección de objetos orientados formado por 128 imágenes del conjunto DOTAv1, todas almacenadas en la carpeta de entrenamiento. Tanto el entrenamiento como la validación utilizan el mismo conjunto de imágenes, lo que lo hace ideal para flujos de trabajo rápidos de prueba y depuración. Es ideal para probar y depurar modelos OBB como Ultralytics YOLO26. Debido a su tamaño manejable y diversidad, ayuda a identificar errores en el pipeline y a ejecutar comprobaciones de sanidad antes de implementar conjuntos de datos más grandes. Obtén más información sobre la detección OBB con Ultralytics YOLO26.
Para entrenar un modelo YOLO26n-obb en el conjunto de datos DOTA128 durante 100 épocas con un tamaño de imagen de 640, puedes usar los siguientes fragmentos de código. Para ver las opciones completas de argumentos, consulta la página de Training del modelo.
Ejemplo de entrenamientofrom 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)El conjunto de datos DOTA es conocido por su referencia a gran escala y los retos que presenta para la detección de objetos en imágenes aéreas. El subconjunto DOTA128 ofrece más diversidad que DOTA8 sin dejar de ser manejable para las pruebas iniciales. Puedes acceder al archivo
dota128.yaml, que contiene rutas, clases y detalles de configuración, en este GitHub link.DOTA128 (128 imágenes) se sitúa entre DOTA8 (8 imágenes) y el conjunto de datos completo DOTA-v1 (1869 imágenes) en términos de tamaño:
- DOTA8: Contiene solo 8 imágenes (4 de entrenamiento, 4 de validación) - ideal para pruebas rápidas y depuración
- DOTA128: Contiene 128 imágenes (todas en la carpeta train, utilizadas tanto para entrenamiento como para validación) - equilibrado entre tamaño y diversidad
- DOTA-v1 completo: Contiene 1.869 imágenes - completo pero requiere muchos recursos
DOTA128 proporciona un buen punto medio, ofreciendo más diversidad que DOTA8 mientras sigue siendo mucho más manejable que el conjunto de datos DOTA completo para la experimentación y el desarrollo inicial del modelo.
Mosaicing combina varias imágenes en una sola durante el entrenamiento, lo que aumenta la variedad de objetos y contextos dentro de cada lote. Esto mejora la capacidad de un modelo para generalizar a diferentes tamaños de objetos, relaciones de aspecto y escenas. Esta técnica se puede demostrar visualmente mediante un lote de entrenamiento compuesto por imágenes del conjunto de datos DOTA128 con mosaicos, lo que ayuda a un desarrollo robusto del modelo. Explora más sobre las técnicas de mosaicing y entrenamiento en nuestra página de Training.
Ultralytics YOLO26 ofrece capacidades de detección de objetos en tiempo real de última generación, incluidas características como cuadros delimitadores orientados (OBB), segmentación de instancias y un flujo de trabajo de entrenamiento altamente versátil. Es adecuado para diversas aplicaciones y ofrece modelos preentrenados para un ajuste fino eficiente. Explora más a fondo sobre las ventajas y el uso en la documentación de Ultralytics YOLO26.