Descripción general de los datasets de cajas delimitadoras orientadas (OBB)
Entrenar un modelo preciso de detección de objetos con cajas delimitadoras orientadas (OBB) requiere un dataset exhaustivo. Esta guía explica los diversos formatos de dataset OBB compatibles con los modelos Ultralytics YOLO, ofreciendo información sobre su estructura, aplicación y métodos para conversiones de formato.
Formatos de dataset OBB admitidos
Formato YOLO OBB
El formato YOLO OBB designa las cajas delimitadoras mediante sus cuatro puntos de esquina con coordenadas normalizadas entre 0 y 1. Sigue este formato:
class_index x1 y1 x2 y2 x3 y3 x4 y4Internamente, YOLO procesa las pérdidas y salidas en el formato xywhr, que representa el punto central de la caja delimitadora (xy), el ancho, la altura y la rotación.

Un ejemplo de un archivo de etiquetas *.txt para la imagen anterior, que contiene un objeto de clase 0 en formato OBB, podría ser así:
0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758Formato YAML del conjunto de datos
El framework de Ultralytics utiliza un formato de archivo YAML para definir la configuración del dataset y del modelo para entrenar modelos OBB. Aquí tienes un ejemplo del formato YAML utilizado para definir un dataset OBB:
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# DOTA8 dataset (8 images from the DOTAv1 split) 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 (1 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: 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.zipUso
Para entrenar un modelo usando estos formatos OBB:
from ultralytics import YOLO
# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")
# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)Datasets compatibles
Actualmente, se admiten los siguientes datasets con cajas delimitadoras orientadas:
- DOTA-v1: La primera versión del dataset DOTA, que proporciona un conjunto completo de imágenes aéreas con cajas delimitadoras orientadas para la detección de objetos.
- DOTA-v1.5: Una versión intermedia del dataset DOTA, que ofrece anotaciones adicionales y mejoras respecto a DOTA-v1 para tareas mejoradas de detección de objetos.
- DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) versión 2, destaca la detección desde perspectivas aéreas y contiene cajas delimitadoras orientadas con 1,7 millones de instancias y 11 268 imágenes.
- DOTA8: Un pequeño subconjunto de 8 imágenes del dataset DOTA completo, adecuado para probar flujos de trabajo y comprobaciones de Integración Continua (CI) del entrenamiento de OBB en el repositorio
ultralytics. - DOTA128: Un subconjunto de 128 imágenes del dataset DOTA con todas las imágenes en la carpeta de entrenamiento (utilizada tanto para train como para val), lo que proporciona un buen equilibrio entre tamaño y diversidad para probar modelos OBB.
Incorpora tu propio dataset OBB
Para aquellos que busquen introducir sus propios datasets con cajas delimitadoras orientadas, asegúrense de la compatibilidad con el "formato YOLO OBB" mencionado anteriormente. Convierte tus anotaciones a este formato requerido y detalla las rutas, clases y nombres de clase en un archivo de configuración YAML correspondiente.
Convertir formatos de etiquetas
Formato de dataset DOTA a formato YOLO OBB
La transición de etiquetas desde el formato de dataset DOTA al formato YOLO OBB se puede lograr con este script:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")Este mecanismo de conversión es fundamental para los datasets en formato DOTA, asegurando la alineación con el formato OBB de Ultralytics YOLO.
Es imperativo validar la compatibilidad del dataset con tu modelo y adherirse a las convenciones de formato necesarias. Los datasets correctamente estructurados son fundamentales para entrenar modelos eficientes de detección de objetos con cajas delimitadoras orientadas.
Preguntas frecuentes
¿Qué son las cajas delimitadoras orientadas (OBB) y cómo se utilizan en los modelos Ultralytics YOLO?
Las cajas delimitadoras orientadas (OBB) son un tipo de anotación de caja delimitadora donde la caja puede rotarse para alinearse más estrechamente con el objeto que se detecta, en lugar de estar simplemente alineada con los ejes. Esto es particularmente útil en imágenes aéreas o satelitales donde los objetos pueden no estar alineados con los ejes de la imagen. En los modelos Ultralytics YOLO, las OBB se representan mediante sus cuatro puntos de esquina en el formato YOLO OBB. Esto permite una detección de objetos más precisa, ya que las cajas delimitadoras pueden rotar para ajustarse mejor a los objetos.
¿Cómo convierto mis etiquetas de dataset DOTA existentes al formato YOLO OBB para usarlas con Ultralytics YOLO26?
Puedes convertir etiquetas de dataset DOTA al formato YOLO OBB usando la función convert_dota_to_yolo_obb de Ultralytics. Esta conversión asegura la compatibilidad con los modelos Ultralytics YOLO, permitiéndote aprovechar las capacidades de OBB para una detección de objetos mejorada. Aquí tienes un ejemplo rápido:
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")Este script reformateará tus anotaciones DOTA en un formato compatible con YOLO.
¿Cómo entreno un modelo YOLO26 con cajas delimitadoras orientadas (OBB) en mi dataset?
Entrenar un modelo YOLO26 con OBB implica asegurarse de que tu dataset esté en el formato YOLO OBB y luego utilizar la API de Ultralytics para entrenar el modelo. Aquí tienes un ejemplo tanto en Python como en CLI:
from ultralytics import YOLO
# Create a new YOLO26n-OBB model from scratch
model = YOLO("yolo26n-obb.yaml")
# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)Esto asegura que tu modelo aproveche las anotaciones detalladas de OBB para mejorar la precisión de detección.
¿Qué datasets están actualmente soportados para el entrenamiento de OBB en los modelos Ultralytics YOLO?
Actualmente, Ultralytics soporta los siguientes datasets para el entrenamiento de OBB:
- DOTA-v1: La primera versión del dataset DOTA, que proporciona un conjunto completo de imágenes aéreas con cajas delimitadoras orientadas para la detección de objetos.
- DOTA-v1.5: Una versión intermedia del dataset DOTA, que ofrece anotaciones adicionales y mejoras respecto a DOTA-v1 para tareas mejoradas de detección de objetos.
- DOTA-v2: Este dataset incluye 1,7 millones de instancias con cajas delimitadoras orientadas y 11 268 imágenes, centrándose principalmente en la detección de objetos aéreos.
- DOTA8: Un subconjunto más pequeño de 8 imágenes del dataset DOTA utilizado para pruebas y comprobaciones de integración continua (CI).
- DOTA128: Un subconjunto de 128 imágenes con todas las imágenes en la carpeta de entrenamiento (utilizada tanto para train como para val), que ofrece más diversidad que DOTA8 sin dejar de ser manejable para el desarrollo inicial y la experimentación de modelos OBB.
Estos datasets están adaptados para escenarios donde las OBB ofrecen una ventaja significativa, como el análisis de imágenes aéreas y satelitales.
¿Puedo usar mi propio dataset con cajas delimitadoras orientadas para el entrenamiento de YOLO26 y, de ser así, cómo?
Sí, puedes usar tu propio dataset con cajas delimitadoras orientadas para el entrenamiento de YOLO26. Asegúrate de que las anotaciones de tu dataset estén convertidas al formato YOLO OBB, lo cual implica definir las cajas delimitadoras mediante sus cuatro puntos de esquina. Después, puedes crear un archivo de configuración YAML especificando las rutas del dataset, las clases y otros detalles necesarios. Para obtener más información sobre cómo crear y configurar tus datasets, consulta la sección Datasets admitidos.