Dataset dei keypoint della mano#
Introduzione#
Il dataset dei keypoint della mano di Ultralytics contiene 26.768 immagini di mani annotate con 21 keypoint ciascuna, generate con la libreria Google MediaPipe per garantire elevata accuratezza e coerenza. È compatibile con i formati Ultralytics YOLO26 per addestrare modelli di stima della posa.
Guarda: Stima dei keypoint della mano con Ultralytics YOLO | Tutorial sulla stima della posa della mano umana
Punti chiave#

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). - Dimensioni del download: ~369 MB.
Se ti serve un vocabolario personalizzato di gesti che vada oltre i punti di riferimento generici della mano, Ultralytics Platform gestisce l'etichettatura e il training 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 preciso delle mani robotiche.
- Assistenza sanitaria: analisi dei movimenti della mano per la diagnosi medica.
- Animazione: acquisizione del movimento per animare le mani in modo realistico.
- Autenticazione biometrica: sistemi di sicurezza basati sulla geometria della mano.
YAML del dataset#
Un file YAML definisce la configurazione del dataset. Contiene informazioni sui percorsi, le classi e altri dati pertinenti del dataset. Per il dataset dei keypoint della mano, il file hand-keypoints.yaml è mantenuto in 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 dei keypoint della mano per 100 epoche con una dimensione delle immagini di 640, puoi usare i seguenti snippet di codice. Per l'elenco completo degli argomenti disponibili, consulta la pagina Training del modello.
from ultralytics import YOLO
# Carica un modello
model = YOLO("yolo26n-pose.pt") # carica un modello preaddestrato (consigliato per l'addestramento)
# Addestra il modello
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)Immagini di esempio e annotazioni#
Il dataset dei keypoint della mano contiene una raccolta eterogenea di immagini di mani umane annotate con keypoint. Ecco alcuni esempi di immagini del dataset, insieme alle relative annotazioni:

- Immagine a mosaico: questa immagine mostra un batch di addestramento composto da immagini del dataset unite in un mosaico. La creazione di mosaici è una tecnica utilizzata durante l'addestramento che combina più immagini in una sola per aumentare la varietà di oggetti e scene in ogni batch di addestramento. Questo aiuta a migliorare la capacità del modello di generalizzare a oggetti di dimensioni e proporzioni diverse e a contesti differenti.
L'esempio mostra la varietà e la complessità delle immagini del dataset dei keypoint della mano e i vantaggi dell'uso del mosaico durante il processo di training.
Citazioni e ringraziamenti#
Se usi il dataset dei keypoint della mano nel tuo lavoro di ricerca o sviluppo, riconosci il contributo delle seguenti fonti:
Desideriamo ringraziare le seguenti fonti per aver fornito le immagini usate in questo dataset:
Le immagini sono state raccolte e utilizzate secondo le rispettive licenze fornite da ciascuna piattaforma e sono distribuite con la Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Desideriamo inoltre ringraziare il creatore di questo dataset, Rion Dsilva, per il suo importante contributo alla ricerca sull'IA per la visione.
Domande frequenti#
Carica
yolo26n-pose.pte chiamamodel.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)— consulta l'esempio Train Example qui sopra per gli snippet completi in Python e CLI e la pagina Training del modello per l'elenco completo degli argomenti.Con 26.768 immagini annotate e 21 keypoint per mano generati tramite Google MediaPipe, il dataset Hand Keypoints offre ai modelli di stima della posa la quantità e la precisione delle annotazioni necessarie per le attività di stima avanzata della posa. Consulta la sezione Keypoint per la descrizione completa dei landmark.
Hand Keypoints supporta il riconoscimento dei gesti, i controlli AR/VR, la manipolazione robotica, l'analisi dei movimenti in ambito sanitario, l'animazione e l'autenticazione biometrica: consulta la sezione Applicazioni per i dettagli su ciascuna.
Il dataset Hand Keypoints è suddiviso in due sottoinsiemi:
- Train: contiene 18.776 immagini per addestrare i modelli di stima della posa.
- Val: contiene 7.992 immagini da utilizzare per la convalida durante l'addestramento del modello.
Questa struttura garantisce un processo completo di addestramento e convalida. Per maggiori dettagli, consulta la sezione Struttura del dataset.
La configurazione del dataset è definita in un file YAML, che include percorsi, classi e altre informazioni pertinenti. Il file
hand-keypoints.yamlè disponibile qui: hand-keypoints.yaml.Per usare questo file YAML per l'addestramento, specificalo nello script di addestramento o nel comando CLI, come mostrato nell'esempio di addestramento qui sopra. Per maggiori dettagli, consulta la sezione YAML del dataset.



