Đồ án: Thiết kế hệ thống điều khiển thiết bị điện bằng nhận diện cử chỉ - ĐH Sư Phạm Kỹ Thuật TP.HCM

Đồ án tốt nghiệp: Thiết kế hệ thống điều khiển thiết bị điện thông minh qua nhận diện cử chỉ. Tìm hiểu giải pháp, ứng dụng công nghệ mới nhất.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2022

70
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Khám phá đồ án điều khiển thiết bị điện bằng cử chỉ 2024

Trong bối cảnh công nghệ 4.0, giao tiếp người-máy (Human-Computer Interaction) đang trở thành một lĩnh vực nghiên cứu trọng tâm. Đề tài điều khiển thiết bị điện bằng cử chỉ là một minh chứng điển hình cho xu hướng này, đặc biệt trong lĩnh vực nhà thông minh (smarthome). Đồ án tốt nghiệp này trình bày một hệ thống hoàn chỉnh, cho phép người dùng tương tác và điều khiển các thiết bị điện trong gia đình thông qua cử chỉ bàn tay một cách tự nhiên và trực quan. Hệ thống không chỉ dừng lại ở việc bật/tắt thiết bị mà còn cung cấp giao diện điều khiển trên màn hình cảm ứng và khả năng điều khiển bằng nút nhấn vật lý, tạo ra một giải pháp linh hoạt và toàn diện. Nền tảng của hệ thống là sự kết hợp giữa xử lý ảnh thời gian thực và các mô hình học máy tiên tiến. Dữ liệu hình ảnh từ camera được thu thập, sau đó áp dụng các thuật toán computer vision để xác định và trích xuất các điểm mốc trên bàn tay. Dựa trên các điểm mốc này, một mô hình trí tuệ nhân tạo đã được huấn luyện sẽ phân loại và nhận dạng cử chỉ tay tương ứng. Tín hiệu điều khiển sau đó được gửi đến các mạch điều khiển để thực thi lệnh trên thiết bị. Đồ án này không chỉ là một bài tập kỹ thuật mà còn mở ra tiềm năng lớn trong việc hỗ trợ người khuyết tật, người già, hoặc trong các môi trường yêu cầu thao tác không chạm, góp phần vào mục tiêu tự động hóa ngôi nhà một cách thông minh và tiện ích hơn. Toàn bộ quá trình từ nghiên cứu lý thuyết, thiết kế phần cứng, xây dựng phần mềm đến đánh giá kết quả được trình bày chi tiết trong báo cáo đồ án tốt nghiệp này.

1.1. Tổng quan công nghệ nhận dạng cử chỉ tay trong smarthome

Công nghệ nhận dạng cử chỉ tay đang định hình lại cách con người tương tác với không gian sống. Thay vì phụ thuộc vào công tắc cơ học hay ứng dụng trên điện thoại, người dùng có thể điều khiển đèn, quạt, TV chỉ bằng một cái vẫy tay. Cốt lõi của công nghệ này là computer visionhọc máy. Các hệ thống sử dụng camera để ghi lại hình ảnh, sau đó các thuật toán xử lý ảnh sẽ phân tích và xác định vị trí bàn tay. Thư viện như MediaPipe của Google cung cấp khả năng trích xuất 21 điểm mốc (landmarks) trên bàn tay với độ chính xác cao. Dữ liệu từ các điểm mốc này trở thành đầu vào cho một mô hình mạng nơ-ron được huấn luyện trước để phân loại các cử chỉ khác nhau. Ứng dụng trong nhà thông minh giúp tăng cường sự tiện lợi và tạo ra trải nghiệm người dùng liền mạch, đặc biệt hữu ích trong các tình huống tay bẩn hoặc đang bận rộn.

1.2. Mục tiêu và giới hạn của báo cáo đồ án tốt nghiệp này

Mục tiêu chính của đồ án là thiết kế và thi công một hệ thốngต้นแบบ có khả năng điều khiển thiết bị điện bằng cử chỉ một cách ổn định và chính xác. Hệ thống bao gồm hai khối chính: khối máy chủ (Raspberry Pi 4) xử lý nhận dạng cử chỉ và khối máy khách (ESP32) thực thi điều khiển. Mục tiêu cụ thể bao gồm: xây dựng mô hình học máy nhận diện được ít nhất 16 cử chỉ tay riêng biệt, thiết kế giao diện đồ họa trên màn hình cảm ứng, và đảm bảo giao tiếp không dây ổn định giữa hai khối qua giao thức TCP/IP. Tuy nhiên, đề tài cũng có những giới hạn nhất định. Hệ thống hiện chỉ điều khiển bật/tắt thiết bị mô phỏng (đèn LED) và hoạt động phụ thuộc hoàn toàn vào kết nối mạng Wi-Fi nội bộ. Độ chính xác của việc nhận dạng có thể bị ảnh hưởng bởi điều kiện ánh sáng và khoảng cách của người dùng tới camera.

