Saltar al contenido

Conjunto de datos DOTA8

Introducción

Ultralytics DOTA8 es un conjunto de datos de detección de objetos orientado, pequeño pero versátil, compuesto por las 8 primeras imágenes de 8 imágenes del conjunto DOTAv1 dividido, 4 para entrenamiento y 4 para validación. Este conjunto de datos es ideal para probar y depurar modelos de detección de objetos, o para experimentar con nuevos enfoques de detección. Con 8 imágenes, es lo suficientemente pequeño como para ser fácilmente manejable, pero lo suficientemente diverso como para comprobar si hay errores en los procesos de entrenamiento y actuar como control de sanidad antes de entrenar conjuntos de datos más grandes.

Este conjunto de datos está pensado para su uso con Ultralytics HUB y YOLOv8.

Conjunto de datos YAML

Se utiliza un archivo YAML (Yet Another Markup Language) para definir la configuración del conjunto de datos. Contiene información sobre las rutas del conjunto de datos, las clases y otra información relevante. En el caso del conjunto de datos DOTA8, el archivo dota8.yaml se mantiene en https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota8.yaml.

ultralytics/cfg/datasets/dota8.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# DOTA8 dataset 8 images from split DOTAv1 dataset by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8/
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota8  ← downloads here (1MB)

# 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/dota8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 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/dota8.zip

Utilización

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

Ejemplo de tren

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-obb.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="dota8.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo obb train data=dota8.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

Ejemplos de imágenes y anotaciones

He aquí algunos ejemplos de imágenes del conjunto de datos DOTA8, junto con sus correspondientes anotaciones:

Imagen de muestra del conjunto de datos

  • 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 varias 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 generalizarse a diferentes tamaños de objetos, relaciones de aspecto y contextos.

El ejemplo muestra la variedad y complejidad de las imágenes del conjunto de datos DOTA8 y las ventajas de utilizar mosaicos durante el proceso de entrenamiento.

Citas y agradecimientos

Si utilizas el conjunto de datos DOTA en tu trabajo de investigación o desarrollo, cita el siguiente documento:

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

Una nota especial de gratitud al equipo que está detrás de los conjuntos de datos DOTA por su encomiable esfuerzo en la elaboración de este conjunto de datos. Para conocer a fondo el conjunto de datos y sus matices, visita el sitio web oficial de DOTA.

PREGUNTAS FRECUENTES

¿Qué es el conjunto de datos DOTA8 y cómo puede utilizarse?

El conjunto de datos DOTA8 es un pequeño y versátil conjunto de datos orientado a la detección de objetos, formado por las 8 primeras imágenes del conjunto dividido DOTAv1, con 4 imágenes designadas para el entrenamiento y 4 para la validación. Es ideal para probar y depurar modelos de detección de objetos como Ultralytics YOLOv8 . Debido a su tamaño manejable y a su diversidad, ayuda a identificar errores de canalización y a realizar comprobaciones de sanidad antes de desplegar conjuntos de datos más grandes. Más información sobre la detección de objetos con Ultralytics YOLOv8.

¿Cómo entreno un modelo YOLOv8 utilizando el conjunto de datos DOTA8?

Para entrenar un modelo YOLOv8n-obb en el conjunto de datos DOTA8 durante 100 épocas con un tamaño de imagen de 640, puedes utilizar los siguientes fragmentos de código. Para conocer todas las opciones de argumentos, consulta la página Entrenamiento del modelo.

Ejemplo de tren

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-obb.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="dota8.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo obb train data=dota8.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

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

El conjunto de datos DOTA es conocido por su referencia a gran escala y los retos que plantea para la detección de objetos en imágenes aéreas. El subconjunto DOTA8 es un conjunto de datos más pequeño y manejable, ideal para las pruebas iniciales. Puedes acceder al dota8.yaml que contiene rutas, clases y detalles de configuración. Enlace GitHub.

¿Cómo mejora el mosaico el entrenamiento de modelos con el conjunto de datos DOTA8?

El mosaico combina varias 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 generalizarse a diferentes tamaños de objetos, relaciones de aspecto y escenas. Esta técnica puede demostrarse visualmente mediante un lote de entrenamiento compuesto por imágenes en mosaico del conjunto de datos DOTA8, lo que ayuda a desarrollar modelos sólidos. Explora más sobre mosaicos y técnicas de entrenamiento en nuestra página de Entrenamiento.

¿Por qué debería utilizar Ultralytics YOLOv8 para tareas de detección de objetos?

Ultralytics YOLOv8 proporciona capacidades de detección de objetos en tiempo real de última generación, incluidas funciones como los cuadros delimitadores orientados (OBB), la segmentación de instancias y un canal de entrenamiento muy versátil. Es adecuado para diversas aplicaciones y ofrece modelos preentrenados para un ajuste fino eficaz. Explora más sobre las ventajas y el uso en la documentación deUltralytics YOLOv8 .



Creado 2024-01-09, Actualizado 2024-07-04
Autores: glenn-jocher (3), Laughing-q (1)

Comentarios