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

Nghiên cứu xây dựng hệ thống nhận dạng biển số xe tự động

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 (2.09 MB, 33 trang )

TRƯ Ờ NG ĐẠ I HỌ C MỞ THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Y& Y

ĐỒ ÁN MÔN HỌ C


NGHIÊN CỨ U XÂY DỰ NG HỆ THỐ NG NHẬ N
DẠ NG BIỂ N SỐ XE TỰ ĐỘ NG





GVHD: SVTH:
Thầ y TS. Lê Xuân Trư ờ ng Lê Hoàng Hiế u 0851010085
Lê Trung Thả o 0851010245

Tháng 2 Năm 2012
TRƯ Ờ NG ĐẠ I HỌ C MỞ THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
3

LỜ I CẢ M Ơ N
Y& Y
Kiế n thứ c là 1 hành trang quan trọ ng trên con đư ờ ng vào đờ i củ a mỗ i chũng ta , vớ i


kiế n thứ c ta có thể lao độ ng , làm việ c , nuôi số ng bả n thân , gia đình , làm ngư ờ i có ích
cho xã hộ i. vớ i mỗ i ngày trôi qua , nhữ ng kiế n thứ c dù là nhỏ bé cũ ng đề u giúp ích cho
chúng ta , hoàn thiệ n con ngư ờ i chúng ta hơ n.
Để có đư ợ c nguồ n kiế n thứ c hữ u ích trong biể n khơ i tri thứ c nhậ n loạ i , chúng em
chân thành cả m ơ n các thầ y cô khoa công nghệ thông tin – trư ờ ng đạ i họ c mở Tp.Hồ Chí
Minh đã dạ y dỗ chúng em nhữ ng tri thứ c hữ u ích trong ngành họ c củ a mình . không chỉ
có thế , các thầ y cô còn dạ y dỗ , chỉ bả o cho chúng em nhữ ng kinh nghiệ m hế t sứ c quý
giá trên con đư ờ ng vào đờ i . đó là nhữ ng món quà vô giá mà chúng em không thể nào
quên , chúng em xin chân thành cả m ơ n các thầ y cô .
Đặ c biệ t cả m ơ n thầ y Lê Xuân Trư ờ ng , đã trự c tiế p hư ớ ng đẫ n em thự c hiệ n đồ án
này , dư ớ i sự hư ớ ng dẫ n củ a thầ y nhóm em đã cơ bả n hoàn thành đư ợ c đồ án , thầ y đã
giúp em nhiề u ý kiế n rấ t hữ u ích và tuyệ t vờ i em xin cả m ơ n thầ y.
Như ng vẫ n còn đó nhữ ng thiế u sót và nhữ ng điề u cầ n họ c thêm để hoàn thiệ n hơ n
nữ a bả n thân mình , em mong sẽ luôn đư ợ c nhậ n thêm sự chỉ dạ y từ các thầ y , các cô hơ n
nữ a . em xin đư ợ c gử i lờ i cả m ơ n chân thành đế n thầ y.
Xin chúc các thầ y cô sứ c khỏ e dồ i dào và gặ t hái đư ợ c thêm nhiề u thành công trên
con đư ờ ng giả ng dạ y củ a mình.

Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
4

NHẬ N XÉT CỦ A GIẢ NG VIÊN HƯ Ớ NG DẪ N
Y& Y




















Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
5

MỤ C LỤ C

C
HƯ Ơ NG
1

:


T
Ổ NG QUAN

1.1. G
IỚ I THIỆ U
6
1.2. M
Ụ C ĐÍCH LÀM ĐỀ TÀI
7
1.3. P
HƯ Ơ NG PHÁP NGHIÊN CỨ U
7
1.4. B
Ố CỤ C BÁO CÁO
8

C
HƯ Ơ NG
2

:
XỬ LÝ NHẬ N DẠ NG BIỂ N SỐ

2.1. N
HẬ N DẠ NG BIỂ N SỐ XE
9
2.1.1. T
RÌNH BÀY KỸ THUẬ T RÚT TRÍCH BIỂ N SỐ XE
10

2.1.1.1. M
Ụ C ĐÍCH
: 10
2.1.1.2. PHƯ Ơ NG PHÁP: 10
2.1.1.3. T
HỰ C HIỆ N
: 11
2.1.1.3.1. G
IỚ I HẠ N VÙNG BIỂ N SỐ
: 11
2.1.1.3.2. C
HUYỂ N Ả NH MÀU THÀNH Ả NH XÁM 12
2.1.1.3.3. LÀM MỜ VÀ MỊ N Ả NH 13
2.1.1.3.4. T
ÌM KIẾ M CÁC CẠ NH BẰ NG GIẢ I THUẬ T
C
ANNY
14
2.1.1.3.5. T
HUẬ T TOÁN TÌM ĐƯ Ờ NG VIỀ N
16
2.1.1.3.6. S
Ử DỤ NG PHƯ Ơ NG PHÁP HÌNH THÁI HỌ C
17
2.1.1.3.7. X
ÁC ĐỊ NH VÙNG BIỂ N SỐ
18
2.1.2. K
IỂ M TRA BIỂ N SỐ XANH
19

2.1.3. T
RÌNH BÀY KỸ THUẬ T CÁCH LY KÝ TỰ
: 21
2.1.3.1. P
HƯ Ơ NG PHÁP THỰ C HIỆ N
: 21
2.1.4. T
RÌNH BÀY KỸ THUẬ T NHẬ N DẠ NG KÝ TỰ
: 23
2.1.4.1. P
HƯ Ơ NG PHÁP
23
2.1.4.2. S
O KHỚ P MẪ U
(T
EMPLATE
M
ATCHING
): 24
2.1.4.3. T
HỰ C
H
IỆ N
: 24
2.1.4.4. T
Ổ NG KẾ T
: 27
CHƯ Ơ NG

