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

Link to this section 手部地标 #

Link to this section 关键点 #

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

  • 拇指(4 个点)
  • 食指(4 个点)
  • 中指(4 个点)
  • 无名指(4 个点)
  • 小指(4 个点)
  • 每只手总共有 21 个关键点。

    Link to this section 主要特性 #

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

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

  • 训练集 (Train) :该子集包含来自手部关键点数据集的 18,776 张图像,用于训练姿态估计模型。
  • 验证集 (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:
        - 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 引用与致谢 #

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

    引用

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

  • 11k Hands
  • 2000 Hand Gestures
  • Gesture Recognition
  • 这些图像是在各平台提供的相应许可下收集和使用的,并根据 知识共享署名-非商业性使用-相同方式共享 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 手部关键点数据集是如何构建的? #

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

  • 训练集 (Train) :包含 18,776 张用于训练姿态估计模型的图像。
  •