II. Giải pháp cho nhà thông minh Các hạn chế cần vượt qua

Sự phát triển của hệ thống IoT đã mang lại nhiều tiện ích cho cuộc sống hiện đại, nhưng các phương pháp điều khiển truyền thống vẫn tồn tại nhiều hạn chế. Việc sử dụng công tắc vật lý đòi hỏi phải di chuyển đến vị trí của thiết bị, gây bất tiện, đặc biệt với người lớn tuổi hoặc người gặp khó khăn trong vận động. Các ứng dụng điều khiển trên điện thoại thông minh, mặc dù linh hoạt, lại yêu cầu người dùng phải luôn mang theo điện thoại, mở khóa, tìm và khởi động ứng dụng. Quá trình này có thể tốn thời gian và gây phiền phức trong nhiều tình huống. Hơn nữa, cả hai phương pháp trên đều không phải là giải pháp tối ưu cho những người có khuyết tật về vận động tay hoặc những người cần một phương thức tương tác rảnh tay. Đồ án điều khiển thiết bị điện bằng cử chỉ ra đời nhằm giải quyết trực tiếp những thách thức này. Bằng cách cung cấp một kênh giao tiếp người-máy tự nhiên hơn, hệ thống giúp loại bỏ các rào cản vật lý và kỹ thuật số, hướng tới một môi trường sống thực sự thông minh và dễ tiếp cận. Giải pháp này không chỉ nâng cao trải nghiệm người dùng thông thường mà còn mang ý nghĩa nhân văn sâu sắc, mở ra khả năng sống độc lập cho các đối tượng yếu thế trong xã hội. Việc phát triển các hệ thống như vậy là một bước tiến quan trọng trong việc tự động hóa ngôi nhà, biến công nghệ trở nên gần gũi và phục vụ con người một cách hiệu quả nhất.

2.1. Phân tích sự bất tiện của công tắc và ứng dụng di động

Công tắc tường là phương pháp điều khiển cơ bản nhất nhưng lại thiếu linh hoạt. Người dùng phải có mặt tại vị trí lắp đặt để thao tác. Các ứng dụng di động cho smarthome khắc phục được vấn đề vị trí nhưng lại tạo ra rào cản khác. Quy trình gồm các bước: tìm điện thoại, mở khóa, mở ứng dụng, chọn thiết bị và ra lệnh. Các bước này làm giảm tính tức thời của việc điều khiển. Hơn nữa, giao diện ứng dụng có thể phức tạp với một số người dùng. Sự phụ thuộc vào thiết bị di động cũng là một điểm yếu, ví dụ như khi điện thoại hết pin hoặc không ở gần.

2.2. Nhu cầu cấp thiết về hỗ trợ người khuyết tật và người già

Đối với người khuyết tật vận động hoặc người cao tuổi, việc di chuyển để bật công tắc hay thao tác trên màn hình cảm ứng nhỏ của điện thoại có thể là một thách thức lớn. Một hệ thống điều khiển bằng cử chỉ cung cấp một giải pháp thay thế hiệu quả. Nó cho phép điều khiển các thiết bị từ xa mà không cần tiếp xúc vật lý, giảm thiểu sự phụ thuộc vào người khác và tăng cường khả năng sống tự lập. Công nghệ này biến ngôi nhà thành một môi trường sống an toàn và dễ tiếp cận hơn, thể hiện rõ vai trò của trí tuệ nhân tạo trong việc cải thiện chất lượng cuộc sống cho các nhóm đối tượng đặc biệt.

III. Phương pháp thiết kế hệ thống điều khiển bằng cử chỉ tay

