Dataset dei punti chiave della mano
Introduzione
Il dataset hand-keypoints contiene 26.768 immagini di mani annotate con keypoints, rendendolo adatto per l'addestramento di modelli come Ultralytics YOLO per attività di stima della posa. Le annotazioni sono state generate utilizzando la libreria Google MediaPipe, garantendo un'elevata precisione e coerenza, e il dataset è compatibile con i formati Ultralytics YOLO11.
Guarda: Stima dei punti chiave della mano con Ultralytics YOLO11 | Tutorial sulla stima della posa della mano umana
Punti di riferimento della mano
KeyPoints (Punti chiave)
Il dataset include keypoint per il rilevamento della mano. I keypoint sono annotati come segue:
- Polso
- Pollice (4 punti)
- Dito indice (4 punti)
- Dito medio (4 punti)
- Anulare (4 punti)
- Mignolo (4 punti)
Ogni mano ha un totale di 21 punti chiave.
Caratteristiche principali
- Dataset di grandi dimensioni: 26.768 immagini con annotazioni di keypoint della mano.
- Compatibilità con YOLO11: Pronto per l'uso con i modelli YOLO11.
- 21 Punti chiave: Rappresentazione dettagliata della posa della mano.
Struttura del set di dati
Il dataset dei keypoint della mano è suddiviso in due sottoinsiemi:
- Train: Questo sottoinsieme contiene 18.776 immagini dal set di dati dei punti chiave della mano, annotate per l'addestramento di modelli di stima della posa.
- Val: Questo sottoinsieme contiene 7.992 immagini che possono essere utilizzate per scopi di convalida durante l'addestramento del modello.
Applicazioni
I keypoint della mano possono essere utilizzati per il riconoscimento dei gesti, i controlli AR/VR, la manipolazione robotica e l'analisi dei movimenti della mano nel settore sanitario. Possono anche essere applicati nell'animazione per l'acquisizione del movimento e nei sistemi di autenticazione biometrica per la sicurezza. Il tracciamento dettagliato delle posizioni delle dita consente un'interazione precisa con oggetti virtuali e interfacce di controllo senza contatto.
YAML del set di dati
Un file YAML (Yet Another Markup Language) viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi, i dettagli dei keypoint e altre informazioni rilevanti. Nel caso del dataset Hand Keypoints, il hand-keypoints.yaml
file è mantenuto in 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
# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/hand-keypoints.zip
Utilizzo
Per addestrare un modello YOLO11n-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, consulta la pagina Training del modello.
Esempio di addestramento
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640
Immagini di esempio e annotazioni
Il dataset Hand keypoints contiene un set diversificato di immagini con mani umane annotate con keypoint. Ecco alcuni esempi di immagini dal dataset, insieme alle relative annotazioni:
- Immagine mosaicata: questa immagine mostra un batch di addestramento composto da immagini del dataset mosaicato. Il mosaicing è 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ò contribuisce a migliorare la capacità del modello di generalizzare a diverse dimensioni degli oggetti, proporzioni e contesti.
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 training.
Citazioni e ringraziamenti
Se utilizzi il dataset hand-keypoints nel tuo lavoro di ricerca o sviluppo, riconosci le seguenti fonti:
Desideriamo 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 con la Licenza Internazionale Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 4.0.
Vorremmo inoltre ringraziare il creatore di questo set di dati, Rion Dsilva, per il suo grande contributo alla ricerca sull'intelligenza artificiale nella visione artificiale.
FAQ
Come posso addestrare un modello YOLO11 sul dataset Hand Keypoints?
Per addestrare un modello YOLO11 sul dataset Hand Keypoints, puoi utilizzare python o l'interfaccia a riga di comando (CLI). Ecco un esempio per l'addestramento di un modello YOLO11n-pose per 100 epoche con una dimensione dell'immagine di 640:
Esempio
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640
Per un elenco completo degli argomenti disponibili, consultare la pagina Training del modello.
Quali sono le caratteristiche principali del dataset Hand Keypoints?
Il dataset Hand Keypoints è progettato per attività avanzate di stima della posa e include diverse caratteristiche chiave:
- Dataset di grandi dimensioni: contiene 26.768 immagini con annotazioni di keypoint della mano.
- Compatibilità con YOLO11: Pronto per l'uso con i modelli YOLO11.
- 21 Punti chiave: Rappresentazione dettagliata della posa della mano, comprese le articolazioni del polso e delle dita.
Per maggiori dettagli, puoi esplorare la sezione Dataset dei punti chiave della mano.
Quali applicazioni possono trarre vantaggio dall'utilizzo del dataset Hand Keypoints?
Il dataset Hand Keypoints può essere applicato in vari campi, tra cui:
- Riconoscimento dei gesti: Miglioramento dell'interazione uomo-computer.
- Controlli AR/VR: Miglioramento dell'esperienza utente nella realtà aumentata e virtuale.
- Manipolazione robotica: Consente il controllo preciso delle mani robotiche.
- Assistenza sanitaria: Analisi dei movimenti della mano per la diagnostica medica.
- Animazione: Acquisizione del movimento per animazioni realistiche.
- Autenticazione biometrica: Miglioramento dei sistemi di sicurezza.
Per maggiori informazioni, consultare la sezione Applicazioni.
Come è 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 per scopi di convalida durante l'addestramento del modello.
Questa struttura garantisce un processo completo di addestramento e convalida. Per maggiori dettagli, consulta la sezione Struttura del set di dati.
Come posso usare 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 hand-keypoints.yaml
file è disponibile all'indirizzo hand-keypoints.yaml.
Per utilizzare questo file YAML per il training, specificalo nel tuo script di training o nel comando CLI come mostrato nell'esempio di training sopra. Per maggiori dettagli, consulta la sezione Dataset YAML.