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.



Creado 2023-11-12, Actualizado 2024-05-18
Autores: glenn-jocher (7)

Comentarios