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

Proceedings VCM 2012 33 robot dịch vụ chuyển thư dựa trên nhận dạng biển số phò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 (847.3 KB, 9 trang )

Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 237


Mã bài: 49
Robot dịch vụ chuyển thư dựa trên nhận dạng biển số phòng
A mail delivery robot based on room number plate recognition
Đào Trung Kiên, Lê Thị Lan
Viện MICA, HUST - CNRS/UMI 2954 - Grenoble INP, Trường ĐH Bách khoa Hà Nội
email: ,
Tóm tắt
Bài báo này trình bày một nghiên cứu ứng dụng nhận dạng biển số phòng trong việc phát triển một robot
dịch vụ phục vụ việc chuyển thư giữa các phòng trong một toà nhà. Robot sau nhận lệnh từ người dùng khi
được đưa một hình có biển số phòng ra trước camera sẽ di chuyển dọc theo một hành lang. Trong quá trình di
chuyển, robot liên tục đọc biển số phòng để tìm phòng được yêu cầu chuyển thư. Khi tìm được đúng phòng
yêu cầu, robot sẽ chờ người nhận thư và sau đó di chuyển về vị trí ban đầu. Kết quả thử nghiệm cho thấy robot
hoạt động tốt, với tỉ lệ nhận dạng đúng cao trong các điều kiện ánh sáng khác nhau. Nghiên cứu này có thể
được ứng dụng với nhiều mục đích khác.
Abstract: In this paper, a mail delivery robot based on room number plate recognition is introduced. After
the user command is given by showing the number plate of the distination room in front of the camera, the
robot moves along a corridor while continuously reading the number plates of the room it passes to find the
corresponding room. Once the room is identified, the robot will wait a user to take the mail, then return to the
original location. Experiments showed that the introduced robot functions with high correct recognition rate in
different lighting conditions. This study can be extendedly utilized in a number of other applications.

1. Giới thiệu
Camera số đã trở nên phổ biến trong hai thập kỷ
vừa qua với chất lượng ảnh và tốc độ chụp hình
ngày càng được nâng cao, khiến cho các bài toán
phát hiện và theo dõi đối tượng trở nên được quan
tâm hơn. Việc phát hiện và nhận dạng ký tự trên
các biển số, biển hiệu có thể được ứng dụng trong


nhiều bài toán trong thực tế như theo dõi, giám sát
xe tự động, định vị cho robot di động. Bài toán này
dựa trên kỹ thuật thị giác máy tính đã được nghiên
cứu khá nhiều và đã có một số sản phẩm thương
mại, nhưng vẫn đang thu hút được nhiều sự quan
tâm nghiên cứu.
Bài báo này trình bày việc ứng dụng bài toán nhận
dạng biển số phòng để làm robot dịch vụ chuyển
thư từ phòng nọ tới phòng kia trong một toà nhà.
Trong ứng dụng này, người cần chuyển thư ra lệnh
cho robot bằng cách giơ một tấm hình chứa số
phòng cần chuyển thư tới trước camera của robot.
Robot được lập trình để, sau khi nhận được lệnh,
sẽ di chuyển dọc theo một hành lang và liên tục
đọc các biển số phòng khi di chuyển qua cho tới
khi nhận được phòng tương ứng với lệnh thì sẽ
dừng lại để chờ lấy thư.
Như được thể hiện trên hình H. 1, về cơ bản bài
toán phát hiện và nhận dạng biển số, biển hiệu có
thể được chia làm 3 bước:
 Phát hiện biển số, biển hiệu: tức phát hiện vị
trí và kích thước của vùng chứa biển số từ ảnh
đầu vào được thu từ camera.
 Phân tách ký tự: tách vùng chứa từng ký tự từ
mỗi ảnh tương ứng với vùng có biển số đã
được trích ra từ ảnh gốc.
 Nhận dạng ký tự: nhận dạng các ảnh của từng
ký tự đã được phân tách từ bước trên.

H. 1 Các bước xử lý trong nhận dạng biển số,

biển hiệu
238 Đào Trung Kiên, Lê Thị Lan


VCM2012
Một trong các phương pháp thường được sử dụng
để giải quyết bài toán này là đối sánh mẫu
(template matching) căn cứ vào các chỉ số tương
quan trên toàn bộ ảnh (như tổng độ sai khác tuyệt
đối, tổng bình phương sai khác, hệ số tương quan
chéo,…). Ưu điểm của phương pháp này là việc
tính toán và cài đặt tương đối đơn giản, nhưng
phương pháp này chỉ hiệu quả với các mẫu đơn
giản và ít biến đổi. Hơn nữa, với CSDL mẫu lớn
thì khối lượng tính toán cũng tăng lên tương ứng.
Một hướng tiếp cận khác là phương pháp phân
vùng ảnh (image segmentation) dựa theo màu sắc
và độ sáng, tức phân chia một ảnh thành các vùng
có màu sắc tương đồng nhau với mức độ chi tiết
được điều chỉnh bởi một số tham số. Nguyên tắc
của phương pháp này dựa trên việc các biển hiệu
thường là hình chữ nhật đồng màu. Phương pháp
này thường có tỉ lệ phát hiện cao và ít phụ thuộc
vào các điều kiện ánh sáng, màu sắc, nhưng đòi
hỏi nhiều tính toán. Một số nghiên cứu áp dụng
phương pháp này trong việc giải quyết bài toán
phát hiện biển số, biển hiệu có thể tìm thấy trong
[1-4].
Bên cạnh đó, một số phương pháp phức tạp hơn
cũng được phát triển. Đầu tiên có thể kể đến các

