Ir al contenido

Conjunto de datos Hand Keypoints

Introducción

El conjunto de datos hand-keypoints contiene 26.768 imágenes de manos anotadas con puntos clave, lo que lo hace adecuado para el entrenamiento de modelos como Ultralytics YOLO para tareas de estimación de la pose. Las anotaciones se generaron utilizando la biblioteca Google MediaPipe, lo que garantiza una gran precisión y coherencia, y el conjunto de datos es compatible Ultralytics YOLO11 formatos.



Observa: Estimación de los puntos clave de la mano con Ultralytics YOLO11 | Tutorial de estimación de la pose de la mano humana

Hitos de la mano

Hitos de la mano

Puntos clave

El conjunto de datos incluye puntos clave para la detección de manos. Los puntos clave se anotan del siguiente modo:

  1. Muñeca
  2. Pulgar (4 puntos)
  3. Dedo índice (4 puntos)
  4. Dedo corazón (4 puntos)
  5. Dedo anular (4 puntos)
  6. Meñique (4 puntos)

Cada mano tiene un total de 21 puntos clave.

Características principales

  • Gran conjunto de datos: 26.768 imágenes con anotaciones de puntos clave a mano.
  • YOLO11 Compatibilidad: Listo para su uso con los modelos YOLO11 .
  • 21 puntos clave: Representación detallada de la pose de la mano.

Estructura del conjunto de datos

El conjunto de datos de puntos clave de las manos se divide en dos subconjuntos:

  1. Entrenamiento: Este subconjunto contiene 18.776 imágenes del conjunto de datos de puntos clave de la mano, anotadas para el entrenamiento de modelos de estimación de la pose.
  2. Val: Este subconjunto contiene 7992 imágenes que pueden utilizarse con fines de validación durante el entrenamiento del modelo.

Aplicaciones

Los puntos clave de la mano pueden utilizarse para el reconocimiento de gestos, los controles AR/VR, la manipulación robótica y el análisis del movimiento de la mano en la atención sanitaria. También pueden aplicarse en animación para captura de movimiento y sistemas de autenticación biométrica para seguridad.

Conjunto de datos YAML

Para definir la configuración del conjunto de datos se utiliza un archivo YAML (Yet Another Markup Language). Contiene información sobre las rutas del conjunto de datos, las clases y otra información relevante. En el caso del conjunto de datos Hand Keypoints, el archivo hand-keypoints.yaml se mantiene en https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/hand-keypoints.yaml.

ultralytics/cfg/datasets/hand-keypoints.yaml

# Ultralytics YOLO 🚀, AGPL-3.0 license
# Hand Keypoints dataset by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/pose/hand-keypoints/
# Example usage: yolo train data=hand-keypoints.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── hand-keypoints  ← downloads here (369 MB)

# 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/hand-keypoints # dataset root dir
train: train # train images (relative to 'path') 18776 images
val: val # val images (relative to 'path') 7992 images

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

# Classes
names:
  0: hand

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/hand-keypoints.zip

Utilización

Para entrenar un modelo YOLO11n-pose en el conjunto de datos Hand Keypoints durante 100 épocas con un tamaño de imagen de 640, puede utilizar los siguientes fragmentos de código. Para obtener una lista completa de los argumentos disponibles, consulte la página de entrenamiento del modelo.

Ejemplo de tren

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="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

Ejemplos de imágenes y anotaciones

El conjunto de datos Hand keypoints contiene un variado conjunto de imágenes con manos humanas anotadas con puntos clave. A continuación se muestran algunos ejemplos de imágenes del conjunto de datos, junto con sus correspondientes anotaciones:

Imagen de muestra del conjunto de datos

  • Imagen en mosaico: Esta imagen muestra un lote de entrenamiento compuesto por imágenes del conjunto de datos en mosaico. El mosaico es una técnica utilizada durante el entrenamiento que combina varias imágenes en una sola para aumentar la variedad de objetos y escenas dentro de cada lote de entrenamiento. Esto ayuda a mejorar la capacidad del modelo para generalizar a diferentes tamaños de objetos, relaciones de aspecto y contextos.

El ejemplo muestra la variedad y complejidad de las imágenes del conjunto de datos Hand Keypoints y las ventajas de utilizar mosaicos durante el proceso de entrenamiento.

Citas y agradecimientos

Si utiliza el conjunto de datos hand-keypoints en su trabajo de investigación o desarrollo, mencione las siguientes fuentes:

Agradecemos a las siguientes fuentes el suministro de las imágenes utilizadas en este conjunto de datos:

Las imágenes se recopilaron y utilizaron bajo las respectivas licencias proporcionadas por cada plataforma y se distribuyen bajo la Licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.

También nos gustaría agradecer al creador de este conjunto de datos, Rion Dsilva, su gran contribución a la investigación de la IA de visión.

PREGUNTAS FRECUENTES

¿Cómo se entrena un modelo YOLO11 en el conjunto de datos Hand Keypoints?

Para entrenar un modelo YOLO11 en el conjunto de datos Hand Keypoints, puede utilizar Python o la interfaz de línea de comandos (CLI). A continuación se muestra un ejemplo de entrenamiento de un modelo YOLO11n-pose para 100 épocas con un tamaño de imagen de 640:

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="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

Para obtener una lista completa de los argumentos disponibles, consulte la página de formación del modelo.

¿Cuáles son las principales características del conjunto de datos Hand Keypoints?

El conjunto de datos Hand Keypoints está diseñado para tareas avanzadas de estimación de la pose e incluye varias características clave:

  • Gran conjunto de datos: Contiene 26.768 imágenes con anotaciones de puntos clave a mano.
  • YOLO11 Compatibilidad: Listo para su uso con los modelos YOLO11 .
  • 21 puntos clave: Representación detallada de la pose de la mano, incluidas las articulaciones de la muñeca y los dedos.

Para más detalles, puede explorar la sección Conjunto de datos de puntos clave de la mano.

¿Qué aplicaciones pueden beneficiarse del uso del conjunto de datos Hand Keypoints?

El conjunto de datos Hand Keypoints puede aplicarse en diversos campos, entre ellos:

  • Reconocimiento de gestos: Mejora de la interacción persona-ordenador.
  • Controles AR/VR: Mejora de la experiencia del usuario en realidad aumentada y virtual.
  • Manipulación robótica: Control preciso de manos robóticas.
  • Sanidad: Análisis de los movimientos de la mano para diagnósticos médicos.
  • Animación: Captura de movimiento para animaciones realistas.
  • Autenticación biométrica: Mejora de los sistemas de seguridad.

Para más información, consulte la sección Aplicaciones.

¿Cómo está estructurado el conjunto de datos Hand Keypoints?

El conjunto de datos Hand Keypoints se divide en dos subconjuntos:

  1. Entrenamiento: Contiene 18.776 imágenes para entrenar modelos de estimación de pose.
  2. Val: Contiene 7.992 imágenes con fines de validación durante el entrenamiento del modelo.

Esta estructura garantiza un proceso completo de formación y validación. Para más detalles, consulte la sección Estructura del conjunto de datos.

¿Cómo se utiliza el archivo YAML del conjunto de datos para la formación?

La configuración del conjunto de datos se define en un archivo YAML, que incluye rutas, clases y otra información relevante. La dirección hand-keypoints.yaml en hand-keypoints.yaml.

Para utilizar este archivo YAML para el entrenamiento, especifíquelo en su script de entrenamiento o comando CLI como se muestra en el ejemplo de entrenamiento anterior. Para obtener más información, consulte la sección YAML del conjunto de datos.

📅 Created 2 months ago ✏️ Updated 18 days ago

Comentarios