Dataset Hand Keypoints#
Introduzione#
Il dataset di Hand Keypoints di Ultralytics contiene 26.768 immagini di mani annotate con 21 keypoint ciascuna, generate utilizzando la libreria Google MediaPipe per un'elevata precisione e coerenza. È compatibile con i formati di Ultralytics YOLO26 per l'addestramento di modelli di pose estimation.
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).
- Keypoint: 21 per mano con triplette
(x, y, visibility). - Dimensione download: ~369 MB.
Per un vocabolario di gesti personalizzato che vada oltre i landmark generici delle mani, Ultralytics Platform gestisce l'etichettatura e l'addestramento del tuo dataset direttamente dal browser.
Applicazioni#
I keypoint della mano supportano diverse applicazioni nel mondo reale:
- Riconoscimento dei gesti: interazione uomo-computer e interfacce di controllo senza contatto.
- 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#
Un file YAML viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, le classi e altre informazioni pertinenti. Nel caso del dataset Hand Keypoints, il file hand-keypoints.yaml è gestito 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 dataset 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 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 secondo le rispettive licenze fornite da ciascuna piattaforma e sono distribuite sotto la Licenza Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
Vorremmo inoltre ringraziare il creatore di questo dataset, Rion Dsilva, per il suo grande contributo alla ricerca in Vision AI.
FAQ#
Come addestro un modello YOLO26 sul dataset Hand Keypoints?#
Carica yolo26n-pose.pt e chiama model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640) — vedi l'Esempio di training qui sopra per gli snippet Python e CLI completi, e la pagina Training del modello per un elenco completo degli argomenti.
Quali sono i vantaggi dell'utilizzo del dataset Hand Keypoints?#
Con 26.768 immagini annotate e 21 keypoint per mano generati tramite Google MediaPipe, il dataset Hand Keypoints fornisce ai modelli di pose estimation la scala e la precisione di annotazione necessarie per attività di pose estimation avanzata. Consulta la sezione Keypoints per la suddivisione completa dei landmark.
Quali applicazioni possono trarre vantaggio dall'uso del dataset Hand Keypoints?#
Hand Keypoints supporta il riconoscimento dei gesti, controlli AR/VR, manipolazione robotica, analisi del movimento in ambito sanitario, animazione e autenticazione biometrica — consulta la sezione Applicazioni per i dettagli su ciascuna.
Com'è strutturato il dataset Hand Keypoints?#
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 ulteriori dettagli, vedi la sezione Struttura del dataset.
Come utilizzo il file YAML del dataset per l'addestramento?#
La configurazione del dataset è definita in un file YAML, che include percorsi, classi e altre informazioni rilevanti. Il file hand-keypoints.yaml si trova su hand-keypoints.yaml.
Per utilizzare questo file YAML per l'addestramento, specificalo nel tuo script di addestramento o nel comando CLI come mostrato nell'esempio di addestramento precedente. Per ulteriori dettagli, fai riferimento alla sezione Dataset YAML.