Khóa luận: Nghiên cứu phát triển ứng dụng nhận dạng hoạt động của bàn tay sử dụng webcam

Khóa luận tốt nghiệp nghiên cứu ứng dụng nhận dạng hoạt động bàn tay qua webcam. Trình bày mô hình, thuật toán học máy và kết quả thực nghiệm chi tiết.

Trường đại học

Trường Đại học Tân Trào

Chuyên ngành

Công nghệ Thông tin

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2023

67
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về ứng dụng nhận dạng bàn tay bằng webcam laptop

Ứng dụng nhận dạng bàn tay bằng webcam laptop là một lĩnh vực nghiên cứu quan trọng trong lĩnh vực xử lý hình ảnh và trí tuệ nhân tạo. Công nghệ này cho phép máy tính nhận diện và phân tích các hoạt động, cử chỉ của bàn tay con người thông qua camera tích hợp. Đây là nền tảng cho nhiều ứng dụng hiện đại như điều khiển thiết bị, giao diện người-máy, thực tế ảo, và hệ thống an toàn. Khóa luận này tập trung vào phát triển ứng dụng nhận dạng hoạt động bàn tay sử dụng webcam laptop, kết hợp các kỹ thuật học máyxử lý hình ảnh tiên tiến. Mục tiêu là tạo ra một hệ thống có độ chính xác cao, có khả năng nhận dạng nhiều loại cử chỉ tay khác nhau trong các điều kiện ánh sáng và môi trường khác nhau.

1.1. Khái niệm và định nghĩa

Nhận dạng hoạt động bàn tay là quá trình xác định và phân loại các chuyển động, cử chỉ của bàn tay người. Hệ thống này sử dụng webcam laptop để nắm bắt hình ảnh video, sau đó áp dụng các thuật toán xử lý ảnh để trích xuất đặc trưng. Từ đó, các mô hình học máy sẽ phân loại hoạt động bàn tay thành các nhóm cụ thể. Công nghệ này đóng vai trò nền tảng trong phát triển giao diện tương tác thông minh.

1.2. Ý nghĩa và tầm quan trọng

Ứng dụng nhận dạng bàn tay có ý nghĩa thiết thực trong nhiều lĩnh vực. Trong y học, nó hỗ trợ chẩn đoán bệnh thần kinh. Trong công nghiệp, giúp điều khiển robot an toàn hơn. Trong giáo dục, tạo ra các công cụ học tập tương tác. Nó cũng là chìa khóa cho phát triển ngôn ngữ ký hiệu số hóa, hỗ trợ giao tiếp cho người khuyết tật.

II. Mô hình và phương pháp nhận dạng bàn tay

Khóa luận sử dụng MediaPipe Hands - một framework mạnh mẽ từ Google để ước lượng khung xương bàn tay. Framework này có khả năng phát hiện 21 điểm khớp trên bàn tay một cách chính xác. Quy trình gồm ba bước chính: (1) khoanh vùng bàn tay trong hình ảnh, (2) ước lượng vị trí các điểm khớp, (3) phân loại hoạt động dựa trên dữ liệu điểm khớp. Để phân loại, đề tài áp dụng hai thuật toán học máy: Support Vector Machines (SVM)Random Forest. Cách tiếp cận này đạt được độ chính xác cao, với độ đo F1-score lên đến 95% trên tập dữ liệu kiểm thử.

2.1. MediaPipe Hands và trích xuất đặc trưng

MediaPipe Hands là công cụ hàng đầu để nhận dạng bàn tay thời gian thực. Nó tự động phát hiện bàn tay, ước lượng 21 điểm khớp bao gồm đầu ngón tay, khớp ngón tay, và cổ tay. Các tọa độ (x, y, z) của điểm khớp được trích xuất để tạo thành vector đặc trưng. Phương pháp này không yêu cầu dữ liệu huấn luyện ban đầu, giảm đáng kể thời gian chuẩn bị.

2.2. Thuật toán SVM và Random Forest

