Tập dữ liệu điểm chính bàn tay (Hand Keypoints)
Giới thiệu
Tập dữ liệu hand-keypoints chứa 26.768 hình ảnh bàn tay được chú thích với các điểm chính, giúp nó phù hợp để huấn luyện các model như Ultralytics YOLO cho các tác vụ ước tính tư thế. Các chú thích được tạo bằng thư viện Google MediaPipe, đảm bảo độ chính xác và tính nhất quán cao, đồng thời tập dữ liệu này tương thích với định dạng Ultralytics YOLO26.
Watch: Hand Keypoints Estimation with Ultralytics YOLO26 | Human Hand Pose Estimation Tutorial
Các điểm mốc bàn tay

Keypoints
Tập dữ liệu bao gồm các điểm chính để nhận diện bàn tay. Các điểm chính được chú thích 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)
Mỗi bàn tay có tổng cộng 21 điểm chính.
Các tính năng chính
- Tập dữ liệu lớn: 26.768 hình ảnh với các chú thích điểm chính bàn tay.
- Tương thích với YOLO26: Các nhãn được cung cấp theo định dạng điểm chính YOLO và sẵn sàng để sử dụng với các model YOLO26.
- 21 điểm chính: Biểu diễn tư thế bàn tay chi tiết bao gồm cổ tay và bốn điểm cho mỗi ngón tay.
Cấu trúc tập dữ liệu
Tập dữ liệu điểm chính bàn tay được chia thành hai tập con:
- Train: Tập con này chứa 18.776 hình ảnh từ tập dữ liệu điểm chính bàn tay, được chú thích để huấn luyện các model ước tính tư thế.
- Val: Tập con này chứa 7.992 hình ảnh có thể được sử dụng cho mục đích xác thực trong quá trình huấn luyện model.
Ứng dụng
Các điểm chính bàn tay có thể được sử dụng cho nhận diện cử chỉ, điều khiển AR/VR, thao tác robot và phân tích chuyển động bàn tay trong y tế. Chúng cũng có thể được ứng dụng trong hoạt hình để bắt chuyển động (motion capture) và các hệ thống xác thực sinh trắc học cho bảo mật. Việc theo dõi chi tiết vị trí ngón tay cho phép tương tác chính xác với các đối tượng ảo và giao diện điều khiển không chạm.
Dataset YAML
Một file YAML (Yet Another Markup Language) được sử dụng để định nghĩa cấu hình tập dữ liệu. Nó chứa thông tin về đường dẫn, các lớp và các thông tin liên quan khác của tập dữ liệu. Đối với tập dữ liệu Hand Keypoints, file hand-keypoints.yaml được lưu 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 tập dữ liệu 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. Để có danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Huấn luyện 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 và chú thích mẫu
Tập dữ liệu Hand keypoints chứa một tập hợp đa dạng các hình ảnh bàn tay người được chú thích với các điểm chính. Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu cùng với các chú thích tương ứng:

- Mosaiced Image: Hình ảnh này minh họa một batch huấn luyện bao gồm các hình ảnh tập dữ liệu được ghép lại (mosaic). Mosaicing là một kỹ thuật được sử dụng trong quá trình huấn luyện nhằm kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng sự đa dạng của các vật thể và cảnh quan trong mỗi batch huấn luyện. Điều này giúp cải thiện khả năng tổng quát hóa của mô hình đối với các kích thước, tỷ lệ khung hình và bối cảnh vật thể khác nhau.
Ví dụ này minh họa sự đa dạng và phức tạp của các hình ảnh trong tập dữ liệu Hand Keypoints cũng như lợi ích của việc sử dụng kỹ thuật ghép ảnh (mosaicing) trong quá trình huấn luyện.
Trích dẫn và Ghi nhận
Nếu bạn sử dụng tập dữ liệu hand-keypoints trong công việc nghiên cứu hoặc phát triển của mình, 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 hình ảnh được sử dụng trong tập dữ liệu 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 mỗi nền tảng cung cấp và được phân phối theo Giấy phép Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
Chúng tôi cũng muốn ghi nhận người tạo ra tập dữ liệu này, Rion Dsilva, vì đóng góp tuyệt vời của ông cho nghiên cứu AI thị giác.
Câu hỏi thường gặp (FAQ)
Làm thế nào để huấn luyện model YOLO26 trên tập dữ liệu Hand Keypoints?
Để huấn luyện model YOLO26 trên tập dữ liệu Hand Keypoints, bạn có thể sử dụng Python hoặc giao diện dòng lệnh (CLI). Dưới đây là ví dụ về việc huấn luyện model YOLO26n-pose trong 100 epoch với kích thước hình ảnh là 640:
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)Để có danh sách đầy đủ các đối số, hãy tham khảo trang Training của model.
Các tính năng chính của tập dữ liệu Hand Keypoints là gì?
Tập dữ liệu Hand Keypoints được thiết kế cho các tác vụ ước tính tư thế nâng cao và bao gồm một số tính năng chính:
- Tập dữ liệu lớn: Chứa 26.768 hình ảnh với các chú thích điểm chính bàn tay.
- Tương thích với YOLO26: Sẵn sàng để sử dụng với các model YOLO26.
- 21 điểm chính: Biểu diễn tư thế bàn tay chi tiết, bao gồm cổ tay và các khớp ngón tay.
Để biết thêm chi tiết, bạn có thể khám phá phần Tập dữ liệu Hand Keypoints.
Những ứng dụng nào có thể hưởng lợi từ việc sử dụng tập dữ liệu Hand Keypoints?
Tập dữ liệu Hand Keypoints có thể được áp dụng trong nhiều lĩnh vực, bao gồm:
- Nhận diện cử chỉ: Tăng cường tương tác giữa người và máy tính.
- Điều khiển AR/VR: Cải thiện trải nghiệm người dùng trong thực tế tăng cường và thực tế ảo.
- Thao tác robot: Cho phép điều khiển chính xác các cánh tay robot.
- Chăm sóc sức khỏe: Phân tích các chuyển động của bàn tay cho chẩn đoán y tế.
- Hoạt hình: Bắt chuyển động cho các hình ảnh động chân thực.
- Xác thực sinh trắc học: Tăng cường các hệ thống bảo mật.
Để biết thêm thông tin, hãy tham khảo phần Ứng dụng.
Tập dữ liệu Hand Keypoints được cấu trúc như thế nào?
Tập dữ liệu 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 tư thế.
- Val: Chứa 7.992 hình ảnh cho mục đích xác thực trong quá trình huấn luyện model.
Cấu trúc này đảm bảo quá trình huấn luyện và xác thực toàn diện. Để biết thêm chi tiết, xem phần Cấu trúc tập dữ liệu.
Làm thế nào để sử dụng file YAML của tập dữ liệu để huấn luyện?
Cấu hình tập dữ liệu được định nghĩa trong một file YAML, bao gồm các đường dẫn, lớp và các thông tin liên quan khác. File hand-keypoints.yaml có thể được tìm thấy tại hand-keypoints.yaml.
Để sử dụng file YAML này cho việc huấn luyện, hãy chỉ định nó trong tập lệnh huấn luyện hoặc lệnh CLI của bạn như ví dụ huấn luyện ở trên. Để biết thêm chi tiết, hãy tham khảo phần Dataset YAML.