Hand Keypoints Datensatz
Einführung
Der Hand-Keypoints-Datensatz enthält 26.768 Bilder von Händen, die mit Keypoints annotiert sind, wodurch er sich für das Training von Modellen wie Ultralytics YOLO für Pose-Schätzungsaufgaben eignet. Die Annotationen wurden mit der Google MediaPipe-Bibliothek generiert, wodurch eine hohe Genauigkeit und Konsistenz gewährleistet wird, und der Datensatz ist mit Ultralytics YOLO11-Formaten kompatibel.
Ansehen: Hand Keypoints Schätzung mit Ultralytics YOLO11 | Tutorial zur Schätzung der menschlichen Handpose
Hand Landmarks
KeyPoints
Der Datensatz enthält Keypoints für die Handerkennung. Die Keypoints sind wie folgt annotiert:
- Handgelenk
- Daumen (4 Punkte)
- Zeigefinger (4 Punkte)
- Mittelfinger (4 Punkte)
- Ringfinger (4 Punkte)
- Kleiner Finger (4 Punkte)
Jede Hand hat insgesamt 21 Keypoints.
Hauptmerkmale
- Large Dataset: 26.768 Bilder mit Hand-Keypoint-Annotationen.
- YOLO11-Kompatibilität: Bereit zur Verwendung mit YOLO11-Modellen.
- 21 Keypoints: Detaillierte Darstellung der Handpose.
Dataset-Struktur
Der Hand Keypoint-Datensatz ist in zwei Untergruppen unterteilt:
- Train: Diese Teilmenge enthält 18.776 Bilder aus dem Hand Keypoints-Datensatz, die für das Training von Pose-Schätzungsmodellen annotiert sind.
- Val: Diese Teilmenge enthält 7.992 Bilder, die für Validierungszwecke während des Modelltrainings verwendet werden können.
Anwendungen
Hand-Keypoints können für Gestenerkennung, AR/VR-Steuerungen, Robotermanipulation und Handbewegungsanalyse im Gesundheitswesen verwendet werden. Sie können auch in Animationen für Motion Capture und biometrischen Authentifizierungssystemen für die Sicherheit eingesetzt werden. Die detaillierte Verfolgung der Fingerpositionen ermöglicht eine präzise Interaktion mit virtuellen Objekten und berührungslosen Steuerungsschnittstellen.
Datensatz-YAML
Eine YAML-Datei (Yet Another Markup Language) wird verwendet, um die Konfiguration des Datensatzes zu definieren. Sie enthält Informationen über die Pfade, Klassen und andere relevante Informationen des Datensatzes. Im Fall des Hand Keypoints-Datensatzes ist die hand-keypoints.yaml
Datei wird verwaltet unter 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
Nutzung
Um ein YOLO11n-Pose-Modell auf dem Hand Keypoints-Datensatz für 100 Epochen mit einer Bildgröße von 640 zu trainieren, können Sie die folgenden Code-Snippets verwenden. Eine umfassende Liste der verfügbaren Argumente finden Sie auf der Trainings-Seite des Modells.
Trainingsbeispiel
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
sample_images und Anmerkungen
Der Hand Keypoints-Datensatz enthält eine vielfältige Sammlung von Bildern mit menschlichen Händen, die mit Keypoints annotiert sind. Hier sind einige Beispiele für Bilder aus dem Datensatz zusammen mit den entsprechenden Anmerkungen:
- Mosaikbild: Dieses Bild zeigt einen Trainings-Batch, der aus Mosaik-Datensatzbildern besteht. Mosaicing ist eine Technik, die während des Trainings verwendet wird und mehrere Bilder zu einem einzigen Bild kombiniert, um die Vielfalt der Objekte und Szenen innerhalb jedes Trainings-Batch 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 demonstriert die Vielfalt und Komplexität der Bilder im Hand Keypoints-Datensatz und die Vorteile der Verwendung von Mosaicing während des Trainingsprozesses.
Zitate und Danksagungen
Wenn Sie den Hand-Keypoints-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, würdigen Sie bitte die folgenden Quellen:
Wir möchten den folgenden Quellen für die Bereitstellung der in diesem Datensatz verwendeten Bilder danken:
Die Bilder wurden unter den jeweiligen Lizenzen der einzelnen Plattformen gesammelt und verwendet und werden unter der Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License verbreitet.
Wir möchten auch den Urheber dieses Datensatzes, Rion Dsilva, für seinen großen Beitrag zur Vision AI-Forschung würdigen.
FAQ
Wie trainiere ich ein YOLO11-Modell auf dem Hand Keypoints Datensatz?
Um ein YOLO11-Modell auf dem Hand Keypoints-Datensatz zu trainieren, können Sie entweder Python oder die Befehlszeilenschnittstelle (CLI) verwenden. Hier ist ein Beispiel für das Training eines YOLO11n-Pose-Modells für 100 Epochen mit einer Bildgröße von 640:
Beispiel
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
Eine umfassende Liste der verfügbaren Argumente finden Sie auf der Seite Training des Modells.
Was sind die wichtigsten Merkmale des Hand Keypoints Datensatzes?
Der Hand Keypoints Datensatz ist für fortgeschrittene Pose-Schätzungs-Aufgaben konzipiert und umfasst mehrere wichtige Funktionen:
- Large Dataset: Enthält 26.768 Bilder mit Hand-Keypoint-Annotationen.
- YOLO11-Kompatibilität: Bereit zur Verwendung mit YOLO11-Modellen.
- 21 Keypoints: Detaillierte Darstellung der Handpose, einschließlich Handgelenk- und Fingergelenke.
Weitere Informationen finden Sie im Abschnitt Hand Keypoints Dataset.
Welche Anwendungen können von der Nutzung des Hand Keypoints-Datensatzes profitieren?
Der Hand Keypoints-Datensatz kann in verschiedenen Bereichen eingesetzt werden, darunter:
- Gesterkennung: Verbesserung der Mensch-Computer-Interaktion.
- AR/VR-Steuerung: Verbesserung der Benutzererfahrung in Augmented und Virtual Reality.
- Robotische Manipulation: Ermöglicht die präzise Steuerung von Roboterhänden.
- Gesundheitswesen: Analyse von Handbewegungen für medizinische Diagnostik.
- Animation: Erfassung von Bewegungen für realistische Animationen.
- Biometrische Authentifizierung: Verbesserung von Sicherheitssystemen.
Weitere Informationen finden Sie im Abschnitt Anwendungen.
Wie ist der Hand Keypoints-Datensatz strukturiert?
Der Hand Keypoints-Datensatz ist in zwei Untergruppen unterteilt:
- Train: Enthält 18.776 Bilder für das Training von Pose-Schätzungsmodellen.
- Val: Enthält 7.992 Bilder für Validierungszwecke während des Modelltrainings.
Diese Struktur gewährleistet einen umfassenden Trainings- und Validierungsprozess. Weitere Informationen finden Sie im Abschnitt Datensatzstruktur.
Wie verwende ich die YAML-Datei des Datensatzes für das Training?
Die Datensatzkonfiguration ist in einer YAML-Datei definiert, die Pfade, Klassen und andere relevante Informationen enthält. Die hand-keypoints.yaml
Datei finden Sie unter hand-keypoints.yaml.
Um diese YAML-Datei für das Training zu verwenden, geben Sie sie in Ihrem Trainingsskript oder CLI-Befehl an, wie im obigen Trainingsbeispiel gezeigt. Weitere Informationen finden Sie im Abschnitt Dataset YAML.