Dataset Hand Keypoints#
Introduzione#
Il set di dati Hand Keypoints di Ultralytics contiene 26.768 immagini di mani annotate ciascuna con 21 punti chiave, generate utilizzando la libreria Google MediaPipe per elevata precisione e coerenza. È compatibile con i formati di Ultralytics YOLO26 per l'addestramento di modelli di stima della posa.
Watch: Hand Keypoints Estimation with Ultralytics YOLO | Human Hand Pose Estimation Tutorial
Keypoint#

Ogni mano è annotata con 21 keypoint come segue:
- Polso
- Pollice (4 punti)
- Indice (4 punti)
- Medio (4 punti)
- Anulare (4 punti)
- Mignolo (4 punti)
Struttura del dataset#
- Immagini totali: 26.768 (18.776 train / 7.992 val).
- Classi: 1 (mano).
- Punti chiave: 21 per mano con triplette
(x, y, visibility). - Dimensione download: ~369 MB.
Per un vocabolario di gesti personalizzato che vada oltre i normali punti di riferimento della mano, la Ultralytics Platform gestisce l'etichettatura e l'addestramento del tuo set di dati direttamente dal browser.
Applicazioni#
I keypoint della mano supportano diverse applicazioni nel mondo reale:
- Riconoscimento dei gesti: interazione uomo-computer e interfacce di controllo touchless.
- Controlli AR/VR: interazione precisa con oggetti virtuali.
- Manipolazione robotica: controllo di precisione di mani robotiche.
- Assistenza sanitaria: analisi del movimento della mano per diagnosi mediche.
- Animazione: motion capture per movimenti realistici della mano.
- Autenticazione biometrica: sistemi di sicurezza basati sulla geometria della mano.
Dataset YAML#
Viene utilizzato un file YAML per definire la configurazione del set di dati. Esso contiene informazioni sui percorsi, le classi e altre informazioni rilevanti del set di dati. Nel caso del set di dati Hand Keypoints, il file hand-keypoints.yaml viene mantenuto su https://github.com/ultralytics/ultralytics/blob/main/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.zipUtilizzo#
Per addestrare un modello YOLO26n-pose sul set di dati Hand Keypoints per 100 epoche con una dimensione dell'immagine di 640, puoi utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, fai riferimento alla pagina di Addestramento del modello.
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)Esempi di immagini e annotazioni#
Il dataset Hand Keypoints contiene una serie diversificata di immagini con mani umane annotate con keypoint. Ecco alcuni esempi di immagini dal dataset, insieme alle relative annotazioni:

- Immagine Mosaico: Questa immagine mostra un batch di addestramento composto da immagini del dataset a mosaico. Il mosaico è una tecnica utilizzata durante l'addestramento che combina più immagini in un'unica immagine per aumentare la varietà di oggetti e scene all'interno di ogni batch di addestramento. Ciò aiuta a migliorare la capacità del modello di generalizzare a diverse dimensioni, proporzioni e contesti degli oggetti.
L'esempio mostra la varietà e la complessità delle immagini nel dataset Hand Keypoints e i vantaggi dell'utilizzo del mosaicing durante il processo di addestramento.
Citazioni e riconoscimenti#
Se utilizzi il dataset Hand Keypoints nel tuo lavoro di ricerca o sviluppo, ti preghiamo di riconoscere le seguenti fonti:
Vorremmo ringraziare le seguenti fonti per aver fornito le immagini utilizzate in questo dataset:
Le immagini sono state raccolte e utilizzate ai sensi delle rispettive licenze fornite da ciascuna piattaforma e sono distribuite sotto la Licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 4.0 Internazionale.
Vorremmo inoltre ringraziare il creatore di questo set di dati, Rion Dsilva, per il suo grande contributo alla ricerca sulla Vision AI.
FAQ#
Con 26.768 immagini annotate e 21 punti chiave per mano generati tramite Google MediaPipe, il set di dati Hand Keypoints offre ai modelli di stima della posa la scala e la precisione di annotazione necessarie per attività di stima avanzata della posa. Consulta la sezione Punti chiave per l'analisi dettagliata completa dei punti di riferimento.
Hand Keypoints supporta il riconoscimento dei gesti, i controlli AR/VR, la manipolazione robotica, l'analisi del movimento sanitario, l'animazione e l'autenticazione biometrica: consulta la sezione Applicazioni per i dettagli su ciascuno di essi.
Il dataset Hand Keypoints è diviso in due sottoinsiemi:
- Train: Contiene 18.776 immagini per l'addestramento di modelli di stima della posa.
- Val: Contiene 7.992 immagini a fini di validazione durante l'addestramento del modello.
Questa struttura garantisce un processo di addestramento e validazione completo. Per maggiori dettagli, consulta la sezione Struttura del dataset.
La configurazione del set di dati è definita in un file YAML, che include percorsi, classi e altre informazioni pertinenti. Il file
hand-keypoints.yamlpuò essere trovato su hand-keypoints.yaml.Per utilizzare questo file YAML per l'addestramento, specificalo nel tuo script di addestramento o comando CLI come mostrato nell'esempio di addestramento precedente. Per maggiori dettagli, fai riferimento alla sezione Dataset YAML.



