Trong bài báo này nhóm đề xuất một phương pháp sử dụng các kỹ thuật học sâu giải quyết nhiệm vụ ANPR có tốc độ xử lý và độ chính xác cao.. Với mong muốn đóng góp một phần vào công tác qu
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
LUẬN VĂN THẠC SĨ HUỲNH TẤN PHÁT
NHẬN DẠNG BIỂN SỐ XE BẰNG KỸ THUẬT XỬ LÝ ẢNH
VÀ HỌC SÂU ỨNG DỤNG TRONG QUẢN LÝ GIAO THÔNG
NGÀNH: KHOA HỌC MÁY TÍNH
Trang 2LUẬN VĂN THẠC SĨ HUỲNH TẤN PHÁT
NHẬN DẠNG BIỂN SỐ XE BẰNG KỸ THUẬT XỬ LÝ ẢNH VÀ HỌC SÂU
ỨNG DỤNG TRONG QUẢN LÝ GIAO THÔNG
NGÀNH: KHOA HỌC MÁY TÍNH - 8480101
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
Tp Hồ Chí Minh, tháng 04 năm 2023
Trang 9Lý Lịch Khoa Học
I LÝ LỊCH SƠ LƯỢC:
Ngày, tháng, năm sinh: 03/071995 Nơi sinh: Tiền Giang
Chỗ ở riêng hoặc địa chỉ liên lạc: Số 20, đường tăng nhơn phú, P Phước long B,
Tp Thủ đức, Tp Hồ Chí Minh
Điện thoại cơ quan: 0772954377 Điện thoại riêng: 0772954377
phathuynh195@gmail.com
II QUÁ TRÌNH ĐÀO TẠO:
1 Trung học chuyên nghiệp:
Nơi học (trường, thành phố): Đại học công nghiệp thực phẩm Tp HCM
Ngành học: Công nghệ thông tin
Tên đồ án, luận án hoặc môn thi tốt nghiệp:
“GIÁM SÁT HỆ THỐNG MẠNG DOANH NGHIỆP VỚI NAGIOS”
Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: Đại học công nghiệp thực phẩm Tp HCM
Người hướng dẫn: Ths Trần Đắc Tốt
Trang 10III QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC:
2016 - 2019 Công ty cổ phần công nghệ TMĐT
2019 - 2021 Công ty cổ phần Thế giới đi động Lập trình viên
Từ 03/2021 Trường CĐ công thương Tp HCM Giảng viên
Trang 11Lời Cam Đoan
Tôi xin cam đoan đây là công trình nghiên cứu của riêng bản thân tôi Các thống kê về số liệu cũng như những kết quả nêu trong Luận văn là trung thực và chưa từng được ai công
bố trong bất kỳ đề tài nào khác Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được cảm ơn và các thông tin trích dẫn trong Luận văn được minh bạch
và chỉ rõ nguồn gốc
Tp Hồ Chí Minh, ngày 12 tháng 09 năm 2022
Huỳnh Tấn Phát
Trang 12Lời Cảm Ơn
Trong quá trình thực hiện luận văn thạc sĩ, tôi đã gặp vô số vấn đề cần giải quyết, để đạt được kết quả của luận văn này ngoài những nỗ lực cố gắng của bản thân, tôi còn nhận được rất nhiều sự giúp đỡ từ phía quý Thầy về mặt chuyên môn, gia đình và bạn bè ủng
hộ về mặt tinh thần Đầu tiên, tôi xin tỏ lòng kính trọng và biết ơn chân thành, sâu sắc nhất đến PGS.TS Hoàng Văn Dũng, người thầy đã định hướng đề tài nghiên cứu, tận tình hướng dẫn và tạo mọi điều kiện thuận lợi cho tôi hoàn thành luận văn này Cuối cùng, xin cảm ơn quý Thầy khoa Công nghệ thông tin, Trường Đại học Sư Phạm Kỹ Thuật Tp HCM đã tận tình hướng dẫn và cung cấp đầy đủ các thông tin giúp tôi hoàn thành luận văn
Học viên thực hiện
Trang 13Tóm Tắt
Nhận dạng biển số xe tự động (ANPR) được sử dụng trong nhiều mục đích, chẳng hạn như bãi đậu xe, kiểm soát phương tiện và thu phí đường ô tô Tuy nhiên, việc gia tăng các phương tiện giao thông đường bộ gây khó khăn cho việc quản lý giao thông hay ở các bãi gởi xe Để giải quyết vấn đề đó cần có phương pháp giúp cho quá trình thu nhận dữ liệu
từ những thẻ này được nhanh chóng và chính xác, đòi hỏi phải có một chương trình có thể nhận dạng và xử lý hình ảnh một cách chính xác Trong bài báo này nhóm đề xuất một phương pháp sử dụng các kỹ thuật học sâu giải quyết nhiệm vụ ANPR có tốc độ xử lý và
độ chính xác cao Cụ thể nhóm ứng dụng 2 mạng nơ-ron tích chập (Convolutional Neural Network-CNN) để nhận dạng ANPR Kết quả thực nghiệm cho thấy phương pháp nhóm
đề xuất đạt độ chính xác cao và vượt trội hơn tất cả các phương pháp khác xét về tốc độ
xử lý
Nhận thấy sự cấp thiết của các cơ quan nhà nước trong công tác quản lý thông tin của các phương tiện giao thông đường bộ mật cách tự động hóa Với mong muốn đóng góp một phần vào công tác quản lý này, chúng em đã chọn đề tài “Nhận dạng biển số xe bằng kỹ thuật xử lý ảnh và học sâu ứng dụng trong quản lý giao thông” để thực hiện
Trang 14Automatic Number Plate Recognition (ANPR) is used for various purposes, such as parking lots, vehicle control, and road tolls collection However, the increasing number of road vehicles makes parking lot management and road tolls collection for automobiles challenging To solve this problem, a method is needed to help quickly and accurately collect data from these plates, which requires a program capable of recognizing and processing images precisely In this paper, my team proposes a deep learning-based method for solving the ANPR task with high processing speed and accuracy Specifically,
my team proposes applying two Convolutional Neural Networks (CNNs) for ANPR recognition Experimental results show that the proposed method achieves high accuracy and outperforms all other methods in terms of processing speed Realizing the urgency of state agencies in the management of information of road vehicles in an automated manner With the desire to contribute a part to this management, we chose the topic
"Recognition of license plates by image processing techniques and deep learning
Trang 15Bối cảnh: Nhận dạng biển số xe tự động (ANPR) được sử dụng trong nhiều mục đích, chẳng hạn như bãi đậu xe, kiểm soát phương tiện và thu phí đường ô tô Tầm quan trọng của nó ngày một cao với nhiều ứng dụng mới Trong đó, hai yếu tố: chính xác và tốc độ đọc ANPR rất quan trọng Những cải tiến gần đây trong học sâu đã tăng khả năng giải quyết loại bài toán này
Mục tiêu: Mục tiêu của luận văn này là đề xuất một phương pháp sử dụng các kỹ thuật học sâu giải quyết nhiệm vụ ANPR và đánh giá tốc độ xử lý và độ chính xác dự đoán của
nó
Phương pháp: Nghiên cứu được chia thành hai giai đoạn Giai đoạn đầu tiên bao gồm việc xem xét các vấn đề của ANPR và xem xét, đánh giá các phương pháp học sâu, nhằm đề xuất một phương pháp phù hợp Giai đoạn thứ hai bao gồm đánh giá phương pháp được
đề xuất Tiêu chí chính trong đánh giá là tốc độ xử lý và độ chính xác của dự đoán Tập
dữ liệu được sử dụng để đánh giá độ chính xác của dự đoán bao gồm của những chiếc ô
tô đang đậu với hầu hết là biển số Việt Nam
Kết quả: Một phương pháp sử dụng hai mạng nơ-ron tích chập (CNN) được đề xuất với mục đích giải quyết nhiệm vụ ANPR Mạng đầu tiên đã được đào tạo lại để phát hiện biển
số xe và mạng thứ hai để phân đoạn và nhận dạng các ký tự trong các biển số xe được phát hiện bởi mạng đầu tiên Cả hai mạng đều sử dụng kiến trúc YOLOv5, vì nó được cho là nhanh hơn đáng kể và có độ chính xác cao hơn một chút so với các kiến trúc đã được đánh giá khác
Việc đánh giá phương pháp được đề xuất dẫn đến độ chính xác dự đoán tổng thể là 95,6%, vượt trội hơn đáng kể so với các phương pháp khác được thử nghiệm trên cùng một tập dữ liệu Việc phát hiện biển số xe đạt độ chính xác là 96,8% và việc phát hiện ký
tự độ chính xác 95,8% Khi chạy phương pháp được đề xuất trên GPU, nó sử dụng trung binh 17ms để thực hiện phát hiện biển số trên một hình ảnh và trung bình 16ms để thực hiện đọc biển số, cho thời gian xử lý tổng thể là 33ms cho mỗi hình ảnh Luận văn cũng
đủ nhanh để chạy trên các luồng video thời gian thực với tốc độ lên đến 30 FPS mà không
Trang 16cần giảm bất kỳ khung hình nào
Kết luận: Luận văn này là đánh giá đầu tiên của một phương pháp phát hiện đối tượng sử dụng kỹ thuật học sâu CNNs để giải quyết nhiệm vụ ANPR Phương pháp đề xuất đạt độ chính xác cao và vượt trội hơn tất cả các phương pháp khác xét về tốc độ xử lý khi sử dụng một GPU Điều này cho thấy rằng việc sử dụng CNNs phát hiện đối tượng là một
Trang 17Mục Lục
Lý Lịch Khoa Học 2
Lời Cam Đoan 10
Lời Cảm Ơn 11
Tóm Tắt 12
DANH SÁCH CÁC BẢNG 21
DANH SÁCH CÁC HÌNH 22
CHƯƠNG 1 TỔNG QUAN 23
1.1 Bối cảnh 23
1.2 Phạm vi của Luận văn 26
1.3 Mục tiêu và Câu hỏi nghiên cứu 30
1.4 Đóng góp 32
1.5 Cấu trúc luận văn 33
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 34
2.1 Mạng nơ-ron hồi tiếp 34
2.1.1 Loss function 35
2.1.2 Gradient descent 36
2.1.3 Backpropagation 37
2.1.4 Activation functions 37
2.1.5 Learning rate 39
2.1.6 Momentum 39
2.1.8 Stochastic và batch learning 40
2.1.9 Dropout 41
Trang 182.1.10 Batch normalization 42
2.1.11 Data augmentation 43
2.1.12 Convolution 43
2.2 Mạng nơ-ron tích chập 44
2.2.1 Các lĩnh vực tiếp thu cục bộ 46
2.2.2 Tổng hợp 46
2.2.3 Kiến trúc tích chập 47
CHƯƠNG 3 QUY TRÌNH NHẬN DẠNG BIỂN SỐ 49
3.1 Phát hiện biển số xe 49
3.1.1 Phương pháp tiếp cận dựa trên cạnh 49
3.1.2 Phương pháp tiếp cận dựa trên màu sắc 50
3.1.3 Phương pháp tiếp cận dựa trên kết cấu 51
3.1.4 Phương pháp tiếp cận dựa trên nhân vật 51
3.1.5 Phương pháp kết hợp hai hoặc nhiều tính năng 52
3.2 Phân đoạn ký tự 53
3.2.1 Phương pháp dựa trên phép chiếu 53
3.2.2 Phương pháp tiếp cận dựa trên kết nối pixel 53
3.3 Nhận dạng ký tự 54
3.3.1 Phương pháp đối sánh mẫu 54
3.3.2 Phương pháp tiếp cận dựa trên học tập 54
3.4 Kiến trúc chuyển đổi phân loại đối tượng 55
3.4.1 Traditional CNNs 55
3.4.2 DeepCNNs 56
3.4.3 Very deep CNNs 57
3.4.4 Residual CNNs 57
Trang 193.5 Kiến trúc chuyển đổi phát hiện đối tượng 58
3.5.1 Region-based CNNs 59
3.5.2 Fast R-CNN 61
3.5.3 Faster R-CNN 61
3.5.4 Mask R-CNN 62
3.5.5 You Only Look One (YOLO) 64
3.5.6 YOLOv5 66
CHƯƠNG 4 MÔ HÌNH ĐỀ XUẤT 68
4.1 Tổng quan 68
4.2 Phát hiện phương tiện và biển số xe 70
4.3 Trích xuất vùng biển số xe 71
4.4 Nhận dạng ký tự trong biển số xe 71
4.5 Nhận dạng ký tự 75
CHƯƠNG 5 THỰC NGHIỆM VÀ KẾT QUẢ 79
5.1 Quy định về biển số xe Việt Nam 79
5.2 Xây dựng tập dữ liệu biển số từ thực tế 81
5.3 Gán nhãn dữ liệu 82
5.2.1 Định nghĩa dự đoán đúng và độ chính xác 82
5.2.2 Phép lặp đầu tiên 84
5.2.3 Phép lặp thứ hai 86
5.4 Thực nghiệm với giá trị tin cậy 87
5.5 Thực nghiệm với dữ liệu đã huấn luyện 90
5.6 Tóm tắt kết quả thử nghiệm 91
Trang 205.7 Nhận dạng với video 94
CHƯƠNG 6 ĐÁNH GIÁ VÀ KẾT LUẬN 96
6.1 Đánh giá 96
6.2 Hướng phát triển 97
TÀI LIỆU THAM KHẢO 98
Trang 21DANH SÁCH CHỮ VIẾT TẮT/KÝ HIỆU KHOA HỌC
ANPR (Automatic Number Plate Recognition: Nhận dạng biển số tự động)NPR (Number Plate Recognition: Nhận dạng biển số)
LPR (License Plate Recognition: Nhận dạng biển kiểm soát)
ALPR (Automated License Plate Readers: Thiết bị đọc biển kiểm soát tự động)IoU (Intersection over Union): Độ đo IoU
YOLO (“You Only Look Once" = “Chỉ nhìn thấy một lần”)
CNN (Convolutional Neural Networks: “mạng nơ-ron tích chập”)
RNN (Recurrent Neural Network: Mạng nơ ron hồi tiếp [hồi quy || tái phát])GPU (Graphic Processing Unit: Bộ xử lý đồ họa)
FPS (Frames Per Second): Khung hình trên giây
RGB (Red_Green_Blue): Hệ màu
STN (Spatial Transformation Network): lớp mạng biến đổi không gian
SMS (Short Message Services): là dịch vụ nhắn tin ngắn
Trang 22DANH SÁCH CÁC BẢNG
Bảng 6.2 Tóm tắt các kết quả thí nghiệm cho biển sô 81
Trang 23DANH SÁCH CÁC HÌNH
Hình 1.2: Mốt số hình ảnh khó khăn khi nhận dạng biển số xe 29
Hình 2.4: Tổng quan về Local receptive fields, Weight sharing, pooling trong CNN
45
Hình 3.1: Cấu trúc LeNet5s sử dụng cho nhận dạng số 56
Hình 3.5: Bounding boxes trong hình ảnh dưới được đề xuất dựa trên nhóm pixel
Trang 24Hình 4.12: Một số mẫu chữ lỗi 78
Hình 5.3: Phân phối của từng ký tự trong tập dữ liệu 81
Hình 5.9: Ảnh chụp nhanh của một frame trong các video được hiển thị 95
CHƯƠNG 1 TỔNG QUAN 1.1 Bối cảnh
Nhận dạng biển số tự động (ANPR) giúp xác định biển số xe trong một cách hiệu quả mà không cần nguồn nhân lực chính và đã trở nên nhiều hơn và quan trọng hơn trong những năm gần đây Có một số lý do tại sao tầm quan trọng của chúng
đã tăng lên Ngày càng có nhiều ô tô trên đường và tất cả chúng đều có biển số xe
Sự phát triển nhanh chóng của công nghệ xử lý hình ảnh kỹ thuật số cũng đã giúp
nó có thể phát hiện và xác định biển số xe với tốc độ nhanh Toàn bộ quá trình có thể được thực hiện trong ít hơn 50 ms [13] Điều này cho 20 khung hình mỗi giây
là đủ để xử lý các luồng video thời gian thực
Nhận dạng các phương tiện rất hữu ích cho nhiều người điều khiển khác nhau Nó
có thể được sử dụng bởi các cơ quan chính phủ để tìm ô tô có liên quan đến tội phạm, tra cứu xem phí hàng năm có trả tiền hoặc xác định người vi phạm luật lệ giao thông Hoa Kỳ, Nhật Bản, Đức, Ý, Vương quốc Anh và Pháp đều là những
Trang 25quốc gia đã áp dụng thành công ANPR trong lưu lượng truy cập để quản lý giao thông [14] Một số nhà khai thác tư nhân cũng có thể được hưởng lợi từ hệ thống ANPR Hệ thống cho phép người dùng để đăng ký biển số xe ô tô của họ thông qua một ứng dụng di động hoặc thông qua tin nhắn SMS cùng với thời gian đậu xe
mà họ muốn trả tiền Nếu người phục vụ đậu xe muốn kiểm tra xem xe có phiếu đậu xe hợp lệ hay không, nhân viên phải nhập thủ công biển số xe để tra cứu trong
cơ sở dữ liệu Mỗi mục nhập không quá một vài giây, nhưng vì đây là nhiệm vụ chính của người phục vụ và thực hiện hàng trăm lần trong một ngày làm việc, điều này trở thành một gánh nặng lớn Cũng có một giới hạn trên về cách nhiều xe hơi
mà một nhân viên đậu xe có thể kiểm tra trong một ngày làm việc Một hệ thống được đề xuất để giải quyết vấn đề này và tăng hiệu quả là gắn camera trên xe có thể lái xe quanh bãi đậu xe và chụp ảnh hoặc quay phim biển số xe ô tô đang đậu Các nhiệm vụ của hệ thống ANPR là nhận dạng biển số xe từ luồng hình ảnh hoặc video, tra cứu nó trong cơ sở dữ liệu và xem vé đậu xe có hợp lệ không Yêu cầu đối với một hệ thống ANPR như vậy là độ chính xác cao khi đọc biển số xe và thời gian xử lý nhanh hợp lý Nếu hệ thống không nhận dạng được tất cả các biển số xe,
nó cũng sẽ cung cấp một chỉ báo về mức độ chắc chắn của nó đối với một phân loại cụ thể để tránh dương tính giả Các phân loại về độ không chắc chắn cao sẽ được nhân viên giữ xe kiểm tra bằng tay sau đó
Vì ANPR là một nhiệm vụ quan trọng cần giải quyết trong ba mươi năm qua, nên một số hệ thống ANPR đã tồn tại với mức độ chính xác và tốc độ khác nhau Các cuộc khảo sát lớn hơn của Du và cộng sự [15] và Patel và cộng sự [16], đều được xuất bản vào năm 2013, đã cố gắng bao quát và so sánh các ấn phẩm gần đây nhất trong lĩnh vực này Nhiều hệ thống được bảo hiểm yêu cầu độ chính xác tổng thể trên 90% Tuy nhiên, độ chính xác được tuyên bố trong hầu hết các trường hợp là không thể so sánh được với các hệ thống khác vì các bộ thử nghiệm khác nhau được sử dụng và không tồn tại bộ thử nghiệm phổ quát được chấp nhận Sự phức
Trang 26tạp trong việc nhận dạng biển số xe trong các bài kiểm tra khác nhau các bộ sẽ tác động đáng kể đến độ chính xác, làm cho các so sánh trực tiếp về độ chính xác mà không coi độ phức tạp là vô nghĩa Như đã chỉ ra bởi các tác giả của [13], việc tuyên bố phương pháp nào cho hiệu suất cao nhất là không phù hợp vì thiếu các cách thống nhất để đánh giá chúng So sánh hiệu suất tốc độ dễ dàng hơn, mặc dù
có những yếu tố tác động đến nó, đặc biệt là độ phân giải pixel của hình ảnh biển
số xe
Một hệ thống ANPR điển hình có thể được chia thành ba giai đoạn chính:
1 Phát hiện biển số - phát hiện biển số trong ảnh đã chụp
2 Phân đoạn ký tự - trích xuất các ký tự chữ và số từ bảng
3 Nhận dạng ký tự - nhận ra từng ký tự riêng lẻ
Mỗi giai đoạn đã được thực hiện bằng cách sử dụng các kỹ thuật học máy khác nhau và những kỹ thuật này sẽ được trình bày kỹ hơn trong Chương 3 Các kỹ thuật học máy truyền thống sử dụng các tính năng do con người lựa chọn để đại diện cho các tính năng cơ bản của hình ảnh Các kỹ thuật này yêu cầu các mô hình phức tạp do con người thiết kế để chuyển các pixel đầu vào thô thành các phản hồi nhận dạng hữu ích
Luận văn này sẽ trình bày một cách tiếp cận thay thế bằng cách sử dụng học sâu để
tự động nhận dạng biển số xe Kỹ thuật học sâu không sử dụng các tính năng được thiết kế thủ công, nhưng tự động chọn các tính năng Chúng được thiết kế để học các biểu diễn cấp thấp của dữ liệu cơ bản bằng cách sửa đổi các bộ lọc và đã đạt được thành công trong nhiều lĩnh vực trong tầm nhìn máy tính, chẳng hạn như nhận dạng chữ viết tay [17] và nhận dạng đối tượng trực quan [18] Các phương pháp học sâu mạnh nhất liên quan đến Mạng nơ-ron tích chập (CNN) Mạng nơ-ron phân cấp của CNN dựa trên các kết nối thưa thớt và chia sẻ trọng lượng mang lại cho chúng khả năng đại diện to lớn và tiềm năng học tập cao Những thách thức lớn nhất của CNN là chi phí tính toán cao và nhu cầu về số lượng lớn các mẫu đào
Trang 27tạo
Trong những năm gần đây, CNN đã trở nên mạnh mẽ hơn rất nhiều khi các giải pháp thông minh để giảm chi phí tính toán và lượng mẫu đào tạo đã được phát hiện Vì chúng hiện đang là công nghệ tiên tiến nhất trong một số nhiệm vụ trong lĩnh vực nhận dạng hình ảnh, nên người ta tin rằng chúng cũng phải là công cụ tiên tiến nhất trong ANPR
Hình 1.1: Minh họa biển số xe tại Việt Nam
1.2 Phạm vi của Luận văn
Vấn đề ANPR là một nhiệm vụ phức tạp với nhiều biến thể Hình ảnh có thể được chụp bằng camera màu, đen trắng hoặc hồng ngoại Hơn nữa, các quốc gia có các tiêu chuẩn khác nhau về biển số xe cho phép các màu nền khác nhau hoặc các họa tiết gây rối mắt trên biển số Số lượng chữ cái, số và khoảng trắng, vị trí của chúng
và phông chữ được sử dụng là những biến thể khác nhau giữa các quốc gia Một số biến thể này cũng được tìm thấy trong các quốc gia
Phạm vi của luận văn này là có thể phát hiện biển số xe xuất hiện ở các khu vực bãi giữ xe, các bến xe khách, trạm thu phí ở điều kiện lý tưởng về góc biển số, đủ
độ sáng và biển số xe ở trạng thái biến dạng ít Điều này có nghĩa là phần quan trọng nhất của hệ thống là có thể phát hiện biển số xe của Việt Nam với độ chính
Trang 28xác cao Một ví dụ về biển số Việt Nam được thể hiện trong Hình 1.1 Tuy nhiên, biển số nước ngoài và các biển số khác không theo mẫu tiêu chuẩn của biển số Việt Nam cũng nằm trong phạm vi của luận văn này khi chúng xuất hiện trên các các khu vực bãi giữ xe, các bến xe khách, trạm thu phí ở Việt Nam Những biển số này có thể khó phát hiện hơn đối với hệ thống ANPR vì tập huấn luyện có thể không chứa nhiều trường hợp tương tự và được xem như một bài kiểm tra xem hệ thống có khả năng tổng quát tốt như thế nào ngoài biển số Việt Nam tiêu chuẩn Mặc dù hầu hết các trường hợp sẽ là biển số Việt Nam, nhưng có một số biến thể gây ra khó khăn khi phát hiện và nhận dạng những biển số này được liệt kê dưới đây
1 Mẫu ký tự: Mẫu tiêu chuẩn cho biển số Việt Nam là
XXY - XXXXX trong đó X là một số, Y là một chữ cái và kí tự “-“ Tuy nhiên, biển số xe móc, xe máy và một số loại xe đặc biệt khác với mẫu này Một số biển số có định dạng 2 hàng như
XXY XXXXX
2 Màu nền: Màu trắng được sử dụng phổ biến nhất làm màu nền Tuy nhiên, các
loại xe đặc biệt có thể có màu nền khác Màu vàng được sử dụng cho xe dịch vụ, màu đỏ được sử dụng cho xe quân sự và màu xanh dương được sử dụng cho xe cơ quan nhà nước
3 Phông chữ: Biển số xe mới hơn sử dụng Myriad làm phông chữ, nhưng biển số
cũ hơn sử dụng một số phông chữ khác nhau
Vì hình ảnh của biển số xe không được chụp một cách hoàn hảo, một số kiểu khác của biển số có thể xuất hiện Chúng được liệt kê dưới đây
1 Vị trí: Tấm có thể nằm ở các phần khác nhau của hình ảnh
2 Kích thước: Kích thước của tấm so với hình ảnh được chụp đầy đủ khác nhau
Trang 29dựa trên khoảng cách camera và thu phóng
3 Xoay: Tấm có thể bị nghiêng tùy theo góc chụp ảnh
4 Che: Tấm có thể bị che khuất bởi những thứ ngoại cảnh, chẳng hạn như bụi bẩn
hoặc bùn,
5 Chất lượng hình ảnh: Chất lượng hình ảnh có thể thấp do thiết bị máy ảnh bị
mờ hoặc kém
6 Số lượng: Một hình ảnh có thể không được chụp, một hoặc nhiều tấm
7 Những thứ ảnh hưởng khác: Biển số có thể chứa khung và nhãn dán Biển số
Việt Nam từng có các nhãn dán cho biết phí xe hàng năm đã được thanh toán hay chưa, nhưng hoạt động này đã dừng lại vào năm 2012 Tuy nhiên, nhiều biển số xe vẫn được gắn chúng Cuối cùng, một số kiểu tác động từ môi trường được đưa ra bởi danh sách sau đây cũng có thể là một thách thức
1 Nền: Nền của ảnh được chụp có thể chứa các mẫu tương tự như biển số Văn
bản và các mẫu giống văn bản ở những nơi khác trong hình ảnh có thể bị nhầm lẫn với biển số
2 Các vật thể gây nhiễu: Các vật thể có thể gây nhiễu và che phủ một phần tấm
3 Độ sáng: Độ chiếu sáng có thể khác nhau tùy theo ánh sáng môi trường, đèn
camera hoặc đèn xe
4 Bóng: Các vật thể ở gần có thể đổ bóng lên biển số xe làm cho độ chiếu sáng
của một phần biển số khác với phần còn lại
Hình 1.2 cho thấy một số hình ảnh về các biển số xe đã chụp có các điều kiện khó khăn mà hệ thống ANPR sẽ cần xử lý
Trang 30Hình 1.2: Mốt số hình ảnh khó khăn khi nhận dạng biển số xe
Trang 311.3 Mục tiêu và Câu hỏi nghiên cứu
Mục tiêu nghiên cứu như sau:
Mục tiêu: Đề xuất và phát triển một hệ thống ANPR phù hợp với các ứng dụng trong thế giới thực bằng cách sử dụng các kỹ thuật học sâu và đánh giá xem nó đáp ứng các yêu cầu về tốc độ xử lý và độ chính xác dự đoán của nhiệm vụ ANPR ở mức độ nào
Mục tiêu chung của luận văn này là phát triển một hệ thống ANPR sử dụng các kỹ thuật học sâu có thể sử dụng cho các ứng dụng trong thế giới thực và đánh giá nó bằng cách so sánh nó với các phương pháp hiện có Các chỉ số đánh giá là tốc độ
xử lý và độ chính xác của dự đoán Ngoài ra, để làm cho một hệ thống như vậy khả thi cho các ứng dụng trong thế giới thực, nó không chỉ phải phát hiện và nhận dạng biển số xe mà còn phải xử lý các trường hợp có độ không chắc chắn cao Một hệ thống có độ chính xác dự đoán tổng thể cao, nhưng không có cách nào để cảnh báo người dùng nếu dự đoán được đưa ra với độ tin cậy thấp, trong trường hợp xấu nhất có thể trở nên vô dụng vì người dùng buộc phải kiểm tra thủ công tất cả các
dự đoán để tránh các dự đoán sai, dương tính giả Do đó, hệ thống được phát triển
sẽ tính toán độ tin cậy và tránh đưa ra dự đoán trong các trường hợp có xác suất dương tính giả cao
Mục tiêu này được chia thành ba câu hỏi nghiên cứu:
Câu hỏi nghiên cứu 1: Hệ thống được đề xuất có đáp ứng yêu cầu về độ chính xác
để giải quyết nhiệm vụ ANPR không?
Độ chính xác là số lượng biển số xe được dự đoán chính xác chia cho tổng số hình ảnh được đánh giá Các trường hợp mà hệ thống không đưa ra dự đoán mặc dù có biển số xe trong ảnh, được coi là dự đoán không chính xác
Để đủ độ chính xác của dự đoán, nó phải gần bằng hoặc bằng với độ chính xác của con người Không có nghiên cứu nào được tiến hành về mức độ chính xác của con người có thể dự đoán biển số xe và độ chính xác sẽ phụ thuộc vào độ khó của tập
Trang 32dữ liệu được sử dụng
Mức độ chính xác của con người khi đọc số nhà nhìn từ đường phố đã được thử nghiệm và là khoảng 96% [19] Việc đọc các ký tự trên biển số xe có thể dễ dàng hơn vì có ít biến thể về phông chữ, kích cỡ và màu sắc hơn số nhà Tuy nhiên, mọi
ký tự trong biển số xe cần được dự đoán chính xác để dự đoán đầy đủ về biển số
đó Mặc dù hầu hết các biển số xe đều có cùng một mẫu số và chữ cái, nhưng số và chữ thường có mối tương quan thấp với nhau, làm tăng khả năng con người mắc lỗi Luận văn này sẽ hoạt động với yêu cầu độ chính xác của dự đoán là 97% để đạt độ chính xác ở mức độ con người
Một cách khác để làm cho hệ thống phù hợp với các ứng dụng trong thế giới thực
là làm cho nó có thể cảnh báo khi cần sự hỗ trợ của con người Nếu nó yêu cầu thành công sự trợ giúp của con người khi cần thiết, yêu cầu về độ chính xác của dự đoán có thể được hạ xuống
Câu hỏi nghiên cứu 2: Hệ thống được đề xuất có đáp ứng yêu cầu về tốc độ xử lý
để làm việc với các ứng dụng trong thế giới thực không?
Tốc độ xử lý được xác định bằng tổng thời gian mà hệ thống sử dụng từ khi nhập hình ảnh đến biển số xe được dự đoán Nó thường được đo bằng khung hình trên giây (FPS) hoặc thời gian xử lý trên mỗi hình ảnh được đánh giá Các yêu cầu về tốc độ khác nhau dựa trên các ứng dụng mà nó sẽ được sử dụng Hai loại ứng dụng khác nhau sẽ được xem xét Đầu tiên là một ứng dụng mà hình ảnh cần được xử lý khi chúng được con người thực hiện, chẳng hạn như hệ thống thanh toán đậu xe được mô tả trước đó Xem xét thời gian phản hồi mà con người mong đợi, thời gian xử lý trong vài giây là đủ Loại ứng dụng thứ hai là các luồng video thời gian thực Các luồng video thời gian thực thường chạy ở 30 FPS, nhưng trong hầu hết các trường hợp, chỉ xử lý mỗi khung hình thứ hai hoặc thứ ba là đủ Do đó yêu cầu tối thiểu để chạy trong thời gian thực thường được đặt ở tốc độ khoảng 10-15 FPS
Câu hỏi nghiên cứu 3: Liệu hệ thống được đề xuất có thích ứng với một loạt các
Trang 33ứng dụng khác nhau trong thế giới thực không?
Kiến trúc cơ bản của hệ thống được đề xuất không nên được phát triển để giải quyết một trường hợp sử dụng cụ thể của nhiệm vụ ANPR, nhưng được phát triển
để giải quyết bất kỳ trường hợp sử dụng nào của nhiệm vụ ANPR Điều này không
có nghĩa là hệ thống cần phải có mục đích chung và giải quyết tất cả các trường hợp sử dụng mặc dù đây là kịch bản lý tưởng Nó có nghĩa là hệ thống, được cung cấp một tập huấn luyện mới đại diện cho một ca sử dụng mới, sẽ có thể tự thích ứng để giải quyết tốt nhiệm vụ mới Về cơ bản, độ chính xác dự đoán của hệ thống chỉ nên phụ thuộc vào mức độ tập hợp đào tạo đại diện cho tập kiểm tra chứ không phải bất kỳ tính năng thủ công nào được phát triển đặc biệt để giải quyết một ca sử dụng
1.4 Đóng góp
Những đóng góp sau đây đã được thực hiện trong luận văn này:
• Đóng góp chính của luận án này là một phương pháp mới bao gồm đào tạo lại hai mạng nơ-ron tích chập sâu ban đầu được phát triển cho mục đích của các nhiệm vụ nhận dạng trực quan chung, để giải quyết nhiệm vụ ANPR CNN đầu tiên phát hiện biển số xe trong hình ảnh trong khi CNN thứ hai phát hiện các ký tự trong biển số xe Phương pháp này rất khác với tất cả các phương pháp khác trước đây được sử dụng để giải quyết nhiệm vụ ANPR
• Phương pháp được đề xuất sử dụng trung bình 33ms để nhận dạng biển số xe không phụ thuộc vào độ phân giải hình ảnh, nhanh hơn tất cả các phương pháp khác trong tài liệu và đủ nhanh để chạy trên các luồng video thời gian thực, ghi lên đến 30 FPS mà không bị giảm khung hình
• Với một tập hợp đào tạo nhỏ gồm 559 hình ảnh, phương pháp được đề xuất đạt được độ chính xác dự đoán là 95,8% trên bộ thử nghiệm các ô tô đang đỗ, đó là tốt hơn đáng kể so với các phương pháp khác đã được thử nghiệm trước đây trên cùng một tập dữ liệu
Trang 341.5 Cấu trúc luận văn
Luận án được chia thành bảy chương Chương 1 thúc đẩy, mô tả phạm vi và mô tả các câu hỏi nghiên cứu của công trình này Chương 2 giải thích lý thuyết nền tảng cần thiết cho luận văn này Chương 3 trình bày các nghiên cứu có liên quan Chương 4 trình bày và thảo luận về các lựa chọn kiến trúc liên quan đến hệ thống được triển khai Chương 5 giải thích kiến trúc hệ thống Chương 6 trình bày thiết
kế và kết quả thí nghiệm Chương 7 thảo luận về các kết quả và kết luận
Trang 35CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Mạng nơ-ron hồi tiếp
Để hiểu các mạng nơ-ron tích chập, cần phải hiểu các mạng nơ-ron cơ bản hơn Đưa ra một kịch bản với một tập dữ liệu được gắn nhãn (𝑥𝑖, 𝑦𝑖), trong đó 𝑥𝑖 và 𝑦𝑖biểu thị đặc điểm thứ i và nhãn tương ứng
Mục tiêu là tìm một mô hình cơ bản để phù hợp với dữ liệu Trong trường hợp này,
có thể xem mạng nơ-ron như một cách để biểu diễn hàm phi tuyến 𝑓𝑤(𝑥), trong đó
𝑥 là đầu vào và 𝑊 là ma trận có thể được tham số hóa để phù hợp với dữ liệu Trong Hình 2.1, một mạng nơron đơn giản được hiển thị Bởi vì tất cả các kết nối đều hướng tới lớp đầu ra nên nó cũng là một mạng Feed-forward neural networks
Nó có hai nodes đầu vào, được ký hiệu là 𝑥11 và 𝑥12, và hai nodes đầu ra 𝑦31và
𝑦32 Đầu ra của mạng có thể được ký hiệu là (𝑦31, 𝑦32) = 𝑓𝑤(𝑥11, 𝑥12 )
Mạng nơ-ron thông thường có nhiều lớp: Một lớp đầu vào, không, một hoặc nhiều lớp ẩn và một lớp đầu ra Ngoại trừ các nơ-ron ở lớp đầu vào, mỗi nơ-ron là một đơn vị tính toán lấy các giá trị đầu vào từ lớp trước và xuất ra một giá trị cho lớp tiếp theo Một neuron ℎ𝑗 tính kết hợp tuyến tính có trọng số của các đầu vào đã cho cho neuron Điều này cũng bao gồm việc thêm một hệ số 𝑏𝑗 Về mặt hình thức, phép tính được đưa ra bởi
𝑜𝑗 = ∑ 𝑤𝑗𝑖𝑥𝑖+ 𝑏𝑗𝑛
𝑖=1
trong đó 𝑤𝑖𝑗 là trọng số giữa ℎ𝑗 và 𝑥𝑖 Bước cuối cùng là đưa 𝑜𝑗 vào một hàm kích hoạt phi tuyến 𝑓 Có nhiều hàm kích hoạt cho mạng nơ-ron và những hàm phổ biến nhất sẽ được thảo luận trong Phần 2.1.4 Công thức cuối cùng để tính ℎ𝑗 được đưa ra bởi
Trang 36Hình 2.1: Feedforward neural network
2.1.1 Loss function
Cho tập huấn luyện (𝑥𝑖, 𝑦𝑖) trước đó, việc phân loại 𝑦 theo 𝑥 dựa trên ma trận trọng số W Để giảm lỗi phân loại bằng cách sửa đổi các tham số này, cần có một hàm mất mát Hàm này đưa ra một thước đo về độ không chính xác của kết quả đầu ra so với lớp dữ liệu đào tạo mong muốn Nhìn chung, nó cung cấp tỷ lệ lỗi của mạng nơ-ron và thường được chuẩn hóa thành điểm từ 0 đến 1 để thể hiện khả năng mạng sẽ phân loại sai
Trang 37Hàm loss phổ biến nhất được sử dụng cho các bài toán hồi quy là lỗi bình phương trung bình (MSE) và đối với các bài toán phân loại, hàm mất mát entropy chéo [20] được sử dụng nhiều nhất MSE được cung cấp bởi
𝐸(𝑊) = 1
𝑁∑‖𝑡𝑖 − 𝑦𝑖‖2 𝑁
và nhãn của mẫu huấn luyện thứ ⅈ
2.1.2 Gradient descent
Mục tiêu thông qua quá trình training là giảm thiểu hàm mất mát 𝐸(𝑊) (loss function) đi bằng cách thay đổi không gian tìm kiếm weights tối ưu Điều này thường được tính toán lặp đi lặp lại bởi một quá trình được gọi là gradient descent Đối với mỗi bước, một thay đổi nhỏ được thực hiện bằng cách thêm ∆W, ký hiệu
𝑊𝑡+1 = 𝑊𝑡+ ∆𝑊𝑡, trong đó t là bước lặp Các giá trị của ∆𝑊𝑡 được xác định bởi thuật toán tối ưu hóa cụ thể được sử dụng Thay đổi tương ứng đối với hàm mất mát sẽ là
∆𝐸 ≈ ∆𝑊𝑇∇𝐸(𝑊) Bằng cách nhìn vào công thức cho ∆E, có thể thấy rằng nếu gradient ∇E (W) trở thành 0, ∆E cũng trở thành 0 và đã đạt đến mức tối ưu cục bộ Do đó, cũng biết rằng nếu mỗi bước lặp lại luôn làm giảm ∇E (W), thì nó sẽ đạt đến mức tối thiểu cục bộ Đối với hàm mất mát 𝐸(𝑊), điều này có nghĩa là khi ∇E (W) tiến tới 0, tỷ
lệ lỗi cũng tiến tới 0 Thuật toán tối ưu hóa sẽ dừng nếu ∇E (W) đáp ứng một ngưỡng nhất định hoặc sau một số lần lặp được xác định trước
Trang 382.1.3 Backpropagation
Sự lan truyền ngược (backpropagation) được sử dụng cùng với gradient descent khi mạng nơ-ron có nhiều hơn hai lớp Nếu một mạng nơ-ron chỉ có một lớp đầu vào và một đầu ra lớp, có thể dễ dàng điều chỉnh trọng số dựa trên sai số giữa giá trị đầu ra và giá trị mong muốn được tính bằng hàm mất mát Tuy nhiên, nếu mạng
có một hoặc nhiều lớp ẩn, lỗi cần được lan truyền ngược lại qua mạng Gradient lỗi
∇E(W) được tính toán cho mỗi lớp và trọng số (weights) và độ lệch (bias) được điều chỉnh cho phù hợp
Sự lan truyền ngược hầu như luôn được ưu tiên hơn các phương pháp thay thế khác như là phương pháp đào tạo có giám sát khi đầu ra mong muốn được biết đến Ưu điểm của quá trình này là các lớp ẩn giữa lớp đầu vào và đầu ra tự điều chỉnh theo cách mà các tế bào thần kinh khác nhau có thể nhận ra các mẫu khác nhau về các vectơ đầu vào Khi quá trình training kết thúc và một vectơ đầu vào không nhìn thấy mới có chứa nhiễu được cung cấp cho mạng, các nơ-ron trong các lớp ẩn sẽ kích hoạt nếu vectơ đầu vào mới chứa một mẫu mà mạng đã học nhận ra trong quá trình đào tạo Mẫu này có thể là một phần của đặc điểm tính năng lớn hơn cho một trong các lớp mà mạng cố gắng phân loại
Một hạn chế của giảm độ dốc với lan truyền ngược là nó không thể đảm bảo tìm thấy nghiệm tối ưu toàn cục, thay vào đó có thể tìm thấy nghiệm tối ưu cục bộ Điều này là do tính không lồi của hàm lỗi được sử dụng và được cho là một nhược điểm lớn của phương pháp này Tuy nhiên, một bài báo đánh giá vào năm 2015 của LeCun et al lập luận rằng trong nhiều bài toán thực tế, bao gồm cả các bài toán tương tự như bài toán ANPR, không phải như vậy [21]
2.1.4 Activation functions
Hàm kích hoạt là một phần quan trọng của mạng nơ-ron vì nó xác định đầu ra của một node được cung cấp trước một tập hợp các đầu vào Nó có thể được xem như
Trang 39một công tắc có thể bật hoặc tắt một nơ-ron tùy thuộc vào đầu vào nhất định Có
thể sử dụng các hàm tuyến tính đơn giản như hàm đồng nhất 𝑓(𝑥) = 𝑥, nhưng để
làm cho mạng nơron có khả năng xấp xỉ các hàm không lồi, cần sử dụng hàm kích
hoạt phi tuyến tính Chủ yếu có ba hàm kích hoạt phi tuyến tính, tất cả được thể
và trả về giá trị trong khoảng từ 0 đến 1 Đây là một sự bắt chước tốt khi một
nơ-ron bật hoặc tắt vì nó thường trả về các giá trị gần bằng 0 hoặc 1 Vấn đề chính là
gradient trên các phần đuôi đang biến mất Do đó, thuật toán lan truyền ngược hầu
như không sửa đổi các tham số và quá trình đào tạo bị chậm lại
Tiếp tuyến hyperbol (TanH) Hàm TanH được cho bởi
Trang 40và trả về 0 hoặc một giá trị thực dương Hàm ReLU đã được sử dụng nhiều trong những năm qua vì nó có một số ưu điểm quan trọng so với hàm sigmoid và tanh
Nó không bị vanishing gradient Nhờ đó, nó hội tụ nhanh hơn và đẩy nhanh quá trình đào tạo Nó cũng liên quan đến các phép toán rẻ hơn vì nó không tính toán hàm mũ đắt tiền Tuy nhiên, vì việc loại bỏ tất cả các giá trị âm, nó không phù hợp với tất cả các kiến trúc hoặc bộ dữ liệu
Tham số ReLU được cung cấp bởi
𝑓(𝑥) = 𝑚𝑎𝑥(𝑎𝑥, 𝑥 )
trong đó a ≤ 1 là hệ số rò rỉ Nó cho phép một gradient nhỏ khác 0 khi nơ-ron không hoạt động Nó hoạt động gần giống với ReLU bình thường, nhưng được chứng minh là hội tụ nhanh hơn một chút
∆𝑊𝑡+1 = 𝜇∇𝐸(𝑊𝑡) trong đó 𝛥𝑊𝑡+1 là sự thay đổi của không gian trọng lượng trong bước lặp t + 1 Theo trực giác, tốc độ học xác định một kích thước được sử dụng trong mỗi lần lặp Với learning rate cao, quá trình đạt đến nghiệm tối ưu cục bộ được tăng tốc, nhưng kích thước có thể quá lớn "vượt quá" nó Do đó, learning rate thấp nhất trong khi quá trình đào tạo được ưu tiên hơn vì nó ổn định quá trình hội tụ
2.1.6 Momentum
Bằng cách đưa vào một số hạng quán tính thay đổi α - momentum, việc điều chỉnh