Ir al contenido

Visión general de los conjuntos de datos Oriented Bounding Box (OBB)

El entrenamiento de un modelo preciso de detección de objetos con recuadros delimitadores orientados (OBB) requiere un conjunto de datos completo. En esta guía se explican los distintos formatos de conjuntos de datos OBB compatibles con los modelos de Ultralytics YOLO y se ofrece información sobre su estructura, aplicación y métodos de conversión de formatos.

Formatos de conjuntos de datos OBB compatibles

YOLO Formato OBB

El formato YOLO OBB designa los recuadros delimitadores por sus cuatro puntos de esquina con coordenadas normalizadas entre 0 y 1. Sigue este formato:

class_index x1 y1 x2 y2 x3 y3 x4 y4

Internamente, YOLO procesa las pérdidas y salidas en el xywhr que representa el formato cuadro delimitador(xy), anchura, altura y rotación.

Ejemplos de formato OBB

Un ejemplo de *.txt para la imagen anterior, que contiene un objeto de clase 0 en formato OBB, podría tener este aspecto:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Utilización

Para entrenar un modelo utilizando estos formatos OBB:

Ejemplo

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

Conjuntos de datos compatibles

Actualmente, se admiten los siguientes conjuntos de datos con cajas delimitadoras orientadas:

  • DOTA-v1: La primera versión del conjunto de datos DOTA, que proporciona un amplio conjunto de imágenes aéreas con cuadros delimitadores orientados para la detección de objetos.
  • DOTA-v1.5: versión intermedia del conjunto de datos DOTA, que ofrece anotaciones adicionales y mejoras con respecto a DOTA-v1 para tareas de detección de objetos mejoradas.
  • DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) versión 2, hace hincapié en 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 pequeño subconjunto de 8 imágenes del conjunto completo de datos DOTA adecuado para probar flujos de trabajo y comprobaciones de integración continua (CI) de la formación OBB en el ultralytics repositorio.

Incorporar su propio conjunto de datos OBB

Para aquellos que deseen introducir sus propios conjuntos de datos con cuadros delimitadores orientados, asegúrese de la compatibilidad con el "YOLO OBB format" 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

DOTA Dataset Format a YOLO OBB Format

La transición de etiquetas del formato del conjunto de datos DOTA al formato YOLO OBB puede realizarse con este script:

Ejemplo

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Este mecanismo de conversión es decisivo para los conjuntos de datos en formato DOTA, ya que garantiza la alineación con la norma Ultralytics YOLO OBB de Ultralytics.

Es imprescindible validar la compatibilidad del conjunto de datos con su modelo y respetar las convenciones de formato necesarias. Los conjuntos de datos correctamente estructurados son fundamentales para entrenar modelos eficientes de detección de objetos con cuadros delimitadores orientados.

PREGUNTAS FRECUENTES

¿Qué son los recuadros delimitadores orientados (OBB) y cómo se utilizan en los modelos de Ultralytics YOLO ?

Los cuadros delimitadores orientados (OBB) son un tipo de anotación de cuadro delimitador en el que el cuadro puede girarse para alinearse más estrechamente con el objeto que se detecta, en lugar de alinearse sólo con el eje. Esto resulta especialmente útil en imágenes aéreas o por satélite, en las que los objetos pueden no estar alineados con los ejes de la imagen. En Ultralytics YOLO de Ultralytics, los OBB se representan 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 girar para ajustarse mejor a los objetos.

¿Cómo convierto las etiquetas de mis conjuntos de datos DOTA existentes al formato YOLO OBB para utilizarlas con Ultralytics YOLO11 ?

Puede convertir las etiquetas de los conjuntos de datos DOTA al formato OBB de YOLO utilizando la herramienta convert_dota_to_yolo_obb de Ultralytics. Esta conversión garantiza la compatibilidad con los modelos Ultralytics YOLO , lo que le permite aprovechar las funciones OBB para mejorar la detección de objetos. He aquí 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 puedo entrenar un modelo YOLO11 con recuadros delimitadores orientados (OBB) en mi conjunto de datos?

Entrenar un modelo YOLO11 con OBBs implica asegurarse de que su conjunto de datos está en el formato YOLO OBB y luego usar la API deUltralytics para entrenar el modelo. Aquí tienes un ejemplo tanto en Python como en CLI:

Ejemplo

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)
# Train a new YOLO11n-OBB model on the custom dataset
yolo obb train data=your_dataset.yaml model=yolo11n-obb.yaml epochs=100 imgsz=640

Esto garantiza que su modelo aproveche las anotaciones detalladas de OBB para mejorar la precisión de la detección.

¿Qué conjuntos de datos se admiten actualmente para el entrenamiento OBB en los modelos Ultralytics YOLO ?

Actualmente, Ultralytics admite los siguientes conjuntos de datos para el entrenamiento OBB:

  • DOTA-v1: La primera versión del conjunto de datos DOTA, que proporciona un amplio conjunto de imágenes aéreas con cuadros delimitadores orientados para la detección de objetos.
  • DOTA-v1.5: versión intermedia del conjunto de datos DOTA, que ofrece anotaciones adicionales y mejoras con respecto a DOTA-v1 para tareas de detección de objetos mejoradas.
  • DOTA-v2: Este conjunto de datos incluye 1,7 millones de instancias con cuadros delimitadores orientados y 11.268 imágenes, y se centra 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).

Estos conjuntos de datos se adaptan a escenarios en los que los OBB ofrecen una ventaja significativa, como el análisis de imágenes aéreas y por satélite.

¿Puedo utilizar mi propio conjunto de datos con cuadros delimitadores orientados para el entrenamiento de YOLO11 y, en caso afirmativo, cómo?

Sí, puede utilizar su propio conjunto de datos con cuadros delimitadores orientados para el entrenamiento de YOLO11 . Asegúrese de que las anotaciones de su conjunto de datos se convierten al formato OBB YOLO , lo que implica definir los cuadros delimitadores por sus cuatro puntos de esquina. A continuación, puede 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 la creación y configuración de sus conjuntos de datos, consulte la sección Conjuntos de datos compatibles.

Creado hace 1 año ✏️ Actualizado hace 6 días

Comentarios