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

Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô

84 6 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 84
Dung lượng 3,1 MB

Nội dung

TĨM TẮT Xử lý ảnh có nhiều ứng dụng hệ thống giao thông thông minh Đề tài: “nghiên cứu hệ thống quan sát cho xe việc xác định tình trạng giao thơng” Cũng đề tài ứng dụng xử lý ảnh việc nhận dạng đường, vật cản, người giúp cho tài xế biết có đường hay lệch làn, để từ có điều chỉnh xác Với giả định: - Vân đường đồng tương đối đậm, rõ - Dấu phân cách đường tuân theo qui luật - Khoảng cách dấu phân cách không đổi - Vật cản cố định người Đề tài sử dụng Webcam làm phận thu thập hình ảnh chính, xử lý ảnh phần mềm Matlab với công cụ hỗ trợ xử lý ảnh như: Image Processing Toolbox, Image Acquistion Toolbox, Computer Vision System Toolbox Từ hình ảnh thu sử dụng lọc FIR 2D để lọc ảnh xám hoá Và biến đổi ảnh thành ảnh nhị phân, từ sử dụng phương pháp Cany, biến đổi Hough, hàm Dectect sẵn có Matlab để xác định dấu phân cách đường, đường, nhận dạng vật cản , người Dùng cảm biến siêu âm để xác định khoảng cách từ vật cản đến xe hiển thị lên hình hộp Boundingbox xung quanh vật cản người Sau xác định tình trạng xe báo hiệu cho người lái biết hệ thống đèn led báo hiệu làn, lệch làn, khoảng cách đến vật cản, đồng thời giao tiếp với vi điều khiển arduino để giúp đánh lái ii MỤC LỤC LỜI CẢM ƠN .i TÓM TẮT ii MỤC LỤC iii DANH MỤC CÁC HÌNH v Chương TỔNG QUAN 1.1 Lý chọn đề tài .1 1.2 Mục tiêu phạm vi nghiên cứu .1 1.3 Phương pháp nghiên cứu 1.4 Phạm vi ứng dụng: Chương CƠ SỞ LÝ THUYẾT .4 2.1 Lý thuyết tổng quan xử lý ảnh: 2.1.1 Xử lý ảnh số gì? .4 2.1.2 Biểu diễn ảnh số 2.2 Biến đổi Hough (Hough Transform) 2.2.1 Biến đổi Hough cho đường thẳng .9 2.2.2 Biến đổi Hough cho đường thẳng tọa độ cực 11 Chương SƠ LƯỢC VỀ LINH KIÊN VÀ PHẦN MỀM ỨNG DỤNG 12 3.1 Giới thiệu chung Arduino 12 3.2 Giới thiệu chung Arduino MEGA 2560 12 3.3 Giới thiệu chung cảm biến siêu âm SRF05 .14 3.4 Giới thiệu động điện chiều .15 3.5 Giới thiệu chung Matlab 16 3.5.1 Các thành phần Matlab 17 3.5.2 Phân đoạn tách đường viền Malab .25 3.5.3 Biến đổi Hough MATLAB 27 3.6 Image Acquisition Toolbox 32 3.6.1 Chức 32 3.6.2 Các bước thu thập hình ảnh 32 3.7 Computer Vision System Toolbox 35 3.7.1 Chức 35 iii 3.7.2 3.8 Các hàm xử lí video 35 Image Processing Toolbox 42 3.8.1 Đọc ảnh 42 3.8.2 Hiển thị ảnh 42 3.8.3 Ghi ảnh .43 Chương CHƯƠNG TRÌNH ĐIỀU KHIỂN 44 4.1 Mơ hình tổng qt: 44 4.2 Chọn thiết lập camera 45 4.3 Tiến trình xử lý ảnh 46 4.4 Xuất tín hiệu 49 4.5 Điều khiển vi điều khiển Arduino Mega2560 49 4.5.1 Giao tiếp với máy tính cổng COM (serial port) 49 4.5.2 Dùng vi điều khiển Arduino Mega 2560 để điều khiển 51 Chương THỰC NGHIỆM 52 5.1 Địa điểm thực nghiệm 52 5.2 Các hình ảnh thực nghiệm 53 Chương KẾT LUẬN .63 TÀI LIỆU THAM KHẢO 65 PHỤ LỤC 66 A Chương trình : 66 B Xác định dấu phân cách trái / phải .74 C Xác định dấu đường 76 D Code Arduino .78 iv DANH MỤC CÁC HÌNH Hình Ảnh tương tự ảnh số hóa Hình 2 Điểm quy chiếu không gian điểm ảnh Hình Ảnh nhị phân Hình Ảnh xám hóa Hình Ảnh màu RGB Matlab Hình Bảng số giá trị 10 Hình Đường thẳng Hough hệ tọa độ Đề-các .11 Hình Board mạch Arduino Mega 2560 .13 Hình Cảm biến siêu âm SRF-05 15 Hình 3 Động điện chiều .16 Hình Giao diện khởi động 17 Hình Cửa sổ làm việc 18 Hình Ảnh tách biên .27 Hình Ảnh gốc mạch điện 28 Hình Ảnh dùng biến đổi Hough 28 Hình Kết dùng houghpeaks 30 Hình 10 Kết sử dụng Houghlines 32 Hình 11 Mở file video dùng vision.VideoPlayer 36 Hình 12 Ảnh cường độ 37 Hình 13 Ảnh nhị phân 38 Hình 14 Ảnh circuit.tif 39 Hình 15 Đường thẳng dài ảnh 40 Hình 16 Ảnh RGB 41 Hình 17 Ảnh cường độ 41 Hình Vùng quan tâm 46 Hình Ảnh trích xuất 47 Hình Hình giới hạn quan sát .47 Hình 4 Ảnh cường độ 47 Hình Ảnh nhị phân 48 v Hình Giá trị khoảng cách từ cảm biến siêu âm 50 Hình Sơ đồ nối dây hệ thống điều khiển 51 Hình Sơ đồ nối dây mơ hình thực tế 51 Hình Xe mơ hình 52 Hình Địa điểm thực nghiệm 52 Hình Xe đường phịng thí nghiệm 53 Hình Xe đường đường nhựa 54 Hình 5 Xe lệch phải phịng thí nghiệm 54 Hình Xe lệch phải đường nhựa .55 Hình Xe lệch trái khu vực thí nghiệm thí nghiệm 55 Hình Xe lệch trái ngồi đường nhựa .56 Hình Xe khơng nhận đường không liền mạch 56 Hình 10 Xe khơng nhận đường mờ 57 Hình 11 Nhận dạng vật cản hiển thị khoảng cách lên hình 57 Hình 12 Nhận dạng người 58 Hình 13 Nhận dạng người vật cản 58 Hình 14 Nhận dạng vật cản xe thông qua ảnh từ điện thoại .59 Hình 15 Nhận dạng vật cản xe thông qua ảnh từ điện thoại chụp 59 Hình 16 Nhận biết xe thực tế 60 Hình 17 Nhận dang xe người chuyển động .60 Hình 18 Nhận dạng xe người chuyển động .61 Hình 19 Nhận dạng xe thực tế .61 Hình 20 Nhận dạng xe thực tế .62 vi Chương TỔNG QUAN 1.1 Lý chọn đề tài Ngày công nghiệp ngày phát triển, công nghệ xe tự lái cho an tồn hơn, đơn giản máy móc hoạt động nhanh người Số khung hình giây mà mắt thường thu máy quay tốc độ cao, não xử lý liệu phản ứng chậm CPU máy tính Và chân tay người thua xa tốc độ làm việc so với cấu điện tử Ở Việt Nam, sở hạ tầng giao thông dần cải thiện Việc xây dựng hệ thống giao thông thông minh vấn đề cấp thiết công cơng nghiệp hóa, đại hóa đất nước Nghiên cứu, xây dựng công cụ hổ trợ cho hệ thống giao thơng thơng minh có phương tiện giao thông thông minh yêu cầu thời đại Ứng dụng xử lý ảnh để nhận dạng đường cho tơ chạy tự động nhằm mục đích Nhận thấy vấn đề này, chúng em định thực đề tài: Nghiên cứu hệ thống quan sát cho xe việc xác định tình trạng giao thơng nhằm cảnh báo nguy hiểm vào giữ an toàn cho người điều khiển ô tô, giảm thiểu yếu tố chủ quan khách quan xảy tham gia giao thông 1.2 Mục tiêu phạm vi nghiên cứu Trong trình học tập trường, với kiến thức học kỹ hàn- cắt, hệ thống điện thân xe lập trình Matlab, Arduino, chúng em áp dụng kiến thức để tiến hành nghiên cứu:  Thực chế tạo xe mô hình, lắp đặt thiết bị cảm biến hình ảnh lên xe  Thử nghiệm đo độ xác việc phát đường, phát vật cản chuyển động đánh lái giữ đường Phạm vi nghiên cứu: Do khơng có điều kiện nên chúng em tiến hành thí nghiệm xe mơ hình, Wevcam máy tính với độ phân giải thấp nên tính xác khơng cao, việc chế tạo khí khơng xác gây nhiều sai số Phương pháp nghiên cứu 1.3 Để thực việc ứng dụng xử lý ảnh để nhận dạng đường cho xe mơ hình, hướng tiếp cận đề tài đề xuất bước sau: Nghiên cứu sở lý thuyết: Lý thuyết xử lý ảnh, tham khảo ứng dụng phương pháp cơng trình nghiên cứu cơng bố để xây dựng phương pháp mang tính đổi Tìm hiểu loại camera xác định tham số camera: Đây bước quan trọng đề tài xây dựng sở ứng dụng xử lý ảnh Nghiên cứu công cụ xử lý ảnh phù hợp để thu thập xử lý: LabVIEW, Matlab, OpenCV… Thu nhận hình ảnh xử lý dựa ảnh thu nhận được: Viết chương trình thu thập liệu hình ảnh từ camera để nhận biết dấu hiệu phân cách đường sở ứng dụng phần mềm xử lý ảnh Theo vết đường: Dựa kết bước xây dựng chương trình bám theo vết đường thông qua bám biên đường Xây dựng thuật tốn điều khiển, chương trình nhận dạng đường đi,vật cản để xuất tín hiệu điều khiển phần cứng 1.4 Phạm vi ứng dụng: Hiện giới hầu hết hãng xe áp dụng công nghệ giúp tăng tính ăng an tồn cho người xe người tham gia giao thơng Điển hình cơng nghệ Eye Sight hãng Subaru, theo thống kê an toàn giao thông Nhật Bản, công nghệ hạn chế va chạm Eye Sight Subaru giúp giảm số vụ lên tới 61%.Những thống kê từ năm 2010 đến 2014 cho thấy phương tiện trang bị hệ thống Eyesight có tỷ lệ va chạm phía sau thấp đến 84% so với xe không lắp đặt hệ thống Cơng nghệ xe cịn giúp giảm 62% tỷ lệ va chạm phương tiện với phương tiện 49% tỷ lệ va chạm xe khách hành Hệ thống đóng vai trị đơi mắt thứ hai mà hỗ trợ người lái quan sát đường di chuyển phía trước Theo đó, hệ thống bao gồm camera màu lắp hai bên gương chiếu hậu bên nhằm phát phương tiện, khách hành, người xe đạp nguy va chạm từ khoảng cách 110 mét phía trước Hệ thống tác động đến cấu hệ lái, phanh, điều khiển, cảnh báo lệch đường hay có vật cản phía trước rung vô-lăng âm Ứng dụng hệ thống quan sát cho xe việc xác định tình trạng giao thông sở để phát triển lên tầm cao tăng tính tự động hóa cho xe, hướng đến dự án lớn xe tự hành, xe không người lái Chương CƠ SỞ LÝ THUYẾT 2.1 Lý thuyết tổng quan xử lý ảnh: Ứng dụng xử lý ảnh rộng sống Tác động mạnh mẽ lĩnh vực y tế, anh ninh Gần gũi với sống gia đình cải tiến ảnh tivi, xử lý ảnh số có tác động định đến việc cải thiện chất lượng hình ảnh hệ truyền hình có độ phân giải cao (HDTV) Người máy ngày đóng vai trị quan trọng cơng nghiệp gia đình Chúng thực hành cơng việc nhàm chán nguy hiểm, công việc mà tốc độ độ xác vượt khả người Khi người máy trở nên tinh vi hơn, thị giác máy tính (Computer Vision) đóng vai trò ngày quan trọng Người ta đòi hỏi người máy phát nhận dạng phận cơng nghiệp, mà cịn “hiểu” chúng “thấy” đưa hành động phù hợp Xử lý ảnh có tác động lớn đến thị giác máy tính Nhìn chung, ứng dụng xử lý ảnh số vô hạn 2.1.1 Xử lý ảnh số gì? Xử lý ảnh số sử dụng máy tính số, chúng phát triển để đáp ứng ba vấn đề liên quan đến ảnh : - Số hóa mã hóa ảnh để đơn giản hóa q q trình truyền thông, in ấn lưu giữ ảnh - Cải thiện chất lượng khôi phục ảnh để hiểu biết nhiều nội dung thông tin chứa ảnh, chẳng hạn ảnh chụp bề mặt hành tinh xa xôi vệ tinh gửi ảnh nội soi, công hưởng từ khảo sát y học - Phân đoạn mô tả ảnh, nhằm tạo nên ảnh tín hiệu lối vào cho hệ thống nhìn nhân tạo để tách thông tin chứa ảnh thu Phân đoạn mơ tả ảnh cịn gọi lý giải ảnh Những ứng dụng lý giải ảnh bao gồm thị giác máy tính, rơbốt nhận dạng mục tiêu Lý giải ảnh khác với lĩnh vực khác xử lý ảnh khía cạnh Trong cải tiến, phục hồi số hóa, mã hóa ảnh đầu vào đầu ảnh, khâu xử lý tín hiệu phần then chốt hệ thống thành cơng lĩnh vực Trong lý giải ảnh, đầu vào ảnh đầu biểu diễn ký hiệu nội dung ảnh đầu vào Sự phát triển thành công hệ thống lĩnh vực cần đến xử lý tín hiệu khái niệm trí tuệ nhân tạo Trong hệ lý giải ảnh điển hình, xử lý ảnh dùng cho công việc mức thấp làm giảm xuống cấp trích đường biên (extraction of edges) đặc tính ảnh khác, cịn trí tuệ nhân tạo dùng cho công việc xử lý mức cao thao tác ký hiệu quản lý tri thức Phân đoạn mô tả ảnh lý thuyết quan trọng việc thực đề tài ‘Nghiên cứu hệ thống quan sát cho xe việc xác định tình trạng giao thơng’ 2.1.2 Biểu diễn ảnh số 2.1.2.1 Ảnh Một ảnh hình ảnh tượng trưng (hình ảnh ảo) đối tượng, người phong cảnh tạo thiết bị quang học gương, ống kính máy ảnh Hình ảnh tượng trưng hai chiều (2D) phản ánh giới thực ba chiều (3D) đối tượng hay cảnh vật Hình Ảnh tương tự ảnh số hóa 2.1.2.2 Ảnh số gì? Một ảnh kỹ thuật số (Ảnh số) biểu diễn hai chiều hình ảnh sử dụng số hữu hạn điểm điểm ảnh, hay gọi phần tử ảnh, pels pixels TÀI LIỆU THAM KHẢO [1] Trần Quang Khánh, Matlab ứng dụng, Nxb Khoa học kỹ thuật, 2010 [2] TS.Hồ Văn Sung, Xử lý ảnh số - Lý thuyết thực hành với Matlab, Nxb Khoa học kỹ thuật, 2013 [3] The mathWork Inc, Image Processing Toolbox, 2013 [4] http://www.mathworks.com [5] http://autocarvietnam.vn [6] https://suryatejacheedella.wordpress.com [7] https://stackoverflow.com [8] http://www.mathworks.com/help/images/functionlist.html [9] https://www.arduino.cc/ [10] http://arduino.vn/ [11] https://www.youtube.com/watch?v=UYWeKpke6a8 65 PHỤ LỤC A Chương trình : clear all close all delete(instrfind); DrawPoly = 1; % Set de ve duong line NumRows = 120; % So hang vung anh xu ly MaxLaneNum = 20; % So lan duong toi da de tich luy ExpLaneNum = 2; Rep_ref % So lan duong duoc tim khung hinh = zeros(ExpLaneNum, MaxLaneNum); % Line luu tru Count_ref = zeros(1, MaxLaneNum); % Dem mang luu tru TrackThreshold = 75; % Su thay doi toi da cho phep khoang cach giua % hai lan duong LaneColors = single([0 0;1 0; 1 0; 1 1;1 1]); % So khung anh toi thieu de nhan dang frameFound = 5; % So khung anh toi da nhan dang frameLost = 20; % Cho gia tri Rho 35:45 startIdxRho_R = 415; NumRhos_R = 51; % Cho gia tri Theta -90:-70deg startIdxTheta_R = 1; NumThetas_R = 21; % Cho gia tri Rho 379:415 startIdxRho_L = 380; NumRhos_L = 36; % Cho gia tri Theta 55:85deg startIdxTheta_L = 146; 66 NumThetas_L = 21; % Hien thi duong line offset offset = int32([0, NumRows, 0, NumRows]); %% % Tao doi tuong |VideoFileReader| de doc video tu file hVideoSrc = imaq.VideoDevice('winvideo',1,'YUY2_640x480', 'ROI', [140 360 240], 'ReturnedColorSpace', 'rgb'); %imaq.VideoDevice('winvideo',2,'RGB24_640x480', %vision.VideoFileReader('viplanedeparture.avi'); %% % Tao doi tuong |ColorSpaceConverter| de chuyen anh RGB sang anh cuong hColorConv1 = vision.ColorSpaceConverter( 'Conversion', 'RGB to intensity'); %% % Tao doi tuong giup nhan dang nguoi peopleDetector = vision.PeopleDetector('ClassificationThreshold', 0,'MergeDetections',false); %% % Tao |ImageFilter| de thuc hien loc 2-D FIR de xac dinh bien video hFilter2D = vision.ImageFilter( 'Coefficients', [-1 1], 'OutputSize', 'Same as first input', 'PaddingMethod', 'Replicate', 'Method', 'Correlation'); %% % Tao |Autothresholder| de chuyen doi anh cuong sang anh nhi phan hAutothreshold = vision.Autothresholder; 67 %% % Tao |HoughTransform| de tao duong thang duoc dinh nghia bd Hough hHough = vision.HoughTransform( 'ThetaRhoOutputPort', true, 'OutputDataType', 'single'); %% % Tao |LocalMaximaFinder| de tim dinh matran bien doi Hough hLocalMaxFind1 = vision.LocalMaximaFinder( 'MaximumNumLocalMaxima', ExpLaneNum, 'NeighborhoodSize', [301 81], 'Threshold', 1, 'HoughMatrixInput', true, 'IndexDataType', 'uint16'); % Tao doi tuong |HoughLines| de tim toa Decac cua duong thang duoc xac % dinh dau duong hHoughLines1 = vision.HoughLines('SineComputation', 'Trigonometric function'); %% thiet lap giao tiep voi arduino thong qua serial port a=arduino('com3'); s= serial ('com4', 'BaudRate',115200,'Terminator','LF','Timeout',10); fopen (s); %% % Dinh nghia tham so de chen text vao canh bao lan duong warnText = {sprintf('Ben phai'), '', sprintf('Ben trai')}; warnTextLoc = [120 170;-1 -1; 170]; hVideoOut = vision.VideoPlayer; 68 %% % Khoi tao bien vong lap Frame = 0; NumNormalDriving = 0; OutMsg = int8(-1); OutMsgPre = OutMsg; %% Vong lap xu ly % Tao vong lap phat hien lan duong video nhap vao % Vong lap dung nhung doi tuong da duoc tao warningTextColors = {[1 0], [1 0], [0 0], [0 0]}; while true RGB = step(hVideoSrc); %% nhan dang nguoi [bbox,score] = step(peopleDetector,RGB); [selectedBbox,selectedScore] = selectStrongestBbox(bbox,score); %% nhan dang vat can mau diff_im = imsubtract(RGB(:,:,1), rgb2gray(RGB)); diff_im = medfilt2(diff_im, [3 3]); % chuyen doi mau toi ket qua nhi phan diff_im = im2bw(diff_im,0.18); diff_im = bwareaopen(diff_im,300); % tong hop cac phan diem anh bw = bwlabel(diff_im, 8); stats = regionprops(bw, 'BoundingBox', 'Centroid'); a1='Cm'; c= fscanf(s); %c='22'; label_str = strcat(c,a1); %% boundingbox vat can va hien thi khoang cach for object = 1:length(stats) bbox = stats(object).BoundingBox; bc = stats(object).Centroid; 69 RGB = insertShape(RGB, 'Rectangle',bbox, 'Color', 'green','LineWidth',2); RGB = insertText(RGB,[bc(1), bc(2)], label_str, 'FontSize',20, 'BoxOpacity', 1); end % bounding box nguoi RGB = insertObjectAnnotation(RGB,'rectangle',selectedBbox, cellstr(num2str(selectedScore)),'Color','r'); %% % Chon vung duoi cua video dau vao (dinh nghia vung quan sat) Imlow = RGB(NumRows+1:end, :, :); % Phat hien bien va bien doi Hough Imlow = step(hColorConv1, Imlow); % Chuyen anh RGB sang anh cuong I = step(hFilter2D, Imlow); % Bao hoa cac gia tri giua va I(I < 0) = 0; I(I > 1) = 1; Edge = step(hAutothreshold, I); [H, Theta, Rho] = step(hHough, Edge); % Phat hien dinh H1 = H; % Mo rong ma tran H voi theta < -78 va theta >= 78 H1(:, 1:12) = 0; H1(:, end-12:end) = 0; Idx1 = step(hLocalMaxFind1, H1); Count1 = size(Idx1,1); % Chon Rhos va Thetas tuong ung voi dinh Line = [Rho(Idx1(:, 2)); Theta(Idx1(:, 1))]; Enable = [ones(1,Count1) zeros(1, ExpLaneNum-Count1)]; % Theo doi tap hop cac dau phan cach lan duong [Rep_ref, Count_ref] = videolanematching(Rep_ref, Count_ref, 70 MaxLaneNum, ExpLaneNum, Enable, Line, TrackThreshold, frameFound+frameLost); % Chuyen duong thang tu toa Polar sang Cartesian Pts = step(hHoughLines1, Rep_ref(2,:), Rep_ref(1,:), Imlow); % Lan duong trai va phai [TwoValidLanes, NumNormalDriving, TwoLanes, OutMsg] = videodeparturewarning(Pts, Imlow, MaxLaneNum, Count_ref, NumNormalDriving, OutMsg); % Dien giai: = Right lane departure, % = Normal driving, = Left lane departure % Output Frame = Frame + 1; if Frame >= TwoLanes1 = TwoLanes + [offset; offset]'; if DrawPoly && TwoValidLanes if TwoLanes(4,1) >= 239 Templ = TwoLanes1(3:4, 1); else Templ = [0 239]'; end if TwoLanes(4,2) >= 239 Tempr = TwoLanes1(3:4, 2); else Tempr = [359 239]'; end Pts_poly = [TwoLanes1(:,1); Templ; Tempr; TwoLanes1(3:4,2); TwoLanes1(1:2,2)]; % Ve lan duong RGB = insertShape(RGB,'FilledPolygon',Pts_poly.', 'Color',[1 1],'Opacity',0.0); end % Ve duong line 71 RGB = insertShape(RGB,'Line',TwoLanes1', 'Color',{'yellow','yellow'}); % Chen text canh bao txt = warnText{OutMsg+1}; txtLoc = warnTextLoc(OutMsg+1, :); txtColor = single(warningTextColors{mod(Frame-1,4)+1}); RGB = insertText(RGB,txtLoc,txt,'TextColor', txtColor, 'FontSize',20, 'BoxOpacity', 0); %% truyen tin hieu lech trai lech phai xuong arduino thong qua serial port % lech trai if (OutMsg == 0) writeDigitalPin (a,2,1) writeDigitalPin (a,12,0) writeDigitalPin (a,13,1) writePWMVoltage (a, 3,5) pause (0.1) writeDigitalPin (a,12,0) writeDigitalPin (a,13,0) %writePWMVoltage (a,2,0) pause (0.5) writeDigitalPin (a,12,1) writeDigitalPin (a,13,0) writePWMVoltage (a, 3,5) pause(0.05) writeDigitalPin (a,12,0) writeDigitalPin (a,13,0) writePWMVoltage (a, 3,0) elseif (OutMsg == | OutMsg == 2) writeDigitalPin (a,2,0) end 72 if (OutMsg == 1) writeDigitalPin (a,4,1); writeDigitalPin (a,12,0); writeDigitalPin (a,13,0); %writePWMVoltage (a,2,0); elseif (OutMsg == | OutMsg == 2) writeDigitalPin (a,4,0) end if (OutMsg == 2) %led sang writeDigitalPin (a,8,1) %dieu khien motor writeDigitalPin (a,12,1) writeDigitalPin (a,13,0) writePWMVoltage (a,3,5) pause (0.1) writeDigitalPin (a,12,0) writeDigitalPin (a,13,0) %writePWMVoltage (a,3,0) pause (0.5) writeDigitalPin (a,12,0) writeDigitalPin (a,13,1) writePWMVoltage (a,3,5) pause(0.05) writeDigitalPin (a,12,0) writeDigitalPin (a,13,0) elseif (OutMsg == | OutMsg == 1) %led tat writeDigitalPin (a,8,0) %writePWMVoltage (a,2,0) end end 73 OutMsgPre = OutMsg; step(hVideoOut,RGB); end release(hVideoSrc); % dong giao tiep voi cong com fclose(s); B Xác định dấu phân cách trái / phải function [TwoValidLanes, NumNormalDriving, TwoLanes, OutMsg] = videodeparturewarning(Pts, Imlow, MaxLaneNum, Count_ref, NumNormalDriving, OutMsg) % hObject handle to exit_pushbutton7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Dis_inf = size(Imlow, 2); % Width of image Halfwidth = Dis_inf * 0.5; Left_dis = single(intmax('int16')); Left_pts = zeros(4, 1); Right_dis = single(intmax('int16')); Right_pts = zeros(4, 1); Pts = Pts(:, [2 3])'; for i = 1:MaxLaneNum % Pick the column corresponding to the point closer to the top if Pts(1, i) >= Pts(3, i) ColNum = Pts(2, i); else ColNum = Pts(4, i); end if Count_ref(i) >= centerDis = abs(Halfwidth - ColNum); else centerDis = Dis_inf; end 74 if (Halfwidth - ColNum) >= % left lane if centerDis < Left_dis Left_dis = centerDis; Left_pts = Pts(:, i); end else % right lane if centerDis < Right_dis Right_dis = centerDis; Right_pts = Pts(:, i); end end end % Departure detection if Left_dis < Dis_inf TmpLeftPts = Left_pts; else TmpLeftPts = zeros(4, 1); end if Right_dis < Dis_inf TmpRightPts = Right_pts; else TmpRightPts = zeros(4, 1); end TwoLanes = int32([TmpLeftPts TmpRightPts]); % Check whether both lanes are valid Check1 = (TwoLanes(1,:) ~= TwoLanes(3,:)) | (TwoLanes(2,:) ~= TwoLanes(4,:)); Check2 = (abs(TwoLanes(1,:) - TwoLanes(3,:)) + abs(TwoLanes(2,:) - TwoLanes(4,:))) >= 10; TwoValidLanes = (Left_dis = OutMsg = RawMsg; end % else keep old OutMsg if RawMsg ~= int8(1) NumNormalDriving = 0; end TwoLanes = TwoLanes([2 3], :); C Xác định dấu đường function [Rep_ref, Count_ref] = videolanematching(Rep_ref, Count_ref, MaxLaneNum, ExpLaneNum, Enable, Line, TrackThreshold, CountUpperThresh) List = double(intmax('int16')) * ones(MaxLaneNum, ExpLaneNum); 76 for i = 1:MaxLaneNum for j = 1:ExpLaneNum if Count_ref(i) > && Enable(j) == List(i, j) = abs(Line(1, j)' - Rep_ref(1,i)) + abs(Line(2, j)' - Rep_ref(2, i)) * 200; end end end % Find the best matches between the current lines and those in the % repository %Match_dis Match_dis = intmax('int16')*ones(1, MaxLaneNum, 'int16'); = double(intmax('int16'))*ones(1, MaxLaneNum); Match_list = zeros(2, MaxLaneNum); for i = 1:ExpLaneNum if i > % Reset the row and column where the minimum element lies on List(rowInd, :) = double(intmax('int16')) * ones(1, ExpLaneNum); List(:, colInd) = double(intmax('int16')) * ones(MaxLaneNum, 1); end % In the 1st iteration, find minimum element (corresponds to % best matching targets) in the distance matrix Then, use the % updated distance matrix where the minimun elements and their % corresponding rows and columns have been reset [Val, Ind] = min(List(:)); [rowInd colInd] = ind2sub(size(List), Ind); Match_dis(i) = Val; Match_list(:,i) = [rowInd colInd]'; end % Update reference target list % If a line in the repository matches with an input line, replace % it with the input one and increase the count number by one; % otherwise, reduce the count number by one The count number is % then saturated Count_ref = Count_ref - 1; 77 for i = 1:ExpLaneNum if Match_dis(i) > TrackThreshold % Insert in an unused space in the reference target list NewInd = find(Count_ref < 0, 1); Rep_ref(:, NewInd) = Line(:, Match_list(2, i)); Count_ref(NewInd) = Count_ref(NewInd) + 2; else % Update the reference list Rep_ref(:, Match_list(1, i)) = Line(:, Match_list(2, i)); Count_ref(Match_list(1, i)) = Count_ref(Match_list(1, i)) + 2; end end Count_ref(Count_ref < 0) = 0; Count_ref(Count_ref > CountUpperThresh) = CountUpperThresh; D Code Arduino // them thu vien va khai bao cac chan cua cam bien sieu am #include #define TRIGGER_PIN 12 #define ECHO_PIN 13 #define MAX_DISTANCE 300 #define led_distance 11 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); void setup() { Serial.begin(115200); pinMode (led_distance,OUTPUT); } void loop() { delay(1000); //Serial.print("Ping: "); Serial.println(sonar.ping_cm()); // Serial.println("cm"); if ( sonar.ping_cm () 20) { digitalWrite(led_distance ,LOW); } } 79 ... dùng cho công việc xử lý mức cao thao tác ký hiệu quản lý tri thức Phân đoạn mô tả ảnh lý thuyết quan trọng việc thực đề tài ? ?Nghiên cứu hệ thống quan sát cho xe việc xác định tình trạng giao thông? ??... định thực đề tài: Nghiên cứu hệ thống quan sát cho xe việc xác định tình trạng giao thơng nhằm cảnh báo nguy hiểm vào giữ an toàn cho người điều khiển ô tô, giảm thiểu yếu tố chủ quan khách quan. .. độ làm việc so với cấu điện tử Ở Việt Nam, sở hạ tầng giao thông dần cải thiện Việc xây dựng hệ thống giao thông thông minh vấn đề cấp thiết công cơng nghiệp hóa, đại hóa đất nước Nghiên cứu, xây

