Bộ dữ liệu Keypoint tay
Giới thiệu
Bộ dữ liệu hand-keypoints chứa 26.768 hình ảnh bàn tay được chú thích bằng các keypoint, khiến nó phù hợp để huấn luyện các mô hình 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 bộ dữ liệu tương thích với các định dạng Ultralytics YOLO11.
Xem: Ước tính Keypoint tay với Ultralytics YOLO11 | Hướng dẫn Ước tính Tư thế Tay Người
Điểm mốc tay
Điểm then chốt
Bộ dữ liệu bao gồm các điểm chính để phát hiện bàn tay. Các điểm chính được chú thích như sau:
- Cổ tay
- Ngón tay cái (4 điểm)
- Ngón trỏ (4 điểm)
- Ngón giữa (4 điểm)
- Ngón đeo nhẫn (4 điểm)
- Ngón tay út (4 điểm)
Mỗi bàn tay có tổng cộng 21 điểm đặc trưng.
Các tính năng chính
- Tập Dữ Liệu Lớn: 26,768 hình ảnh với chú thích điểm đặc trưng trên bàn tay.
- Khả năng tương thích YOLO11: Sẵn sàng để sử dụng với các mô hình YOLO11.
- 21 Điểm chính: Mô tả chi tiết dáng bàn tay.
Cấu trúc bộ dữ liệu
Bộ dữ liệu điểm chính của bàn tay được chia thành hai tập hợp con:
- Train: Tập hợp con này chứa 18.776 hình ảnh từ bộ dữ liệu điểm chính của bàn tay, được chú thích để huấn luyện các mô hình ước tính tư thế.
- Val: Tập hợ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 mô hình.
Các ứng dụng
Các điểm chính trên bàn tay có thể được sử dụng để nhận dạng cử chỉ, điều khiển AR/VR, điều khiển bằng robot và phân tích chuyển động tay trong lĩnh vực chăm sóc sức khỏe. Chúng cũng có thể được áp dụng trong hoạt hình để ghi lại chuyển động và các hệ thống xác thực sinh trắc học để 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 cần chạm.
YAML bộ dữ liệu
Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình bộ 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 bộ dữ liệu. Trong trường hợp bộ dữ liệu Hand Keypoints, hand-keypoints.yaml
tệp được duy trì tại 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
# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/hand-keypoints.zip
Cách sử dụng
Để huấn luyện mô hình YOLO11n-pose trên tập dữ liệu Hand Keypoints trong 100 epochs với kích thước ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Training (Huấn luyện) của mô hình.
Ví dụ huấn luyện
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640
Ảnh và Chú thích mẫu
Bộ dữ liệu Điểm chính của Bàn tay chứa một tập hợp đa dạng các hình ảnh với bàn tay người được chú thích bằng các điểm chính. Dưới đây là một số ví dụ về hình ảnh từ bộ dữ liệu, cùng với các chú thích tương ứng của chúng:
- Hình ảnh Mosaiced: Hình ảnh này minh họa một lô huấn luyện bao gồm các hình ảnh bộ dữ liệu được mosaiced. Mosaicing là một kỹ thuật được sử dụng trong quá trình huấn luyện, 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 đối tượng và cảnh trong mỗi lô 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à ngữ cảnh khác nhau của đối tượng.
Ví dụ này thể hiện sự đa dạng và phức tạp của hình ảnh trong bộ 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à Lời cảm ơn
Nếu bạn sử dụng bộ 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 đây đã cung cấp hình ảnh được sử dụng trong bộ dữ liệu này:
Các hình ảnh được thu thập và sử dụng theo giấy phép tương ứng được cung cấp bởi mỗi nền tảng và được phân phối theo Giấy phép Quốc tế Creative Commons Ghi công-Phi thương mại-Chia sẻ tương tự 4.0.
Chúng tôi cũng xin ghi nhận công của Rion Dsilva, người đã tạo ra bộ dữ liệu này, vì những đóng góp to lớn của anh ấy cho nghiên cứu về Trí tuệ Nhân tạo trong lĩnh vực Thị giác.
Câu hỏi thường gặp
Làm cách nào để huấn luyện mô hình YOLO11 trên bộ dữ liệu Hand Keypoints?
Để huấn luyện một mô hình YOLO11 trên bộ dữ liệu Điểm chính của Bàn tay, bạn có thể sử dụng python hoặc giao diện dòng lệnh (CLI). Dưới đây là một ví dụ về huấn luyện mô hình YOLO11n-pose trong 100 epochs với kích thước ảnh là 640:
Ví dụ
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-pose.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="hand-keypoints.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo pose train data=hand-keypoints.yaml model=yolo11n-pose.pt epochs=100 imgsz=640
Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Huấn luyện của mô hình.
Các tính năng chính của bộ dữ liệu Hand Keypoints là gì?
Bộ 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 chú thích điểm đặc trưng trên bàn tay.
- Khả năng tương thích YOLO11: Sẵn sàng để sử dụng với các mô hình YOLO11.
- 21 Điểm chính: Mô tả chi tiết dáng bàn tay, bao gồm cổ tay và các khớp ngón tay.
Để biết thêm chi tiết, bạn có thể xem phần Bộ dữ liệu Điểm chính của Bàn tay.
Những ứng dụng nào có thể hưởng lợi từ việc sử dụng bộ dữ liệu Điểm chính của Bàn tay?
Bộ dữ liệu Điểm chính của Bàn tay có thể được áp dụng trong nhiều lĩnh vực khác nhau, bao gồm:
- Nhận dạng 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 bằng Robot: Cho phép kiểm soát chính xác các bàn tay robot.
- Chăm sóc sức khỏe: Phân tích cử động tay cho chẩn đoán y tế.
- Hoạt hình: Ghi lại chuyển động cho hoạt ảnh chân thực.
- Xác thực sinh trắc học: Tăng cường hệ thống bảo mật.
Để biết thêm thông tin, hãy tham khảo phần Ứng dụng.
Cấu trúc của tập dữ liệu Hand Keypoints như thế nào?
Bộ dữ liệu Điểm chính của Bàn tay được chia thành hai tập hợp con:
- Train: Chứa 18.776 hình ảnh để huấn luyện các mô hình ướ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 mô hình.
Cấu trúc này đảm bảo một quy trình huấn luyện và xác thực toàn diện. Để biết thêm chi tiết, hãy xem phần Cấu trúc Bộ dữ liệu.
Làm cách nào để sử dụng tệp YAML bộ dữ liệu để huấn luyện?
Cấu hình bộ dữ liệu được xác định trong tệp YAML, bao gồm đường dẫn, lớp và thông tin liên quan khác. hand-keypoints.yaml
tệp có thể được tìm thấy tại hand-keypoints.yaml.
Để sử dụng tệp YAML này cho quá trình huấn luyện, hãy chỉ định nó trong tập lệnh huấn luyện hoặc lệnh CLI như được hiển thị trong ví dụ huấn luyện ở trên. Để biết thêm chi tiết, hãy tham khảo phần Dataset YAML.