3


:

Ứ NG

DỤ NG

DEMO
3. G
IỚ I THIỆ U
28
3.1. V
ÀI HÌNH Ả NH MINH HỌ A
30
3.1.1. M
Ở THƯ MỤ C Ả NH VÀ LOAD VÀO
L
ISTBOX
30
3.1.2. L
OAD Ả NH VÀO KHUNG VÀ THỰ C HIỆ N XÁC ĐỊ NH BIỂ N SỐ
31
CHƯ Ơ NG 4 : TỔ NG KẾ T
4.1. Ư
U ĐIỂ M
33
4.2. H
Ạ N CHẾ
33
4.3. H

Ư Ớ NG PHÁT TRIỂ N
33
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
6


Chư ơ ng 1: TỔ NG QUAN
1.1 Giớ i thiệ u
Hiệ n nay , Sự gia tăng các phư ơ ng tiệ n giao thông tạ i Việ t Nam đang phát triể n vớ i
tố c độ chóng mặ t , sự thể hiệ n rõ rệ t nhấ t đó chính là hình ả nh các phư ơ ng tiệ n giao
thông ngày càng đông đúc hơ n ở Việ t Nam , nhấ t là tạ i các thành phố lớ n như Hà Nộ i và
TP.Hồ Chí Minh . Điề u này tạ o nên 1 áp lự c lớ n đố i vớ i các nhà quả n lý đư ờ ng bộ trong
vấ n đề quả n lý các phư ơ ng tiệ n giao thông mà thự c tế đây là 1 trong nhữ ng vấ n đề nhứ c
nhố i hiệ n nay củ a xã hộ i .
Vớ i các hiệ n trạ ng trong việ c quả n lý các phư ơ ng tiệ n giao thông hiệ n nay thì việ c
nghiên cứ u hệ thố ng nhậ n dạ ng biể n số xe tự độ ng có ý nghĩ a hế t sứ c quan trọ ng , Hệ
thố ng này có thể đư ợ c ứ ng dụ ng vào nhiề u lĩ nh vự c khác nhau để trợ giúp công tác quả n
lý các phư ơ ng tiệ n giao thông nói chung . Đặ c biệ t là tạ i các hệ thố ng đang bị quá tả i như
tạ i các bãi giữ xe công cộ ng …
Trên thế giớ i , đặ c biệ t tạ i các nư ớ c phát triể n như Mỹ , Hàn Quố c , Nhậ t Bả n … hệ
thố ng nhậ n dạ ng biể n số xe tự độ ng đã đư ợ c phát triể n , các ứ ng dụ ng củ a hệ thố ng hế t
sứ c phổ biế n điể n hình là các bãi giữ xe thông minh.
Tạ i Việ t Nam , các ứ ng dụ ng củ a hệ thố ng nhậ n dạ ng biể n số tự độ ng là hế t sứ c hiế m
hoi ngay cả ở các thành phố lớ n như Hà Nộ i và TP.Hồ Chí Minh , nhữ ng nơ i có thể ứ ng
dụ ng đư ợ c hệ thố ng nhậ n dạ ng biể n số xe tự độ ng 1 cách hiệ u quả như các bãi giữ xe ,
các trạ m thu phí giao thông thì vẫ n hiệ n nay vẫ n còn đang thự c hiệ n 1 cách thủ công

kém hiệ u quả và cồ ng kề nh.
Để xây dự ng tố t 1 hệ thố ng nhậ n dạ ng biể n số xe tự độ ng thì yêu cầ u đặ t ra là phả i
nhậ n dạ ng đư ợ c vùng biể n số xe mà ở đây nhóm thự c hiệ n sử dụ ng phư ơ ng pháp phát
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
7

hiệ n và làm nổ i cạ nh kế t hợ p vớ i phư ơ ng pháp hình thái họ c , cách ly các kí tự biể n số và
nhậ n dạ ng biể n số bằ ng phư ơ ng pháp khớ p mẫ u kế t hợ p phư ơ ng pháp hình thái họ c.
1.2 Mụ c đích làm đề tài
Hiệ n nay tạ i các Trạ m thu phí giao thông đư ờ ng bộ , các bãi giữ xe công cộ ng và đặ c
biệ t là trong công tác phát hiệ n vi phạ m giao thông thì cách thự c hiệ n vẫ n nặ ng tính thủ
công điề u này tạ o nên 1 áp lự c rấ t lớ n cho các nhà quả n lý , do đó đề tài này đư ợ c
nghiên cứ u để phụ c vụ cho việ c thự c hiệ n công tác quả n lý các phư ơ ng tiệ n đư ợ c đư ợ c
nhanh chóng , hiệ u quả , chính xác
• Thu phí giao thông : Việ c lắ p đặ t hệ thố ng nhậ n dạ ng biể n số xe tự độ ng tạ i
các trạ m thu phí giao thông tạ i các đư ờ ng cao tố c, quố c lộ có thể giúp hỗ trợ
hoặ c tự độ ng việ c thu phí giao thông , đồ ng thờ i có thể thu thậ p các thông tin
về giao thông khác nhau …
• Bãi giữ xe tự độ ng : việ c lắ p đặ t hệ thố ng nhậ n dạ ng biể n số xe tự độ ng tạ i các
bãi giữ xe tự độ ng sẽ giúp tự độ ng hóa hoàn toàn việ c thu phí giữ xe , hoặ c là
1 phầ n củ a hệ thố ng quả n lý bãi giữ xe , giúp giả m thờ i gian chờ đợ i vào bãi
giữ …
• Quả n lý giao thông : hệ thố ng nhậ n diệ n biể n số xe tự độ ng đặ c biệ t có ích
trong việ c phát hiệ n , điề u tiế t giao thông , phát hiệ n các vi phạ m giao thông
Sau khi hoàn thành , hệ thố ng nhậ n dạ ng biể n số xe tự độ ng có thể đư ợ c kế t hợ p vớ i
các hệ thố ng cụ thể đố i vớ i từ ng chứ c năng cụ thể để cho ra đờ i 1 hệ thố ng hoàn chỉ nh

