Saltar al contenido

Visi贸n general de los conjuntos de datos de detecci贸n de objetos

Entrenar un modelo de detecci贸n de objetos robusto y preciso requiere un conjunto de datos completo. Esta gu铆a presenta varios formatos de conjuntos de datos compatibles con el modelo Ultralytics YOLO y proporciona informaci贸n sobre su estructura, uso y c贸mo convertir entre distintos formatos.

Formatos de conjuntos de datos admitidos

Ultralytics YOLO formato

El formato Ultralytics YOLO es un formato de configuraci贸n del conjunto de datos que te permite definir el directorio ra铆z del conjunto de datos, las rutas relativas a los directorios de im谩genes de entrenamiento/validaci贸n/prueba o *.txt que contienen las rutas de las im谩genes, y un diccionario de nombres de clases. Aqu铆 tienes un ejemplo:

# 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: ../datasets/coco8  # dataset root dir
train: images/train  # train images (relative to 'path') 4 images
val: images/val  # val images (relative to 'path') 4 images
test:  # test images (optional)

# Classes (80 COCO classes)
names:
  0: person
  1: bicycle
  2: car
  # ...
  77: teddy bear
  78: hair drier
  79: toothbrush

Las etiquetas de este formato deben exportarse al formato YOLO con una *.txt por imagen. Si no hay objetos en una imagen, no hay *.txt es necesario. La direcci贸n *.txt debe formatearse con una fila por objeto en class x_center y_center width height formato. Las coordenadas de la casilla deben estar en xywh normalizado (de 0 a 1). Si tus casillas est谩n en p铆xeles, debes dividir x_center y width por ancho de imagen, y y_center y height por la altura de la imagen. Los n煤meros de clase deben tener 铆ndice cero (empezar por 0).

Ejemplo de imagen etiquetada

El archivo de etiquetas correspondiente a la imagen anterior contiene 2 personas (clase 0) y un empate (clase 27):

Ejemplo de archivo de etiquetas

Cuando utilices el formato Ultralytics YOLO , organiza tus im谩genes y etiquetas de entrenamiento y validaci贸n como se muestra en el ejemplo del conjunto de datos COCO8 que aparece a continuaci贸n.

Ejemplo de estructura de directorios de conjuntos de datos

Utilizaci贸n

A continuaci贸n te explicamos c贸mo puedes utilizar estos formatos para entrenar tu modelo:

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

Conjuntos de datos compatibles

Aqu铆 tienes una lista de los conjuntos de datos admitidos y una breve descripci贸n de cada uno:

  • Argoverse: Una colecci贸n de datos de sensores recogidos de veh铆culos aut贸nomos. Contiene anotaciones de seguimiento en 3D de objetos del coche.
  • COCO: Objetos comunes en contexto (COCO) es un conjunto de datos a gran escala de detecci贸n, segmentaci贸n y subtitulaci贸n de objetos con 80 categor铆as de objetos.
  • LVIS: LVIS es un conjunto de datos a gran escala de detecci贸n, segmentaci贸n y subtitulaci贸n de objetos con 1203 categor铆as de objetos.
  • COCO8: COCO8 es un subconjunto m谩s peque帽o del conjunto de datos COCO, m谩s ligero y m谩s r谩pido de entrenar.
  • GlobalTrigo2020: Un conjunto de datos que contiene im谩genes de cabezas de trigo para el Desaf铆o Mundial del Trigo 2020.
  • Objetos365: Un conjunto de datos de detecci贸n de objetos a gran escala con 365 categor铆as de objetos y 600.000 im谩genes, cuyo objetivo es avanzar en la investigaci贸n de la detecci贸n de objetos.
  • OpenImagesV7: Un completo conjunto de datos de Google con 1,7 millones de im谩genes de entrenamiento y 42.000 im谩genes de validaci贸n.
  • SKU-110K: Un conjunto de datos que contiene im谩genes de productos minoristas densamente empaquetados, destinados a la detecci贸n de objetos en entornos minoristas.
  • VisDrone: Un conjunto de datos centrado en im谩genes tomadas por drones, que contiene varias categor铆as de objetos, como coches, peatones y ciclistas.
  • VOC: PASCAL VOC es un popular conjunto de datos de detecci贸n de objetos con 20 categor铆as de objetos, incluidos veh铆culos, animales y muebles.
  • xVer: Un conjunto de datos que contiene im谩genes de sat茅lite de alta resoluci贸n, dise帽ado para la detecci贸n de diversas clases de objetos en vistas a茅reas.
  • Tumor cerebral: Este conjunto de datos comprende im谩genes de resonancia magn茅tica o tomograf铆a computarizada que contienen informaci贸n sobre la presencia, la ubicaci贸n y las caracter铆sticas de los tumores cerebrales. Desempe帽a un papel crucial en el entrenamiento de modelos de visi贸n por ordenador para automatizar la identificaci贸n de tumores, facilitando el diagn贸stico precoz y la planificaci贸n del tratamiento.
  • Vida salvaje africana: Con im谩genes de animales salvajes africanos como b煤falos, elefantes, rinocerontes y cebras, este conjunto de datos es fundamental para entrenar modelos de visi贸n por ordenador. Es indispensable para identificar animales en distintos h谩bitats y contribuye significativamente a los esfuerzos de investigaci贸n sobre la fauna salvaje.

A帽adir tu propio conjunto de datos

Si tienes tu propio conjunto de datos y quieres utilizarlo para entrenar modelos de detecci贸n con el formato Ultralytics YOLO , aseg煤rate de que sigue el formato especificado anteriormente en "Ultralytics YOLO formato". Convierte tus anotaciones al formato requerido y especifica las rutas, el n煤mero de clases y los nombres de las clases en el archivo de configuraci贸n YAML.

Portar o convertir formatos de etiquetas

Formato del conjunto de datos COCO a formato YOLO

Puedes convertir f谩cilmente etiquetas del popular formato de conjunto de datos COCO al formato YOLO utilizando el siguiente fragmento de c贸digo:

Ejemplo

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir='path/to/coco/annotations/')

Esta herramienta de conversi贸n puede utilizarse para convertir el conjunto de datos COCO o cualquier conjunto de datos en formato COCO al formato Ultralytics YOLO .

Recuerda comprobar dos veces si el conjunto de datos que quieres utilizar es compatible con tu modelo y sigue las convenciones de formato necesarias. Los conjuntos de datos formateados correctamente son cruciales para entrenar con 茅xito modelos de detecci贸n de objetos.



Creado 2023-11-12, Actualizado 2024-04-18
Autores: glenn-jocher (7), IvorZhu331 (1), Laughing-q (1), RizwanMunawar (1)

Comentarios