phương pháp máy học (machine learning), trong
đó phổ biến nhất bao gồm mạng neural nhân tạo
(ANN - artificial neural networks) [8], SVM
(support vector machines) [9], logic mờ, bộ suy
luận logic mờ (fuzzy inference system – FIS),…
Các phương pháp này thường đòi hỏi việc trích
chọn các đặc trưng cần thiết, trong đó đặc trưng
Haar được nhiều nghiên cứu quan tâm.
Ngoài ra, một số nghiên cứu còn sử dụng các
phương pháp tìm hình bao (contour), phát hiện
cạnh (edge detection) [10]. Tuy nhiên phương
pháp này đòi hỏi nhiều tính toán, và cho hiệu quả
kém trong trường hợp ảnh đầu vào bao gồm cả
cảnh vật và các đối tượng khác. Phương pháp này
cũng nhạy cảm với sự thay đổi của độ sáng.
Từ vùng ảnh chứa biển số, biển hiệu, sau khi đã
được nắn chỉnh thành một ảnh chữ nhật, các ký tự
trong đó cần phải được xác định vị trí và kích
thước. Phương pháp đơn giản nhất là phân vùng
ảnh tĩnh, có thể được áp dụng với các loại biển số,
biển hiệu mà định dạng của số hiệu và vị trí cũng
như kích thước của các ký tự là cố định, ví dụ như
biển số xe. Phương pháp phân vùng động dựa trên
việc phân vùng ảnh theo màu, sau đó tìm ra các
đường bao tương ứng với các ký tự cần được tách.
Tuy nhiên, thông thường số lượng màu trên các
biển không nhiều, thường là hai (màu nền và màu
chữ) nên việc thực hiện có thể được đơn giản hoá
bằng cách nhị phân hoá ảnh trước khi áp dụng
phương pháp này. Một số nghiên cứu phát triển

thuật toán phức tạp hơn bằng cách sử dụng các
thành phần kết nối (connected components) [5].
Phương pháp này trích chọn ra các thành kết nối ở
trong bức ảnh nhị phân, tức là tìm kiếm những
điểm ảnh tương ứng với ký tự. Ưu điểm của nó là
nó không phụ thuộc vào độ nghiêng của bức ảnh
và tìm ra các giới hạn biên của ký tự là rất chính
xác, nhưng phương pháp này yêu cầu bức ảnh đầu
vào là ảnh có chất lượng tốt, ít bị can thiệp bởi
nhiễu và sự chuyển đổi tốt từ bức ảnh ban đầu
sang ảnh nhị phân, để tránh tình trạng hai hay
nhiều ký tự xuất hiện trên một vùng kết nối.
Phương pháp dùng các lược đồ chiếu tương tự như
phương pháp được dùng để tìm vị trí của biển
trong ảnh ban đầu, và đã được áp dụng trong nhiều
nghiên cứu [6-8]. Ảnh được áp dụng có thể là ảnh
xám hoặc ảnh nhị phân sau khi phân ngưỡng.
Trong trường hợp biển có chứa hai hay nhiều hàng
chữ, thì trước đó cần sử dụng lược đồ chiếu ngang
để tách từng hàng chữ trước. Một điều kiện để áp
dụng được phương pháp này là chữ trên biển phải
được căn thẳng theo cả chiều ngang và chiều dọc.
Nhận dạng ký tự (optical character recognition –
OCR) là bài toán đã được bắt đầu nghiên cứu từ
khá sớm và được đặt ra ngay từ thời kỳ sơ khai của
bộ môn thị giác máy tính. Bản chất của việc nhận
dạng ký tự là bài toán phân lớp (classification),
nghĩa là mỗi ảnh ký tự cần được xếp vào một trong
các lớp tương ứng với các ký tự trong một tập hợp
cho trước. Thông thường mỗi loại biển số, biển

hiệu chỉ chứa một số ký tự nhất định và được bố trí
theo một định dạng nào đó. Do vậy, bằng cách áp
dụng thông tin có được từ quy định về định dạng
của chữ trên biển, số phần tử của tập hợp ký tự
tương ứng với từng vị trí của chuỗi ký tự cần nhận
dạng. Một số phương pháp thông dụng để giải
quyết bài toán này là đối sánh mẫu [11], máy học
sử dụng mạng neural nhân tạo hay SVM [5,7,8],
suy nghiệm (heuristic) bằng các đặc trưng hình
học và tô-pô [6,12].
Bài báo này trình bày một nghiên cứu ứng dụng
phát hiện và nhận dạng biển số phòng để thực hiện
một robot dịch vụ. Hiện tại, robot này được phát
triển để hoạt động với kịch bản đưa thư, nhưng nó
có thể được ứng dụng trong nhiều mục đích khác
như vận chuyển đồ, dẫn đường, tìm đường,… hay
mở rộng hơn trong việc tương tác người-robot
dùng thị giác máy tính.
2. Hoạt động của robot
2.1 Sơ đồ trạng thái hoạt động
Sơ đồ trạng thái cho hoạt động của robot được thể
hiện trên hình H. 2. Robot bắt đầu ở trạng thái S
0

bằng việc chờ lệnh từ người dùng bằng cách liên
tục đọc ảnh từ camera cho đến khi nhận được một
Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 239


Mã bài: 49

hình có chứa số phòng cần chuyển thư tới thì di
chuyển theo hành lang để tìm phòng được yêu cầu
chuyển thư (trạng thái S
1
).
Trong quá trình di chuyển, robot cũng liên tục đọc
biển số phòng tại các vị trí nó đi qua (S
2
). Nếu
phát hiện đúng số phòng yêu cầu, robot sẽ di
chuyển vào phòng (S
3
), chờ người lấy thư (S
4
) và
sau đó di chuyển về vị trí ban đầu (S
6
) để chờ lệnh
mới. Nếu biển số phòng không đúng với yêu cầu,
robot sẽ tiếp tục lặp lại quá trình di chuyển, hoặc
nếu đã hết hành lang (kiểm tra ở trạng thái S
5
) thì
robot cũng kết thúc quá trình tìm phòng để di
chuyển về vị trí ban đầu (S
6
). Như vậy, bài toán
phát hiện và nhận dạng biển số phòng sẽ được
robot sử dụng trong hai trạng thái là S
0

và S
2
.

H. 2 Kịch bản hoạt động của robot đưa thư

2.2 Mô-đun phát hiện biển số phòng
Trong nghiên cứu này, phương pháp phân vùng
ảnh được áp dụng để phát hiện biển số phòng vì,
như đã phân tích ở trên, phương pháp này ít phụ
thuộc vào các điều kiện sáng hay màu sắc khi chụp
ảnh, cũng như việc ảnh bị bóp méo hay xoay
nghiêng so với các phương pháp khác.

H. 3 Quá trình phát hiện biển số phòng
Do biển có dạng hình chữ nhật có kích thước
không lớn nên khi được chụp bởi camera từ các
góc khác nhau thì trên ảnh sẽ có dạng gần đúng là
hình bình hành. Vì vậy, trong nghiên cứu này,
hướng tiếp cận để giải quyết bài toán này là phân
vùng ảnh và từ đó phân tích để tìm ra các vùng có
dạng hình bình hành, sau đó thực hiện một số kỹ
thuật hậu xử lý để loại bỏ các vùng kết quả không
tốt dựa trên kích thước, hình dạng,… để đưa ra các
kết quả cuối cùng của mô-đun.
Quá trình thực hiện của mô-đun này được thể hiện
trên hình H. 3, với đầu vào là một ảnh đơn được
nhận từ camera, và kết quả sẽ là các vùng có khả
năng là biển số phòng. Kết quả có thể là không,
một hoặc nhiều vùng được phát hiện. Quá trình

này bao gồm các bước sau:
 Phân vùng ảnh: mô-đun sử dụng thuật toán
phân vùng ảnh để chia ảnh đầu vào thành các
vùng dựa trên màu sắc.
 Tìm được biên của các vùng. Đường biên này
là chuỗi các điểm ảnh nối tiếp nhau tạo thành
đường kín bao các vùng đã được phân chia ở
bước trên.
 Phân tích dạng hình học các đường biên: để
tìm ra các vùng có dạng hình bình hành.
 Hậu xử lý. Bước này bao gồm các việc (1) loại
bớt các vùng hình bình hành đã được phát hiện
nhưng có kích thước hay hình dạng không phù
hợp để nâng cao chất lượng của kết quả, (2)
trích xuất ảnh tương ứng với các vùng kết quả
và biến đổi về dạng hình chữ nhật.
Việc phân vùng ảnh được giải quyết bằng phương
pháp phân hoạch đồ thị [13]. Thuật toán này dựa
trên việc lựa chọn các cạnh từ đồ thị, trong đó mỗi
điểm ảnh tương ứng với một đỉnh. Trọng số (giá)
của mỗi cạnh đánh giá khoảng cách giữa các đỉnh,
hay nói cách khác, tương ứng với độ sai khác về
màu sắc của các điểm ảnh. Đường biên của các
vùng được xác định bằng cách so sánh hai đại
lượng: độ sai khác về màu sắc giữa các điểm ảnh ở
hai phía khác nhau của đường biên, và độ sai khác
giữa các điểm ảnh lân cận ở trong vùng đó. Độ sai
khác về màu sắc có thể được định nghĩa là giá trị
tuyệt đối của hiệu số của mức xám đối với ảnh
xám, hoặc bằng khoảng cách Euclid của hai vector

các thành phần màu R, G, B với ảnh màu.
Gọi




max ( )
Int C w e
 là độ sai khác nội tại bên
trong của một vùng
C
, trong đó
( )
w e
là trọng số
lớn nhất trong cây khung bé nhất (minimum
spanning tree) của vùng
C
. Độ sai khác giữa hai
vùng
1
C

2
C
được định nghĩa là trọng số nhỏ
nhất của cạnh nối hai vùng này với nhau. Tức là
240 Đào Trung Kiên, Lê Thị Lan



VCM2012





1 2
, min (( , ))
i j
Dif C C w v v , (1)
với
i
v

j
v
lần lượt là các điểm ảnh thuộc các
vùng
1
C

2
C
. Nếu không có cạnh nào kết nối hai
vùng
1
C

2
C

