Skip to content

手部关键点数据集

简介

手部关键点数据集包含26,768张带有关键点标注的手部图像,适用于训练如Ultralytics YOLO等模型进行姿态估计任务。这些标注使用Google MediaPipe库生成,确保了高准确性和一致性,并且数据集与Ultralytics YOLO11格式兼容。

手部地标

手部地标

关键点

该数据集包括用于手部检测的关键点。关键点标注如下:

  1. 手腕
  2. 拇指(4个点)
  3. 食指(4个点)
  4. 中指(4个点)
  5. 无名指(4个点)
  6. 小指(4个点)

每只手共有21个关键点。

主要特点

  • 大数据集:26,768张带有手部关键点标注的图像。
  • YOLO11兼容性:可直接用于YOLO11模型。
  • 21个关键点:详细的手部姿态表示。

数据集结构

手部关键点数据集分为两个子集:

  1. 训练集:该子集包含18,776张图像,用于训练姿态估计模型。
  2. 验证集:该子集包含7992张图像,可用于模型训练期间的验证。

应用

手部关键点可用于手势识别、AR/VR控制、机器人操作以及医疗中的手部运动分析。它们还可应用于动画中的动作捕捉和安全中的生物识别认证系统。

数据集YAML

使用YAML(另一种标记语言)文件定义数据集配置。它包含数据集路径、类别和其他相关信息。对于手部关键点数据集,hand-keypoints.yaml文件保存在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

使用方法

要在手部关键点数据集上训练YOLO11n-pose模型100个周期,图像大小为640,可以使用以下代码片段。有关可用参数的完整列表,请参阅模型训练页面。

训练示例

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n-pose.pt")  # 加载预训练模型(推荐用于训练)

# 训练模型
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# 从预训练的*.pt模型开始训练
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

示例图像和标注

手部关键点数据集包含多样化的图像,带有手部关键点标注。以下是数据集中的一些示例图像及其对应的标注:

数据集示例图像

  • 马赛克图像:此图像展示了一个由马赛克数据集图像组成的训练批次。马赛克是一种在训练期间使用的技术,将多张图像合并为一张图像,以增加每个训练批次中对象和场景的多样性。这有助于提高模型对不同对象大小、宽高比和上下文的泛化能力。

该示例展示了手部关键点数据集中图像的多样性和复杂性,以及在训练过程中使用马赛克技术的好处。

引用和致谢

如果您在研究或开发工作中使用手部关键点数据集,请确认以下来源:

我们感谢以下来源为本数据集提供的图像:

我们还想感谢该数据集的创建者Rion Dsilva,他为视觉AI研究做出了巨大贡献。

常见问题

如何在Hand Keypoints数据集上训练YOLO11模型?

要在Hand Keypoints数据集上训练YOLO11模型,您可以使用Python或命令行界面(CLI)。以下是一个示例,用于训练一个YOLO11n-pose模型,训练100个epoch,图像大小为640:

示例

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n-pose.pt")  # 加载预训练模型(推荐用于训练)

# 训练模型
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# 从预训练的*.pt模型开始训练
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640

有关可用参数的完整列表,请参阅模型训练页面。

Hand Keypoints数据集的关键特点是什么?

Hand Keypoints数据集专为高级姿态估计任务设计,并包含以下几个关键特点:

  • 大型数据集:包含26,768张带有手部关键点标注的图像。
  • YOLO11兼容性:可直接用于YOLO11模型。
  • 21个关键点:详细的手部姿态表示,包括手腕和手指关节。

更多详情,请参阅Hand Keypoints数据集部分。

哪些应用可以从使用Hand Keypoints数据集中受益?

Hand Keypoints数据集可应用于多个领域,包括:

  • 手势识别:增强人机交互。
  • AR/VR控制:改善增强现实和虚拟现实中的用户体验。
  • 机器人操作:实现机器人手的精确控制。
  • 医疗保健:分析手部运动以进行医学诊断。
  • 动画:捕捉动作以实现逼真的动画。
  • 生物识别认证:增强安全系统。

更多信息,请参阅应用部分。

Hand Keypoints数据集的结构是怎样的?

Hand Keypoints数据集分为两个子集:

  1. 训练集:包含18,776张图像,用于训练姿态估计模型。
  2. 验证集:包含7,992张图像,用于模型训练期间的验证。

这种结构确保了全面的训练和验证过程。更多详情,请参阅数据集结构部分。

如何使用数据集YAML文件进行训练?

数据集配置定义在一个YAML文件中,该文件包括路径、类别和其他相关信息。hand-keypoints.yaml文件可以在hand-keypoints.yaml找到。

要使用此YAML文件进行训练,请在您的训练脚本或CLI命令中指定它,如上述训练示例所示。更多详情,请参阅数据集YAML部分。


📅 Created 17 days ago ✏️ Updated 8 days ago

Comments