SVM (Support Vector Machines) tìm siêu phẳng tối ưu để phân tách dữ liệu. Random Forest sử dụng tập hợp nhiều cây quyết định để dự đoán. Cả hai thuật toán đều cho kết quả tốt, nhưng Random Forest thường chịu nhiễu tốt hơn. Quá trình huấn luyện sử dụng tập dữ liệu được thu thập từ nhiều cá nhân khác nhau để đảm bảo tính tổng quát hóa.

III. Quy trình xây dựng ứng dụng nhận dạng bàn tay

Quy trình xây dựng ứng dụng nhận dạng hoạt động bàn tay bao gồm nhiều giai đoạn quan trọng. Đầu tiên, thu thập dữ liệu từ webcam laptop, lưu trữ hình ảnh bàn tay thực hiện các hoạt động khác nhau. Tiếp theo, xử lý ảnh gồm chuyển đổi từ RGB sang nhị phân, lọc nhiễu để tăng chất lượng ảnh. Sau đó, sử dụng MediaPipe Hands để trích xuất điểm khớp. Cuối cùng, huấn luyện mô hình sử dụng dữ liệu đã chuẩn bị. Ứng dụng thực hiện nhận dạng thời gian thực bằng cách xử lý frame từ webcam liên tục, đưa ra kết quả nhận dạng tức thì.

3.1. Giai đoạn thu thập và xử lý dữ liệu

Thu thập dữ liệu là bước tối quan trọng. Đề tài thu thập hình ảnh từ nhiều cá nhân với các điều kiện ánh sáng khác nhau. Mỗi hoạt động bàn tay được thu thập 100-200 hình ảnh. Xử lý dữ liệu bao gồm chuẩn hóa kích thước ảnh, loại bỏ nền không cần thiết. Quá trình này đảm bảo chất lượng cao cho dữ liệu huấn luyện, ảnh hưởng trực tiếp đến độ chính xác mô hình.

3.2. Huấn luyện và đánh giá mô hình

Dữ liệu được chia thành tập huấn luyện (70%)tập kiểm thử (30%). Mô hình được huấn luyện với các siêu tham số được điều chỉnh tối ưu. Độ đo đánh giá bao gồm Accuracy, Precision, Recall, và F1-score. Ma trận nhầm lẫn được sử dụng để phân tích chi tiết lỗi nhận dạng. Kết quả cho thấy mô hình đạt độ chính xác cao trên cả tập huấn luyện lẫn kiểm thử.

IV. Kết quả và ứng dụng thực tiễn của nhận dạng bàn tay

Khóa luận đã phát triển thành công một ứng dụng nhận dạng hoạt động bàn tay thời gian thực với độ chính xác cao. Ứng dụng có thể nhận diện được 8 hoạt động bàn tay khác nhau: nắm tay, xoay bàn tay, chỉ tay, v.v. Hệ thống hoạt động ổn định trên webcam laptop với tốc độ xử lý 30 FPS. Ứng dụng này có thể được mở rộng cho nhiều lĩnh vực: điều khiển máy tính, thực tế ảo, robot điều khiển, và hệ thống an toàn. Các thử nghiệm trên nhiều cá nhân khác nhau cho thấy mô hình có khả năng tổng quát hóa tốt. Đây là nền tảng cho các nghiên cứu tiếp theo về nhận dạng cử chỉ phức tạp.

4.1. Kết quả thực nghiệm và đánh giá hiệu năng

Thử nghiệm trên 4 cá nhân khác nhau cho thấy độ chính xác trung bình 92-95%. Sử dụng SVM, độ chính xác đạt 94%. Sử dụng Random Forest, độ chính xác đạt 95%. PrecisionRecall đều cao, cho thấy mô hình không có sai lệch lớn giữa các lớp. Thời gian xử lý mỗi frame khoảng 33ms, đủ để hoạt động thời gian thực mượt mà.

4.2. Hướng phát triển và ứng dụng tương lai

Những hướng phát triển tiếp theo bao gồm nhận dạng cử chỉ động, tích hợp mô hình Deep Learning để cải thiện độ chính xác. Ứng dụng có thể mở rộng sang nhận dạng hành động cơ thể, kết hợp bàn tay + mặt + cơ thể. Trong tương lai, nó sẽ hỗ trợ ngôn ngữ ký hiệu tự động, điều khiển robot công nghiệp, và các ứng dụng y tế chẩn đoán tiên tiến hơn.

