Hướng dẫn phát hiện điểm mốc trên tay

Nhiệm vụ MediaPipe Hand chunger cho phép bạn phát hiện các điểm mốc của bàn tay trong một hình ảnh. Bạn có thể dùng nhiệm vụ này để xác định các điểm chính của kim đồng hồ và hiển thị các hiệu ứng hình ảnh trên tay. Nhiệm vụ này hoạt động trên dữ liệu hình ảnh với mô hình học máy (ML) dưới dạng dữ liệu tĩnh hoặc luồng liên tục, đồng thời cho ra các mốc kim trong toạ độ hình ảnh, mốc kim theo toạ độ và tay thuận(tay trái/phải) của nhiều kim được phát hiện.

Hãy dùng thử!

Bắt đầu

Hãy bắt đầu sử dụng tác vụ này bằng cách làm theo một trong những hướng dẫn triển khai sau cho nền tảng mục tiêu của bạn. Các hướng dẫn dành riêng cho nền tảng này sẽ hướng dẫn bạn cách triển khai cơ bản của tác vụ này, bao gồm cả mô hình được đề xuất và mã ví dụ với các lựa chọn cấu hình được đề xuất:

Thông tin chi tiết về việc cần làm

Phần này mô tả các tính năng, dữ liệu đầu vào, đầu ra và tuỳ chọn cấu hình của tác vụ này.

Tính năng

  • Xử lý hình ảnh đầu vào – Xử lý bao gồm việc xoay hình ảnh, đổi kích thước, chuẩn hoá và chuyển đổi không gian màu.
  • Ngưỡng điểm số – Lọc kết quả dựa trên điểm dự đoán.
Dữ liệu đầu vào của việc cần làm Kết quả đầu ra của nhiệm vụ
Trình mốc đánh dấu tay chấp nhận dữ liệu đầu vào của một trong các loại dữ liệu sau:
  • Hình ảnh tĩnh
  • Khung video đã được giải mã
  • Trang video trực tiếp
Trình mốc đánh dấu tay cho ra các kết quả sau:
  • Vẫy tay của những bàn tay đã phát hiện
  • Mốc quan trọng về bàn tay được phát hiện trong toạ độ hình ảnh
  • Địa danh có bàn tay được phát hiện trong toạ độ thế giới

Lựa chọn về cấu hình

Tác vụ này có các chế độ cấu hình sau:

Tên lựa chọn Nội dung mô tả Khoảng giá trị Giá trị mặc định
running_mode Đặt chế độ chạy cho tác vụ. Có 3 chế độ:

IMAGE: Chế độ nhập một hình ảnh.

VIDEO: Chế độ khung hình đã giải mã của video.

LIVE_STREAM: Chế độ phát trực tiếp dữ liệu đầu vào, chẳng hạn như từ máy quay. Ở chế độ này, bạn phải gọi resultsListener để thiết lập trình nghe nhằm nhận kết quả không đồng bộ.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
num_hands Số lượng tay tối đa mà trình phát hiện mốc Tay phát hiện được. Any integer > 0 1
min_hand_detection_confidence Điểm số tin cậy tối thiểu để tính năng phát hiện tay được coi là thành công trong mô hình phát hiện lòng bàn tay. 0.0 - 1.0 0.5
min_hand_presence_confidence Điểm số tin cậy tối thiểu cho điểm số về sự hiện diện của tay trong mô hình phát hiện điểm mốc kim loại. Ở chế độ Video và chế độ Phát trực tiếp, nếu điểm số tin cậy của sự hiện diện kim đồng hồ từ mô hình điểm mốc kim loại thấp hơn ngưỡng này, thì Tay mốc sẽ kích hoạt mô hình phát hiện lòng bàn tay. Nếu không, thuật toán theo dõi kim nhẹ sẽ xác định vị trí của(các) kim để phát hiện điểm mốc tiếp theo. 0.0 - 1.0 0.5
min_tracking_confidence Điểm số tin cậy tối thiểu để theo dõi tay được coi là thành công. Đây là ngưỡng IoU hộp giới hạn giữa các kim trong khung hiện tại và khung cuối cùng. Ở chế độ Video và chế độ Phát trực tiếp của Cổng đánh dấu tay, nếu theo dõi không thành công, Tay Cột mốc sẽ kích hoạt tính năng phát hiện tay. Nếu không, tính năng này sẽ bỏ qua tính năng phát hiện tay. 0.0 - 1.0 0.5
result_callback Thiết lập trình nghe kết quả để nhận kết quả phát hiện một cách không đồng bộ khi điểm mốc kim đồng hồ đang ở chế độ phát trực tiếp. Chỉ áp dụng khi chế độ chạy được đặt thành LIVE_STREAM Không áp dụng Không áp dụng

Mô hình

Tay Cột mốc sử dụng một gói mô hình có hai mô hình đóng gói: mô hình phát hiện lòng bàn tay và mô hình phát hiện địa danh trên bàn tay. Bạn cần có một gói mô hình chứa cả hai mô hình này để chạy tác vụ này.

Tên mẫu thiết bị Hình dạng dữ liệu đầu vào Loại lượng tử hoá Thẻ mô hình Phiên bản
HandLandmarker (đầy đủ) 192 x 192, 224 x 224 số thực 16 thông tin Mới nhất

Gói mô hình điểm mốc bàn tay phát hiện bản địa hoá điểm chính của 21 toạ độ khớp tay trong các vùng bàn tay đã phát hiện. Mô hình được huấn luyện về khoảng 30 nghìn hình ảnh thực tế, cũng như một số mô hình bàn tay tổng hợp kết xuất được đặt trên nhiều loại nền.

Gói mô hình điểm mốc kim đồng hồ chứa mô hình phát hiện lòng bàn tay và mô hình phát hiện điểm mốc trên tay. Mô hình phát hiện lòng bàn tay xác định tay trong hình ảnh đầu vào, còn mô hình phát hiện điểm mốc trên bàn tay xác định các dấu vết bàn tay cụ thể trên hình ảnh bàn tay bị cắt do mô hình phát hiện lòng bàn tay xác định.

Vì việc chạy mô hình phát hiện lòng bàn tay tốn nhiều thời gian, nên khi ở chế độ chạy video hoặc phát trực tiếp, Tay Cột mốc sẽ sử dụng hộp giới hạn do mô hình điểm đánh dấu kim đồng xác định trong một khung hình để bản địa hoá vùng tay cho các khung hình tiếp theo. Tay mốc chỉ kích hoạt lại mô hình phát hiện lòng bàn tay nếu mô hình đánh dấu tay không còn xác định sự hiện diện của bàn tay hoặc không theo dõi được tay trong khung hình. Điều này giúp làm giảm số lần Hand Returner kích hoạt mô hình phát hiện lòng bàn tay.

Điểm chuẩn nhiệm vụ

Dưới đây là các điểm chuẩn tác vụ cho toàn bộ quy trình dựa trên các mô hình được huấn luyện trước ở trên. Kết quả về độ trễ là độ trễ trung bình trên Pixel 6 khi sử dụng CPU / GPU.

Tên mô hình Độ trễ của CPU Độ trễ của GPU
tay đánh dấu (đầy đủ) 17,12 mili giây 12,27 mili giây