Ir al contenido

Conjunto de datos DOTA128

Introducción

Ultralytics DOTA128 es un conjunto de datos de detección de objetos orientados pequeño pero versátil, 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 cuadros delimitadores orientados (OBB), o para experimentar con nuevos enfoques de detección. Con 128 imágenes, es lo suficientemente pequeño como para ser fácilmente manejable, pero lo suficientemente diverso como para probar las tuberías de entrenamiento en busca de errores y actuar como una verificación de cordura antes de entrenar conjuntos de datos más grandes.

Estructura del conjunto de datos

  • Imágenes: 128 teselas aéreas (todas en la carpeta de entrenamiento, usadas tanto para entrenamiento como para validación) obtenidas de DOTAv1.
  • Clases: Hereda las 15 categorías DOTAv1, como avión, barco y vehículo grande.
  • Etiquetas: Cajas delimitadoras orientadas en formato YOLO guardadas como .txt archivos junto a cada imagen.

Este conjunto de datos está diseñado para usarse con Ultralytics Platform y YOLO26.

YAML del conjunto de datos

Un archivo YAML (Yet Another Markup Language) se utiliza para definir la configuración del conjunto de datos. Contiene información sobre las rutas, clases y otra información relevante del conjunto de datos. En el caso del conjunto de datos DOTA128, el dota128.yaml archivo se mantiene en 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

Uso

Para entrenar un modelo YOLO26n-obb en el conjunto de datos DOTA128 durante 100 épocas con un tamaño de imagen de 640, puede utilizar los siguientes fragmentos de código. Para una lista completa de argumentos disponibles, consulte la página de Entrenamiento del modelo.

Ejemplo de entrenamiento

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)
# Start training from a pretrained *.pt model
yolo obb train data=dota128.yaml model=yolo26n-obb.pt epochs=100 imgsz=640

sample_images y anotaciones

Aquí hay algunos ejemplos de imágenes del conjunto de datos DOTA128, junto con sus anotaciones correspondientes:

Mosaico de entrenamiento del conjunto de datos DOTA128 de cajas delimitadoras orientadas

  • Imagen en mosaico: Esta imagen muestra un lote de entrenamiento compuesto por imágenes en mosaico del conjunto de datos. El mosaico es una técnica utilizada durante el entrenamiento que combina varias imágenes en una sola imagen 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 objetos, 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 utiliza el conjunto de datos DOTA en su trabajo de investigación o desarrollo, cite 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={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3117983}
}

Un agradecimiento especial al equipo detrás de los conjuntos de datos DOTA por su encomiable esfuerzo en la curación de este conjunto de datos. Para una comprensión exhaustiva del conjunto de datos y sus matices, visite el sitio web oficial de DOTA.

Preguntas frecuentes

¿Qué es el conjunto de datos DOTA128 y cómo se puede utilizar?

El conjunto de datos DOTA128 es un conjunto de datos versátil para la detección de objetos orientados, compuesto por 128 imágenes del conjunto DOTAv1, todas almacenadas en la carpeta train. 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 realizar comprobaciones de cordura antes de implementar conjuntos de datos más grandes. Aprende más sobre la detección obb con Ultralytics YOLO26.

¿Cómo entreno un modelo YOLO26 utilizando el conjunto de datos DOTA128?

Para entrenar un modelo YOLO26n-obb en el conjunto de datos DOTA128 durante 100 épocas con un tamaño de imagen de 640, puede utilizar los siguientes fragmentos de código. Para opciones de argumentos completas, consulte la página de Entrenamiento del modelo.

Ejemplo de entrenamiento

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)
# Start training from a pretrained *.pt model
yolo obb train data=dota128.yaml model=yolo26n-obb.pt epochs=100 imgsz=640

¿Cuáles son las principales características del conjunto de datos DOTA y dónde puedo acceder al archivo YAML?

El conjunto de datos DOTA es conocido por su benchmark a gran escala y los desafíos que presenta para la detección de objetos en imágenes aéreas. El subconjunto DOTA128 ofrece más diversidad que DOTA8, a la vez que sigue siendo manejable para pruebas iniciales. Puedes acceder al dota128.yaml archivo, que contiene rutas, clases y detalles de configuración, en este Enlace de GitHub.

¿Cómo se compara DOTA128 con otras variantes del conjunto de datos DOTA?

DOTA128 (128 imágenes) se sitúa entre DOTA8 (8 imágenes) y el conjunto de datos completo DOTA-v1 (1.869 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 de entrenamiento, utilizadas tanto para entrenamiento como para validación) - equilibrado entre tamaño y diversidad
  • DOTA-v1 Completo: Contiene 1.869 imágenes - completo pero intensivo en recursos

DOTA128 ofrece un buen punto intermedio, proporcionando más diversidad que DOTA8, mientras que sigue siendo mucho más manejable que el conjunto de datos completo DOTA para la experimentación y el desarrollo inicial de modelos.

¿Cómo mejora el mosaico el entrenamiento del modelo con el conjunto de datos DOTA128?

El mosaico combina múltiples imágenes en una durante el entrenamiento, aumentando 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 puede demostrarse visualmente a través de un lote de entrenamiento compuesto por imágenes del conjunto de datos DOTA128 con mosaico, lo que ayuda en el desarrollo de modelos robustos. Explore más sobre las técnicas de mosaico y entrenamiento en nuestra página de Entrenamiento.

¿Por qué debería usar Ultralytics YOLO26 para tareas de detección de objetos orientados?

Ultralytics YOLO26 ofrece capacidades de detect de objetos en tiempo real de vanguardia, incluyendo características como cajas delimitadoras orientadas (obb), segmentación de instancias y un pipeline de entrenamiento altamente versátil. Es adecuado para diversas aplicaciones y ofrece modelos preentrenados para un ajuste fino eficiente. Explore más a fondo las ventajas y el uso en la documentación de Ultralytics YOLO26.



📅 Creado hace 21 días ✏️ Actualizado hace 21 días
Laughing-q

Comentarios