18/12/2025

Trích đoạn nội dung tài liệu

Chương 1. TỔNG QUAN VỀ NHẬN DẠNG HOẠT ĐỘNG BÀN TAY 1.TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 1. Nghiên cứu trong nước Các bài toán trong lĩnh vực trí tuệ nhân tạo, đặc biệt phát triển trong lĩnh vực thị giác máy tính đã được quan tâm của nhiều nhà khoa học trong nước, tại các cở sở giáo dục đào tạo, các viện nghiên cứu trong nước. Một số bài toán liên quan đến nhận dạng hoạt động bàn tay: TS.

Trần Nguyên Ngọc cùng các cộng sự của Khoa Công nghệ thông tin, Học viện Kỹ thuật Quân sự đã triển khai nghiên cứu đề tài “Nghiên cứu phát triển kỹ thuật nhận dạng cử động của bàn tay người theo thời gian thực” [9]. Đề tài do TS. Trần Nguyên Ngọc chủ nhiệm, mã số KC01.TN08/11-15 thuộc chương trình “Nghiên cứu ứng dụng và phát triển công nghệ Thông tin và Truyền thông” đã nghiên cứu thành công kỹ thuật nhận dạng cử động của bàn tay người theo thời gian thực để ứng dụng trong công nghiệp quốc phòng, điều khiển robot, phát triển dạng sản phẩm tích hợp. Nhóm đã nghiên cứu phát hiện bàn tay trong chuỗi hình ảnh thu được từ camera và cảm biến khoảng cách; nghiên cứu phát hiện quỹ đạo và bám chuyển động của bàn tay theo thời gian thực; nghiên cứu giải pháp nhận dạng, phân biệt các cử động khác nhau của tay người; nghiên cứu giải pháp chuyển đổi kết quả nhận dạng thành các tín hiệu điều khiển thiết bị; xây dựng phần mềm hỗ trợ tương tác với máy tính thông qua cử động ra hiệu bằng tay.

Sau đó học máy được áp dụng trong các bài toán nhận dạng hoạt động bàn tay. Phạm Minh Lộc cùng cộng sự [8] đã thực hiện nghiên cứu ứng dụng học máy để nhận dạng tư thế bàn tay từ một chuỗi ảnh chiều sâu. Lê Minh Thành và cộng sự [11] thiết lập một mạng nơ-ron chập với 14 lớp và ứng dụng vào hệ thống nhận dạng 6 cử chỉ bàn tay phải, với đối tượng đầu vào là các ảnh tĩnh thu được từ camera điện thoại. Nguyễn Sinh Huy và cộng sự [26] đề xuất một mô hình sâu mới để ước tính tư thế tay 2D chính xác 4 kết hợp HOPE-Net, ước tính tư thế tay và Mask R-CNN, cung cấp khả năng phát hiện và phân đoạn tay để định vị bàn tay trong hình ảnh.

Nghiên cứu ngoài nước Đã có nhiều nghiên cứu về nhận dạng hoạt động bàn tay như: Bardia Doosti và các cộng sự [21] đã thực hiện cuộc khảo sát về nhận dạng hoạt động bàn tay. Nhóm tác giả Shan-Chien Hsiao và cộng sự [19], đã thực hiện nghiên cứu ước tính hoạt động tay dựa trên các điểm chính trên khung bàn tay 2D, mục đích ước tính hoạt động bàn tay sử dụng ít tham số hơn so với các mô hình truyền thống. Jungpil Shin và các cộng sự [38] đã thực hiện một nghiên cứu nhận dạng hoạt động tay dựa trên học sâu (deep learning) từ hình ảnh 2D, nghiên cứu sử dụng mạng nơ-ron tích chập (CNN - Convolutional Neural Network) để phát hiện cử chỉ bàn tay 2D dựa trên các khớp bàn tay và đầu ngón tay. NHẬN DẠNG HOẠT ĐỘNG BÀN TAY Những thiết bị đầu vào và đầu ra được thiết kế trong những năm qua với mục đích giao tiếp giữa con người và máy tính được thực hiện một cách dễ dàng.

