Zum Inhalt springen

Hand Keypoints-Datensatz

Einführung

Der Hand-Keypoints-Datensatz enthält 26.768 Bilder von Händen, die mit Keypoints annotiert sind. Damit eignet er sich für das Training von Modellen wie Ultralytics YOLO für Aufgaben der Posenschätzung. Die Annotationen wurden mit der Google MediaPipe-Bibliothek erstellt, was eine hohe Genauigkeit und Konsistenz gewährleistet. Ultralytics YOLO11 Formate.



Beobachten: Hand Keypoints Estimation mit Ultralytics YOLO11 | Human Hand Pose Estimation Tutorial

Hand Landmarken

Hand Landmarken

Stichpunkte

Der Datensatz enthält Keypoints für die Handerkennung. Die Keypoints sind wie folgt annotiert:

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

Jedes Blatt hat insgesamt 21 Keypoints.

Wesentliche Merkmale

  • Großer Datensatz: 26.768 Bilder mit Hand-Keypoint-Beschriftungen.
  • YOLO11 Kompatibilität: Bereit für die Verwendung mit den Modellen YOLO11 .
  • 21 Keypoints: Detaillierte Darstellung der Handhaltung.

Struktur des Datensatzes

Der Hand-Tastendatensatz wird in zwei Teilmengen aufgeteilt:

  1. Trainieren: Diese Untergruppe enthält 18.776 Bilder aus dem Handkeypunktedatensatz, die für das Training von Modellen zur Posenschätzung beschriftet wurden.
  2. Val: Diese Teilmenge enthält 7.992 Bilder, die während des Modelltrainings zur Validierung 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 der Animation für Motion Capture und biometrische Authentifizierungssysteme für die Sicherheit eingesetzt werden. Die detaillierte Verfolgung von Fingerpositionen ermöglicht eine präzise Interaktion mit virtuellen Objekten und berührungslosen Steuerungsschnittstellen.

Datensatz YAML

Eine YAML-Datei (Yet Another Markup Language) wird zur Definition der Dataset-Konfiguration verwendet. Sie enthält Informationen über die Pfade des Datensatzes, Klassen und andere relevante Informationen. Im Fall des Hand Keypoints-Datensatzes ist die Datei 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: ../datasets/hand-keypoints # dataset root dir
train: train # train images (relative to 'path') 18776 images
val: 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

Verwendung

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 Codeschnipsel verwenden. Eine umfassende Liste der verfügbaren Argumente finden Sie auf der Seite Modelltraining.

Beispiel für einen Zug

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

Beispielbilder und -kommentare

Der Hand Keypoints-Datensatz enthält eine Reihe von Bildern mit menschlichen Händen, die mit Keypoints versehen sind. Hier sind einige Beispiele von Bildern aus dem Datensatz, zusammen mit den entsprechenden Annotationen:

Datensatz Beispielbild

  • Mosaikbild: Dieses Bild zeigt einen Trainingsstapel, der aus Mosaikbildern des Datensatzes besteht. Das Mosaikieren ist eine Technik, bei der während des Trainings mehrere Bilder zu einem einzigen Bild kombiniert werden, um die Vielfalt der Objekte und Szenen in jedem Trainingsstapel zu erhöhen. Dies trägt dazu bei, die Fähigkeit des Modells zur Generalisierung auf verschiedene Objektgrößen, Seitenverhältnisse und Kontexte zu verbessern.

Das Beispiel verdeutlicht die Vielfalt und Komplexität der Bilder im Hand Keypoints-Datensatz und die Vorteile der Mosaikbildung während des Trainingsprozesses.

Zitate und Danksagungen

Wenn Sie den Handkeypoints-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, geben Sie bitte die folgenden Quellen an:

Wir möchten uns bei den folgenden Quellen für die Bereitstellung der in diesem Datensatz verwendeten Bilder bedanken:

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

Wir möchten auch dem Schöpfer dieses Datensatzes, Rion Dsilva, für seinen großen Beitrag zur Vision AI-Forschung danken.

FAQ

Wie trainiere ich ein YOLO11 Modell auf dem Hand Keypoints-Datensatz?

Zum Trainieren eines YOLO11 -Modells auf dem Hand Keypoints-Datensatz können Sie entweder Python oder die Befehlszeilenschnittstelle (CLI) verwenden. Hier ist ein Beispiel für das Training eines YOLO11n-Positionsmodells 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 Modellschulung.

Was sind die wichtigsten Merkmale des Hand Keypoints-Datensatzes?

Der Hand Keypoints-Datensatz wurde für fortgeschrittene Posenschätzungsaufgaben entwickelt und enthält mehrere wichtige Funktionen:

  • Großer Datensatz: Enthält 26.768 Bilder mit Hand-Keypoint-Anmerkungen.
  • YOLO11 Kompatibilität: Bereit für die Verwendung mit den Modellen YOLO11 .
  • 21 Keypoints: Detaillierte Darstellung der Handhaltung, einschließlich Handgelenk und Fingergelenke.

Weitere Einzelheiten finden Sie im Abschnitt Hand Keypoints Dataset.

Welche Anwendungen können von der Verwendung des Hand Keypoints-Datensatzes profitieren?

Der Hand Keypoints-Datensatz kann in verschiedenen Bereichen eingesetzt werden, unter anderem:

  • Erkennung von Gesten: Verbesserung der Mensch-Computer-Interaktion.
  • AR/VR-Steuerungen: Verbesserung der Benutzererfahrung in der erweiterten und virtuellen Realität.
  • Robotische Manipulation: Ermöglicht die präzise Steuerung von Roboterhänden.
  • Gesundheitswesen: Analyse von Handbewegungen für die medizinische Diagnostik.
  • Animation: Erfassen von Bewegungen für realistische Animationen.
  • Biometrische Authentifizierung: Verbesserung der Sicherheitssysteme.

Weitere Informationen finden Sie im Abschnitt Anwendungen.

Wie ist der Hand Keypoints-Datensatz aufgebaut?

Der Hand Keypoints-Datensatz ist in zwei Teilmengen unterteilt:

  1. Trainieren: Enthält 18.776 Bilder für das Training von Modellen zur Posenschätzung.
  2. Val: Enthält 7.992 Bilder zur Validierung während des Modelltrainings.

Diese Struktur gewährleistet einen umfassenden Schulungs- und Validierungsprozess. Weitere Einzelheiten finden Sie im Abschnitt " Datensatzstruktur ".

Wie verwende ich die YAML-Datei des Datensatzes für das Training?

Die Konfiguration des Datensatzes wird 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 dem Befehl CLI an, wie im obigen Trainingsbeispiel gezeigt. Weitere Einzelheiten finden Sie im Abschnitt Dataset YAML.

📅 Erstellt vor 6 Monaten ✏️ Aktualisiert vor 8 Tagen

Kommentare