Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
3,5 MB
Nội dung
lOMoARcPSD|11598335 HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ BÀI TẬP LỚN ĐỀ TÀI: NHẬN DIỆN HÌNH ẢNH PHƯƠNG TIỆN GIAO THƠNG TẠI LỐI LÊN CAO TỐC VÀNH ĐAI NGUYỄN XIỂN Giảng viên : Ngơ Thùy Linh Nhóm lớp : IS42A01 Nhóm thực : 04 Hà Nội, ngày 20 tháng năm 2022 lOMoARcPSD|11598335 Thành viên nhóm Họ tên Mã sinh viên Lê Nguyên Ngọc 22A4050124 Nguyễn Công Anh 22A4050330 Nguyễn Vũ Bảo 22A4050036 Quách Cẩm Anh 22A4050173 Phạm Thị Ngọc Tuyền 22A4050356 Nhiệm vụ Tỷ lệ đóng góp lOMoARcPSD|11598335 Mở đầu Trong kỷ nguyên công nghiệp 4.0 phát triển nở rộ, trí tuệ nhân tạo (Artificial Intelligence) vấn đề không nhắc đến Ngày nay, AI coi ngành công nghệ quan trọng hàng đầu, giúp người giải nhiều vấn đề sống Cụ thể, trí tuệ nhân tạo giúp máy tính có trí tuệ người như: biết suy nghĩ lập luận để giải vấn đề, biết giao tiếp hiểu ngôn ngữ, tiếng nói, biết học tự thích nghi, nhận diện hình ảnh, vật thể, … Thị giác máy tính lĩnh vực phát triển mạnh mẽ giới Khái niệm thị giác máy tính có liên quan tới nhiều ngành học có nhiều hướng nghiên cứu khác Kể từ năm 70 kỷ 20 mà khả tính tốn máy tính trở nên mạnh mẽ hơn, giải công việc yêu cầu tốc độ cao xử lí tệp ảnh hay đoạn video mà thị giác máy tính nhắc đến, nghiên cứu phát triển đến Thị giác máy tính vấn đề mẻ nhà nghiên cứu Việt Nam.Việc nghiên cứu phát triển ứng dụng thị giác máy tính mở nhiều tiềm khả ứng dụng thực tiễn mạnh mẽ cho chặng đường nghiên cứu Việt Nam Nhận thấy tính ứng dụng mạnh mẽ nhóm định lựa chọn cho nghiên cứu với chủ đề “Nhận diện hình ảnh phương tiện giao thơng nút giao cao tốc vành đai Nguyễn Xiển” I Giới thiệu đơn vị sử dụng, phát biểu toán lý chọn toán Giới thiệu đơn vị sử dụng lOMoARcPSD|11598335 Sở giao thông vận tải thành phố Hà Nội quan chuyên môn Ủy ban nhân dân thành phố, chịu đạo quản lý tổ chức, biên chế công tác UBND thành phố; đồng thời, chịu kiểm tra, giám sát hướng dẫn chuyên môn, nghiệp vụ Bộ Giao thông vận tải Sở Giao thông vận tải thành phố Hà Nội có chức tham mưu, giúp UBND thành phố Hà Nội thực quản lý nhà nước đường bộ, đường thủy nội địa, đường sắt thị; vận tải; an tồn giao thơng; quản lý, khai thác, tu, bảo trì hạ tầng giao thơng thị ngồi thị, gồm: cầu đường bộ, cầu vượt, hè phố, đường phố, dải phân cách, hệ thống biển báo hiệu đường bộ, đèn tín hiệu điều khiển giao thông, hầm dành cho người bộ, hầm giới đường bộ, cầu dành cho người bộ, bến xe, bãi đỗ xe, đường tỉnh, hệ thống rãnh thoát nước đường tỉnh, đường quốc lộ, đường vành đai, đường cao tốc địa bàn Thành phố Địa chỉ: Số 258 Khu liên Võ Chí Cơng - phường Xuân La - quận Tây Hồ - Thành phố Hà Nội Điện thoại: 043.3824404 Fax: 043.2824984 Email: sogtvt@hanoi.gov.vn Website: sogtvt.hanoi.gov.vn Phát biểu toán Xây dựng ứng dụng nhận diện phương tiện giao thông dựa Computer Vision việc sử dụng hình ảnh kỹ thuật số từ máy ảnh đoạn phim mơ hình học sâu (deep learning), ứng dụng xác định phân loại xác phương tiện – tiếp sau phản ứng với chúng “nhìn thấy” Cụ thể, bải tốn phân loại phương tiện phép di chuyển đường vành đai cao phương tiện không phép di chuyển đường vành đai cao, thơng qua hỗ trợ nhà quản lý dễ dàng xác định phương tiện vi phạm phương tiện khơng vi phạm từ đưa hình thức xử phạt mức phạt phù hợp với loại phương tiện Input: Hình ảnh phương tiện giao thông (xe đạp, xe máy, oto) di chuyển lên cầu vượt Output: Hình ảnh phương tiện vi phạm không vi phạm giao thông Lý chọn toán Thực tế cho thấy, mật độ lưu lượng giao thông nút giao cao tốc vành đai Nguyễn Xiển lớn, địa điểm thường xuyên xảy ùn tắc tai nạn giao thơng Một phần tuyến đường mạch giao thông trọng yếu thành phố Hà Nội, đáp ứng nhu cầu lại nội vùng lẫn xe cảnh Một phần đoạn tuyến cao tốc thị, qua khu vực đông dân cư, nhiều nút giao lớn, kết nối với Quốc lộ 6, Đại lộ Thăng Long, Quốc lộ 32, Quốc lộ cao tốc Pháp Vân – Cầu Giẽ nên tính chuyển tiếp đường cao thấp quan trọng Nguyên nhân hướng lên xuống đường cao xung lOMoARcPSD|11598335 đột trực tiếp với luồng lưu thông đường thấp, hai luồng phương tiện đan chéo qua chữ X, không gây ùn tắc mà xảy nhiều va chạm, tai nạn giao thông cửa đường lên Vành đai cao Thêm vào đó, giải pháp xây dựng thêm hay mở rộng tuyến đường tốn Vậy nên, việc ứng dụng Computer Vision xây dựng mơ hình nhận diện phân loại phương tiện di chuyển lên đường vành đai cao tương đối khả thi thời điểm Giải pháp tiết kiệm chi phí hỗ trợ tối ưu cho nhà quản lý dễ dàng xác định phương tiện vi phạm khơng vi phạm từ tiến hành xử phạt vi phạm cách hợp lý đồng thời giảm thiểu ùn tắc hay tai nạn giao thông tuyến đường II Giới thiệu kiểu liệu ảnh cần thu thập cách thức thu thập liệu Kiểu liệu ảnh cần thu thập Hình ảnh phương tiện giao thơng hình ảnh xe đạp, hình ảnh xe máy/moto, hình ảnh xe oto (xe tải, xe khách, xe con) Thuộc tính gán nhãn cầu dự đốn: Ơ tô xe máy Phương tiện phép di chuyển đường vành đai cao, cụ thể ôtô (không vi phạm) Phương tiện không phép di chuyển đường vành đai cao phương tiện lại: xe máy (vi phạm) Cách thức thu thập liệu Các thành viên nhóm tập trung tìm kiếm tải xuống từ Google photos hình ảnh phương tiện giao thơng tệp liệu Nhóm sử dụng hình ảnh có màu, sau chia hình ảnh thành nhóm thực tải thư mục lên Google drive Hình ảnh mà nhóm thu thập có dạng sau: lOMoARcPSD|11598335 Hình ảnh tơ mà nhóm thu thập Hình ảnh xe máy mà nhóm thu thập Nhóm chia liệu thu thập thành hai tệp: Ơ tơ xe máy Tổng số lượng 200 ảnh, đó: Lớp train gồm 160 ảnh: 80 ảnh xe máy 80 ảnh oto Lớp validation gồm 40 ảnh: 20 ảnh xe máy 20 ảnh oto Ta có tỷ lệ Train:Validation 80:20 lOMoARcPSD|11598335 lOMoARcPSD|11598335 III Giới thiệu tổng quan thuật toán sử dụng Mạng nơ-ron tích chập hay cịn gọi ConvNet/CNN, mơ hình học sâu (Deep learning) vơ tiên tiến Mơ hình giúp nhận dạng, xác định đối tượng, phân loại hình ảnh; hỗ trợ xây dựng hệ thống thơng minh, phản ứng với độ xác cao Mạng CNN thiết kế với mục đích xử lý liệu thông qua nhiều lớp mảng So với mạng nơ-ron thông thường, mạng CNN nhận đầu vào mảng hai chiều hoạt động trực tiếp hình ảnh thay tập trung trích xuất tính thường thấy mạng nơ-ron khác Hiện nay, CNN sử dụng chủ yếu ứng dụng nhận dạng hình ảnh nhận dạng khn mặt Bên cạnh mơ hình ứng dụng nhiều lĩnh vực khác như: xe tự lái; chẩn đoán, phát bệnh; xử lý vi phạm giao thông; phát sản phẩm lỗi dây chuyền sản xuất; giao dịch ATM không cần dùng thẻ;…Trên giới, ông lớn ngành công nghệ Google, Apple, Meta, dần đẩy mạnh nghiên cứu phát triển sản phẩm, ứng dụng dựa mơ hình mạng CNN để mang lại trải nghiệm tối ưu cho khách hàng Đặc trưng (Feature): CNN phân loại hình ảnh cách lấy hình ảnh đầu vào, xử lý phân loại theo hạng mục định Khi nhập liệu hình ảnh vào, máy tính chia nhỏ hình ảnh thành mảng hình ảnh nhỏ hơn, mảng gọi feature Các feature phần tử hình ảnh ban đầu hình ảnh ban đầu tập hợp feature Mỗi feature xem hình ảnh mini hay gọi mảng hai chiều nhỏ Các feature khớp với khía cạnh chung ảnh Nghĩa feature tương ứng với khía cạnh hình ảnh chúng khớp lại với lOMoARcPSD|11598335 Tích chập (Convolutional): để thuật tốn CNN nhận biết hình ảnh vị trí nào, feature khớp với đâu tích chập thử chúng với tất vị trí khác tạo thành lọc gọi filter Quá trình thực thơng qua phép tốn nơ-ron tích chập Cấu trúc mạng CNN gồm lớp: Convolutional Layer (lớp tích chập): lớp đại diện cho CNN thực phép tốn, Tích chập lớp để trích xuất tính từ hình ảnh đầu vào Tích chập trì mối quan hệ pixel cách tìm hiểu tính hình ảnh cách sử dụng vng nhỏ liệu đầu vào Nó phép tốn có đầu vào ma trận hình ảnh lọc hạt nhân Vậy nên, lớp quan trọng Một số khái niệm cần làm rõ sau: Filter map: filter map xem ma trận ba chiều bao gồm số số gọi Parameter CNN sử dụng filter để áp vào vùng hình ảnh Stride: khái niệm hiểu đơn giản dịch chuyển Filter map theo Pixel dựa vào giá trị từ trái sang phải Padding: giá trị thêm vào lớp input Feature map: lần Filter map qt qua input xuất q trình tính tốn feature map kết q trình Non Linearity (lớp hoạt phi tuyến): Để đảm bảo tính phi tuyến mơ hình huấn luyện sau thực loạt phép tính tốn tuyến tính qua lớp tích chập cần xây dựng lớp hoạt phi tuyến tính Lớp sử dụng hàm kích hoạt phi tuyến như: ReLU, Sigmoid, Leaky relu, Tanh, để giới hạn phạm vi biên độ cho phép giá trị đầu Trong đó, hàm ReLU có cài đặt đơn giản, tốc độ xử lý nhanh đảm bảo tính hiệu nên ưu tiên sử dụng Pooling Layer (lớp lấy mẫu): Pooling Layer biết đến với hai loại phổ biến là: Max Pooling Average Pooling Lớp đặt sau lớp tích chập lớp ReLU nhằm làm giảm kích thước ảnh đầu giữ thông tin quan trọng ảnh đầu vào Tương tự lớp tích chập, Pooling Layer sử dụng cửa sổ trượt để quét toàn vùng ảnh thực phép lấy mẫu sau chọn lưu lại giá trị đại diện cho tồn thơng tin vùng ảnh Fully Connected Layer (Lớp kết nối đầy đủ): Fully Connected Layer thường sử dụng để đưa kết Lớp đưa ma trận đặc trưng lớp trước vào mạng kết nối đầy đủ mạng nơ-ron bình thường, nơron lớp liên kết với nơron lớp khác Để đưa ảnh từ lớp trước vào Fully Connected Layer cần dàn phẳng ảnh thành vector, sau sử dụng hàm softmax để phân loại đối tượng Khi có liệu hình ảnh, Fully Connected Layer chuyển đổi chúng thành mục có phân chia chất lượng Tương tự kiểu chia chúng thành phiếu bầu đánh giá để chọn hình ảnh đạt chất lượng tốt lOMoARcPSD|11598335 Các lớp liên kết với theo thứ tự định (lớp tích chập → lớp kích hoạt phi tuyến → lớp lấy mẫu → lớp kết nối đầy đủ) Thông thường ba lớp đầu lặp lại nhiều lần để đưa kết xác lớp cuối để tính xác suất ảnh biểu thị Tóm lại, mạng CNN tập hợp nhiều lớp Convolutional chồng lên nhau, sử dụng hàm Nonlinear Activation (kích hoạt phi tuyến tính) Tanh để kích hoạt trọng số node Ở lớp CNN, sau hàm kích hoạt tạo thông tin trừu tượng cho lớp Mỗi Layer kết tiếp kết Convolution từ Layer trước từ có kết nối cục IV Mã lệnh chương trình Khai báo thư viện sử dụng Từ khoá import dùng để cài đặt thư viện, as dùng để đặt tên viết tắt cho thư viện TensorFlow: thư viện mã nguồn mở, dùng để tính tốn machine learning với quy mô lớn Kiến trúc TensorFlow hoạt động chia thành phần (Tiền xử lý liệu, Dựng model, Train ước tính model) Tensorflow chương trình hỗ trợ tính tốn cách tiếp cận mạnh mẽ phép tính tốn phức tạp, đơn giản hóa tốn học thơng qua đồ thị luồng liệu tổng hợp Keras: open source cho Neural Network viết ngôn ngữ Python Matplotlib.pyplot: thư viện sử dụng để vẽ đồ thị Python phần mở rộng toán học số Numpy Pyplot module Matplotlib cung cấp hàm đơn giản để thêm thành phần plot lines, images, text, v.v vào axes figure Numpy (Numeric Python): thư viện toán học phổ biến mạnh mẽ Python Cho phép làm việc hiệu với ma trận mảng, đặc biệt liệu ma trận mảng lớn với tốc độ xử lý nhanh nhiều lần sử dụng “core Python” đơn Kết nối với Google Drive đọc lưu liệu Chạy đoạn code: lOMoARcPSD|11598335 +Ơ tơ: Nhâ ̣n diê ̣n 12/20, tương ứng tỷ lê ̣ 60% 57 Downloaded by Út Bé (beut656@gmail.com) lOMoARcPSD|11598335 +Xe máy: Nhâ ̣n diê ̣n 11/20, tương ứng tỷ lê ̣ 55% 58 Downloaded by Út Bé (beut656@gmail.com) lOMoARcPSD|11598335 59 Downloaded by Út Bé (beut656@gmail.com) lOMoARcPSD|11598335 Tỷ lê ̣ nhâ ̣n diê ̣n xác kiểm tra 40 ảnh 57.5% Kết luâ ̣n: Khi tăng số vòng lă ̣p lên 120 val_loss ngày tăng (Tại vịng lặp 120 val_loss = 0.5482), điều cho thấy mơ hình có dấu hiê ̣u overfitting, vâ ̣y mà ̣ xác mơ hình kiểm tra giảm đáng kể (Còn 57.5%) Khi số vòng lặp 40: - Kết chạy vòng lặp thu được: 60 Downloaded by Út Bé (beut656@gmail.com) - Kết chạy thử nghiệm mơ hình với 20 ảnh lớp: + Ô tô: Nhâ ̣n diê ̣n 2/20, tương ứng tỷ lê ̣ 10% 61 + Xe máy: Nhâ ̣n diê ̣n 20/20, tương ứng tỷ lê ̣ 100% 62 63 Tỉ lệ nhận diện xác trung bình kiểm tra 40 ảnh 50% Khi số vịng lặp 40, val_loss val_acc khơng tăng giảm đều, vòng lặp cuối, val_loss tăng cao lên 1.4657, val_acc 60% Kết nhận diện ảnh tơ xe máy có độ chênh lệch lớn, xe máy nhận diện 100% tơ nhận diện xác 10% Điều cho thấy mơ hình có dấu hiệu underftting, mà độ xác khơng đồng Thực nghiêm ̣ thay đổi đồng thơꄀi việc chuẩn hóa kích thước ảnh, bổ sung thêm lớp CNN thay đổi tham số Optimizer Qua kết thực nghiê ̣m trên, nhóm nhâ ̣n thấy thực hiê ̣n việc chuẩn hóa kích thước ảnh, bổ sung thêm lớp CNN thay đổi tham số optimizer kết đạt khả quan mơ hình ban đầu, vâ ̣y mà nhóm thực hiê ̣n viê ̣c thay đổi đồng thời tiêu để kiểm tra tối ưu mơ hình - Chuẩn hóa kích thước ảnh: 64 - Bổ sung thêm lớp mạng CNN3 - Thay đổi tham số optimizer từ RMSprop thành Adamax - Kết chạy vòng lă ̣p sau: 65 - Kết chạy thử nghiệm mơ hình với 20 ảnh lớp: 66 + Ơ tơ: Nhâ ̣n diê ̣n 19/20, tương ứng tỷ lê ̣ 95% 67 + Xe máy: Nhâ ̣n diê ̣n 20/20, tương ứng tỷ lê ̣ 100% 68 69 Tỷ lê ̣ nhâ ̣n diê ̣n xác kiểm tra 40 ảnh 97.25% KẾT LUẬN: Khi thực nghiệm thay đổi đồng thời tiêu chuẩn hóa kích thước ảnh, bổ sung thêm lớp CNN thay đổi tham số optimizer, tỉ lệ xác mơ hình cải thiện đáng kể, từ 75% lên 97.5% Chỉ số Val_loss giảm 0.0838, val_acc tăng lên 95% Mặc dù mơ hình tối ưu nhiều so với ban đầu, việc nhận diện xác khơng phụ thuộc vào tham số mơ hình mà cịn phụ thuộc vào độ khó ảnh Trong tập lớn này, đoạn code đơn giản nên nhóm chúng em lấy liệu ảnh không phức tạp, tập trung chủ yếu vào phương tiện mà muốn nhận diện Nhưng áp dụng mơ hình vào thực tế, có vật thể khác cối, vật, đường xá,… xuất file liệu khiến việc nhận diện trở nên khó khăn phức tạp nhiều Toàn làm cố gắng phát triển nhóm em để tạo nên mơ hình nhận diện đơn giản, mơ hình cịn cần cải thiện nâng cao đưa vào thực tế Khi chọn ảnh cần ý gì? (Định dạng, kích cơꄃ) 70 Đổi kích cơꄃ ảnh thay đổi chỗ Diễn giải code CNN Diễn giải thuật tốn Adam? Ở epochs: verbose = hay =2 sao? 71 ... nghiên cứu Việt Nam Nhận thấy tính ứng dụng mạnh mẽ nhóm định lựa chọn cho nghiên cứu với chủ đề ? ?Nhận diện hình ảnh phương tiện giao thơng nút giao cao tốc vành đai Nguyễn Xiển? ?? I Giới thiệu... phân loại phương tiện phép di chuyển đường vành đai cao phương tiện không phép di chuyển đường vành đai cao, thơng qua hỗ trợ nhà quản lý dễ dàng xác định phương tiện vi phạm phương tiện khơng... vi phạm từ đưa hình thức xử phạt mức phạt phù hợp với loại phương tiện Input: Hình ảnh phương tiện giao thông (xe đạp, xe máy, oto) di chuyển lên cầu vượt Output: Hình ảnh phương tiện vi phạm không