Bộ dữ liệu Hand Keypoints#
Giới thiệu#
Bộ dữ liệu Hand Keypoints của Ultralytics chứa 26.768 hình ảnh bàn tay, mỗi hình ảnh được gán nhãn 21 keypoint, tạo bằng thư viện Google MediaPipe để đảm bảo độ chính xác và tính nhất quán cao. Bộ dữ liệu tương thích với các định dạng Ultralytics YOLO26 để huấn luyện các model ước tính pose.
Watch: Hand Keypoints Estimation with Ultralytics YOLO | Human Hand Pose Estimation Tutorial
Keypoint#

Mỗi bàn tay được gán nhãn với 21 keypoint như sau:
- Cổ tay
- Ngón cái (4 điểm)
- Ngón trỏ (4 điểm)
- Ngón giữa (4 điểm)
- Ngón áp út (4 điểm)
- Ngón út (4 điểm)
Cấu trúc bộ dữ liệu#
- Tổng số hình ảnh: 26.768 (18.776 train / 7.992 val).
- Số class: 1 (bàn tay).
- Keypoint: 21 trên mỗi bàn tay với các bộ ba
(x, y, visibility). - Dung lượng tải xuống: ~369 MB.
Để xây dựng bộ từ vựng gesture tùy chỉnh vượt ra ngoài các landmark bàn tay tổng quát, Ultralytics Platform hỗ trợ gán nhãn và huấn luyện dataset riêng của bạn ngay trên trình duyệt.
Ứng dụng#
Keypoint bàn tay hỗ trợ nhiều ứng dụng thực tế:
- Nhận dạng gesture: tương tác người-máy và các giao diện điều khiển không chạm.
- Điều khiển AR/VR: tương tác chính xác với các vật thể ảo.
- Điều khiển robot: điều khiển tinh vi các bàn tay robot.
- Chăm sóc sức khỏe: phân tích chuyển động bàn tay phục vụ chẩn đoán y khoa.
- Hoạt họa: ghi lại chuyển động để tạo chuyển động bàn tay chân thực.
- Xác thực sinh trắc học: các hệ thống bảo mật dựa trên hình học bàn tay.
YAML của bộ dữ liệu#
Một tệp YAML được sử dụng để định nghĩa cấu hình dataset. Tệp này chứa thông tin về đường dẫn, class và các thông tin liên quan khác của dataset. Đối với dataset Hand Keypoints, tệp hand-keypoints.yaml được duy trì tại 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.zipCách sử dụng#
Để huấn luyện model YOLO26n-pose trên dataset Hand Keypoints trong 100 epoch với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách đầy đủ các tham số khả dụng, hãy tham khảo trang Training của model.
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)Hình ảnh mẫu và annotation#
Dataset Hand Keypoints chứa nhiều hình ảnh đa dạng về bàn tay người được gán nhãn keypoint. Dưới đây là một số ví dụ về hình ảnh trong dataset cùng với các annotation tương ứng:

- Hình ảnh dạng mosaic: Hình ảnh này minh họa một batch train được tạo từ các hình ảnh dataset dạng mosaic. Mosaicing là một kỹ thuật được sử dụng trong quá trình train, kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng tính đa dạng của đối tượng và cảnh trong mỗi batch train. Điều này giúp cải thiện khả năng tổng quát hóa của model đối với các kích thước đối tượng, tỷ lệ khung hình và ngữ cảnh khác nhau.
Ví dụ này cho thấy sự đa dạng và phức tạp của các hình ảnh trong dataset Hand Keypoints, cũng như lợi ích của việc sử dụng kỹ thuật ghép mosaic trong quá trình huấn luyện.
Trích dẫn và ghi nhận đóng góp#
Nếu sử dụng dataset Hand Keypoints trong công trình nghiên cứu hoặc phát triển, vui lòng ghi nhận các nguồn sau:
Chúng tôi xin cảm ơn các nguồn sau đã cung cấp những hình ảnh được sử dụng trong dataset này:
Các hình ảnh được thu thập và sử dụng theo các giấy phép tương ứng do từng nền tảng cung cấp, đồng thời được phân phối theo Giấy phép Creative Commons Ghi công-Phi thương mại-Chia sẻ tương tự 4.0 Quốc tế.
Chúng tôi cũng xin ghi nhận tác giả của dataset này, Rion Dsilva, vì những đóng góp to lớn cho nghiên cứu Vision AI.
FAQ#
Nạp
yolo26n-pose.ptvà gọimodel.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)— xem Ví dụ huấn luyện ở trên để biết đầy đủ các đoạn code Python và CLI, cũng như trang Huấn luyện model để xem danh sách đầy đủ các tham số.Với 26.768 hình ảnh được gán nhãn và 21 keypoint trên mỗi bàn tay, được tạo thông qua Google MediaPipe, dataset Hand Keypoints cung cấp cho các model ước tính pose quy mô và độ chính xác annotation cần thiết cho các tác vụ ước tính pose nâng cao. Xem phần Keypoint để biết đầy đủ thông tin phân tách landmark.
Hand Keypoints hỗ trợ nhận dạng gesture, điều khiển AR/VR, điều khiển robot, phân tích chuyển động trong chăm sóc sức khỏe, hoạt họa và xác thực sinh trắc học — xem phần Ứng dụng để biết chi tiết về từng ứng dụng.
Dataset Hand Keypoints được chia thành hai tập con:
- Train: Chứa 18.776 hình ảnh để huấn luyện các model ước tính pose.
- Val: Chứa 7.992 hình ảnh để validation trong quá trình huấn luyện model.
Cấu trúc này đảm bảo quy trình huấn luyện và validation toàn diện. Để biết thêm chi tiết, hãy xem phần Cấu trúc Dataset.
Cấu hình dataset được định nghĩa trong một tệp YAML, bao gồm các đường dẫn, class và các thông tin liên quan khác. Có thể tìm thấy tệp
hand-keypoints.yamltại hand-keypoints.yaml.Để sử dụng tệp YAML này cho quá trình huấn luyện, hãy chỉ định tệp trong script huấn luyện hoặc lệnh CLI như minh họa trong ví dụ huấn luyện ở trên. Để biết thêm chi tiết, hãy tham khảo phần YAML của Dataset.



