手部关键点数据集#
简介#
Ultralytics 手部关键点数据集包含 26,768 张图像,每只手标注了 21 个关键点;这些标注由 Google MediaPipe 库生成,具有较高的准确度和一致性。该数据集兼容Ultralytics YOLO26 格式,可用于训练姿态估计模型。
观看: 使用 Ultralytics YOLO 进行手部关键点估计 | 人手姿态估计教程
关键点#

每只手均按如下方式标注 21 个关键点:
- 手腕
- 拇指(4 个点)
- 食指(4 个点)
- 中指(4 个点)
- 无名指(4 个点)
- 小指(4 个点)
数据集结构#
- 图像总数:26,768(18,776 张训练 / 7,992 张验证)。
- 类别:1 个(hand)。
- 关键点:每只手有 21 个关键点,采用
(x, y, visibility)三元组格式。 - 下载大小:约 ~369 MB。
如果你需要通用手部关键点之外的自定义手势词汇,Ultralytics Platform 可让你直接在浏览器中为自己的数据集进行标注和训练。
应用场景#
手部关键点支持多种实际应用:
- 手势识别:人机交互和非接触式控制界面。
- AR/VR 控制:与虚拟物体进行精准交互。
- 机器人操作:对机械手进行精细控制。
- 医疗保健:分析手部运动以辅助医疗诊断。
- 动画:通过动作捕捉实现逼真的手部运动。
- 生物特征认证:基于手部几何特征的安全系统。
数据集 YAML#
使用 YAML 文件定义数据集配置,其中包含数据集路径、类别和其他相关信息。对于手部关键点数据集,hand-keypoints.yaml 文件由 https://github.com/ultralytics/ultralytics/blob/main/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用法#
若要使用手部关键点数据集,以图像尺寸 640 训练 YOLO26n-pose 模型 100 个轮次,可以使用以下代码片段。可用参数的完整列表请参阅模型的训练页面。
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo26n-pose.pt") # 加载预训练模型(推荐用于训练)
# 训练模型
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)示例图像和标注#
手部关键点数据集包含各种带有人手关键点标注的图像。以下是数据集中的一些图像示例及其对应的标注:

- 马赛克图像:此图像展示了由数据集马赛克图像组成的训练批次。马赛克是一种训练时使用的技术,它将多张图像合并为一张图像,从而增加每个训练批次中目标和场景的多样性。这有助于提升模型对不同目标尺寸、长宽比和上下文的泛化能力。
该示例展示了手部关键点数据集中图像的多样性和复杂性,以及在训练过程中使用马赛克增强的优势。
引用与致谢#
如果你在研究或开发工作中使用手部关键点数据集,请注明以下来源:
我们感谢以下来源提供本数据集使用的图像:
这些图像是在各个平台所提供的相应许可下收集和使用的,并根据知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行分发。
我们还要感谢此数据集的创建者 Rion Dsilva,感谢他为视觉 AI 研究作出的重要贡献。
常见问题#
Hand Keypoints 支持手势识别、AR/VR 控制、机器人操作、医疗健康运动分析、动画制作和生物特征身份验证;各项应用的详情请参阅应用部分。
Hand Keypoints 数据集分为两个子集:
- 训练集:包含 18,776 张图像,用于训练姿势估计模型。
- 验证集:包含 7,992 张图像,用于模型训练期间的验证。
这种结构确保了全面的训练和验证流程。更多详情请参阅数据集结构部分。
数据集配置定义在 YAML 文件中,其中包含路径、类别和其他相关信息。你可以在 hand-keypoints.yaml 找到
hand-keypoints.yaml文件。如需在训练中使用此 YAML 文件,请按照上方训练示例所示,在训练脚本或 CLI 命令中指定该文件。更多详情请参阅数据集 YAML部分。