phụ c vụ các công tác quả n lý phư ơ ng tiệ n giao thông.
1.3 Phư ơ ng pháp nghiên cứ u
Để có thể xây dự ng đư ợ c ứ ng dụ ng, các phư ơ ng pháp sau đã đư ợ c tìm hiể u và từ ng
bư ớ c áp dụ ng vào đề tài:
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
8

Chụ p ả nh xe có biể n số theo mộ t tiêu chuẩ n đặ t ra củ a phầ n mề m.
Nghiên cứ u và ứ ng dụ ng Thuậ t toán khác nhau để phát hiệ n vùng chứ a biể n số xe
theo các bư ớ c : giả m vùng dữ liệ u đầ u vào từ ả nh nguồ n sao cho vùng dữ liệ u đó có khả
năng chứ a vùng biể n số xe cao nhấ t , lọ c nhiễ u trên vùng trích xuấ t , sử dụ ng thuậ t toán
tìm kiế m cạ nh Canny , thuậ t toán làm việ c trên các vùng liên thông như thuậ t toán phát
hiệ n viề n kế t hợ p phư ơ ng pháp hình thái họ c để phát hiệ n các vùng có khả năng là biể n
số , sau đó chọ n ra vùng biể n số .
Từ vùng biể n số , sử dụ ng lạ i thuậ t toán phát hiệ n viề n kế t hợ p các điề u kiệ n phù hợ p
để tìm ra các chữ số 1 cách chính xác
Sử dụ ng phư ơ ng pháp so khớ p mẫ u , so sánh ả nh các kí tự biể n số đư ợ c cắ t ra vớ i tậ p
ả nh mẫ u để so sánh đố i chiế u nhậ n dạ ng
Áp dụ ng vào đồ án này nhóm em thự c hiệ n tìm hiể u về bộ thư việ n xử lý ả nh mã
nguồ n mở OpenCV do Intel phát triể n để thự c hiệ n phầ n demo cho đồ án
1.4 Bố cụ c báo cáo
Chư ơ ng 1: Tổ ng Quan. Giớ i thiệ u về đề tài, tình trạ ng ứ ng dụ ng hiệ n nay.
Chư ơ ng 2: Xử lý nhậ n dạ ng biể n số , các thuậ t giả i , phư ơ ng pháp nhậ n dạ ng biể n số
Chư ơ ng 3: Hình ả nh chư ơ ng trình Demo.
Chư ơ ng 4: Kế t luậ n và hư ớ ng phát triể n củ a ứ ng dụ ng.



Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
9

Chư ơ ng 2:
XỬ LÝ NHẬ N DẠ NG BIỂ N SỐ
2.1 Nhậ n dạ ng biể n số xe
Xử lý nhậ n dạ ng biể n số xe trả i qua quá trình tuầ n tự , bắ t đầ u từ việ c rút trích vùng
biể n số , kiể m tra xem biể n số đó là biể n số trắ ng hay biể n số màu mà ở đây cụ thể là
biể n số xanh (thự c tế còn có biể n số đỏ và biể n số vàng ).

Lư ợ c đồ các giai đoạ n xử lý Nhậ n Dạ ng Biể n Số Xe
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
10

Sau khi rút trích và xác đị nh màu biể n số , ta tiế n hành cách ly các kí tự trên biể n số
sao cho chính xác , khít vớ i kí tự như ng cũ ng không cắ t mấ t phầ n nào củ a kí tự .
Bư ớ c cuố i cùng là nhậ n dạ ng kí tự , so sánh , đố i chiế u các kí tự đã đư ợ c cách ly vớ i
bộ ả nh đố i chiế u , từ đó xác đị nh đư ợ c biể n số xe.
2.1.1 Trình bày kỹ thuậ t rút trích biể n số xe
2.1.1.1 Mụ c đích:
Từ bộ ả nh nguồ n , ta sử dụ ng các kĩ thuậ t thích hợ p nhằ m xác đị nh vùng chứ a biể n số

xe , sao cho chính xác , có chấ t lư ợ ng tố t nhấ t nhằ m tạ o thuậ n lợ i cho quá trình cách ly
và nhậ n dạ ng kí tự ở các bư ớ c sau.
2.1.1.2 Phư ơ ng pháp:
Có rấ t nhiề u phư ơ ng pháp khác nhau để thự c hiệ n nhiệ m vụ này. Trong đồ án này sử
dụ ng phư ơ ng pháp phát hiệ n viề n kế t hợ p vớ i phư ơ ng pháp hình thái họ c để nhậ n dạ ng
chính xác vùng ả nh chứ a biể n số và rút trích biể n số . trong quá trình thự c hiệ n đồ án ,
giai đoạ n này chỉ đư ợ c sử dụ ng để tăng độ chính xác củ a toàn bộ quá trình nhậ n dạ ng
biể n số xe lên mứ c cao nhấ t có thể . Khi tiế n hành thử nghiệ m nhậ n dạ ng mà không trả i
qua quá trình nhậ n dạ ng vùng biể n số xe , vẫ n có thể nhậ n diệ n đư ợ c các kí tự biể n số xe
, tuy nhiên tỉ lệ nhậ n dạ ng chính xác không cao lắ m.
Lư ợ c đồ sử lý tuầ n tự trả i qua 7 bư ớ c :
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
11


Biể u đồ dòng xử lý quá trình trích biể n số từ ả nh đầ u vào
2.1.1.3 Thự c hiệ n:
2.1.1.3.1 Giớ i hạ n vùng biể n số :
Kế thừ a từ Khóa luậ n tố t nghiệ p xây dự ng hệ thố ng bãi giữ xe tự ô tô củ a Võ Ngô
Văn Xuân và Trầ n Hữ u Tâm thự c hiệ n , việ c giớ i hạ n vùng biể n số để làm giả m thờ i gian
xử lý ả nh đồ ng thờ i tăng tỉ lệ chính xác củ a việ c trích xuấ t biể n số xe
Do điề u kiệ n ả nh đầ u vào phả i thỏ a 1 số tính chấ t đặ c biệ t về hư ớ ng camera , chiề u xe
vào, nên ta xác đị nh đư ợ c rằ ng vùng chứ a biể n số xe là vùng ở nử a dư ớ i hình , và đư ợ c
thu hẹ p về bề ngang như ở hình minh họ a sau:
Đồ Án Môn Họ c 2012




SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
12


Hình 2.17 – Cách giớ i hạ n vùng biể n số
Ta có thể xây dự ng 1 module xử lý đặ c biệ t để tự độ ng nhậ n dạ ng vùng có khả năng
là biể n số xe cao nhấ t , như ng do độ phứ c tạ p khi xây dự ng module nên nhóm thự c hiệ n
đã không chọ n phư ơ ng pháp đó.
2.1.1.3.2 Chuyể n ả nh màu thành ả nh xám
Ả nh sau khi đư ợ c giớ i hạ n sẽ tiế n hành chuyể n ả nh về đạ ng đa mứ c xám (Grayscale)
Để thự c hiệ n yêu cầ u này ta thư ờ ng áp dụ ng 1 trong nhữ ng công thứ c sau đây :
I
( x , y )
= 0.3086 * Red
( x , y )
+ 0.6094 * Green
( x , y )
+ 0.0820 * Blue
( x , y )

I
( x , y )
= 0.299 * Red
( x , y )
+ 0.587 * Green
( x , y )
+ 0.114 * Blue
( x , y )


Vớ i x,y là tọ a độ điể m ả nh cầ n chuyể n .
Trong báo cáo sử dụ ng hàm thư việ n củ a Thư việ n xử lý ả nh mã nguồ n mở OpenCV:
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
13

cv::cvtColor(src_img , gray_img , CV_BGR2GRAY) trong đó :
• src_img : ả nh cầ n chuyể n sang đa mứ c xám.
• gray_img : nơ i lư u giữ ả nh sau khi đã chuyể n sang đa mứ c xám
• CV_BGR2GRAY : Thông số chuyể n đổ i từ ả nh BGR sang ả nh đa mứ c xám.

Ả nh sau khi chuyể n thành ả nh đa mứ c xám
2.1.1.3.3 Làm mờ và mị n ả nh
Bộ lọ c Gaussian đư ợ c sử dụ ng để làm giả m nhiễ u và giả m mứ c độ chi tiế t ( không
mong muố n ) như các vùng bẩ n nhỏ trên biể n số , các hình ả nh bị hạ t nhằ m chuẩ n bị
hình ả nh cho bư ớ c xử lý tiế p theo .
o Lý thuyế t Bộ lọ c Gaussian:
Bộ lọ c Gaussian là 1 bộ lọ c làm mờ ả nh sử dụ ng lý thuyế t về hàm Gaussian (hay còn
đư ợ c biế t đế n là dạ ng phân phố i chuẩ n trong xác xuấ t thố ng kê) để tính toán việ c chuyể n
đổ i từ ng pixcel củ a hình:
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
14


Trong báo cáo sử dụ ng hàm xử lý củ a thư việ n xử lý ả nh mã nguồ n mở OpenCV.
cv::GaussianBlur(src_img , des_img , mask_size , sigmaX) trong đó :
• Src_img : ả nh nguồ n cầ n làm mờ .
• Des_img : nơ i lư u giữ ả nh sau khi làm mờ bằ ng bộ lọ c Gaussian
• Mask_size : kích thư ớ c mặ t na lọ c
• sigmaX : độ lệ ch theo phư ơ ng ngang .

Ả nh sau khi xử lý bằ ng bộ lọ c Gaussian
2.1.1.3.4 Tìm kiế m các cạ nh bằ ng giả i thuậ t Canny
Giả i thuậ t Canny đư ợ c sử dụ ng để tách ra các đư ờ ng nét là khung sư ờ n củ a bứ c ả nh ,
nhằ m chuẩ n bị cho bư ớ c lọ c bỏ các khung sư ờ n ả nh không phù hợ p ở bư ớ c sau
Giả i thuậ t Canny là phư ơ ng pháp tách đư ờ ng biên đư ợ c dùng khá phổ biế n theo toán
tử đạ o hàm. Mà đạ o hàm lạ i chị u ả nh hư ở ng lớ n củ a nhiễ u , do đó , ở bư ớ c trên ta đã tiế n
hành lọ c nhiễ u để đạ t đư ợ c hiệ u quả cao nhấ t trong việ c tách khung sư ờ n .
Ư u điể m củ a thuậ t giả i canny so vớ i các phư ơ ng pháp tách sư ờ n ả nh khác là :
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
15

