Ultralytics YOLO27:

Dataset de puntos clave de manos#

Introducción#

El dataset de puntos clave de manos de Ultralytics contiene 26.768 imágenes de manos anotadas con 21 puntos clave cada una, generadas mediante la biblioteca Google MediaPipe para lograr una gran precisión y coherencia. Es compatible con los formatos de Ultralytics YOLO26 para entrenar modelos de estimación de pose.



Watch: Hand Keypoints Estimation with Ultralytics YOLO | Human Hand Pose Estimation Tutorial

Puntos clave#

Diagrama de puntos de referencia de la mano con 21 puntos

Cada mano está anotada con 21 puntos clave, de la siguiente manera:

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

Estructura del dataset#

  • Imágenes totales: 26.768 (18.776 de entrenamiento / 7.992 de validación).
  • Clases: 1 (mano).
  • Puntos clave: 21 por mano con tripletas (x, y, visibility).
  • Tamaño de descarga: ~369 MB.

Para usar un vocabulario de gestos personalizado que vaya más allá de los puntos de referencia genéricos de la mano, Ultralytics Platform gestiona el etiquetado y el entrenamiento de tu propio dataset desde el navegador.

Aplicaciones#

Los puntos clave de manos permiten varias aplicaciones del mundo real:

  • Reconocimiento de gestos: interacción persona-ordenador e interfaces de control sin contacto.
  • Controles de AR/VR: interacción precisa con objetos virtuales.
  • Manipulación robótica: control detallado de manos robóticas.
  • Asistencia sanitaria: análisis del movimiento de las manos para diagnósticos médicos.
  • Animación: captura de movimiento para lograr movimientos realistas de las manos.
  • Autenticación biométrica: sistemas de seguridad basados en la geometría de la mano.

YAML del dataset#

Se utiliza un archivo YAML para definir la configuración del dataset. Contiene información sobre las rutas, las clases y otros datos relevantes del dataset. En el caso del dataset de puntos clave de manos, 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 🚀 AGPL-3.0 License - https://ultralytics.com/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: hand-keypoints # dataset root dir
train: images/train # train images (relative to 'path') 18776 images
val: images/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

# Keypoint names per class
kpt_names:
  0:
    - wrist
    - thumb_cmc
    - thumb_mcp
    - thumb_ip
    - thumb_tip
    - index_mcp
    - index_pip
    - index_dip
    - index_tip
    - middle_mcp
    - middle_pip
    - middle_dip
    - middle_tip
    - ring_mcp
    - ring_pip
    - ring_dip
    - ring_tip
    - pinky_mcp
    - pinky_pip
    - pinky_dip
    - pinky_tip

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

Uso#

Para entrenar un modelo YOLO26n-pose con el dataset de puntos clave de manos durante 100 épocas y con un tamaño de imagen de 640, puedes utilizar los siguientes fragmentos de código. Para consultar una lista completa de los argumentos disponibles, visita la página de Entrenamiento del modelo.

Ejemplo de entrenamiento
from ultralytics import YOLO

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

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

Imágenes de ejemplo y anotaciones#

El dataset de puntos clave de manos contiene un conjunto diverso de imágenes de manos humanas anotadas con puntos clave. Estos son algunos ejemplos de imágenes del dataset, junto con sus anotaciones correspondientes:

Ejemplo del dataset de estimación de pose con puntos clave de manos

  • Imagen con mosaico: Esta imagen muestra un lote de entrenamiento compuesto por imágenes del conjunto de datos combinadas mediante 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 de cada lote de entrenamiento. Esto ayuda a mejorar la capacidad del modelo para generalizar a distintos tamaños de objetos, relaciones de aspecto y contextos.

El ejemplo muestra la variedad y complejidad de las imágenes del dataset de puntos clave de manos, así como las ventajas de utilizar mosaicos durante el proceso de entrenamiento.

Citas y agradecimientos#

Si utilizas el dataset de puntos clave de manos en tu trabajo de investigación o desarrollo, cita las siguientes fuentes:

Cita

Queremos dar las gracias a las siguientes fuentes por proporcionar las imágenes utilizadas en este dataset:

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

También queremos reconocer la labor del creador de este dataset, Rion Dsilva, por su gran contribución a la investigación en IA aplicada a la visión.

Preguntas frecuentes#

  • Carga yolo26n-pose.pt y llama a model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640); consulta el Ejemplo de entrenamiento anterior para ver los fragmentos completos de Python y CLI, y la página de Entrenamiento del modelo para consultar una lista completa de los argumentos.

  • Con 26.768 imágenes anotadas y 21 puntos clave por mano generados mediante Google MediaPipe, el dataset de puntos clave de manos proporciona a los modelos de estimación de pose la escala y la precisión de anotación necesarias para tareas de estimación avanzada de pose. Consulta la sección Puntos clave para ver el desglose completo de los puntos de referencia.

  • Los puntos clave de manos son compatibles con el reconocimiento de gestos, los controles de AR/VR, la manipulación robótica, el análisis del movimiento para asistencia sanitaria, la animación y la autenticación biométrica; consulta la sección Aplicaciones para obtener información detallada sobre cada una.

  • El dataset de puntos clave de manos se divide en dos subconjuntos:

    1. Entrenamiento: contiene 18.776 imágenes para entrenar modelos de estimación de pose.
    2. Validación: contiene 7.992 imágenes para la validación durante el entrenamiento del modelo.

    Esta estructura garantiza un proceso completo de entrenamiento y validación. Para obtener más información, consulta la sección Estructura del dataset.

  • La configuración del dataset se define en un archivo YAML que incluye rutas, clases y otra información relevante. El archivo hand-keypoints.yaml se encuentra en hand-keypoints.yaml.

    Para utilizar este archivo YAML durante el entrenamiento, especifícalo en tu script de entrenamiento o en el comando CLI, como se muestra en el ejemplo de entrenamiento anterior. Para obtener más información, consulta la sección YAML del dataset.

Comentarios