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

Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng

40 26 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 40
Dung lượng 4,99 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẶNG THỊ MỸ NHÀN ỨNG DỤNG DEEP LEARNING ĐỂ ĐẾM SỐ LƯỢNG XE ÔTÔ TRONG NỘI THÀNH ĐÀ NẴNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng - Năm 2019 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẶNG THỊ MỸ NHÀN ỨNG DỤNG DEEP LEARNING ĐỂ ĐẾM SỐ LƯỢNG XE ÔTÔ TRONG NỘI THÀNH ĐÀ NẴNG Chuyên ngành: Khoa Học Máy Tính Mã số: 60480101 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC:TS TRẦN THẾ VŨ Đà Nẵng - Năm 2019 LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng hướng dẫn trực tiếp TS.Trần Thế Vũ Mọi tham khảo dùng luận văn trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Tác giả Đặng Thị Mỹ Nhàn LỜI CẢM ƠN Sau thời gian nghiên cứu, đến luận văn thạc sĩ với đề tài “Ứng dụng Deep Learning để đếm số lượng xe ô tô nội thành Đà Nẵng” hoàn thành Trường Đại học Bách khoa - Đại học Đà Nẵng với nỗ lực thân giúp đỡ, bảo, hướng dẫn nhiệt tình giảng viên, động viên gia đình, bạn bè đồng nghiệp Để hoàn thành luận văn, tác giả xin bày tỏ lòng biết ơn sâu sắc trân trọng tới thầy giáo TS Trần Thế Vũ công tác Viện Nghiên cứu & Đào tạo Việt Anh thuộc Đại học Đà Nẵng hướng dẫn giúp đỡ tác giả tận tình suốt thời gian thực hoàn thành luận văn Tác giả xin cảm ơn đến Ban Giám hiệu Trường Đại học Bách khoa Đà Nẵng, Ban Giám hiệu Trường Đại học Quảng Bình, Ban chủ nhiệm khoa Cơng nghệ Thơng tin, Phịng Đào tạo sau đại học hai trường tạo điều kiện thuận lợi trình học tập, nghiên cứu hồn thành luận văn Tác giả chân thành cảm ơn tới bạn đồng nghiệp, bạn bè hỗ trợ xếp mặt thời gian để luận văn hoàn thành Mặc dù có nhiều cố gắng, chắn luận văn khơng tránh khỏi thiếu sót định, tác giả mong nhận ý kiến góp ý Thầy Cô giáo bạn để luận văn ngày hoàn thiện Xin trân trọng cảm ơn! Đà Nẵng, tháng năm 2019 Tác giả luận văn Đặng Thị Mỹ Nhàn MỤC LỤC MỞ ĐẦU CHƯƠNG NGHIÊN CỨU TỔNG QUAN 1.1 KHÁI NIỆM VÀ THỰC TRẠNG GIAO THÔNG VIỆT NAM .5 1.1.1 Khái niệm giao thông 1.1.2 Thực trạng giao thông Việt Nam 1.2 KHÁI NIỆM VỀ XỬ LÝ ẢNH, HỌC MÁY VÀ BÀI TOÁN NHẬN DẠNG Ơ TƠ QUA HÌNH ẢNH .5 1.2.1 Khái niệm xử lý ảnh 1.2.2 Tổng quan Học máy 1.2.3 Bài toán nhận dạng tơ qua hình ảnh 10 1.3 TỔNG QUAN CÁC KẾT QUẢ NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 12 1.3.1 Một số nghiên cứu thực nước ta 12 1.3.2 Các kết nghiên cứu nước 12 1.4 NHẬN DẠNG ĐỐI TƯỢNG XE Ô TÔ DỰA VÀO DEEP LEARNING 18 CHƯƠNG PHÂN TÍCH HỆ THỐNG 18 2.1 MÔI TRƯỜNG VÀ CÔNG CỤ SỬ DỤNG 18 2.1.1 Thư viện mã nguồn Tensorflow Object Detection 20 2.1.2 Thuật toán SSD (Single Shot Object Detectors) 22 2.1.3 Thuật toán Faster R-CNN 26 2.1.4 Lựa chọn mơ hình Object Detectors 28 2.2 PHÁT TRIỂN CHƯƠNG TRÌNH 30 2.2.1 Thu thập liệu 31 2.2.2 Đánh nhãn liệu 32 2.2.3 Đào tạo mơ hình 34 2.2.4 Nhận dạng 35 2.2.5 Đếm phương tiện 36 CHƯƠNG THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ .38 3.1 KẾT QUẢ THỰC NGHIỆM 38 3.1.1 Nhận diện xe chuyển động 38 3.1.2 Đếm số lượng xe 39 3.2 ĐÁNH GIÁ KẾT QUẢ 39 3.2.1 Nhận diện xe chuyển động 39 3.2.2 Đếm số lượng phương tiện 40 TỔNG KẾT 41 Kết luận 41 Hướng phát triển 41 TÀI LIỆU THAM KHẢO .42 TÓM TẮT LUẬN VĂN ỨNG DỤNG DEEP LEARNING ĐỂ ĐẾM SỐ LƯỢNG XE ÔTÔ TRONG NỘI THÀNH ĐÀ NẴNG Học viên: Đặng Thị Mỹ Nhàn Chuyên ngành: Khoa học máy tính Mã số: 60480101 - Khóa: 35 Trường Đại học Bách khoa - ĐHĐN Tóm tắt: Ngày nay, vấn đề giao thông đô thị ngày trở nên cấp bách, đặc biệt thành phố đông dân cư Việc nghiên cứu xử lý hình ảnh video hỗ trợ quan sát, thống kê, dự báo lĩnh vực giao thông ngày có ý nghĩa quan trọng Trong luận văn này, đề xuất giải pháp đếm lưu lượng xe ôtô số tuyến đường nội thành thành phố Đà Nẵng Quá trình xử lý bao gồm bước: (1) Xây dựng sở liệu đầu vào; (2) Sử dụng cơng cụ gán nhãn hình ảnh; (3) Huấn luyện sở liệu gán nhãn kỹ thuật Deep Learning Kết thực nghiệm video giao thông quan sát gắn địa bàn Thành phố Đà Nẵng mang lại kết hứa hẹn Từ khóa: Phát xe, đếm xe, Deep Learning DEEP LEARNING APPLICATION TO COUNT THE NUMBER OF AUTOMOBILE IN DA NANG CITY Abstract: Nowadays, the problems in city transportation are more and more serious, especially in densely populated cities Therefore, researching and processing video images will help make the observation, statistics and forecast in the field of transportation more and more important In this thesis, I should suggest one solution that is countingthe number of vehicles circulating in the inner of Da Nang City to help dealt with the problems Theprocessing includes the following steps: (1) Building input database; (2) Using image labeling tool; (3) Training labeled databases with deep learning techniques The experimental results on observed traffic videos attached to the locality of Da Nang brought promising results Key words: Vehicle detection, vehicle couting, Deep learning DANH MỤC CÁC TỪ VIẾT TẮT CPU Central Processing Unit TPU Tencer Processing Unit GPU Graphics Processing Unit DPM Dopamine HMM Hidden Markov Model LBP Local Binary Pattern LDA Linear Discriminant Analysis R-CNN Regional Convolutional Neural Network SRM Structural Risk Minimization SSD Single Shot Detectors SVM Support Vector Machine YOLO You Only Look Once DANH MỤC CÁC BẢNG Số hiệu Tên bảng Trang 2.1 Test liệu huấn luyện 33 3.1 Số liệu nhận dạng đếm xe 40 DANH MỤC CÁC HÌNH Số hiệu Tên hình Trang 1.1 Ví dụ chữ số viết tay làm liệu huấn luyện 1.2 AlphaGo ví dụ Reinforcement learning 1.3 Hình ảnh lấy từ CSDL Brad Phillip Paul Updike 13 1.4 Nhận diện phương tiện qua phương pháp OpenCV Kalman 14 1.5 Nhận diện phương tiện thuật toán YOLO 15 1.6 Nhận dạng xe qua cơng cụ OpenCV3, Python3.5, tensorflow 16 1.7 Hình ảnh lưu lại phương tiện tốc độ tính tốn 17 2.1 Sử dụng Deep Learning nhận dạng xe ô tô 18 2.2 Ví dụ minh họa Tensor 20 2.3 Kiến trúc SSD 21 2.4 Kiến trúc VGG (đầu vào 224 x 224 x3) 22 2.5 Các biến thể hình ảnh đầu vào 23 2.6 Ví dụ minh họa R-CNN 25 2.7 Minh họa tốc độ nhận dạng Faster R-CNN SSD 28 2.8 Minh họa độ xác Faster R-CNN SSD 29 2.9 Các bước giải tốn 32 15 [Hình 1.5] Nhận diện phương tiện thuật toán YOLO Thuật tốn "chỉ nhìn lần" vào hình ảnh theo nghĩa yêu cầu lần truyền chuyển tiếp qua mạng để đưa dự đoán Sau triệt tiêu khung hình khơng phù hợp, xuất đối tượng nhận dạng với hộp giới hạn ➢ Nghiên cứu nhận diện phương tiện hướng (Vehicle Detection for Autonomous Driving) Ông Junsheng Fu cộng sử dụng công cụ, bao gồmOpenCV3, Python3.5, tensorflow, CUDA8 OS: Ubuntu 16.04 [6] Có hướng đi: SVM tuyến tính mạng Neural - SVM tuyến tính: • Thực phương pháp HOG để trích xuất tập hình ảnh huấn luyện để tạo thành hàm phân loại SVM tuyến tính • Dùng phép biến đổi màu histogram màu để thực phương pháp HOG cho vecto đặc trưng hình ảnh • Bình thường hóa tính chọn ngẫu nhiên hình ảnh để đào tạo thử nghiệm • Thực kỹ thuật cửa sổ trượt sử dụng hàm phân loại SVM để tìm kiếm phương tiện hình ảnh • Chạy luồng video tạo đồ nhiệt để thực nhận diện liên tục theo khung hình để loại bỏ ngoại lệ theo dõi phương tiện phát • Vẽ khung giới hạn cho phương tiện phát 16 [Hình 1.6] Nhận dạng xe qua công cụ OpenCV3, Python3.5, tensorflow, ➢ Mạng Neural: Trái ngược với công việc trước phát đối tượng với trình phân loại để phát vật thể, mạng neural phương pháp sử dụng hồi quy để tách biệt khung giới hạn xác suất nhận diện lớp vật thể Một mạng neural dự đoán khung giới hạn xác suất nhận diện lớp vật thể qua lần đánh giá - Các bước thực hiện: • Giảm kích thước hình ảnh cịn 448x448 • Chạy mạng neural lên hình ảnh • Đặt giới hạn xác suất nhận diện kết ➢ Nghiên cứu đo tốc độ xe Greg Barbu [7] Đây chủ yếu phần mềm triển khai nên phần cứng yêu cầu đơn giản: Chỉ cần có Raspberry Pi Model 2, Camera Pi Phần mềm cần thiết để nghiên cứu: Raspian, OpenCV, Python - Các bước tiến hành: • Cài đặt Raspian Raspberry Pi với phiên Raspian Jessie để thử nghiệm dự án • Cài đặt OpenCV Python Pi • Hệ thống sử dụng Python 3.4.1 Opencv 3.1.0 Mơ hình Raspberry Pi2 B • Sao chép chương trình Carspeed.py vào thư mục / home / pi Chương trình dựa thuật toán phát chuyển động (xem trang web pyimagesearch.com) điều 17 chỉnh để phát tốc độ Chương trình khơng phát chuyển động, cịn tính tốn thời gian xe di chuyển ngang qua góc nhìn camera, qua biết xe khoảng cách - Các bước thực hiện: • Phát chuyển động cách sử dụng phương pháp logic • Bắt đầu hẹn • Theo dõi đối tượng chuyển động đến phía đối diện khung • Tính tốc độ • Lưu hình ảnh phương tiện đánh nhãn với tốc độ tính tốn Thử nghiệm chương trình cho thấy độ xác khoảng +/- cho tốc độ lên tới 40 dặm / Ơ tơ nhanh mà ghi lại tốc độ xác xe qua khung nhanh [Hình 1.7] Hình ảnh lưu lại phương tiện tốc độ tính tốn 18 CHƯƠNG PHÂN TÍCH HỆ THỐNG 2.1 NHẬN DẠNG ĐỐI TƯỢNG XE Ô TÔ DỰA VÀO DEEP LEARNING Mục tiêu toán từ video cụ thể phải nhận diện phương tiện xuất video Đây tốn khó phương tiện giao thơng có nhiều chủng loại, lưu thơng thực tế cịn có nhiều trường hợp xảy xe chạy nhiều chiều khác nhau, xe che khuất xe kia, có xe chở nhiều hàng hóa khác cồng kềnh yếu tố khách quan khác mưa, gió, sương mù, Làm để nhận phương tiện cách tối ưu bước định đến độ xác tốn Sau nhận diện đối tượng xe, tiến hành đếm xe Yêu cầu đặt cho tốn tính xác, sai số khơng đáng kể Với tốc độ phát triển Công nghệ Thơng tin nay, nhiều thuật tốn hay có tính ứng dụng cao tạo ra, việc giải toán nhận dạng xe trở nên khả thi xác Một giải pháp ứng dụng Deep Learning để nhận diện xe [Hình 2.1] Sử dụng Deep Learning nhận dạng xe ô tô 19 Deep Learning huấn luyện cách sử dụng tập hợp liệu lớn có gắn nhãn kiến trúc mạng (thần kinh) chứa nhiều lớp, điều giúp máy tính thực thi việc tưởng chừng vào 10 năm trước như: Phân loại ngàn vật thể khác ảnh; Tự tạo thích cho ảnh; Bắt chước giọng nói chữ viết người; Giao tiếp với người, hay chí sáng tác văn hay âm nhạc Deep Learning sử dụng phương pháp Neural Network với nhiều tầng (layer) khác mà tầng hàm phi tuyến (hàm đa thức) Những điểm bật Deep Learning so với phương pháp Machine Learning: - Deep Learning sử dụng nhiều lớp nên có khả "mơ hình hóa" tốn có độ phức tạp cao - Deep Learning cần lượng lớn liệu để huấn luyện, liệu có số lượng khơng đủ khơng nên sử dụng - Thông thường đầu vào hệ thống Deep Learning liệu thơ, cịn đầu vào Machine Learning liệu trích xuất, Deep Learning thực chất tổng hợp nhiều mô hình Machine Learning nhỏ Deep Learning có phương pháp huấn luyện đào tạo để thực phân loại đối tượng tốt Machine Learning với phương pháp phổ biến sau đây: ➢ Đào tạo từ đầu Để đào tạo mạng lưới sâu từ đầu, phương pháp đòi hỏi phải thu thập tập liệu lớn gắn nhãn thiết kế kiến trúc mạng Điều tốt cho ứng dụng ứng dụng có số lượng danh mục đầu lớn Đây cách phổ biến với lượng liệu tốc độ học tập lớn, mạng thường vài ngày vài tuần để đào tạo ➢ Học chuyển giao Đây phương pháp chủ yếu Deep Learning, trình liên quan đến việc tinh chỉnh mơ hình sàng lọc trước Nó bắt đầu với mạng có, sau cung cấp thêm liệu có chứa lớp mà trước chưa biết Sau thực số điều chỉnh bổ sung điều chỉnh liệu cho phù hợp xác hơn, từ thực tác vụ mới, chẳng hạn điều chỉnh phân loại theo đối tượng giúp cho thời gian tính tốn giảm xuống đáng kể ➢ Đào tạo theo cách xếp chồng tự động 20 Bộ liệu huấn luyện xếp chồng lên cách tự động để tạo thành mạng sâu tồn dạng tiềm ẩn, đầu làm đầu vào cho lớp Mỗi lớp huấn luyện sàng lọc để tăng độ xác cho đầu vào (và mẫu đầu lớp trước) tiếp tục việc tự động xếp chồng lớp khác Ngày nay, với phát triển mạnh mẽ Công nghệ thông tin, trí tuệ nhân tạo trở nên phổ biến, Deep Learning xu hướng phát triển thời đại nhờ tính ưu việt độ xác 2.2 MƠI TRƯỜNG VÀ CƠNG CỤ SỬ DỤNG 2.2.1 Thư viện mã nguồn Tensorflow Object Detection TensorFlow ™ thư viện phần mềm nguồn mở để tính toán số hiệu suất cao Kiến trúc linh hoạt cho phép dễ dàng triển khai tính tốn nhiều tảng khác (CPU, GPU, TPU) từ máy tính để bàn đến cụm máy chủ tới thiết bị di động Được phát triển nhà nghiên cứu kỹ sư từ nhóm Google Brain tổ chức AI Google, hỗ trợ mạnh mẽ cho Machine Learning Deep Learning lõi tính tốn linh hoạt sử dụng nhiều lĩnh vực khoa học khác ➢ Các thành phần TensorFlow: - Node: Vì Tensorflow mơ tả lại dịng chảy liệu thông qua graph nên điểm giao cắt graph gọi Node Tại điều quan trọng Node điểm đại diện cho việc thay đổi liệu nên việc lưu trữ lại tham chiếu Node quan trọng - Tensor Để giải tốn Machine Learning, cần phải làm cho máy tính hiểu liệu tập nguồn liệu tập đích Tensorflow cung cấp loại liệu gọi Tensor Trong giới Tensorflow, kiểu liệu quy mối gọi Tensor hay Tensorflow, tất loại liệu Tensor Vậy nên hiểu phần tên Tensorflow thư viện mơ tả, điều chỉnh dịng chảy liệu Tensor kiểu liệu dạng mảng có nhiều chiều mô tả dạng Tensor = [[[1,1,1],[178,62,74]],[[45,2,2],[19,0,17]],[[7,5,2],[0,11,4]],[[8,13,5],[1,6,7]]] Mảng đa chiều đính kèm thêm vài thuộc tính tham chiếu khác Các thuộc tính Tensor mơ tả tài liệu bao gồm: • device: Tên thiết bị mà Tensor xuất Có thể None • graph: Đồ thị chứa Tensor 21 • name: Tên Tensor • shape: Trả TensorShape mơ tả lại Shape Tensor • op: phép tốn sử dụng để xuất Tensor • dtype: Kiểu phần tử Tensor - Rank Rank bậc hay độ sâu Tensor Ví dụ Tensor = [1] có rank 1, Tensor = [[[1,1,1],[178,62,74]]] có rank 3, Tensor = [[1,1,1],[178,62,74]] có rank Cách nhanh để xác định rank Tensor đếm số lần mở ngoặc vuông giá trị khác ngoặc vuông Việc phân rank quan trọng đồng thời giúp phân loại liệu Tensor Khi cách rank đặc biệt cụ thể, Tensor có tên gọi riêng sau: • Scalar: Khi Tensor có rank 0, Tensor đại diện cho số chuỗi cụ thể Ví dụ: scalar=123 • Vector: Vector Tensor rank Trong python Vector list hay mảng chiều chứa số Ví dụ: list=[123,345] • Matrix: Đây Tensor rank hay mảng hai chiều theo khái niệm Python Ví dụ: matrix=[[1,2],[2,1]] • N-Tensor: Khi rank Tensor tăng lên lớn 2, chúng gọi chung NTensor Hình [2.2] Ví dụ minh họa Tensor 22 - Shape Shape tuple có dimention với rank Tensor tương ứng dùng để mô tả lại cấu trúc Tensor Dưới ví dụ Shape Tensor = có Shape = () Tensor = [1] có Shape = (1) Tensor = [[[1,1,1],[178,62,74]]] có Shape = (1,1,3) Tensor = [[1,1,1],[178,62,74]] có Shape = (1,3) Dựa vào cấu trúc Shape, ta dễ dàng thấy ràng buộc Tensor chiều elements Tensor bậc phải - Op Được viết tắt op, khái niệm Operator toán tử dùng để thực thi Tensor node đó.Các tốn tử Hằng Số, Biến số, Phép cộng, Phép Nhân Đơi việc dịch tốn tử khơng hợp lí lẽ tốn tử đơi lại mơ tả Node Constant hay Variable Có thể nói, khái niệm Operator Tensorflow khái niệm dùng để mơ tả lại trạng thái Node nói chung - DType Đây kiểu liệu elements Tensor Vì Tensor có thuộc tính DType nên từ suy có kiểu DType cho tồn elements có Tensor Việc tạo DType khác cho elements Tensor khơng khả dụng 2.2.2 Thuật tốn SSD (Single Shot Object Detectors) a Giới thiệu [Hình 2.3] Kiến trúc SSD 23 Để hiểu rõ SSD, bắt đầu cách giải thích tên kiến trúc đến từ đâu: - Single Shot: Có nghĩa nhiệm vụ định vị hóa phân loại đối tượng thực lần chuyển tiếp vật thể - MultiBox: Tên kỹ thuật hộp ràng buộc phát triển Szegedy et al - Detector: Là dị tìm đối tượng phân loại đối tượng phát - Ví dụ kiến trúc SSD (đầu vào 300 x 300 x 3) Có thể thấy từ sơ đồ trên, kiến trúc SSD xây dựng kiến trúc VGG-16 loại bỏ lớp kết nối hoàn toàn Lý VGG-16 sử dụng làm mạng sở hiệu nhiệm vụ phân loại hình ảnh chất lượng cao mức độ phổ biến vấn đề thu thập cải thiện mẫu liệu tốt Thay lớp kết nối hồn toàn VGG gốc, tập hợp lớp phụ trợ (từ conv6 trở đi) thêm vào, cho phép trích xuất tính nhiều thang giảm dần kích thước đầu vào cho lớp [Hình 2.4] Kiến trúc VGG (đầu vào 224 x 224 x3) SSD sử dụng layer có kích thước giảm dần theo độ sâu để nhận dạng đối tượng Nhìn vào hình vẽ SSD, chúng dễ dàng nhận thấy độ phân giải giảm đáng kể qua layer bỏ sót đối tượng có kích thước nhỏ 24 lớp có độ phân giải thấp, thực tế hình ảnh đầu vào cần phải có độ phân giải cao Với SSD có input tương tự 8x8xD, output 8x8x (4 + C) (4 tương ứng với điểm boundary box, C số lượng lớp đối tượng), ta cần convolution filter 3x3xDx(4+C) Thuật tốn SSD chạy nhanh, độ xác khơng cao (khơng region proposal) b MultiBox Kỹ thuật hồi quy hộp giới hạn SSD lấy kết từ cơng trình Szegedy MultiBox, phương pháp cho đề xuất điều phối hộp giới hạn nhanh, nhạy cảm với lớp học Quá trình xử lý thực MultiBox, mạng chuyển đổi kiểu khởi động sử dụng Các biến thể 1x1 hình bên giúp giảm kích thước số lượng chiều giảm (nhưng tỷ lệ "chiều rộng" "chiều cao" khơng đổi) [Hình 2.5] Các biến thể hình ảnh đầu vào Hàm tinh giảm MultiBox kết hợp hai thành phần quan trọng đưa vào SSD: - Confidence Loss: Đo lường mức độ tin cậy mạng đối tượng hộp giới hạn tính tốn, phân loại chéo theo ngun lý cân chuyển động sử dụng để tính toán tinh giảm 25 - Location Loss: Đo lường mức độ gần - xa hộp giới hạn dự đoán mạng từ hộp tồn tập hợp đối tượng huấn luyện, sử dụng thuật tốn L2-Norm Nếu khơng sâu vào tốn học biểu thức cho hàm tinh giản, tức đo lường mức độ dự đoán “đúng” nào: multibox_loss = confidence_loss + alpha * location_loss Thuật ngữ alpha giúp cân đóng góp việc vị trí Như thường lệ Deep Learning, mục đích tìm giá trị tham số tối ưu làm giảm hàm tinh giảm, đưa dự đốn gần với thực tiễn c Thuật toán phát hiện vật thể SSD Qua mơ hình phân tích có thuật tốn minh họa sau (thuật toán phát vật thể video, sử dụng thư viện opencv-python==4.1.0.25): import cv2 print('Project Topic : Car Counting and Speed Detection') print('Research Internship on Machine learning using Images') print('By Dang Thi My Nhan') cascade_src = 'cars.xml' video_src = 'video.avi' cap = cv2.VideoCapture(video_src) car_cascade = cv2.CascadeClassifier(cascade_src) while True: ret, img = cap.read() if (type(img) == type(None)): break gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cars = car_cascade.detectMultiScale(gray, 1.1, 2) for (x,y,w,h) in cars: cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,255),2) cv2.imshow('video', img) if cv2.waitKey(33) == 27: break 26 cv2.destroyAllWindows() (Source code: https://github.com/ahmetozlu/vehicle_counting_tensorflow) 2.2.3 Thuật toán Faster R-CNN Faster R-CNN thuật tốn để tìm kiếm vị trí vật thể ảnh.Thuật tốn có đầu hình hộp, với vật thể bên hộp Phiên Faster R-CNN R-CNN, với nguyên lý đơn giản Sử dụng mạng huấn luyện sẵn để feed-forward region proposals, tốn nhiều thời gian với ảnh thuật toán selective search cho hàng nghìn region proposals Với thuật tốn Faster R-CNN, sử dụng convolution filter trả kết dự đoán: giá trị toạ độ boundary box, giá trị lại xác suất xuất đối tượng Tổng quát hơn, ta có input D feature map 8x8, output 8x8x5, số convolution filter Faster R-CNN 3x3xDx8 Thử nghiệm lần ảnh gốc, thu convolutional features ảnh Ví dụ với hình ảnh có kích thước 600∗600∗3600∗600∗3, ta thu convolutional features với kích thước 37∗37∗51237∗37∗512 Kích thước features bị giảm nhỏ khoảng 16 lần 6003760037 Dựa vào kích thước vị trí region proposals ảnh gốc, ta tính tốn vị trí region proposal convolutional features Sử dụng giá trị convolutional faetures region proposal, ta dự đốn vị trí đỉnh bounding box vật thể nằm bounding box [Hình 2.6] Ví dụ minh họa R-CNN 27 Đối với Fast R-CNN, chia sẻ tính tốn region ảnh, tốc độ thực thực thi thuật toán giảm từ 120s ảnh xuống 2s Phần tính tốn gây nghẽn phần đưa region proposal đầu vào, thực thi CPU Faster R-CNN giải vấn đề cách sử dụng DNN để tính tốn region proposals [Hình 2.7]Minh họa tốc độ nhận dạng Faster R-CNN SSD So với thuật toán Faster R-CNN thuật tốn SSD chạy nhanh, có độ xác khơng cao, đặc biệt việc nhận dạng đối tượng có kích thước nhỏ Trong Faster R-CNN cho kết có độ xác cao kể hình ảnh Tải FULL (64 trang): bit.ly/2Ywib4t đầu có độ phân giải thấp Dự phịng: fb.com/KhoTaiLieuAZ Xét tốc độ xử lý, thuật tốn Faster R-CNN thể lợi độ xác cao khơng cần tính đến tốc độ thời gian thực, cịn thuật tốn SSD ứng dụng tốt yêu cầu tiết kiệm thời gian 28 Tải FULL (64 trang): bit.ly/2Ywib4t Dự phòng: fb.com/KhoTaiLieuAZ [Hình 2.8] Minh họa độ xác Faster R-CNN SSD 2.2.4 Lựa chọn mơ hình Object Detectors Các thuật toán phát đối tượng, thuật toán thuộc nhóm region proposal single shot bắt đầu ý tưởng khác nhau, sau qua vài trình cập nhật nâng cấp thời điểm tại, mơ hình chung chúng gần gần giống Và hai thuật toán hai thuật toán tiêu biểu cạnh tranh danh hiệu thuật toán phát đối tượng nhanh thuật tốn nhận diện xác Trong luận văn này, lựa chọn mơ hình Object Detector cho toán 29 Các thuật toán Object Detection phát triển khoảng thời gian dài Ý tưởng đầu tiên, đơn giản sử dụng cửa sổ trượt # Sliding windows for window in windows patch = get_patch(image, window) results = detector(patch) Để tăng tốc, sẽ: Giảm số lượng windows (R-CNN giảm cịn khoảng 2000) Giảm phép tính việc tìm ROI (Fast R-CNN sử dụng feature map thay tồn image patchs) # Fast R-CNN feature_maps = process(image) ROIs = region_proposal(feature_maps) for ROI in ROIs patch = roi_pooling(feature_maps, ROI) results = detector2(patch) (Source code: https://nttuan8.com/bai-11-object-detection-voi-faster-r-cnn/) Việc tìm region_proposal tốn nhiều thời gian.Faster R-CNN sử dụng convolution network thay cho region proposal bước (làm giảm thời gian từ 2.3s xuống 0.3 giây) Faster R-CNN giới thiệu khái niệm anchor giúp cải thiện độ xác việc huấn luyện trở nên dễ dàng R-FCN đưa điều chỉnh nhỏ, tiến hành tìm position sensitive score map ROIS độc lập Và tính trung bình xác suất xuất đối tượng # R-FCN feature_maps = process(image) ROIs = region_proposal(feature_maps) score_maps = compute_score_map(feature_maps) for ROI in ROIs V = pool(score_maps, ROI) 51920ed2 class_scores = average(V) class_probabilities = softmax(class_scores) (Source code: https://nttuan8.com/bai-11-object-detection-voi-faster-r-cnn/) ...ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẶNG THỊ MỸ NHÀN ỨNG DỤNG DEEP LEARNING ĐỂ ĐẾM SỐ LƯỢNG XE ÔTÔ TRONG NỘI THÀNH ĐÀ NẴNG Chuyên ngành: Khoa Học Máy Tính Mã số: 60480101 LUẬN... .42 TÓM TẮT LUẬN VĂN ỨNG DỤNG DEEP LEARNING ĐỂ ĐẾM SỐ LƯỢNG XE ÔTÔ TRONG NỘI THÀNH ĐÀ NẴNG Học viên: Đặng Thị Mỹ Nhàn Chuyên ngành: Khoa học máy tính Mã số: 60480101 - Khóa: 35 Trường... tình trạng kẹt xe xảy thường xuyên trục đường giao thông, đặc biệt khu đô thị Xuất phát từ yêu cầu thực tiễn chọn đề tài ? ?Ứng dụng Deep Learning để đếm số lượng xe ô tô nội thành Đà Nẵng? ?? Xử lý

Ngày đăng: 06/09/2021, 16:40

HÌNH ẢNH LIÊN QUAN

DANH MỤC CÁC BẢNG - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
DANH MỤC CÁC BẢNG (Trang 9)
Số hiệu Tên hình Trang - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
hi ệu Tên hình Trang (Trang 10)
Số hiệu Tên hình Trang - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
hi ệu Tên hình Trang (Trang 11)
[Hình 1.1] Ví dụ chữ số viết tay làm dữ liệu huấn luyện. - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 1.1 ] Ví dụ chữ số viết tay làm dữ liệu huấn luyện (Trang 19)
Một ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần  lớn các bức ảnh/văn bản khác chưa được gán nhãn,  được thu thập từ internet - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
t ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn, được thu thập từ internet (Trang 20)
[Hình1.3] Hình ảnh được lấy ra từ CSDL Brad Phillip và Paul Updike. - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 1.3 ] Hình ảnh được lấy ra từ CSDL Brad Phillip và Paul Updike (Trang 24)
[Hình 1.4] Nhận diện phương tiện qua phương pháp OpenCV và Kalman. - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 1.4 ] Nhận diện phương tiện qua phương pháp OpenCV và Kalman (Trang 25)
[Hình 1.5] Nhận diện phương tiện bằng thuật toán YOLO. - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 1.5 ] Nhận diện phương tiện bằng thuật toán YOLO (Trang 26)
[Hình 1.6] Nhận dạng xe qua công cụ OpenCV3, Python3.5, tensorflow,... - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 1.6 ] Nhận dạng xe qua công cụ OpenCV3, Python3.5, tensorflow, (Trang 27)
• Lưu hình ảnh của phương tiện được đánh nhãn cùng với tốc độ được tính toán. Thử nghiệm chương trình cho thấy độ chính xác trong khoảng +/- 1 cho tốc độ  lên tới 40 dặm / giờ - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
u hình ảnh của phương tiện được đánh nhãn cùng với tốc độ được tính toán. Thử nghiệm chương trình cho thấy độ chính xác trong khoảng +/- 1 cho tốc độ lên tới 40 dặm / giờ (Trang 28)
[Hình 2.1] Sử dụng Deep Learning nhận dạng xe ôtô - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 2.1 ] Sử dụng Deep Learning nhận dạng xe ôtô (Trang 29)
Hình [2.2]. Ví dụ minh họa về Tensor - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
nh [2.2]. Ví dụ minh họa về Tensor (Trang 32)
[Hình 2.3] Kiến trúc của SSD. - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 2.3 ] Kiến trúc của SSD (Trang 33)
[Hình 2.4] Kiến trúc VGG (đầu vào là 224 x 224 x3). - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 2.4 ] Kiến trúc VGG (đầu vào là 224 x 224 x3) (Trang 34)
lớp có độ phân giải thấp, vì vậy trong thực tế hình ảnh đầu vào cần phải có độ phân giải cao - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
l ớp có độ phân giải thấp, vì vậy trong thực tế hình ảnh đầu vào cần phải có độ phân giải cao (Trang 35)
[Hình 2.6] Ví dụ minh họa về R-CNN - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 2.6 ] Ví dụ minh họa về R-CNN (Trang 37)
[Hình 2.7]Minh họa tốc độ nhận dạng của Faster R-CNN và SSD. - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 2.7 ]Minh họa tốc độ nhận dạng của Faster R-CNN và SSD (Trang 38)
[Hình 2.8] Minh họa độ chính xác của Faster R-CNN và SSD. - Ứng dụng DEEP LEARNING để đếm số lượng xe ôtô trong nội thành Đà Nẵng
Hình 2.8 ] Minh họa độ chính xác của Faster R-CNN và SSD (Trang 39)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN