Jeu de données de points clés de la main

Introduction

Le jeu de données de points clés de la main contient 26 768 images de mains annotées avec des points clés, ce qui le rend adapté à l'entraînement de modèles comme Ultralytics YOLO pour des tâches d'estimation de pose. Les annotations ont été générées à l'aide de la bibliothèque Google MediaPipe, garantissant une précision et une cohérence élevées, et le jeu de données est compatible avec les formats Ultralytics YOLO26.



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

Points de repère de la main

Schéma des points de repère de la main avec 21 points

Keypoints

Le jeu de données inclut des points clés pour la détection de la main. Les points clés sont annotés comme suit :

  1. Poignet
  2. Pouce (4 points)
  3. Index (4 points)
  4. Majeur (4 points)
  5. Annulaire (4 points)
  6. Auriculaire (4 points)

Chaque main possède un total de 21 points clés.

Fonctionnalités clés

  • Grand jeu de données : 26 768 images avec des annotations de points clés de la main.
  • Compatibilité YOLO26 : Les étiquettes sont fournies au format de points clés YOLO et sont prêtes à être utilisées avec les modèles YOLO26.
  • 21 points clés : Représentation détaillée de la pose de la main couvrant le poignet et quatre points par doigt.

Structure du jeu de données

Le jeu de données de points clés de la main est divisé en deux sous-ensembles :

  1. Train : Ce sous-ensemble contient 18 776 images du jeu de données de points clés de la main, annotées pour l'entraînement de modèles d'estimation de pose.
  2. Val : Ce sous-ensemble contient 7 992 images qui peuvent être utilisées à des fins de validation pendant l'entraînement du modèle.

Applications

Les points clés de la main peuvent être utilisés pour la reconnaissance de gestes, les contrôles AR/VR, la manipulation robotique et l'analyse du mouvement de la main dans le secteur de la santé. Ils peuvent également être appliqués dans l'animation pour la capture de mouvement et les systèmes d'authentification biométrique pour la sécurité. Le suivi détaillé des positions des doigts permet une interaction précise avec des objets virtuels et des interfaces de contrôle sans contact.

YAML du jeu de données

Un fichier YAML (Yet Another Markup Language) est utilisé pour définir la configuration du jeu de données. Il contient des informations sur les chemins d'accès au jeu de données, les classes et d'autres informations pertinentes. Dans le cas du jeu de données Hand Keypoints, le fichier hand-keypoints.yaml est maintenu à l'adresse 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

Utilisation

Pour entraîner un modèle YOLO26n-pose sur le jeu de données Hand Keypoints pendant 100 époques avec une taille d'image de 640, tu peux utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consulte la page Entraînement du modèle.

Exemple d'entraînement
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)

Exemples d'images et d'annotations

Le jeu de données Hand Keypoints contient un ensemble diversifié d'images de mains humaines annotées avec des points clés. Voici quelques exemples d'images provenant du jeu de données, accompagnées de leurs annotations correspondantes :

Exemple du jeu de données d'estimation de pose de points clés de la main

  • Image en mosaïque : Cette image démontre un lot d'entraînement composé d'images du jeu de données en mosaïque. La mosaïque est une technique utilisée pendant l'entraînement qui combine plusieurs images en une seule image pour augmenter la variété des objets et des scènes au sein de chaque lot d'entraînement. Cela aide à améliorer la capacité du modèle à généraliser à différentes tailles d'objets, ratios d'aspect et contextes.

L'exemple illustre la variété et la complexité des images dans le jeu de données Hand Keypoints et les avantages de l'utilisation du mosaïquage (mosaicing) pendant le processus d'entraînement.

Citations et remerciements

Si tu utilises le jeu de données hand-keypoints dans tes travaux de recherche ou de développement, merci d'attribuer le mérite aux sources suivantes :

Citation

Nous tenons à remercier les sources suivantes pour avoir fourni les images utilisées dans ce jeu de données :

Les images ont été collectées et utilisées sous les licences respectives fournies par chaque plateforme et sont distribuées sous la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.

Nous tenons également à remercier le créateur de ce jeu de données, Rion Dsilva, pour son importante contribution à la recherche en Vision AI.

FAQ

Comment puis-je entraîner un modèle YOLO26 sur le jeu de données Hand Keypoints ?

Pour entraîner un modèle YOLO26 sur le jeu de données Hand Keypoints, tu peux utiliser soit Python, soit l'interface de ligne de commande (CLI). Voici un exemple pour entraîner un modèle YOLO26n-pose pendant 100 époques avec une taille d'image de 640 :

Exemple
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)

Pour une liste complète des arguments disponibles, consulte la page Entraînement du modèle.

Quelles sont les caractéristiques clés du jeu de données Hand Keypoints ?

Le jeu de données Hand Keypoints est conçu pour des tâches avancées d'estimation de pose et inclut plusieurs caractéristiques clés :

  • Grand jeu de données : Contient 26 768 images avec des annotations de points clés de la main.
  • Compatibilité YOLO26 : Prêt à être utilisé avec les modèles YOLO26.
  • 21 points clés : Représentation détaillée de la pose de la main, incluant les articulations du poignet et des doigts.

Pour plus de détails, tu peux explorer la section Jeu de données Hand Keypoints.

Quelles applications peuvent bénéficier de l'utilisation du jeu de données Hand Keypoints ?

Le jeu de données Hand Keypoints peut être appliqué dans divers domaines, notamment :

  • Reconnaissance de gestes : Amélioration de l'interaction humain-machine.
  • Contrôles AR/VR : Amélioration de l'expérience utilisateur dans la réalité augmentée et virtuelle.
  • Manipulation robotique : Permettre un contrôle précis des mains robotiques.
  • Santé : Analyse des mouvements de la main pour les diagnostics médicaux.
  • Animation : Capture de mouvement pour des animations réalistes.
  • Authentification biométrique : Renforcement des systèmes de sécurité.

Pour plus d'informations, reporte-toi à la section Applications.

Comment le jeu de données Hand Keypoints est-il structuré ?

Le jeu de données Hand Keypoints est divisé en deux sous-ensembles :

  1. Train : Contient 18 776 images pour l'entraînement de modèles d'estimation de pose.
  2. Val : Contient 7 992 images à des fins de validation pendant l'entraînement du modèle.

Cette structure garantit un processus d'entraînement et de validation complet. Pour plus de détails, vois la section Structure du jeu de données.

Comment utiliser le fichier YAML du jeu de données pour l'entraînement ?

La configuration du jeu de données est définie dans un fichier YAML, qui inclut les chemins d'accès, les classes et d'autres informations pertinentes. Le fichier hand-keypoints.yaml peut être trouvé sur hand-keypoints.yaml.

Pour utiliser ce fichier YAML pour l'entraînement, spécifie-le dans ton script d'entraînement ou ta commande CLI comme indiqué dans l'exemple d'entraînement ci-dessus. Pour plus de détails, reporte-toi à la section YAML du jeu de données.

Commentaires