Mô hình này cho phép phát hiện bàn tay trong hình ảnh hoặc video và xác định vị trí của 21 điểm mốc chính trên mỗi ban tay, bao gồmcác khớp ngón tay, gốc ban tay và các điểm khác trên mu
Tổng quát quy trình trong việc phát triển giải pháp cho đề tài
- Bước 1: Xác định và phân tích các trạng thái của đề tài
+ Mục đích: Xác định được những trạng thai tương ứng với từng cử chỉ - hành động đã được đề ra.
" Mỗi trạng thái sẽ là một chức năng độc nhất.
= Rõ ràng các điều kiện trong việc chuyền trạng thái — tránh xung đột.
“ Đảm bảo được việc thực hiện các trạng thái được diễn ra hợp lý.
Có trạng thái mặc định làm cầu nối trả các trạng thái về giá trị ban đầu trước khi thực hiện thay đổi tiếp trạng thái.
= Xác định các trạng thái hoạt động một cách hợp lý
= Xây dung flow chạy giải thuật của từng trạng thai đảm bảo tính hợp lý với các yêu câu đã đê ra.
Bước 2: Xác định phân tích thuật toán theo từng mức độ
+ Mục tiêu: Triển khai và phân tích các thuật toán theo các mức độ đã đề cập ở phần 4.1.1.
Yêu cầu: Thực hiện theo sơ đồ hình 4.1
= Xác định được nội dung cần thiết thực hiện từ những phạm vi từ nhỏ đến lớn
= Nhận diện được các cử chi tĩnh — hình dáng bàn tay
= Nhận diện được các cử chi động - chuyên động của ban tay.
= Lựa chọn những yếu tốt quan trọng đặc biệt dé thuc hién viéc xác định toàn bộ cử chi đã dé ra
= Tao dựng các điều kiện ràng buộc để đảm bản cử chỉ được tăng độ chính xác cao nhât.
Bước 3: Thực nghiệm việc đo lường các thông sô vê các cử chỉ trong từng trạng thái hoạt động
Mục tiêu của nghiên cứu là xác định các thông số tương đối cần thiết để một cử chỉ được coi là hợp lệ, nhằm giảm thiểu sai số do sự khác biệt giữa các người dùng khác nhau.
Để đảm bảo độ chính xác trong việc nhận diện toàn cử chỉ và hệ thống, các thông số cần được đo lường và thử nghiệm trên nhiều đối tượng khác nhau, với giá trị sử dụng đạt ít nhất 95%.
= Xác định được từng cử chỉ dé cho ra được những thông số cần đo lường.
Các thông số là các thông số được đưa vào thuật toán, với các điều kiện phụ thuộc vào cấu trúc tay của người sử dụng hoặc sự tương quan giữa các ngón tay khác nhau.
- _ Bước 4: Kết hợp việc điều khiển slide trình chiếu
+ Mục tiêu: Áp dung được dé thực hiện các chức năng đã đề tương ứng với các cử chỉ đã nhận diện được
Yêu cầu: Tốc độ xử lý nhanh, áp dụng dé dàng vào powerpoint.
= Thuc hiện khởi tao con chuột — bàn phím ảo với các chức nang đã xác định có thể áp dụng vào các chức năng của đề tài.
"Thực hiện việc hoàn thiện và hiệu chỉnh cho phù hợp và có độ chính xác cao.
- _ Bước 5: Thực hiện đo lường và bé sung, hiệu chỉnh hệ thống
Mục tiêu: Thực nghiệm toàn hệ thống dé đảm bao tính chính xác.
Kết quả đạt được cần có tỉ lệ cao, với độ chính xác đảm bảo trên 90% Hệ thống cũng phải có khả năng xử lý các đụng độ và ràng buộc giữa các trạng thái nếu tồn tại.
= Thực hiện việc khảo sát tiếp tục trên nhiều người dé kiểm chứng và thay đôi hoạt động.
= Thuc hiện việc chỉnh sửa các van đê đụng độ nêu có.
Xác định và phân tích các trạng thái của đề tài
Xác định phân tích thuật toán theo từng mức độ
Thực nghiệm việc đo lường các thông sô về các cử chỉ trong từng trạng thái hoạt động
Thực hiện đo lường và bồ sung, hiệu chỉnh hệ thống
Hình 4.2: Thứ tự thực hiện các bước phương pháp
4.2 Trạng thái hoạt động của đề tài
4.2.1 Cac trạng thái hoạt động lựu chọn trong việc thực thi
- Trạng thai 0— SO: Trang thái reset
Ngày là trạng thái khởi tạo hoặc reset hệ thống, đưa về trạng thái ban đầu Trạng thái này tự động kích hoạt sau khi các chức năng đã được thực hiện.
+ Điều kiện: Ở bất cứ trạng thái nào, cử chỉ bàn tay nắm lại sẽ tiến về trạng thái 0.
+ Hành động: Reset tất cả các biến và thiết lập lại hệ thống về trạng thái ban đâu.
Hình 4.3: Cử chỉ xác định trạng thái SO
Trạng thái 1 — S1: Trang thái xác định thực hiện việc chuyên tiếp tiễn — lùi slide
+ Mô tả: Xác định xem người dùng muốn chuyền tiếp qua slide kế tiếp hay trở lai slide trước đó.
+ Điều kiện: Đang ở trạng thái SO, cử chỉ xác định trạng thai S1 được thực hiện.
+ Cử chỉ xác định trạng thái SĨ: ban tay xòe đủ 5 ngón tay
= Nhận tín hiệu từ người dùng dé xác định chuẩn bị chuyên tiếp hay lùi slide.
= Tra lai trạng thai $3.3 - độ zoom chuan.
= Tại trạng thái S1, sẽ xét tiếp để xác định chuyển tiếp tới một trong hai trạng thái S1.1 hay $1.2.
+ Mô tả: Chuyển qua slide kế tiếp.
+ Điều kiện: Dang ở trạng thái S1, cử chỉ xác định trạng thái S1.1 được thực hiện.
Cử chỉ xác định trạng thái S1 bao gồm việc di chuyển bàn tay qua trái với biên độ hoành độ lớn hơn 25 đơn vị đo trên khung hình đang được sử dụng.
“ Thực hiện lệnh chuyên sang slide tiếp theo.
= Sau khi hoàn tất, chuyền về trang thái SO.
- Trang thái 1.2 — S1.2: Trả về một slide trước đó
+ Môtả: Trở về slide trước đó.
+ Điều kiện: Dang ở trang thái S1, cử chỉ xác định trạng thái S1.2 được thực hiện.
Củ chỉ xác định trạng thái $1.2: Khi ở trạng thái SĨ, người dùng cần di chuyển bàn tay qua bên phải với biên độ thay đổi hoành độ lớn hơn 25 đơn vị, dựa trên khung hình hiện tại.
Thực hiện lệnh trở về slide trước.
Sau khi hoàn tất, chuyên về trạng thái S0.
- Trang thái 2 — S2: Trang thái xác định thực hiện chức năng làm nổi bật — highlight nội dung theo con trỏ chuột đang di chuyên
Xác định vị trí con trỏ chuột và làm nổi bật nội dung tại vị trí đó là một tính năng quan trọng Điều này chỉ xảy ra khi hệ thống đang ở trạng thái SO và cử chỉ xác định trạng thái S2 được thực hiện.
Cử chỉ xác định trạng thái S2 bao gồm việc xòe ra ngón tay cái, ngón tay trỏ và ngón tay giữa, trong khi ngón út và ngón áp út được nắm lại Đồng thời, hai ngón tay trỏ và giữa sẽ khép lại với nhau, tạo thành một hình ảnh rõ ràng và dễ nhận diện.
Theo dõi vi trí con trỏ chuột.
Làm nỗi bật nội dung mà con trỏ chuột đang đi chuyên qua.
Tạo độ di chuyên của con chuột là tọa độ di chuyên của điểm đầu ngón tay trỏ tương ứng với tỷ lệ khung hình.
Chuyên về trang thái SO sau khi hoàn tat hoặc tiếp tục theo dõi.
Hình 4.5: Cử chỉ xác định trạng thái S2
- Trang thái 3 — S3: Trạng thai xác định chức năng zoom in — zoom out một khu vực
Xác định mức độ phóng to hoặc thu nhỏ của một khu vực trên màn hình là một quá trình quan trọng Điều này chỉ có thể thực hiện được khi hệ thống đang ở trạng thái S0 và cử chỉ để chuyển sang trạng thái S3 được thực hiện thành công.
Cử chỉ xác định trạng thái S3 bao gồm việc xòe ra ngón tay cái và ngón tay trỏ, trong khi các ngón giữa, ngón út và ngón áp út vẫn được nắm chặt lại.
Để xác định trạng thái thu nhỏ hay phóng to, bạn cần tính tỷ lệ khoảng cách giữa hai đầu ngón tay và điểm giữa của ngón tay cái và ngón tay trỏ Nếu tỷ lệ này giảm, điều đó có nghĩa là đang thu nhỏ; ngược lại, nếu tỷ lệ tăng, trạng thái đang phóng to.
= Nhận tín hiệu từ người dùng để xác định mức độ zoom.
" Xdac định mức độ zoom hiện có để thực hiện chuyên tiếp các tráng thái tăng giảm một mức theo dãy trạng thái sau S3.1, S3.2, S3.3, S3.4, $3.5.
+ Mô tả: Zoom ở mức 50% của màn hình.
+ Điều kiện: Dang ở trạng thái $3.2, cử chỉ xác định trạng thái S3 được thực hiện trạng thái thu nhỏ.
=" Thực hiện lệnh zoom ở mức 50%.
= Chuyền về trạng thái SO sau khi hoàn tat.
Trạng thái 3.2 — S3.2: Chế độ 75% của mức zoom màn hình của máy
+ Môtả: Zoom ở mức 75% của màn hình.
" Dang ở trạng thai S3.3, cử chỉ xác định trạng thái S3 được thực hiện trạng thái thu nhỏ.
=" Đang ở trạng thái S3.1, cử chỉ xác định trạng thái S3 được thực hiện trạng thái phóng to.
=" Thực hiện lệnh zoom ở mức 75%.
“ Chuyển về trạng thái SO sau khi hoàn tat.
- Trạng thái 3.3 — S3.3: Chế độ 100% của mức zoom màn hình của máy
+ Mô tả: Zoom in hoặc zoom out ở mức 100% của màn hình (mức chuẩn) + Điều kiện:
=" Dang ở trạng thai S3.4, cử chỉ xác định trạng thái S3 được thực hiện trạng thái thu nhỏ.
=" Đang ở trạng thái S3.2, cử chỉ xác định trạng thái S3 được thực hiện trạng thái phóng to.
= Đang ở trạng thái SĨ + Hành động:
=" Thực hiện lệnh zoom ở mức 100%.
= Chuyển về trạng thái SO sau khi hoàn tat.
- Trang thái 3.4 — S3.4: Chế độ 125% của mức zoom màn hình của máy
+ Mô tả: Zoom ở mức 125% của màn hình.
" Dang ở trạng thái S3.5, cử chỉ xác định trạng thái S3 được thực hiện trạng thái thu nhỏ.
= Đang ở trạng thái S3.3, cử chỉ xác định trang thái S3 được thực hiện trạng thái phóng to.
=" Thuc hiện lệnh zoom ở mức 125%.
= Chuyển về trạng thái SO sau khi hoàn tat.
- Trang thái 3.5 — S3.5: Chế độ 150% của mức zoom màn hình của máy
+ Mô tả: Zoom ở mức 150% của màn hình.
=" Đang ở trạng thái S3.4, cử chỉ xác định trạng thái S3 được thực hiện trạng thái phóng to.
=" _ Thực hiện lệnh zoom ở mức 150%.
“ Chuyển về trạng thái SO sau khi hoàn tat.
Sơ đồ chuyển trạng thái -: -¿©+¿©++2+++£x++zx++rxezrxrzrxrrrxee 32 4.3 Xây dựng giải thuật nhận diện cử Chi (ay . 5c ss+scssesesereses 33 4.3.1 Xây dựng giải thuật nhận diện từng ngón tay thay đổi
Sơ đồ chuyên trạng thái như sau:
Hình 4.7: Sơ đồ chuyên trạng thái
- T0 là điều kiện dé chuyên các trạng thái về trạng thái SO.
- T1 là điều kiện dé chuyên các trạng thái về trang thái S1
- 12 là điều kiện dé chuyên các trạng thái về trang thái S2
- 13 là điều kiện dé chuyên các trạng thái về trạng thái S3
4.3 Xây dựng giải thuật nhận diện cử chỉ tay
Đề tài này không chỉ kế thừa khung cây trong mô hình HandLandmark mà còn tập trung vào việc phát triển bộ giải thuật mở rộng cho nhận diện cử chỉ và các ứng dụng khác Giải thuật sẽ được xây dựng và phát triển qua từng bước, từ nhận diện ở phạm vi nhỏ đến phạm vi lớn, với nội dung phân tích giải thuật được trình bày theo sơ đồ cụ thể.
4.3.1 Xây dựng giải thuật nhận diện từng ngón tay thay đổi
- _ Xác định ngón tay cái mở đóng:
Để xác định trạng thái của ngón cái (mở hay đóng), chúng ta có thể dựa vào tọa độ của các điểm trên ngón.
Nếu hoành độ của điểm đầu ngón (điểm 4) nhỏ hơn hoành độ của điểm ở giữa ngón (điểm 3), thì điểm 4 sẽ nằm bên phải điểm 3, cho thấy ngón cái được coi là đóng lại.
Nếu hoành độ của điểm đầu ngón (điểm 4) nhỏ hơn hoành độ của điểm ở giữa ngón (điểm 3), thì điểm 4 sẽ nằm bên phải điểm 3, cho thấy ngón cái đang đóng lại và điểm 4 sẽ nằm giữa lòng bàn tay.
+ Chúng ta có tọa độ của các điểm 3 và 4, ta có thé biéu diễn điều này dưới dạng công thức toán học:
+ Quy trình xác định trang thái ngón cái:
7 Lay hoành độ các điểm: X_real(4) va X_real(3)
= So sánh hoành độ các điểm: Sẽ xác định được ngón cái dang trong trạng thái đóng hay mở.
Chúng ta sử dụng số liệu hoành độ thực để so sánh thay thế cho giá trị X_real, tuy nhiên cần tính toán kỹ lưỡng về độ sai số khi khoảng cách giữa người và cam thay đổi Các giá trị của x thường chỉ thay đổi một khoảng rất nhỏ trong khoảng [0,1] Do đó, khi đứng xa cam một chút, việc nhận diện giá trị x thay đổi trở nên khó khăn do biên độ thay đổi chỉ là 0.001.
Khoi tạo các giá trị
Hình 4.8: Lưu đồ giải thuật xác định ngón tay cái mở
Xác định các ngón tay còn lại mở đóng:
Theo quan sát thực tế, có thể xác định rằng bốn ngón tay còn lại sẽ có sự thay đổi hình dạng đồng nhất khi mở ra Vị trí của điểm đầu ngón và điểm giữa sẽ thay đổi tùy thuộc vào việc ngón tay được mở ra hay đóng lại.
+ Để xác định trạng thái của các ngón tay còn lại — ngoại trừ ngón cái
(mở ra hay đóng lại), ta sẽ dựa trên giá tri tung độ của các điểm trên các ngón, chúng ta có thé sử dụng điều kiện sau:
Các điểm ở đỉnh mỗi ngón tay được gọi là K, với giá trị K nằm trong khoảng 8, 12, 16 và 20, tương ứng với các ngón trỏ, giữa, áp út và ngón út.
Nếu tung độ của điểm đầu ngón (điểm K) cao hơn tung độ của điểm giữa ngón (điểm K - 2 hoặc K - 1), thì điểm đầu ngón sẽ ở vị trí cao hơn so với điểm giữa ngón, và ngón tay đó được xem là mở ra.
Nếu điểm đầu ngón tay thấp hơn điểm giữa ngón tay, ngón tay đó được xem là đang đóng Với tọa độ của các điểm K và K-2, chúng ta có thể biểu diễn điều này bằng công thức toán học.
+ Quy trình xác định trạng thái các ngón tay ngoại trừ ngón cái:
" Lấy tung độ các điểm: Y_real(K) và Y_real(K - 2)
= So sánh tung độ các điểm: Sẽ xác định được ngón cái đang trong trạng thái đóng hay mở.
= Thay vị lay tọa độ ở các vị trí K — 2 tương ứng, chúng ta có thé đôi để so sáng giữa Y_ real(K) và Y_ real(K — 1) hoặc Y_ real(K
— 3) — so sánh với các điểm khác cũng trên ngón tay.
Khởi tạo và lay các giá trị Y tại các điểm
Yreal(i) > Yreal(i - 2) Ngón tay đó đóng
Hình 4.9: Lưu đồ giải thuật xác định các ngón tay khác mở
4.3.2 Xây dựng giải thuật nhận diện hình dang cơ bản của bàn tay
Để nhận diện trạng thái và hình dáng của một bàn tay, cần xem xét kỹ lưỡng các yếu tố như số lượng ngón tay mở và đóng Đây là bước cơ bản giúp phân biệt các cử chỉ.
Việc xác định rõ ràng từng ngón tay đang mở là rất quan trọng, vì mỗi ngón tay tạo ra sự khác biệt trong các cử chỉ Điều này giúp hình dung chính xác cử chỉ đang được thực hiện Ngoài ra, việc xem xét các ngón tay đang đóng cũng cần thiết, vì nó giúp phân biệt các cử chỉ cơ bản và tránh sự nhầm lẫn Phân tích tỉ mỉ từng yếu tố này cho phép chúng ta nhận diện chính xác trạng thái và hình dạng của bàn tay trong nhiều tình huống khác nhau.
4.3.2.1 Xác định số lượng ngón tay mở đóng:
- Dé xác định tông số lượng ngón tay có mở và tổng số lượng ngón tay đang đóng, ta sẽ xét theo từng giải thuật đã phát triển ở phan 2.3.1:
+ Khởi tạo: Đặt số lượng ngón tay đang mở luôn là 0 — luôn ở trạng thái
Khi xét ngón cái, ta cần so sánh hoành độ để xác định xem ngón này đang ở vị trí mở hay đóng Nếu ngón cái mở, chúng ta sẽ tăng số lượng ngón tay đang mở lên 1.
+ Xét ngón cần so sánh tung độ:
= Tạo một vòng lặp với một biến K chạy lần lượt các giá trị từ 8,
12, 16, 20 Tại mỗi điểm ứng với mỗi ngón tay trỏ, giữa, áp út và ngón út.
= Nếu ngón nào mở thì sẽ tăng số ngón tay đang mở lên 1 Ngược lại sẽ giữ nguyên biến.
= Sau khi chạy hết vòng lặp, kết quả trả về được số lượng ngón tay đang mở
Kiểm tra ngón cái slngontay += 1
Kiểm tra các ngón còn lại
Di chuyễn tới id ngón tiếp theo
Hình 4.10: Lưu đồ giải thuật xác định số ngón tay mở
4.3.2.2 Xác định từng ngón tay mở - đóng:
- Quy trình xác định số lượng ngón tay mở và đóng là một bước cơ bản trong quá trình nghiên cứu các cử chỉ và hành động của tay.
Việc chỉ dựa vào số lượng ngón tay có thể gây nhầm lẫn với các hình dạng tay khác nhau Do đó, bên cạnh việc xem xét số lượng ngón tay mở hay đóng, trong một số trường hợp với các cử chỉ đặc biệt, cần phải xem xét từng yếu tố một cách kỹ lưỡng.
38 ngón tay một cách tuần tự, theo mức độ ưu tiên — trước hết là xét ngón tay mở, sau đó mới đến ngón tay đóng.
Việc kiểm tra từng ngón tay xem có đóng hay không rất quan trọng để nâng cao độ chính xác trong việc nhận diện Nhiều khi, ngón tay có thể bị khép gập hờ do những phản xạ vô thức, dẫn đến khó khăn trong việc nhận diện Do đó, việc xem xét kỹ lưỡng từng ngón tay mở và đóng sẽ giúp người dùng thực hiện nhận diện một cách chính xác hơn, từ đó giảm thiểu lỗi nhảy chức năng.
Trong quá trình này, nếu một trong các điều kiện của ngón tay không được thỏa mãn, hệ thống sẽ lập tức ngừng chức năng đang thực hiện và trở về trạng thái ban đầu.
- _ Ví dụ các trường hợp dé phân loại:
Thực hiện test kiểm tra khả năng nhận diện . ++-ô+>++ 52 4.4.2 Thống kế mức độ chính xác - và sé liệu cần lấy cuối cùng
Để đảm bảo kết quả nhận diện chính xác và đáng tin cậy trước khi ứng dụng vào việc điều khiển slide trình chiếu, tôi đã tiến hành kiểm tra và hiệu chỉnh dựa trên các yếu tố thực tế, cùng với ý kiến từ những người hỗ trợ trong quá trình kiểm tra chức năng nhận diện.
- Cac yêu tô can chú ý;
+ Xử lý nhiễu cử chỉ
Việc xử lý và thay đổi các trạng thái hiện thực là cần thiết, trong đó yếu tố khách quan từ thói quen của nhiều người có ảnh hưởng lớn đến việc nhận diện các cử chỉ của họ.
Yếu tố môi trường và ánh sáng đóng vai trò quan trọng trong việc tạo ra bầu không khí phù hợp Độ đáp ứng của các cử chỉ cần được tính toán tỉ lệ để đảm bảo sự hiệu quả trong giao tiếp Đồng thời, việc xử lý các trạng thái mâu thuẫn cũng cần được chú ý để đạt được sự hài hòa trong tương tác.
+ Xác định các số liệu cần xem xét thực té.
+_ Thực hiện việc kiểm tra trên 10 người bạn với số lần kiểm tra lên tới
+ Thực hiện quan sát những yếu tô trên trên từng người được kiểm tra dé cải tiến và phát triển giải thuật.
+ Thực hiện canh chỉnh dựa trên từng trường hợp sai sót cũng như khắc phục các vân đê bât hợp lý vê các cử chỉ điêu khiên.
- _ Xác định sô liệu cân canh chỉnh ở từng bộ chức năng:
Độ chênh lệch của cử động chuyển tiếp slide trình chiếu là một thông số quan trọng, ảnh hưởng đến trải nghiệm người xem Khoảng thời gian phù hợp với mức độ thực hiện cử động chuyển tiếp slide cũng đóng vai trò quyết định, giúp tạo ra sự mượt mà và chuyên nghiệp cho bài thuyết trình.
Thông số 3: thông số chêch lệch trong việc xét hai cạnh song song trong trạng thái S2
+ Thông số 4: Thời gian ghi nhận độ biến thiên của tỉ lệ hai khoảng cách của hai ngón tay trong bộ chức năng 3.
- Thực hiện thử nghiệm việc test trên
4.4.2 Thống kế mức độ chính xác — và số liệu cần lấy cuối cùng.
- Ti lệ chính xác hiện tại lên đến hơn 90%
- _ Các thuật toán va cũng như cách chuyên trạng thái đã được bổ sung và điều chỉnh xuyên suốt.
- _ Thực hiện việc chia các trang thái xác định và các trạng thái điều khiển.
Kết quả khảo sát số liệu và thay đổi cho thấy độ chính xác của thông số đề tìm được chỉ số chính xác cuối cùng, phục vụ cho thuật toán, chứ không phải độ chính xác của thuật toán đó.
Bang 4.1: Chỉnh sửa thông số 1
` Gidtri | Số lần đã test| Độ chính | Có chỉnh sửa giải
Lân „ và kiểm tra xác thuật thay đồi
Bảng 4.2: Chỉnh sửa thông số 2 Ộ Giá trị Số lần đã test] Độ chính | Có chỉnh sửa giải
„ và kiêm tra xác thuật thay đồi l 0.05 20 100% Không
Bảng 4.3: Chỉnh sửa thông số 3
` Gid tri | Số lần đã test| Độ chính | Có chỉnh sửa giải
Lân „ và kiểm tra xác thuật thay đôi
2 0.1 20 95% Có Bồ sung các điều kiện ràng buộc ngón tay đóng
Bảng 4.4: Chỉnh sửa thông số 4
` Gidtri | Số lần đã test| Độ chính | Có chỉnh sửa giải
Lân , va kiém tra xác thuật thay đôi
2 0.05 20 100% Có Bồ sung các điều kiện ràng buộc ngón tay đóng
- Cac số liệu sau khi đã chốt sẽ được giữ trong thuật toán và thực hiện việc chạy các chức năng.
- _ Với mức độ đã chốt như các bảng trên, đã đảm bảo cho quá trình nhận diện cử chỉ tay chính xác, là bàn đạp cho bước tiếp theo.
Lập trình xây dựng mô hình con chuột ảo điều khiến
MỤc tiÊU Ăn TT TT T HT nưệp 55 4.5.2 Công cụ và Thư viện Sử dung .- Ăn sesreiey 55 4.5.3 Ứng dụng Điều Khién Chuyên Tiếp Slide . 2-2 25zsz+sz 55 4.6 Kết UA HISN thc: 17
- _ Xây dựng các thuật toán cơ bản đề điều khiển con chuột ảo.
- _ Xây dựng các thuật toán dé điều khiển bàn phim ảo.
- Ung dụng các thuật toán này dé điều khiển chuyền tiếp slide trình chiếu.
4.5.2 Công cụ và Thư viện Sử dụng
Chúng tôi phát triển các thuật toán cho chuột ảo và bàn phím ảo bằng ngôn ngữ lập trình Python, sử dụng thư viện pyautogui và keyboard Những thư viện này cho phép điều khiển chuột và bàn phím, từ đó tự động hóa các tác vụ trên máy tính một cách hiệu quả và dễ dàng.
4.5.3 Ung dụng Điều Khién Chuyển Tiếp Slide
- Nội dung: sử dụng lệnh press các phim left, right để thực hiện chuyền tiếp slide.
- So đồ thực hiện tại từng trạng thái:
Hình 4.17: So đồ chức năng hiện thực bộ chức nang l
- Ndi dung: sử dụng lệnh move_to để di chuyên con trỏ chuột theo tọa độ highlight đã có
- So đồ thực hiện tại từng trạng thái:
Hình 4.18: Sơ đồ chức năng hiện thực bộ chức năng 2
+ Tại trạng thái S3, sé đây tới trạng thái S3.n hiện tại.
+ Nếu xác nhận cử chỉ thu nhỏ, sẽ giảm | trạng thái, thực hiện truyền phím ctrl Nếu xác nhận cử chỉ phóng to, thực hiện truyền phím ctrl
+ Set up săn một lần chuyên đổi sé tăng 25% Số này hoàn toàn có thé thay đổi tùy thuộc vào nhu cau cần sử dụng.
+ Vanéu truong hop muốn về lại mặc định, ta có thé thực hiện chạy trạng thái S1.
- So đồ thực hiện tại từng trạng thái:
57 nhận tín hiệu phóng bàn phím: to ctrl ++
Hình 4.19: So đồ chức năng hiện thực chức năng phó to
Giảm thêm một trang thai ban phim: ctrl —
Sơ đồ chức năng thu nhỏ được trình bày trong Hình 4.20, cho thấy các trạng thái của bộ chức năng 3 sẽ tăng dần và giảm dần theo từng trạng thái.
Do lường tỉ lệ chính xác thông qua test thử hệ thống: 58 4.6.2 Đánh giá kết quả: . -:- 25c EE1211211211211211211 21.1 xe, 59 Chương 5 KET LUẬN 2: 2¿©22+SE+EE2+EESEEE2EE2E1E7112117171121111 2111121 txeE 60
Đề đảm bảo được kết quả thực nghiệm toàn hệ thống — Với các chức năng cụ thé, ta đã sử dụng các kết quả tối ưu trên phan 4.4.2.
Thực hiện thử nghiệm trên 15 người với tổng cộng 120 lần đo khác nhau.
Trong mỗi lần đo sẽ đảm bảo có đầy đủ tất cả các trạng thái với các điều kiện:
+ Có đủ tất cả trạng thái ở bảng dưới
+ Đảm bảo đa dạng về thứ tự các trạng thái được hoán vi qua các lần thử nghiệm.
+ Hệ thống sẽ được thực hiện tại môi trường ánh sáng ồn định, vừa phải.
- Thực hiện tiếp tục việc thử nghiệm tương tự toàn hệ thống, kết quả khảo sát được như sau:
Bảng 4.5: Bảng khảo sát việc chuyên trạng thái thực hiện chức năng
S1: Trạng thái xác định việc chuyên 96% tiếp trang trình chiếu S1.1: Trang thái xác định việc tiễn 96% đến trang kế tiếp
$1.2: Trạng thái xác định việc trở 97.2% lại trang trước đó
S2: Trạng thái tạo con chuột di 93% chuyên theo ngón tay
S3: Trạng thái xác định việc phóng 90% to hoặc thu nhỏ
- _ Kết quả thực hiện chạy thử hệ thống trong quá trình kiểm tra đã có các bước tiễn và hiểu quả riêng.
- _ Tỉ lệ chính xác đảm bảo trên 90% như mục tiêu đã dé ra
- Giải thuật linh hoạt, và có thé chủ động trong việc chỉnh sửa và xây dựng giải thuật mới.
- Phan chạy chức năng trên slide chi dừng lại những tinh năng cơ bản phục vu trong đề tài.
Phân tích và nhận diện cử chỉ tay dựa trên các điểm trên ngón tay đang trở thành một lĩnh vực nghiên cứu quan trọng trong công nghệ tương tác người-máy Bằng cách tập trung vào các điểm như đầu ngón tay, khớp và gốc ngón tay, chúng ta có thể hiểu rõ hơn về cấu trúc và đặc điểm của bàn tay Những thông tin này là nền tảng cho việc phát triển các thuật toán nhận diện cử chỉ chính xác và linh hoạt, đồng thời mở ra tiềm năng phát triển trong tương lai Việc phân tích các nhóm điểm trên ngón tay cho phép nhận diện và phân biệt các cử chỉ tĩnh và động Cử chỉ tĩnh, như giơ ngón tay hay xòe bàn tay, yêu cầu phân tích vị trí tương đối giữa các điểm trên ngón tay Trong khi đó, cử chỉ động như vẫy tay hay chỉ hướng cần theo dõi sự thay đổi vị trí của các điểm qua các khung hình liên tiếp.
Nghiên cứu về nhận diện cử chỉ có ứng dụng rộng rãi, từ việc cải thiện thiết bị thông minh đến nâng cao trải nghiệm trong thực tế ảo và thực tế tăng cường Việc phát triển và mở rộng các thuật toán nhận diện cử chỉ cho phép chúng ta nhận diện và phản hồi đa dạng các cử chỉ, bao gồm sự thay đổi của mu bàn tay, lòng bàn tay, cũng như các cử chỉ kết hợp và phức tạp hơn.
Phát triển giải pháp nhận diện cử chỉ dựa trên phân tích điểm trên ngón tay không chỉ nâng cao hiệu quả tương tác giữa người và máy, mà còn tạo ra nhiều cơ hội ứng dụng trong các lĩnh vực công nghệ tiên tiến khác.
- _ Tốc độ xử lý cao - thời gian đáp ứng của mỗi cử chỉ đạt được đều dưới 1 giây đảm bảo được tính nhanh chóng của hệ thống
- Dễ dàng ứng dung cho nhiều giải pháp hơn:
+ Xây dựng được các giải thuật nhận diện khác dựa trên sơ đồ các bước phân tích nhận diện, đã trình bay ở phan 4.1.1.
Việc ứng dụng các kết quả nghiên cứu cùng với các phép toán tọa độ có thể giúp tìm ra nhiều giải pháp cho các bài toán phức tạp hơn.
Việc lựa chọn các trạng thái cử chỉ tay cần được thực hiện một cách cẩn thận cho từng bước chuyển đổi trạng thái Hiện nay, một số bộ nhận diện trạng thái có thể gây ra tình trạng nhiễu loạn.
- Vi trí bị động trước camera
Phát triển về các thuật toán phức tạp cho việc nhận diện
Dựa trên các nền tảng thuật toán đã trình bày, chúng ta có thể nâng cao việc phát triển giải thuật để khai thác các mô hình tương tác của các nhóm điểm khác nhau hoặc các điểm ở xa nhau Một số phương hướng phát triển giải thuật từ các nội dung đã có trong đề tài bao gồm việc phân tích sâu hơn về hình dạng và chuyển động của cử chỉ tay.
Khai thác các trạng thái của ngón tay tại các điểm lẻ (1, 3, 5, 7, 9, ) giúp phân tích và nhận diện các trạng thái của ngón tay khi chỉ có một số ngón được hiển thị hoặc khi một số ngón bị che khuất Ví dụ, có thể xác định ngón tay đang gập một đốt hoặc những cử chỉ tay phức tạp hơn có thể gây ra sự che khuất của một số đốt ngón tay.
Xây dựng thuật toán để phát hiện và phân tích các nhóm điểm không thang hàng, chẳng hạn như nhóm 3 điểm không thang hàng hoặc nhóm 4 điểm mà không có ít nhất 3 điểm thang hàng, là một bước quan trọng trong việc nhận diện hình dạng và cấu trúc của các cử chỉ tay phức tạp hơn.
Để xác định độ rộng khoảng cách giữa hai ngón tay kề nhau mà không chạm vào nhau, bạn có thể thực hiện tính góc giữa chúng Cách này giúp bạn đo lường chính xác khoảng cách mà hai ngón tay tạo ra trong trường hợp không tiếp xúc trực tiếp.
+ Thực hiện việc xác định các tạo hình phức tạp của cửa chỉ tay — sau đó phát triển nhận diện được hành động của các cử chỉ đó.
Hoàn thiện các thuật toán là bước quan trọng, đảm bảo từng giai đoạn của thuật toán được thực hiện theo sơ đồ đã đề ra Cần chú trọng đến việc xác định rõ ràng đầu ra cho từng hàm chức năng để đạt được hiệu quả tối ưu trong quá trình phát triển.
Cải thiện độ chính xác là việc nâng cao hiệu suất của các giải thuật cấp thấp thông qua việc áp dụng các phương pháp tiên tiến trong xử lý dữ liệu và phân tích Điều này không chỉ giúp tối ưu hóa kết quả mà còn mở rộng khả năng ứng dụng trong nhiều lĩnh vực khác nhau.
Các ứng dụng của công nghệ cử chỉ đang ngày càng trở nên quan trọng trong nhiều lĩnh vực Trong y tế, nó hỗ trợ chẩn đoán y khoa dựa trên các biểu hiện cử chỉ của bàn tay Trong công nghệ giao tiếp, công nghệ này cải thiện hệ thống nhận diện ngôn ngữ ký hiệu và các ứng dụng giao tiếp bằng cử chỉ Ngoài ra, nó còn được ứng dụng trong việc điều khiển các thiết bị điện tử, xử lý ảnh và video, cũng như trong các ứng dụng thương mại điện tử.
Xây dựng thuật toán phát triển trên bàn tay trái — cả hai tay
Yêu cầu: Hoàn thiện được thuật toán cơ bản trong bàn tay phải.
Sự khác biệt đối với bàn tay trái:
Các vị trí điểm sẽ bị đảo ngược trên trục y, vì vậy cần xác định lại nội dung để thực hiện đúng và chính xác các chức năng Đảm bảo rằng các thuật toán vẫn hoạt động chính xác trên các ngón tay tương ứng Nên xây dựng các hàm chức năng để điều chỉnh các chỉ số phù hợp với tay phải.
Thuật toán xác định ngón tay cái cho thấy rằng vị trí các điểm ở ngón tay trái tương ứng với vị trí của các điểm ở ngón tay út Điểm đầu ngón tay cái sẽ là 20 thay vì 4, cho phép quan sát các điểm chia hết cho 4, với các cặp điểm như 4 và 20, 8 và 16 Điểm 12 không thay đổi do ngón giữa Công thức đổi mới cho thấy tổng hai chỉ số bằng 24 Tiếp tục áp dụng cho các bộ điểm khác, ta sẽ có tổng lần lượt là 22, 20, 18, tương ứng với các điểm có chỉ số chia 4 dư 3.
Để xác định ngón tay cái mở ở bàn tay trái, chúng ta sẽ đảo ngược dấu của các phép so sánh với x.
Hệ thống hiện thực trên hai tay:
Phải bổ sung thêm thuật toán xác định đó là tay trái hay tay phải.
Xác định khoảng cách từ điểm 0 đến điểm 1, để xác định điểm 1 đnag ở ngón nào, từ đó suy ra được đnag ở bàn tay nào.