Để hiện thực hóa ý tưởng điều khiển thiết bị điện bằng cử chỉ, việc thiết kế một cấu trúc hệ thống phần cứng và phần mềm chặt chẽ là yếu tố tiên quyết. Theo báo cáo đồ án tốt nghiệp, hệ thống được xây dựng theo mô hình client-server. Khối máy chủ (server) sử dụng Raspberry Pi 4, một máy tính nhúng mạnh mẽ, đóng vai trò là bộ não trung tâm. Nó chịu trách nhiệm thu nhận hình ảnh từ webcam, chạy mô hình nhận dạng cử chỉ tay, xử lý logic điều khiển và hiển thị giao diện người dùng. Việc lựa chọn Raspberry Pi 4 là hợp lý do hiệu năng CPU cao, đủ khả năng xử lý các tác vụ computer visionhọc máy ở mức cơ bản. Khối máy khách (client) sử dụng vi điều khiển ESP32. Khối này kết nối với mạng Wi-Fi, nhận lệnh điều khiển từ máy chủ và trực tiếp điều khiển các thiết bị điện thông qua các module relay. ESP32 được chọn vì có tích hợp sẵn Wi-Fi và giá thành hợp lý, phù hợp cho các ứng dụng hệ thống IoT. Sự kết nối giữa hai khối được thực hiện qua giao thức TCP/IP, đảm bảo việc truyền dữ liệu ổn định và tin cậy trong mạng nội bộ. Thiết kế này mang lại tính module hóa cao, cho phép dễ dàng mở rộng hệ thống trong tương lai, ví dụ như thêm nhiều khối máy khách để điều khiển thiết bị ở các phòng khác nhau mà không cần thay đổi cấu trúc máy chủ.

3.1. Sơ đồ mạch nguyên lý Kết hợp Raspberry Pi 4 và ESP32

Sơ đồ mạch nguyên lý của hệ thống được chia làm hai phần rõ rệt. Khối máy chủ gồm Raspberry Pi 4 kết nối với một webcam qua cổng USB để thu hình, một màn hình cảm ứng 7 inch qua cổng HDMI và USB để hiển thị và tương tác. Nguồn cung cấp cho khối này là 5V-3A. Khối máy khách có trung tâm là ESP32, kết nối với 4 module relay để điều khiển 4 thiết bị mô phỏng (đèn LED 12V). Ngoài ra, khối này còn có các nút nhấn vật lý để điều khiển trực tiếp. Giao tiếp giữa hai khối hoàn toàn không dây thông qua mạng Wi-Fi, tuân theo mô hình TCP/IP, trong đó Raspberry Pi đóng vai trò server và ESP32 là client.

3.2. Lựa chọn linh kiện Module relay và webcam thu ảnh

Việc lựa chọn linh kiện đóng vai trò quan trọng trong sự ổn định của hệ thống. Webcam Logitech C270 HD được sử dụng vì có độ phân giải 720p, đủ sắc nét cho việc xử lý ảnh và tốc độ 30fps giúp giảm thiểu hiện tượng mất khung hình. Các module relay 5V được chọn để đóng/ngắt dòng điện cho các thiết bị. Các relay này được kích hoạt bằng tín hiệu 3.3V từ các chân GPIO của ESP32, đảm bảo tính tương thích và an toàn cho vi điều khiển. Các linh kiện khác như màn hình cảm ứng, nút nhấn, và đèn LED báo trạng thái đều được lựa chọn dựa trên tiêu chí tương thích, độ bền và dễ dàng tích hợp.

IV. Hướng dẫn xây dựng mô hình nhận dạng cử chỉ tay với AI

Trái tim của hệ thống điều khiển thiết bị điện bằng cử chỉ chính là mô hình trí tuệ nhân tạo (AI). Quá trình xây dựng mô hình này đòi hỏi sự kết hợp của nhiều công cụ và kỹ thuật trong lĩnh vực computer visionhọc máy. Toàn bộ quá trình được lập trình bằng ngôn ngữ Python, một lựa chọn phổ biến nhờ hệ sinh thái thư viện phong phú. Bước đầu tiên là thu thập và tiền xử lý dữ liệu. Thư viện MediaPipe của Google được sử dụng để phát hiện bàn tay trong khung hình video và trích xuất tọa độ của 21 điểm mốc quan trọng. Dữ liệu thô này sau đó được chuẩn hóa để loại bỏ sự ảnh hưởng của vị trí và kích thước bàn tay trong khung hình, giúp mô hình tập trung vào hình dạng của cử chỉ. Tiếp theo, thư viện Keras được sử dụng để xây dựng kiến trúc mạng nơ-ron nhân tạo. Dựa trên tài liệu tham khảo, mô hình gồm nhiều lớp ẩn để học các đặc trưng phức tạp từ dữ liệu điểm mốc. Lớp đầu ra sử dụng hàm kích hoạt softmax để tính toán xác suất cho 16 loại cử chỉ khác nhau. Quá trình huấn luyện mô hình (training) được thực hiện trên một tập dữ liệu lớn đã được gán nhãn, giúp mô hình học cách phân loại chính xác. Code đồ án được thiết kế để tích hợp mô hình đã huấn luyện này vào một luồng xử lý thời gian thực, đảm bảo hệ thống có thể nhận dạng cử chỉ tay ngay lập tức và gửi lệnh điều khiển tương ứng.

