Nghiên cứu, thiết kế và chế tạo thiết bị hỗ trợ dạy học thủ ngữ cho trẻ em thông qua cánh tay robot

96 0 0
Nghiên cứu, thiết kế và chế tạo thiết bị hỗ trợ dạy học thủ ngữ cho trẻ em thông qua cánh tay robot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ HỖ TRỢ DẠY HỌC THỦ NGỮ CHO TRẺ EM THÔNG QUA CÁNH TAY ROBOT S K C 0 9 Mà SỐ: SV2022-172 CHỦ NHIỆM ĐỀ TÀI: TRƯƠNG NGHỆ NHÂN SKC008034 Tp Hồ Chí Minh, tháng 10/2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP.HCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN NGHIÊN CỨU, THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ HỖ TRỢ DẠY HỌC THỦ NGỮ CHO TRẺ EM THƠNG QUA CÁNH TAY ROBOT SV2022-172 Thuộc nhóm ngành khoa học: Công nghệ Kỹ thuật Sinh viên thực hiện: Trương Nghệ Nhân Nam, Nữ: Nam Dân tộc: Kinh Lớp, khoa: 18161CLDT2B – Đào tạo Chất lượng cao Năm thứ: 4/Số năm đào tạo: Ngành học: CNKT Điện tử - Viễn thông Người hướng dẫn: PGS TS Lê Mỹ Hà TP.Hồ Chí Minh, tháng 10 năm 2022 MỤC LỤC MỤC LỤC i DANH MỤC BẢNG BIỂU iv DANH MỤC TỪ VIẾT TẮT v THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI vi Chương MỞ ĐẦU 1.1 Giới thiệu 1.2 Mục tiêu đề tài 1.3 Đối tượng phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.5 Bố cục Chương CƠ SỞ LÝ THUYẾT 2.1 Các nghiên cứu thực 2.1.1 Cánh tay robot Aslan .4 2.1.2 Nhận diện ngơn ngữ kí hiệu dựa YoloV5 2.1.3 Nhận diện ngơn ngữ kí hiệu sử dụng MediaPipe Long Short-Term Memory 2.2 Ngơn ngữ kí hiệu Việt Nam 2.3 Học sâu (Deep Learning) 2.4 Phát vật thể (Object Detection) 2.4.1 Giới thiệu .7 2.4.2 Mạng xương sống CSPDarknet .7 2.4.3 You Only Look Once (YOLO) 2.5 Nhận dạng hành động (Action Recognition) 11 2.5.1 Giới thiệu .11 2.5.2 Recurrent Neural Network (RNNs) .12 2.5.3 Gated Recurrent Units (GRUs) 13 2.5.4 Thư viện MediaPipe Hand 14 2.6 Các phương pháp đánh giá 14 2.7 Giới thiệu phần cứng 16 2.7.1 Arduino Nano 16 i 2.7.2 Động Servo .17 2.7.3 Động bước Nema 17 tỉ số 3969/289 .17 2.7.4 Module Adafruit PWM/Servo driver PCA9685 18 2.7.5 Module driver A4988 18 2.7.6 Màn hình cảm ứng điện dung Waveshare LCD (C) 18 2.7.7 Webcam Logitech C310 19 Chương THIẾT KẾ HỆ THỐNG 20 3.1 Thiết kế phần cứng 20 3.1.1 Thiết kế phần cứng khí 20 3.1.2 Thiết kế mạch điều khiển 26 3.2 Phần mềm thuật toán 38 3.2.1 Kiến trúc mạng mơ hình nhận diện cử tĩnh YoloV5 .38 3.2.2 Kiến trúc mạng mô hình nhận diện cử động 39 3.2.3 Thiết kế giao diện 42 3.2.4 Các Framework xây dựng mơ hình mạng 46 Chương THI CÔNG VÀ THỰC NGHIỆM 49 4.1 Thi công phần cứng 49 4.1.1 Lắp ráp cánh tay giả 49 4.1.2 Thi công board mạch 50 4.2 Các thực nghiệm cho nhận diện cử tĩnh 53 4.2.1 Thu thập tăng cường liệu 53 4.2.2 Huấn luyện mơ hình YoloV5 55 4.3 Các thực nghiệm cho nhận diện cử động 55 4.3.1 Huấn luyện mơ hình GRUs 55 4.3.2 Thu thập liệu 56 4.4 Xây dựng giao diện tương tác 58 Chương KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 61 5.1 Kết 61 5.1.1 Mơ hình phần cứng hệ thống 61 5.1.2 Mô hình phát cử tĩnh 63 5.1.3 Mơ hình nhận diện cử động 65 5.1.4 Giao diện tương tác với người học 67 ii 5.2 Nhận xét đánh giá 71 5.3 Tài liệu hướng dẫn sử dụng 73 5.4 Dự tốn chi phí thi công 74 Chương KẾT LUẬN VÀ KIẾN NGHỊ 76 6.1 Kết luận 76 6.2 Kiến nghị 76 TÀI LIỆU THAM KHẢO 77 PHỤ LỤC 79 MINH CHỨNG SẢN PHẨM ĐỀ TÀI 86 iii DANH MỤC BẢNG BIỂU Bảng 2.1 Phân tích hiệu suất mơ hình YoloV3, YoloV5s SSD–MobileV2 [16] 11 Bảng 3.1 Bảng thống kê thông số linh kiện sử dụng mơ hình 29 Bảng 3.2 Bảng trạng thái độ phân giải vi bước 33 Bảng 3.3 Bảng liệt kê thông số mơ hình mạng nhận diện cử tĩnh 39 Bảng 3.4 Bảng liệt kê thông số mơ hình mạng nhận diện cử động 40 Bảng 3.5 Bảng quy ước mã hóa dấu bảng chữ Việt Nam 44 Bảng 4.1 Bảng thống kê linh kiện sử dụng board mạch điều khiển 51 Bảng 4.2 Bảng thống kê góc Servo ký tự thủ ngữ 52 Bảng 4.3 Ánh xạ nhãn cử động ngôn ngữ kí hiệu 56 Bảng 5.1 Các thơng số kết q trình huấn luyện mơ hình YoloV5 64 Bảng 5.2 Bảng so sánh hiệu suất phân loại ba mơ hình nhận diện hành động phổ biến 67 Bảng 5.3 Bảng mô tả kết dùng chức “Phiên dịch” 70 Bảng 5.4 Kết thu sau thực 20 lần liên tục ký tự thủ ngữ 71 Bảng 5.5 Bảng so sánh số ký tự thủ ngữ mơ hình thực so với thực tế 72 Bảng 5.6 Bảng kết thực nghiệm thu âm khoảng cách khác 73 Bảng 5.7 Bảng dự tốn chi phí thi cơng mơ hình cánh tay robot 75 iv DANH MỤC TỪ VIẾT TẮT Ý nghĩa Từ viết tắt AI Artifical Intelligence CNNs Convolution Neural Networks EEPROM Electrically Erasable Programmable Read - Only Memory GRUs Gated Recurrent Units I2C Inter-Integrated Circuit USB Universal Serial Bus UART Universal Asynchronous Receiver - Transmitter MLP Multilayer Perception PWM Pulse Width Modulation YOLO You Only Look Once RNNs Recurrent Neural Network GRUs Gated Recurrent Units LSTM Long Short-Term Memory v BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH THƠNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI Thông tin chung - Tên đề tài: Nghiên cứu, thiết kế chế tạo thiết bị hỗ trợ dạy học thủ ngữ cho trẻ em thông qua cánh tay robot - Chủ nhiệm đề tài: Trương Nghệ Nhân Mã số SV: 18161125 Khoa: Đào tạo Chất lượng cao - Lớp: 18161CLDT2B - Thành viên đề tài: STT Họ tên MSSV Lớp Lê Nguyễn Thiên Sang 18161139 18161CLDT2B Khoa Đào tạo Chất lượng cao - Người hướng dẫn: PGS TS Lê Mỹ Hà Mục tiêu đề tài: Nghiên cứu thiết kế để tạo thiết bị hồn chỉnh giúp trẻ em câm điếc tự học tự kiểm tra, đánh giá kiến thức ngơn ngữ kí hiệu mà không cần đến giáo viên hướng dẫn Tính sáng tạo: - Sử dụng cơng nghệ in 3D để chế tạo cánh tay robot có khả chuyển động để thực thao tác thủ ngữ từ cho phép việc học trở nên trực quan - Áp dụng thuật toán nhận diện cử tay dựa công nghệ thị giác máy tính qua đánh giá hiệu q trình học ngôn ngữ mà không cần đến giáo viên Xây dựng giao diện tương tác với người học để triển khai chức phù hợp với trình học ngôn ngữ Kết nghiên cứu: - Thiết kế chế tạo thành cơng mơ hình phần cứng cánh tay robot thực 36/44 kí hiệu ngơn ngữ kí hiệu Việt Nam - Các mơ hình học sâu có khả nhận diện cử tĩnh 11 cử động bảng chữ thủ ngữ với độ xác 97% - Giao diện người học ưa nhìn, dễ sử dụng thiết kế với chế độ bao gồm: “Học chữ”, “Kiểm tra”, “Phiên dịch” Đóng góp mặt giáo dục đào tạo, kinh tế - xã hội, an ninh, quốc phòng khả áp dụng đề tài: Với thành công định dựa kết nghiên cứu cho thấy thiết bị phát triển hồn thiện để ứng dụng cho việc giáo dục ngơn ngữ kí hiệu cho trẻ em vi câm, điếc Khi áp dụng thực tế, thiết bị hứa hẹn mang lại lợi ích đáng kể cho trung tâm trẻ em mồ côi khuyết tật giải vấn đề thiếu hụt giáo viên ngơn ngữ kí hiệu Và nhờ đó, tất trẻ em câm, điếc khiếm thính có hội tiếp thu kiến thức nhân loại thông qua việc tiếp xúc sớm với ngôn ngữ Công bố khoa học SV từ kết nghiên cứu đề tài: Bài báo “A Vision-based Hand-sign Language Teaching System using Deep Neural Network: Methodology and Experiments” công bố kỉ yếu hội nghị The International Workshop on Intelligent Systems (IWIS 2022), Ulsan, Korea TP Hồ Chí Minh, ngày 10 tháng 11 năm 2022 SV chịu trách nhiệm thực đề tài Nhận xét người hướng dẫn đóng góp khoa học SV thực đề tài (phần người hướng dẫn ghi): TP Hồ Chí Minh, ngày 10 tháng 11 năm 2022 Người hướng dẫn vii Chương MỞ ĐẦU 1.1 Giới thiệu Theo WHO, giới có khoảng 34 triệu trẻ em điếc khiếm thính [1] Trong Việt Nam số 15,500 bao gồm trẻ em tuổi, số liệu thống kê gần vào năm 2014 [2] Bởi sinh mang khiếm khuyết quan thính giác nên em nhỏ tri giác giới âm thanh, dẫn đến không nghe tiếng nói khơng hình thành nên ngơn ngữ Chính điều làm cản trở phát triển thân bạn bè đồng trang lứa Về lâu dài em nhỏ cảm thấy tự ti dễ dẫn đến bệnh trầm cảm không quan tâm sâu sắc Ngôn ngữ kí hiệu ngơn ngữ sử dụng cử tay điệu để thay cho âm giọng nói Sự đời ngơn ngữ kí hiệu gỡ bỏ phần rào cản giao tiếp người câm, điếc nhờ tiếp cận với nguồn tri thức nhân loại Bởi chất ngơn ngữ tượng hình, nên khó học cần có dẫn kèm cặp giáo viên thời gian dài Tuy nhiên số lượng giáo viên có khả dạy ngơn ngữ cịn hạn chế, chủ yếu tập trung thành phố lớn Chính vậy, việc tạo sản phẩm có khả thay giáo viên việc giảng dạy ngơn ngữ kí hiệu nên xem vấn đề cấp thiết Bên cạnh đó, thời đại công nghệ 4.0 bùng nổ dẫn đến xuất số ứng dụng tự học ngơn ngữ kí hiệu thiết bị thông minh [3] Các ứng dụng cung cấp nhiều tài liệu số dạng video hay ảnh động để người học nhìn vào để bắt bước theo cử minh họa ứng dụng Tuy nhiên, tổ chức nghiên cứu phát triển trẻ em, chẳng hạn WHO [4] khuyến cáo không nên để trẻ em tiếp cận sớm đến thiết bị thơng minh, điều đem lại nhiều rủi ro làm ảnh hưởng đến sức khỏe nhận thức em nhỏ sau Chính thế, ứng dụng đời mang lại thuận tiện định cho việc học ngơn ngữ kí hiệu, để hướng tới đối tượng trẻ em chưa hồn tồn phù hợp Để người điếc khiếm thính với người bình thường giao tiếp qua lại với nhau, nhà nghiên cứu thiết kế triển khai số hệ thống nhận diện ngơn ngữ kí hiệu có khả phiên dịch ngơn ngữ kí hiệu thành văn bản, lời nói ngược lại Có hai danh mục nhận dạng ngơn ngữ kí hiệu, nhận diện dựa liệu thu từ cảm biến nhận diện dựa thị giác máy tính (computer vision) Trong báo [5], găng tay thông minh có khả nhận diện cử tay nhờ vào việc tích hợp cảm biến vi điều khiển Kết nghiên cứu đem lại độ xác cao nhược điểm hệ thống dây điện thiết bị điện tử gắn lên người làm hạn chế khả thao tác người dùng Còn T Dựa vào Bảng 5.5, ký tự gồm “R”, “M”, “V” “T” mơ hình cánh tay robot thực giống với hình ảnh thực tế Với số ký tự chữ “A” hay “L” mơ hình chưa thực giống hồn tịan hạn chế phần cứng khí Cụ thể, ngón cánh tay robot không thiết kế để thực chuyển động lên – xuống nên tạo biên độ giống nguyên ký tự “A” hay “L” Về khả nhận diện âm thanh, người sử dụng cần nói vào micro với âm lượng vừa đủ (55 dB) micro thu xuất câu nói hình giao diện Tuy nhiên, để xác định khoảng cách thu âm tối ưu từ micro tới nguồn phát âm nên tiến hành thực nghiệm khoảng cách khác thu kết Bảng 5.6 Bảng 5.6 Bảng kết thực nghiệm thu âm khoảng cách khác Khoảng cách (cm) Số lần thực nghiệm Số lần thu âm thành công -30 20 19 30 – 50 20 11 50 – 70 20 Từ kết thu bảng 5.6, khoảng cách từ 50cm – 70cm có số lần thực thành công thấp nguồn phát âm khoảng cách xa nên ảnh hưởng nhiều tạp âm Với khoảng cách 0cm -30cm có số lần thực thành công cao khoảng cách tới nguồn phát âm ngắn, ấm phát rõ nên khả thu âm đạt hiệu suất cao Ngoài ra, hạn chế hệ thống nên thời gian chuyển đổi âm thu sang dạng văn xuất hình giao chậm (3 - giây) Kết luận: Từ kết thu lần thực nghiệm, cho thấy hệ thống mơ hình cánh tay robot hỗ trợ dạy học ngơn ngữ ký hiệu hoạt động với ba chức “Học chữ”, “Kiểm tra”, Phiên dịch” Ở chế độ “Kiểm tra”, khả nhận diện phát cử nhanh, xác Ở chế độ “Học chữ”, thực thành công 36/44 ký tự thủ ngữ Tiếng Việt, nhiên số ký tự cánh tay robot thực chưa giống hoàn toàn so với thực tế hạn chế phần cứng khí Ở chế độ “Phiên dịch”, thực việc thu âm chuyển âm lời nói sang ngơn ngữ ký hiệu, thời gian chuyển đổi âm sang dạng văn bảng thị giao diện hình lâu (3 – giây) Mạch điều khiển có khả hoạt động thời gian dài khơng làm nóng linh kiện điện tử 5.3 Tài liệu hướng dẫn sử dụng 73 Bước 1: Cấp nguồn điện cho mô hình: Trong board mạch điều khiển hệ thống sử dụng nguồn điện độc lập 12V (Adapter) 5V (nguồn tổ ong) Đối với Arduino thiết bị ngoại vi bao gồm hình, camera sử dụng nguồn 5V lấy từ cổng USB laptop Khi cấp đủ nguồn, khởi chạy giao diện tương tác với người dùng Bước 2: Trước tiên, giao diện thị trang giới thiệu, người dùng cần nhấn nút “Bắt đầu” để chuyển sang trang chọn chế độ Tại giao diện trang chọn chế độ hiển thị nút nhấn tương ứng với chức “Học chữ”, “Kiểm tra”, “Phiên dịch” Tùy thuộc vào mục đích sử dụng để chọn chức phù hợp: • Chức “Học chữ”: Trên giao diện chức “Học chữ” thị 44 ký tự thủ ngữ Tiếng Việt bao gồm chữ cái, chữ số dấu Khi ký tự chọn thơng báo thị ký tự đồng thời mơ hình cánh tay robot thực thao tác thủ ngữ • Chức “Kiểm tra”: Trên giao diện chức “Kiểm tra” hiển thị hai khung chữ nhật, phía hai khung có 36 biểu tượng màu xám tương ứng với 36 câu hỏi kiểm tra Khi nhấn nút bắt đầu, khung chữu nhật bên trái hiển thị ký tự khung bên phải thị hình ảnh từ camera Người dùng cần thực thao tác thủ ngữ tương ứng với ký tự hiển thị trước camera Khi thực thơng báo “Chính xác” đồng thời khung chữ nhật bên trái hiển thị ký tự Lúc biểu tượng màu xám chuyển thành màu xanh để ghi nhận số câu trả lời người dùng • Chức “Phiên dịch”: Trên giao diện chức “Phiên dịch” hiển thị khung chữ nhật lớn hình, phía khung hai nút nhấn “Thu âm” “Phiên dịch” Để sử dụng, người dùng cần nhấn nút “Thu âm”, hộp thoại nhỏ xuất báo hiệu micro sẵn sàng Lúc người dùng nói câu micro thu âm lại Câu nói vừa thu âm hiển thị khung chữ nhật để người dùng xác nhận, câu nói khơng tiến hành nhấn nút “Thu âm”để thu âm lại, nhấn nút “Phiên dịch” để mơ hình cánh tay robot thực thao tác thủ ngữ ứng với câu nói Bước 3: Khi chế độ bất kỳ, người dùng nhấn nút “Home” góc phải hình để quay lại giao diện chọn chế độ Bước 4: Sau sử dụng xong, tiến hành nút “exit” để thoát khỏi giao diện đồng thời ngắt kết nối tất nguồn điện cấp bước 5.4 Dự tốn chi phí thi công Dựa vào linh kiện điện tử thống kê Bảng 5.7, kết hợp với vật liệu sử dụng q trình thi cơng mơ hình hệ thống, tiến hành thống kê, tổng hợp chi phí sử dụng cho đề tài Kết dự toán chi phí thi cơng thể Bảng 5.7 74 Bảng 5.7 Bảng dự tốn chi phí thi cơng mơ hình cánh tay robot STT Tên linh kiện Số lượng Đơn giá (VNĐ) Thành tiền (VNĐ) Arduino Nano 110,000 110,000 Module PCA9685 82,000 82,000 Driver A4988 25,000 25,000 Servo MG995 10 65,000 650,000 Servo Emax mini 55,000 110,000 Động bước 800,000 800,000 Dây điện 28,000 28,000 In 3D 400,000 400,000 Ốc – vít 30,000 30,000 10 Dây cước 30,000 30,000 11 Board đồng 20,000 20,000 12 Camera 800,000 800,000 13 Màn hình cảm ứng 1,400,000 1,400,000 14 Nguồn tổ ong 170,000 170,000 15 Adapter 28,000 28,000 16 Nhân công thực 250,000 500,000 Tổng cộng 5,183,000 Trong chương này, kết đạt phần cứng mềm trình bày Đối với phần cứng, thao tác cánh tay robot thực nhiều lần để chứng minh hệ thống có khả thao tác ổn định cử thủ ngữ ngơn ngữ kí hiệu Việt Nam Trong đó, phần mềm, biểu đồ độ xác đại lượng đo hiệu suất mơ hình thực nhằm cho thấy khả nhận diện mơ hình mạng học sâu Sau cách sử dụng mơ hình cánh tay robot dự tốn chi phí thi cơng cho đề tài trình bày Cuối cùng, đưa nhận xét đánh giá dựa kết đạt 75 Chương KẾT LUẬN VÀ KIẾN NGHỊ 6.1 Kết luận Trong đề tài luận án này, nhóm trình bày hệ thống giảng dạy ngơn ngữ kí hiệu Việt Nam dựa nguyên mẫu phần cứng cánh tay robot tương tác với người học thơng qua hình cảm ứng Về mơ hình phần cứng, cánh tay robot nhóm tự thiết kế thi cơng dựa cơng nghệ in 3D thao tác 36/44 kí hiệu ngơn ngữ kí hiệu Việt Nam Hệ thống sử dụng laptop làm khối xử lí trung tâm, vi điều khiển Arduino Nano, cảm biến bao gồm Micro Webcam module điều khiển cấu chấp hành Servo động bước Về phần mềm, mơ hình mạng học sâu áp dụng để nhận diện cử tĩnh 11 cử liên tục ngơn ngữ kí hiệu Việt Nam với độ xác cao Cụ thể, cử tĩnh, việc áp dụng mơ hình mạng YoloV5 mang lại kết nhận diện ấn tượng với độ xác trung bình mAP@0.5 99,73% mAP@[.5:.95] 83% Đồng thời, thư viện MediaPipe Hand kết hợp mô hình GRUs đem lại khả nhận diện cử động với độ xác lên đến 97% Cuối cùng, giao diện tương tác với người học nhóm thiết kế với chế độ bao gồm chế độ “Học chữ”, “Kiểm tra”, “Phiên dịch” Kết thực đáp ứng mục tiêu ban đầu nhóm đề Hệ thống hoạt động ổn định với nhiều chức năng, đồng thời mang tính nhân văn tính ứng dụng cao Với phương pháp thực cử 3D chân thực khiến cho việc học ngơn ngữ kí hiệu trở nên thú vị hơn, kết hợp với công nghệ nhận diện cử dựa mạng học sâu giúp đánh giá hiệu q trình học với độ xác cao mà không cần đến giáo viên Hơn nữa, việc xây dựng giao diện mang tính thẩm mĩ dễ sử dụng góp phần nâng cao khả tương tác người học hệ thống Tuy nhiên, ngồi kết đạt được, đề tài cịn hạn chế định Cụ thể, hạn chế kiến thức khí nên chưa giải tốn động học cho cánh tay robot, số kí tự thủ ngữ bảng ngơn ngữ kí hiệu Việt Nam chưa thực kí hiệu thực mang tính chất tương đối so với kí hiệu thực tế 6.2 Kiến nghị Với thành công định dựa kết nghiên cứu cho thấy thiết bị phát triển hoàn thiện để ứng dụng cho việc giáo dục ngơn ngữ kí hiệu cho trẻ em câm, điếc Khi áp dụng thực tế, thiết bị hứa hẹn mang lại lợi ích đáng kể cho trung tâm trẻ em mồ cơi khuyết tật giải vấn đề thiếu hụt giáo viên ngơn ngữ kí hiệu Và nhờ đó, tất trẻ em câm, điếc khiếm thính có hội tiếp thu kiến thức nhân loại thông qua việc tiếp xúc sớm với ngôn ngữ 76 TÀI LIỆU THAM KHẢO World Health Organization, “Deafness and Hearing loss,” Apr 01, 2021 https://www.who.int/health-topics/hearing-loss#tab=tab_2 (accessed May 20, 2022) [2] World Bank Group, “Unlocking the Potential of Pre-school Deaf Children in Vietnam,” Apr 17, 2014 https://www.worldbank.org/en/news/feature/2014/04/17/unlocking-thepotential-of-pre-school-deaf-children-in-vietnam (accessed May 20, 2022) [3] “The ASL App.” https://theaslapp.com/ (accessed Jul 17, 2022) [4] Craig Timberg and Rachel Siegel, “World health officials take a hard line on screen time for kids Will busy parents comply?,” The Washington post, Apr 24, 2019 https://www.washingtonpost.com/business/2019/04/24/who-infants-underyear-old-shouldnt-be-exposed-any-electronic-screens/ (accessed Jul 17, 2022) [5] T Chouhan, A Panse, A K Voona, and S M Sameer, “Smart glove with gesture recognition ability for the hearing and speech impaired,” in 2014 IEEE Global Humanitarian Technology Conference - South Asia Satellite (GHTC-SAS), Nov 2014, pp 105–110 [6] L.-G Zhang, Y Chen, G Fang, X Chen, and W Gao, “A Vision-Based Sign Language Recognition System Using Tied-Mixture Density HMM,” 2004 [Online] Available: http://www.jdl.ac.cn/user/lgzhang/Research/VCSLR.htm [7] L K S Tolentino, R O Serfa Juan, A C Thio-ac, M A B Pamahoy, J R R Forteza, and X J O Garcia, “Static sign language recognition using deep learning,” Int J Mach Learn Comput, vol 9, no 6, pp 821–827, 2019 [8] Michael Irving, “3D-printable robot arm is a sign language interpreter,” Aug 18, 2017 https://newatlas.com/aslan-sign-language-robot-arm/50951/ (accessed May 24, 2022) [9] T F Dima and M E Ahmed, “Using YOLOv5 Algorithm to Detect and Recognize American Sign Language,” 2021 International Conference on Information Technology, ICIT 2021 - Proceedings, pp 603–607, Jul 2021, doi: 10.1109/ICIT52682.2021.9491672 [10] S Ghosh, “Proposal of a Real-time American Sign Language Detector using MediaPipe and Recurrent Neural Network,” International Journal of Computer Sciences and Engineering7, vol 9, no 7, pp 46–52, Jul 2021 [11] Võ Đức Hồng, “Nhận dạng ngơn ngữ ký hiệu Tiếng Việt,” Luận án Tiến sĩ Kỹ thuật, Đại học Đà Nẵng, Đà Nẵng, 2018 [12] “A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way | by Sumit Saha | Towards Data Science.” https://towardsdatascience.com/acomprehensive-guide-to-convolutional-neural-networks-the-eli5-way3bd2b1164a53 (accessed Jul 17, 2022) [1] 77 [13] J Redmon, S Divvala, R Girshick, and A Farhadi, “You Only Look Once: Unified, Real-Time Object Detection,” Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition, vol 2016December, pp 779–788, Jun 2015, doi: 10.48550/arxiv.1506.02640 [14] “YOLO — You only look once, real time object detection explained | by Manish Chablani | Towards Data Science.” https://towardsdatascience.com/yolo-youonly-look-once-real-time-object-detection-explained-492dc9230006 (accessed Jul 17, 2022) [15] R Varadharajan Iyer, P Shashikant Ringe, and K Prabhulal Bhensdadiya, “Comparison of YOLOv3, YOLOv5s and MobileNet-SSD V2 for Real-Time Mask Detection,” International Research Journal of Engineering and Technology, 2021, [Online] Available: www.irjet.net [16] S Herath, M Harandi, and F Porikli, “Going deeper into action recognition: A survey,” Image Vis Comput, vol 60, pp 4–21, Apr 2017, doi: 10.1016/J.IMAVIS.2017.01.010 [17] Ivan Vasilev, Daniel Slater, Gianmario Spacagna, Peter Roelants, and Valentino Zocca, Python Deep Learning: Exploring deep learning techniques and neural network architectures with Pytorch, Keras, and TensorFlow, 2nd Edition Packt Publishing Ltd, 2019 [18] F Zhang et al., “MediaPipe Hands: On-device Real-time Hand Tracking,” Google Research, Jun 18, 2020 https://arxiv.org/abs/2006.10214v1 (accessed May 27, 2022) [19] Nguyễn Trọng Thành and Trần Thiện Thanh, “Thiết kế thi công cánh tay giả hỗ trợ cho người khuyết tật sử dụng tín hiêu EMG,” Trường ĐH SPKT TP.HCM, Ho Chi Minh, 2021 [20] Nguyễn Thanh Huy and Lê Ngọc Phú, “Nghiên cứu ứng dụng tín hiệu EEG điều khiển khung xương trợ lực cánh tay,” Trường ĐH SPKT TP.HCM, Hồ Chí Minh, 2020 [21] “I2C Communication Protocol GeeksforGeeks.” https://www.geeksforgeeks.org/i2c-communication-protocol/ (accessed Jul 18, 2022) [22] Phan Thông and Nguyễn Hải Quang, “Thiết kế thi công máy khắc laser CNC,” Trường ĐH SPKT TP.HCM, Hồ Chí Minh, 2020 78 PHỤ LỤC ❖ Code chương trình Arduino: #include #include Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); #define SERVOMIN 125 #define SERVOMAX 575 // đếm servo uint8_t servonum = 0; //biến cho hc06 String data; // Định nghĩa chân cho driver A4988 #define ENA #define STEP #define DIR int led1=13; int step_value_now,step_value_operate; int step_value_before=0; void setup() { Serial.begin(9600); Serial.println("16 channel Servo test!"); pinMode(ENA,OUTPUT); pinMode(STEP,OUTPUT); // Step pin pinMode(DIR,OUTPUT); // Dir - pin digitalWrite(ENA,LOW); // Set Enable low pwm.begin(); pwm.setPWMFreq(60); dieu_khien_servo(172, 152, 90, 27, 33,28, 27, 25, 28, 27, 27, 30); pinMode(LED_BUILTIN, OUTPUT); delay(5000); } void loop() { while (Serial.available()) { delay(30); char c = Serial.read(); if (c == "#") {break;} data += c; } SOSANH_DULIEU(); } int angleToPulse(int ang){ int pulse = map(ang,0, 180, SERVOMIN,SERVOMAX); Serial.print("Angle: ");Serial.print(ang); Serial.print(" pulse: ");Serial.println(pulse); return pulse; 79 } void dieu_khien_servo(int servo0,int servo1,int servo2,int servo3,int servo4, int servo5, int servo6,int servo7,int servo8,int servo9,int servo10,int servo11) { pwm.setPWM(0, 0, angleToPulse(servo0) ); pwm.setPWM(1, 0, angleToPulse(servo1) ); pwm.setPWM(2, 0, angleToPulse(servo2) ); pwm.setPWM(3, 0, angleToPulse(servo3) ); pwm.setPWM(4, 0, angleToPulse(servo4) ); pwm.setPWM(5, 0, angleToPulse(servo5) ); pwm.setPWM(6, 0, angleToPulse(servo6) ); pwm.setPWM(7, 0, angleToPulse(servo7) ); pwm.setPWM(8, 0, angleToPulse(servo8) ); pwm.setPWM(9, 0, angleToPulse(servo9) ); pwm.setPWM(10, 0, angleToPulse(servo10)); pwm.setPWM(11, 0, angleToPulse(servo11)); } void dieu_khien_step(int step_value,int delay_value) { step_value_now = step_value; step_value_operate= step_value_now - step_value_before; if (step_value_operate < 0) { step_value_operate = abs (step_value_operate); digitalWrite(ENA,LOW); // Đặt Enable trạng thái LOW digitalWrite(DIR,LOW); // Đặt Dir trạng thái HIGH } else { digitalWrite(ENA,LOW); // Đặt Enable trạng thái LOW digitalWrite(DIR,HIGH); step_value_operate = step_value_operate; } Serial.println(step_value_operate); for(int x = 0; x < step_value_operate ; x++) // Cho chay vong { digitalWrite(STEP,HIGH); // Output high delay(delay_value); // chờ digitalWrite(STEP,LOW); // Output low delay(delay_value); // chờ } step_value_before = step_value_now; } void SOSANH_DULIEU(){ if (data.length() > 0) { Serial.println(data); 80 if(data == "A" ||data == "a") { dieu_khien_servo(172, 120, 90, 162, 50, 175, 175, 80, 85, 160, 85, 30); // dieu_khien_step(50,5); } if(data == "AA" ||data == "aa") { dieu_khien_servo(172, 120, 90, 160, 90, 175, 175, 80, 85, 160, 85, 25); delay(600); dieu_khien_servo(172, 91, 90, 160, 90, 115, 117, 25, 28, 160, 92, 145); } if(data == "AW" ||data == "aw") { dieu_khien_servo(160, 0, 44, 59, 68, 60, 175, 80, 85, 160, 85, 25); delay(600); dieu_khien_servo(160, 0, 44, 59, 68, 60, 175, 80, 85, 160, 85, 25); } else if (data == "B" ||data == "b") { dieu_khien_servo(172, 62, 90, 27, 33, 28, 27, 25, 28, 27, 34, 145); } else if (data == "C" ||data == "c") { dieu_khien_servo(145, 113, 90, 103, 26, 111, 107, 25, 25, 101, 27, 123); } else if (data == "D" ||data == "d") { dieu_khien_servo(172, 110, 90, 162, 50, 28, 175, 80, 28, 160, 92, 140); } else if (data == "DD" ||data == "dd") { dieu_khien_servo(172, 110, 90, 162, 50, 28, 175, 80, 28, 160, 92, 140); delay(600); dieu_khien_servo(172, 110, 90, 162, 50, 115, 175, 80, 28, 160, 92, 140); } else if (data == "E" ||data == "e") { dieu_khien_servo(172, 152, 90, 110, 25, 115, 117, 25, 28, 115, 28, 140); } else if (data == "EE" ||data == "ee") { dieu_khien_servo(172, 152, 90, 110, 25, 115, 117, 25, 28, 115, 28, 140); delay(600); dieu_khien_servo(172, 91, 90, 160, 90, 115, 117, 25, 28, 160, 92, 145); } else if (data == "G" ||data == "g") { dieu_khien_servo(99, 120, 90, 175, 82, 25175, 85, 65, 175, 85, 145); 81 } else if (data == "H" ||data == "h") { dieu_khien_servo(172, 91, 90, 162, 50, 28, 31, 52, 28, 160, 92, 145); } else if (data == "I" ||data == "i") { dieu_khien_servo(172, 145, 90, 27, 33, 175, 175, 175, 85, 160, 92, 137); } else if (data == "K" ||data == "k") { dieu_khien_servo(172, 58, 90, 162, 50, 28, 71, 92, 28, 160, 92, 84); } else if (data == "L" ||data == "l") { dieu_khien_servo(172, 152, 90, 160, 90, 28, 175, 80, 28, 160, 92, 25); } else if (data == "M" ||data == "m") { dieu_khien_servo(99, 94, 90, 175, 82, 25, 77, 158, 145, 74, 162, 140); } else if (data == "N" ||data == "n") { dieu_khien_servo(99, 94, 90, 175, 82, 25, 77, 158, 145, 175, 85, 140); } else if (data == "O" ||data == "o") { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); } else if (data == "OO" ||data == "oo") { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); delay(600); dieu_khien_servo(172, 91, 90, 160, 90, 115, 117, 25, 28, 160, 92, 145); } else if (data == "OW" ||data == "ow") { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); delay(600); dieu_khien_servo(172, 145, 90, 110, 25, 175, 175, 80, 85, 160, 92, 137); } else if (data == "P" ||data == "p") { dieu_khien_servo(132, 58, 90, 175, 82, 26, 85, 119, 89, 175, 85, 81); } else if (data == "Q" ||data == "q") { dieu_khien_servo(132, 59, 90, 175, 82, 26, 175, 85, 89, 175, 85, 30); 82 } else if (data == "R" ||data == "r") { dieu_khien_servo(172, 91, 65, 160, 90, 45, 27, 25, 53, 160, 92, 145); } else if (data == "S" ||data == "s") { dieu_khien_servo(172, 61, 90, 162, 50, 61, 175, 80, 47, 160, 92, 47); } else if (data == "T" ||data == "t") { dieu_khien_servo(172, 114, 90, 27, 33, 135, 27, 25, 60, 27, 34, 112); } else if (data == "U" ||data == "u") { dieu_khien_servo(172, 91, 80, 162, 50, 27, 27, 25, 32, 160, 92, 145); } else if (data == "UW" ||data == "uw") { dieu_khien_servo(172, 91, 80, 162, 50, 27, 27, 25, 32, 160, 92, 145); delay(600); dieu_khien_servo(172,91, 90, 110, 25, 175, 175, 80, 85, 160, 92, 145); } else if (data == "V" ||data == "v") { dieu_khien_servo(172, 91, 104, 160, 90, 45, 27, 25, 53, 160, 92, 145); } else if (data == "X" ||data == "x") { dieu_khien_servo(172, 59, 90,160, 90, 115, 175, 80, 28, 160, 92, 25); } else if (data == "Y" ||data == "y") { dieu_khien_servo(172, 152, 90, 27, 33, 175, 175, 80, 85, 160, 92, 25); } else if (data == "NANG" ||data == "nang") { dieu_khien_servo(172, 140, 90, 27, 52, 25, 175, 85, 65, 175, 85, 140); delay(200); dieu_khien_servo(100, 140, 90, 27, 52, 25, 175, 85, 65, 175, 85, 140); } else if (data == "0" ) { dieu_khien_servo(172, 114, 90, 137, 30, 135, 149, 46, 60, 157, 25, 112); } else if (data == "1" ) { dieu_khien_servo(172, 126, 80, 160, 90, 45, 175, 80, 53, 160, 92, 145); 83 } else if (data == "2" ) { dieu_khien_servo(172, 91, 104, 160, 90, 45, 27, 25, 53, 160, 92, 145); } else if (data == "3" ) { dieu_khien_servo(172, 152, 90, 160, 90, 28, 27, 25, 28, 160, 92, 25); } else if (data == "4" ) { dieu_khien_servo(172, 62, 90, 27, 33, 28, 27, 25, 28, 27, 34, 145); } else if (data == "5" ) { dieu_khien_servo(172, 152, 90, 27, 33, 28, 27, 25, 28, 27, 34, 25); } else if (data == "6" ) { dieu_khien_servo(172, 62, 90, 160, 90, 28, 27, 25, 28, 27, 34, 145); } else if (data == "7" ) { dieu_khien_servo(172, 85, 90, 27, 33, 28, 27, 25, 28, 160, 92, 145); } else if (data == "8" ) { dieu_khien_servo(172, 115, 90, 27, 33, 28, 175, 80, 28, 27, 34, 145); } else if (data == "9" ) { dieu_khien_servo(172, 114, 90, 27, 33, 135, 27, 25, 60, 27, 34, 112); } data=""; } } Vì lý Code chương trình điều khiển hệ thống dài nên nhóm gửi tệp Code Python link đính kèm Trong link bao gồm file “Code Arduino” “Code Python”: https://drive.google.com/drive/folders/1ChgR9SfkvQEEDtGziZsg9DK19uXUM2K?usp=sharing ❖ Mô tả cách khởi tạo giao diện dựa PyQT5: 84 Pyuic5 –x interface.ui -0 interface.py a) import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5 import QtCore from interface import Ui_MainWindow class MainWindow(QMainWindow): def init (self): super(). init () self.uic = Ui_MainWindow() self.uic.setupUi(self) # định nghĩa đặt # Các chức đặt if name == " main ": app = QApplication(sys.argv) main_win = MainWindow() main_win.show() sys.exit(app.exec()) b) Hình PL.1 Ví dụ cách khởi tạo giao diện dựa PyQT5 ❖ Video demo sản phẩm: https://drive.google.com/drive/folders/14gMCShw2Bp_GhoLWUpZGXbWPLu2E gyLt?usp=sharing 85 MINH CHỨNG SẢN PHẨM ĐỀ TÀI ❖ Bài báo công bố: - Tiêu đề: “A Vision-based Hand-sign Language Teaching System using Deep Neural Network: Methodology and Experiments” - Tác giả: Nghe-Nhan Truong, Truong-Dong Do, Thien-Sang Le Nguyen, MinhThien Duong, Thanh-Hai Nguyen, My-Ha Le* - Hội nghị: 2022 International Workshop on Intelligent Systems (IWIS), Ulsan, Korea - Nhà xuất bản: IEEE - Ngày xuất 25/10/2022 - DOI: 10.1109/IWIS56333.2022.9920883 - Link báo: https://ieeexplore.ieee.org/abstract/document/9920883 86 S K L 0

Ngày đăng: 25/10/2023, 16:17

Tài liệu cùng người dùng

Tài liệu liên quan