Hai thiết bị phổ biến nhất được biết đến là bàn phím và chuột. Ý tưởng để làm cho máy tính hiểu được các ngôn ngữ giao tiếp của con người và phát triển giao diện người - máy thân thiện đang nhận được sự quan tâm của cộng đồng các nhà nghiên cứu. Làm cho máy tính hiểu được lời nói, nét mặt, cử chỉ của con người là một trong những quan tâm đó. Trong tương tác người - máy, các hình dạng khác nhau của bàn tay có thể giả định để giao tiếp với các đối tượng hoặc truyền tải rất nhiều thông tin.

Do đó, bàn tay của con người có thể sử dụng làm “thiết bị đầu vào” rất có giá trị. Trong thế giới thực, chúng ta có thể cầm, thả, di chuyển…các đối tượng bằng các cử chỉ của bàn tay. Tương tự như vậy, khi tương tác với các thiết bị như máy tính, tivi, ô tô… chỉ với vài cử chỉ của bàn tay là ta có thể điều khiển được hoạt động của nó. Ví dụ như chỉ cần phẩy tay là có thể chuyển kênh tivi, hay bật/ tắt radio trên ô tô… thay vì phải tự tay bấm nút trên bộ điều khiển.

Để 5 làm được điều này, bộ điều khiển của các thiết bị phải được gắn một thiết bị cảm nhận (camera/webcam), thiết bị cảm nhận này sẽ thu nhận hình ảnh của bàn tay, nhận dạng cử chỉ để phát lệnh điều khiển tương ứng. Ngoài ra, nhận dạng hoạt động bàn tay còn có rất nhiều ứng dụng khác: hoạt động bàn tay được sử dụng đề giả lập các thao tác tương tác với đối tượng trong thể giới ảo; trong tương tác giữa người và robot, cử chỉ bàn tay chính là ngôn ngữ đề con người và robot có thể giao tiếp với nhau. Để nhận dạng hoạt động bàn tay, bước đầu tiên trong các hệ thống nhận dạng là có một thiết bị ghi nhận hình ảnh về bàn tay, các hình ảnh sẽ được tiến hành phát hiện vị trí bàn tay qua thiết bị cảm nhận hoặc các phương pháp phát hiện bàn tay để thu thập các quan sát cần cho việc phân loại hay miêu tả sau đó tiến hành xử lý hình ảnh, trích chọn đặc trưng feature extraction) để tính toán các thông tin đưới dạng số hay dạng biểu tượng (synbolic) từ các dữ liệu quan sát và thực hiện. Công việc phân loại dựa vào các đặc tính đã được trích chọn để nhận dạng hoạt động bàn tay.

Đó chính là nhiệm vụ của bài toán nhận dạng hoạt động của bàn tay. Các hoạt động của bàn tay được nhận dạng dựa trên tập dữ liệu về bàn tay được thu thập từ trước.1: Sơ đồ nhận dạng hoạt động bàn tay. Mô tả bàn tay người Mô hình xương bàn tay người có cấu trúc như sau [15]: bàn tay con người gồm 27 xương, trong đó có 8 xương ở cổ tay và 19 xương cho lòng bàn tay và ngón tay. Các xương này được kết nối với nhau bởi các khớp nối có một hay nhiều bậc tự do.2 biểu diễn mô hình xương bàn tay và biểu diễn các khớp nối cùng số bậc tự do tương ứng tạo thành tổng cộng 26 bậc tự do.

Trong đó cổ tay có 6 bậc tự do với 3 bậc tự do cho chuyển động tịnh tiến trong không gian và 3 bậc tự do cho chuyển động xoay quanh các trục. Năm ngón tay, mỗi ngón có 4 bậc tự do với 2 bậc cho khớp gốc ngón tay (gập/ngửa và khép/mở) và 1 bậc cho mỗi khớp còn lại.2: Cấu trúc xương và mô hình học của bàn tay [5]. Hoạt động của bàn tay Một hoạt động của bàn tay là một chuỗi chuyển động và hình dạng các bộ phận trên bàn tay bao gồm các ngón tay, lòng bàn tay và cổ tay. Khi thực hiện một hoạt động các bộ phận đó sẽ tạo thành một hình dạng và một chuyển động nhất định.

