YOLO Vision 2026:

Hand-Keypoints-Datensatz#

Einführung#

Das Ultralytics Hand Keypoints-Dataset enthält 26.768 Handbilder, die jeweils mit 21 Keypoints annotiert sind, generiert mit der Google MediaPipe-Bibliothek für hohe Genauigkeit und Konsistenz. Es ist kompatibel mit Ultralytics YOLO26-Formaten zum Training von Pose-Estimation-Modellen.



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

Keypoints#

Hand keypoints landmark diagram with 21 points

Jede Hand ist wie folgt mit 21 Keypoints annotiert:

  1. Handgelenk
  2. Daumen (4 Punkte)
  3. Zeigefinger (4 Punkte)
  4. Mittelfinger (4 Punkte)
  5. Ringfinger (4 Punkte)
  6. Kleiner Finger (4 Punkte)

Datensatzstruktur#

  • Gesamtanzahl Bilder: 26.768 (18.776 train / 7.992 val).
  • Klassen: 1 (Hand).
  • Keypoints: 21 pro Hand mit (x, y, visibility)-Tripeln.
  • Download-Größe: ~369 MB.

Für ein benutzerdefiniertes Gestenvokabular über generische Hand-Landmarks hinaus übernimmt die Ultralytics Platform die Beschriftung und das Training deines eigenen Datasets direkt im Browser.

Anwendungen#

Hand Keypoints unterstützen verschiedene praxisnahe Anwendungen:

  • Gestenerkennung: Mensch-Computer-Interaktion und berührungslose Steuerungsschnittstellen.
  • AR/VR-Steuerung: präzise Interaktion mit virtuellen Objekten.
  • Robotische Manipulation: feinmotorische Steuerung von Roboterhänden.
  • Gesundheitswesen: Analyse von Handbewegungen für medizinische Diagnosen.
  • Animation: Motion Capturing für realistische Handbewegungen.
  • Biometrische Authentifizierung: Sicherheitssysteme auf Basis der Handgeometrie.

Datensatz-YAML#

Eine YAML-Datei wird verwendet, um die Dataset-Konfiguration zu definieren. Sie enthält Informationen über die Pfade, Klassen und andere relevante Informationen des Datasets. Im Fall des Hand Keypoints-Datasets wird die hand-keypoints.yaml-Datei unter https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/hand-keypoints.yaml gepflegt.

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

Verwendung#

Um ein YOLO26n-pose-Modell auf dem Hand Keypoints-Dataset für 100 Epochen mit einer Bildgröße von 640 zu trainieren, kannst du die folgenden Code-Schnipsel verwenden. Eine vollständige Liste der verfügbaren Argumente findest du auf der Modellseite Training.

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

Beispielbilder und Annotationen#

Das Hand Keypoints Dataset enthält eine vielfältige Sammlung von Bildern mit menschlichen Händen, die mit Keypoints annotiert sind. Hier sind einige Beispiele von Bildern aus dem Dataset, zusammen mit ihren entsprechenden Annotationen:

Hand keypoints pose estimation dataset sample

  • Mosaik-Bild: Dieses Bild zeigt einen Trainings-Batch, der aus mosaikierten Datensatz-Bildern besteht. Mosaicing ist eine Technik, die während des Trainings verwendet wird, um mehrere Bilder zu einem einzigen Bild zu kombinieren, um die Vielfalt der Objekte und Szenen innerhalb jedes Trainings-Batches zu erhöhen. Dies trägt dazu bei, die Fähigkeit des Modells zu verbessern, auf verschiedene Objektgrößen, Seitenverhältnisse und Kontexte zu generalisieren.

Das Beispiel veranschaulicht die Vielfalt und Komplexität der Bilder im Hand-Keypoints-Datensatz sowie die Vorteile der Verwendung von Mosaicing während des Trainingsprozesses.

Zitate und Danksagungen#

Wenn du das Hand Keypoints Dataset in deiner Forschung oder Entwicklungsarbeit verwendest, gib bitte die folgenden Quellen an:

Zitat

Wir möchten den folgenden Quellen für die Bereitstellung der Bilder danken, die in diesem Datensatz verwendet wurden:

Die Bilder wurden unter den jeweiligen von den einzelnen Plattformen bereitgestellten Lizenzen gesammelt und verwendet und werden unter der Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License vertrieben.

Wir möchten auch dem Ersteller dieses Datasets, Rion Dsilva, für seinen großartigen Beitrag zur Vision AI-Forschung danken.

FAQ#

  • Lade yolo26n-pose.pt und rufe model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640) auf — siehe das Train Example oben für die vollständigen Python- und CLI-Snippets sowie die Modellseite für Training für eine umfassende Liste von Argumenten.

  • Mit 26.768 annotierten Bildern und 21 Keypoints pro Hand, generiert über Google MediaPipe, bietet das Hand Keypoints-Dataset Pose-Estimation-Modellen den Umfang und die Annotationsgenauigkeit, die für fortgeschrittene Pose-Estimation-Aufgaben erforderlich sind. Siehe den Abschnitt Keypoints für die vollständige Landmark-Aufschlüsselung.

  • Hand Keypoints unterstützt Gestenerkennung, AR/VR-Steuerung, robotergestützte Manipulation, Analyse von Bewegungen im Gesundheitswesen, Animation und biometrische Authentifizierung – siehe den Abschnitt Applications für Details zu den einzelnen Punkten.

  • Der Hand-Keypoints-Datensatz ist in zwei Teilmengen unterteilt:

    1. Train: Enthält 18.776 Bilder für das Training von Pose-Estimation-Modellen.
    2. Val: Enthält 7.992 Bilder für Validierungszwecke während des Modelltrainings.

    Diese Struktur sorgt für einen umfassenden Trainings- und Validierungsprozess. Weitere Details findest du im Abschnitt Dataset Structure.

  • Die Dataset-Konfiguration ist in einer YAML-Datei definiert, die Pfade, Klassen und andere relevante Informationen enthält. Die hand-keypoints.yaml-Datei findest du unter hand-keypoints.yaml.

    Um diese YAML-Datei für das Training zu verwenden, gib sie in deinem Trainingsskript oder CLI-Befehl an, wie im obigen Trainingsbeispiel gezeigt. Weitere Details findest du im Abschnitt Dataset YAML.

Kommentare