跳至内容

手部关键点数据集

导言

手部关键点数据集包含 26,768 张标注了关键点的手部图像,适合用于训练Ultralytics YOLO 等模型,以完成姿势估计任务。注释是使用Google MediaPipe 库生成的,确保了高准确性和一致性,而且该数据集兼容以下格式 Ultralytics YOLO11格式。



观看: 手部关键点估算Ultralytics YOLO11 | 人类手部姿势估算教程

手部地标

手部地标

关键点

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

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

每手牌共有 21 个关键点。

主要功能

  • 大型数据集:26,768 幅带有手部关键点注释的图像。
  • YOLO11 兼容性:可与YOLO11 型号一起使用。
  • 21 个关键点:详细的手部姿势表示

数据集结构

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

  1. 训练该子集包含手部关键点数据集中的 18,776 张图像,这些图像已标注用于训练姿势估计模型。
  2. Val:该子集包含 7992 张图像,可在模型训练过程中用于验证。

应用

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

数据集 YAML

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

使用方法

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

列车示例

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

图片和注释示例

手部关键点数据集包含一组不同的图像,其中有标注了关键点的人手。下面是数据集中的一些图像示例及其相应的注释:

数据集样本图像

  • 镶嵌图像:该图像展示了由马赛克数据集图像组成的训练批次。马赛克是一种在训练过程中使用的技术,可将多幅图像合并为单幅图像,以增加每个训练批次中物体和场景的多样性。这有助于提高模型对不同物体尺寸、长宽比和环境的泛化能力。

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

引文和致谢

如果您在研究或开发工作中使用了手键点数据集,请注明以下来源:

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

这些图片是在各平台提供的相应许可下收集和使用的,并按照知识共享署名-非商业性-相同方式共享 4.0 国际许可协议发布。

我们还要感谢本数据集的创建者Rion Dsilva,感谢他为视觉人工智能研究做出的巨大贡献。

常见问题

如何在手部关键点数据集上训练YOLO11 模型?

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

示例

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

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

Hand Keypoints 数据集的主要特点是什么?

手部关键点数据集是专为高级姿势估计任务设计的,包含几个关键特征:

  • 大型数据集:包含 26,768 幅带有手工关键点注释的图像。
  • YOLO11 兼容性:可与YOLO11 型号一起使用。
  • 21 个关键点:详细的手部姿势显示,包括手腕和手指关节。

更多详情,请参阅 "手部关键点数据集"部分。

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

手部关键点数据集可应用于多个领域,包括

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

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

手工关键点数据集的结构是怎样的?

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

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

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

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

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

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

📅创建于 3 个月前 ✏️已更新 1 个月前

评论