4.1. Sử dụng MediaPipe và OpenCV để trích xuất đặc trưng ảnh

Thư viện OpenCV (Python) được dùng để truy cập và xử lý luồng video từ webcam. Mỗi khung hình được chuyển cho MediaPipe. Giải pháp Hands của MediaPipe sẽ thực hiện hai tác vụ chính: phát hiện lòng bàn tay và sau đó xác định 21 điểm mốc (hand landmarks) trên đó. Quá trình này diễn ra cực kỳ nhanh chóng. Kết quả trả về là một bộ tọa độ (x, y, z) cho mỗi điểm mốc. Đây chính là bước trích xuất đặc trưng quan trọng nhất, chuyển đổi dữ liệu hình ảnh phức tạp thành một vector số học đơn giản, sẵn sàng cho việc huấn luyện mô hình học máy.

4.2. Huấn luyện mạng nơ ron với Keras và phân tích lưu đồ thuật toán

Kiến trúc mạng nơ-ron được xây dựng bằng Keras gồm một lớp đầu vào với 42 nơ-ron (2 tọa độ x, y cho 21 điểm mốc), hai lớp ẩn với 20 và 10 nơ-ron, và một lớp đầu ra với 16 nơ-ron (tương ứng 16 cử chỉ). Lưu đồ giải thuật của quá trình huấn luyện bắt đầu bằng việc tải tập dữ liệu, chia thành tập huấn luyện và kiểm tra. Mô hình sau đó được biên dịch với hàm mất mát 'sparse_categorical_crossentropy' và trình tối ưu hóa 'adam'. Quá trình huấn luyện (fit) được thực hiện qua nhiều kỷ nguyên (epochs) để mô hình học và điều chỉnh trọng số. Cuối cùng, mô hình được đánh giá trên tập kiểm tra để đo lường độ chính xác.

V. Kết quả thực tiễn từ đồ án tốt nghiệp và đánh giá hiệu quả

Sau quá trình thiết kế và thi công, hệ thống điều khiển thiết bị điện bằng cử chỉ đã được triển khai và kiểm thử thực tế. Kết quả của đồ án tốt nghiệp cho thấy hệ thống hoạt động ổn định, đáp ứng đúng các mục tiêu đề ra. Về phần cứng, khối máy chủ với Raspberry Pi 4 và khối máy khách với ESP32 giao tiếp mượt mà qua mạng Wi-Fi. Các module relay thực hiện đóng/ngắt thiết bị mô phỏng một cách chính xác theo lệnh nhận được. Giao diện điều khiển trên màn hình cảm ứng trực quan, dễ sử dụng, cho phép người dùng tùy chỉnh cử chỉ và điều khiển trực tiếp. Về phần mềm, mô hình nhận dạng cử chỉ tay đạt được độ chính xác cao trong điều kiện lý tưởng. Các thử nghiệm được tiến hành để đánh giá hiệu suất của hệ thống dưới các điều kiện ánh sáng và khoảng cách khác nhau. Bảng kết quả cho thấy, ở điều kiện ánh sáng tốt và khoảng cách phù hợp (khoảng 0.5 - 1.5 mét), tỷ lệ nhận diện chính xác rất cao. Tuy nhiên, hiệu suất có giảm nhẹ khi ánh sáng yếu hoặc khoảng cách quá xa, đây là một hạn chế chung của các hệ thống dựa trên computer vision. Nhìn chung, đồ án đã chứng minh tính khả thi của việc ứng dụng học máyhệ thống IoT để tạo ra một phương thức giao tiếp người-máy tiên tiến, mang lại giá trị thực tiễn cho việc tự động hóa ngôi nhà.

5.1. Đánh giá độ chính xác của mô hình trí tuệ nhân tạo AI