• Thuậ t toán nhậ n diệ n rấ t tố t các đư ờ ng thẳ ng góc cạ nh củ a các dữ liệ u hình
ả nh
• Các cạ nh đư ợ c đánh dấ u gầ n như giố ng vớ i các cạ nh trong ả nh thậ t
• 1 cạ nh trong hình chỉ đư ợ c đánh dấ u 1 lầ n không trùng lắ p, do đó tránh đư ợ c
hiệ n tư ợ ng nhiễ u trùng lắ p .
Trong ứ ng dụ ng sử dụ ng hàm Canny củ a thư việ n xử lý ả nh OpenCV :
Cv::Canny(src_img , des_img , threshold1 , threshold2) trong đó :

• Src_img : ả nh nguồ n , bắ t buộ c phả i là ả nh đa mứ c xám
• Des_img : Ả nh sau khi qua thuậ t giả i Canny
• Threshold1 , threshold2 : các thông số ngư ỡ ng củ a hàm , có thể điề u chỉ nh
theo ý muố n
Lư u ý : giả i thuậ t Canny trong thu việ n xử lý ả nh OpenCV khi kế t thúc sẽ chuyể n kế t
quả thành ả nh nhị phân (tứ c ả nh mà mỗ i pixcel chỉ mang 1 trong 2 giá trị màu là đen
hoặ c trắ ng).

Hình 2.20 - Ả nh sau khi sử dụ ng giả i thuậ t Canny
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
16

2.1.1.3.5 Thuậ t toán tìm đư ờ ng viề n
Thuậ t toán tìm đư ờ ng viề n đư ợ c sử dụ ng để tìm ra chính xác các đư ờ ng nét nố i liề n
vớ i nhau , mà trong đó các thông tin về các điể m thuộ c đư ờ ng viề n đề u đư ợ c lư u giữ lạ i
như : tọ a độ , số đư ờ ng viề n , kích cỡ đư ờ ng viề n tính theo khung chữ nhậ t , chiề u cao ,
chiề u rộ ng đư ờ ng viề n …
Giả i thuậ t về tìm kiế m đư ờ ng viề n chỉ sử dụ ng đư ợ c khi ả nh đầ u vào là ả nh nhị phân ,
ví dụ như ả nh đã qua sử lý bằ ng giả i thuậ t Canny , hoặ c ả nh đã đư ợ c chuyể n về ả nh nhị
phân.
Trong ứ ng dụ ng sử dụ ng hàm thư việ n củ a thư việ n xử lý ả nh OpenCV :
cv::findContours(src_img , contours , mode, method) trong đó :
• Src_img : ả nh cầ n lư u giữ lạ i các thông tin về các đư ờ ng viề n
• Contours : vecto lư u giữ thông tin các tọ a độ điể m củ a đư ờ ng viề n
• Mode , method : các chế độ lư u giữ , phư ơ ng thứ c tìm kiế m thông tin các tọ a
độ điể m củ a đư ờ ng viề n


Hình 2.22 - Ả nh sau khi áp dụ ng thuậ t toán tìm đư ờ ng viề n
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
17


2.1.1.3.6 Sử dụ ng phư ơ ng pháp hình thái họ c
Phư ơ ng pháp hình thái họ c tứ c là ta sẽ dự a vào đặ c trư ng củ a biể n số xe để nhậ n dạ ng
biể n số xe như kích thư ớ c , màu sắ c , sự đố i xứ ng …
Tuy nhiên nhóm thự c hiệ n đồ án nhậ n thấ y rằ ng đố i vớ i các biể n số xe ô tô , có thể vì
1 lý do khách quan (các đư ờ ng nét nằ m chồ ng lấ n lẫ n nhau , độ sáng không đủ …) mà
đư ờ ng viề n không thể đư ợ c xác đị nh đầ y đủ (đứ t nét , rờ i rạ c) gây khó khăn cho việ c xác
đị nh vùng chứ a biể n số .
Do đó nhóm thự c hiệ n tiế n hành xác đị nh trự c tiế p các đư ờ ng viề n có khả năng cao
nhấ t là các kí tự biể n số , từ đó xác đị nh vùng chứ a các kí tự này , đó chính là vùng biể n
số .
Để xác đị nh các đư ờ ng viề n có khả năng cao là kí tự , nhóm đã tiế n hành thử ở 15 ả nh
bấ t kì trong tậ p ả nh mẫ u và chọ n các tiêu chí để xác đị nh các đư ờ ng viề n như sau :
• 550px <= diệ n tích <= 2500px
• 0.25 <= tỉ lệ chiề u rộ ng / chiề u cao <= 0.74
• 38px < Chiề u cao < 65px
Và kế t quả đạ t đư ợ c là :
Đồ Án Môn Họ c 2012




SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
18


Ả nh sau khi lọ c bằ ng các tiêu chuẩ n hình thái họ c
2.1.1.3.7 Xác đị nh vùng biể n số
Sau khi đã có đư ợ c ả nh vớ i các đư ờ ng viề n phù hợ p vớ i các đặ c điể m hình thái họ c ,
ta tiế n hành xác đị nh vùng biể n số bằ ng cách rấ t đơ n giả n là quét hình , lấ y ra giá trị củ a
pixcel có tọ a độ x nhỏ nhấ t , y nhỏ nhấ t , x lớ n nhấ t , y lớ n nhấ t mà chúng có màu đen
lư u giữ lạ i trong 4 giá trị tư ơ ng ứ ng xmin , ymin , xmax , ymax.
Đoạ n code này khá đơ n giả n , chỉ cầ n sử dụ ng 2 vòng lặ p để quét hình là ta có thể xác
đị nh đư ợ c 1 cách chính xác.
Khi đã có giá trị xmin , ymin , xmax , ymax ta xác đị nh đư ợ c vùng chứ a biể n số là
vùng có tọ a độ góc trên bên trái là A(xmin - 5 , ymin - 5) vớ i chiề u rộ ng là Width =
xmax – xmin +10 , chiề u cao Height = ymax – ymin +10.
Sở dĩ ở đây ta kéo rộ ng góc trên bên trái và tăng chiề u dài , chiề u rộ ng lên 5px là để
lấ y trọ n vùng chứ a chữ số , đồ ng thờ i đả m bả o ko làm mấ t phầ n nào củ a kí tự trên biể n
số .
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
19