thì


1 2
,Dif C C
 
.
Đường biên giữa hai vùng được xác định bằng
cách kiểm tra độ sai khác giữa hai vùng


1 2
,
Dif C C
có lớn so với độ sai khác nội tại của ít
nhất một trong hai vùng


1
Int C



2
Int C
hay
không, thông qua một hàm phân ngưỡng. Ta định
nghĩa việc so sánh như sau:








1 2 1 2 1 2
, , ,
D C C Dif C C MInt C C
  , (2)
trong đó hàm sai khác nội tại nhỏ nhất
MInt
được
định nghĩa như sau:



 
1 2
1 1 2 2
,
min ( ) ( ), ( ) ( ) ,
MInt C C
Int C C Int C C
 

 
(3)
với

là hàm phân ngưỡng. Với các vùng nhỏ,



Int C
không phải là hàm đánh giá tốt các đặc
trưng cục bộ. Hàm phân ngưỡng có thể được định
nghĩa bằng nghịch đảo kích thước của vùng


C k C

 , với
k
là hằng số có thể được dùng
để điều chỉnh độ chi tiết của các vùng được phân
hoạch. Hệ số
k
càng lớn thì kết quả sẽ có các
vùng càng ít chi tiết, hay nói cách khác, sẽ trả về
các vùng có kích thước càng lớn.
Trong lý thuyết đồ thị, một phân hoạch
S
là việc
chia tập các đỉnh
V
của đồ thị thành các vùng (tập
con)
C S

. Thuật toán để thực hiện như sau:
1. Khởi tạo đồ thị vô hướng



,
G V E
 , trong đó
V
là tập
n
đỉnh tương ứng với các điểm ảnh,

E
là tập
m
cạnh. Các cạnh được khởi tạo
bằng cách kết nối các điểm ảnh lân cận nhau,
với trọng số bằng độ sai khác về màu sắc.
2. Thực hiện việc phân hoạch bằng cách với mỗi
vùng
C S

tương ứng với một vùng được kết
nối trong đồ thị


,
G V E
 
 với
E E



.
3. Nếu trọng số của một cạnh nối hai đỉnh của hai
vùng lân cận nhau là nhỏ so với độ sai khác nội
tại của cả hai vùng, thì gộp hai vùng làm một.
4. Lặp lại bước 3 với
1
q m

.
5. Trả về


1 2
, , ,
r
S C C C
 là kết quả của việc
phân vùng.
Để giảm thời gian chạy chương trình, thuật toán
này sẽ được xử lý trên một ảnh thu nhỏ của ảnh
đầu vào, sau khi tìm được các hình bình hành thì
toạ độ các hình đó trong ảnh gốc sẽ được tính bằng
cách ánh xạ ngược lại trước khi trích xuất các ảnh
biển số phòng.
Ngoài ra phương pháp này có tính độc lập ở mỗi
bước lặp có thể được chia để xử lý song song trên
những máy có bộ vi xử lý nhiều lõi.
Sau khi ảnh đầu vào được phân vùng, bước tiếp
theo của quá trình phát hiện biển số phòng là trích

ra đường biên (contour) của từng vùng này. Các
đường biên được biểu diễn dưới dạng chain code,
là các mã có giá trị nguyên từ 0 tới 7, thể hiện
hướng của điểm tiếp theo trong dãy điểm so với
điểm liền trước. Việc phát hiện biển số phòng
được quy về việc phát hiện các vùng hình bình
hành sau khi đã có các đường biên. Bài toán này
được chia thành hai bước nhỏ: (1) Tìm các điểm
góc (corners) trên đường biên, là các điểm có
nhiều khả năng là góc của các biển; và (2) kết hợp
các điểm góc lại để tìm ra hình bình hành.
Trong bước thứ nhất, các điểm góc được xác định
là các điểm mà đoạn 1 gồm
l
điểm trước đó và
đoạn 2 gồm
l
điểm sau đó của đường biên tạo
thành hai đoạn thẳng, nhưng đoạn 3 gồm toàn bộ
các điểm này lại không tạo thành một đoạn thẳng,
trong đó
l
là một tham số có thể điều chỉnh được.
Việc xác định dãy các điểm có tạo nên đoạn thẳng
hay không được dựa trên việc so sánh hệ số tương
quan chéo của các toạ độ
x

y
với một ngưỡng.

Để tìm các điểm góc, toàn bộ các điểm trên đường
biên cần được xét, với việc tính các giá trị
xy
corr

cho cả ba đoạn, trong đó đoạn 1 và 2 gồm
l
điểm,
và đoạn 3 gồm
2 1
l

điểm.
Bước thứ hai là việc kết hợp các điểm góc và kiểm
tra các tiêu chuẩn hình thành một hình bình hành.
Với tổ hợp bốn điểm góc bất kỳ, tiêu chuẩn đánh
giá là tỉ lệ độ dài hai cạnh đối bất kỳ phải lớn hơn
d

, và tỉ lệ độ dài hai cạnh kề bất kỳ phải lớn hơn
k

, trong đó
d


k

là các ngưỡng tham số có
thể điều chỉnh được.