Độ chính xác của mô hình trí tuệ nhân tạo được đánh giá bằng ma trận nhầm lẫn (confusion matrix) và báo cáo phân loại (classification report). Kết quả từ báo cáo đồ án tốt nghiệp cho thấy độ chính xác tổng thể (accuracy) của mô hình đạt trên 98% trên tập dữ liệu kiểm tra. Ma trận nhầm lẫn chỉ ra rằng mô hình hiếm khi nhầm lẫn giữa các cử chỉ khác nhau, đặc biệt là các cử chỉ có hình dạng rõ ràng. Điều này chứng tỏ kiến trúc mạng nơ-ron và quá trình chuẩn hóa dữ liệu đã được thực hiện hiệu quả, tạo ra một mô hình AI đáng tin cậy cho ứng dụng.

5.2. Hiệu suất hệ thống trong điều kiện ánh sáng và khoảng cách

Thử nghiệm thực tế cho thấy hiệu suất nhận dạng cử chỉ tay phụ thuộc vào môi trường. Trong điều kiện ánh sáng ban ngày hoặc phòng đủ sáng, hệ thống hoạt động tốt với khoảng cách từ 0.5m đến 2m. Tuy nhiên, trong điều kiện ánh sáng yếu hoặc ngược sáng, thư viện MediaPipe có thể gặp khó khăn trong việc phát hiện bàn tay, dẫn đến giảm tỷ lệ nhận diện. Tương tự, khi ở quá gần (<0.5m) hoặc quá xa (>2m), bàn tay có thể không nằm trọn trong khung hình hoặc quá nhỏ, làm ảnh hưởng đến độ chính xác. Kết quả này cung cấp thông tin quan trọng để cải tiến hệ thống trong tương lai.

VI. Tương lai và hướng phát triển của công nghệ điều khiển cử chỉ

Đồ án điều khiển thiết bị điện bằng cử chỉ không chỉ là một sản phẩm hoàn chỉnh mà còn là nền tảng vững chắc cho những hướng phát triển xa hơn. Công nghệ này có tiềm năng ứng dụng vô cùng rộng lớn, vượt ra ngoài phạm vi nhà thông minh. Trong tương lai, hệ thống có thể được cải tiến để nhận diện các cử chỉ phức tạp hơn, chẳng hạn như điều khiển độ sáng của đèn bằng cách xoay tay hoặc điều chỉnh âm lượng TV bằng cách di chuyển các ngón tay. Việc tích hợp thêm các mô hình trí tuệ nhân tạo nhận dạng hành động của toàn bộ cơ thể có thể cho phép điều khiển dựa trên tư thế, mở ra một cấp độ tương tác mới. Hướng phát triển khác là tối ưu hóa code đồ án và mô hình học máy để có thể chạy trực tiếp trên các vi điều khiển mạnh mẽ hơn như Raspberry Pi Zero hoặc các dòng chip AI chuyên dụng, giảm chi phí và kích thước của hệ thống. Ngoài ra, việc kết nối hệ thống với các nền tảng hệ thống IoT dựa trên đám mây sẽ cho phép điều khiển từ xa qua internet và tích hợp với các trợ lý ảo như Google Assistant hay Amazon Alexa. Công nghệ điều khiển bằng cử chỉ hứa hẹn sẽ trở thành một phần không thể thiếu trong cuộc cách mạng tự động hóa ngôi nhà, mang lại một cuộc sống tiện nghi, an toàn và dễ dàng hơn cho tất cả mọi người.

6.1. Tiềm năng ứng dụng trong y tế và công nghiệp tự động

Ngoài smarthome, công nghệ này có thể được ứng dụng trong môi trường y tế để các bác sĩ phẫu thuật điều khiển thiết bị hiển thị mà không cần chạm tay, đảm bảo vô trùng. Trong công nghiệp, công nhân có thể điều khiển robot hoặc máy móc từ khoảng cách an toàn bằng cử chỉ, nâng cao hiệu suất và an toàn lao động. Đây là những lĩnh vực mà giao tiếp người-máy không chạm mang lại giá trị rất lớn.

6.2. Cải tiến mô hình và tích hợp thêm nhiều thiết bị ngoại vi

