Bối cảnh và vấn đề nghiên cứu

Trong xu thế ứng dụng công nghệ vào giáo dục và thuyết trình hiện đại, các giao diện tương tác không chạm (touchless user interfaces) ngày càng khẳng định vai trò quan trọng nhằm tăng tính trực quan, tự nhiên và nâng cao trải nghiệm của người thuyết trình. Nghiên cứu của tác giả Nguyễn Thành Trung (Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP.HCM, chuyên ngành Kỹ thuật Máy tính, 2024) tập trung giải quyết bài toán điều khiển slide trình chiếu Microsoft PowerPoint thông qua hệ thống nhận diện cử chỉ và chuyển động của bàn tay thời gian thực bằng camera.

Về bối cảnh thực tiễn, các giải pháp thu nhận và phân tích cử chỉ tay hiện nay chủ yếu theo hai hướng tiếp cận:

  • Hướng tiếp cận dựa trên phần cứng cảm biến: Sử dụng cảm biến đo điện cơ (EMG) hoặc cảm biến gia tốc. Cảm biến EMG đòi hỏi thiết bị cơ điện cồng kềnh, nặng nề, chi phí cao và khó bắt được các chuyển động tinh tế do biên độ xung điện sinh học ở ngón tay nhỏ. Cảm biến gia tốc yêu cầu mạng lưới cảm biến gắn trên từng phân khu ngón tay, gây phức tạp về đường truyền dữ liệu và bất tiện khi thao tác.
  • Hướng tiếp cận dựa trên thị giác máy tính: Khắc phục hạn chế phần cứng của cảm biến nhưng thường đối mặt với thách thức về khối lượng dữ liệu huấn luyện học sâu (Deep Learning) rất lớn, tiêu tốn tài nguyên tính toán và khó thích ứng thời gian thực nếu không có thuật toán tối ưu.

Mặc dù Google đã phát triển framework mã nguồn mở MediaPipe với mô hình HandLandmark có khả năng định vị 21 điểm mốc bàn tay, việc khai thác mô hình này để nhận diện chính xác các cử chỉ chuyển động liên tục, phân tách các trạng thái chức năng và ánh xạ thành lệnh điều khiển hệ điều hành vẫn còn nhiều khoảng trống kỹ thuật cần hoàn thiện.

Mục tiêu nghiên cứu cụ thể:

  1. Xây dựng giải thuật nhận diện hình dạng và chuyển động của bàn tay phải dựa trên bộ khung 21 điểm mốc của MediaPipe HandLandmark, đảm bảo độ sai số nhận diện dưới 10%.
  2. Xử lý và chuyển đổi tín hiệu nhận diện thành các chuỗi lệnh điều khiển slide tương ứng (chuyển tiếp/lùi slide, phóng to/thu nhỏ, highlight nội dung).
  3. Thiết kế lưu đồ chuyển trạng thái (State Transition) logic, tối ưu hóa tốc độ phản hồi và đảm bảo quá trình chuyển đổi giữa các trạng thái điều khiển diễn ra mượt mà, không xảy ra xung đột lệnh.
  4. Tích hợp giải thuật với phần mềm Microsoft PowerPoint thông qua cơ chế giả lập chuột và bàn phím ảo.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Cử chỉ tĩnh (hình dạng bàn tay) và cử chỉ động (chuyển động ngón tay, bàn tay) của người dùng; luồng dữ liệu tọa độ 21 điểm mốc bàn tay.
  • Phạm vi nghiên cứu: Nghiên cứu giới hạn nhận diện trên bàn tay phải; tư thế lòng bàn tay hướng trực diện về phía camera; khoảng cách thực nghiệm từ người đến camera trong phạm vi 3m – 5m với góc quay chính diện; tập cử chỉ giới hạn phục vụ các chức năng trình chiếu cơ bản.

Cơ sở lý thuyết và phương pháp

Nghiên cứu kết hợp nền tảng thị giác máy tính, hình học giải tích không gian hai chiều và kỹ thuật tự động hóa giao diện người dùng:

