1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nhận dạng cử chỉ tay trong thời gian thực

31 96 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Các ứng dụng để nhận dạng cử chỉ bao gồm điều khiển môi trường ảo, dịch ngôn ngữ ký hiệu, điều khiển robot và sáng tác nhạc. Đề tài này sẽ chia ra làm hai mục chính là nhận dạng cử chỉ tay và nhận biết ký hiệu bàn tay. Chúng em sẽ học được cách tạo Công cụ nhận dạng cử chỉ tay trong thời gian thực bằng cách sử dụng khung MediaPipe và Tensorflow trong OpenCV và Python trong dự án máy học về Nhận dạng cử chỉ tay này.

TRƯỜNG ĐẠI HỌC XÂY DỰNG KHOA: CÔNG NGHỆ THÔNG TIN  Môn : Đồ án Thị giác máy tính Đề tài: Nhận dạng cử tay thời gian thực Giảng viên hướng dẫn: Cô Thái Thị Nguyệt Nhóm sinh viên thực hiện: Nhóm Lớp : 64CS1 Hà Nội, Ngày 13/10/ 2022 of 31 Nội dung Lời mở đầu NỘI DUNG BÁO CÁO Kiến thức chung Machine Learning PipeLine Hand Landmark Model Các tham số API tùy chọn cấu hình Tùy chỉnh cho kiểu đầu Các phương pháp đánh giá mơ hình Confusion Matrix Precision and Recall F1-Score Đường cong ROC (Receiver operating characteristic) Dự định mô hình cài đặt: Phần Thực nghiệm 10 12 Thu thập liệu học tập: 12 Đào tạo mơ hình 13 Đánh giá mơ hình 16 Chuyển đổi mơ hình 17 Lời mở đầu Các ứng dụng để nhận dạng cử bao gồm điều khiển môi trường ảo, dịch ngôn ngữ ký hiệu, điều khiển robot sáng tác nhạc Đề tài chia làm hai mục nhận dạng cử tay nhận biết ký hiệu bàn tay Chúng em học cách tạo Công cụ nhận dạng cử tay thời gian thực cách sử dụng khung MediaPipe Tensorflow OpenCV Python dự án máy học Nhận dạng cử tay Chúng em xin chân thành cảm ơn! NỘI DUNG BÁO CÁO Kiến thức chung Khả nhận biết hình dạng chuyển động bàn tay thành phần quan trọng việc cải thiện trải nghiệm người dùng nhiều lĩnh vực tảng cơng nghệ Ví dụ: tạo sở để hiểu ngơn ngữ ký hiệu kiểm sốt cử tay, đồng thời cho phép phủ nội dung thông tin kỹ thuật số lên giới vật chất thực tế tăng cường Mặc dù đến với người cách tự nhiên, khả nhận biết bàn tay mạnh mẽ theo thời gian thực nhiệm vụ thị giác máy tính đầy thách thức, bàn tay thường tự che khuất che khuất (ví dụ: khớp ngón tay/lòng bàn tay lắc tay) thiếu mẫu có độ tương phản cao MediaPipe Hands giải pháp theo dõi ngón tay bàn tay có độ xác cao Nó sử dụng cơng nghệ máy học (ML) để suy 21 mốc 3D bàn tay từ khung hình Trong phương pháp tiên tiến chủ yếu dựa vào mơi trường máy tính để bàn mạnh mẽ để suy luận, phương pháp đạt hiệu suất thời gian thực điện thoại di động chí chia tỷ lệ cho nhiều tay Công nghệ cung cấp chức nhận biết bàn tay cho cộng đồng nghiên cứu phát triển rộng lớn dẫn đến xuất trường hợp sử dụng sáng tạo, kích thích ứng dụng đường nghiên cứu MediaPipe Hands suy khoảng 21 mốc bàn tay 3D bao gồm tọa độ x, y z khung tạo đầu mong muốn cách kết hợp hai mơ hình: mơ hình phát lịng bàn tay mơ hình địa hóa điểm bàn tay (hand keypoint localization model) Ban đầu, mô hình sử dụng với máy dị lần gọi Blaze Palm Máy dò hỗ trợ MediaPipe để giảm độ phức tạp thời gian việc phát lòng bàn tay dựa tập liệu lớn kích thước bàn tay hình ảnh đầu vào Mơ hình hoạt động tồn hình ảnh trả hộp giới hạn tập trung làm bật điểm chính, chẳng hạn lòng bàn tay nắm tay, để phát lòng bàn tay thay tập trung vào đối tượng khơng cần thiết Sau đó, mơ hình sử dụng đầu phát lòng bàn tay để phát key points bàn tay Điều tạo ba đầu sau: ● 21 điểm đốt ngón tay không gian 3D ● Hand flag hiển thị xác suất xuất bàn tay hình ảnh đầu vào ● Phân loại nhị phân tay trái tay phải Machine Learning PipeLine MediaPipe Hands sử dụng đường dẫn ML bao gồm nhiều mơ hình hoạt động nhau: Mơ hình phát lịng bàn tay hoạt động hình ảnh đầy đủ trả hộp giới hạn bàn tay định hướng Một mơ hình mốc bàn tay hoạt động vùng hình ảnh cắt xác định phát lòng bàn tay trả điểm 3D có độ xác cao Chiến lược tương tự chiến lược sử dụng giải pháp MediaPipe Face Mesh chúng tôi, sử dụng phát khuôn mặt với mơ hình mốc khn mặt Việc cung cấp hình ảnh bàn tay cắt xén xác cho mơ hình mốc bàn tay giúp giảm đáng kể nhu cầu tăng cường liệu (ví dụ: xoay, dịch chia tỷ lệ) thay vào đó, cho phép mạng dành phần lớn cơng suất cho độ xác dự đốn tọa độ Ngồi ra, quy trình chúng tơi, loại trồng tạo dựa mốc bàn tay xác định khung trước mơ hình mốc xác định diện bàn tay tính phát lịng bàn tay gọi để định vị lại bàn tay Đường ống triển khai dạng biểu đồ MediaPipe sử dụng biểu đồ theo dõi mốc tay từ mô-đun mốc tay hiển thị cách sử dụng biểu đồ trình kết xuất tay chuyên dụng Biểu đồ theo dõi mốc bàn tay bên sử dụng biểu đồ mốc bàn tay từ mô-đun biểu đồ phát lòng bàn tay từ mơ-đun phát lịng bàn tay Hand Landmark Model Sau phát lịng bàn tay tồn hình ảnh, mơ hình mốc bàn tay thực định vị xác điểm 21 tọa độ khớp ngón tay 3D bên vùng bàn tay phát thơng qua hồi quy, dự đốn tọa độ trực tiếp Mơ hình học cách thể tư bàn tay nội suy quán mạnh mẽ bàn tay nhìn thấy phần bị che phủ Để có liệu thực mặt đất, mơ hình thích thủ cơng ~30K hình ảnh giới thực với 21 tọa độ 3D, minh họa bên (mơ hình lấy giá trị Z từ đồ độ sâu hình ảnh, giá trị tồn tọa độ tương ứng) Để bao quát tốt tư bàn tay có cung cấp thêm giám sát chất hình học bàn tay, mơ hình kết xuất tổng hợp chất lượng cao nhiều khác ánh xạ tới tọa độ 3D tương ứng Các tham số API tùy chọn cấu hình STATIC_IMAGE_MODE Nếu đặt thành false, giải pháp xử lý hình ảnh đầu vào dạng luồng video Nó cố gắng phát bàn tay hình ảnh đầu vào phát thành công tiếp tục địa hóa mốc bàn tay Trong hình ảnh tiếp theo, tất max_num_hands phát mốc bàn tay tương ứng địa hóa, theo dõi mốc mà không gọi phát khác dấu vết bàn tay Điều làm giảm độ trễ lý tưởng để xử lý khung hình video Nếu đặt thành true, tính phát bàn tay chạy hình ảnh đầu vào, lý tưởng để xử lý loạt hình ảnh tĩnh, khơng liên quan Mặc định sai MAX_NUM_HANDS Số lượng tay tối đa để phát Mặc định MODEL_COMPLEXITY Độ phức tạp mơ hình mốc tay: Độ xác mốc độ trễ suy luận thường tăng theo độ phức tạp mơ hình Mặc định MIN_DETECTION_CONFIDENCE Giá trị độ tin cậy tối thiểu ([0,0, 1,0]) từ mơ hình phát tay để phát coi thành công Mặc định 0,5 MIN_TRACKING_CONFIDENCE: Giá trị độ tin cậy tối thiểu ([0,0, 1,0]) từ mơ hình theo dõi mốc để mốc tay coi theo dõi thành công khơng, tính phát tay gọi tự động hình ảnh đầu vào Việc đặt giá trị thành giá trị cao làm tăng tính mạnh mẽ giải pháp, phải trả giá độ trễ cao Bị bỏ qua static_image_mode true, tính phát tay chạy hình ảnh Mặc định 0,5 Tùy chỉnh cho kiểu đầu MULTI_HAND_LANDMARKS Bộ sưu tập bàn tay phát hiện/theo dõi, bàn tay biểu diễn dạng danh sách 21 mốc bàn tay mốc bao gồm x, y z x y chuẩn hóa thành [0,0, 1,0] theo chiều rộng chiều cao hình ảnh tương ứng z đại diện cho độ sâu mốc với độ sâu cổ tay gốc giá trị nhỏ mốc gần máy ảnh Độ lớn z sử dụng tỷ lệ gần giống x MULTI_HAND_WORLD_LANDMARKS Bộ sưu tập bàn tay phát hiện/theo dõi, bàn tay thể dạng danh sách 21 mốc bàn tay tọa độ giới Mỗi mốc bao gồm x, y z: tọa độ 3D giới thực tính mét với gốc tâm hình học gần bàn tay MULTI_HANDEDNESS Tập hợp tay thuận tay phát hiện/theo dõi (tức tay trái hay tay phải) Mỗi bàn tay bao gồm nhãn điểm số nhãn chuỗi giá trị "Trái" "Phải" điểm xác suất ước tính thuận tay dự đốn ln lớn 0,5 (và thuận tay ngược lại có xác suất ước tính điểm) Các phương pháp đánh giá mơ hình Confusion Matrix Một phương pháp tốt để đánh giá performance mơ hình phân lớp confusion matrix (ma trận nhầm lẫn) Ý tưởng đếm số lần phần tử thuộc class A bị phân loại nhầm vào class B Để thực tính tốn ma trận nhầm lẫn, bạn phải có kết dự đốn so sánh với nhãn thật Nghĩa phải dự đốn tập test, sau dúng kết dự đoán để so sánh với nhãn ban đầu Ma trận nhầm lẫn cho nhiều thông tin chất lượng phân lớp ● ● ● ● TP (True Positive): Số lượng dự đoán xác TN (True Negative): Số lương dự đốn xác cách gián tiếp FP (False Positive - Type Error): Số lượng dự đoán sai lệch FN (False Negative - Type Error): Số lượng dự đoán sai lệch cách gián tiếp Precision and Recall Precision: Trong tất dự đoán Positive đưa ra, dự đốn xác? Chỉ số tính theo cơng thức precision = TP / (TP + FP) Recall: Trong tất trường hợp Positive, trường hợp dự đoán xác? Chỉ số tính theo cơng thức: recall = TP / (TP + FN) F1-Score số F1-score kết hợp số Precision recall Một mơ hình có số F-score cao số Precision Recall để cao Một số thấp kéo điểm F-score xuống Trường hợp xấu hai số Precison Recall kéo điểm F-score Trường hợp tốt điểm số đạt giá trị 1, điểm F-score F1-Score = 2 * (Precision * Recall) / (Precision + Recall) Đường cong ROC (Receiver operating characteristic) Đường đặc tính hoạt động máy thu, đường cong ROC, biểu đồ đồ họa minh họa khả chẩn đoán hệ thống phân loại nhị phân ngưỡng phân biệt khác Phương pháp ban đầu phát triển cho nhà khai thác máy thu radar quân năm 1941, dẫn đến tên gọi Đường cong ROC tạo cách vẽ biểu đồ tỷ lệ dương tính thực (TPR) so với tỷ lệ dương tính giả (FPR) cài đặt ngưỡng khác Tỷ lệ dương tính thực cịn gọi độ nhạy, độ thu hồi xác suất phát Tỷ lệ dương tính giả cịn gọi xác suất báo động giả tính độ đặc hiệu Nó coi biểu đồ lũy thừa hàm Sai số loại I quy tắc định Do đó, đường cong ROC độ nhạy độ thu hồi hàm giảm giá trị Nói chung, biết phân bố xác suất cho phát cảnh báo sai, đường cong ROC tạo cách vẽ biểu đồ hàm phân phối tích lũy (khu vực phân phối xác suất từ − ∞ đến ngưỡng phân biệt) phát xác suất trục y so với hàm phân phối tích lũy xác suất báo động giả trục x Phân tích ROC cung cấp cơng cụ để chọn mơ hình tối ưu loại bỏ mơ hình mức tối ưu cách độc lập với (và trước định) bối cảnh chi phí phân phối lớp Phân tích ROC có liên quan trực tiếp tự nhiên đến phân tích chi phí / lợi ích việc định chẩn đốn ROC cịn gọi đường đặc tính hoạt động tương đối, so sánh hai đặc tính hoạt động (TPR FPR) tiêu chí thay đổi - Tính chất: ● Đường cong dọc theo biên trái dọc theo biên phía khơng gian ROC, chứng tỏ kết kiểm tra xác ● Đường cong tiến tới thành đường chéo 45 độ khơng gian ROC, độ xác kiểm tra Các số sử dụng ROC TPR(True Positive Rate/Sentivity/Recall): Biểu diễn tỷ lệ phân loại xác mẫu dương tính tất mẫu dương tính, tính theo cơng thức: TPR / Recall/Sensiiviy = 𝑇𝑃 𝑇𝑃+𝐹𝑁 TPR cao mẫu dương tính phân loại xác - Specificity: Biểu diễn tỷ lệ phân loại xác mẫu âm tính tất mâu âm tính, tính theo cơng thức: Specificity = 𝑇𝑁 𝑇𝑁+𝐹𝑃 - FPR(False Positive Rate/Fall-out): Biểu diễn tỷ lệ gắn nhãn sai mẫu âm tính thành dương tính tất mẫu âm tính, tính theo cơng thức: FPR = – Specificity = 𝐹𝑃 𝑇𝑁+𝐹𝑃 Có thể thấy Specificity tỷ lệ nghịch với FPR FPR cao Specificity giảm số lượng mẫu âm tính bị gắn nhãn sai lớn - Mối quan hệ Sentivity – Specificity, TPR – FPR o Sentivity Specificity số tỷ lệ nghịch với Khi số Sentivity tăng số Specificity giảm ngược lại o Khi ta tăng ngưỡng phân loại, số lượng mẫu gắn nhãn âm tính tăng lên, từ số Specificity tăng số Sentivity giảm Điều ngược lại o Vì Sentivity/TFP FPR tỉ lệ nghịch với Specificity nên TFP tỷ lệ thuận với FPR Dự định mơ hình cài đặt: Các bước giải toán: - Khởi tạo mơ hình - Đọc khung hình từ webcam - Phát điểm bàn tay 16 17 18 19 20 21 22 23 24 25 26 27 28 Đánh giá mơ hình Đánh giá độ xác: Đánh giá qua ma trận nhầm lẫn: Chuyển đổi mơ hình 29 Chuyển đổi mơ hình sang dạng Tensorflow-Lite dành riêng cho việc suy luận để bổ trợ cho việc nhận diện ký hiệu bàn tay qua camera Tài liệu tham khảo: ● Ý tưởng hướng giải toán https://techvidvan.com/tutorials/hand-gesture-recognition-tensorflow-opencv/ ● Document https://google.github.io/mediapipe/solutions/hands.html ● Fix bug and some usual syntax https://stackoverflow.com/ 30

Ngày đăng: 08/09/2023, 11:46

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN