(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường

78 4 0
(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường

Đ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

(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường(Luận văn thạc sĩ) Ứng dụng xử lý ảnh để tính lưu lượng xe lưu thông trên đường

LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa cơng bố cơng trình khác Tp Hồ Chí Minh, ngày 24 tháng 03 năm 2016 ii LỜI CẢM ƠN Luận văn thực Trường Đại học Sư phạm kỹ thuật TP Hồ Chí Minh Để hồn thành luận văn tơi nhận nhiều động viên, giúp đỡ nhiều cá nhân tập thể Trước hết, xin bày tỏ lòng biết ơn sâu sắc đến Thầy TS Nguyễn Thanh Hải hướng dẫn thực nghiên cứu Xin bày tỏ lịng biết ơn chân thành tới thầy cô giáo, người đem lại cho kiến thức bổ trợ, vô có ích năm học vừa qua Cũng xin gửi lời cám ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo sau đại học, Đại học Sư phạm kỹ thuật TP Hồ Chí Minh tạo điều kiện cho tơi q trình học tập Cuối tơi xin gửi lời cám ơn đến gia đình, bạn bè, người bên tôi, động viên khuyến khích tơi q trình thực đề tài nghiên cứu Tp Hồ Chí Minh, ngày 24 tháng 03 năm 2016 iii TÓM TẮT Ngày dân số số lượng phương tiện thành phố tăng lên ngày, ùn tắc giao thông thường xun xảy Vì nhu cầu kiểm sốt mật độ phương tiện tuyến đường quan trọng Đề tài xây dựng hệ thống phát tính lưu lượng xe lưu thơng đường dùng xử lý ảnh với liệu ngõ vào video thu từ camera máy ảnh đặt đường Phương pháp thực trừ nền, xử lý hình thái, phát xe tính số xe phát Đầu tiên, sử dụng mô hình Gaussian hỗn hợp để trừ nền, chuyển ảnh màu thành ảnh nhị phân xe đốm trắng đường đen Sau sử dụng phép xử lý ảnh hình thái để tơ đầy xe thành khối màu trắng thống đồng thời loại bỏ thành phần không mong muốn Kết thu ảnh nhị phân hoàn chỉnh Cuối sử dụng thuật toán dán nhãn để dán nhãn đếm số lượng xe Kết mô phần mềm Matlab cho thấy phương pháp tính tốn số lượng xe xác trường hợp góc quay camera gần đủ rõ Việc xác định xác lưu lượng xe lưu thơng tuyến đường góp phần quan trọng việc đưa cảnh báo mật độ phương tiện, từ cải thiện tình trạng ùn tắc giao thông đô thị iv ABSTRACT Nowadays, the population and number of vehicles in the big cities are increasing day by day, so traffic jams often occur Therefore, controlling the density of vehicles on the roads is very important This thesis has developed a system to detect and count circulating traffic flow on the road using image processing, in which video data is obtained from cameras placed on the road In this project, methods are background subtraction, morphological operation, vehicle detection and vehicle counting First, Gaussian mixture model for background subtraction is used to transfer color picture into binary image, in which vehicles are white spots and roads are black After that, the morphological operation is employed to fill the white car into an unified block and it is removed unwanted components to produce a complete binary image Finally, the labeling algorithm is applied for labeling and counting the number of vehicles Simulation results in Matlab software show that proposed method is quite accurate in the case of close, clear camera angles The accuracy of vehicle traffic flow detection will contribute significantly in making warnings about the density of vehicles and improving traffic congestion in urban areas v MỤC LỤC Trang tựa Quyết định giao đề tài Lý lịch cá nhân i Lời cam đoan ii Cảm tạ iii Tóm tắt iv Mục lục vi Danh sách chữ viết tắt ix Danh sách hình x Danh sách bảng xi Chương 1: TỔNG QUAN 1.1 Tổng quan lĩnh vực nghiên cứu, kết nghiên cứu nước công bố 1.1.1 Tổng quan lĩnh vực nghiên cứu 1.1.2 Một số kết nghiên cứu công bố 1.2 Mục tiêu đề tài 1.3 Nhiệm vụ giới hạn đề tài 1.3.1 Nhiệm vụ: 1.3.2 Giới hạn: 1.4 Phương pháp nghiên cứu Chương 2: KHÁI QUÁT XỬ LÝ ẢNH 2.1 Xử lý ảnh 2.1.1 Giới thiệu 2.1.2.Một số ứng dụng xử lý ảnh 2.1.3 Xử lý video 2.1.4 Một số vấn đề xử lý video vi 10 2.2 Theo dõi đối tượng 10 2.2.1 Các thành phần xây dựng hệ thống theo dõi đối tượng 10 2.2.2 Các bước cần thực hệ thống theo dõi đối tượng 12 Chương 3: PHƯƠNG PHÁP TRỪ NỀN 13 3.1 Giới thiệu 13 3.2 Các phương pháp 14 3.2.1 Trừ khung 14 3.2.2 Trung bình chạy 15 3.2.3 Trung vị chạy 18 3.3 Phương pháp trừ cao cấp 20 3.3.1 Trung bình chạy Gaussian (Gaussian đơn) 20 3.3.2 Mơ hình Gaussian hỗn hợp 20 3.4 Kết luận 24 Chương 4: PHƯƠNG PHÁP HÌNH THÁI VÀ THUẬT TOÁN DÁN NHÃN 25 4.1 Phương pháp hình thái 25 4.1.1 Phép co ảnh 26 4.1.2 Phép giãn ảnh 30 4.1.3 Phép mở ảnh 32 4.1.4 Phép đóng ảnh 33 4.1.5 Các bước xử lý hình thái 34 4.1.6 Kết luận 37 4.2 Thuật toán dán nhãn 37 4.2.1 Mục đích 37 4.2.2 Thành phần liên kết 37 4.2.3 Thuật toán dán nhãn 37 Chương 5: KẾT QUẢ 42 5.1 Sơ đồ khối 42 5.2 Trừ dùng mơ hình Gaussian hỗn hợp 42 5.3 Chọn vùng theo dõi 44 vii 5.4 Xử lý hình thái 46 5.5 Loại bỏ nhiễu 52 5.6 Phát xe 53 5.7 Tính số xe 55 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60 6.1 Kết luận 60 6.2 Hướng phát triển 60 TÀI LIỆU THAM KHẢO 61 PHỤ LỤC 63 viii DANH SÁCH CÁC CHỮ VIẾT TẮT GMM: Gaussian Mixture Model BG: Background FG: Foreground EM: Expectation Maximization ROI: Region of Interest RGB: Red Green Blue image ix DANH SÁCH CÁC BẢNG BẢNG TRANG Bảng 1.1: Phân loại thuật toán phát đối tượng Bảng 1.2: Phương pháp trừ phân tích hiệu suất Bảng 4.1: Tập nhãn thu sau lần duyệt 40 Bảng 5.1: Đánh giá kết chạy mô 58 x DANH SÁCH CÁC HÌNH HÌNH TRANG Hình 2.1: Khung hình Hình 2.2: Thước đo độ xám Hình 2.3: Khơng gian màu RGB Hình 2.4: Theo dõi vi phạm giao thơng qua camera 11 Hình 2.5: Các bước cần thực trình theo dõi tự động 12 Hình 3.1: Kết trừ khung với mức ngưỡng khác 15 Hình 3.2: Ảnh kết trừ trung bình chạy 17 Hình 3.3: Nền kết trừ trung vị chạy 19 Hình 4.1: Phép xử lý hình thái cho ảnh giao thông với xe di chuyển đường 26 Hình 4.2: Phép co ảnh 27 Hình 4.3: Phần tử cấu trúc; (a) phần tử cấu trúc vuông, (b) phần tử cấu trúc đường 28 Hình 4.4: Phép co ảnh 29 Hình 4.5: Phép giãn ảnh 30 Hình 4.6: Phép giãn ảnh 31 Hình 4.7: Phép mở ảnh 32 Hình 4.8: Phép đóng ảnh 33 Hình 4.9: Phép đóng ảnh 34 Hình 4.10: Sơ đồ bước xử lý hình thái 35 Hình 4.11: Ảnh gốc ảnh sau trừ 35 Hình 4.12: Kết phép xử lý hình thái 35 Hình 4.13: Kết đếm sai, xe thành xe 36 xi (a) (b) (c) (d) Hình 5.10: (a), (b) ảnh cần xử lý; (c), (d) ảnh loại bỏ đốm nhỏ Nhận xét: Sau lọc bỏ đốm nhỏ có số điểm ảnh nhỏ giá trị đó, ảnh thu cịn xe lấp đầy, khơng cịn đốm nhỏ hình 5.10c, 5.10d giúp cho việc đếm xe trở nên xác 5.6 Phát xe Qua bước xử lý ảnh ta thu ảnh nhị phân hoàn chỉnh với xe phát đốm màu trắng Sử dụng hàm “vision.BlobAnalysis” matlab để dị tìm đốm màu trắng tương ứng với xe di chuyển Hàm phát xe Trang 53 cách chọn đốm màu trắng có tổng số điểm ảnh lớn giá trị ngưỡng để đánh dấu Kết mơ hình 5.11 (a) Ảnh nhị phân hồn chỉnh (b) Ảnh nhị phân hoàn chỉnh (b) Kết đếm với ngưỡng T= 210 (d) Kết đếm với ngưỡng T= 211 Hình 5.11: Phát đối tượng với ngưỡng khác Nhận xét: Chiếc xe máy nhị phân hóa hình 5.11a 5.11b có số điểm ảnh 210 Vậy ta chọn ngưỡng phát T=210 xe máy phát hiện, ngược lại với T=211 xe khơng phát Trang 54 5.7 Tính số xe Có nhiều phương pháp để tính số xe ảnh nhị phân Trong khn khổ đề tài khảo sát thuật toán dán nhãn thành phần liên kết để tính số vật thể ảnh nhị phân (a) (b) (c) (d) Hình 5.12: Dán nhãn Trong hình 5.12, hình 5.12a ảnh nhị phân tượng trưng hình 5.12c, hình 5.12b kết dán nhãn hình 5.12a hình 5.12d ảnh màu hiển thị kết số xe đếm tương ứng Một số kết khác hình 5.13 Trang 55 (a) xe dán nhãn (b) kết hiển thị (a) (c) xe dán nhãn (d) kết hiển thị (c) Hình 5.13: Kết dán nhãn đánh dấu hộp biên Trang 56 Sơ đồ khối phương pháp tính tổng số xe cho nhiều khung liên tiếp video mơ tả hình 5.14 Bắt đầu Tổng số xe =0 Sai S=0 xn > xn-1 Đúng S= xn - xn-1 Tổng số xe = Tổng số xe + S Số khung = số khung +1 Kết thúc Hình 5.14: Sơ đồ khối đếm tổng số xe cho nhiều khung video; xn xn-1 số xe đếm khung khung liền kề trước Trang 57 Thực chạy mơ phần mềm Matlab với video thu từ camera giao thơng Trong video này, video có số khung khác nhau, số xe thực tế, số xe đếm độ xác thể bảng 5.1 Việc độ xác khác video có nhiễu độ rõ khác Bảng 5.1: Đánh giá kết chạy mô Video ngõ vào Số khung Số xe thực tế Video Video Video 183 281 272 10 26 29 (a) Video Trang 58 Số xe đếm 10 26 25 Độ xác (%) 100 100 86.2 (b) Video (c) Video Hình 5.15 : Kết đếm xe Nhận xét: Video video có góc quay camera rõ trực diện nên cho kết đếm xác Trong video 3, số xe di chuyển gần nên trình xử lý hình thái xe bị dính vào dẫn đến kết chưa xác Đây vấn đề khó để giải phương pháp Trang 59 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận Việc tính xác lưu lượng xe lưu thông tuyến đường giúp cải thiện nhiều tình trạng ùn tắc giao thơng đô thị Trong đề tài này, liệu đầu vào video thu từ camera giao thông Phương pháp thực tách xe di chuyển khỏi đường dùng mơ hình Gaussian, sau áp dụng phép xử lý ảnh hình thái để tô đầy xe loại bỏ thành phần không mong muốn Cuối sử dụng thuật toán dán nhãn để đếm số xe khung ảnh Phương pháp thực đề tài cho kết xác trường hợp góc quay camera gần đủ rõ Kết bị ảnh hưởng cường độ sáng khác thời điểm khác ngày Tuy nhiên trường hợp góc quay camera khơng đủ rõ, có nhiễu tác động mơi trường, xe di chuyển gần kết chưa tốt hạn chế đề tài 6.2 Hướng phát triển Nâng cao hiệu suất tính cách cải tiến mơ hình Gaussian hỗn hợp trình bày thành mơ hình Gaussian thích ứng, sử dụng luồng quang học để theo dõi hướng chuyển động Xử lý liệu video trực tuyến thu từ camera giao thông phân loại loại xe ô tô, xe máy, xe tải hướng phát triển đề tài Trang 60 TÀI LIỆU THAM KHẢO [1] Alper Yilmaz, Omar Javed, and Mubarak Shah Object Tracking: A Survey ACM Computing Surveys, Vol 38, No 4, pp 7-15, December 2006 [2] Anurag Mittal and Mikos Paragios Motion Based Background Subtraction using Adaptive Kernel Density Estimation pp 302-309, 2004 [3] Stauffer C, Grimson W E L, “Adaptive background mixture models for real-time tracking”, 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (Cat No PR00149), IEEE Comput Soc, Vol 2, 1999 [4] Serap Kazan, Musa Balta, Kevser Ovaz Traffic Intensity Estimation Using Real Time Computer Vision System Department of Computer Engineering, Sakarya University Sakarya, 2009 [5] G SalviAn Automated Vehicle Counting System Based on Blob Analysis for Traffic Surveillance Department of Economics Studies, University of Naples, 2012 [6] Pejman Niksaz Automatic Traffic Estimation Using Image Processing International Journal of Signal Processing, Image Processing and Pattern Recognition, Vol 5, No 4, 2012 [7] P Srinivas, Y L Malathilatha, Dr M.V.N.K Prasad Image Processing Edge DetectionTechnique used for Traffic Control Problem International Journal of Computer Science and Information Technologies, Vol 4, pp 17 – 20, 2013 [8] Mrs Muth Sebastian, Anisha Ann Sam, Aleena Jose Vehicle Collision Avoidance System In Curved Roads International Journal of Engineering Research in Electronic and Communication Engineering (IJERECE), Vol 2, Issue 8, August 2015 Trang 61 [9] Abhishek R.Lahudkar, Akshay A.Shirsat, Sumant S Landge, Dr Mrs Arati J Vyavahare Traffic Estimation Using Image Processing International Journal of Engineering Technology, Management and Applied Sciences Volume 3, Issue 4, April 2015 [10] Clement Chun Cheong Pang, William Wai Leung Lam, and Nelson Hon Ching Yung “A Method for Vehicle Count in the Presence of Multiple-Vehicle Occlusions in Traffic Images” IEEE Transactions on intelligent transportation systems, vol 8, no.3, sep 2007 [11] M Piccardi, "Background subtraction techniques: a review", IEEE International Conference on Systems, Man and Cybernetics, 2004 [12] Đỗ Năng Toàn, Phạm Việt Bình Giáo trình xử lý ảnh, Đại học Thái Nguyên NXB Khoa học Kỹ thuật, 2008, tr [13] Nguyễn Quang Hoan Xử lý ảnh NXB Đại học Quốc gia, 2006 [14] Nguyễn Xuân Tường Vi, Nguyễn Hồn Vũ Tìm hiểu kỹ thuật phát người video giám sát lớp học Khóa luận tốt nghiệp lớp cử nhân tài ngành CNTT, ĐH Khoa Học Tự Nhiên, 2010 [15] Chris Solomon, Toby Breckon Fundamentals of Digital Image Processing WileyBlackwell, 2010, tr 213 Trang 62 PHỤ LỤC Main code foregroundDetector = vision.ForegroundDetector('NumGaussians', 3, 'NumTrainingFrames', 15); videoReader = vision.VideoFileReader('xe4.2.avi'); for i = 1:2 frame = step(videoReader); % read the next video frame fg_image = step(foregroundDetector, frame); end frame=imresize(frame, [300 400]); fg_image=imresize(fg_image, [300 400]); imshow(frame); figure; imshow(fg_image); %%%%%%%%%%%%%%%%%%%%%%ROI for i=1:300 s=round((300-i)/(300/120)); fg_image (1:i,1:s-15,:)= 0; end for i=1:300 r=round((50-i)/(95/140)); fg_image (1:i,400-r:400,:)= 0; end frame (30:31,270:400,2)= 1; frame (60:61,300:400,2)= 1; frame (180:181,1:400,2)= 1; frame (264:265,1:400,2)= 1; figure;imshow(frame); %%%%%%%%%%%%%%%%%%%%% Chon ROI fg_image(1:30,1:400)= 0; Trang 63 fg_image(60:180,1:400)= 0; fg_image(30:60,1:270)= 0; fg_image(264:300,1:400)= 0; figure; imshow(fg_image); %%%%%%%%%%%%%%%%%%%% xu ly hinh thai %merode = vision.MorphologicalErode('Neighborhood', strel('square',2));%erosion %mdilate=vision.MorphologicalDilate('Neighborhood',strel('square',10));%dilation %mclose = vision.MorphologicalClose('Neighborhood',strel('square',20))%closing mclose = vision.MorphologicalClose('Neighborhood', strel('square',50))%closing fg_image= step(merode, fg_image); %fg_image= step(mdilate, fg_image); fg_image= step(mclose, fg_image); %figure; fg_image=imresize(fg_image, [190 270]);imshow(fg_image); title('anh sau xu ly hinh thai'); %%%%%%%%%%%%%%%%%%%% loc nhieu fg_image = bwareaopen(fg_image,40); figure; imshow(fg_image);title('anh sau loc nhieu'); %%%%%%%%%%%%%%%%%%%%% phat hien xe blobAnalysis = vision.BlobAnalysis('BoundingBoxOutputPort', true, 'AreaOutputPort', false, 'CentroidOutputPort', false, 'MinimumBlobArea', 50); bbox = step(blobAnalysis,fg_image ); result = insertShape(frame, 'Rectangle', bbox, 'Color', 'green'); %%%%%%%%%%%%%%%%%%%%% tinh so xe numCars = size(bbox, 1); result = insertText(result, [10 10], numCars, 'BoxOpacity', 1, 'FontSize', 14); figure; imshow(result); title('Detected Cars'); result=imresize(result, [190 270]); figure; imshow (result); s=0;numCars1=0;z=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%% videoPlayer = vision.VideoPlayer('Name', 'Detected Cars'); videoPlayer.Position(3:4) = [650,400]; % window size: [width, height] Trang 64 while ~isDone(videoReader) frame = step(videoReader); % read the next video frame % Detect the foreground in the current video frame fg_image = step(foregroundDetector, frame); frame=imresize(frame, [300 400]); fg_image=imresize(fg_image, [300 400]); frame (30:31,270:400,2)= 1; frame (60:61,300:400,2)= 1; frame (180:181,1:400,2)= 1; frame (264:265,1:400,2)= 1; for i=1:300 s=round((300-i)/(300/120)); fg_image (1:i,1:s-15,:)= 0; end for i=1:300 r=round((50-i)/(95/140)); fg_image (1:i,400-r:400,:)= 0; end fg_image(1:30,1:400)= 0; fg_image(60:180,1:400)= 0; fg_image(30:60,1:270)= 0; fg_image(264:300,1:400)= 0; % Use morphological opening to remove noise in the foreground merode = vision.MorphologicalErode('Neighborhood', strel('square',3));%erosion mdilate =vision.MorphologicalDilate('Neighborhood',strel('square',5));%dilation mclose = vision.MorphologicalClose('Neighborhood', strel('square',5))%closing Trang 65 fg_image= step(merode, fg_image); fg_image= step(mdilate, fg_image); fg_image= step(mclose, fg_image); fg_image = bwareaopen(fg_image,67); % Detect the connected components with the specified minimum area, and % compute their bounding boxes bbox = step(blobAnalysis,fg_image ); % Draw bounding boxes around the detected cars result = insertShape(frame, 'Rectangle', bbox, 'Color', 'green'); % Display the number of cars found in the video frame numCars = size(bbox, 1); if numCars>numCars1 s=s+numCars -numCars1; else s=0; end z=z+s; result = insertText(result, [10 10], z, 'BoxOpacity', 1,'FontSize', 14); result = insertText(result, [10 40], numCars, 'BoxOpacity', 1,'FontSize', 14); step(videoPlayer, result); % display the results numCars1=numCars; end release(videoReader); % close the video file obj=VideoReader('xe4.2.avi'); get(obj) nFrames = obj.NumberOfFrames Trang 66 ... Phương pháp nghiên cứu Chương 2: KHÁI QUÁT XỬ LÝ ẢNH 2.1 Xử lý ảnh 2.1.1 Giới thiệu 2.1.2.Một số ứng dụng xử lý ảnh 2.1.3 Xử lý video 2.1.4 Một số vấn đề xử lý video vi 10 2.2 Theo dõi đối tượng 10... cứu, ứng dụng, đặc biệt máy tính chun dụng riêng cho Q trình xử lý ảnh xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Kết đầu trình xử lý ảnh ảnh “tốt hơn” kết luận [12] 2.1.2.Một số ứng dụng. .. Gaussian để tách xe di chuyển khỏi đường - Tìm hiều phép xử lý ảnh hình thái, phương pháp dán nhãn để tính số xe khung ảnh tổng số xe video thu từ camera giao thông 1.3.2 Giới hạn: - Xử lý video

Ngày đăng: 15/12/2022, 10:05

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

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

Tài liệu liên quan