CHƯƠNG 1: BÀI TOÁN NHẬN DIỆN BIỂN SỐ XE 1.1 TỔNG QUAN VỀ BÀI TOÁN NHẬN DIỆN ĐỐI TƯỢNG − Nhận diện đối tượng không còn là bài toán xa lạ trong lĩnh vực Thị giác máy tính. Mục đích của nó là xác định những vật thể có trong ảnh hoặc video và cho biết tên gọi của vật thể đó. − Để nhận dạng và phân loại một đối tượng, ta cần nhìn vào những đặc trưng nhất định nào đó của nó như: mắt, mũi,… khi nhận diện đối tượng là con người.1: Kết quả của bài toán Nhận diện đối tượng [1] − Có hai hướng tiếp cận chính khi thực hiên một bài toán Nhận diện đối tượng: [1] • Tự tạo và huấn luyện mô hình: Ta cần thiết kế một kiến trúc mạng để học các đặc trưng từ các đối tượng muốn nhận diện. Bên cạnh đó, chọn một bộ dữ liệu đủ lớn có chứa các nhãn cũng là một vấn đề quan trọng trong việc huấn luyện mô hình.
Ở cách này, ta cần cấu hình thủ công các lớp và các trọng số của mô hình nên đòi hỏi nhiều thời gian huấn luyện. • Sử dụng một mô hình đã được huấn luyện trước: Hiện nay, có khá nhiều mô hình Nhận diện Đối tượng đã được huấn luyện sẵn trên một bộ dữ liệu lớn, ta có thể sử dụng lại nó và huấn luyện tiếp tục trên tập dữ liệu mới của mình để cập nhật các trọng số của mô hình.2 BÀI TOÁN NHẬN DIỆN BIỂN SỐ XE − Bài toán Nhận diện biển số xe (License Plate Recognition – LPR) có thể được xem là con của bài toán Nhận diện đối tượng. Đây là một phần quan trọng trong lĩnh vực thị giác máy tính và trí tuệ nhân tạo. − Mục tiêu chính của bài toán này là phân tích, tự động nhận diện và trích xuất thông tin từ biển số xe trong ảnh hoặc video.2: Kết quả của bài toán Nhận diện biển số xe [2] 1.1 Biển số xe việt nam − Ở Việt Nam, biển số xe là một tấm gắn trên mỗi xe cơ giới, được cấp bởi cơ quan công an khi mua xe mới hoặc chuyển nhượng xe.
Nó chứa các thông tin như vùng và địa phương quản lý, loại phương tiện, số đăng ký và các thông tin khác như danh tính người sở hữu, thời gian mua xe,… [3] − Bên cạnh việc phân biệt biển số xe dựa vào các con số và chữ cái, ta còn sử dụng màu sắc để phân loại nó. Ví dụ: biển màu trắng chữ đen đại diện cho cá nhân và doanh nghiệp, biển màu xanh dương chữ màu trắng đại diện cho các cơ quan hành chính,… − Màu sắc của biển số có thể kết hợp với các yếu tố khác như hình dạng và kích thước để phân biệt giữa các loại phương tiện và tổ chức sở hữu khác nhau. Ví dụ: biển số xe quân đội ngoài màu đỏ ra thì còn các đặc điểm khác như hình chữ nhật có góc cạnh đậm, kiểu chữ đặc biệt hoặc các biểu tượng quân đội,… [3] 4 1.2 Quy trình chung của bài toán Nhận diện biển số xe − Bài toán Nhận diện biển số xe được đề ra với mục đích xử lý hình ảnh đầu vào chứa biển số xe và chuyển nó thành dạng ký tự để lưu và quản lý chúng nhằm phục vụ cho những ứng dụng cụ thể hơn. − Quy trình chung của hệ thống nhận diện biển số xe gồm những giai đoạn sau: Hình 1.3: Quy trình chung của hệ thống nhận diện biển số xe [3] • Xe vào: xe chạy đến vùng quan sát của camera.
Điều này có thể xảy ra ở cổng vào của một khu vực đỗ xe, xe chạy ngang qua một camera trên đường quốc lộ,… • Camera: hình ảnh xe được chụp từ camera sẽ gửi về máy tính xử lý. • Tiền xử lý ảnh: hình ảnh sau đó được trải qua các công đoạn nhằm cải thiện chất lượng ảnh và làm cho biển số nổi bật hơn phục vụ cho nhu cầu nhận diện ký tự như: cân bằng độ sáng, làm nổi đường biên, giảm nhiễu,… • Trích xuất vùng biển số xe: sử dụng mô hình học máy hoặc học sâu để phát hiện vị trí của biển số xe trong hình ảnh hoặc video đầu vào. Các mô hình YOLO, Faster R-CNN hoặc SSD thường được sử dụng ở giai đoạn này. • Nhận dạng biển số xe: sau khi vùng chứa biển số xe đã được xác định, hệ thống sử dụng mô hình nhận dạng ký tự để đọc các ký tự trên biển số.
Các mô hình OCR (Optical Character Recognition), CNN thường được tích hợp vào giai đoạn này để đọc thông tin từ biển số.3 CÁC CÔNG TRÌNH, ỨNG DỤNG LIÊN QUAN ĐẾN BÀI TOÁN NHẬN DIỆN BIỂN SỐ XE 1.1 Hệ thống nhận diện biển số xe thông minh ParkingX − Hệ thống nhận diện biển số xe thông minh ParkingX do công ty VTI Solutions phát triển nhằm cung cấp các giải pháp toàn diện cho việc quản lý bãi giữ xe một cách tự động. − ParkingX được thiết kế với nhiều ưu điểm nổi bật: [4] • Nhận diện chính xác và nhanh chóng: Hệ thống sử dụng công nghệ AI tiên tiến, có khả năng nhận diện chính xác đến 99.97% các ký tự có trên biển số xe, bất 5 chấp điều kiện khắc nghiệt như: thiếu sáng, biển số cũ, bụi bẩn,… Các thao tác nhận diện được thực hiện một cách nhanh chóng với thời gian nhỏ hơn 0.7 giây, đảm bảo đáp ứng lượng phương tiện truy cập cùng lúc trong giờ cao điểm. • Quản lý tự động: Xe ra vào bãi được ghi nhận biển số, mở cửa barrier, lưu lại biển số và hiển thị thông tin chủ xe một cách tự động, giúp tối ưu hóa nguồn nhân lực dành cho việc quản lý bãi giữ xe, đồng thời nâng cao hiệu suất làm việc. • Khả năng xuất báo cáo dữ liệu trực quan: Hệ thống cung cấp chức năng xuất báo cáo dữ liệu tổng quan cho bãi giữ xe, bao gồm các thông tin: tổng số phương tiện, tần suất ra vào, số lượng nhân viên và số lượng khách.
Việc này giúp người quản lý nắm bắt được tình hình hoạt động của bãi, đánh giá hiệu quả hoạt động và lập kế hoạch phát triển cho bãi giữ xe trong tương lai. • Phát triển mở rộng: Ứng dụng dễ dàng tích hợp với các hệ thống quản lý bãi giữ xe ở nhà máy, văn phòng, trung tâm thương mại,… Cung cấp API để truy cập và quản lý dữ liệu từ xa một cách tiện lợi. − Kiến trúc của một hệ thống ParkingX bao gồm: [4] • Hệ thống cảm biến • Hệ thống camera • Hệ thống quẹt thẻ • Hệ thống barrier • Hệ thống đèn • Hệ thống loa báo động Hình 1.4: Kiến trúc của hệ thống ParkingX [4] 6 1.2 Công nghệ ANPR − Công nghệ nhận diện biển số xe tự động (Automated Number Plate Recognition – ANPR) là một giải pháp khá phổ biến đang được sử dụng trên toàn cầu. Công nghệ này cho phép cảnh sát phát hiện được các xe ô tô có dấu hiệu vi phạm trong việc làm giả hoặc che mờ biển số xe, từ đó tiến hành theo dõi một cách đặc biệt hơn.
[5] − Hệ thống ANPR sử dụng các camera công nghệ cao cùng với camera hồng ngoại để lưu trữ và nhận diện biển số xe trong thời gian thực và tăng độ chính xác khi ghi hình vào ban đêm. − Quy trình hoạt động của ANPR bao gồm các bước sau: [5] • Ghi hình phương tiện: Các camera ghi lại hình ảnh của xe từ nhiều góc độ khác nhau. • Nhận diện biển số: Hình ảnh biển số xe được chuyển đổi thành văn bản bằng công nghệ nhận diện ký tự quang học (OCR). • Mã hóa và nhận diện ký tự: Dữ liệu văn bản này sau đó được mã hóa và nhận diện để đối chiếu với cơ sở dữ liệu, từ đó cung cấp các thông tin như: chủ sở hữu xe, giấy phép lái xe,… Hình 1.5: Mô phỏng quy trình nhận dạng bằng ANPR [5] 7 CHƯƠNG 2: CÁC MÔ HÌNH HỌC SÂU QUAN TRỌNG 2.1 MÔ HÌNH CNN 2.1 Tìm hiểu tổng quan về mô hình CNN − CNN là viết tắt của Convolutional Neural Network, nghĩa là Mạng nơ-ron tích chập.
Đây là một mô hình tiêu biểu để giải quyết các bài toán về thị giác máy tính trong thế giới Deep Learning (Học Sâu), được lấy cảm hứng từ cách hoạt động của bộ não con người, bắt chước cách các tế bào thần kinh sinh học truyền tín hiệu cho nhau. [6] − CNN có tính ứng dụng cao, được sử dụng nhiều trong các bài toán nhận dạng hình ảnh (Object Detection), phát triển xe tự lái, giao hàng tự động,… Hiện nay, các công ty lớn như Facebook, Google hay Amazon đã đưa mô hình này vào quy trình sản xuất các sản phẩm của mình.2 Cấu trúc mô hình CNN Mô hình CNN gồm có các lớp cơ bản: Convolutional layer, Relu layer, Pooling layer và Fully connected layer.1: Cấu trúc mô hình CNN [7] 2.1 Convolutional Layer − Đây là lớp quan trọng nhất và cũng là lớp đầu tiên tiếp nhận đầu vào của mô hình CNN, chịu trách nhiệm thực hiện các tính toán để phát hiện ra đặc trưng của đầu vào. − Tầng này nhận đầu vào là một ma trận 3 chiều và một filters (bộ lọc) để học. Bộ filters này sẽ trượt qua từng vị trí trên bức ảnh để tính tích chập.
Tích chập có nghĩa là nhân các giá trị của filters theo từng phần tử với phần tương ứng trên ma trận ban đầu, sau đó tính tổng chúng lại để tạo thành một bộ feature map mới. Mỗi giá trị trong bộ feature map này thể hiện mức độ phù hợp hoặc đặc trưng của filters tại một vị trí cụ thể trên dữ liệu đầu vào. [6][7] 8 Ví dụ 1: Tính tích chập với filters 3 x 3 trên ma trận 2D 5 x 5 để tạo ra ma trận mới có kích thước 3 x 3.2: Minh họa việc áp dụng filters trên ma trận đầu vào [6] Ví dụ 2: Phát hiện đặc trưng cụ thể của ảnh. Ở đây ta có một filter 5 x 5 dùng để phát hiện góc cong, nó sẽ có giá trị 1 tại các điểm tương ứng của một góc cong.3: Minh họa việc áp dụng filter để xác định góc cong của ảnh [7] 2.2 Relu Layer − Tầng này được biết đến với một tên gọi khác là activation function (hàm kích hoạt).
Nhiệm vụ của nó là mô phỏng các nơ-ron có thể truyền qua axon, bên cạnh đó còn giúp tính toán đơn giản và cho kết quả tốt hơn. Tầng này nằm ngay sau tầng Convolution, Relu sẽ gán những giá trị âm bằng 0 và giữ nguyên những giá trị lớn hơn 0. [8] − Tuy nhiên, khi sử tầng Relu ta cũng nên chú ý vì nó không có đạo hàm tại điểm 0.