Saltar al contenido

Visi贸n general de los conjuntos de datos de cajas delimitadoras orientadas (OBB)

Entrenar un modelo preciso de detecci贸n de objetos con cuadros delimitadores orientados (OBB) requiere un conjunto de datos completo. Esta gu铆a explica los distintos formatos de conjuntos de datos OBB compatibles con los modelos Ultralytics YOLO , y 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 las cajas delimitadoras 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 las salidas en el xywhr que representa el punto central (xy), la anchura, la altura y la rotaci贸n del cuadro delimitador.

Ejemplos de formato OBB

Un ejemplo de *.txt de la imagen anterior, que contiene un objeto de clase 0 en formato OBB, podr铆a tener el siguiente 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 YOLOv8n-OBB model from scratch
model = YOLO("yolov8n-obb.yaml")

# Train the model on the DOTAv2 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo detect train data=DOTAv1.yaml model=yolov8n.pt epochs=100 imgsz=640

Conjuntos de datos compatibles

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

  • DOTA-v2: DOTA (Conjunto de datos a gran escala para la detecci贸n de objetos en im谩genes a茅reas) 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 de datos DOTA completo, adecuado para probar flujos de trabajo y comprobaciones de Integraci贸n Continua (IC) del entrenamiento OBB en el ultralytics repositorio.

Incorporar tu propio conjunto de datos OBB

Para quienes deseen introducir sus propios conjuntos de datos con cuadros delimitadores orientados, aseg煤rate de la compatibilidad con el " formatoYOLO 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

DOTA Dataset Format a YOLO OBB Format

La transici贸n de etiquetas del formato del conjunto de datos DOTA al formato YOLO OBB se puede conseguir 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 fundamental para los conjuntos de datos en formato DOTA, ya que garantiza la alineaci贸n con el formato Ultralytics YOLO OBB.

Es imprescindible validar la compatibilidad del conjunto de datos con tu 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 Bounding Boxes Orientados (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 en la que la caja puede girarse para alinearse m谩s estrechamente con el objeto que se detecta, en lugar de estar simplemente alineada 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 los modelos Ultralytics YOLO , 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 mis etiquetas de conjuntos de datos DOTA existentes al formato YOLO OBB para utilizarlas con Ultralytics YOLOv8 ?

Puedes convertir las etiquetas de los conjuntos de datos DOTA al formato OBB de YOLO utilizando convert_dota_to_yolo_obb de Ultralytics. Esta conversi贸n garantiza la compatibilidad con los modelos Ultralytics YOLO , permiti茅ndote 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 entreno un modelo YOLOv8 con cajas delimitadoras orientadas (OBB) en mi conjunto de datos?

Entrenar un modelo YOLOv8 con OBB implica asegurarte de que tu conjunto de datos est谩 en el formato OBB YOLO y luego utilizar la API Ultralytics para entrenar el modelo. Aqu铆 tienes un ejemplo tanto en Python como en CLI:

Ejemplo

from ultralytics import YOLO

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

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the custom dataset
yolo detect train data=your_dataset.yaml model=yolov8n.pt epochs=100 imgsz=640

Esto garantiza que tu modelo aprovecha las anotaciones detalladas del 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-v2: Este conjunto de datos incluye 1,7 millones de instancias con cuadros delimitadores orientados y 11.268 im谩genes, centradas 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 (IC).

Estos conjuntos de datos est谩n adaptados a escenarios en los que los OBB ofrecen una ventaja significativa, como el an谩lisis de im谩genes a茅reas y de sat茅lite.

驴Puedo utilizar mi propio conjunto de datos con cuadros delimitadores orientados para el entrenamiento de YOLOv8 , y si es as铆, c贸mo?

S铆, puedes utilizar tu propio conjunto de datos con cuadros delimitadores orientados para el entrenamiento de YOLOv8 . Aseg煤rate de que las anotaciones de tu conjunto de datos se convierten al formato YOLO OBB, que implica definir los cuadros delimitadores por sus cuatro puntos de esquina. A continuaci贸n, puedes crear un archivo de configuraci贸n YAML especificando las rutas del conjunto de datos, las clases y otros detalles necesarios. Para m谩s informaci贸n sobre la creaci贸n y configuraci贸n de tus conjuntos de datos, consulta la secci贸n Conjuntos de datos compatibles.



Creado 2023-11-12, Actualizado 2024-07-23
Autores: glenn-jocher (11)

Comentarios