Khung lý thuyết và mô hình công nghệ:

  • Google MediaPipe Framework & Mô hình HandLandmark: Framework xử lý đa phương tiện thời gian thực, đa nền tảng (Android, iOS, Windows, macOS, Linux). Mô hình nhận diện bàn tay gồm hai thành phần chính:
    • Palm Detection: Mạng nơ-ron tích chập nhẹ phát hiện vùng chứa lòng bàn tay trên toàn bộ khung hình.
    • Hand Landmark Model: Mạng nơ-ron sâu định vị chính xác 21 điểm mốc (từ điểm 0 đến điểm 20) bao gồm gốc cổ tay, các khớp ngón tay và đầu ngón tay trong không gian tọa độ.
  • Dữ liệu tọa độ điểm mốc: Mỗi điểm mốc $i$ được biểu diễn bởi bộ ba giá trị $[Id, x, y]$, trong đó $x, y \in [0, 1]$ là tọa độ chuẩn hóa theo chiều rộng ($W$) và chiều cao ($H$) của khung hình video. Để tránh sai số vi mô khi người dùng đứng xa camera (khoảng cách 3–5m khiến biến thiên tọa độ chuẩn hóa chỉ ở mức 0.001), nghiên cứu sử dụng hệ tọa độ thực:
    • $x_real = x \cdot W$
    • $y_real = y \cdot H$
  • Thư viện tự động hóa giao diện:
    • Thư viện pyautogui: Cung cấp các hàm mô phỏng thao tác chuột gồm moveTo(), moveRel(), click(), dragRel(), scroll(), position().
    • Thư viện keyboard: Cung cấp các hàm mô phỏng bàn phím và phím nóng gồm press(), release(), press_and_release(), write(), add_hotkey().

Phương pháp nghiên cứu thực nghiệm:

  • Phương pháp phân tích hình học không gian Oxy: Thiết lập các bất đẳng thức so sánh tọa độ để xác định trạng thái đóng/mở của từng ngón tay; tính khoảng cách Euclid giữa các điểm mốc không cùng cạnh; tính tỷ lệ vector cùng phương để xác định các cặp ngón tay song song hoặc gần song song.
  • Phương pháp máy trạng thái hữu hạn (FSM): Xây dựng sơ đồ chuyển trạng thái tuần tự từ trạng thái gốc $S_0$ sang các trạng thái chức năng $S_1, S_2, S_3$ và trạng thái con.
  • Phương pháp thực nghiệm đo kiểm và tinh chỉnh thông số: Đo đạc sự biến thiên tọa độ trên nhiều người dùng khác nhau nhằm xác định ngưỡng quyết định (threshold) tối ưu, triệt tiêu sai số do phản xạ ngón tay hoặc khác biệt nhân trắc học.

Thiết kế và triển khai

Hệ thống được thiết kế theo quy trình 5 bước: Xác định phân tích trạng thái hoạt động; Xây dựng giải thuật nhận diện theo mức độ từ nhỏ đến lớn; Đo lường thông số thực nghiệm; Tích hợp điều khiển phần mềm; Đo lường, bổ sung và hiệu chỉnh toàn hệ thống.

1. Phân loại trạng thái và chức năng điều khiển

Hệ thống quản lý hoạt động thông qua các trạng thái độc lập. Trạng thái $S_0$ đóng vai trò làm cầu nối an toàn trước khi kích hoạt bất kỳ chức năng mới nào.

