1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô

181 16 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

Tiêu đề Ứng Dụng Xử Lý Ảnh Trong Nhận Diện Điều Khiển Ô Tô
Tác giả Trần Đình Hiếu, Phạm Xuân Phong, Phạm Chánh Tân
Người hướng dẫn TS. Nguyễn Phụ Thượng Lưu
Trường học Trường Đại Học Công Nghệ TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Ô Tô
Thể loại đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 181
Dung lượng 5,97 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG XỬ LÝ ẢNH TRONG NHẬN DIỆN ĐIỀU KHIỂN Ô TÔ NGÀNH: CÔNG NGHỆ KỸ THUẬT Ô TÔ GIẢNG VIÊN HƯỚNG DẪN: TS NGUYỄN PHỤ THƯỢNG LƯU Sinh viên thực hiện: MSSV: Lớp: Trần Đình Hiếu 1711250341 17DOTB2 Phạm Xuân Phong 1711250619 17DOTB2 Phạm Chánh Tân 1711250443 17DOTB2 Tp Hồ Chí Minh, tháng 09, năm 2021 LỜI CẢM ƠN Lời đầu tiên, chúng em xin cảm ơn Ban Giám Hiệu Trường Đại Học Công Nghệ TP.HCM tạo điều kiện, sở vật chất để nhóm em thực đồ án Tiếp theo, chúng em xin chân thành cảm ơn q thầy ngành Cơng Nghệ Kỹ Thuật Ơ tô nỗ lực truyền đạt kiến thức suốt trình chúng em học tập trường nhiệt tình giúp đỡ nhóm em suốt q trình nghiên cứu hoàn thành đề tài giao Cuối cùng, chúng em sâu sắc bày tỏ lòng tri ân đến Thầy TS Nguyễn Phụ Thượng Lưu giúp đỡ nhiệt tình nhóm suốt q trình nghiên cứu đến hoàn thành đề tài “Ứng dụng xử lý ảnh nhận diện điều khiển ô tô” Mặc dù chúng em cố gắng nhiều với vốn kiến thức kinh nghiệm thực tế hạn hẹp, báo cáo nhóm em khơng tránh khỏi có sai lầm, thiếu sót Chúng em mong nhận dạy, lời khuyên, đóng góp vơ q báu q Thầy Cơ để nhóm hồn thiện tốt Một lần nữa, nhóm nghiên cứu xin chân thành cảm ơn! ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT ix DANH MỤC CÁC HÌNH x LỜI MỞ ĐẦU xv Chương .1 GIỚI THIỆU ĐỀ TÀI 1.1 Tính cấp thiết đề tài 1.1.1 Đặt vấn đề 1.1.2 Tầm quan trọng đề tài 1.1.3 Ý nghĩa đề tài 1.1.4 Lý chọn đề tài 1.2 Tình hình nghiên cứu 1.3 Mục đích nghiên cứu 1.4 Nhiệm vụ nghiên cứu 1.5 Phương pháp nghiên cứu 1.6 Kết đạt đề tài .7 1.7 Kết cấu đề tài .7 Chương .8 TỔNG QUAN GIẢI PHÁP 2.1 Tự nhận thức lái xe iii 2.2 Giáo dục nhận thức cho người lái xe 2.2.1 Dấu hiệu cảnh báo người lái mệt mỏi 2.2.2 Một số phòng tránh mệt mỏi lái xe 2.3 Sử dụng thiết bị hỗ trợ .10 2.3.1 Dòng thiết bị đơn giản 11 2.3.2 Dòng thiết bị cao cấp 11 2.4 Xây dựng mơ hình ứng dụng thiết bị 11 2.4.1 Ngơn ngữ lập trình Python .11 2.4.2 Đặc điểm, ứng dụng OpenCV 13 2.4.3 Raspberry Pi Model B 13 Chương 15 PHƯƠNG PHÁP GIẢI QUYẾT .15 3.1 Nhận diện phát dấu hiệu mệt mỏi người lái xe 15 3.1.1 Một số vấn đề cần giải 17 3.1.2 Sử dụng trắc nghiệm nhanh xác định trạng thái tỉnh táo người lái xe 19 3.2 Xử lý thông tin theo mức độ mệt mỏi người lái xe 19 3.3 Cách thức nhận diện tạo tín hiệu cảnh báo 21 3.3.1 Thu nhận hình ảnh tiền xử lý 21 3.3.2 Nhận diện 22 3.3.3 Cảnh báo 24 3.4 Tín hiệu kích thích 26 3.5 Các loại tín hiệu kích thích sử dụng để cảnh báo thiết bị 28 3.5.1 Kích thích ánh sáng 28 iv 3.5.2 Kích thích âm 29 Chương 30 THIẾT KẾ CHẾ TẠO MƠ HÌNH 30 4.1 Nghiên cứu tổng quan .30 4.1.1 Phân tích số thiết bị có chức tương tự 30 4.1.1.1 Thiết bị cảnh bảo buồn ngủ Carcam Fatigue Warning System .30 4.1.1.2 Thiết bị cảnh báo ngủ gật lái xe tích hợp GPS FW-03 32 4.1.1.3 Thiết bị hỗ trợ theo dõi nhịp tim dùng tơ 34 4.1.1.4 Dòng thiết bị đơn giản cảnh báo buồn ngủ cho người lái xe 36 4.1.1.5 Dòng thiết bị cao cấp thiết kế theo nhà sản xuất (Ford) .38 4.1.2 Nghiên cứu thực xử lý ảnh 39 4.1.2.1 Tiền xử lý ảnh 39 4.1.2.2 Các mốc khuôn mặt ứng dụng OpenCV Python 45 4.2 Phân tích thiết kế mơ hình 47 4.2.1 Yêu cầu thiết kế 48 4.2.1.1 Phần cứng 48 4.2.1.2 Phần mềm 49 4.2.2 Sơ đồ khối tổng quan 51 4.2.3 Nguyên lý hoạt động 52 4.3 Thiết kế xây dựng mơ hình thiết bị 54 4.3.1 Sơ đồ cấu tạo 54 4.3.2 Bản vẽ chi tiết có kích thước phận mơ hình 56 4.3.3 Cấu tạo phần cứng mơ hình 65 4.3.3.1 Mạch Raspberry Pi Model B (8GB) 65 v 4.3.3.2 Module Relay Mở Rộng Cho Raspberry Pi 73 4.3.3.3 Nguồn điện (5V/3A) 75 4.3.3.4 Bộ nhớ (Thẻ Nhớ MicroSDXC SanDisk Ultra 32GB 100MB/s) 77 4.3.3.5 Raspberry Pi Camera Module V2 8Megapixel 77 4.3.3.6 Công tắc khởi động 78 4.3.3.7 Loa cảnh báo 79 4.3.3.8 Giá đỡ thiết bị 79 4.3.4 Mơ hình sản phẩm thiết kế hồn thiện 80 4.4 Phương án thiết kế phần mềm mơ hình 81 4.4.1 Lập trình xử lý ảnh với ứng dụng OpenCV ngôn ngữ lâp trình Python 81 4.4.1.1 Trích xuất nhận diện khuôn mặt 81 4.4.1.2 Xác định vị trí mắt trích xuất trạng thái mắt đóng/mở .82 4.4.1.3 Cách thức trích xuất nhịp tim OpenCV Python 82 4.4.1.4 Kiểm tra, xử lý thông tin trường hợp đưa định cảnh báo 83 4.4.1.5 Tiếp nhận đưa cảnh báo .85 4.4.2 Lưu đồ thuật tốn lập trình .87 4.5 Xây dựng mạch điện đưa tín hiệu thiết bị cảnh báo 90 4.5.1 Sơ đồ mạch điện kết nối phận 90 4.5.2 Sơ đồ mạch điện cảnh báo 91 Chương 94 THI CÔNG MÔ HÌNH 94 5.1 Thi công lắp ráp mô hình .94 vi 5.2 Nạp chương trình điều khiển vào thiết bị 101 5.3 Thử nghiệm mơ hình mơ 103 5.3.1 Thử nghiệm thu nhận tín hiệu 103 5.3.2 Thử nghiệm mực độ khác 111 5.3.3 Thử nghiệm khả hoạt động phần mềm 113 5.4 Thử nghiệm mơ hình vật lý 113 5.4.1 Thử nghiệm mơ hình chạy chương trình 113 5.4.2 Thử nghiệm mực độ khác 114 5.4.3 Thử nghiệm khả hoạt động cảnh báo mơ hình vật lý 114 Chương 116 ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN .116 6.1 Đánh giá kết 116 6.2 Về lý thuyết 118 6.3 Về thực hành 118 6.4 Đánh giá chung đồ án .119 6.4.1 Ưu điểm 119 6.4.2 Nhược điểm 121 6.5 Thuận lợi khó khăn thực đề tài 123 6.5.1 Thuận lợi 123 6.5.2 Khó khăn 123 6.6 Khả phát triển đề tài 124 TÀI LIỆU THAM KHẢO 125 PHỤ LỤC 127 vii PHỤ LỤC CHƯƠNG TRÌNH XỬ LÝ ẢNH TRONG NHẬN DIỆN ĐIỀU KHIỂN Ô TÔ 127 PHỤ LỤC 1.1 Trích xuất nhận diện khn mặt 147 PHỤ LỤC 1.2 Xác định vị trí mắt trích xuất trạng thái mắt đóng/mở .148 PHỤ LỤC 1.3 Cách thức trích xuất nhịp tim OpenCV Python 149 PHỤ LỤC 1.4 Kiểm tra, xử lý thông tin trường hợp đưa định cảnh báo 159 PHỤ LỤC 1.5 Tiếp nhận đưa cảnh báo 164 viii DANH MỤC CÁC TỪ VIẾT TẮT ATGT : An Tồn Giao Thơng TS : Tiến sĩ OpenCV : Open Source Computer Vision Library CGI : Computer Generated Imagery AA : Alcoholics Anonymous QCVN: : Quy chuẩn kỹ thuật quốc gia BGTVT : Bộ giao thông vận tải TH_1, : Trường hợp TH_2 : Trường hợp TH_3 : Trường hợp Bpm : Beats per minute LAB : Hệ màu L * a * b * HOG : Histrogram of oriented gradient MIPI CSI : Camera Serial Interface MIPI DSI : Display Serial Interface HDMI : High Definition Multimedia Interface USB : Universal Serlal Bus BLE : Bluetooth Low Energy RGB : Red – Green - Blue HSV : Hue – Saturation – Value ix DANH MỤC CÁC HÌNH HÌNH TRANG Hình 3.1: Dấu hiệu hành vi mệt mỏi lái xe (Nguồn internet) 15 Hình 3.2: Dấu hiệu khó thở, tức ngực (Nguồn internet) 16 Hình 3.3: Dấu hiệu đau nhức đầu lái xe (Nguồn internet) 16 Hình 3.4: Buồn ngủ lái xe vào ban đêm (Nguồn internet) 20 Hình 3.5: Mơ camera thu nhận hình ảnh (Nguồn internet) 22 Hình 3.6: Ứng dụng OpenCV quét khuôn mặt (Nguồn internet) 23 Hình 3.7: Thiết bị dị tìm khn mặt (Nguồn internet) 23 Hình 3.8: Mô hệ thống cảnh báo ngủ gật xe Lexus (Nguồn internet) 24 Hình 3.9: Mơ hình đề xuất ứng dụng 25 Hình 3.10: Các loại tín hiệu dùng để cảnh báo (Nguồn internet) 27 Hình 3.11: Ánh sáng đèn led (Nguồn internet) 28 Hình 4.1: Thiết bị cảnh bảo buồn ngủ Carcam Fatigue Warning System (Nguồn internet) .31 Hình 4.2: Cấu tạo thiết bị GPS FW-03: 32 Hình 4.3: Hạn chế khu vực thiếu sáng (Nguồn internet) 34 Hình 4.4: Sử dụng đồng hồ thông minh theo dõi nhịp tim lái xe (Nguồn internet) .35 Hình 4.5: Hạn chế việc sử dụng đồng hồ lái xe môi trường khắc nghiệt (Nguồn internet) 36 Hình 4.6: Các thiết bị cảnh báo đơn giản (Nguồn internet) .36 Hình 4.7: Cấu tạo đơn giản thiết bị: 37 x self.before_time_3 = datetime.now() self.message_warning = False self.curr_warning_type = self.curr_warning_time = self.waring_time = self.estimate = def find_faces_toggle(self): self.find_faces = not self.find_faces return self.find_faces def get_faces(self): return def shift(self, detected): x, y, w, h = detected center = np.array([x + 0.5 * w, y + 0.5 * h]) shift = np.linalg.norm(center - self.last_center) self.last_center = center return shift 152 def draw_rect(self, rect, col=(0, 255, 0)): x, y, w, h = rect cv2.rectangle(self.frame_out, (x, y), (x + w, y + h), col, 1) def get_subface_coord(self, fh_x, fh_y, fh_w, fh_h): x, y, w, h = self.face_rect return [int(x + w * fh_x - (w * fh_w / 2.0)), int(y + h * fh_y - (h * fh_h / 2.0)), int(w * fh_w), int(h * fh_h)] def get_subface_means(self, coord): x, y, w, h = coord subframe = self.frame_in[y:y + h, x:x + w, :] v1 = np.mean(subframe[:, :, 0]) v2 = np.mean(subframe[:, :, 1]) v3 = np.mean(subframe[:, :, 2]) return (v1 + v2 + v3) / def train(self): self.trained = not self.trained 153 return self.trained def plot(self): data = np.array(self.data_buffer).T np.savetxt("data.dat", data) np.savetxt("times.dat", self.times) freqs = 60 * self.freqs idx = np.where((freqs > 50) & (freqs < 180)) pylab.figure() n = data.shape[0] for k in xrange(n): pylab.subplot(n, 1, k + 1) pylab.plot(self.times, data[k]) pylab.savefig("data.png") pylab.figure() for k in xrange(self.output_dim): pylab.subplot(self.output_dim, 1, k + 1) pylab.plot(self.times, self.pcadata[k]) pylab.savefig("data_pca.png") pylab.figure() for k in xrange(self.output_dim): 154 pylab.subplot(self.output_dim, 1, k + 1) pylab.plot(freqs[idx], self.fft[k][idx]) pylab.savefig("data_fft.png") quit() def run(self, cam): self.times.append(time.time() - self.t0) self.frame_out = self.frame_in self.gray = cv2.equalizeHist(cv2.cvtColor(self.frame_in, cv2.COLOR_BGR2GRAY)) col = (100, 255, 100) if self.find_faces: detected = list(self.face_cascade.detectMultiScale(self.gray, scaleFactor=1.3, minNeighbors=4, minSize=(50, 50), flags=cv2.CASCADE_SCALE_IMAGE)) if len(detected) > 0: detected.sort(key=lambda a: a[-1] * a[-2]) if self.shift(detected[-1]) > 10: self.face_rect = detected[-1] 155 if set(self.face_rect) == set([1, 1, 2, 2]): return forehead1 = self.get_subface_coord(0.5, 0.18, 0.25, 0.15) self.draw_rect(forehead1) vals = self.get_subface_means(forehead1) self.data_buffer.append(vals) L = len(self.data_buffer) if L > self.buffer_size: self.data_buffer = self.data_buffer[-self.buffer_size:] self.times = self.times[-self.buffer_size:] L = self.buffer_size processed = np.array(self.data_buffer) if len(self.times) > and len(processed) > 0: while len(self.times) != len(processed): if len(self.times) > len(processed): self.times.pop() else: processed.pop() 156 self.samples = processed if L > 10: self.output_dim = processed.shape[0] self.fps = float(L) / (self.times[-1] - self.times[0]) even_times = np.linspace(self.times[0], self.times[-1], L) interpolated = np.interp(even_times, self.times, processed) interpolated = np.hamming(L) * interpolated interpolated = interpolated - np.mean(interpolated) raw = np.fft.rfft(interpolated) phase = np.angle(raw) self.fft = np.abs(raw) arran_num = L / + < len(self.fft) and L / + or len(self.fft) self.freqs = float(self.fps) / L * np.arange(arran_num) freqs = 60 * self.freqs idx = np.where((freqs > 50) & (freqs < 180)) pruned = self.fft[idx] phase = phase[idx] if len(pruned): pfreq = freqs[idx] self.freqs = pfreq 157 self.fft = pruned idx2 = np.argmax(pruned) t = (np.sin(phase[idx2]) + 1.) / t = 0.9 * t + 0.1 alpha = t beta = - t self.bpm = self.freqs[idx2] + self.estimate self.idx += x, y, w, h = self.get_subface_coord(0.5, 0.18, 0.25, 0.15) r = alpha * self.frame_in[y:y + h, x:x + w, 0] g = alpha * \ self.frame_in[y:y + h, x:x + w, 1] + \ beta * self.gray[y:y + h, x:x + w] b = alpha * self.frame_in[y:y + h, x:x + w, 2] self.frame_out[y:y + h, x:x + w] = cv2.merge([r,g,b]) x1, y1, w1, h1 = self.face_rect self.slices = [np.copy(self.frame_out[y1:y1 + h1, x1:x1 + w1, 1])] text_color = (50, 155, 50) gap = (self.buffer_size - L) / self.fps self.bpms.append(self.bpm) self.ttimes.append(time.time()) if len(self.bpms) > 10: 158 bpm = sum(self.bpms)/10 self.bpms.pop(0) cv2.putText(self.frame_out, "Bpm: %0.1f " %bpm, (10, 25), cv2.FONT_HERSHEY_PLAIN, 2, text_color) text = "(estimate: %0.1f bpm)" % (self.bpm) tsize = cv2.putText(self.frame_out, text, (int(x - w / 2), int(y)), cv2.FONT_HERSHEY_PLAIN, tsize, text_color) datetime_now = datetime.now() delta_3 = datetime_now - self.before_time_3 PHỤ LỤC 1.4 Kiểm tra, xử lý thông tin trường hợp đưa định cảnh báo // swaring_time: thời gian cảnh báo // on_type: chọn relay bật // sound_name: âm sử dụng đưa cảnh báo if self.waring_time > 0: // Kiểm tra thời gian tắt thông báo self.waring_time -=1 if self.waring_time == 0: self.turn_off_waring() datetime_now = datetime.now() 159 delta_1 = datetime_now - self.before_time_1 if self.find_face and delta_1.seconds >= 1: // Trường hợp mở mắt tắt thông báo, với “0” mở mắt if self.curr_state == 0: self.before_time_1 = datetime_now // Nếu trường hợp tắt cảnh báo if self.curr_warning_type == 1: self.curr_warning_time = self.message_warning = False else: if delta_1.seconds >= 12: if self.curr_warning_type == and self.curr_warning_time != 3: self.turn_on_waring(1,3) // Thời gian nhắm mắt lớn 12 giây đưa cảnh báo, ngược lại tiếp tục kiểm tra Trường hợp 1.2 (Th_1.2): Nếu thời gian lớn giây đưa cảnh báo, ngược lại tiếp tục kiểm tra “Th_1.3” else: if delta_1.seconds >= 7: if self.curr_warning_type == and self.curr_warning_time != 2: self.turn_on_waring(1,2) // Thời gian nhắm mắt lớn 7giây đưa cảnh báo, ngược lại tiếp tục kiểm tra else: if delta_1.seconds >= 3: 160 self.turn_on_waring(1,1) // Thời gian nhắm mắt lớn giây đưa cảnh báo, ngược lại quay lại tiếp tục kiểm tra if self.find_face: self.before_time_2 = datetime_now // Tìm khn mặt người lái xe lưu trữ thời gian if self.curr_warning_type == 2: self.curr_warning_time = self.message_warning = False else: if delta_2.seconds > 12: if self.curr_warning_type == and self.curr_warning_time != 3: self.turn_on_waring(2,3) self.curr_warning_time = //Thời gian nhận diện lớn 12 giây đưa cảnh báo, ngược lại tiếp tục kiểm tra elif delta_2.seconds >= 7: if self.curr_warning_type == and self.curr_warning_time != 2: self.turn_on_waring(2,2) //Thời gian nhận diện lớn giây đưa cảnh báo, ngược lại tiếp tục kiểm tra elif delta_2.seconds >= 3: self.turn_on_waring(2,1) //Thời gian nhận diện lớn giây đưa cảnh báo, ngược lại tiếp tục kiểm tra if self.find_face: # tim khuon if bpm >= 50 and bpm 12: if self.curr_warning_type == and self.curr_warning_time != 3: self.turn_on_waring(3,3) self.curr_warning_time = // Nếu thời gian nhịp tim 100 bpm lớn 12 giây đưa cảnh báo, ngược lại khơng cảnh báo, tiếp tục kiểm tra elif delta_3.seconds >= 7: if self.curr_warning_type == and self.curr_warning_time != 2: self.turn_on_waring(3,2) // Nếu lớn giây đưa cảnh báo, ngược lại tắt cảnh báo, tiếp tục kiểm tra elif delta_3.seconds >= 3: self.turn_on_waring(3,1) // Nếu lớn giây đưa cảnh báo, ngược lại tắt cảnh báo, tiếp tục kiểm tra def turn_off_waring(self): 162 mixer.music.stop() GPIO.output(21, 0) //Tắt cảnh báo if on_type == 'relay_1': GPIO.output(21, 1) elif on_type == 'relay_2': GPIO.output(21, 1) elif on_type == 'relay_3': GPIO.output(21, 1) //Cấu hình bật relay mạch if sound_name: mixer.music.load(sound_name) mixer.music.play() //Âm cảnh báo bật theo tệp 163 PHỤ LỤC 1.5 Tiếp nhận đưa cảnh báo waring_config = [ [ { "message": "Nguoi lai xe nham mat hon giay", "waring_time": 2, "on_type": 0, "sound_name": 'sound/th1_1.mp3' // Cảnh báo trường hợp 1.1 (Th_1.1) },{ "message": "Nguoi lai xe nham mat hon giay", "waring_time": 2, "on_type": 0, "sound_name": 'sound/th1_2.mp3' // Cảnh báo trường hợp 1.2 (Th_1.2) },{ "message": "Nguoi lai xe nham mat hon 12 giay", "waring_time": 4, "on_type": 'relay_1', "sound_name": 'sound/th1_3.mp3' // Cảnh báo trường hợp 1.3 (Th_1.3) } ], 164 [ { "message": "Khong tim thay khuon mat 3s", "waring_time": 2, "on_type": 0, "sound_name": 'sound/th2_1.mp3' // Cảnh báo trường hợp 2.1 (Th_2.1) },{ "message": "Khong tim thay khuon mat 7s", "waring_time": 2, "on_type": 0, "sound_name": 'sound/th2_2.mp3' // Cảnh báo trường hợp 2.2 (Th_2.2) },{ "message": "Khong tim thay khuon mat vuot qua 12s", "waring_time": 4, "on_type": 'relay_1', "sound_name": 'sound/th2_3.mp3' // Cảnh báo trường hợp 2.3 (Th_2.3) } ], 165 [ { "message": "Nhip tim vuot qua nguong 50-100 3s", "waring_time": 2, "on_type": 0, "sound_name": 'sound/th3_1.mp3' // Cảnh báo trường hợp 3.1 (Th_3.1) },{ "message": "Nhip tim vuot qua nguong 50-100 7s", "waring_time": 3, "on_type": 0, "sound_name": 'sound/th3_2.mp3' // Cảnh báo trường hợp 3.3 (Th_3.2) },{ "message": "Nhip tim vuot qua nguong 50-100 qua 12s", "waring_time": 4, "on_type": 'relay_1', "sound_name": 'sound/th3_3.mp3' // Cảnh báo trường hợp 3.3 (Th_3.3) } ], 166 ... thông khác Chính vậy, nhóm em nghiên cứu phát triển đề tài ứng dụng xử lý ảnh nhận diện điều khiển ô tô Để phù hợp với điều kiện Việt Nam, thiết bị đề xuất nghiên cứu phát triển dựa việc áp dụng. .. triển đề tài ứng dụng xử lý ảnh nhận diện điều khiển ô tô 1.1.3 Ý nghĩa đề tài Tìm hiểu báo cáo nghiên cứu khoa học liên quan công bố giới, đề xuất giải pháp cho việc giải vấn đề nhận thức người... 125 PHỤ LỤC 127 vii PHỤ LỤC CHƯƠNG TRÌNH XỬ LÝ ẢNH TRONG NHẬN DIỆN ĐIỀU KHIỂN Ô TÔ 127 PHỤ LỤC 1.1 Trích xuất nhận diện khn mặt 147 PHỤ LỤC 1.2 Xác định vị trí mắt