2.3 Mô-đun phân tách ký tự
Sau khi ảnh của vùng chứa biển được trích ra từ
ảnh đầu vào và được biến đổi về dạng hình chữ
nhật, hệ thống sẽ phân tích từng ảnh này để trích ra
từ mỗi ảnh các vùng con tương ứng với các ký tự.
Kết quả của quá trình này sẽ là các ảnh con đã
được nhị phân hoá. Như được thể hiện trên hình H.
4, quá trình này bao gồm các bước: (1) phân
ngưỡng (threshold) mức xám để tạo ra ảnh nhị
phân, (2) tìm đường bao từng vùng, qua đó xác
định được các vùng chứa ký tự của biển, và (3)
hậu xử lý.
Phân ngưỡng là bước đầu tiên trong việc phân tách
ký tự. Ảnh chứa biển được nhị phân hoá bằng việc
phân ngưỡng mức xám. Để giảm ảnh hưởng của
nhiễu, ảnh được làm trơn bằng bộ lọc trung bình
với các điểm ảnh lân cận. Thuật toán phân ngưỡng
Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 241


Mã bài: 49
thích nghi (adaptive threshold) được sử dụng để
khắc phục nhược điểm này bằng cách sử dụng một
ngưỡng thay đổi theo từng điểm ảnh thay vì một
giá trị cố định cho toàn bộ ảnh. Có một số cách
tiếp cận khác nhau cho vấn đề chọn ngưỡng động,
nhưng đều dựa trên một giả thiết là các vùng nhỏ
trên ảnh sẽ có điều kiện chiếu sáng gần giống
nhau. Trong nghiên cứu này, các ngưỡng cục bộ
được tìm dựa trên hàm nhân (kernel function) dựa

trên tổng có trọng số theo phân bố Gauss


i i
T G p p c
 

với
c
là hằng số.


H. 4 Quá trình phân tách ký tự biển số phòng

Sau khi phân ngưỡng, ảnh nhị phân sẽ có dạng chữ
trắng trên nền đen. Việc tìm các vùng ký tự khi
này đơn giản là trích xuất ra các vùng màu trắng từ
ảnh nhị phân. Các vùng này về cơ bản sẽ tương
ứng với các ký tự chữ trên biển. Việc tách vùng
được thực hiện tương tự như thuật toán tìm đường
biên trong việc phát hiện biển số ở trên. Các vùng
có kích thước không phù hợp như quá nhỏ hoặc
quá lớn, hoặc có hình dạng không phù hợp theo tỉ
lệ giữa chiều rộng và chiều cao của ký tự, sẽ bị
loại bỏ để giảm khối lượng tính toán trong quá
trình nhận dạng về sau. Cuối cùng, các ảnh ký tự
đã trích xuất được sắp xếp theo vị trí phân bố của
chúng trong ảnh biển số.
2.4 Mô-đun nhận dạng ký tự
Nhiệm vụ của mô-đun này là từ ảnh các ký tự đã

trích xuất từ ảnh đầu vào, hệ thống sẽ quyết định
ảnh đó tương ứng với ký tự gì. Kết quả của quá
trình này là một chuỗi ký tự chứa biển số phòng
tương ứng với các ảnh ký tự được đưa vào với thứ
tự đã sắp xếp theo vị trí. Như đã phân tích ở trên,
bản chất của việc nhận dạng là một quá trình phân
lớp với các lớp tương ứng với các ký tự mẫu. Kết
quả nhận dạng mỗi ký tự sẽ là một phần tử của tập
mẫu. Lưu ý rằng kết quả có thể là trống nếu không
có phần tử nào phù hợp, khi đó ký tự sẽ bị loại.
Các biển số phòng chỉ sử dụng chủ yếu ký tự số và
một số ít ký tự chữ nên số lớp không nhiều. Vì
vậy, trong mô-đun này, phương pháp đối sánh mẫu
sẽ được sử dụng để giải quyết bài toán. Chương
trình nạp một CSDL các ảnh ký tự mẫu được xây
dựng sẵn, sau đó với mỗi ảnh ký tự cần nhận dạng,
chương trình sẽ so sánh với từng ảnh mẫu dựa trên
hệ số tương quan chéo
corr
. Ảnh mẫu nào có hệ
số tương quan chéo lớn nhất sẽ được lựa chọn.
Trong trường hợp hệ số này tương ứng với tất cả
các ảnh mẫu đều nhỏ hơn một giá trị ngưỡng đặt
trước thì kết quả trống sẽ được trả về để loại ảnh
cần nhận dạng.

Nhn
dng
ký t
Kt qu

Tin x lý
Tính corr so vi t ng
nh mu
Chn ký t ng vi
nh có corr ln nht
nh ký t
Hu x lý

H. 5 Quá trình nhận dạng ký tự biển số phòng

Quá trình nhận dạng mỗi ảnh ký tự được thể hiện
trên hình H. 5, bao gồm các bước như sau:
 Tiền xử lý: để có thể so sánh hệ số tương quan
chéo, ảnh ký tự cần được chuẩn hoá về cùng
kích thước với các ảnh mẫu trong CSDL.
 Tính hệ số tương quan chéo
corr
của ảnh cần
nhận dạng so với từng ảnh trong CSDL.
 Chọn ký tự: đưa ra kết quả nhận dạng ký tự
bằng cách lựa chọn tương ứng với ảnh có hệ số
corr
lớn nhất.
242 Đào Trung Kiên, Lê Thị Lan


VCM2012
 Hậu xử lý: thực hiện một số kỹ thuật nâng cao
