ĐỒ ÁN CƠ SỞ : Nghiên cứu mạng nơron cho bài toán nhận diện biển số xe máy

144 57 0
ĐỒ ÁN CƠ SỞ  : Nghiên cứu mạng nơron cho bài toán nhận diện biển số xe máy

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN MÔN HỌC Nghiên cứu mạng nơron cho bài toán nhận diện biển số xe máy Giảng viên hướng dẫn ThS VƯƠNG XUÂN CHÍ Si.

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN MÔN HỌC Nghiên cứu mạng nơron cho toán nhận diện biển số xe máy Giảng viên hướng dẫn: ThS VƯƠNG XN CHÍ Sinh viên thực hiện: MSSV: Chun ngành: Mơn học: Khóa: TRẦN QUỐC HÀO 2000001910 Khoa Học Dữ Liệu Đồ Án Cơ Sở 2020 Tp.HCM, tháng năm 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN MÔN HỌC Nghiên cứu mạng nơron cho toán nhận diện biển số xe máy Giảng viên hướng dẫn: ThS VƯƠNG XN CHÍ Sinh viên thực hiện: MSSV: Chun ngành: Mơn học: Khóa: Trần Quốc Hào 2000000634 Khoa Học Dữ Liệu Đồ Án Cơ Sở 2020 Tp.HCM, tháng năm 2022 LỜI CẢM ƠN Em xin bày tỏ lịng kính trọng biết ơn sâu sắc tới Thầy ThS.Vương Xuân Chí tận tình hướng dẫn động viên chúng em nhiều trình làm đồ án sở thầy hướng dẫn tận tình dễ hiểu hổ trợ chúng em điều kiện tốt để làm đồ án Tuy nhiên, thời gian có hạn, nỗ lực báo cáo khó tránh khỏi sai sót Em mong nhận thơng cảm, lời góp ý, bảo tận tình q thầy bạn để em đồ án trở nên hồn thiện …………………………………………………………………………………………………………………………… ……………………………………………………… Họ tên sinh viên Trần Quốc Hào Đặng Quốc Phong LỜI MỞ ĐẦU 1.lý chọn đề tài Hiện nay, số lượng xe cộ tham gia giao thông đường lớn dẫn đến tiêu tốn nhiều nhân lực vật lực cho việc quản lý phương tiện cá nhân bãi gửi xe Nếu cơng cụ thuận tiện việc quản lý phương tiện cá nhân thời gian, dễ gây nhầm lẫn, thiệt hay cho người sử dụng dịch vụ bãi đỗ xe Để giảm tải cho cơng việc thu tiền, bảo hiểm xe, tìm xe cộ bãi đỗ xe, giới phát triển công nghệ giám sát tự động phương tiện giao thơng, nhờ tính cá nhân biển số xe mà trở thành đối tượng sử dụng để nghiên cứu, phát triển cơng nghệ Do em muốn chọn đề tài bước việc tìm hiểu công cụ giám sát mạnh kiểm sốt xe lưu thơng đường hay nhận dạng khn mặt giới trọng lúc NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… TRƯỜNG ĐẠI HỌC NGUYỄN TẤT KỲ THI KẾT THÚC HỌC PHẦN THÀNH HỌC KỲ … … NĂM HỌC …… - ….… TRUNG TÂM KHẢO THÍ PHIẾU CHẤM THI TIỂU LUẬN/ĐỒ ÁN Mơn thi: Lớp học phần: Nhóm sinh viên thực : Tham gia đóng góp: Trần Quốc Hào Tham gia đóng góp: Đặng Quốc Phong Ngày thi: Phòng thi: Đề tài tiểu luận/báo cáo sinh viên :Nghiên cứu mạng nơron cho toán nhận diện biển số xe máy Phần đánh giá giảng viên (căn thang rubrics mơn học): Tiêu chí (theo CĐR HP) Đánh giá GV Điểm tối đa Điểm đạt Cấu trúc báo cáo Nội dung ● Các nội dung thành phần ● Lập luận ● Kết luận Trình bày TỔNG ĐIỂM Giảng viên chấm thi (ký, ghi rõ họ tên) THÀNH VIÊN NHÓM STT Họ tên MSSV TRẦN QUỐC HÀO 2000001910 ĐẶNG QUỐC PHONG 2000000634 ● VGG-16 kế thừa lại hàm activation ReLU AlexNet 130 ● VGG-16 kiến trúc thay đổi thứ tự block xếp nhiều layers CNN + max pooling thay xen kẽ layer CNN + max pooling Một bạn có câu hỏi Forum Machine Learning Cơ Bản thay đổi giúp cho VGG net cải thiện nào? Các layers CNN sâu trích lọc đặc trưng tốt so với layers CNN 131 ● VGG-16 sử dụng lọc kích thước nhỏ 3x3 thay nhiều kích thước lọc AlexNet Kích thước lọc nhỏ giúp giảm số lượng tham số cho mơ hình mang lại hiệu tính tốn VD: Nếu sử dụng lọc kích thước x featurs map (là output layer CNN) có độ sâu ta cần n_filters x kernel_size x kernel_size x n_channels = x x x = 54 tham số Nhưng sử dụng lọc kích thước x cần x x = 75 tham số lọc x mang lại hiệu so với lọc x 132 Mạng VGG-16 sâu so với AlexNet số lượng tham số lên tới 138 triệu tham số Đây mạng mà có số lượng tham số lớn Kết xếp thứ liệu ImageNet validation thời điểm public Ngồi cịn phiên VGG-16 VGG-19 tăng cường thêm layers độ sâu 133 Bắt đầu từ VGG-16, hình mẫu chung cho mạng CNN tác vụ học có giám sát xử lý ảnh bắt đầu hình thành mạng trở nên sâu sử dụng block dạng [Conv2D*n + Max Pooling] 134 135 ảnh VGG-16 GoogleNet - Inception version Mạng Inception-V1 dành chiến thắng thi ImageNet vào năm 2015 Kiến trúc giải câu hỏi lớn mạng CNN sử dụng kernel_size với kích thước hợp lý Các kiến trúc mạng nơ ron trước sử dụng lọc với đa dạng kích thước 11x11, 5x5, 3x3 nhỏ 1x1 Một khám phá đưa báo việc kết hợp đồng thời lọc vào block mang lại hiệu kiến trúc khối Inception Khối Inception: ● Khối Inception bao gồm nhánh song song Các lọc kích thước 1x1, 3x3, 5x5 áp dụng Inception Module giúp trích lọc đa dạng đặc trưng vùng nhận thức có kích thước khác ● Ở đầu nhánh 1, 2, từ xuống, phép tích chập 1x1 sử dụng điểm ảnh kết nối fully connected nhằm mục đích giảm độ sâu kênh số lượng tham số mơ hình Ví dụ: Ở block trước có kích thước width x height x channels = 12 x 12 x 256 Sau áp dụng 32 lọc kích thước 1x1 không làm thay đổi width, height độ sâu giảm xuống 32, output shape lúc có kích thước 12 x 12 x 32 Ở layer liền sau, thực tích chập tồn độ sâu, khởi tạo lọc có độ sâu 32 thay 256 Do đó số lượng tham số giảm cách đáng kể ● Nhánh thứ từ xuống giảm chiều liệu layer maxpooling kích thước 3x3 sau áp dụng lọc kích thước 1x1 để thay đổi số kênh ● Các nhánh áp dụng padding stride cho đầu có kích cỡ chiều dài chiều rộng Cuối ta concatenate toàn kết đầu khối theo kênh để thu output có kích thước với input Khối Inception lặp lại lần kiến trúc Inception-V1 Toàn mạng bao gồm 22 Layers, lớn gần gấp đơi so với VGG-16 Nhờ áp dụng tích chập 1x1 giúp tiết kiệm số lượng tham số xuống triệu, gần 27 lần so với VGG-16 136 ảnh mạng GoogleNet - Inception version 137 Kiến trúc GoogleNet - Inception version Inception-V3 kế thừa Inception-V1 bao gồm 24 triệu tham số Toàn layer tích chập Inception-V3 theo sau layer batch normalization ReLU activation Batch normalization kỹ thuật chuẩn hóa đầu vào theo minibatch layer theo phân phối chuẩn hóa N(0,1), giúp cho q trình huấn luyện thuật tốn nhanh Inception-V3 giải vấn đề thắt cổ chai (representational bottlenecks) Tức kích thước layers khơng bị giảm cách đột ngột Đồng thời InceptionV3 có cách tính tốn hiệu nhờ sử dụng phương pháp nhân tố (factorisation methods) Hiện Inception module bao gồm version Chúng ta xem qua điểm đặc biệt version ● Inception-A: Cải tiến so với Inception module V1 Tại nhãnh thứ thay layer tích chập x layer tích chập x liên tiếp giúp giảm số lượng tham số từ 25 18 tăng độ sâu cho mơ hình ● Inception-B: Cải tiến so với Inception-A Thay tích chập x tích chập x nhánh thứ nhánh thứ Đồng thời phân tích nhân tố tích chập x thành tích chập liên tiếp x x số lượng tham số so với tích chập tích chập x liên tiếp Nhờ số lượng tham số giảm từ 18 xuống 14 ● Inception-C: Cải tiến so với Inception-B Thay tích chập x tích chập x x x đồng thời thay đặt layer x x liên tiếp đặt chúng song song Kiến trúc giúp giảm số lượng tham số từ 14 Ngồi Inception-V3 cịn sử dụng kiến trúc giảm chiều liệu Reduction-A Reduction-B 138 ảnh kiến trúc mạng Kiến trúc GoogleNet - Inception version ResNet kiến trúc sử dụng phổ biến thời điểm ResNet kiến trúc sớm áp dụng batch normalization Mặc dù mạng sâu có số lượng layer lên tới 152 nhờ áp dụng kỹ thuật đặc biệt mà ta tìm hiểu bên nên kích thước ResNet50 khoảng 26 triệu tham số Kiến trúc với tham số hiệu ResNet mang lại chiến thắng thi ImageNet năm 2015 Những kiến trúc trước thường cải tiến độ xác nhờ gia tăng chiều sâu mạng CNN Nhưng thực nghiệm cho thấy đến ngưỡng độ sâu độ xác mơ hình bão hịa chí phản tác dụng làm cho mơ hình xác Khi qua q nhiều tầng độ sâu làm thơng tin gốc bị nhà nghiên cứu Microsoft giải vấn đề ResNet cách sử dụng kết nối tắt Các kết nối tắt (skip connection) giúp giữ thông tin không bị cách kết nối từ layer sớm trước tới layer phía sau bỏ qua vài layers trung gian Trong kiến trúc base network CNN mạng YOLOv2, YOLOv3 gần YOLOv4 bạn thường xuyên thấy kết nối tắt áp dụng 139 ảnh mạng ResNet 140 kiến trúc nên sử dụng mạng resnet 141 c) giải toán 142 1.huấn luyện đưa kết giai đoạn việc nhận diện thực theo bước sau: bước 1: tạo tập liệu huấn luyện bước 2: huấn luyện mô hình CNN bước 3:đưa ảnh từ bước ‘phân đoạn ký tự ‘ vào mơ hình CNN để tạo kết bước 4: in kết -đầu tiên tìm tập liệu cho huấn luyện với tốn ta tìm tập liệu gồm ký tự khác biểu diễn nhin phân để hình thành nên tập liệu ta lấy từ nhiều nguồn khác mạng internet -tiếp theo lấy ngưỡng , vẽ contour cắt ký ký tự có kích cở khác xữ lí phức tạp nên cần chuẩn hóa lại hình ảnh kích thước 30:20 pixel Thay ký tự đưa vào mơ hình để máy nhận diện ký tự ta gắn nhãn classification.txt flattened_images.txt file classification.txt có nhiệm vụ lưu mã ascii ký tự file flattened_images.txt lưu giá trị điểm ảnh có hình ảnh ký tự nằm thấp 1/3 biển số gán hàng đầu ngược lại xếp vào hàng bước tạo tập liệu huấn luyện từ tập liệu tìm tiến hành chia tập liệu làm phần train/test ,phần liệu train chiếm 80% liệu test chiếm 20% bước tiến hành huấn luyện mơ hình bước ta cần làm việc -1 tạo lớp Dense layer với hàm lan truyền tiến ,lan truyền ngược hàm activeFuntion -2tạo lớp tích chập(Convolutional) với phương thức phía -3 tiến hành tạo lớp training model bắt đầu huấn luyện -4 sau huấn luyện xong ta tiến hành lưu toàn model cho lần dùng sau mà k cần phải train lại từ đầu Bước 4: Ta thực đưa ảnh xét vào tính khoảng cách đến tất điểm mẫu, kết mã ASCII đại điện cho hình ảnh Cuối ta in biển số xe hình Tuy nhiên Việt Nam có hai loại biển số biển hàng biển hai hàng Về ý tưởng chung để phân biệt hai hàng ta dựa vào vị trí hình 143 ảnh kí tự, vị trí nằm thấp 1/3 chiều cao biển số kí tự xếp vào hàng Ngược lại xếp vào hàng hai.sau trả kết Chương Kết luận hướng phát triển Kết luận Từ mơ hình em nhận thấy cịn nhiều điểm thiếu sót vấn đề tìm hiểu mơ hình vd: xoay ảnh đưa diện hỗ trợ tăng mức độ xác mơ hình Hướng phát triển Đối với phần nhận diện vùng biển số xe dùng thư viện có sẳn giới YOLO,YOLOv3… Sử dụng thuật toán xử lý ảnh khác để xác định vị trí biển số tốt phương pháp biến đổi Hough để nhận diện đường thẳng, xác định màu sắc, thuật toán làm hạn chế di ảnh xe di chuyển Kết hợp với chương trình khác để quản lý kho bãi, quản lý phương tiện tham gia giao thơng, tìm xe thất lạc, theo dấu, Chương Tài liệu tham khảo [1] build the neural network from sracth-sentex [2] hand on machine learning with scikit-learn and tensorflow [3] https://www.analyticsvidhya.com/blog/2021/06/building-a-convolutional-neuralnetwork-using-tensorflow-keras/ [4]https://www.allaboutcircuits.com/technical-articles/how-to-train-a-basicperceptron-neural-network/ [5] http://yann.lecun.com/exdb/publis/pdf/bengio-95.pdf [6] https://papers.nips.cc/paper/2012 144 ... TIN TIỂU LUẬN MÔN HỌC Nghiên cứu mạng nơron cho toán nhận diện biển số xe máy Giảng viên hướng dẫn: ThS VƯƠNG XN CHÍ Sinh viên thực hiện: MSSV: Chun ngành: Mơn học: Khóa: Trần Quốc Hào 2000000634... train cho mạng nhận biết ký tự biển số xe thay nhận biết tồn biển số Đối với vấn đề thứ lọc vùng có chứa biển số xe chia vấn đề thành bước để tiến hành xữ lí Bước 1: phát vị trí tách biển số xe. .. quan toán nhận diện biển số xe vấn đề hướng giải vấn đề mắc phải lúc tiến hành làm : 19 -tập liệu: tìm tập liệu biển số xe labels sẳn vấn đề liệu vấn đề lớn gặp phải 20 -xác định vùng chứa biển số

Ngày đăng: 28/10/2022, 09:11

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

Tài liệu liên quan