Ngày đăng: 17/07/2022, 14:29

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Lê Thế Hải, Lê Thanh Hòa, “Nhận diện chớp mắt và cảnh báo buồn ngủ khi lái xe trên nền windows và android”, Khoa Điện - Điện tử Viễn Thông, TP. Hồ Chí Minh, 1/2012 Sách, tạp chí
Tiêu đề: Nhận diện chớp mắt và cảnh báo buồn ngủ khi lái xe trên nền windows và android
[2]. Thái Thị Hòa Vân, “Nghiên cứu tình trạng buồn ngủ của người lái xe dựa trên nhận dạng cử chỉ khuôn mặt”, Trung tâm Thông tin-Học liệu, Đại học Đà Nẵng, 2017 Sách, tạp chí
Tiêu đề: Nghiên cứu tình trạng buồn ngủ của người lái xe dựa trên nhận dạng cử chỉ khuôn mặt
[3]. Nông Quang Huy, “Nghiên cứu thiết kế thiết bị chống ngủ gật cho lái xe ô tô”, Viện Điện Tử - Viễn Thông, Đại học BKHN, Hà Nội, 2013 Sách, tạp chí
Tiêu đề: Nghiên cứu thiết kế thiết bị chống ngủ gật cho lái xe ô tô
[4]. Th.S Nguyễn Duy Linh, Th.S Trần Công Trung, “Tìm hiểu một số hệ thống cảnh báo lái xe ngủ gật (drowsy driver alert system) và đề xuất phương pháp xây dựng ứng dụng với thư viện mã nguồn mở OpenCV”, Tạp chí thông tin khoa học &amp;Công nghệ Quảng Bình, Số 4/2019 Sách, tạp chí
Tiêu đề: Tìm hiểu một số hệ thống cảnh báo lái xe ngủ gật (drowsy driver alert system) và đề xuất phương pháp xây dựng ứng dụng với thư viện mã nguồn mở OpenCV
[5]. Gérard Blanchet, Maurice Charbit, “Digital Signal and Image Processing using MATLAB®”, United States, 2006 by ISTE Ltd Sách, tạp chí
Tiêu đề: Digital Signal and Image Processing using MATLAB®
[6]. Rafael C.Gonzalez, Richard E.Woods, Steven L.Eddins, “Digital Image Processing using MATLAB®”, United States, 2004 by Pearson Education, Inc Sách, tạp chí
Tiêu đề: Digital Image Processing using MATLAB®
[8]. PGS.TS Nguyễn Quang Hoan, “Giáo trình xử lý ảnh”, Học Viện Bưu Chính Viễn Thông, Hà Nội, 24/07/2014 Sách, tạp chí
Tiêu đề: Giáo trình xử lý ảnh
[9]. Chongke Zhong, Jingyuan Yang, Tan Xu, et al, “Serum matrix metalloproteinas-9 levels and prognosis of acute ischemic stroke”, 26/7/2017, [Online] Available: https://www.neurology.org/ Sách, tạp chí
Tiêu đề: Serum matrix metalloproteinas-9 levels and prognosis of acute ischemic stroke
[10]. Tristan Hearn, “using only their own webcam”, 27/6/2017, [Online] Available: https://github.com/thearn/webcam-pulse-detector Sách, tạp chí
Tiêu đề: using only their own webcam
[13]. Hiền Nguyễn, “Python là gì? Đặc điểm của ngôn ngữ lập trình Python”, 27/11/2019. [Online] Available: https://toidayhoc.com/lap-trinh/python-la-gi-dac-diem-cua-ngon-ngu-lap-trinh-python/ Sách, tạp chí
Tiêu đề: Python là gì? Đặc điểm của ngôn ngữ lập trình Python
[14]. Phạm Trung, “Công nghệ AI giúp cảnh báo buồn ngủ khi lái xe”, 18/12/2019, [Online] Available: https://vnexpress.net/cong-nghe-ai-giup-canh-bao-buon-ngu-khi-lai-xe-4029264.html Sách, tạp chí
Tiêu đề: Công nghệ AI giúp cảnh báo buồn ngủ khi lái xe
[15]. Tin Học Sóc Trăng, “Tổng quang về OpenCV”, 17/02/2017, [Online] Available:https://www.tinhocsoctrang.com/2017/02/tong-quan-ve-opencv.html Sách, tạp chí
Tiêu đề: Tổng quang về OpenCV
[11]. American Thoracic Society, [Online] Available: https://www.thoracic.org/patients/patient-resources/resources/sleepiness-and-driving.pdf Link
[12]. MLAB, “Raspberry Pi 4 Model B’’07/11/2013, [Online] Available: https://pivietnam.com.vn/raspberry-pi-4-model-b-pivietnam-com-vn.html Link
[16]. Công ty TNHH CARCAM Việt Nam, [Online] Available: https://carcam.vn/thiet-bi-canh-bao-buon-ngu-khi-lai-xe-carcam-carcam-fatigue-warning-system-pd105571.html Link
[7]. Thông tư số 17/2010/TT-BGTVT ngày 05/07/2010 ban hành Quy chuẩn kỹ thuật Quốc gia về báo hiệu đường bộ Khác

