1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công thiết bị hỗ trợ giao tiếp cho bệnh nhân bị liệt dựa vào chuyển động con ngươi của mắt

104 0 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 104
Dung lượng 8,02 MB

Nội dung

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 ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH THIẾT KẾ VÀ THI CÔNG THIẾT BỊ HỖ TRỢ GIAO TIẾP CHO BỆNH NHÂN BỊ LIỆT DỰA VÀO CHUYỂN ĐỘNG CON NGƯƠI CỦA MẮT GVHD: THS NGÔ BÁ VIỆT SVTH: LÊ PHƯỚC PHỤC KHANH PHẠM QUANG NHẬT SKL009706 Tp.Hồ Chí Minh, tháng 12/2022 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - KHÓA LUẬN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG THIẾT BỊ HỖ TRỢ GIAO TIẾP CHO BỆNH NHÂN BỊ LIỆT DỰA VÀO CHUYỂN ĐỘNG CON NGƯƠI CỦA MẮT GVHD: ThS Ngô Bá Việt SVTH1: Lê Phước Phục Khanh MSSV1: 18129025 SVTH2: Phạm Quang Nhật MSSV2: 18129039 TP Hồ Chí Minh – 12/2022 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - KHÓA LUẬN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG THIẾT BỊ HỖ TRỢ GIAO TIẾP CHO BỆNH NHÂN BỊ LIỆT DỰA VÀO CHUYỂN ĐỘNG CON NGƯƠI CỦA MẮT GVHD: ThS Ngô Bá Việt SVTH1: Lê Phước Phục Khanh MSSV1: 18129025 SVTH2: Phạm Quang Nhật MSSV2: 18129039 TP Hồ Chí Minh – 12/2022 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Tp HCM, ngày 29 tháng 12 năm 2022 NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Lê Phước Phục Khanh Phạm Quang Nhật Kỹ thuật Y Sinh Đại học quy 2018 MSSV: 18129025 MSSV: 18129039 Mã ngành: 7520212D Mã hệ: Lớp: 181290 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG THIẾT BỊ HỖ TRỢ GIAO TIẾP CHO BỆNH NHÂN BỊ LIỆT DỰA VÀO CHUYỂN ĐỘNG CON NGƯƠI CỦA MẮT II NHIỆM VỤ Các số liệu ban đầu: - Mô hình tài liệu số thiết bị giao tiếp mắt có thị trường - Các tài liệu kỹ thuật điều khiển thiết bị qua Jetson Nano Developer Kit - Các tài liệu Python cách thiết kế giao diện, giao tiếp qua bluetooth, wifi, tài liệu thư viện OpenCV - Các tài liệu Arduino thư viện Arduino - Mơ hình nhận diện đối tượng: You Only Look Once version - Huấn luyện đánh giá mơ hình: Google Colab - Ngơn ngữ lập trình: Python, Arduino - Tập liệu huấn luyện nhận diện mắt: Tự thu thập qua camera Nội dung thực hiện: - Tìm hiểu lý thuyết mơ hình nhận diện đối tượng - Kết nối Jetson Nano Developer Kit với hình Waveshare 10inch Webcam C270 HD - Tiến hành thí nghiệm huấn luyện mơ hình YOLOv4 i - Đánh giá kết thí nghiệm dựa phương pháp đánh giá thử nghiệm thực tế - Nghiên cứu xây dựng phần mềm nhận diện chuyển động - Nghiên cứu xây dựng hiển thị chức bàn phím ảo - Nguyên cứu thiết lập hoàn thiện ứng dụng hỗ trợ giao tiếp dành cho bệnh nhân bị liệt dựa vào chuyển động mắt - Thi công phần cứng, chạy thử nghiệm hiệu chỉnh hệ thống - Viết báo cáo thực - Bảo vệ luận văn III NGÀY GIAO NHIỆM VỤ: 13/09/2022 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 29/12/2022 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Ths Ngô Bá Việt CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Tp HCM, ngày tháng 12 năm 2022 LỊCH TRÌNH THỰC HIỆN KHĨA LUẬN TỐT NGHIỆP Họ tên sinh viên 1: Lê Phước Phục Khanh Lớp: 181290B Họ tên sinh viên 2: Phạm Quang Nhật Lớp: 181290A MSSV: 18129025 MSSV: 18129039 Tên đề tài: Thiết kế thi công thiết bị hỗ trợ giao tiếp cho bệnh nhân bị liệt dựa vào chuyển động mắt Tuần/ngày Tuần (13/09 – 18/09) Tuần (19/09 – 25/09) Tuần (26/09 – 02/10) Tuần (03/10 – 09/10) Tuần (10/10 – 16/10) Tuần (17/10 – 23/10) Tuần (24/10 – 30/10) Tuần (31/10 – 06/11) Tuần Nội dung Xác nhận GVHD Gặp GVHD để nghe phổ biến yêu cầu làm đồ án, tiến hành chọn đề tài viết đề cương tóm tắt u cầu đề tài chọn Tìm hiểu phần cứng phù hợp cho việc nhận diện mắt mắt Tiến hành tìm hiểu thử nghiệm phương pháp nhận diện mắt Tiếp tục tìm hiểu thử nghiệm phương pháp nhận diện mắt Tìm hiểu thiết kế UI Tìm hiểu mơ hình nhận diện đối tượng Thử nghiệm mơ hình nhận diện đối tượng Thử nghiệm, tìm phần cứng phù hợp cho mơ hình nhận diện đối tượng Xây dựng UI cho chương trình giao tiếp Tổ chức liệu huấn luyện mơ hình nhận diện iii (07/11 – 13/11) Tuần 10 (14/11 – 20/11) Tuần 11 (21/11 – 27/11) Tuần 12 (28/11 – 04/12) Tuần 13 (05/12 – 11/12) Tuần 14 (12/12 – 18/12) Tuần 15 (19/12 – 25/12) mắt Huấn luyện mơ hình nhận diện mắt Thử nghiệm điều khiển hoàn thiện UI giao tiếp Kết nối thử nghiệm điều khiển xe lăn điện Thiết kế mơ hình, thi cơng lớp vỏ thiết bị Viết báo cáo đề tài, hiểu chỉnh thiết bị Hoàn thiện báo cáo, Slide thuyết trình, làm video giới thiệu ứng dụng Hồn thiện báo cáo gửi cho GVHD xem xét Tuần 16 (26/12 – 30/12) góp ý Báo cáo trước GVHD nộp báo cáo Đồ án tốt nghiệp GV HƯỚNG DẪN (Ký ghi rõ họ tên) iv LỜI CAM ĐOAN Đề tài thực dựa tất nhóm làm đề tài tìm hiểu qua tài liệu kết nghiên cứu công bố với hướng dẫn từ thầy Ngô Bá Việt Không chép từ tài liệu hay cơng trình có trước Người thực đề tài Lê Phước Phục Khanh – Phạm Quang Nhật v LỜI CẢM ƠN Trải qua suốt trình nghiên cứu thực đề tài, có lúc nhóm thực đề tài sai hướng, có lúc mắc nhiều sai lầm mà với non nớt nhóm, khó mà vượt qua Tuy nhiên, nhờ hướng dẫn tận tình từ thầy Ngô Bá Việt – Giảng viên môn Điện tử cơng nghiệp - Y sinh, nhóm thực đề tài dần dần, bước vượt qua khó khăn mà nhóm mắc phải Với góp ý, kinh nghiệm quý báu mà Thầy chia sẻ giúp cho đề tài nhóm hồn thành trọn vẹn Chúng em xin gửi lời cảm ơn sâu sắc đến Thầy Bên cạnh đó, nhóm xin cám ơn thầy, cô khoa Điện – điện dạy cho nhóm thực đề tài kiến thức q báu tích lũy suốt q trình học trường Đại học Sư Phạm Kỹ Thuật TP.HCM Nhóm xin gửi lời cám ơn tới sinh viên hỗ trợ nhóm khơng q trình thực đề tài mà cịn q trình học tập rèn luyện trước Bên cạnh gửi lời cám ơn đến sinh viên: Lưu Quan Triều lớp 181290, Vũ Trần Quốc Minh lớp 181103, Ngô Trần Đăng Khoa, Trương Hồng Khánh, Nguyễn Đình Khoa, Nguyễn Hồng Khơi lớp 221510, người thân sinh viên thực đề tài Phạm Quang Nhật đóng góp liệu để thực việc huấn luyện mơ hình đề tài Cuối cùng, nhóm xin gửi lời cám ơn tới gia đình, người quan tâm, động viên ủng hộ nhóm từ phía sau Tất điều động lực để giúp nhóm thực đề tài khơng ngừng nổ lực, phấn đầu q trình thực đề tài nói riêng q trình rèn luyện học tập nói chung Xin chân thành cảm ơn! Người thực đề tài Lê Phước Phục Khanh – Phạm Quang Nhật vi MỤC LỤC NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN KHĨA LUẬN TỐT NGHIỆP iii LỜI CAM ĐOAN v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH VẼ .x LIỆT KÊ BẢNG xiii DANH MỤC TỪ VIẾT TẮT xiv TÓM TẮT xv Chương 1: TỔNG QUAN .1 1.1 ĐẶT VẤN ĐỀ .1 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN .4 1.5 BỐ CỤC Chương 2: CƠ SỞ LÝ THUYẾT 2.1 MỘT SỐ BỆNH CẦN ĐƯỢC HỖ TRỢ GIAO TIẾP 2.1.1 Liệt tứ chi Quadriplegia 2.1.2 Locked-in Syndrome (LiS) .6 2.2 MẠNG NƠ-RON TÍCH CHẬP 2.3 MỘT SỐ MÔ HÌNH NHẬN DIỆN ĐỐI TƯỢNG .10 2.3.1 Nhận diện đối tượng Mobilenet 10 2.3.2 Nhận diện đối tượng YOLO 12 2.4 LỰU CHỌN LINH KIỆN CHO THIẾT BỊ 13 vii [21] Nguyễn Đình Phú, “Giáo trình vi xử lý”, NXB Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 2016 [22] Phạm Quang Huy, “Arduino dành cho người tự học”, NXB Thanh Niên, 2019 72 PHỤ LỤC ➢ Mã nguồn chương trình: • Chương trình điều khiển Jetson Nano Developer Kit: classes, scores, boxes = model.detect(frame, CONFIDENCE_THRESHOLD, NMS_THRESHOLD) import cv2 import numpy as np from PIL import ImageFont, ImageDraw, Image, ImageTk end = time.time() import time from playsound import playsound from firebase import firebase color = len(COLORS)] import bluetooth from time import sleep BLUETOOTH_ name = 'HC-05' %f" % % cv2.rectangle(frame, box, color, 2) cv2.putText(frame, label, (box[0], box[1]5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2) # Device name addr = '00:20:04:BD:53:39' port = COLORS[int(classid) label = "%s : (class_names[classid[0]], score) ####################################### # # for (classid, score, box) in zip(classes, scores, boxes): # Device Address # ORFCMM port ####################################### # passkey = "12345" # passkey of the device you # want to connect s = bluetooth.BluetoothSocket(bluetooth.RFCOMM ) s.connect((addr,port)) HAM-HOAT-DONG if classid == 0:#mo frames == zz = dd = ####################################### # # MODE COLORS FONT BIEN_KHAC if classid == 4:#phai frames += if frames == 8: letter_index +=1 frames = mode = if classid == 3:#trai j,k = 0, frames += t=1 if frames == 8: g=0 letter_index -= zz = #nghi mat frames = dd = #lai xe if classid == 1:#tren frames += 73 COLORS = [(0, 0, 255), (0, 128, 255), (0, 255, 255), (0, 255, 0), (255, 255, 0), (255, 0, 0), (255, 0, 127), (255, 0, 255), (128, 128, 128), (255, 255, 255), (0, 0, 0)] zz += if frames == 8: if mode == 0: letter_index -= frames = frames = if mode == 1: letter_index = 14 blinking_frames = letter_index -= frames_to_blink = frames = if mode == 2: letter_index -= text = "" frames = fontpath = "DejaVuSans.ttf" if classid == 2:#duoi font = ImageFont.truetype(fontpath, 70) frames += fonta = ImageFont.truetype(fontpath, 40) if frames == 8: if mode == 0: fontb = ImageFont.truetype(fontpath, 60) letter_index += frames = firebase = firebase.FirebaseApplication('https://datbyt-dhkdefault-rtdb.asiasoutheast1.firebasedatabase.app',None) if mode == 1: letter_index += frames = if mode == 2: ####################################### # # letter_index += SET-UP YOLOV4 CONFIDENCE_THRESHOLD = 0.6 NMS_THRESHOLD = 0.7 class_names = [] with open("classes.txt", "r") as f: class_names = [cname.strip() for cname in f.readlines()] frames = if classid == 5:#chon dd += cv2.putText(frame, "BLINKING", (50, 150), cv2.FONT_HERSHEY_PLAIN, 3, (255,0,0), 3) blinking_frames += if blinking_frames == frames_to_blink: if active_letter == "Delete": board = np.zeros((170, 1220, 3), cap = cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) net = cv2.dnn.readNet("yolov4.weights", "yolov4.cfg") np.uint8) board[:] = 255 img_pil3 = Image.fromarray(board) draw3 ImageDraw.Draw(img_pil3) = text = '' 74 net.setPreferableBackend(cv2.dnn.DNN_BACK END_CUDA) net.setPreferableTarget(cv2.dnn.DNN_TARGE T_CUDA_FP16) h, k = 0, elif active_letter == "Enter": h, k = 0, 80 text = '' elif active_letter == ">": model = cv2.dnn_DetectionModel(net) model.setInputParams(size=(192, scale=1/255, swapRB=True) 192), mode = elif active_letter == "",17: "Enter", 18: "0", 19: "1", 20: "2", 21: "3", 22: "4",23: "Delete"} keys_set_2 = {0: "Menu", 1: "M", 2: "N", 3: "O", 4: "Ô",5: "Ơ", 6: "_", 7: "P", 8: "Q", 9: "S", 10: "T",11: "U", 12: "Enter", 13: "

Ngày đăng: 10/05/2023, 10:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w