chất lượng nhận dạng, trong đó có (1) loại bỏ
kết quả nếu hệ số

corr
bé hơn một ngưỡng đặt
trước, (2) kết nối các ký tự đơn thành chuỗi và
xử lý về mặt định dạng của biển số.
Để có so sánh hệ số tương quan với các ký tự mẫu
trong CSDL, ảnh ký tự cần phải được chuẩn hoá
về cùng kích thước chiều rộng và chiều cao so với
các ảnh mẫu. Các ảnh mẫu trong CSDL được lưu
trữ trong một thư mục và sẽ được chương trình
nạp vào bộ nhớ khi khởi tạo. Đây là các ảnh nhị
phân tương ứng các ký tự số từ 0 tới 9. Mỗi ký tự
có thể có nhiều ảnh tương ứng trong CSDL để thể
hiện một số phông chữ khác nhau. Các ảnh ký tự
này có thể có kích thước bất kỳ, nhưng sẽ được thu
nhỏ để chuẩn hoá về cùng một kích thước, kèm
theo nhị phân hoá nếu cần thiết.
Quá trình phân lớp được bắt đầu bằng việc chọn ra
những ảnh ký tự mẫu phù hợp với vị trí của ảnh ký
tự cần nhận dạng, được cho trong bảng cấu hình.
Ảnh ký tự cần nhận dạng sẽ được so sánh với từng
ảnh mẫu nhỏ bằng hệ số tương quan chéo
corr
.
Nếu giá trị này lớn hơn một ngưỡng
nd

thì sẽ so
sánh tiếp với ảnh mẫu kích thước chuẩn để tính hệ
số tương quan chéo chính xác. Nếu không có ảnh
mẫu nào thoả mãn yêu cầu hệ số

corr
lớn hơn
nd


thì kết quả trống sẽ được trả về, nghĩa là ảnh ký tự
sẽ bị loại bỏ. Cuối cùng, ký tự có ảnh mẫu tương
ứng với hệ số
corr
lớn nhất sẽ được lựa chọn là
kết quả của việc nhận dạng ký tự đơn.
Sau bước phân lớp, ta đã có các ký tự được nhận
dạng từ các ảnh ký tự đơn. Nhiệm vụ của bước này
là kết hợp các ký tự đơn này thành một chuỗi ký tự
theo đúng vị trí đã sắp xếp, sau đó tiến hành kiểm
tra kế quả có phù hợp với định dạng cho phép hay
không. Nếu không thoả mãn thì kết quả này sẽ bị
loại bỏ.

3. Kết quả thử nghiệm
Trong phần này, một số kết quả chạy chương trình
sẽ được trình bày để thể hiện khả năng của các
thuật toán đã cài đặt trên robot. Robot được sử
dụng là PC-Bot 914 của hãng Frontline Robotics
(Canada). Đây là một robot với máy tính gắn trên
thân, chạy hệ điều hành Windows, có khả năng lập
trình điều khiển di chuyển bằng bánh xe khá thuận
tiện, như thấy trên trên hình H. 6. Robot được tích
hợp sẵn camera, microphone, loa, cảm biến vật
cản. Tuy nhiên, trong nghiên cứu này, robot được

gắn thêm một màn hình hiển thị và camera được
nâng cao bằng giá đỡ để có thể dễ dàng thu được
hình của biển số phòng.


H. 6 Robot PC-Bot 914 nguyên gốc của hãng
Frontline Robotics
Đầu tiên là kết quả phát hiện biển số phòng với
các tham số của chương trình được cho trong Bảng
1. Ảnh chụp một biển số phòng bằng camera với
ngoại cảnh là cửa và khung cửa được thể hiện trên
hình H. 7a. Ảnh được chụp hướng từ dưới lên và
từ bên phải của biển số. Hình H. 7b thể hiện kết
quả của các quá trình phân vùng màu, phát hiện
các điểm góc và phát hiện các vùng có dạng hình
bình hành. Trên hình này, hai hình bình hành được
phát hiện là các vùng được đánh số 1 và 2. Lưu ý
rằng đây là kết quả sau khi đã trải qua bước hậu xử
lý để loại các vùng hình bình hành có kích thước
và tỉ lệ cạnh không phù hợp.

(a)
Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 243


Mã bài: 49

(b)

(c)

H. 7 (a) Kết quả phân vùng màu, (b) phát hiện
điểm góc và (c) vùng hình bình hành

Bảng 1 Các tham số của mô-đun phát hiện biển số
Tham số

hiệu
Giá trị

Kích thước ảnh được chuẩn
hoá trước khi phân vùng
640×480

Hệ số điều chỉnh kích thước
các vùng khi phân hoạch
k

1000
Độ dài xét đoạn thẳng để tìm
điểm góc
l

50
Ngưỡng dưới xét đoạn thẳng
tìm điểm góc
low


0,6
Ngưỡng trên xét đoạn thẳng

tìm điểm góc
hi


0,9
Ngưỡng trên cho tỉ lệ các cạnh
đối
d


0,8
Ngưỡng dưới cho tỉ lệ các cạnh
kề
k


0,4
Kích thước vùng (độ dài cạnh) 50÷200