Ả nh sau khi xác đị nh vùng biể n số :

Ả nh sau khi xác đị nh vùng biể n số từ ả nh trích lọ c

Ả nh vùng biể n số ánh xạ từ ả nh trên

2.1.2 Kiể m tra biể n số xanh
Sau khi trả i qua giai đoạ n xác đị nh biể n số thì dù là biể n số xanh , biể n số dân dụ ng
bình thư ờ ng hay biể n số quân độ i có ả nh nề n màu đỏ … đề u sẽ đư ợ c xác đị nh 1 cách
chính xác.
Nguyên nhân là do phư ơ ng pháp xác đị nh vùng biể n số đã trình bày ở trên dự a hoàn
toàn vào cách xác đị nh đư ờ ng viề n , do đó không bị ả nh hư ở ng bở i màu sắ c , đây là 1 ư u
điể m lớ n củ a phư ơ ng pháp xác đị nh biể n số bằ ng xác đị nh viề n.
Tuy nhiên ta vẫ n phả i kiể m tra màu sắ c củ a biể n số để chỉ nh sử a ả nh , chuẩ n bị cho
bư ớ c tiế p theo là cách ly và nhậ n dạ ng kí tự .
Phư ơ ng pháp xác đị nh biể n số màu như sau (cụ thể ở đây là biể n số màu xanh):
Ta sẽ nhìn sự khác nhau giữ a biể n số gố c màu xanh và màu trắ ng để tiệ n cho việ c đố i
chiế u , so sánh :


Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
20


Ta chuyể n ả nh về dạ ng ả nh đa mứ c xám

Sau đó ta chuyể n ả nh thành ả nh nhị phân , đẻ chuyể n ả nh đa mứ c xám thành ả nh nhị
phân ta cầ n xác đị nh ngư ỡ ng T để chuyể n
Để làm rõ hơ n thì ta có lý thuyế t về ả nh đa mứ c xám : ả nh đa mứ c xám là ả nh có giá
trị điể m ả nh trong khoả ng [0,255] ( vớ i 0 là màu đen , 255 là màu trắ ng ) vớ i 1 ngư ỡ ng
T xác đị nh thì các điể m ả nh nào lớ n hơ n hoặ c bằ ng ngư ỡ ng T sẽ đư ợ c chuyể n thành màu
trắ ng , giá trị = 255 , điể m ả nh nào nhỏ hơ n ngư ỡ ng T thì sẽ đư ợ c chuyể n thành màu đen

, giá trị = 0 . ở báo cáo này sử dụ ng phư ơ ng pháp tìm ngư ỡ ng tự độ ng Otsu
ả nh sau khi nhị phân hóa sử dụ ng phư ơ ng pháp Otsu :

Để xác đị nh biể n số xanh , ta xác đị nh tấ m biể n số đó có số pixcel đen > số pixcel
trắ ng như trên hình ta thấ y.
Để đế m số pixcel trắ ng và đen ta phả i quét qua toàn bộ ả nh , lư u lạ i số pixcel trắ ng ,
số pixcel đen rồ i sau đó tiế n hành so sánh. ( Công đoạ n này chỉ đơ n giả n là quét và đế m
số lư ợ ng pixcel ) .
Sau khi xác đị nh đư ợ c biể n số xanh ta thự c biệ n bư ớ c cuố i cùng để chuẩ n bị cho việ c
tách ả nh các kí tự đó là nhị phân hóa lạ i ả nh biể n số xe nề n xanh vớ i ngư ỡ ng trung gian
là 128 như ng đả o ngư ợ c (tứ c chữ màu trắ ng -> đen , và nề n đen -> nề n trằ ng) để tư ơ ng
tự như ả nh biể n số thư ờ ng :
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
21


2.1.3 Trình bày kỹ thuậ t cách ly ký tự :
Sau khi nhậ n dạ ng đư ợ c vùng biể n số , bư ớ c tiế p theo đó là cách ly kí tự , đây là bư ớ c
quan trọ ng nhấ t trong quá trình nhậ n diệ n kí tự , kĩ thuậ t cách ly phả i làm sao đả m bả o
lấ y đư ợ c trọ n vẹ n kí tự , không bị mấ t kí tự , mấ t 1 phầ n kí tự hoặ c lấ y nhầ m kí tự để khi
ta tiế n hành nhậ n dạ ng thì kế t quả nhậ n dạ ng sẽ đạ t hiệ u quả cao nhấ t.
2.1.3.1 Phư ơ ng pháp thự c hiệ n:
Có nhiề u cách để thự c hiệ n cách ly ký tự , như ng chúng em chọ n phư ơ ng pháp giố ng
như đã nêu ở phầ n trích lọ c biể n số , đó là phư ơ ng pháp phát hiệ n viề n kế t hợ p vớ i
phư ơ ng pháp hình thái họ c . Vớ i hình ả nh đã đư ợ c nhị phân hóa ở bư ớ c kiể m tra biể n số
nề n xanh là ả nh nguồ n , ta sử dụ ng lạ i hàm xác đị nh và lư u giữ thông tin viề n