Mã trạng thái Cử chỉ xác định trạng thái Cử chỉ kích hoạt hành động chi tiết Chức năng điều khiển PowerPoint
$S_0$ Bàn tay nắm lại Bàn tay nắm lại ở mọi vị trí Reset hệ thống về trạng thái ban đầu
$S_1$ Bàn tay xòe đủ 5 ngón Di chuyển bàn tay sang trái ($\Delta x > 25$) $S_{1.1}$: Chuyển sang slide kế tiếp (Tiến)
$S_1$ Bàn tay xòe đủ 5 ngón Di chuyển bàn tay sang phải ($\Delta x > 25$) $S_{1.2}$: Trở về slide trước đó (Lùi)
$S_2$ Mở 3 ngón (cái, trỏ, giữa); ngón trỏ và giữa khép sát; ngón áp út và út nắm Tọa độ đầu ngón tay trỏ (điểm 8) di chuyển Highlight nội dung theo vị trí con trỏ chuột
$S_3$ Mở 2 ngón (cái, trỏ); ngón giữa, áp út, út nắm Thay đổi tỷ lệ khoảng cách giữa hai đầu ngón Chế độ Zoom màn hình ($S_{3.1}$ đến $S_{3.5}$)
$S_{3.1}$ Giảm khoảng cách ngón khi ở $S_{3.2}$ Thu hẹp ngón cái và ngón trỏ Mức zoom 50%
$S_{3.2}$ Mở rộng từ $S_{3.1}$ hoặc thu hẹp từ $S_{3.3}$ Điều chỉnh khoảng cách ngón Mức zoom 75%
$S_{3.3}$ Trạng thái chuẩn từ $S_1$ hoặc điều chỉnh Khoảng cách trung bình Mức zoom 100% (Mức chuẩn)
$S_{3.4}$ Mở rộng từ $S_{3.3}$ hoặc thu hẹp từ $S_{3.5}$ Điều chỉnh khoảng cách ngón Mức zoom 125%
$S_{3.5}$ Tăng khoảng cách ngón khi ở $S_{3.4}$ Mở rộng tối đa ngón cái và ngón trỏ Mức zoom 150%

2. Giải thuật nhận diện cử chỉ ngón tay

  • Xác định trạng thái ngón tay cái: Ngón cái có cơ chế chuyển động ngang so với lòng bàn tay. Điều kiện mở/đóng dựa trên so sánh hoành độ thực giữa điểm đầu ngón (điểm 4) và điểm khớp giữa (điểm 3):
    • Ngón cái mở khi: $X_real(4) < X_real(3)$ (đối với bàn tay phải hướng lòng bàn tay vào camera).
    • Ngón cái đóng khi: $X_real(4) \ge X_real(3)$.
  • Xác định trạng thái 4 ngón tay còn lại (trỏ, giữa, áp út, út): Sử dụng tung độ thực của điểm đầu ngón $K$ ($K \in {8, 12, 16, 20}$) và điểm khớp đốt gần $K-2$:
    • Ngón tay mở khi điểm đầu ngón nằm cao hơn điểm khớp: $Y_real(K) < Y_real(K-2)$.
    • Ngón tay đóng khi: $Y_real(K) \ge Y_real(K-2)$.
  • Giải thuật đếm số lượng ngón tay mở: Khởi tạo biến đếm sl_ngontay = 0. Kiểm tra điều kiện ngón cái, nếu thỏa mãn tăng biến đếm lên 1. Duyệt vòng lặp qua 4 ngón còn lại với các chỉ số $K \in {8, 12, 16, 20}$, mỗi ngón thỏa mãn bất đẳng thức tung độ sẽ tăng sl_ngontay thêm 1.
  • Giải thuật kiểm tra ngón tay song song: Áp dụng cho chế độ Highlight ($S_2$). Hệ thống tính toán vector tạo bởi đoạn nối $(8, 6)$ trên ngón trỏ và $(12, 10)$ trên ngón giữa. Hai ngón tay được xác định là song song hoặc gần song song khi tỷ lệ thành phần hoành độ và tung độ giữa hai vector xấp xỉ bằng nhau với một độ chênh lệch cho phép.

Nội dung chính theo từng chương

Mở đầu

Trình bày tính cấp thiết của việc hiện đại hóa công cụ thuyết trình trong thời đại chuyển đổi số. Đặt vấn đề nghiên cứu giải pháp điều khiển slide không chạm nhằm giải phóng người thuyết trình khỏi các thiết bị cầm tay, tăng tính chủ động và tự nhiên khi truyền đạt thông tin.

Chương 2. Tổng quan đề tài