Trong tương lai, mô hình AI có thể được huấn luyện với tập dữ liệu đa dạng hơn để cải thiện khả năng nhận diện trong nhiều điều kiện ánh sáng khác nhau. Hệ thống cũng có thể được mở rộng để tích hợp thêm các loại cảm biến khác như cảm biến tiệm cận hoặc cảm biến cử chỉ chuyên dụng như APDS-9960 để tăng độ tin cậy. Việc kết hợp nhiều nguồn dữ liệu sẽ tạo ra một hệ thống điều khiển thông minh và mạnh mẽ hơn, đáp ứng được nhiều kịch bản sử dụng phức tạp trong thực tế.

21/09/2025

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

Chương 1 GIỚI THIỆU: các vấn đề về đề tài sẽ được khái quát ở chương này. - Các mục tiêu mà nhóm thực hiện sẽ nghiên cứu để hoàn thành hệ thống. - Những giới hạn trong quá trình thực hiện đề tài. - Các phương pháp được nhóm thực hiện sử dụng để nghiên cứu đề tài.

- Phạm vi và đối tượng mà nhóm thực sẽ tiến hành nghiên cứu trong quá trình thực hiện đề tài. Chương 2 CƠ SỞ LÝ THUYẾT: trình bày về tình hình nghiên cứu, hướng nghiên cứu, các dịch vụ đang được sử dụng. 3 Chương 3 THIẾT KẾ HỆ THỐNG: thực hiện thiết kế sơ đồ khối cho toàn hệ thống, nói chi tiết về thiết kế các khối phần cứng và quá trình thực hiện phần mềm. Các hoạt động điều khiển từ phần mềm tới phần cứng.

Chương 4 KẾT QUẢ: triển khai mô hình hoàn chỉnh về phần cứng, tiến hành hoạt động khởi chạy cho toàn hệ thống (các hoạt động điều khiều từ phần mềm tới các thiết bị phần cứng). Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: đánh giá quá trình hoạt động của mô hình sau khi hoàn thiện có đúng với mục tiêu của đề tài đặt ra hay không, các mục ưu điểm nổi bật của hệ thống cũng như một số khuyết điểm, từ đó nêu ra hướng phát triển cho hệ thống. 4 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU MÔ HÌNH NHẬN DIỆN CỬ CHỈ Đề tài nhóm thực hiện tham khảo và sử dụng mô hình nhận diện cử chỉ tay để thực hiện việc nhận diện cử chỉ tay dùng để bật tắt các thiết bị điện. Mô hình sử dụng thư viện Mê-đi-a-pai (MediaPipe) và thư viện Kê-rát (keras).1 Thư viện mê-đi-a-pai (MediaPipe) Một thư viện do Google thực hiện nghiên cứu và phát triển.

MediaPipe là tập hợp của một loạt các giải pháp máy học (Machine Learning) đa nền tảng có một số ưu điểm: có thể triển khai trên di động, máy tính, đám mây, Web, thiết bị IoT, … mã nguồn mở và hoàn toàn miễn phí (người dùng có thể sử dụng và tùy chỉnh trực tiếp theo bài toán của mình). Google Mê-đi-a-pai hỗ trợ hầu như tất cả các lĩnh vực về Thị giác máy tính (Computer Vision). Một số giải pháp như: Nhận diện khuôn mặt (Face Dectection), Lưới mặt (Face Mesh), Nhận diện bàn tay (Hands Detection), Ước tính tư thế người (Human Pose Estimation), Phát hiện đối tượng (Object Detection), … và nhiều hơn thế nữa. Đề tài nhóm thực hiện sử dụng giải pháp Nhận diện bàn tay (Hands Detection) [1].

Nhận diện các điểm mốc tọa độ trên bàn tay: giải pháp này sẽ hỗ trợ mô hình nhận diện được lòng bàn tay đang xuất hiện trên khung hình đang thu thập hình ảnh, từ lòng bàn tay này giải pháp sẽ vẽ ra 21 điểm mốc trên lòng bàn tay có tọa độ tương ứng so với khung hình đang thu thập hình ảnh. 5 Hình 2-1 21 điểm mốc bàn tay từ mê-đi-a-pai. [1] Hình 2-1 cho biết 21 điểm mốc bàn tay của con người được thư viện mê-đi- a-pai nhận diện. Với mỗi điểm mốc sẽ có thư viện đọc về giá trị tọa độ x, y, z (x, y, z lần lượt là chiều dài, chiều rộng và chiều sâu) của điểm mốc ấy trên khung hình mà máy ảnh chụp hoặc quay được.

