Link to this sectionDescripción general de conjuntos de datos de cuadros delimitadores orientados (OBB)#
Entrenar un modelo preciso de detección de objetos con cuadros delimitadores orientados (OBB) requiere un conjunto de datos exhaustivo. Esta guía explica los diversos formatos de conjuntos de datos OBB compatibles con los modelos YOLO de Ultralytics, ofreciendo información sobre su estructura, aplicación y métodos para conversiones de formato.
Link to this sectionFormatos de conjuntos de datos OBB admitidos#
Link to this sectionFormato YOLO OBB#
El formato YOLO OBB designa los cuadros delimitadores 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 (xy), el ancho, la altura y la rotación de la caja delimitadora.

Un ejemplo de un archivo de etiquetas *.txt para la imagen anterior, que contiene un objeto de clase 0 en formato OBB, podría verse así:
0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758Link to this sectionFormato YAML del dataset#
El framework de Ultralytics utiliza un formato de archivo YAML para definir la configuración del conjunto de datos y del modelo para entrenar modelos OBB. Aquí hay un ejemplo del formato YAML utilizado para definir un conjunto de datos 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.zipLink to this sectionUso#
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)Link to this sectionConjuntos de datos compatibles#
Actualmente, se admiten los siguientes conjuntos de datos con cuadros delimitadores orientados:
- DOTA-v1: La primera versión del conjunto de datos DOTA, que proporciona un conjunto integral de imágenes aéreas con cuadros delimitadores orientados para la detección de objetos.
- DOTA-v1.5: Una versión intermedia del conjunto de datos DOTA, que ofrece anotaciones adicionales y mejoras sobre DOTA-v1 para tareas mejoradas de detección de objetos.
- DOTA-v2: DOTA (Un conjunto de datos a gran escala para la detección de objetos en imágenes aéreas) versión 2, enfatiza la detección desde perspectivas aéreas y contiene cuadros delimitadores orientados con 1,7 millones de instancias y 11.268 imágenes.
- DOTA8: Un subconjunto pequeño de 8 imágenes del conjunto de datos 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 conjunto de datos DOTA con todas las imágenes en la carpeta train (utilizadas tanto para train como para val), lo que proporciona un buen equilibrio entre tamaño y diversidad para probar modelos OBB.
Link to this sectionIncorpora tu propio conjunto de datos OBB#
Para aquellos que buscan introducir sus propios conjuntos de datos con cuadros delimitadores orientados, asegúrate de la compatibilidad con el "formato YOLO OBB" mencionado anteriormente. Convierte tus anotaciones a este formato requerido y detalla las rutas, las clases y los nombres de las clases en un archivo de configuración YAML correspondiente.
Link to this sectionConvertir formatos de etiquetas#
Link to this sectionFormato del conjunto de datos DOTA al formato YOLO OBB#
La transición de etiquetas desde el formato del conjunto de datos 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 conjuntos de datos en formato DOTA, asegurando la alineación con el formato OBB de Ultralytics YOLO.
Es imperativo validar la compatibilidad del conjunto de datos con tu modelo y cumplir con las convenciones de formato necesarias. Los conjuntos de datos estructurados adecuadamente son fundamentales para entrenar modelos eficientes de detección de objetos con cuadros delimitadores orientados.
Link to this sectionFAQ#
Link to this section¿Qué son los cuadros delimitadores orientados (OBB) y cómo se utilizan en los modelos YOLO de Ultralytics?#
Los cuadros delimitadores orientados (OBB) son un tipo de anotación de cuadro delimitador donde el cuadro puede rotarse para alinearse más estrechamente con el objeto que se está detectando, en lugar de estar simplemente alineado 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 de Ultralytics YOLO, los OBB están representados por sus cuatro puntos de esquina en el formato YOLO OBB. Esto permite una detección de objetos más precisa, ya que los cuadros delimitadores pueden rotar para adaptarse mejor a los objetos.
Link to this section¿Cómo convierto mis etiquetas de conjunto de datos DOTA existentes al formato YOLO OBB para usar con YOLO26 de Ultralytics?#
Puedes convertir etiquetas de conjunto de datos DOTA al formato YOLO OBB utilizando la función convert_dota_to_yolo_obb de Ultralytics. Esta conversión garantiza la compatibilidad con los modelos YOLO de Ultralytics, 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.
Link to this section¿Cómo entreno un modelo YOLO26 con cuadros delimitadores orientados (OBB) en mi conjunto de datos?#
Entrenar un modelo YOLO26 con OBB implica asegurarse de que tu conjunto de datos esté en el formato YOLO OBB y luego usar 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 garantiza que tu modelo aproveche las anotaciones OBB detalladas para una mejor precisión de detección.
Link to this section¿Qué conjuntos de datos son compatibles actualmente para el entrenamiento de OBB en los modelos YOLO de Ultralytics?#
Actualmente, Ultralytics admite los siguientes conjuntos de datos para el entrenamiento de OBB:
- DOTA-v1: La primera versión del conjunto de datos DOTA, que proporciona un conjunto integral de imágenes aéreas con cuadros delimitadores orientados para la detección de objetos.
- DOTA-v1.5: Una versión intermedia del conjunto de datos DOTA, que ofrece anotaciones adicionales y mejoras sobre DOTA-v1 para tareas mejoradas de detección de objetos.
- DOTA-v2: Este conjunto de datos incluye 1,7 millones de instancias con cuadros delimitadores orientados 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 conjunto de datos 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 train (utilizadas 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 conjuntos de datos están adaptados para escenarios donde los OBB ofrecen una ventaja significativa, como el análisis de imágenes aéreas y satelitales.
Link to this section¿Puedo usar mi propio conjunto de datos con cuadros delimitadores orientados para el entrenamiento de YOLO26 y, de ser así, cómo?#
Sí, puedes usar tu propio conjunto de datos con cuadros delimitadores orientados para el entrenamiento de YOLO26. Asegúrate de que las anotaciones de tu conjunto de datos estén convertidas al formato YOLO OBB, lo que implica definir los cuadros delimitadores por sus cuatro puntos de esquina. Luego, puedes crear un archivo de configuración YAML especificando las rutas del conjunto de datos, las clases y otros detalles necesarios. Para obtener más información sobre cómo crear y configurar tus conjuntos de datos, consulta la sección Conjuntos de datos admitidos.