Ir al contenido

Visi贸n general de los conjuntos de datos de estimaci贸n de poses

Formatos de datos admitidos

Ultralytics YOLO formato

El formato de la etiqueta del conjunto de datos utilizado para el entrenamiento de los modelos de pose YOLO es el siguiente:

  1. Un archivo de texto por imagen: Cada imagen del conjunto de datos tiene su correspondiente archivo de texto con el mismo nombre que el archivo de imagen y la extensi贸n ".txt".
  2. Una fila por objeto: Cada fila del archivo de texto corresponde a una instancia de objeto en la imagen.
  3. Informaci贸n del objeto por fila: Cada fila contiene la siguiente informaci贸n sobre la instancia del objeto:
    • 脥ndice de clase del objeto: Un n煤mero entero que representa la clase del objeto (por ejemplo, 0 para persona, 1 para coche, etc.).
    • Coordenadas del centro del objeto: Las coordenadas x e y del centro del objeto, normalizadas para que est茅n entre 0 y 1.
    • Anchura y altura del objeto: La anchura y la altura del objeto, normalizadas para que est茅n entre 0 y 1.
    • Coordenadas de los puntos clave del objeto: Los puntos clave del objeto, normalizados para estar entre 0 y 1.

He aqu铆 un ejemplo del formato de etiqueta para la tarea de estimaci贸n de la pose:

Formato con Dim = 2

<class-index> <x> <y> <width> <height> <px1> <py1> <px2> <py2> ... <pxn> <pyn>

Formato con Dim = 3

<class-index> <x> <y> <width> <height> <px1> <py1> <p1-visibility> <px2> <py2> <p2-visibility> <pxn> <pyn> <p2-visibility>

En este formato, <class-index> es el 铆ndice de la clase del objeto,<x> <y> <width> <height> son coordenadas de cuadro delimitadory <px1> <py1> <px2> <py2> ... <pxn> <pyn> son las coordenadas de p铆xel de los puntos clave. Las coordenadas est谩n separadas por espacios.

Conjunto de datos en formato YAML

El marco Ultralytics utiliza un formato de archivo YAML para definir el conjunto de datos y la configuraci贸n del modelo para el entrenamiento de los modelos de detecci贸n. A continuaci贸n se muestra un ejemplo del formato YAML utilizado para definir un conjunto de datos de detecci贸n:

# 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-pose # 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)

# Keypoints
kpt_shape: [17, 3] # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes dictionary
names:
    0: person

En train y val especifican las rutas a los directorios que contienen las im谩genes de entrenamiento y validaci贸n, respectivamente.

names es un diccionario de nombres de clases. El orden de los nombres debe coincidir con el orden de los 铆ndices de las clases de objetos en los archivos del conjunto de datos YOLO .

(Opcional) si los puntos son sim茅tricos, entonces necesita flip_idx, como el lado izquierdo-derecho de la cara humana. Por ejemplo, si suponemos cinco puntos clave de referencia facial: [ojo izquierdo, ojo derecho, nariz, boca izquierda, boca derecha], y el 铆ndice original es [0, 1, 2, 3, 4], entonces flip_idx es [1, 0, 2, 4, 3] (s贸lo intercambiar el 铆ndice izquierda-derecha, es decir, 0-1 y 3-4, y no modificar otros como la nariz en este ejemplo).

Utilizaci贸n

Ejemplo

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8-pose.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=coco8-pose.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

Conjuntos de datos compatibles

En esta secci贸n se describen los conjuntos de datos compatibles con el formato Ultralytics YOLO que pueden utilizarse para entrenar modelos de estimaci贸n de la pose:

COCO-Pose

  • Descripci贸n: COCO-Pose es un conjunto de datos a gran escala de detecci贸n de objetos, segmentaci贸n y estimaci贸n de poses. Es un subconjunto del popular conjunto de datos COCO y se centra en la estimaci贸n de la pose humana. COCO-Pose incluye m煤ltiples puntos clave para cada instancia humana.
  • Formato de etiqueta: Igual que el formato Ultralytics YOLO descrito anteriormente, con puntos clave para poses humanas.
  • N煤mero de Clases: 1 (Humano).
  • Puntos clave: 17 puntos clave incluyendo nariz, ojos, orejas, hombros, codos, mu帽ecas, caderas, rodillas y tobillos.
  • Utilizaci贸n: Adecuado para el entrenamiento de modelos de estimaci贸n de la pose humana.
  • Notas adicionales: El conjunto de datos es rico y diverso, contiene m谩s de 200k im谩genes etiquetadas.
  • M谩s informaci贸n sobre COCO-Pose