cv::findContours kế t hợ p vớ i đặ c điể m hình thái củ a vùng kí tự nằ m trên biể n số là :
• 550px <= Diệ n tích <= 2500px
• 0.25 <= tỉ lệ chiề u rộ ng / chiề u cao <= 0.74
• 38px < Chiề u cao < 65px
Ta sẽ có đư ợ c 1 mả ng các đư ờ ng viề n phù hợ p vớ i các đặ c điể m hình thái trên đư ợ c lư u
giữ lạ i dùng để xử lý ở bư ớ c tiế p theo :
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
22


Hình ả nh biể n số sau khi lọ c các đư ờ ng viề n không thỏ a các đặ c điể m hình thái
Như ở hình trên , mả ng các đư ờ ng viề n sẽ bao gồ m 9 phầ n tử vớ i thứ tự ngẫ u nhiên
trong quá trinh xác đị nh viề n và các phầ n tử sai (phù hợ p vớ i điề u kiệ n , như ng lạ i không
phả i là phầ n kí tự cầ n cách ly : như vòng tròn nhỏ ở trong số 0 , số 9 , số 8 , chữ B … tùy
dữ liệ u ả nh đầ u vào) .
Do đó , có 2 vấ n đề cầ n xử lý : loạ i bỏ các phầ n tử sai , và sắ p xế p các phầ n tử kí tự
đúng trong mả ng theo đúng thứ tự nằ m trên biể n số xe
Vấ n đề thứ nhấ t : vớ i mả ng các đư ờ ng viề n thu thậ p đư ợ c , ta cũ ng sẽ có 1 mả ng các
hình ả nh ứ ng vớ i các đư ờ ng viề n tư ơ ng ứ ng , và các hình ả nh này ở dạ ng nhị phân như
các các hình sau đây :

Từ các hình ả nh như trên , ta có 1 nhậ n xét đó là ở các ả nh không phả i là kí tự thì tỉ lệ
điể m ả nh trắ ng so vớ i tổ ng số điể m ả nh luôn rấ t lớ n .
Từ nhậ n xét trên và thự c nghiệ m kiể m tra thì kế t quả chính xác như vậ y , để loạ i bỏ các
đư ờ ng viề n sai , ta xác đị nh đư ờ ng viề n nào mà hình ả nh củ a nó có tỉ lệ điể m ả nh trắ ng so
vớ i tổ ng số điể m ả nh > 80% thì sẽ tiế n hành loạ i bỏ đư ờ ng viề n đó . Sau khi loạ i bỏ các

đư ờ ng viề n sai ta sẽ có 1 mả ng các đư ờ ng viề n chính xác củ a từ ng kí tự nằ m rờ i nhau . từ
các đư ờ ng viề n này ta dễ dàng chuyể n chúng thành 1 mả ng các hình ả nh như sau :
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
23


Ả nh đư ờ ng viề n nhị phân (đây chính là ả nh đư ợ c sử dụ ng để so vớ i bộ ả nh mẫ u)

Ả nh gố c từ ng kí tự sau khi đư ợ c tách
Vấ n đề thứ 2 : xác đị nh vị trí thứ tự củ a từ ng đư ờ ng viề n ứ ng vớ i từ ng kí tự trong biể n số
xe , để giả i quyế t vấ n đề này ta tiế n quét mả ng các đư ờ ng viề n , lấ y ra tọ a độ điể m ả nh
nằ m ở góc trên cùng bên trái A(x,y) củ a từ ng đư ờ ng viề n rồ i so sánh chúng vớ i nhau , do
không thể có 2 đư ờ ng viề n trùng nhau nên ứ ng vớ i điể m ả nh nào có giá trị x nhỏ nhấ t thì
đư ờ ng viề n tư ơ ng ứ ng nằ m ở vị trí đầ u tiên , x nhỏ thứ 2 thì đư ờ ng viề n tư ơ ng ứ ng nằ m ở
vị trí thứ 2 … như hình sau.

Ta có : x1 < x2 < x3 < x4 < x5 < x6 < x7
Thì đư ờ ng viề n tư ơ ng ứ ng vớ i tọ a độ x sẽ đư ợ c đánh số thứ tự như sau:
x1 = 1 , x2 = 2 , x3 = 3 … x7 = 7
tứ c là đã đúng vớ i thứ tự trên ả nh thậ t.
2.1.4 Trình bày kỹ thuậ t nhậ n dạ ng ký tự :
2.1.4.1 Phư ơ ng pháp:
Kỹ thuậ t nhậ n dạ ng kí tự có rấ t nhiề u kí thuậ t khác nhau
,
như ng phư ơ ng pháp phổ biế n
nhấ t là sử dụ ng mạ ng nơ -ron nhân tạ o , tứ c là huấ n luyệ n cho máy tính nhậ n dạ ng kí tự ,

Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
24

như ng việ c xây dự ng 1 mạ ng nơ -ron nhân tạ o là hế t sứ c phứ c tạ p và tố n nhiề u thờ i gian
để thu thậ p các hình ả nh mẫ u làm đầ u vào cho việ c huấ n luyệ n nhậ n dạ ng . do đó nhóm
em đã không sử dụ ng phư ơ ng pháp này thay vào đó nhóm em sử dụ ng phư ơ ng pháp so
khớ p mẫ u để tiế n hành nhậ n dạ ng kí tự

2.1.4.2 So khớ p mẫ u (Template Matching):
Đây là kỹ thuậ t nhậ n dạ ng dự a vào mứ c độ tư ơ ng tự củ a ả nh ký tự so vớ i bộ ả nh mẫ u
cho trư ớ c. Trong đó bộ ả nh mẫ u đư ợ c xây dự ng là các kí tự chữ in đư ợ c sử dụ ng trên
biể n số xe tạ i Việ t Nam. Bộ ả nh này đư ợ c xây dự ng từ các biể n số chụ p lạ i trong bộ ả nh
mẫ u , các font chữ biể n số kế t hợ p vớ i các quy đị nh về chữ số và chữ cái trên biể n số xe.
Bộ ả nh đư ợ c xây dự ng bao gồ m tổ ng cộ ng 30 kí tự vớ i kích thư ớ c 35px*55px đư ợ c
đặ t tên từ 0-29 như hình dư ớ i