HÌNH ẢNH LIÊN QUAN

Hình 3.1: Dấu hiệu hành vi mệt mỏi khi lái xe (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 3.1 Dấu hiệu hành vi mệt mỏi khi lái xe (Nguồn internet) (Trang 30)
Hình 3.4: Buồn ngủ khi lái xe vào ban đêm (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 3.4 Buồn ngủ khi lái xe vào ban đêm (Nguồn internet) (Trang 35)
Ở hình 3.7 đang thực hiện dị tìm khn mặt để bắt đầu thực hiện chương trình.  - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
h ình 3.7 đang thực hiện dị tìm khn mặt để bắt đầu thực hiện chương trình. (Trang 38)
Hình 3.6: Ứng dụng OpenCV quét khuôn mặt (Nguồn internet) b. Thực hiện dị tìm khn mặt  - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 3.6 Ứng dụng OpenCV quét khuôn mặt (Nguồn internet) b. Thực hiện dị tìm khn mặt (Trang 38)
Ở hình 3.8 camera đang nhận dạng đơi mắt và truyền dữ liệu về cho thiết bị. - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
h ình 3.8 camera đang nhận dạng đơi mắt và truyền dữ liệu về cho thiết bị (Trang 39)
Hình 4.1: Thiết bị cảnh bảo buồn ngủ Carcam FatigueWarning System (Nguồn - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.1 Thiết bị cảnh bảo buồn ngủ Carcam FatigueWarning System (Nguồn (Trang 46)
Hình 4.2: Cấu tạo thiết bị GPS FW-03: - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.2 Cấu tạo thiết bị GPS FW-03: (Trang 47)
Hình 4.3: Hạn chế ở khu vực thiếu sáng (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.3 Hạn chế ở khu vực thiếu sáng (Nguồn internet) (Trang 49)
Hình 4.4: Sử dụng đồng hồ thông minh theo dõi nhịp tim khi lái xe (Nguồn - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.4 Sử dụng đồng hồ thông minh theo dõi nhịp tim khi lái xe (Nguồn (Trang 50)
Hình 4.9: Màu RGB (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.9 Màu RGB (Nguồn internet) (Trang 55)
Hình 4.11: Hình ảnh trực quan của khơng gian màu L*a*b* được thể hiện qua - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.11 Hình ảnh trực quan của khơng gian màu L*a*b* được thể hiện qua (Trang 57)
Hình 4.13: Tích chập của 2 xung vng, kết quả sóng đầu ra có dạng tam giác - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.13 Tích chập của 2 xung vng, kết quả sóng đầu ra có dạng tam giác (Trang 60)
Hình 4.15: Sơ đồ khối tổng quan nguyên lý của mô hình Chú thích:  - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.15 Sơ đồ khối tổng quan nguyên lý của mô hình Chú thích: (Trang 66)
4.3 Thiết kế xây dựng mơ hình thiết bị - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
4.3 Thiết kế xây dựng mơ hình thiết bị (Trang 69)
Hình 4.20: Bản vẽ kích thước bộ phận camera - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.20 Bản vẽ kích thước bộ phận camera (Trang 74)
4.3.3 Cấu tạo phần cứng của mơ hình - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
4.3.3 Cấu tạo phần cứng của mơ hình (Trang 80)
Hình 4.27: Chức năng các chân GPIO mạch Raspberry Pi4 (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.27 Chức năng các chân GPIO mạch Raspberry Pi4 (Nguồn internet) (Trang 82)
Hình 4.33: Cấu tạo và kích thước relay 5 chân (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.33 Cấu tạo và kích thước relay 5 chân (Nguồn internet) (Trang 89)
Hình 4.34: Nguồn điện 5V/3A (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.34 Nguồn điện 5V/3A (Nguồn internet) (Trang 91)
Hình 4.38: Loa cảnh báo (Nguồn internet) - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.38 Loa cảnh báo (Nguồn internet) (Trang 94)
Hình 4.40: Mơ hình hồn thiện: - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.40 Mơ hình hồn thiện: (Trang 95)
Hình 4.44: Sơ đồ mạch điện kết nối bộ phận Nguyên lý hoạt động (Hình 4.44)  - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 4.44 Sơ đồ mạch điện kết nối bộ phận Nguyên lý hoạt động (Hình 4.44) (Trang 105)
Hình 5.6: Khung vỏ và nắp thiết bị. - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 5.6 Khung vỏ và nắp thiết bị (Trang 112)
Hình 5.10: Mơ hình thiết bị hồn thiện. - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 5.10 Mơ hình thiết bị hồn thiện (Trang 114)
Thử nghiệm thu nhận tín hiệu hình 5.20, hình 5.21, hình 5.22: - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
h ử nghiệm thu nhận tín hiệu hình 5.20, hình 5.21, hình 5.22: (Trang 123)
Hình 5.23: Mất nhận diện khuôn mặt khi gục đầu - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 5.23 Mất nhận diện khuôn mặt khi gục đầu (Trang 124)
Hình 5.24: Hình ảnh nhận diện khn mặt điều kiện ánh sáng tốt - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 5.24 Hình ảnh nhận diện khn mặt điều kiện ánh sáng tốt (Trang 125)
 Mất nhận diện khuôn mặt, thông tin cảnh báo được bộ xử lý đưa ra hình 5.23. - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
t nhận diện khuôn mặt, thông tin cảnh báo được bộ xử lý đưa ra hình 5.23 (Trang 125)
Hình 6.2: Mơ hình xử lý ảnh được thiết kế ban đầu của nhóm - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 6.2 Mơ hình xử lý ảnh được thiết kế ban đầu của nhóm (Trang 132)
Hình 6.1: Mơ hình xử lý ảnh - Ứng dụng xử lý ảnh trong nhận diện điều khiển ô tô
Hình 6.1 Mơ hình xử lý ảnh (Trang 132)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w