Ngày đăng: 06/06/2022, 01:43

HÌNH ẢNH LIÊN QUAN

Hình 2.2 Điểm quy chiếu không gian của điểm ảnh - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.2 Điểm quy chiếu không gian của điểm ảnh (Trang 11)
Hình 2.4 Ảnh xám hóa - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.4 Ảnh xám hóa (Trang 12)
Hình 2.3 Ảnh nhị phân - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.3 Ảnh nhị phân (Trang 12)
Hình 2.5 Ảnh màu RGB trong Matlab - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2.5 Ảnh màu RGB trong Matlab (Trang 13)
- Lập bảng chỉ số [a, b]và gán giá trị 0. - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
p bảng chỉ số [a, b]và gán giá trị 0 (Trang 15)
Hình 2 .7 Đường thẳng Hough trong hệ tọa độ Đề-các - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 2 7 Đường thẳng Hough trong hệ tọa độ Đề-các (Trang 16)
13nhất với Arduino Mega 1208 chính là chip chân. Arduino Mega 2560 phiên bản hiện đang  - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
13nh ất với Arduino Mega 1208 chính là chip chân. Arduino Mega 2560 phiên bản hiện đang (Trang 18)
Hình 3.1 Board mạch Arduino Mega2560 - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3.1 Board mạch Arduino Mega2560 (Trang 18)
Hình 3.2 Cảm biến siêu âm SRF-05 - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3.2 Cảm biến siêu âm SRF-05 (Trang 20)
Hình 3.5 Cửa sổ làm việc - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3.5 Cửa sổ làm việc (Trang 23)
Hình 3.8 Ảnh dùng biến đổi Hough - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3.8 Ảnh dùng biến đổi Hough (Trang 33)
Hình 3 .9 Kết quả dùng houghpeaks - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3 9 Kết quả dùng houghpeaks (Trang 35)
Hình 3. 12 Ảnh cường độ - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3. 12 Ảnh cường độ (Trang 42)
Hình 3. 16 Ảnh RGB - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 3. 16 Ảnh RGB (Trang 46)
4.1 Mô hình tổng quát: - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
4.1 Mô hình tổng quát: (Trang 49)
Sử dụng hàm imaq.VideoDevice để thu tập hình ảnh từ webcam với cú pháp: &gt;&gt; hVideoSrc = imaq.VideoDevice('winvideo',2,'RGB24_640x480', .. - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
d ụng hàm imaq.VideoDevice để thu tập hình ảnh từ webcam với cú pháp: &gt;&gt; hVideoSrc = imaq.VideoDevice('winvideo',2,'RGB24_640x480', (Trang 51)
Hình 4.2 Ảnh được trích xuất - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.2 Ảnh được trích xuất (Trang 52)
Hình 4 .7 Sơ đồ nối dây của hệ thống điều khiển - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4 7 Sơ đồ nối dây của hệ thống điều khiển (Trang 56)
Hình 4.8 Sơ đồ nối dây mô hình thực tế - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 4.8 Sơ đồ nối dây mô hình thực tế (Trang 56)
Thí nghiệm được thực nghiệm trên xe mô hình với các kích thước: - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
h í nghiệm được thực nghiệm trên xe mô hình với các kích thước: (Trang 57)
Độ phân giải của camera ghi hình là 640x480, tốc độ ghi là 30fps. - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
ph ân giải của camera ghi hình là 640x480, tốc độ ghi là 30fps (Trang 58)
Hình 5 .6 Xe đi lệch phải ngoài đường nhựa - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5 6 Xe đi lệch phải ngoài đường nhựa (Trang 60)
Hình 5. 10 Xe không nhận được làn đường do mờ - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 10 Xe không nhận được làn đường do mờ (Trang 62)
Hình 5. 13 Nhận dạng người đi bộ và vật cản - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 13 Nhận dạng người đi bộ và vật cản (Trang 63)
Hình 5. 12 Nhận dạng người đi bộ - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 12 Nhận dạng người đi bộ (Trang 63)
Hình 5. 15 Nhận dạng vật cản là chiếc xe thông qua ảnh từ điện thoại chụp - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 15 Nhận dạng vật cản là chiếc xe thông qua ảnh từ điện thoại chụp (Trang 64)
Hình 5. 14 Nhận dạng vật cản là chiếc xe thông qua một ảnh từ điện thoại - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 14 Nhận dạng vật cản là chiếc xe thông qua một ảnh từ điện thoại (Trang 64)
Hình 5. 17 Nhận dang được xe và người chuyển động - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 17 Nhận dang được xe và người chuyển động (Trang 65)
Hình 5. 19 Nhận dạng xe ngoài thực tế - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 19 Nhận dạng xe ngoài thực tế (Trang 66)
Hình 5. 18 Nhận dạng được xe và người chuyển động - Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông   đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô
Hình 5. 18 Nhận dạng được xe và người chuyển động (Trang 66)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

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

TÀI LIỆU LIÊN QUAN

w