Phân tích bức tranh tổng thể về các công nghệ nhận diện cử chỉ tay hiện có trên thế giới, bao gồm giải pháp phần cứng cảm biến (EMG, gia tốc kế) và giải pháp thị giác máy tính. Xác định các mục tiêu kỹ thuật cụ thể về độ chính xác, tốc độ xử lý, khả năng tích hợp phần mềm PowerPoint và thiết lập các phạm vi giới hạn của đề tài.

Chương 3. Cơ sở lý thuyết

Đi sâu vào nguyên lý hoạt động của framework Google MediaPipe và cấu trúc 21 điểm mốc của mô hình HandLandmark. Phân tích chi tiết ba trường dữ liệu $[Id, x, y]$, phương pháp chuyển đổi sang hệ tọa độ thực $X_real, Y_real$ và các ưu nhược điểm của mô hình. Giới thiệu tổng quan và phương thức vận hành của các thư viện tự động hóa pyautogui và keyboard trong môi trường Python.

Chương 4. Phương pháp thực hiện

Trình bày toàn bộ tiến trình thiết kế hệ thống từ phân tích trạng thái ($S_0, S_1, S_2, S_3$), xây dựng sơ đồ chuyển trạng thái FSM đến chi tiết các giải thuật hình học nhận diện từng ngón tay, đếm ngón tay mở, kiểm tra khoảng cách và tính song song của ngón tay. Mô tả quy trình thực nghiệm đo lường thông số trên người dùng và phương pháp tích hợp điều khiển PowerPoint qua chuột và bàn phím ảo.

Chương 5. Kết quả hiện thực và đánh giá

Trình bày kết quả đo lường thực tế về tỷ lệ nhận diện chính xác các cử chỉ tĩnh và cử chỉ động. Khảo sát việc chuyển đổi giữa các trạng thái chức năng khi người dùng thao tác thực tế và đánh giá hiệu năng hệ thống dựa trên các tiêu chí độ nhạy, độ trễ và độ tin cậy.

Chương 6. Hướng phát triển

Đề xuất các giải pháp nâng cấp hệ thống trong tương lai, bao gồm việc xây dựng thuật toán nhận diện cử chỉ phức tạp hơn, mở rộng khả năng hỗ trợ bàn tay trái và thao tác đồng thời cả hai tay, cũng như nghiên cứu tích hợp các thiết bị phần cứng thu thập dữ liệu chuyên dụng thay cho camera thông thường.


Kết quả và đóng góp

Kết quả thực nghiệm chính:

  • Hệ thống xây dựng thành công pipeline nhận diện và điều khiển slide PowerPoint thời gian thực thông qua camera thông thường mà không cần trang bị thêm phần cứng chuyên dụng.
  • Độ chính xác của các hằng số thông số giải thuật đo lường trên nhiều người dùng đạt trên 95%, làm nền tảng cho việc nhận diện ổn định toàn bộ cử chỉ.
  • Hệ thống tổng thể đạt độ chính xác trên 90%, sai số nhận diện duy trì ở mức dưới 10%, đáp ứng đầy đủ các chỉ tiêu kỹ thuật đã đặt ra ở phần mục tiêu.
  • Các thao tác chuyển slide (tiến/lùi với ngưỡng $\Delta x > 25$), phóng to/thu nhỏ (5 mức tỷ lệ 50%, 75%, 100%, 125%, 150%) và highlight nội dung theo đầu ngón tay trỏ vận hành ổn định, phản hồi nhanh và mượt mà.

Giải pháp kỹ thuật đề xuất:

  • Giải pháp chuyển đổi tọa độ chuẩn hóa sang tọa độ thực theo kích thước khung hình ($X_real = x \cdot W, Y_real = y \cdot H$), giúp giải quyết triệt để vấn đề mất độ nhạy do biên độ thay đổi tọa độ quá nhỏ ($0.001$) khi thao tác ở khoảng cách xa (3–5m).
  • Cơ chế kiểm tra đồng thời điều kiện ngón tay mở và ngón tay đóng kết hợp trạng thái trung gian $S_0$ (nắm tay), ngăn chặn hiện tượng nhảy chức năng hoặc nhận diện sai do cử động vô thức.