COCO8-Postura

  • Descripci贸n: Ultralytics COCO8-Pose es un peque帽o pero vers谩til conjunto de datos de detecci贸n de poses compuesto por las 8 primeras im谩genes del conjunto COCO train 2017, 4 para entrenamiento y 4 para validaci贸n.
  • Formato de etiqueta: Igual que el formato Ultralytics YOLO descrito anteriormente, con puntos clave para poses humanas.
  • N煤mero de Clases: 1 (Humano).
  • Puntos clave: 17 puntos clave incluyendo nariz, ojos, orejas, hombros, codos, mu帽ecas, caderas, rodillas y tobillos.
  • Utilizaci贸n: Adecuado para probar y depurar modelos de detecci贸n de objetos, o para experimentar con nuevos enfoques de detecci贸n.
  • Notas adicionales: COCO8-Pose es ideal para comprobaciones de cordura y comprobaciones de CI.
  • M谩s informaci贸n sobre COCO8-Pose

Postura del Tigre

  • Descripci贸n: Ultralytics Este conjunto de datos de poses de animales consta de 263 im谩genes procedentes de un v铆deo de YouTube, con 210 im谩genes asignadas para el entrenamiento y 53 para la validaci贸n.
  • Formato de la etiqueta: Igual que el formato Ultralytics YOLO descrito anteriormente, con 12 puntos clave para la pose del animal y sin dimensi贸n visible.
  • N煤mero de clases: 1 (Tigre).
  • Puntos clave: 12 puntos clave.
  • Uso: Ideal para poses de animales o cualquier otra pose que no sea humana.
  • M谩s informaci贸n sobre la postura del tigre

Puntos clave de la mano

  • Descripci贸n: Hand keypoints pose dataset comprises nearly 26K images, with 18776 images allocated for training and 7992 for validation.
  • Formato de etiqueta: Igual que el formato Ultralytics YOLO descrito anteriormente, pero con 21 puntos clave para la mano humana y la dimensi贸n visible.
  • N煤mero de clases: 1 (Mano).
  • Puntos clave: 21 puntos clave.
  • Uso: Excelente para la estimaci贸n de la pose de la mano humana.
  • Leer m谩s sobre Hand Keypoints

Postura del perro

  • Descripci贸n: El conjunto de datos Dog Pose contiene aproximadamente 6.000 im谩genes, proporcionando un recurso diverso y extenso para el entrenamiento y validaci贸n de modelos de estimaci贸n de la pose del perro.
  • Formato de las etiquetas: Sigue el formato Ultralytics YOLO , con anotaciones para m煤ltiples puntos clave espec铆ficos de la anatom铆a canina.
  • N煤mero de clases: 1 (Perro).
  • Puntos clave: Incluye 24 puntos clave adaptados a las posturas del perro, como las extremidades, las articulaciones y las posiciones de la cabeza.
  • Utilizaci贸n: Ideal para el entrenamiento de modelos de estimaci贸n de poses caninas en diversos escenarios, desde la investigaci贸n hasta las aplicaciones en el mundo real.
  • Leer m谩s sobre Dog-Pose

A帽adir su propio conjunto de datos

Si dispone de su propio conjunto de datos y desea utilizarlo para entrenar modelos de estimaci贸n de pose con el formato Ultralytics YOLO , aseg煤rese de que sigue el formato especificado anteriormente en "Ultralytics YOLO format". Convierta sus anotaciones al formato requerido y especifique las rutas, el n煤mero de clases y los nombres de las clases en el archivo de configuraci贸n YAML.

Herramienta de conversi贸n