Từ những đặc điểm đó sẽ tập trung đánh dấu các điểm đặc trưng và 7 so sánh chúng với các đặc trưng của hoạt động được mô tả trong mô hình huấn luyện và đưa ra kết quả về nhãn của hoạt động. Ví dụ, khi thực hiện động tác “vẫy tay” các ngón tay mở tự nhiên và di chuyển bàn tay qua lại. Khi thực hiện động tác “nắm tay” các ngón tay sẽ cụm lại thành hình nắm đấm. Sau đó các trích xuất các điểm đặc trưng và đưa ra so sánh, nếu giống với mô tả “vẫy tay” hoặc “nắm tay” trong mô hình huấn luyện thì sẽ đưa ra kết quả cho hoạt động đó.

Một số ứng dụng của nhận dạng hoạt động bàn tay  Ứng dụng trong thực tế ảo: Thực tế ảo (tiếng Anh là virtual reality, viết tắt là VR) là cụm từ dùng để miêu tả một không gian ba chiều được dựng lên bởi máy tính. Khi bước vào không gian ảo này, con người sẽ hòa mình vào môi trường xung quanh, có thể tự do tương tác và khám phá, có thể điều khiển vật dụng hoặc thậm chí thực hiện hàng loạt các hành động phức tạp như thể đang ở ngoài đời thật. Đây là một hệ thống giao diện cấp cao giữa người sử dụng và máy tính. Hệ thống này mô phỏng các sự vật và hiện tượng theo thời gian thực và tương tác với người sử dụng qua tổng hợp các kênh cảm giác.3: Minh họa sử dụng hoạt động tay trong thực tế ảo [16].

8 Tương tác thực tế ảo sử dụng hoạt động bàn tay cho phép các đối tượng thực sử dụng các cử chỉ bàn tay cho các tương tác 3D [37] hoặc 2D mô phỏng 3D [23]. Ưu điểm lớn nhất của việc sử dụng bàn tay để tương tác trong môi trường thực tế ảo nằm ở việc các thao tác tay là hoàn toàn tự nhiên, bởi lẽ đây là bản năng của con người. Do đó, bất cứ ai cũng có thể sử dụng công nghệ này một cách dễ dàng.  Ứng dụng trong điều khiển robot: Các cử chỉ hoạt động bàn tay được sử dụng để tương tác và điều khiển robot hoàn toàn tương tự như các tương tác trong thực tế ảo, và được vận hành bằng cách cung cấp dữ liệu video từ máy ảnh nằm trên robot [25].

Tại đây, hoạt động bàn tay có thể điều khiển bàn tay và chuyển động cánh tay của robot để tiếp cận và thao tác với các đối tượng thực, cũng như chuyển động của robot trong thế giới thực.4: Minh họa về dùng các hoạt động tay để điều khiển robot [36].  Điều khiển máy tính: Trong các ứng dụng máy tính, hoạt động cử chỉ bàn tay có thể cung cấp một sự tương tác thay thế cho chuột và bàn phím [40]. Nhiều hoạt động cho các tác vụ máy tính để bàn liên quan đến thao tác đồ họa, hoặc chú thích và chỉnh sửa các tài liệu dựa trên cử chỉ [17]. Người dùng có thể sử dụng giọng nói, cử chỉ tay để điều khiển máy tính, trình chiếu powerpoint và các thiết bị khác như smart tivi, … 9 Hình 1.5: Minh họa điều khiển máy tính bằng cử chỉ tay [3].

 Ứng dụng trong y học: Theo các nghiên cứu của Microsoft [32], một nhóm nghiên cứu tại Microsoft Research Cambridge đã tạo ứng dụng cho phép các bác sĩ trực tiếp sử dụng hoạt động tay đơn giản để thay đổi, di chuyển, hoặc phóng to trên ảnh CT, MRI, và hình ảnh y tế khác thay vì phải hướng dẫn y tá hoặc sử dụng bàn phím và chuột để tránh nguy cơ nhiễm trùng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