Đóng góp của đề tài:

  • Khai thác hiệu quả cấu trúc 21 điểm mốc của MediaPipe HandLandmark để phát triển bộ giải thuật hình học thuần túy (so sánh tọa độ, tỷ lệ khoảng cách, vector cùng phương), giảm thiểu độ phức tạp tính toán so với việc huấn luyện thêm các mô hình học sâu phân loại cử chỉ.
  • Cung cấp một mô hình ứng dụng hoàn chỉnh kết hợp giữa thị giác máy tính và tự động hóa hệ điều hành, tạo tiền đề ứng dụng giao diện không chạm cho giáo dục, y tế và hội nghị trực tuyến.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế được ghi nhận trong văn bản:

  • Hệ thống mới chỉ tập trung xử lý và nhận diện cử chỉ trên bàn tay phải; chưa hỗ trợ người dùng thuận tay trái hoặc thao tác kết hợp cả hai tay.
  • Toàn bộ giải thuật hoạt động dựa trên giả định lòng bàn tay hướng trực diện về phía camera trong phạm vi góc hẹp ($3m - 5m$), độ ổn định có thể suy giảm nếu góc nghiêng bàn tay thay đổi lớn.
  • Hiệu năng nhận diện của mô hình HandLandmark vẫn chịu sự phụ thuộc vào điều kiện chiếu sáng của môi trường và vị trí bố trí camera.
  • Số lượng chức năng điều khiển mới dừng lại ở các thao tác cơ bản của slide PowerPoint (tiến/lùi, zoom 5 mức, highlight).

Hướng nghiên cứu tiếp theo:

  • Tối ưu hóa và nâng cấp thuật toán để nhận diện các cử chỉ tay có quỹ đạo phức tạp và đa dạng hơn.
  • Xây dựng và tích hợp giải thuật xử lý cho bàn tay trái cũng như kết hợp đồng thời tương tác của cả hai bàn tay để thực hiện các tổ hợp lệnh nâng cao.
  • Nghiên cứu ứng dụng các thiết bị phần cứng thu nhận dữ liệu chuyên dụng thay thế cho camera thông thường nhằm tăng cường độ ổn định trong mọi điều kiện ánh sáng và góc nhìn.

Giá trị tham khảo

Khóa luận tốt nghiệp của tác giả Nguyễn Thành Trung mang lại giá trị tham khảo kỹ thuật cho sinh viên, học viên và các kỹ sư phần mềm thuộc các ngành Kỹ thuật Máy tính, Công nghệ Thông tin, Khoa học Máy tính và Kỹ thuật Điều khiển - Tự động hóa:

  • Sinh viên và nhà nghiên cứu làm đề tài tương tự: Có thể tham khảo phương pháp quy đổi tọa độ thực và cách thiết lập các bất đẳng thức so sánh hình học để phân loại trạng thái ngón tay trên bộ khung 21 điểm của MediaPipe mà không cần huấn luyện lại mô hình phân loại phức tạp.
  • Kỹ sư phát triển ứng dụng Human-Computer Interaction (HCI): Tham khảo kiến trúc máy trạng thái hữu hạn (FSM) và kỹ thuật điều khiển ngoại vi thông qua thư viện pyautogui và keyboard trong việc xây dựng các giao diện không chạm cho thiết bị công cộng, phòng mổ y tế vô trùng hoặc hệ thống thuyết trình thông minh.

Câu hỏi thường gặp

1. Hệ thống sử dụng những cử chỉ tay cụ thể nào để điều khiển các chức năng của PowerPoint?

Hệ thống sử dụng 4 nhóm cử chỉ chính: Bàn tay nắm lại ($S_0$) để reset hệ thống; Bàn tay xòe đủ 5 ngón ($S_1$) kết hợp vẫy sang trái hoặc phải với độ dịch chuyển hoành độ lớn hơn 25 đơn vị để chuyển tiếp hoặc lùi slide; Mở 3 ngón gồm cái, trỏ, giữa (ngón trỏ và giữa khép sát song song) ($S_2$) để điều khiển điểm highlight theo tọa độ đầu ngón trỏ; Mở 2 ngón cái và trỏ ($S_3$) và thay đổi khoảng cách giữa hai ngón để điều chỉnh 5 mức phóng to/thu nhỏ màn hình (50%, 75%, 100%, 125%, 150%).