Ultralytics proporciona una c贸moda herramienta de conversi贸n para convertir etiquetas del popular formato de conjunto de datos COCO al formato YOLO :

Ejemplo

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

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 . El formato use_keypoints especifica si se incluyen los puntos clave (para la estimaci贸n de la pose) en las etiquetas convertidas.

PREGUNTAS FRECUENTES

驴Cu谩l es el formato Ultralytics YOLO para la estimaci贸n de la pose?

El formato Ultralytics YOLO para los conjuntos de datos de estimaci贸n de la pose consiste en etiquetar cada imagen con su correspondiente archivo de texto. Cada fila del archivo de texto almacena informaci贸n sobre un objeto:

  • 脥ndice de clase de objeto
  • Coordenadas del centro del objeto (x e y normalizadas)
  • Anchura y altura del objeto (normalizadas)
  • Coordenadas del punto clave del objeto (pxn y pyn normalizados)

Para poses 2D, los puntos clave incluyen coordenadas de p铆xeles. Para 3D, cada punto clave tambi茅n tiene una bandera de visibilidad. Para obtener m谩s informaci贸n, consulte Ultralytics YOLO format.

驴C贸mo se utiliza el conjunto de datos COCO-Pose con Ultralytics YOLO ?

Para utilizar el conjunto de datos COCO-Pose con Ultralytics YOLO :

  1. Descargue el conjunto de datos y prepare sus archivos de etiquetas en el formato YOLO .
  2. Cree un archivo de configuraci贸n YAML que especifique las rutas a las im谩genes de entrenamiento y validaci贸n, la forma del punto clave y los nombres de las clases.
  3. Utilice el archivo de configuraci贸n para la formaci贸n:

    from ultralytics import YOLO
    
    model = YOLO("yolo11n-pose.pt")  # load pretrained model
    results = model.train(data="coco-pose.yaml", epochs=100, imgsz=640)
    

    Para m谩s informaci贸n, visite las secciones COCO-Pose y tren.

驴C贸mo puedo a帽adir mi propio conjunto de datos para la estimaci贸n de la pose en Ultralytics YOLO ?

Para a帽adir su conjunto de datos:

  1. Convierta sus anotaciones al formato Ultralytics YOLO .
  2. Cree un archivo de configuraci贸n YAML especificando las rutas de los conjuntos de datos, el n煤mero de clases y los nombres de las clases.
  3. Utilice el archivo de configuraci贸n para entrenar su modelo:

    from ultralytics import YOLO
    
    model = YOLO("yolo11n-pose.pt")
    results = model.train(data="your-dataset.yaml", epochs=100, imgsz=640)
    

    Para ver los pasos completos, consulte la secci贸n A帽adir su propio conjunto de datos.

驴Para qu茅 sirve el archivo YAML del conjunto de datos en Ultralytics YOLO ?

El archivo YAML del conjunto de datos en Ultralytics YOLO define el conjunto de datos y la configuraci贸n del modelo para el entrenamiento. Especifica las rutas a las im谩genes de entrenamiento, validaci贸n y prueba, las formas de los puntos clave, los nombres de las clases y otras opciones de configuraci贸n. Este formato estructurado ayuda a agilizar la gesti贸n del conjunto de datos y el entrenamiento del modelo. He aqu铆 un ejemplo de formato YAML:

path: ../datasets/coco8-pose
train: images/train
val: images/val
names:
    0: person

M谩s informaci贸n sobre la creaci贸n de archivos de configuraci贸n YAML en formato Dataset YAML.

驴C贸mo puedo convertir las etiquetas del conjunto de datos COCO al formato Ultralytics YOLO para la estimaci贸n de la pose?

Ultralytics proporciona una herramienta de conversi贸n para convertir las etiquetas de los conjuntos de datos COCO al formato YOLO , incluida la informaci贸n sobre los puntos clave:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_keypoints=True)

Esta herramienta ayuda a integrar sin problemas los conjuntos de datos COCO en los proyectos YOLO . Para m谩s informaci贸n, consulte la secci贸n Herramienta de conversi贸n.

Creado hace 1 a帽o 鉁忥笍 Actualizado hace 28 d铆as

Comentarios