Meet YOLO26: next-gen vision AI.

Link to this section手部关键点数据集#

Link to this section简介#

手部关键点数据集包含 26,768 张标注了关键点的手部图像,非常适合训练 Ultralytics YOLO 等模型来执行姿态估计任务。这些标注是使用 Google MediaPipe 库生成的,确保了高 准确性 和一致性,且该数据集与 Ultralytics YOLO26 格式兼容。



Watch: Hand Keypoints Estimation with Ultralytics YOLO26 | Human Hand Pose Estimation Tutorial

Link to this section手部地标#

包含 21 个点的手部关键点地标图

Link to this section关键点#

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

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

每只手总共有 21 个关键点。

Link to this section主要特性#

  • 大型数据集:包含 26,768 张带有手部关键点标注的图像。
  • YOLO26 兼容性:标签采用 YOLO 关键点格式,可直接用于 YOLO26 模型。
  • 21 个关键点:详细的手部姿态表示,涵盖手腕和每根手指的四个点。

Link to this section数据集结构#

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

  1. 训练集 (Train):该子集包含来自手部关键点数据集的 18,776 张图像,用于训练姿态估计模型。
  2. 验证集 (Val):该子集包含 7,992 张图像,可在模型训练期间用于验证。

Link to this section应用#

手部关键点可用于手势识别AR/VR 控制、机器人操作以及医疗保健领域的手部动作分析。它们还可应用于动画动作捕捉和安防领域的生物特征认证系统。对手指位置的详细追踪,使得与虚拟对象的精确交互及非接触式控制界面成为可能。

Link to this section数据集 YAML#

YAML(Yet Another Markup Language)文件用于定义数据集配置。它包含了关于数据集路径、类以及其他相关信息。对于手部关键点数据集,hand-keypoints.yaml 文件托管在 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

# Keypoint names per class
kpt_names:
  0:
    - wrist
    - thumb_cmc
    - thumb_mcp
    - thumb_ip
    - thumb_tip
    - index_mcp
    - index_pip
    - index_dip
    - index_tip
    - middle_mcp
    - middle_pip
    - middle_dip
    - middle_tip
    - ring_mcp
    - ring_pip
    - ring_dip
    - ring_tip
    - pinky_mcp
    - pinky_pip
    - pinky_dip
    - pinky_tip

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/hand-keypoints.zip

Link to this section用法#

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

训练示例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

Link to this section样本图像和标注#

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

手部关键点姿态估计数据集样本

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

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

Link to this section引用与致谢#

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

引用

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

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

我们还要感谢该数据集的创建者 Rion Dsilva,感谢他对视觉 AI 研究的巨大贡献。

Link to this section常见问题解答#

Link to this section如何训练 YOLO26 模型处理手部关键点数据集?#

要训练 YOLO26 模型处理手部关键点数据集,你可以使用 Python 或命令行界面 (CLI)。这是以 640 的图像尺寸训练 YOLO26n-pose 模型 100 个 epoch 的示例:

示例
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-pose.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)

有关可用参数的完整列表,请参考模型 Training 页面。

Link to this section手部关键点数据集的主要功能是什么?#

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

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

有关更多详细信息,你可以探索 手部关键点数据集 部分。

Link to this section哪些应用程序可以从使用手部关键点数据集中获益?#

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

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

有关更多信息,请参考 应用 部分。

Link to this section手部关键点数据集是如何构建的?#

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

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

这种结构确保了全面且有效的训练和验证过程。有关更多详细信息,请参见 数据集结构 部分。

Link to this section我该如何使用数据集 YAML 文件进行训练?#

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

若要使用此 YAML 文件进行训练,请如上方的训练示例所示,在你的训练脚本或 CLI 命令中指定它。有关更多详细信息,请参阅 数据集 YAML 部分。

评论