2. Nguyên lý toán học nào được tác giả áp dụng để phân biệt trạng thái đóng/mở của ngón tay cái so với 4 ngón còn lại?

Đối với ngón tay cái, hệ thống so sánh hoành độ thực giữa điểm đầu ngón (điểm 4) và điểm khớp giữa (điểm 3): ngón cái mở khi $X_real(4) < X_real(3)$. Đối với 4 ngón tay còn lại (trỏ, giữa, áp út, út với đỉnh ngón $K \in {8, 12, 16, 20}$), hệ thống so sánh tung độ thực giữa điểm đầu ngón $K$ và điểm khớp $K-2$: ngón tay mở khi điểm đầu ngón nằm cao hơn điểm khớp, tức $Y_real(K) < Y_real(K-2)$ trên hệ trục tọa độ màn hình.

3. Vì sao nghiên cứu sử dụng giá trị tọa độ thực (X_real, Y_real) thay vì dùng trực tiếp tọa độ chuẩn hóa [0, 1] của MediaPipe?

Tọa độ chuẩn hóa $x, y$ của MediaPipe nằm trong khoảng $[0, 1]$. Khi người dùng đứng ở khoảng cách thực nghiệm $3m - 5m$ so với camera, biên độ biến thiên của tọa độ chuẩn hóa khi cử động ngón tay là rất nhỏ (chỉ khoảng $0.001$), gây khó khăn và sai số lớn cho các phép toán so sánh. Việc nhân tọa độ với kích thước thực tế của khung hình ($W, H$) thành $X_real = x \cdot W$ và $Y_real = y \cdot H$ giúp khôi phục biên độ biến thiên số học rõ ràng, nâng cao độ chính xác của giải thuật.

4. Cơ chế chuyển trạng thái (State Transition) trong hệ thống được thiết kế như thế nào để tránh xung đột lệnh?

Hệ thống sử dụng mô hình máy trạng thái có điều kiện ràng buộc nghiêm ngặt: Trạng thái nắm tay ($S_0$) là trạng thái mặc định và là cầu nối trung gian bắt buộc; tất cả các trạng thái chức năng sau khi hoàn tất hoặc khi có ngón tay thay đổi trạng thái không đúng quy định đều phải quay trở về $S_0$ trước khi kích hoạt chức năng mới. Đồng thời, giải thuật kiểm tra đồng thời cả ngón tay mở lẫn ngón tay đóng để loại trừ các trường hợp ngón tay gập hờ do phản xạ tự nhiên.

5. Phạm vi và điều kiện thực nghiệm của hệ thống nhận diện cử chỉ được giới hạn ra sao?

Hệ thống được giới hạn thực nghiệm trên bàn tay phải, tư thế lòng bàn tay hướng trực diện về phía camera. Khoảng cách làm việc chuẩn giữa người thuyết trình và camera nằm trong phạm vi từ 3m đến 5m với góc đặt camera chính diện, sử dụng camera thông thường trong điều kiện ánh sáng phòng học/hội trường tiêu chuẩn.


Kết luận

Khóa luận tốt nghiệp của tác giả Nguyễn Thành Trung đã phát triển thành công hệ thống nhận diện cử chỉ tay thời gian thực ứng dụng trong điều khiển slide thuyết trình PowerPoint dựa trên framework Google MediaPipe. Bằng việc xây dựng các giải thuật hình học giải tích trên hệ tọa độ thực và mô hình máy trạng thái chặt chẽ, nghiên cứu đạt độ chính xác trên 90% và sai số dưới 10% trong phạm vi khoảng cách 3m – 5m. Đề tài đã chứng minh tính khả thi cao của giải pháp thị giác máy tính không chạm, đóng góp cơ sở phương pháp luận hữu ích cho các ứng dụng tương tác người – máy trong tương lai.