Với mỗi cử chỉ sẽ trả về một bộ tọa độ khác nhau nên rất thích hợp cho việc huấn luyện cho mạng học sâu. Hình 2-2 Điểm mốc bàn tay được sử dụng trong thiết kế. Hình 2-2 hình tay của thành viên trong nhóm khi sử dụng thư viện Mê-đi- a-pai trong quá trình tìm hiểu và tham khảo mô hình nhận diện cử chỉ tay.2 Thư viện Kê-rát (Keras) Kê-rát là một thư viện hỗ trợ cho việc huấn luyện mô hình học sâu (Deep Learning) [2]. Keras được biết đến là một thư viện hỗ trợ xây dựng mô hình đơn giản, dễ nắm bắt nhất so với các thư viện khác, không cần hiểu quá sâu về Mạng Nơ-ron ta cũng có thể thực hiện xây dựng một mô hình tương đối hoàn chỉnh.

Lý do nhóm tham khảo và chọn mô hình này để thực hiện việc nhận diện cử chỉ này cũng một phần do mô hình này sử dụng thư viện Kê-rát dễ tiếp cận cho nhóm vì thành viên của nhóm không chuyên về lĩnh vực Trí tuệ nhân tạo (AI). Hình 2-3 Thư viện Kê-rát.3 Huấn luyện mô hình nhận diện cử chỉ cho hệ thống Nhóm thực hiện sử dụng 2 thư viện chính để hỗ trợ cho việc huấn luyện mô hình: Mê-đi-a-pai hỗ trợ việc tìm kiếm các bàn tay trên khung hình và trả về các dữ liệu mốc bàn tay, từ dữ liệu mốc bàn tay đó nhóm lưu lại thành một tập dữ liệu lớn gồm các cử chỉ mà nhóm muốn mô hình nhận diện được từ đó sử dụng thư viện Kê-rát, sử dụng tập dữ liệu đó thực hiện việc huấn luyện tạo ra một mô hình hoàn chỉnh có thể nhận diện được cử chỉ. Quy trình để huấn luyện một mô hình sử dụng thư viện của Kê-rát, đây là một quy trình chung cho hầu hết các mô hình sử dụng thư viện Kê-rát để huấn luyện. Quá trình các bước cụ thể sẽ được trình bày sau đây.

7 Hình 2-4 Quy trình huấn luyện mô hình của thư viện Kê-rát.1 Tải tập dữ liệu Đầu tiên là quá trình tải tập dữ liệu đã được lưu trữ để huấn luyện mô hình. Bộ dữ liệu ở đây là tọa độ các điểm mốc bàn tay, với mỗi cử chỉ ta sẽ có một bộ gồm 21 điểm mốc tọa độ trên lòng bàn tay. Mỗi bộ trong 21 điểm mốc bàn tay đó sẽ có 2 tọa độ là tọa độ so với chiều rộng và tọa độ so với chiều cao trên khung hình mà camera thu được dữ liệu hình ảnh bàn tay. Ngoài 42 cột biểu thị cho tọa độ của 21 điểm mốc bàn tay thì ta còn có thêm 1 cột biểu thị cho nhãn của mô hình nhận diện cử chỉ.

Vậy ta có tổng 43 cột cho mỗi dữ liệu để huấn luyện mô hình. Bộ dữ liệu này sẽ được tải lên Pycharm và thực hiện việc chia thành tập huấn luyện và tập kiểm tra theo tỉ lệ 75% huấn luyện và 25% kiểm tra.2 Xây dựng mô hình Xây dựng mô hình là vẽ kiến trúc mạng để thực hiện việc huấn luyện mô hình. Mô hình trong đề tài của nhóm được tham khảo kiến trúc mạng mô hình một đề tài hand gesture recognition mediapipe của Nikita Kiselov được chia sẻ trên gitbub. Mô hình này được xây dựng gồm có 4 lớp: lớp đầu tiên có 42 nơ-ron lần lượt là 2 thông số tọa độ của 21 điểm mốc bàn tay trên khung hình phát hiện bày tay, lớp thứ 2 là lớp ẩn gồm 20 nơ-ron và lớp thứ 3 cũng là một lớp ẩn 10 nơ-ron, cuối cùng là lớp ngõ ra có 16 ngõ ra (vì hệ thống có tổng 16 cử chỉ và cho phép người dùng có thể tùy ý điều chỉnh để điều khiển thiết bị mong muốn).