Hình H. 7c thể hiện các ảnh kết quả sau khi đã
được trích xuất từ ảnh gốc đầu vào và được biến
đổi về dạng hình chữ nhật, tương ứng với hai vùng
1 và 2 đã được phát hiện và đánh dấu ở trên. Do
trích xuất từ ảnh gốc nên ảnh vẫn giữ nguyên được
độ phân giải từ camera khi chụp. Tổng thời gian
xử lý cho bước này là 0,17 giây với máy tính cấu
hình CPU 2 lõi, tốc độ 2,66GHz và dung lượng
RAM 2GB.
Kết quả thử nghiệm cho thấy với CSDL ảnh mẫu,

mô-đun phát hiện đúng được 91,8% biển số phòng
trên tổng số 6373 ảnh được thu ở nhiều điều kiện
khác nhau. Mô-đun cũng phát hiện thừa các vùng
trong số 29,5% ảnh, tuy nhiên ở các quá trình tiếp
theo, các vùng phát hiện thừa này sẽ tiếp tục bị
loại bỏ nếu không tìm thấy ký tự nào trong đó. Chi
tiết kết quả được thống kê trong Bảng 2.
Với mô-đun phân tách ký tự, các tham số của
chương trình được cho trong Bảng 3. Hình H. 8
thể hiện kết quả ảnh được nhị phân hoá từ thuật
toán phân ngưỡng, tương ứng với hai ảnh hình
bình hành được trích xuất ở bước trên. Sau bước
này, ảnh được phân tách ký tự dựa trên việc tìm
vùng [14]. Các vùng sinh ra bởi đường viền và mũ
đinh gắn biển bị loại bỏ nhờ các yếu tố kích thước.
Với ảnh biển số 2, do tất cả các vùng tìm được đều
bị lọc bỏ nhờ các yếu tố kích thước và tỉ lệ chiều
rộng với chiều cao, nên ảnh này cũng bị loại bỏ
trong kết quả cuối cùng. Tổng thời gian thực hiện
của bước này là dưới 0,01 giây.

Bảng 2 Kết quả mô-đun phát hiện biển số phòng
Loại ảnh biển Số
ảnh

Phát hi
ện
đúng
Phát hi
ện

thừa
Thật, ít ngoại cảnh

3654

351
5
96,2
%
782

21,4
%
Thật, nhiều ngoại
cảnh
1427

117
9
82,6
%
646

45,3
%
Giả lập, ít ngoại
cảnh
824 801

97,2

%
138

16,7
%
Giả lập, nhiều
ngoại cảnh
468 353

75,4
%
311

66,5
%
Tổng số
6373

584
8
91,8
%
187
7
29,5
%

Mô-đun nhận dạng ký tự được xây dựng với kích
thước chuẩn hoá của các ảnh là 64×32. CSDL
được xây dựng với 20 ảnh tương ứng với 10 ký tự

chữ số từ 0 tới 9, ứng với mỗi ký tự sẽ có hai ảnh
thể hiện bằng hai phông chữ khác nhau, với một số
ví dụ được thể hiện trong hình H. 9. Các tham số
khác được liệt kê trong Bảng 4. Kết quả thử
nghiệm cho thấy với CSDL ảnh thử nghiệm đã
được xây dựng, tỉ lệ nhận dạng chính xác các ảnh
ký tự sau khi đã được phân tách là 99,8%. Các lượt
chạy đều được thực hiện với thời gian nhỏ hơn
0,01 giây.

244 Đào Trung Kiên, Lê Thị Lan


VCM2012

(a)

(b)
H. 8 Kết quả phân tách ký tự

Bảng 3 Các tham số của mô-đun phân tách ký tự
Tham số Ký
hiệu
Giá trị

Hằng số của hàm nhân trong
phân ngưỡng thích nghi
c

8

Kích thước vùng ký tự nhỏ nhất
(diện tích vùng so với diện tích
biển)
5%
Kích thước vùng ký tự lớn nhất
(diện tích vùng so với diện tích
biển)
50%
Khoảng của tỉ lệ chiều rộng/cao 0,3÷1,0



H. 9 Một số ảnh ký tự mẫu trong CSDL

Bảng 4 Các tham số của mô-đun nhận dạng ký tự
Tham số Ký hiệu

Giá trị

Kích thước ảnh chuẩn hoá cỡ
nhỏ

16×8
Kích thước ảnh chuẩn hoá 64×32

Ngưỡng
corr
chấp nhận
nd



0,5


H. 10 Thử nghiệm hoạt động của robot đưa thư
Một số hình ảnh quá trình hoạt động thử nghiêm
của robot được thể hiện trên hình H. 10. Ở hình
thứ nhất, robot đang nhận yêu cầu chuyển thư ở
trạng thái S
2
. Ở hình thứ hai, robot di chuyển tới
phòng tương ứng trong hành lang và chờ nhận thư.

4. Kết luận
Bài báo này trình bày việc xây dựng một robot
dịch vụ phục vụ việc chuyển thư giữa các phòng
trong một toà nhà. Nguyên tắc hoạt động chính
của robot dựa trên việc phát hiện và nhận dạng
biển số phòng. Các thuật toán xử lý ảnh từ camera
cho từng mô-đun chương trình đã được phân tích
và lựa chọn hợp lý nhằm đảm bảo tính hiệu quả
của chương trình cả trên hai tiêu chí là độ chính
xác và tốc độ xử lý. Thử nghiệm các thuật toán
trên tập dữ liệu mẫu cho thấy chương trình cho tỉ
lệ nhận dạng đúng rất cao với thời gian tính toán
nhỏ.
Mô hình robot này trên thực tế có thể được ứng
dụng vào nhiều mục đích khác như vận chuyển đồ,
trợ giúp người tàn tật, dẫn đường, tìm đường,
hay trong các ứng dụng có sử dụng tương tác

