Tải bản đầy đủ (.pdf) (80 trang)

Ứng dụng deep learning để nhận diện biển số xe ra vào trong một tòa nhà

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (10.59 MB, 80 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM

TRỊNH THỊ HOÀNG OANH

ỨNG DỤNG DEEP LEARNING ĐỂ NHẬN DIỆN BIỂN SỐ XE
RA VÀO TRONG MỘT TỊA NHÀ

LUẬN VĂN THẠC SĨ
HỆ THỐNG THƠNG TIN

Đà Nẵng - Năm 2023


ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM

TRỊNH THỊ HOÀNG OANH

ỨNG DỤNG DEEP LEARNING ĐỂ NHẬN DIỆN BIỂN SỐ XE
RA VÀO TRONG MỘT TỊA NHÀ

Chun ngành: Hệ thống thơng tin
Mã số: 84.80.104

LUẬN VĂN THẠC SĨ

NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. VŨ THỊ TRÀ

Đà Nẵng - Năm 2023








v

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................ i
LỜI CẢM ƠN ................................................................................................................. ii
TÓM TẮT...................................................................................................................... iii
ABSTRACT .................................................................................................................. iv
MỤC LỤC .......................................................................................................................v
DANH MỤC CÁC TỪ VIẾT TẮT .............................................................................. vii
DANH MỤC BẢNG ................................................................................................... viii
DANH MỤC HÌNH ẢNH ............................................................................................. ix
MỞ ĐẦU .........................................................................................................................1
1. Lý do chọn đề tài ................................................................................................1
2. Mục tiêu và nhiệm vụ đề tài ...............................................................................2
3. Đối tƣợng và phạm vi nghiên cứu ......................................................................2
4. Phƣơng pháp nghiên cứu ....................................................................................2
5. Ý nghĩa thực tiễn của đề tài ................................................................................2
6. Kết quả đạt đƣợc .................................................................................................3
7. Cấu trúc của luận văn..........................................................................................3
CHƢƠNG 1. CƠ SỞ LÝ THUYẾT .............................................................................4
1.1. Các khái niệm chung ..............................................................................................4
1.2. Bài toán nhận dạng biển số xe ...............................................................................5
1.2.1. Khái niệm nhận dạng biển số xe ...................................................................5
1.2.2. Lịch sử hình thành và phát triển ...................................................................5

1.2.3. Cách thức hoạt động của hệ thống ................................................................6
1.2.4. Phân loại các ứng dụng nhận dạng biển số xe ..............................................6
1.2.5. Một số đặc điểm để nhận dạng biển số xe tại Việt Nam ..............................6
1.3. Kỹ thuật học sâu để nhận dạng và phân loại đối tƣợng .....................................9
1.3.1. Kỹ thuật mạng nơ-ron tích chập (CNN) .......................................................9
1.3.2. Một số kỹ thuật tìm kiếm xác định vị trí vật thể trong ảnh sử dụng mạng
CNN ...............................................................................................................................12
1.4. Phƣơng pháp nhận dạng ký tự trong biển số xe ................................................23
1.4.1. Phƣơng pháp hình thái học (morphology) ..................................................23
1.4.2. Phƣơng pháp mạng nơron (neuron network) ..............................................23
1.4.3. Phƣơng pháp so khớp mẫu..........................................................................23
1.5. Kết chƣơng 1 .........................................................................................................23
CHƢƠNG 2. GIẢI PHÁP NHẬN DẠNG BIỂN SỐ XE .........................................24
2.1. Sử dụng cơng nghệ YOLOv4 áp dụng cho bài tốn ..........................................24
2.1.1. Cấu trúc nhận diện vật thể của YOLOv4....................................................24


vi

2.1.2. Backbone ....................................................................................................25
2.1.3. Neck ............................................................................................................27
2.1.4. Head ............................................................................................................29
2.1.5. Quy trình phát hiện, nhận dạng biển số xe .................................................30
2.2. Sử dụng phƣơng pháp nhận dạng ký tự quang học áp dụng cho bài toán .....30
2.2.1. Lịch sử ........................................................................................................30
2.2.2. Cấu trúc của Tesseract ................................................................................31
2.2.3. Xác định dòng và từ ....................................................................................32
2.3. Kết chƣơng 2 .........................................................................................................34
CHƢƠNG 3. THỰC NGHIỆM NHẬN DẠNG BIỂN SỐ XE ................................35
3.1. Bài toán nhận dạng biển số xe .............................................................................35

3.2. Xây dựng chƣơng trình thực nghiệm .................................................................35
3.2.1. Cài đặt chƣơng trình chạy ...........................................................................35
3.2.2. Chuẩn bị dữ liệu ..........................................................................................36
3.2.3. Huấn luyện model trên Colab .....................................................................39
3.3. Kết quả đạt đƣợc ..................................................................................................49
3.4. Kết chƣơng 3 .........................................................................................................50
KẾT LUẬN VÀ KIẾN NGHỊ .....................................................................................51
DANH MỤC TÀI LIỆU THAM KHẢO ...................................................................52


vii

DANH MỤC CÁC TỪ VIẾT TẮT
AI
ANPR
CNN
CSDL
FPN
KNN
OCR
PAN
SPP
SSD
SVM
THPT
YOLO

Artificial Intelligence
Automatic Number Plate Recognition
Convolutional Neural Network

Cơ sở dữ liệu
Feature Pyramid Network
K-Nearest Neighbor
Optical Character Recognition
Path Aggregation Network
Spatial Pyramid Pooling
Single Shot MultiBox Detector
Support Vector Machine
Trung học phổ thông
You only look once


viii

DANH MỤC BẢNG
Số hiệu
bảng

Tên bảng

Trang

1.1.

Bảng biển số xe của 63 tỉnh thành

7

3.1.


Nhận diện vùng chứa biển số xe

50

3.2.

Nhận diện biển số xe ở điều kiện khác nhau

50


ix

DANH MỤC HÌNH ẢNH
Số hiệu

Tên hình ảnh

hình ảnh
1.1.

Mối quan hệ giữa trí tuệ nhân tạo, Machine Learning,

Trang
Deep

Learning

4


1.2.

Cấu trúc của CNN. Nguồn www.mathworks.com

9

1.3.

Mơ tả q trình nhận diện vật thể qua các lớp tích chập

10

1.4.

Minh họa lớp tích chập

11

1.5.

Max pooling.

12

1.6.

Phép flatten đƣa tensor về thành 1 vector

12


1.7.

Xác định vị trí nhiều đối tƣợng trong ảnh

13

1.8.

Output sau khi thực hiện Graph Based Image Segmentation

14

1.9.

Các bƣớc của thuật toán R-CNN

14

1.10.

Khung ranh giới xác định đối tƣợng chim

15

1.11.

Phát hiện, định vị và phân loại nhiều đối tƣợng

15


1.12.

Kiến trúc một output của model YOLO

16

1.13.

Các feature map của mạng YOLO

17

1.14.

Xác định anchor box cho một vật thể

18

1.15.

Minh hoạ dự đốn bounding box đối tƣợng

19

1.16.

Non-max suppression

20


1.17.

Mơ hình so sánh hiệu suất giữa YOLOv4 và các bộ phát hiện đối
tƣợng tiên tiến khác

22

2.1.

So sánh tốc độ xử lý và độ chính xác của YOLOv4 với các cơng
nghệ khác trong cùng tập dữ liệu MS COCO. Có thể thấy so với
YOLOv3 với cùng một FPS (Frame per Second) YOLOv4 cho độ

24

chính xác (AP) cao hơn hẳn.
2.2.

Cấu trúc nhận diện vật thể của YOLOv4

25

2.3.

Sự khác biệt giữa mạng DenseNet và mạng CSPDenseNet.

25

2.4.


Q trình lấy Batch-Norm, ReLU, tích chập với filter 3x3 của 1 lớp

26

2.5.

Q trình ghép chồng lớp tích chập phía trƣớc vào lớp tích chập phía
sau

26

2.6.

Mơ hình DenseNet với 3 khối Dense Block và các lớp chuyển chèn
giữa

26

2.7.

Mơ hình tích chập Darknet-53 gồm 53 tầng tích chập

27

2.8.

Mơ hình FPN

27



x

Số hiệu

Tên hình ảnh

hình ảnh

Trang

2.9.

Mơ hình YOLO-SPP

28

2.10.

Mơ hình mạng PAN

28

2.11.

Thay vì thực hiện cộng nhƣ mơ hình PAN, YOLOv4 thực hiện phép
gộp

29


2.12.

ROI sẽ đi qua mạng SPP để thu đƣợc prediction

29

2.13.

Quy trình các bƣớc triển khai mơ hình thực hiện:

30

2.14.

Cấu trúc Tesseract

31

2.15.

Hình biển số xe test33.jpg

32

2.16.

Chạy Tesseract

32


2.17.

Kết quả chạy Tesseract

32

2.18.

Ví dụ về cắt các ký tự bị dính

33

2.19.

Q trình nhận dạng từ

33

3.1.

Quy trình nhận dạng biển số xe

35

3.2.

Hình ảnh biển số xe thu thập từ nhiều nguồn

36


3.3.

Hình ảnh cơng cụ gán nhãn

37

3.4.

Hình ảnh dữ liệu đã đƣợc gán nhãn và lƣu trong tập tin obj.zip

38

3.5.

Hình ảnh Khởi tạo Google Colab

39

3.6.

Nhập các bloack code thực thi hoặc block text

40

3.7.

Thay đổi thông tin trong chức năng ―Runtime‖ của Notebook

40


3.8.

Cập nhật giá trị thanh ―GPU‖ trong Notebook settings

41

3.9.

Kiểm tra cấu hình GPU trên Google Colab

41

3.10.

Gắn kết ổ đĩa từ Google Colab vào Google Drive

42

3.11.

Xác thực dữ liệu

42

3.12.

Thực hiện gắn kết ổ đĩa Google Colab và Google Drive

42


3.13.

Thực hiện tải mã nguồn darknet để huấn luyện YOLOv4

43

3.14.

Mã nguồn darknet đƣợc tải và lƣu thành công trên Google Drive

43

3.15.

Thực hiện giải nén file data.zip

44

3.16.

Tạo file chứa tên class đối tƣợng muốn huấn luyện

44

3.17.

Đoạn code tạo 2 file train.txt và valid.txt

44


3.18.

Hai file train.txt và val.txt đƣợc tạo ra trong thƣ mục data

45

3.19.

Tạo file yolo.data trong thƣ mục darknet/data

45

3.20.

Biên dịch mã nguồn darknet bằng lệnh make

45

3.21.

Phân quyền thực thi

45


xi

Số hiệu

Tên hình ảnh


hình ảnh

Trang

3.22.

Tải file weights đã đƣợc huấn luyện sẵn

46

3.23.

Màn hình huấn luyện

46

3.24.

Danh sách các file weights đƣợc lƣu

46

3.25.

Các file weights đƣợc sinh ra khi huấn luyện mô hình YOLOv4

47

3.26.


Theo dõi quá trình huấn luyện

47

3.27.

Biểu đồ quá trình huấn luyện

47

3.28.

Kết quả thu đƣợc

48

3.29.

Kết quả đạt đƣợc

49


1

MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, nền kinh tế phát triển cùng với các bƣớc tiến vƣợt bậc trong cơng nghệ
thì nhu cầu bảo vệ tài sản của con ngƣời cũng ngày một tăng cao. Vì vậy việc đỗ, đậu

xe và bảo vệ phƣơng tiện một cách an tồn, nhanh chóng cũng là một trong những vấn
đề bức thiết. Bên cạnh đó, với sự mở rộng đa dạng các phƣơng tiện giao thông nhƣ xe
máy, xe mô tô, xe ô tô… khiến cho việc đỗ xe cũng trở nên q tải và khó kiểm sốt.
Một trong những địa điểm có nhiều xe ra vào có thể kể đến nhƣ chung cƣ, siêu thị,
bệnh viện hay thiết thực nhất phải kể đến trƣờng học, một nơi có lƣợng lớn xe ra vào
thƣờng xuyên và khó theo dõi.
Do đó vấn đề đặt ra cho các chủ quản lý toà nhà chung cƣ, siêu thị hay trƣờng
học là làm thế nào để bãi đỗ xe của mình hoạt động hiệu quả nhất; trong đó bao gồm
việc kiểm sốt ra vào, bảo mật thông tin tài sản, và thời gian ký gửi nhanh chóng.
Cơng nghệ phát triển, đã có nhiều phát minh tiên tiến trong việc gửi xe, sốt vé nhƣng
tình trạng q tải, khó kiểm sốt vẫn thƣờng xun xảy ra.
Chắc chắn một điều rằng, sử dụng các thiết bị công nghệ thay thế cho sức lao
động con ngƣời là điều hết sức thông minh và khoa học. Nhƣng việc sử dụng công
nghệ sao cho hiệu quả nhất trong quản lý vẫn là một bài toán nan giải trong thời điểm
hiện nay. Cụ thể hơn ở môi trƣờng giáo dục, hàng ngày có thể kể đến hàng nghìn
phƣơng tiện ra vào, làm thế nào để ngƣời sốt vé/bảo vệ có thể thuận tiện nhất trong
quá trình quản lý phƣơng tiện của học sinh, sinh viên hoặc giáo viên?
Bên cạnh đó, các bãi giữ xe thƣờng chia làm nhiều khu vực tuỳ theo loại phƣơng
tiện khác nhau, hệ thống giữ xe hiện nay vẫn chƣa có chức năng tìm kiếm khu vực còn
trống. Điều này dẫn đến hiện trạng ùn tắc kéo dài, đặc biệt là vào các giờ cao điểm,
khiến cho ngƣời quản lý mất khá nhiều thời gian để xác định thơng tin xe cũng nhƣ vị
trí đậu đỗ, tìm kiếm phƣơng tiện khi quên khu vực để xe ban đầu. Có thể nói, bài tốn
đặt ra phù hợp với xu hƣớng tiến bộ bây giờ là làm thế nào để phƣơng tiện đậu đỗ một
cách nhanh chóng, đúng vị trí và khoa học. Ngồi ra, một vấn cần phải bàn đến đó là
chức năng hỗ trợ quản lý nhà xe, bao gồm việc xác minh tài sản của chủ sở hữu thông
qua biển số xe và thời gian ra vào tồn nhà… vẫn chƣa đƣợc thực thi có hiệu quả. Từ
đó, dẫn đến tình trạng mất khá nhiều thời gian để xác minh tài sản nhƣ kiểm tra
camera, đối chiếu các giấy tờ liên quan nhƣ giấy tờ xe, chứng minh nhân dân,... Vậy,
làm thế nào để hỗ trợ chủ sở hữu có thể tìm kiếm phƣơng tiện của mình một cách
nhanh chóng trong bãi đỗ xe?

Chính vì những lí do đó tơi chọn để tài ―Ứng dụng Deep Learning để nhận diện
biển số xe ra vào trong một tịa nhà” làm luận văn tốt nghiệp của mình.


2

2. Mục tiêu và nhiệm vụ đề tài
2.1. Mục tiêu
- Đề xuất giải pháp nhận diện biển số xe ra vào tòa nhà.
- Xây dựng cơ sở dữ liệu phục vụ cho việc nhận diện biển số xe.
- Tìm hiểu bài toán nhận diện biển số xe, nghiên cứu các phƣơng pháp nhận
diện biển số xe, lựa chọn phƣơng pháp cho bài toán nhận diện và ứng dụng thực tế.
2.2. Nhiệm vụ
- Tìm hiểu về Machine Learning, Deep Learning.
- Tìm hiểu bộ thƣ viện cài đặt cho mơ hình Deep Learning.
- Tìm hiểu về dữ liệu thực tế (Cụ thể bài tốn thực tế).
- Sử dụng cơng cụ nhận diện để đánh nhãn xe.
- Huấn luyện và xây dựng chƣơng trình thử nghiệm bài tốn ứng dụng.
- Xây dựng hệ thống nhận diện biển số xe bằng công nghệ Yolo và thƣ viện
Tesseract.
3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Các phƣơng pháp của Deep Learning trong nhận dạng biển số xe.
- Lý thuyết về mạng nơron và deep learning.
- Tìm hiểu về nhận diện biển số xe bằng công nghệ Yolo.
- Công cụ Pycharm, Colab, các thƣ viện OpenCV, …
3.2. Phạm vi nghiên cứu
- Hình ảnh biển số xe trong các bãi đỗ xe ở các tòa nhà, trƣờng THPT Thái
Phiên.
- Nghiên cứu các phƣơng pháp nhận diện biển số xe.

4. Phƣơng pháp nghiên cứu
Về phƣơng pháp nghiên cứu, tôi sử dụng hai phƣơng pháp chính là nghiên cứu lý
thuyết và nghiên cứu thực nghiệm.
4.1. Phương pháp lý thuyết
Thu thập, chọn lọc, phân loại, ghi chú và nghiên cứu các tài liệu (sách, bài báo,
luận văn, trang web) có liên quan đến Deep Learning, các bài toán Deep Learning
trong nhận diện biển số xe ra vào trong một tòa nhà, trƣờng học.
4.2. Phương pháp thực nghiệm
- Thu thập dữ liệu mẫu.
- Huấn luyện dữ liệu.
- Cài đặt, thử nghiệm, đánh giá kết quả.
5. Ý nghĩa thực tiễn của đề tài


3

Kết quả nghiên cứu của đề tài góp phần mở rộng lĩnh vực ứng dụng phƣơng pháp
nhận diện biển số xe tại các bãi đậu xe, hoặc phát triển dò tìm biển số xe đƣa ra vị trí
để xe của khách hàng, kiểm soát các phƣơng tiện, …
6. Kết quả đạt đƣợc
6.1. Lý thuyết
- Hiểu đƣợc các phƣơng pháp nhận diện biển số xe.
- Khái quát về xử lý ảnh, cách phát hiện vùng chứa biển số xe.
- Bài toán nhận dạng ký tự.
6.2. Thực tiễn
Xây dựng chƣơng trình Demo nhận dạng biển số xe từ hình ảnh.
Ứng dụng phƣơng pháp nhận diện biển số xe để tự động hóa hoạt động trích
xuất, thống kê, phân loại, phân tích thơng tin số lƣợng xe dựa trên nền tảng trí tuệ nhân
tạo từ đó xác định vị trí đậu/đỗ và tìm kiếm phƣơng tiện một cách nhanh chóng.
7. Cấu trúc của luận văn

Ngoài phần mở đầu và kết luận, cấu trúc nội dung của luận văn bao gồm 3
chƣơng:
Chương 1: Cơ sở lý thuyết
Chƣơng này nghiên cứu tổng quan về bài toán nhận diện biển số xe, các hƣớng
tiếp cận giải quyết bài toán, các kỹ thuật áp dụng cho phát hiện và nhận diện đối
tƣợng.
Chương 2: Giải pháp nhận diện biển số xe khi ra vào tòa nhà
Giới thiệu về công nghệ Yolo và phƣơng pháp nhận diện ký tự quang học sử
dụng mã nguồn mở Tesseract. Kết hợp hai phƣơng pháp này để áp dụng cho bài toán
phát hiện, nhận dạng biển số xe ra vào tòa nhà, trƣờng học.
Chương 3: Thực nghiệm, đánh giá
Tác giả đã xây dựng bộ dữ liệu thử nghiệm, xây dựng mơ hình nhận diện biển số
xe, huấn luyện đánh giá kết quả đạt đƣợc.


4

CHƢƠNG 1. CƠ SỞ LÝ THUYẾT
1.1. Các khái niệm chung
Xử lý ảnh: Xử lý ảnh là phƣơng pháp chuyển đổi hình ảnh sang dạng số và thực
hiện một số hoạt động trên đó để nâng cao chất lƣợng hình ảnh hoặc trích xuất một số
thơng tin hữu ích từ hình ảnh đó. [15]
Trí tuệ nhân tạo (AI): Có thể đƣợc định nghĩa nhƣ một ngành của khoa học
máy tính liên quan đến việc tự động hóa các hành vi thơng minh, tạo ra đƣợc một cổ
máy có thể bắt chƣớc hành vi và tƣ duy của con ngƣời. [3] [15]
Học máy (Marchine Learing): Học máy là một ứng dụng trí tuệ nhân tạo cung
cấp cho hệ thống khả năng tự động học hỏi và cải thiện hiệu suất, độ chính xác dựa
trên những kinh nghiệm từ dữ liệu đầu vào, tập trung vào việc phát triển phần mềm,
chƣơng trình máy tính có thể truy cập vào dữ liệu và tận dụng nguồn dữ liệu đó để tự
học.

Học sâu (Deep Learing): là một chức năng của trí tuệ nhân tạo, bắt chƣớc hoạt
động của bộ não con ngƣời cho việc sử dụng. Một bƣớc tiến dài của Machine
Learning, cho phép máy có thể tự đào tạo chính mình. Hãy suy nghĩ về nó nhƣ là một
loại machine learning với "mạng thần kinh - neural networks" sâu có thể xử lý dữ liệu
theo cách tƣơng tự nhƣ một bộ não con ngƣời có thể thực hiện. Điểm khác biệt chính ở
đây là con ngƣời sẽ khơng phải dạy cho một chƣơng trình deep learning cách để biết
một con mèo trông nhƣ thế nào, mà chỉ cần cung cấp cho nó đủ hình ảnh cần thiết về
lồi mèo, và nó sẽ tự mình hình dung, tự học. [15]

Hình 1.1: Mối quan hệ giữa trí tuệ nhân tạo, Machine Learning,
Deep Learning [15]


5

1.2. Bài toán nhận dạng biển số xe
1.2.1. Khái niệm nhận dạng biển số xe
Hệ thống nhận dạng biển số xe là hệ thống có khả năng phân tích hình ảnh và xác
định vùng chứa biển số trên xe, thông qua video, thiết bị ghi hình và hình ảnh. Sau
cùng là xác định các thông tin nhƣ: chủ sở hữu xe, theo đời xe với tốc độ chậm, …
1.2.2. Lịch sử hình thành và phát triển
ANPR đƣợc phát minh vào năm 1976 tại Chi nhánh Phát triển Khoa học Cảnh sát
ở Anh. Các hệ thống nguyên mẫu đã hoạt động vào năm 1979 và các hợp đồng đã
đƣợc trao để sản xuất các hệ thống công nghiệp, đầu tiên là tại EMI Electronics, và sau
đó là tại Hệ thống nhận dạng máy tính (CRS, hiện là một phần của Jenoptik) trong
Wokingham, Vƣơng quốc Anh. Hệ thống thử nghiệm ban đầu đã đƣợc triển khai
trên Đƣờng A1 và tại Đƣờng hầm Dartford. Vụ bắt giữ đầu tiên do phát hiện một chiếc
xe bị đánh cắp đƣợc thực hiện vào năm 1981. Tuy nhiên, ANPR đã không đƣợc sử
dụng rộng rãi cho đến khi những phát triển mới về phần mềm rẻ hơn và dễ sử dụng
hơn đƣợc tiên phong trong suốt những năm 1990. Việc thu thập dữ liệu ANPR để sử

dụng trong tƣơng lai (I E., trong việc giải quyết các tội phạm chƣa đƣợc xác định khi
đó) đã đƣợc ghi lại vào đầu những năm 2000. Trƣờng hợp đầu tiên đƣợc ghi nhận về
ANPR đƣợc sử dụng để giải quyết một vụ giết ngƣời xảy ra vào tháng 11 năm 2005,
trong Bradford, Vƣơng quốc Anh, nơi ANPR đóng một vai trị quan trọng trong việc
xác định vị trí và sau đó kết tội những kẻ giết ngƣời Sharon Beshenivsky.
Hệ thống nhận dạng biển số xe tại Malaysia của Choo Kar Soon (2002), sử dụng
phƣơng pháp phân loại KNN để phát hiện các ký tự trên biển số. Kết quả thử nghiệm
cho thấy phƣơng pháp đề xuất có thể đạt đƣợc tỷ lệ phát hiện 98% và tỷ lệ nhận dạng
là 95% trên các hình ảnh tĩnh và chuỗi video. [7]
Hệ thống nhận dạng biển số xe Ấn Độ của Chirag N. Paunwala (2010), sử dụng
phƣơng pháp xác định vùng quan tâm bằng cách thực hiện một chuỗi phân đoạn theo
hƣớng và xử lý hình thái. Ln ln là bƣớc đầu tiên là tăng cƣờng độ tƣơng phản,
đƣợc thực hiện bằng cách sử dụng chức năng sigmoid. Trong các bƣớc tiếp theo, phân
tích thành phần đƣợc kết nối theo sau bằng các kỹ thuật lọc khác nhau nhƣ phân tích tỷ
lệ khung hình và kỹ thuật lọc tƣơng thích với tấm đƣợc sử dụng để tìm biển số chính
xác. Phƣơng pháp đề xuất đƣợc thử nghiệm trên cơ sở dữ liệu lớn bao gồm 750 hình
ảnh đƣợc chụp trong các điều kiện khác nhau. Thuật tốn có thể phát hiện biển số xe
trong 742 hình ảnh với tỷ lệ thành công là 99,2% [8]
Nghiên cứu về nhận diện vật thể bằng công nghệ YOLO: Yolo đƣợc Redmon và
Farhadi phát triển vào năm 2015, trong thời gian học tiến sĩ. YOLO (―You only look
once‖) là một công nghệ nhận diện phổ biến nhờ độ chính xác cao trong thời gian
thực, đạt đến 45 khung hình trên giây.


6

1.2.3. Cách thức hoạt động của hệ thống
Hệ thống ALPR gồm phần cứng là camera và phần mềm là có chức năng nhận
dạng biển số xe từ ảnh chụp camera. Camera thu nhận đặt tại vị trí cố định sao cho
phần mềm có thể qt hình ảnh một cách rõ ràng. Ảnh đƣợc đƣa vào phần mềm để

nhận dạng chính xác biển số xe sau đó dùng thuật tốn OCR (Optical Character
Recognition) để lấy từng ký tự và chuyển đổi thành định dạng chữ hoặc số nhƣ dạng
text.
Khơng có một hệ thống ALPR nào có thể nhận dạng chính xác 100%, một số yếu
tổ ảnh hƣởng đến dộ chính xác nhƣ:
- Độ phân giải của ảnh kém hoặc ảnh bị mờ.
- Điều kiện ánh sáng yếu, bị phản chiếu hoặc che bóng.
- Các đối tƣợng có dạng tƣơng tự nhƣ biển số xe ngoại cảnh.
- Sự khác nhau về cấu trúc biển số xe ở mỗi nƣớc.
1.2.4. Phân loại các ứng dụng nhận dạng biển số xe
Ứng dụng nhận dạng biến số xe là ứng dụng có khả năng phân tích hình ảnh và
xác định biển số xe từ các hình ảnh chụp đƣợc qua các thiết bị thu hình. Nguồn hình
ảnh cho ứng dụng có rất nhiều. Phát triển hình ảnh trực tiêp thu nhận từ Camera. [2]
Có rất nhiều cách thức khác nhau để phân loại ứng dụng nhận dạng biển số xe
thông qua mục địch sử dụng. Có thể chia làm hai loại.
Loại 1: Giới hạn vùng nhìn
Đầu vào: Ảnh thu từ các thiết bị ghi nhận ảnh kỹ thuật số. Ảnh ghi nhận thƣởng
chỉ giới hạn trong vùng có biển số xe.
Nguyên lý hoạt động: Các phƣơng tiện giao thông phải chạy với tốc độ chậm để
máy có thể ghi nhận hình ảnh.
Ứng dụng: Những ứng dụng nhận dạng biển số xe thƣờng có thể ứng dụng tại các
trạm kiểm sốt, thu phí, bãi gửi xe tự động, trạm gác cổng, …
Loại 2: Không giới hạn vùng nhìn
Đầu vào: Ảnh đầu vào thu đƣợc từ các thiết bị ghi hình tự động, khơng phụ thuộc
vào gốc độ, các đối tƣợng xung quanh, ảnh không cần bắt buộc chỉ chụp vùng chứa
biển số xe, mà có thể tổng hợp thêm các đối tƣợng nhƣ ngƣời, cây, đƣờng phố, miễn là
vùng biển số phải đủ để có thể thực hiện nhận dạng các ký tự trong vùng đó.
Nguyên lý hoạt động: Do đặc tính khơng giới hạn vùng nhìn nên có thể thu ảnh
từ thiết bị ghi hình nhƣ camera, máy ảnh. Sau đó dị tìm trong ảnh để xác định vùng
chứa biển số xe. Thực hiện tách vùng và nhận dạng. Cuối cùng nhận kết quả truyền đi

hoặc lƣu trữ..
Úng dụng: Vì khơng phụ thuộc vào hình ảnh thu đƣợc nên đƣợc ứng dụng tại
nhiều nơi nhƣ những nói điều tiết giao thơng, vị trí giao thơng nhạy cảm…
1.2.5. Một số đặc điểm để nhận dạng biển số xe tại Việt Nam


7

Theo Thông tƣ 58/2020/TT-BCA, biển số xe dân sự trên cả nƣớc hiện bắt đầu từ số
11 đến 99. Địa phƣơng có nhiều biển số xe nhất là Tp. Hồ Chí Minh, có 11 biển số: 41
và từ 50 đến 59; tiếp là thủ đơ Hà Nội, có 06 biển số: 29 - 33 và 40; sau đó là Hải
Phịng và Đồng Nai, đều có 02 biển số xe.
Bảng 1.1. Bảng biển số xe của 63 tỉnh thành [16]
11 - Cao Bằng
12 - Lạng Sơn
14 - Quảng Ninh
15, 16 - Hải Phịng
17 - Thái Bình
18 - Nam Định
19 - Phú Thọ
20 - Thái Nguyên
21 - Yên Bái
22 - Tuyên Quang
23 - Hà Giang
24 - Lào Cai
25 - Lai Châu
26 - Sơn La
27 - Điện Biên
28 - Hịa Bình
29, 30, 31, 32 - Hà Nội

33 - Hà Tây
34 - Hải Dƣơng
35 - Ninh Bình
36 - Thanh Hóa
37 - Nghệ An
38 - Hà Tĩnh

43 - Đà Nẵng
47 - Đắk Lắk
48 - Đắk Nơng
49 - Lâm Đồng
50 đến 59 - TP. Hồ Chí
Minh
60 - Đồng Nai
61 - Bình Dƣơng
62 - Long An
63 - Tiền Giang
64 - Vĩnh Long
65 - Cần Thơ
66 - Đồng Tháp
67 - An Giang
68 - Kiên Giang
69 - Cà Mau
70 - Tây Ninh
71 - Bến Tre
72 - Bà Rịa - Vũng Tàu
73 - Quảng Bình
74 - Quảng Trị
75 - Huế
76 - Quảng Ngãi


77 - Bình Định
78 - Phú Yên
79 - Khánh Hòa
80 - Các đơn vị kinh tế
thuộc TW (hàng khơng)
81 - Gia Lai
82 - KonTum
83 - Sóc Trăng
84 - Trà Vinh
85 - Ninh Thuận
86 - Bình Thuận
88 - Vĩnh Phúc
89 - Hƣng Yên
90 - Hà Nam
92 - Quảng Nam
93 - Bình Phƣớc
94 - Bạc Liêu
95 - Hậu Giang
97 - Bắc Cạn
98 - Bắc Giang
99 - Bắc Ninh

- Về màu sắc: [17]
+ Biển số nền màu xanh, chữ và số màu trắng, sêri biển số sử dụng lần lƣợt một
trong các chữ cái sau: A, B, C, D, E, F, G, H, K, L, M cấp cho xe của các cơ quan của
Đảng; Văn phòng Chủ tịch nƣớc; Văn phòng Quốc hội và các cơ quan của Quốc hội;
Văn phòng Đoàn đại biểu Quốc hội, Hội đồng nhân dân các cấp; các Ban chỉ đạo Trung
ƣơng; Công an nhân dân, Tòa án nhân dân, Viện kiểm sát nhân dân; các bộ, cơ quan
ngang bộ, cơ quan thuộc Chính phủ; Ủy ban An tồn giao thơng quốc gia; Ủy ban nhân

dân các cấp và các cơ quan chuyên môn thuộc Ủy ban nhân dân cấp tỉnh, cấp huyện; tổ
chức chính trị - xã hội (Mặt trận Tổ quốc Việt Nam, Công đoàn Việt Nam, Đoàn thanh


8

niên Cộng sản Hồ Chí Minh, Hội liên hiệp phụ nữ Việt Nam, Hội cựu chiến binh Việt
Nam, Hội nông dân Việt Nam); đơn vị sự nghiệp công lập, trừ Trung tâm đào tạo, sát
hạch lái xe công lập; Ban quản lý dự án có chức năng quản lý nhà nƣớc
+ Biển số nền màu xanh, chữ và số màu trắng có ký hiệu ―CD‖ cấp cho xe máy
chuyên dùng của lực lƣợng Công an nhân dân sử dụng vào mục đích an ninh.
+ Biển số nền màu trắng, chữ và số màu đen, sêri biển số sử dụng lần lƣợt một
trong 20 chữ cái sau đây: A, B, C, D, E, F, G, H, K, L, M, N, P, S, T, U, V, X, Y, Z
cấp cho xe của doanh nghiệp, Ban quản lý dự án thuộc doanh nghiệp, các tổ chức xã
hội, xã hội - nghề nghiệp, xe của đơn vị sự nghiệp ngồi cơng lập, xe của Trung tâm
đào tạo sát hạch lái xe công lập, xe của cá nhân.
+ Biển số nền màu vàng, chữ và số màu đỏ, có ký hiệu địa phƣơng đăng ký và
hai chữ cái viết tắt của khu kinh tế - thƣơng mại đặc biệt cấp cho xe của khu kinh tế thƣơng mại đặc biệt hoặc khu kinh tế cửa khẩu quốc tế theo quy định của Chính phủ.
+ Một số trƣờng hợp có ký hiệu sêri riêng: KT, LD, DA, R, T, MK, MĐ, TĐ, HC
- Tiêu chuẩn về kích thƣớc [17]
+ Biển số ơtơ:
 Chiều cao: 110mm. Chiều rộng: 470 mm (Biển dài).
 Chiều cao: 200mm. Chiều rộng: 280 mm (Biển vuông).
+ Biển xe máy: Chiều cao: 140 mm. Chiều rộng 190 mm.
+ Tỉ lệ chiều cao/ chiều rộng
+ 0.18 < Chiều cao/ Chiều rộng < 0.3 (Biển số dài)
+ 0.6 < Chiều cao/ Chiều rộng < 0.85 (Biển số 2 hàng)
Từ các đặc điểm này ta có thể xác định đƣợc vùng có khả năng là biển số theo
ràng buộc về kích thƣớc
- Tiêu chuẩn về ký tự

Mỗi ký tự có tỷ lệ kích thƣớc về chiều rộng, chiều cao tƣơng ứng với chiều dài,
rộng của biển số xe. Ví dụ chiều cao mỗi ký tƣ ln nhỏ hơn 85% chiều cao của biển
số xe và luôn lớn hơn 60% chiều cao của biển số xe có một hàng, với biển số xe có hai
hàng thì chiều cao của mỗi ký tự không quá 50% chiều cao của biển số xe. Chiều rộng
ký tự thƣờng không lớn hơn 20% chiều cao của mỗi ký tự.
Từ những phân tích nhận dạng biển số xe, ta có phƣơng pháp thực hiện của
chƣơng trình nhận dạng nhƣ sau:
Bƣớc 1: Ảnh đầu vào là ảnh màu BGR, sử dụng các thuật tốn xử lý ảnh.
Bƣớc 2: Tìm các contour trên ảnh xe.
Bƣớc 3: Lọc các contour theo kích thƣớc của từng kí tự
Bƣớc 4: Xử lý đầu ra để lấy vùng biển số.
Bƣớc 5: Tách ký tự vừa tìm đƣợc trên vùng biển số.
Bƣớc 6: Đƣa tập ký tự đã tách vào mạng nơ ron để nhận dạng.
Bƣớc 7: Hiển thị kết quả lên giao diện chƣơng trình.


9

1.3. Kỹ thuật học sâu để nhận dạng và phân loại đối tƣợng
1.3.1. Kỹ thuật mạng nơ-ron tích chập (CNN) [1] [2]
Convolutional Neural Network (CNN) hay còn đƣợc gọi là mạng Nơ-ron tích
chập là một trong những mơ hình của Deep Learning. Tác dụng của thuật tốn này
chính là tạo ra những hệ thống thơng minh, có sự phản ứng với độ chính xác cao. Ví
dụ nhƣ Facebook, Google,.. đã đƣa vào sản phẩm của mình chức năng nhận diện
khn mặt,… Ứng dụng cơ bản nhất của thuật toán này là phân lớp, tức là phân biệt
hoặc là cái này hoặc là cái kia, tức là khi đƣa hình ảnh vào máy tính, nó sẽ là các điểm
ảnh hai chiều và điều CNN thực hiện đó là khi các điểm ảnh thanh đổi thì máy tính
vẫn biết đƣợc đó là hình ảnh gì.
CNNs đƣợc chia thành 3 chiều: rộng, cao, sâu. Các Nơ- ron trong mạng khơng
liên kết hồn tồn với toàn bộ Nơ-ron kế đến mà chỉ liên kết tới một vùng nhỏ. Cuối

cùng, một tầng đầu ra đƣợc tối giản thành vec-tơ của giá trị xác suất.
CNNs gồm 2 thành phần:
- Phần tầng ẩn hay phần rút trích đặc trƣng: Trong phần này, mạng sẽ tiến
hành tính tốn hàng loạt phép tích chập (Convolutional layer) và phép hợp nhất
(pooling) để phát hiện các đặc trƣng.
- Phần phân lớp: Tại phần này, một số lớp các liên kết đầy đủ (Fully
Connected) sẽ đóng vai trị nhƣ một bộ phân lớp các đặc trƣng đã rút trích trƣớc đó.
Tầng này sẽ đƣa ra xác suất của một đối tƣợng trong hình.

Hình 1.2: Cấu trúc của CNN. Nguồn www.mathworks.com
Lớp tích chập (Convolutional Layer)
Đây là phép tính quan trọng trong CNN. Ta thực hiện phép tích chập bằng cách
trƣợt kernel/filter theo kiểu dữ liệu đầu vào. Tại mỗi vị trí, ta tiến hành phép nhân ma
trận và tính tổng để đƣa vào feature map. Feature map này chính là một ma trận 3
chiều, trong đó bao gồm những con số (parameter).
Ở lớp đầu tiên, khối tích chập dùng để phát hiện cạnh thẳng đứng và cạnh nằm
ngang, cạnh nghiêng. Ở các lớp tiếp theo, khối tích chập sẽ nhận diện các đƣờng cong,
đƣờng gấp khúc. Càng sử dụng nhiều lớp tích chập thì càng phát hiện đƣợc những đặc
trƣng phức tạp hơn, có thể là các vật thể nhƣ con mèo, bơng hoa, bánh xe.


10

Hình 1.3: Mơ tả q trình nhận diện vật thể qua các lớp tích chập [18]
Tại khối tích chập, các thông số đƣợc sử dụng bao gồm:
Stride (S) : Số pixel bạn dịch chuyển ở mỗi lần trƣợt.
Padding (P): quy định bộ đệm của bộ lọc hay chính là phần màu xám đƣợc thêm
vào ảnh. Tăng thêm một số hàng và cột ( thƣờng có giá trị bằng 0) để tránh việc giảm
kích thƣớc ở output cũng nhƣ để lấy thơng tin ở các pixel ngồi cùng. Có 2 loại
padding là ―valid‖ tức là padding =0 và ―same‖ tức là padding để kích thƣớc ngõ ra

bằng kích thƣớc ngõ vào.


11

Hình 1.4: Minh họa lớp tích chập [18]
#filters (nc) : Số filter đƣợc sử dụng ở mỗi layers
f : kích thƣớc của mỗi filter là f *f
input
Filter
Output
(n+2p) x (n+2p) x nc

f x f x nc

(

(

)

𝑓𝑖 𝑒

Stride, #filter
Lớp tổng hợp (Pooling layer)
Mục đích là làm giảm số parameters mà ta cần phải tính tốn, từ đó giảm thời
gian tính tốn mà vẫn giữ đƣợc các đặc trƣng quan trọng. Ngoài ra nó cịn tránh
overfitting.
Có 2 loại pooling: max pooling lấy giá trị lớn nhất trong một pooling window và
average pooling lấy giá trị trung bình trong một pooling window.

Pooling hoạt động gần giống convolution, ở max pooling cửa sổ trƣợt qua từng
giá trị của ma trận dữ liệu đầu vào, chọn ra giá trị lớn nhất nằm trong cửa sổ trƣợt.


12

Hình 1.5: Max pooling [18]
Lớp kết nối đầy đủ (Fully Connected Layer)
Sau khi ảnh đƣợc truyền qua nhiều lớp tích chập và lớp tổng hợp thì model đã
học đƣợc tƣơng đối các đặc điểm của ảnh (ví dụ bánh xe, khung xe,…) thì tensor của
output cuối cùng, kích thƣớc H* W* D sẽ đƣợc chuyển về 1 vector kích thƣớc (H *
W* D).

Hình 1.6. Phép flatten đưa tensor về thành 1 vector [19]
Sau đó, mỗi điểm của vector sẽ đƣợc liên kết với toàn bộ output của mode
giống nhƣ một lớp của mạng Neural Network. Lớp kết nối đầy đủ cuối của mạng có
nhiệm vụ phân loại theo yêu cầu của bài tốn.
1.3.2. Một số kỹ thuật tìm kiếm xác định vị trí vật thể trong ảnh sử dụng mạng
CNN [5, 9]
1.3.2.1. Region Convolutional Neural Network Proposals (R-CNN)
Mơ hình CNN đƣợc áp dụng cho bài toán phân loại ảnh, cụ thể là các ảnh input
của bài toán phân loại chỉ bao gồm 1 đối tƣợng cụ thể nhƣ chữ số, loài hoa, đồ vật hay
con ngƣời. Tuy nhiên, ảnh trong cuộc sống bình thƣờng thì khơng chỉ chứa 1 đối
tƣợng mà thƣờng bao gồm rất nhiều các đối tƣợng, nên vị trí của từng đối tƣợng trong
ảnh cần đƣợc xem xét.
Vấn đề phát hiện đối tƣợng thơng qua vị trí của đối tƣợng trong ảnh bao gồm 2
bài toán:
- Xác định các bounding box (hình chữ nhật) quanh đối tƣợng.
- Với mỗi bounding box, cần phân loại đối tƣợng với độ chính xác.
Việc lựa chọn có bao nhiêu loại đối tƣợng thì phụ thuộc vào bài tốn cần giải

quyết. Vì khơng biết trƣớc có bao nhiêu đối tƣợng trong ảnh, nên mơ hình CNN khơng


×