Bộ ả nh mẫ u để nhậ n dạ ng kí tự
2.1.4.3 Thự c Hiệ n:
Sau khi trả i qua bư ớ c tách các kí tự , ta đã thu đư ợ c 1 mả ng bao gồ m các hình ả nh rờ i
rạ c củ a từ ng kí tự biể n số đã đư ợ c nhị phân và có khuôn dạ ng giố ng như bộ ả nh mẫ u
(chữ đen , nề n trắ ng ) :

Đồ Án Môn Họ c 2012




SVTH: Lê Hoàng Hiế u – Lê Trung Thả o
25


Tuy nhiên kích thư ớ c củ a các hình ả nh này lạ i không đồ ng nhấ t , vì thế ta phả i resize
các hình ả nh này về kích thư ớ c 35px * 55px như bộ ả nh mẫ u để bắ t đầ u tiế n hành so
sánh đố i chiế u .
Việ c thay đổ i lạ i kích thư ớ c ả nh ta sử dụ ng hàm cv::resize(src_img , des_img , size)
trong thư việ n OpenCV. Vớ i
• Src_img : ả nh đầ u vào cầ n resize
• Des_img : ả nh đích dùng để lư u hình ả nh sau khi resize.
• Size : kích thư ớ c ả nh muố n resize.
Sau đó ta tiế n hành thuậ t toán so sánh , nhậ n dạ ng kí tự như sau :
Bư ớ c 1 : ta tạ o 1 ả nh DEMO không có hình , màu trắ ng , có kích thư ớ c 35px * 55 px
. đặ t mã cho từ ng ả nh trong bộ ả nh mẫ u , ở đây ta đặ t bả ng mã như tên ả nh như sau :
0 – 0 4 – 4 8 – 8 C – 12 H – 16 N – 20 T – 24 Y - 28
1 – 1 5 – 5 9 – 9 D – 13 K – 17 P – 21 U – 25 Z - 29
2 – 2 6 – 6 A – 10 E – 14 L – 18 R – 22 V - 26
3 – 3 7 – 7 B – 11 F – 15 M – 19 S – 23 X - 27
Bư ớ c 2 : ta tiế n hành so sánh ả nh cầ n nhậ n diệ n vớ i từ ng ả nh trong bộ ả nh đố i chiế u
để so sánh mã từ 0-29 ở trên bằ ng cách duyệ t qua từ ng điể m ả nh củ a 2 tấ m ả nh. Nế u
chúng giố ng nhau (đề u là màu trắ ng hoặ c đề u là màu đen) thì ta sẽ vẽ điể m ả nh tạ i vị trí
đó củ a ả nh DEMO là màu trắ ng , nế u chúng không giố ng nhau (1 trắ ng và 1 đen) thì ta
vẽ điể m ả nh tạ i vị trí đó củ a ả nh DEMO là màu đen.
Ví dụ : hình
Đồ Án Môn Họ c 2012



SVTH: Lê Hoàng Hiế u – Lê Trung Thả o

26

Hình cầ n nhậ n dạ ng kí tự : … …
Hình trong bộ ả nh mẫ u : … …
Hình DEMO theo thuậ t giả i : … …
Bư ớ c 3 : ta tiế n hành quét kiể m tra hình DEMO đế m số lư ợ ng pixcel màu đen và số
lư ợ ng pixcel màu trắ ng sau đó xác đị nh tỉ lệ pixcel màu đen / pixcel màu trắ ng.
Ratio = Num_Black_Pixcel / Num_White_Pixcel
ứ ng vớ i từ ng ả nh trong bộ ả nh mẫ u sẽ tư ơ ng ứ ng vớ i 1 con số Ratio xác đị nh. Như
vậ y ta thấ y rằ ng vớ i con số Ratio càng nhỏ thì độ giố ng nhau càng tăng , và ả nh nào có
con số Ratio bé nhấ t thì nó chính là kí tự cầ n xác đị nh . Do đó duyệ t qua 30 ả nh trong bộ
ả nh mẫ u , ả nh nào ứ ng vớ i con số Ratio nhỏ nhấ t sẽ là kí tự đúng. Từ mã ả nh củ a hình
ả nh đúng đó ta tra bả ng mã sẽ ra đư ợ c kí tự củ a ả nh cầ n nhậ n dạ ng.
Như trong ví dụ ở bư ớ c 2 ta thấ y rằ ng ứ ng vớ i hình có mã là 5 trong bộ ả nh mẫ u thì
số Ratio là bé nhấ t do đó ta nhậ n diệ n đư ợ c chính xác kí tự cầ n xác đị nh là số 5.
Bư ớ c 4 : lặ p lạ i bư ớ c 2 và bư ớ c 3 cho kí tự cầ n nhậ n dạ ng tiế p theo , lư u lạ i kí tự đã
nhậ n dạ ng đư ợ c vào 1 chuỗ i , sau đó xuấ t chuỗ i kí tự biể n số xác đị nh đư ợ c.
Như vậ y là ta đã có thể nhậ n dạ ng đư ợ c các kí tự trên biể n số xe dự a vào thuậ t giả i
trên , mặ c dù phư ơ ng pháp này có nhiề u hạ n chế (biể n số có vế t bẩ n , các con ố c vít làm
sai lệ ch nhậ n dạ ng) như ng khả năng nhậ n dạ ng chính xác kí tự là khả quan và có hiệ u
quả tố t.

×