người-robot bằng thị giác máy tính.

Lời cảm ơn
Công trình trình bày trong bài báo này nằm trong
khuôn khổ của đề tài Khoa học và Công nghệ cấp
Bộ mã số B2011-01-05 “Nghiên cứu và phát triển
hệ thống phát hiện và nhận dạng đối tượng trong
môi trường cảm thụ thông minh và di động”.
Nhóm tác giả xin chân thành cảm ơn các thành
viên trong đề tài đã giúp đỡ trong quá trình thực
hiện công trình nghiên cứu này.

Tài liệu tham khảo
[1] Matas, J., and Zimmermann, K., 2005.
Unconstrained licence plate and text
localization and recognition, 8th Int. IEEE
Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 245


Mã bài: 49
Conf. on Intelligent Transportation Systems,
572-577, Wien, Austria.
[2] Deb, K., Gubarev, V.V., and Jo, K.H., 2007.
Vehicle license plate detection algorithm based
on color space and geometrical properties, J. of
Network and Computer Applications, 30(4),
1324-1333.
[3] Forssen, P E., and Lowe, D.G., 2007. Shape
descriptors for maximally stable extremal
regions, IEEE 11th Int. Conf. on Computer

Vision, 1-8, Rio de Janeiro.
[4] Dao, T K., Le, T L., Tran T H., and Le, T T.,
2012. A literature review on license plate
recognition and vehicle classification, J. on
Information Technologies and
Communications, E-2, 5(9).
[5] Wroblewski, P., 2005. Recognition of Polish
car license plates, Computer Recognition
Systems, 30, 893-900.
[6] Martinsky, O., 2007. Algorithmic and
mathematical principles of automatic number
plate recognition systems, B.Sc Thesis, Brno.
[7] Kwasnicka, H., and Wawrzyniak, B., 2002.
License plate localization and recognition in
camera pictures, 3rd Symposium on Methods of
Artificial Intelligence, 243-246.
[8] Oz, C., and Ercal, F., 2005. A practical license
plate recognition system for real-time
environments, Computational Intelligence and
Bioinspired Systems, 3512, 881-888.
[9] Kim, K.I., Jung, K., and Kim, J.H., 2002. Color
texture-based object detection: An application
to license plate localization, 1st Int. Workshop
on Pattern Recognition with Support Vector
Machines, 2388, 293-309, Niagara Falls,
Canada.
[10] Marr, D., and Hildreth, E., 1980. Theory of
edge detection, Proceeding of the Royal
Society, Series B, 207(1167), 187-217.
[11] Lewis, J.P., 1995. Fast Template Matching,

Vision Interface 95, Canadian Image Processing
and Pattern Recognition Society, Quebec City,
Canada, p. 120-123.
[12] Zweng, A., and Kampel, M., 2009. High
performance implementation of license plate
recognition in image sequences, 5th Int. Symp.
on Advances in Visual Computing: Part II, 598-
607, Nevada.
[13] Felzenszwalb, P.F., and Huttenlocher, D.P.,
2004. Efficient graph-based image
segmentation, Int. J. of Computer Vision, 59(2).
[14] Chow, C.K., and Kaneko, T., 1972. Automatic
boundary detection of the left ventricle from
cineangiograms, Computers and Biomedical
Research, 5, 388-410.

Đào Trung Kiên tốt nghiệp ngành Công nghệ
thông tin của Trường Đại học
Cergy-Pontoise, Pháp vào năm
2004. Anh nhận bằng thạc sĩ về
Hệ thống phân tán của Trường
Đại học Paris 6 (UPMC), Pháp
năm 2006, và bằng tiến sĩ về Cơ
khí và Tự động hoá của Trường
Đại học Dayeh, Đài Loan năm
2010. Hiện anh là giảng viên, nghiên cứu viên của
Phòng nghiên cứu Môi trường Cảm thụ và Tương
tác, thuộc Viện nghiên cứu quốc tế MICA, Trường
Đại học Bách khoa Hà Nội. Các hướng nghiên cứu
chính bao gồm định vị ở môi trường trong nhà,

tương tác người-hệ thống đa phương thức, động
lực học và điều khiển.

Lê Thị Lan nhận bằng tiến sĩ
chuyên ngành Tín hiệu, ảnh và
truyền thông tại Học viện
nghiên cứu về công nghệ thông
tin và tự động hóa (INRIA)
Sophia Antipolis, Đại học
Nice, Cộng hòa Pháp năm
2009. TS. Lê Thị Lan hiện là giảng viên/cán bộ
nghiên cứu phòng Thị giác máy tính, Viện nghiên
cứu quốc tế MICA, Trường Đại học Bách khoa Hà
Nội. Các lĩnh vực nghiên cứu chính của TS. Lê Thị
Lan: tìm kiếm thông tin ảnh/video dựa trên nội
dung, phân tích và hiểu nội dung ảnh/video, tương
tác người - máy.



×