Nghiên cứu và phát triển ứng dụng nhận dạng hoạt động bàn tay sử dụng MediaPipe Hands trên Webcam máy tính xách tay

MỤC LỤC

NHẬN DẠNG HOẠT ĐỘNG BÀN TAY SỬ DỤNG WEBCAM LAPTOP

    Mediapipe Hands kết hợp hai mô hình (model) hoạt động phụ thuộc vào với nhau: Mô hình Palm Detection Model (phát hiện lòng bàn tay) để tìm vị trí của bàn tay và một mô hình Hand Landmark Model (mốc bàn tay) để định vị chính xác 21 tọa độ khớp ngón tay từ vị trí tìm được ở Palm Detection [44]. Mô hình này hoạt động trên toàn bộ hình ảnh và trả về một hộp giới hạn tập trung làm nổi bật các điểm chính, chẳng hạn như lòng bàn tay và nắm tay, để phát hiện lòng bàn tay thay vì tập trung vào các đối tượng không cần thiết. Sau khi phát hiện lòng bàn tay trên toàn bộ hình ảnh, mô hình mốc bàn tay tiếp theo thực hiện định vị chính xác điểm chính của 21 tọa độ khớp tay 3D bên trong các vùng bàn tay được phát hiện thông qua hồi quy, đó là dự đoán tọa độ trực tiếp.

    Để có thể ước tính chính xác được 21 điểm mốc bàn tay này, các nhà phát triển đã phải đánh dấu thủ công 30.000 hình ảnh trong thế giới thực với tọa độ 3D bằng cách sử dụng bản đồ độ sâu hình ảnh. Để bao quát tốt hơn các tư thế bàn tay có thể có và cung cấp thêm sự giám sát về bản chất của hình ảnh bàn tay, mô hình cũng kết xuất tổng hợp chất lượng cao trên nhiều nền khác nhau và ánh xạ nó tới các tọa độ 3D tương ứng. Vì vậy, trong loại điểm dữ liệu này, chức năng của SVM là tìm biên độ tối đa như được thực hiện với các tập dữ liệu trước, cùng với đó nó sẽ thêm một hình phạt mỗi khi một điểm vượt qua biên.

    – Lề cứng (Hard Margin): Siêu phẳng lề tối đa hoặc siêu phẳng lề cứng là một siêu phẳng giúp phân tách chính xác các điểm dữ liệu của các danh mục khác nhau mà không có bất kỳ phân loại sai nào. – Kernel: Kernel là hàm toán học, được sử dụng trong SVM để ánh xạ các điểm dữ liệu đầu vào ban đầu vào các không gian đặc trưng nhiều chiều, do đó, có thể dễ dàng tìm ra siêu phẳng ngay cả khi các điểm dữ liệu không thể phân tách tuyến tính trong đầu vào ban đầu không gian. Random forest (Rừng ngẫu nhiên) là một phương pháp thống kê mô hình hóa bằng máy (machine learning statis-tic) dùng để phục vụ các mục đích phân loại, tính hồi quy và các nhiệm vụ khác bằng cách xây dựng nhiều cây quyết định (Decision tree) [2].

    KHOANH VÙNG VÀ ƯỚC LƯỢNG KHUNG XƯƠNG BÀN TAY Mediapipe Hands có đầu ra là một mô hình skeleton (khung xương) của bàn tay, gồm vị trí của các mốc trên bàn tay và có thể nối với nhau thành một khung bàn tay hoàn chỉnh. Nếu độ tin cậy nhỏ hơn giá trị đối số này thì trình phát hiện lại được gọi trong khung hình / hình ảnh tiếp theo, do đó, việc tăng giá trị của nó sẽ làm tăng độ chắc chắn, nhưng cũng làm tăng độ trễ. HUẤN LUYỆN MÔ HÌNH NHẬN DẠNG HOẠT ĐỘNG BÀN TAY Sau khi đã khoanh vùng, ước lượng các khớp bàn tay và thu được thông tin về vị trí tọa độ các điểm chính trên bàn tay, cần sử dụng các thông tin đó để huấn luyện mô hình nhận dạng hoạt động bàn tay.

    Hiểu đơn giản về phương pháp như sau: cho một tập các mẫu huấn luyện, với mỗi mẫu được gắn vào một nhãn, quá trình huấn luyện mô hình nhận dạng sẽ xây dựng một mô hình cho phép dự đoán một tập dữ diệu khác thuộc về nhãn nào, tức phân loại tập dữ liệu đó thuộc vào lớp nào. Cần phải nhận thấy rằng cả SVM và Random Forest được sử dụng đều có mục đích là phân loại dữ liệu, muốn sử dụng được cần phải có dữ liệu, dữ liệu đối với các hoạt động bàn tay cần nhận dạng là tọa độ vị trí của khớp ngón tay của hoạt động đó. Sau đó cần tách biến không phụ thuộc (independent variable) và biến phụ thuộc (dependent variable) từ tập dữ liệu (dataset), tạo 2 biến x và y trong đó biến x lưu giá trị của các cột có giá trị tọa độ khớp bàn tay và y lưu trữ giá trị cột cuối cùng (Tên nhãn hoạt động).

    Trong đó: SVC (Support Vector Classification) là một lớp triển khai thuật toán SVM cho các tác vụ phân loại, C là mức độ chấp nhận lỗi, gamma là hệ số kernel, kernel là chỉ định loại kernel sẽ sử dụng trong thuật toán nếu không chỉ định thì mặc định sẽ là ‘rbf’. Trong đó: RandomForestClassifie là một lớp được thiết kế để xây dựng và huấn luyện mô hình Random Forest cho bài toán phân loại, n_estimators tham số của mô hình, đại diện cho số lượng cây quyết định được tạo trong rừng.

    Hình 2.2: Mô hình hoạt động của MediaPipe Hands [27].
    Hình 2.2: Mô hình hoạt động của MediaPipe Hands [27].

    KẾT QUẢ NGHIÊN CỨU 3.1. MỘT SỐ ĐỘ ĐO ĐÁNH GIÁ

    KẾT QUẢ NGHIÊN CỨU

    Dưới đây đồ thị heatmap (bản đồ nhiệt) hiển thị ma trận nhầm lẫn (confusion matrix) để mô tả mức độ dự đoán của mô hình khi sử dụng SVM cho từng cặp nhãn thực tế và dự đoán. Một đồ thị tốt khi đường đường chéo trong đồ thị từ góc trái trên cùng xuống góc phải dưới cùng cú màu sắc rừ ràng và cỏc ụ cũn lại khụng cú màu sắc hoặc màu sắc rất nhạt. Từ bảng trên có thể thấy tổng quan mức độ nhần lẫn giữa các hoạt động khi sử dụng SVM là không quá lớn chỉ có hoạt động có nhãn “HIGH_FIVE” là có độ nhầm lẫn với các hoạt động khác là tương đối lớn và hoạt động có nhãn.

    Đề tài đã nghiên cứu phương pháp để nhận dạng hoạt động bàn tay, đó là phương pháp sử dụng Mediapie kết hợp mô hình SVM (Support Vector Machines) và Random Forest để nhận dạng hoạt động bàn tay dựa trên khung xương. Sử dụng Mediapipe để khung vùng và thu thập đặc trưng về các khớp xương của bàn tay người, sau đó sử dụng mô hình SVM và Random Forest để phân loại và nhận dạng hoạt động bàn tay. Đề tài đã vận hành được Mediapie, mô hình SVM, mô hình Random Forest, thu thập dữ liệu, huấn luyện mô hình nhận dạng, đánh giá mô hình dựa trên dữ liệu đã thu thập.

    Nghiên cứu ứng dụng mạng học sâu tích chập 3D trong nhận dạng cử chỉ tay, Luận văn tốt nghiệp Cao học, Trường đại học Bách khoa Hà Nội viện Công nghệ Thông tin và Truyển thông. Ứng dụng cảm biến 3D kinect trong nhận diện ngôn ngữ cử chỉ tiếng việt hỗ trợ việc giao tiếp với người khuyết tật khiếm thính, Luận văn thạc sĩ Công nghệ Điện tử - Viễn thông, Trường Đại học Quốc gia Hà Nội. [14] Aashni Haria, Archanasri Subramanian, Nivedhitha Asokkumar, Shristi Poddar, and Jyothi Nayak (2017), “Hand Gesture Recognition for Human Computer Interaction”, Procedia Computer Science, vol.

    Ashbrook, “The Gesture Pendant: A Self Illuminating, Wearable, Infrared Computer Vision System for Home Automation Control and Medical Monitoring”, in Fourth International. “Improving the Hand Pose Estimation from Egocentric Vision via HOPE-Net and Mask R-CNN”, International Conference on Multimedia Analysis Pattern Recognition (pp. [27] Jyotishman Bora, Saine Dehingia, Abhijit Boruah, Anuraag Anuj Chetia, Dikhit Gogoi (2023), “Real-time Assamese Sign Language Recognition using MediaPipe and Deep.

    Rani (2016), “A review: Study of various techniques of Hand gesture recognition”, Proceedings of the 2016 IEEE 1st International Conference on Power Electronics, Intelligent Control and Energy Systems (ICPEICES), Delhi, India, pp. Ingle (2012), “Real-time static hand gesture recognition for American Sign Language (ASL) in complex background”, Journal of Signal and Information Processing, vol. [35] Patel, Deval (2013), “Point Pattern Matching Algorithm for Recognition of 36 ASL Gestures”, International Journal of Science and Modern Engineering (IJISME), vol.

    Hình 3.8: Hình ảnh nhận dạng hoạt động bàn người thứ ba.
    Hình 3.8: Hình ảnh nhận dạng hoạt động bàn người thứ ba.