Ở lớp ngõ ra mô hình sử dụng hàm trung bình mũ (softmax) để tính xác suất của vector, hàm này thường được dùng trong các bài toàn phân loại đa lớp. Trong đề tài này hàm Softmax chia 16 ngõ ra thành xác suất tổng là 1 và giá trị của ngõ ra từ (0,1]. Hình 2-5 Hàm trung bình mũ (Softmax).3 Biên dịch mô hình Quá trình biên dịch mô hình là quá trình thực hiện lựa chọn các thông số cho quá trình huấn luyện mô hình. Hàm thất thoát, mất mát (Loss) mô hình sử dụng thông số phân loại chéo thưa thớt (sparse categorical crossentropy), hàm tối ưu hóa (optimizer) sử dụng thông số ‘adam’, hàm đánh giá mô hình (metrics) sử dụng ‘accuracy’.4 Huấn luyện mô hình Quá trình huấn luyện mô hình khi sử dụng thư viện Kê-rát hết sức đơn giản, chỉ cần gọi hàm tạo mô hình huấn luyện (fit).

Mô hình có gần 70000 dữ liệu với 16 cử chỉ để huấn luyện nên nhóm thực hiện sử dụng số lượng mẫu mỗi lần cập nhật trọng số là 128 (Batch_size = 128). Vì dữ liệu quá nhiều nên nhóm phải chia 9 nhỏ dữ liệu thành nhiều phần nhỏ để cập nhật trọng số. Ngoài ra còn có thông số gọi lại (callbacks) để mỗi lần gặp lỗi ta có thể lưu lại mô hình để chạy cho lượt tiếp theo.5 Đánh giá mô hình Để đánh giá mô hình nhóm sử dụng ma trận lỗi (confusion matrix) để đo lượng, tính toán hiệu suất cho bài toán phân loại của mô hình. Một vài thông số để đánh giá mô hình: - Số đúng thực tế (condition positive: P) - Số sai thực tế (condition negative: N) - Số dự đoán đúng mà nó đúng (True positive: TP) - Số dự đoán sai mà nó đúng (True negative: TN) - Số dự đoán đúng mà nó sai (False positive: FP) - Số dự đoán sai mà nó sai (False negative: FN) Với các thuật ngữ này ta có: Bảng 2-1 Bảng các công thức đánh giá một mô hình.

[3] Công thức Tên Độ chính xác (Accuracy: Acc) Tỷ lệ dự đoán đúng mà nó đúng (True Positive Rate: TPR) Recall Precision F1 score 10 2.2 THƯ VIỆN THIẾT KẾ GIAO DIỆN: QT Qt là một thư viện đa nền tảng để tạo nên các giao diện đồ họa người dùng, chủ yếu với các cửa sổ. Qt được viết bằng C++ và được thiết kế để sử dụng C++. Tuy nhiên hiện nay chúng ta có thể sử dụng thư viện này với nhiều ngôn ngữ khác như Java hay Python, … vì xuyên suốt quá trình thực hiện tham khảo mô hình nhận diện cử chỉ tay là ngôn ngữ Python nên nhóm quyết định sử dụng thư viện Qt dùng ngôn ngữ Python hay còn được gọi với tên khác là PyQt5 [4] thiết kế giao diện với ngôn ngữ Python đơn giản dễ nắm bắt trong quá trình thực hiện đề tài thiết kế. Hình 2-6 Thư viện Qt.

[4] Hình 2-5 logo thư viện Qt mà nhóm dùng để thực hiện thiết kết giao diện. Ngoài ra thư viện Qt còn có hỗ trợ QtNetwork gọi các hàm làm máy chủ, nhóm sử dụng để làm máy chủ cho hệ thống từ đó liên kết với máy khách.3 MÔ HÌNH MẠNG TCP/IP Thời đại hiện đại hóa ngày nay, bất kỳ nhà nào cũng có mạng internet thế nên việc sử dụng mạng để tương tác giữa các thiết bị điều khiển là điều hết sức phổ biến. Trong một ngôi nhà có thể có nhiều tầng do đó nếu dùng kết nối UART có dây thì việc thiết lập cho hệ thống nếu nhiều tầng sẽ rất rườm ra. Việc sử dụng mạng để tương tác giữa khối xử lý nhận diện cử chỉ rồi điều khiển thiết bị từ xa 11 bằng mạng thì có thể giải quyết được hạn chế mà kết nối UART là dùng dây kết nối.

Tầng ứng dụng (Application): đề cập đến các chương trình cần TCP/IP để giúp các thiết bị giao tiếp với nhau.

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