Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 118 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
118
Dung lượng
6,54 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 ĐIỆN TỬ TRUYỀN THÔNG THIẾT KẾ THI CƠNG HỆ THỐNG ÐIỀU KHIỂN TÍN HIỆU ÐÈN GIAO THƠNG THÔNG QUA XỬ LÝ ẢNH GVHD: ThS VÕ ÐỨC DŨNG SVTH: ÐỖ XUÂN VUI MSSV: 13141442 SKL 0 Tp Hồ Chí Minh, tháng 07/2018 an 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 - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN TÍN HIỆU ĐÈN GIAO THƠNG THƠNG QUA XỬ LÝ ẢNH GVHD: ThS Võ Đức Dũng SVTH: Đỗ Xuân Vui MSSV: 13141442 Tp Hồ Chí Minh - 07/2018 an i TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Tp HCM, ngày 16 tháng 07 năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Đỗ Xuân Vui Kỹ thuật Điện Tử Truyền Thơng Đại học quy 2013 MSSV: 13141442 Mã ngành: 01 Mã hệ: 01 I TÊN ĐỀ TÀI: THIẾT KẾ THI CƠNG HỆ THỐNG ĐIỀU KHIỂN TÍN HIỆU ĐÈN GIAO THÔNG THÔNG QUA XỬ LÝ ẢNH II NHIỆM VỤ Các số liệu ban đầu: - Video đầu vào: video, video đường xe, video nhiều xe - Matlab phiên 2017a - Kit điều khiển chính: Arduino Mega 2560, Module Led đoạn đôi, led đơn (2 đỏ, vàng, xanh) Nội dung thực hiện: Đề tài thực nội dung xây dựng hệ thống đếm đối tượng qua hình ảnh với đầu vào từ video ảnh chứa đối tượng (phương tiện giao thông) Kết đếm gửi xuống kit Arduino để điều khiển cặp module led đoạn led đơn Nhóm thực nội dung sau: Tìm hiểu kit Arduino Mega 2560 Tìm hiểu phần mềm matlab Cài đặt nguồn thư viện cho kit Arduino, cách kết nối Arduino với Matlab Tìm hiểu thuật tốn phát phương tiện giao thơng Xây dựng q trình xử lý ảnh đầu vào Xây dựng hệ thống đếm phương tiện ảnh, lập trình giao diện sử dụng để mơ trình thu thập liệu gửi liệu xuống kit Arduino Xây dựng chương trình điều khiển điều tín hiệu đèn giao thơng kit Arduino Đánh giá kết thực ii an III NGÀY GIAO NHIỆM VỤ: 21/03/2018 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/07/2018 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Võ Đức Dũng CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iii an TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Khoa Điện - Điện Tử Bộ Môn Điện Tử Công Nghiệp – Y Sinh Tp Hồ Chí Minh, ngày 12 tháng 07 năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Đỗ Xuân Vui Lớp: 13141DT2B MSSV: 13141442 Tên đề tài: THIẾT KẾ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN TÍN HIỆU ĐÈN GIAO THƠNG THƠNG QUA XỬ LÝ ẢNH Tuần/ngày Nội dung Xác nhận GVHD - Gặp giáo viên hướng dẫn để phổ biến quy (19-25/3) định: thực chọn đề tài, tên đề tài, thời gian làm việc - Duyệt đề tài - Viết đề cương cho đề tài (26/3-1/4) (2/4-8/4) (9/4-15/4) (16/4-22/4) (23/4-29/4) - Tìm hiểu hoạt động Arduino Matlab - Cài đặt Matlab, Arduino - Lập trình Arduino với chân I/O để nhúng liệu - Tìm hiểu thuật tốn xử lý ảnh đầu vào - Các hàm xử dụng cho việc sử lý ảnh đầu vào - Thiết kế sơ đồ khối giải thuật xử lý ảnh đêm đối tượng ảnh đầu vào - Tìm hiểu cách giao tiếp Arduino với module Led đoạn digit - Tính tốn thơng số dịng áp Để lựa iv an chọn linh kiện phù hợp (30/4-6/5) - Viết lưu đồ chương trình đèn giao thơng - Tiến hành viết chương trình hiệu chỉnh chương trình - Tìm hiểu cách kết nối matlab adruino (7/5-13/5) - Tiến hành gửi liệu từ Matlab sang arduino - Xây dựng mơ hình (14/5-20/5) - Kiểm tra, hồn thiện mơ hình, chạy thử sửa lỗi Viết báo cáo 10 (21/5-27/5) 11 (28/5-3/6) 12 (4/6-10/6) - Kiểm tra, hồn thiện mơ hình, chạy thử sửa lỗi - Viết báo cáo - Hoàn thiện, chỉnh sửa báo cáo gửi cho GVHD để xem xét góp ý lần cuối trước in báo cáo - Nộp báo cáo làm Slide báo cáo GV HƯỚNG DẪN (Ký ghi rõ họ tên) v an LỜI CAM ĐOAN Chúng cam đoan đồ án tốt nghiệp cơng trình nghiên cứu thân hướng dẫn thạc sĩ Võ Đức Dũng Các kết công bố đồ án tốt nghiệp “Thiết kế thi cơng hệ thống điều khiển tín hiệu đèn giao thông thông qua xử lý ảnh” trung thực khơng chép từ cơng trình khác Người thực đề tài Đỗ Xuân Vui vi an LỜI CẢM ƠN Trong trình làm đồ án tốt nghiệp, chúng em nhận nhiều ủng hộ, giúp đỡ đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Chúng em xin gửi lời cảm ơn chân thành đến Th.S Võ Đức Dũng - Trường Đại học Sư phạm Kỹ thuật Tp.HCM tận tình hướng dẫn bảo suốt thời gian làm luận án tốt nghiệp Thầy tạo nhiều điều kiện cho lời khuyên quý báu giúp chúng em hoàn thành tốt khóa luận Xin chân thành cảm ơn thầy giáo Trường Đại học Sư phạm Kỹ thuật Tp.HCM nói chung, thầy cô Bộ môn Điện tử Công Nghiệp – Y Sinh nói riêng tận tình giảng dạy, truyền đạt cho chúng em kiến thức quý báu tạo điều kiện giúp đỡ suốt trình học tập năm học vừa qua, giúp chúng em có sở lý thuyết vững vàng Cuối cùng, chúng em xin chân thành cảm ơn gia đình bạn bè, ln tạo điều kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em suốt q trình học tập hồn thành đồ án tốt nghiệp Chúng em xin chân thành cảm ơn! Người thực đề tài Đỗ Xuân Vui vii an MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iv Cam đoan vi Lời cảm ơn vii Mục lục viii Liệt kê hình vẽ xi Liệt kê bảng vẽ xiv Tóm tắt xv CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Mục tiêu 1.3 Nội dung nghiên cứu 1.4 Giới hạn 1.5 Bố cục CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu xử lý ảnh 2.2 Tổng quan Matlab 2.3 Giới thiệu lịch xử hình thành Arduino 2.4 Giới thiệu phần cứng 10 2.4.1 Kit arduino mega 2560 10 2.4.2 Led quét đoạn loại digit 13 2.4.2.1 Led đoạn 13 2.4.2.2 Led quét đoạn loại digit 14 2.4.3 Led đơn 15 2.5 Quy trình xử lý ảnh 15 2.5.1 Xử lý ảnh gì? 15 2.5.2 Quá trình thu nhận ảnh 16 2.5.3 Quá trình tiền xử lý ảnh 16 2.5.4 Quá trình phân đoạn ảnh 16 2.5.5 Biểu diễn mô tả 17 viii an 2.5.6 Nhận dạng nội suy ảnh 17 2.5.7 Cơ sở tri thức 18 2.6 Các phương pháp xử lý với đối tượng ảnh đầu vào 18 2.6.1 Chuyển đổi ảnh màu sang ảnh màu xám 18 2.6.2 Nhị phân hóa ảnh 20 2.6.3 Các phương pháp lọc nhiễu ảnh nhằm cải thiện ảnh 21 2.6.4 Làm trơn nhiễu lọc tuyến tính 21 2.6.5 Làm trơn nhiễu lọc phi tuyến 24 2.6.6 Phân vùng ảnh 24 2.7 Các hàm sử dụng trình phát đếm số lượng phương tiện đề tài 25 2.7.1 Hàm imread() 25 2.7.2 Hàm imshow() imagesc() 25 2.7.3 Hàm rgb2gray() 26 2.7.4 Hàm imadjust() 27 2.7.5 Hàm tự tính ngưỡng để chuyển sang ảnh nhị phân graythresh(), hàm chuyển đổi ảnh nhị phân imbinarize() 28 2.7.6 Hàm imdilate() 28 2.7.7 Hàm imerode() 29 2.7.8 Hàm bwareaopen() 30 2.7.9 Hàm bwlable 31 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 32 3.1 Giới thiệu 32 3.2 Tính tốn thiết kế hệ thống 32 3.2.1 Thiết kế sơ đồ khối hệ thống 32 3.2.2 Thiết kế khối hệ thống 33 3.2.3 Thiết kế mơ hình đèn giao thơng 40 3.2.4 Sơ đồ nguyên lý toàn mạch 41 CHƯƠNG THI CÔNG HỆ THỐNG 43 4.1 Giới thiệu 43 4.2 Thi công hệ thống 43 4.2.1 Thi công bo mạch 43 4.2.2 Lắp ráp kiểm tra 44 ix an PHỤ LỤC global global data = if anhnen_lan1; anhnen_lan2; fread(hObject,1);% ??c d? li?u t? Arduino (mod(data,2)==1) % x? lý set(handles.ed_lanxe,'String','LÀN 2'); MV = imread('input_2.jpg'); MV1 = anhnen_lan2; MV2 = imresize(MV, [700 1200]); A = double(rgb2gray(MV)); B= double(rgb2gray(MV1)); [height, width] = size(A); thresh=33; fr_diff = abs(A-B); for j = 1:width for k = 1:height if (fr_diff(k,j)>thresh) fg(k,j) = A(k,j); else fg(k,j) = 0; end end end sd=imadjust(fg); level=graythresh(sd); bw=imbinarize(sd,level); se = strel('square',8); anh_mo_rong = imdilate(bw,se); se = strel('square', 10); filteredForeground = imopen(anh_mo_rong, se); bw_0= filteredForeground; anh_lap_lo=imfill(bw_0,'holes'); anh_xoa = bwareaopen(anh_lap_lo,1000); labeled = bwlabel(anh_xoa,8); blobMeasurements = regionprops(labeled,'all'); numberofcars = size(blobMeasurements, 1); axes(handles.axes11); imagesc(labeled,'Parent',handles.axes11); axes(handles.axes1); imshow(MV2,'Parent',handles.axes1); elseif (mod(data,2) == 0)% x? lý MV = imread('input_1.jpg'); set(handles.ed_lanxe,'String','LÀN 1'); MV1 = anhnen_lan1; MV2 = imresize(MV, [700 1200]); A = double(rgb2gray(MV)); B= double(rgb2gray(MV1)); [height, width] = size(A); thresh=33; fr_diff = abs(A-B); for j = 1:width for k = 1:height if (fr_diff(k,j)>thresh) fg(k,j) = A(k,j); else fg(k,j) = 0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an PHỤ LỤC end end end sd=imadjust(fg); level=graythresh(sd); bw=imbinarize(sd,level); se = strel('square',8); anh_mo_rong = imdilate(bw,se); se = strel('square', 10); filteredForeground = imopen(anh_mo_rong, se); bw_0= filteredForeground; anh_lap_lo=imfill(bw_0,'holes'); anh_xoa = bwareaopen(anh_lap_lo,1000); labeled = bwlabel(anh_xoa,8); blobMeasurements = regionprops(labeled,'all'); numberofcars = size(blobMeasurements, 1); end axes(handles.axes11); imagesc(labeled,'Parent',handles.axes11); axes(handles.axes1); imshow(MV2,'Parent',handles.axes1); set(handles.ed_slxe,'String',numberofcars); if (numberofcars