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 7992 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 zur Bewegungserfassung und in biometrischen Authentifizierungssystemen fĂŒr die Sicherheit eingesetzt werden.

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 YOLO 🚀, AGPL-3.0 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.

📅 Created 2 months ago ✏ Updated 17 days ago

Kommentare