Tải bản đầy đủ (.docx) (44 trang)

Nghiên cứu giải thuật xử lý ảnh ứng dụng cho quản lý xe máy

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 (1.22 MB, 44 trang )

MỤC LỤC
1. TỔNG QUAN Trang 3
2. MỤC TIÊU VÀ CÁC NỘI DUNG NGHIÊN CỨU Trang 5
2.1. Mục tiêu nghiên cứu Trang 5
2.2. Nội dung nghiên cứu Trang 6
2.2.1. Thu nhận ảnh và tiền xử lý Trang 6
2.2.2. Kỹ thuật nhận dạng vùng chứa biển số xe Trang 6
2.2.3. Tách các ký tự Trang 6
2.2.4. Kỹ thuật nhận dạng ký tự Trang 7
3. QUÁ TRÌNH THỰC HIỆN CÁC NỘI DUNG Trang 7
3.1. Nghiên cứu, tìm hiểu công dụng của các phần mềm hiện có Trang 7
3.2. Nghiên cứu kỹ thuật xử lý ảnh biển số xe Trang 9
3.2.1. Thu nhận ảnh và tiền xử lý Trang 9
3.2.1.1. Đưa ảnh về ảnh xám Trang 10
3.2.1.2. Tăng độ tương phản của ảnh xám Trang 10
3.2.1.3. Lọc trung vị Trang 10
3.2.1.4. Chuyển ảnh về dạng nhị phân Trang 11
3.2.1.5. Lọc trung vị để khử nhiễu lần 2 Trang 11
3.2.1.6. Phép toán hình thái giãn và co Trang 11
3.2.2. Kỹ thuật nhận dạng vùng chứa biển số xe Trang 12
3.2.3. Tách các ký tự Trang 14
3.2.4. Xoay vùng biển số và cắt phần dư Trang 14
3.2.5. Nhị phân ngược Trang 15
3.2.6. Nhận dạng ký tự Trang 15
3.3. Các công thức sử dụng trong phần nghiên cứu giải thuật Trang 16
3.3.1. Đưa ảnh về ảnh xám Trang 16
3.3.2. Tăng độ tương phản của ảnh xám Trang 16
3.3.3. Lọc trung vị Trang 17
3.3.4. Công thức nhị phân hoá ảnh và thuật toán Ostu tìm ngưỡng T
Trang 17
3.3.5. Phép toán hình thái giãn và co Trang 18


3.3.6. Phương pháp dò biên theo toán tử Laplace Trang 18
3.3.7. Phép quay hình học Trang 20
3.3.8. Nhị phân ngược Trang 20
3.3.9. Kỹ thuật nhận dạng ký tự Trang 21
4. KẾT QUẢ VÀ SẢN PHẨM ĐÃ ĐẠT ĐƯỢC Trang 30
4.1. Kết quả thử nghiệm Trang 30
4.1.1. Tiền xử lý ảnh Trang 30
4.1.2. Nhận dạng vùng chứa biển sổ Trang 33
4.1.3. Tách ký tự biển số Trang 33
4.2. Độ chính xác Trang 36
4.3. Thời gian học mẫu Trang 36
5. XÂY DỰNG ỨNG DỤNG QUẢN LÝ Trang 37
5.1. Giao diện chính của chương trình Trang 37
5.2. Giao diện phần quản lý xe vào Trang 37
5.3. Giao diện phần quản lý xe ra Trang 38
5.4. Giao diện phần quản lý của admin Trang 39
6. KẾT LUẬN VÀ KIẾN NGHỊ Trang 41
PHỤ LỤC HÌNH ẢNH Trang 42
TÀI LIỆU THAM KHẢO Trang 44
1
2
1. TỔNG QUAN
Hiện nay, Việt Nam là một trong những nước có số lượng xe sử dụng khá lớn
do đó việc ứng dụng các hệ thống thông minh nhằm mang lại hiệu quả cao trong việc
quản lý xe máy ngày càng được quan tâm và đầu tư phát triển như các hệ thống quản
lý bãi đỗ xe bằng thẻ từ và hệ thống thu phí tự động, hệ thống xử phạt xe vi phạm giao
thông tự động,… Một số bãi đỗ xe áp dụng phương pháp quản lý thông minh như ở
các tòa nhà chung cư cao tầng, BigC , CoopMart
Nguyên tắc hoạt động của chúng như sau: đầu tiên camera ghi hình biển số xe
và lưu vào cơ sở dữ liệu, tiếp đó một thẻ từ được quẹt qua đầu đọc và chứa thông tin

hình ảnh của biển số xe vừa chụp. Thẻ từ này được giao cho người gửi xe. Khi lấy xe
ra, người gửi xe quẹt thẻ qua đầu đọc, mã số thẻ sẽ được so sánh và hiện hình ảnh
chụp biển số xe trước đó, hệ thống sẽ so sánh xem biển số xe đã lấy ra và biển số xe
lúc gửi trong cơ sở dữ liệu có trùng nhau không, nếu trùng thì cho qua, nếu không
trùng thì yêu cầu dừng lại.
Hnh 1:Quy trnh hoạt động của hệ thống
Liên quan đến lĩnh vực nghiên cứu của đề tài nhóm các nhà nghiên cứu thuộc
Khoa công nghệ thông tin - Đại học Hàng Hải VN cũng đã có nghiên cứu về nhận
dạng vùng biển số trong mô hình không giới hạn vùng biển dựa trên lược đồ
3
Histogram và phương pháp hình thái học. Nhận dạng ký tự trên biển xe gần tương
đồng với nhận dạng ký tự chữ in.
Hệ thống tự nhận dạng biển số xe qua các quy trình như sau:
Thu nhận ảnh và tiền xử lý: Quá trình thu nhận ảnh trong hệ thống được thực
hiện tự động thông qua một camera giám sát, ảnh thu được có thể chia làm 2 dạng là
chỉ chụp vùng biển và bao gồm biển cùng một phần của đuôi xe. Ảnh cần được xử lý
trước khi nhận dạng bằng cách đưa ảnh về ảnh xám sau đó tăng độ tương phản để phân
biệt rõ vùng nền và vùng ký tự rồi được khử nhiễu thông qua bộ lọc trung vị hoặc
Gauss.
Kỹ thuật nhận dạng vùng chứa biển số xe: Kỹ thuật này được các nhà khoa
học sử dụng 3 phương pháp chính để giải quyết. Đó là phương pháp hình thái học -
Morphology; Phương pháp phép biến đổi Hough và Phương pháp phát hiện biên
Heuristic.
Tách các ký tự: Ảnh vùng biển số cần được đưa về cùng độ phân giải để thực
hiện việc xóa biên nếu có, tiếp theo nhị phân ảnh và lọc nhiễu để loại bỏ bớt các đối
tượng. Các nhà khoa học thuộc ĐH HHVN đã xem xét trên phương pháp hình thái học
và lược đồ Histogram.
Kỹ thuật nhận dạng ký tự: Phương pháp phổ biến nhất để nhận dạng ký tự là
sử dụng mạng nơ ron tức là huấn luyện cho máy tính để nhận dạng các ký tự. Tuy
nhiên do số lượng ký tự trên biển số là không nhiều và có hình dạng gần như chữ in

nên có thể sử dụng phương pháp cấu trúc kết hợp với đối sánh để nhận dạng.
Như vậy thuật toán tìm vùng chứa biển số được thực hiện qua hai giai đoạn là
lọc thô và lọc tinh. Lọc thô là tìm các vùng ảnh thỏa mãn điều kiện về Histogram của
vùng biển số xe. Lọc tinh là giai đoạn xác định các vùng đã thu được lọc thô dựa vào
điều kiện về hình thái học vùng biển để tìm vùng thích hợp nhất. Cuối cùng sẽ mở
rộng vùng thu được nhằm lấy được toàn bộ vùng biển và tiến hành việc cách ly ký tự.
Xây dựng thuật toán nhận dạng ký tự số kết hợp giữa các phương pháp nhận dạng dựa
vào nhận dạng theo cấu trúc, đặc điểm hình chiếu ngang - dọc. Để tăng tính tin cậy
cho hệ thống, kết quả được kiểm chứng lại bằng thuật toán đối sánh ký tự.
4
2. MỤC TIÊU VÀ CÁC NỘI DUNG NGHIÊN CỨU
2.1. Mục tiêu nghiên cứu
Hệ thống giữ xe tại trường Đại học Giao thông vận tải đang sử dụng hệ thống
phiếu quản lý truyền thống đó là sử dụng phiếu giữ xe dựa trên bảng số xe. Cách
làm này có rất nhiều hạn chế:
• Mất thời gian ghi phiếu, gây ùn tắc xe tại thời gian cao điểm.
• Mất nhiều nhân công cho việc quản lý giám sát phiếu giữ xe từ khi in ấn cho
đến lúc sử dụng.
• Giấy giữ xe mỏng rất dễ hư hại mất mát.
• Tốn nhiều công đoạn cho việc ghi phiếu giữ xe theo từng ngày.
• Khi lượng xe ra vào tập trung đông dễ gây ra tình trạng làm giả phiếu.
Với cách này nhà trường phải thuê một nhóm nhân viên chuyên trách để trực và
giữ xe. Họ quan sát xe vào ghi số xe và giao thẻ cho khách, quan sát xe ra và thu
hồi thẻ xe. Điều này rất tốn nhân công, nếu làm việc căng thẳng thì có thể dẫn đến
sai sót, thẻ xe có thể bị hỏng hoặc mất, khó khăn trong việc làm việc với khách khi
khách làm mất thẻ xe. Ở những giờ cao điểm, lưu lượng xe cộ và người ra vào ra
rất đông, thao tác bằng tay lại rất chậm có thể dẫn đến nhầm lẫn hoặc sơ suất trong
khâu soát vé gây tổn thất cho nhà trường.
Do vậy, đề tài sẽ tập trung nghiên cứu cải tiến các giải thuật nhận dạng bảng số
xe và xây dựng ứng dụng hệ thống nhận dạng bảng số xe phục vụ cho việc quản lý

xe máy tại trường.
Với hệ thống này, việc quản lý giữ xe sẽ được thực hiện một cách hoàn toàn tự
động, giảm thiểu tối đa sai sót trong quá trình làm việc. Tăng năng suất làm việc
của nhân viên trông giữ, thay vì phải có một nhóm thì khi sử dụng phần mềm chỉ
cần một nhân viên thao tác là có thể điều khiển các luồng xe ra vào một cách dễ
dàng và chính xác.
Với mục tiêu trên, nhóm tập trung nghiên cứu các vấn đề sau:
• Nghiên cứu các giải thuật xử lý ảnh bảng số xe.
5
• Nghiên cứu mạng nơron lan truyền ngược.
• Nghiên cứu cải tiến giải thuật xử lý ảnh bảng số xe.
• Nghiên cứu và viết ứng dụng phần mềm quản lý giữ xe.
• Áp dụng những nghiên cứu và ứng dụng vào việc quản lý xe của nhà trường.
2.2. Nội dung nghiên cứu
2.2.1. Thu nhận ảnh và tiền xử lý
Quá trình thu nhận ảnh trong hệ thống được thực hiện tự động thông qua
một camera giám sát, ảnh thu được bao gồm biển cùng một phần của đuôi xe.
Ảnh cần được xử lý trước khi nhận dạng bằng cách đưa ảnh về ảnh xám sau đó
tăng độ tương phản để phân biệt rõ vùng nền và vùng biển số xe rồi được khử
nhiễu thông qua bộ lọc trung vị. Tiếp theo ảnh được chuyển về dạng nhị phân
rồi được lọc lại trung vị thêm 1 lần nữa nhằm mục đích khử nhiễu lần 2. Sau đó
sử dụng phép toán hình thái dãn và co để loại bỏ triệt để những điểm đen gây
nhiễu.
2.1.2 Kỹ thuật nhận dạng vùng chứa biển số xe
Nhóm nghiên cứu sử dụng phương pháp chính để giải quyết là phương
pháp gán nhãn cho các thành phần liên thông và lấy thành phần liên thông theo
điều kiện phù hợp để tách vùng chứa biển số xe.
2.1.3 Tách các ký tự
Sau khi nhận diện được vùng chứa biển số,tiếp tục xử lý vùng biển số đã
được tách từ ảnh gốc theo thứ tự xử lý là:

• Lọc trung vị để khử nhiễu
• Chuyển về ảnh xám
• Cân bằng độ sáng
• Chuyển về ảnh nhị phân
• Xoay khung biển số rồi cắt vùng dư
6
• Sau đó nhị phân ngược biến các điểm ảnh trắng thành đen và ngược lại
nhằm mục đích xử lý biển số
• Dùng phép toán hình thái dãn và co để tách dòng biển số dựa trên lược
đồ chiếu ngang của ảnh nhị phân ngược mà ta vừa biến đổi.
Sau đó tách từng ký tự dựa theo lược đồ chiếu dọc của các vùng ngang
mà ta tách ở trên. Sử dụng một số điều kiện để nâng cao khả năng lấy vùng ký
tự. Cuối cùng thay đổi kích thước ảnh về 7x17 (pixel).
2.1.4 Kỹ thuật nhận dạng ký tự
Phương pháp phổ biến nhất để nhận dạng ký tự là sử dụng mạng nơron
tức là huấn luyện cho máy tính để nhận dạng các ký tự.
3. QUÁ TRÌNH THỰC HIỆN CÁC NỘI DUNG
3.1. Nghiên cứu, tìm hiểu công dụng của các phần mềm giữ xe hiện có
Với nhu cầu cấp thiết trong việc quản lý xe máy trong những khu vực lớn,
nhiều phần mềm giải pháp của các công ty đã ra đời. Trong bài giới thiệu này,
nhóm xin được giới thiệu phần mềm Mắt Thần 2.0 của Công ty cổ phần PT và CG
công nghệ Mắt Thần. Đạt giải Nhân Tài Đất Việt 2009 và Trí Tuệ Việt Nam 2006.
Các tính năng của Mắt Thần 2.0:
Các tính năng an ninh an toàn xe gửi
• Cảnh báo xe vào gửi sử dụng thẻ không đăng ký (thẻ giả)
• Cảnh báo biển số xe ra khác biển số xe vào trên cùng thẻ gửi xe
• Cảnh báo xe vào gửi trùng với biển số xe đang gửi trong bãi
• Cảnh báo tình huống sử dụng 1 thẻ để gửi nhiều xe
• Cảnh báo xe vào gửi không đúng biển số đăng ký
• Cảnh báo thẻ gửi xe hết hạn và sắp hết hạn thuê bao

Các chức năng hỗ trợ xử lý các tình huống mất thẻ, mất xe:
• Các chức năng tìm kiếm trong CSDL theo các tùy chọn tìm kiếm: biển số xe
(một phần biển số xe), số thẻ, khoảng thời gian
7
• Tìm kiếm trong video hộp đen
• Kết quả tìm kiếm bao gồm cả thông tin hình ảnh biển số xe, ảnh xe, ảnh mặt
người vào gửi xe, ảnh mặt người mang xe ra khỏi bãi, ngày giờ…
Quản lý tính phí
• Tính phí gửi xe theo lượt
• Tính phí gửi xe theo block
• Tính phí gửi xe theo công thức riêng của nhà quản lý
• Tùy chọn tự động in biên lai phí gửi xe khi xe ra
Kết xuất báo cáo thống kê
• Báo cáo thống kê doanh thu phí gửi xe theo thời gian, theo ca…
• Báo cáo thống kê tình hình xe vào/ra theo phân loại xe, theo thời gian…
• Báo cáo thống kê theo yêu cầu riêng của nhà quản lý
Nhận dạng biển số xe
• Tùy chọn chỉ nhận dạng biển số xe máy hàng dưới (mục đích thao tác nhanh,
đơn giản cho nhân viên bảo vệ)
• Tùy chọn nhận dạng cả hàng trên biển số xe máy
• Tùy chọn chỉ nhận dạng hàng trên biển số xe máy một khi hàng trên còn nhận
dạng được
• Nhận dạng đầy đủ thông tin biển số ô tô (nhận dạng được mọi loại hình biển số
ô tô Việt Nam đang lưu hành)
Tính năng hộp đen
• Lưu dữ liệu hộp đen nguyên bản
• Lưu dữ liệu hộp đen kèm thông tin quẹt thẻ, nhận dạng
• Lưu dữ liệu hộp đen kèm đầy đủ thông tin
8
Trích vùng chứa biển số

Cách ly các ký tự
Nhận dạng ký tự
Xử lý kết quả
Ảnh đầu vào
• Các chế độ ghép kênh
• Nhận dạng biển số và tìm kiếm biển số trong hộp đen
Các giải pháp đồng bộ dữ liệu, xử lý sự cố
• In danh sách xe đang gửi
• Cho xe ra bằng tay
• Quẹt thẻ cho xe ra khi mất kết nối đến server
• Cho xe ra sử dụng thông tin lưu trong thẻ
• Đồng bộ lại dữ liệu xe ra trong khoảng thời gian hệ thống gặp sự cố
• Cơ chế backup và đồng bộ đảm bảo an toàn dữ liệu
Việc nghiên cứu tìm hiều chức năng của các phần mềm hiện đang có trên thị
trường nhằm mục đích làm cho phần mềm ứng dụng của nhóm nghiên cứu sẽ đáp
ứng được đầy đủ các chức năng cần thiết và đảm bảo không bị lỗi thời so với
những phần mềm đó.
3.2. Nghiên cứu giải thuật xử lý ảnh biển số xe.
Yêu cầu của bài toán là áp dụng các thuật toán thích hợp tìm vùng chứa biển số,
trích vùng biển số, cách li các kí tự trên biển số, từ đó máy tính có khả năng xử lí
và nhận dạng được. Có thể tóm tắt yêu cầu của bài toán thành 3 bài toán chính:
trích biển số xe, tách ký tự và xử lý các ký tự.
Hnh 2: Các yêu cầu bài toán tự động nhận dạng biển số xe
3.2.1. Thu nhận ảnh và tiền xử lý
Ảnh cần được xử lý trước khi nhận dạng bằng cách đưa ảnh về ảnh xám
sau đó tăng độ tương phản để phân biệt rõ vùng nền và vùng biển số xe rồi
được khử nhiễu thông qua bộ lọc trung vị. Tiếp theo ảnh được chuyển về dạng
9
nhị phân rồi được lọc lại trung vị thêm 1 lần nữa nhằm mục đích khử nhiễu lần
2. Sau đó sử dụng phép toán hình thái dãn và co để loại bỏ triệt để những điểm

đen gây nhiễu.
3.2.1 1. Đưa ảnh về ảnh xám
Để chuyển ảnh màu chụp từ camera về ảnh xám ta biết rằng ảnh là mảng
số thực hai chiều
( )
yx
I
,
, có kích thước (XxY), trong đó mỗi giá trị
( )
yx
I
,
(tại
một điểm ảnh), biểu thị mức xám của ảnh tại vị trí
( )
yx,
tương ứng. Khi biết
được thành phần 3 màu đỏ, xanh lá và xanh dương tại vị trí
( )
yx,
bất kỳ, ta
có thể sử dụng công thức để chuyển ảnh màu sang ảnh xám.
3.2.1 2. Tăng độ tương phản của ảnh xám
Bước tiếp sau khi chuyển về ảnh xám đó là “Tăng độ tương phản của
ảnh xám”.
Histogram là một đặc trưng quan trọng của ảnh, dựa vào tổ chức đồ
chúng ta có thể nhận dạng sơ về ảnh, có kết luận cơ bản về ảnh: ảnh sáng,
tối, độ tương phản thấp, cao. Để tăng độ tương phản, ta sử dụng phương
pháp trượt histogram về đầu nhằm giảm cường độ sáng của ảnh. Sau đó ta

dãn tổ chức đồ để được ảnh có độ tương phản cao hơn
3.2.1 3. Lọc trung vị
Với lọc trung vị, điểm ảnh đầu vào sẽ được thay thế bởi trung vị các
điểm ảnh. Kỹ thuật này đòi hỏi các điểm ảnh trong cửa sổ phải xếp theo thứ
tự tăng dần hay giảm dần so với giá trị trung vị. Kích thước cửa sổ thường
được chọn sao cho số điểm ảnh trong cửa sổ ảnh là lẻ. Các cửa sổ thường
dùng là 3x3, 5x5, 7x7.
Lọc trung vị là phi tuyến vì:
Trungvi(x(m)+y(m)) ≠ trungvi(x(m)) + trungvi(y(m)).
Hữu ích cho việc loại bỏ các điểm ảnh hay các hàng mà vẫn bảo toàn độ
phân giải.
Hiệu quả giảm đi khi số điểm nhiễu trong cửa sổ lớn hơn hay bằng một
nửa số điểm trong cửa sổ.
10
3.2.1 4. Chuyển ảnh về dạng nhị phân
Để chuyển ảnh về dạng nhị phân, ta sử dụng phương pháp phân ngưỡng.
Đây là một phương pháp phân đoạn thông dụng nhằm biến một ảnh đa cấp
xám thành ảnh nhị phân (chỉ có 2 màu đen và trắng). Quá trình biến đổi ảnh
đa cấp xám thành ảnh nhị phân (hay còn gọi là quá trình nhị phân hóa). Với
T là ngưỡng, các điểm ảnh trên ngưỡng T là đối tượng và các điểm ảnh
dưới ngưỡng T là điểm nền.
3.2.1 5. Lọc trung vị để khử nhiễu lần 2
Sau khi thực hiện nhị phân hoá ảnh thì xuất hiện nhiều nhiễu nên chúng
ta thực hiện lọc nhiễu. Có rất nhiều phương pháp lọc nhiễu nhưng chúng ta
sử dụng kỹ thuật lọc trung vị vì kỹ thuật lọc trung vị sau khi thực hiện lọc
sẽ bảo toàn độ phân giải của ảnh.
3.2.1 6. Phép toán hình thái dãn và co
Đây là một trong những kĩ thuật được áp dụng trong giai đoạn xử lý. Hai
phép toán thường dùng là Dilation và Enosion hay còn gọi là phép co và
dãn ảnh. Từ hai phép toán cơ bản này người ta phát triển thành một số phép

toán như: đóng mở chúng được sử dụng rất nhiều để giảm các lỗi trong quá
trình nhận dạng.
Phép toán Dilation gọi là D(i): làm dầy
Enosion gọi là E(i): làm gầy
Các phép toán này thường ứng dụng trong nhận dạng ký tự và tách các
đối tượng với nhau, nối liền nét đứt.
Một ứng dụng quan trọng của phép co nhị phân là dùng để loại trừ các
chi tiết không cần thiết trên hình ảnh. Thí dụ, Trên một hình ảnh , ta có các
đối tượng có cỡ tương ứng 1,4,6 và 11 điểm ảnh, Bây giờ nếu muốn loại trừ
các đối tượng nhỏ không cần thiết trên ảnh, chỉ để lại các đối tượng có kích
thước lớn, như trong hình vẽ đối tượng ta cần giữ lại là những đối tượng có
kích thước 11 điểm ảnh. Ta sẽ sử dụng phần tử cấu trúc có kích thước
10x10 điểm ảnh để thực hiện phép co nhị phân (Erosion). Kết quả sẽ chỉ
11
còn lại 3 đối tượng có kích thước 1 điểm ảnh(Hình b). Sau đó để các đối
tượng trở lại kích thước ban đầu ta sử dụng phép giãn nhị phân (Dilation)
với phần tử cấu trúc có kích cỡ tương ứng (Hình c).
a) b) c)
Hnh 3:Phép toán hnh thái co và giãn
Quá trình thực hiện có thể được minh họa rõ ràng qua hình vẽ sau:
Hnh 4: Ứng dụng của phép co ảnh dưới dạng số nhị phân.
Theo thứ tự từ trái sang phải:
Hình ảnh ban đầu  Hình ảnh quá trình co nhị phân trên đối tượng với
phần tử cấu trúc 10x10, phần tử được tô đậm màu sẽ có giá trị 1 sau quá
trình co nhị phân  Phóng to đối tượng và giá trị của đối tượng sau quá
trình co nhị phân với phần tử cấu trúc 10x10.
3.2.2. Kỹ thuật nhận dạng vùng chứa biển số xe
Kỹ thuật được nhóm nghiên cứu sử dụng chính để giải quyết là phương
pháp gán nhãn cho các thành phần liên thông và lấy thành phần liên thông theo
điều kiện phù hợp. Để phân tích các đối tượng trong ảnh, chúng ta cần phải

phân biệt được các đối tượng cần quan tâm với phần còn lại của ảnh. Những đối
12
tượng này có thể tìm ra được nhờ các kỹ thuật phân đoạn ảnh, theo nghĩa tách
phần tiền cảnh ra khỏi hậu cảnh trong ảnh. Có thể hiểu phân vùng là tiến trình
chia ảnh thành nhiều vùng, mỗi vùng chứa một đối tượng hay nhóm đối tượng
cùng kiểu. Và đối tượng của chúng ta đó là biển số xe. Chính xác hơn, ở đây
chúng ta muốn tách vùng biển số ra khỏi vùng ảnh có cả phần đuôi xe để xử lý.
Kỹ thuật nhận dạng biển số xe dựa trên thuật toán gán nhãn liên thông sẽ
gán cho mỗi thành phần liên thông của ảnh nhị phân một nhãn riêng biệt. Nhãn
thường là các số tự nhiên bắt đầu từ một đến tổng số các thành phần liên thông
có trong ảnh. Giải thuật quét ảnh từ trái sang phải và từ trên xuống dưới. Trong
dòng thứ nhất của các pixel đen, một nhãn duy nhất được gán cho mỗi đường
chạy liên tục của pixel đen. Với mỗi pixel đen của các dòng tiếp theo, các pixel
lân cận trên dòng trước và pixel bên trái được xem xét. Nếu bất kì pixel lân cận
nào được gán nhãn, nhãn tương tự được gán cho pixel đen hiện thời, ngược lại
nhãn tiếp theo chưa được sử dụng được chọn. Thủ tục này được tiếp tục cho tới
dòng cuối của ảnh.
Lúc kết thúc tiến trình này, một thành phần liên thông có thể chứa các
pixel có các nhãn khác nhau vì khi chúng ta xem xét lân cận của pixel đen.
Pixel đối với lân cận trái và những lân cận trong dòng trước có thể được gán
nhãn một cách riêng biệt. Một tình huống như vậy phải được xác định và ghi
lại. Sau tiến trình quét ảnh, việc gán nhãn được hoàn tất bằng cách thống nhất
các mâu thuẫn các nhãn và gán lại các nhãn chưa sử dụng.
Sau khi gán nhãn các thành phần liên thông, ta lấy thành phần liên thông có tất
cả các điều kiện sau:
• 2500 pixel < Diện tích < 15000 pixel
• 95 pixel <Chiều rộng < 200 pixel
• 60 pixel < Chiều cao < 250 pixel
13
Các điều kiện này hợp thành cho ta được kết quả là vùng chứa biển số xe.

Hnh 5: Ví dụ thuật toán gán nhãn liên thông
3.2.3. Tách các ký tự
Sau khi nhận diện được vùng chứa biển số, tiếp tục xử lý vùng biển số
đã được tách từ ảnh gốc theo thứ tự xử lý là:
• Lọc trung vị để khử nhiễu
• Chuyển về ảnh xám
• Tăng độ tương phản
• Chuyển về ảnh nhị phân
• Sau đó nhị phân ngược biến các điểm ảnh trắng thành đen và ngược lại
nhằm mục đích xử lý biển số
3.2.4. Xoay khung biển số và cắt phần dư.
Để tăng độ chính xác của lược đồ ngang trong việc tách biển số thành 2
dòng ta phải xoay khung biển số theo độ nghiêng phù hợp. Thuật toán Laplace
14
được sử dụng để lọc biên ảnh . Sau đó sử dụng biên ảnh có được như là đầu vào
của phương pháp Hough để lấy được độ nghiêng của biển số. Có được góc
nghiêng ta sử dụng phép tịnh tiến xoay để xoay ảnh.
Ý tưởng của cách tiếp cận này là: Biển số xe được bao bọc bởi đường
viền. Do đó, có thể dùng phương pháp phát hiện biên, sau đó dùng phép biến
đổi Hough để trích những đoạn thẳng dọc, ngang tồn tại trong ảnh. Sau đó lấy
đoạn thẳng dài nhất có góc từ 800 đến 1000 . Rút góc của đoạn thẳng đó và
dùng phép quay để quay hình biển số bị nghiêng với góc trên và tâm là tâm của
biển số.
Sau khi xoay ảnh, xuất hiện vùng biên, ta sử dụng lược đồ chiếu ngang
và chiếu dọc của ảnh để cắt vùng biên đó.
3.2.5. Nhị phân ngược
Đảo ngược công thức quy ước của quá trình nhị phân ta có quá trình nhị
phân ngược. Mục đích của quá trình nhị phân ngược là vì các thuật toán của
chúng ta chỉ hoạt động trên nền đen.
Dùng phép toán hình thái dãn và co để tách dòng biển số dựa trên lược

đồ chiếu ngang của ảnh nhị phân ngược mà ta vừa biến đổi.
Sau đó tách từng ký tự dựa theo lược đồ chiếu dọc của các vùng ngang mà ta
tách ở trên. Sử dụng một số điều kiện để nâng cao khả năng lấy vùng ký tự.
Cuối cùng thay đổi kích thước ảnh về 7x17(px) ta được ảnh từng ký tự
của biển số cần nhận dạng.
3.2.6. Nhận dạng ký tự
Phương pháp phổ biến nhất để nhận dạng ký tự là sử dụng mạng nơ ron
tức là huấn luyện cho máy tính để nhận dạng các ký tự. Mô phỏng hoạt động
của các nơ ron thần kinh, mạng nơ ron nhân tạo là hệ thống bao gồm nhiều
phần tử xử lý đơn giản (neuron) hoạt động song song. Tính năng của hệ thống
này tuỳ thuộc vào cấu trúc của hệ, các trọng số liên kết nơ ron và quá trình tính
toán tại các nơ ron đơn lẻ. Mạng nơ ron có thể từ dữ liệu mẫu và tổng quát hoá
dựa trên các dữ liệu mẫu học.
3.3. Các công thức được sử dụng trong phần nghiên cứu giải thuật.
3.3.1. Đưa ảnh về ảnh xám
15
Trong phần tiền xử lý ảnh , bước đầu tiên ta phải chuyển ảnh màu từ
camera sang dạng ảnh xám để có thể xử lý. Đề chuyển ảnh màu sang ảnh xám
ta làm theo công thức:
O(x,y)= IR(x,y) * 0.287 + IG(x,y) * 0.599 + IB(x,y) * 0.114
Trong đó:
• x,y là toạ độ của điểm ảnh
• IR thành phân màu đỏ tại màu I(x,y)
• IG thành phân màu xanh lá tại màu I(x,y)
• IB thành phân màu xanh dương tại màu I(x,y)
• O(x,y): màu đầu ra,
• I(x,y) màu đầu vào
3.3.2. Tăng độ tương phản của ảnh xám
Để tăng độ tương phản, ta sử dụng phương pháp trượt tổ chức đồ về đầu
nhằm giảm cường độ sáng của ảnh. Sau đó ta dãn tổ chức đồ để được ảnh có

độ tương phản cao hơn.
Để dãn tổ chức đồ ta sử dụng công thức:
O(x,y) = I(x,y) x n (với n > 0)
Trong đó:
• x,y là toạ độ của điểm ảnh
• O(x,y): màu đầu ra,
• I(x,y) màu đầu vào
n < 1 : thu hẹp chân tổ chức đồ  giảm độ tương phản của ảnh
n > 1 : mở rộng chân tổ chức đồ  tăng độ tương phản của ảnh
Ở đây ta chọn n >1 để tăng độ tương phản của ảnh.
16
3.3.3. Lọc trung vị
Trung vị được viết bởi công thức:
V(m,n) = Trungvi(y(m - k,n-l)) với (k,l) Є W
Hoặc: cho một dãy x
1
, x
2
, x
n
được sắp xếp theo một trật tự khi đó x
tv
: điểm
trung vị được tính như sau:
X
tv
=
Thuật toán lọc trung vị:
B1: với mỗi điểm ảnh I(x,y) ta lấy cửa sổ WxW
B2: sắp xếp các giá trị điểm ảnh trong vòng cửa sổ theo một trật tự

B3: tính I
tv
theo công thức ở trên
B4: hiệu chỉnh lại I(x,y)
3.3.4. Công thức nhị phân hoá ảnh và thuật toán Ostu tìm ngưỡng T.
Ta có công thức tổng quát cho quá trình nhị phân hóa như sau:
Với I(x,y) là ảnh kết quả; A(x,y) là ảnh nguồn.
T là một nhân tố vô cùng quan trọng mang tính quyết định sự thành bại
của thuật toán. Để tính T ta dùng thuật toán Ostu, đây là tên một nhà nghiên
cứu người Nhật đã nghĩ ra ý tưởng cho việc tính ngưỡng T một cách tự động
dựa vào giá trị điểm ảnh của ảnh đầu vào nhằm thay thế cho việc sử dụng
ngưỡng cố định. Phương pháp này cho kết quả là mỗi ảnh khác nhau có một
ngưỡng tương ứng khác nhau bằng các bước xử lý như sau:
17
B1. Chọn một giá trị khởi tạo cho T (nên chọn giá trị mang tính công
thức, ví dụ T = (min + max) / 2, T = giá trị trung bình, tránh
dùng các giá trị mang tính định lượng thiết lập cứng).
B2. Phân hoạch ảnh sử dụng T. kết quả của bước này sẽ tạo ra 2
nhóm điểm ảnh: G1 chứa tất cả các điểm ảnh với giá trị
(intensity) > T và G2 chứa các điểm ảnh với giá trị (intensity) <=
T.
B3. Tính trung bình (Average hay Mean) m1 và m2 của các điểm ảnh
thuộc G1 và G2.
B4. Tính lại T dựa vào m1 và m2: T = (m1 + m2) / 2
B5. Lặp lại bước 2 đến 4 cho tới khi nào giá trị chênh lệch giữa T củ
và T mới là không đáng kể (nhỏ hơn một giá trị cho trước
deltaT). deltaT thường được sử dụng là sai số từ các phép tính
toán trong quá trình xử lý. Trong trường hợp này T được tính ở 4
sẽ có phép sai số là 1 / 2 * (giá trị đơn vị của điểm ảnh).
B6. T = T + 2T/5

3.3.5. Phép toán hình thái dãn và co.
Phép giãn nhị phân của tập hợp A bởi tập hợp B là tồn tại các điểm w
thuộc Z
2
sao cho w là tổng của hai điểm tương ứng bất kỳ thuộc tập hợp A và
tập hợp B, định nghĩa này được mô tả qua công thức :
{ }
2
w Z | w , ,A B a b a A b B⊕ = ∈ = + ∈ ∈

Tổng quát hơn, nếu A là một hình ảnh và B là phần tử cấu trúc có tâm
điểm nằm trên hình ảnh A, khi đó phép giãn của hình ảnh A bởi phần tử cấu
trúc B có thể được hiểu như quỹ tích của các điểm được phủ bởi phần tử cấu
trúc B khi tâm điểm của B di chuyển trên cạnh của hình ảnh A.
3.3.6. Phương pháp dò biên theo toán tử Laplace.
Dựa vào lược đồ xám của tập ảnh biển số, xác định được mức xám biến
đổi chậm, miền chuyển đổi mức xám có độ trải rộng. Trong trường hợp này
phương pháp dò biên sử dụng đạo hàm riêng bậc 2 hay toán tử Laplace là tối ưu
nhất.
Toán tử Laplace được định nghĩa như sau:
18
2
2
2
2
2
dy
f
dx
f

f

+

=∇
Vậy suy ra ta có:
( ) ( )( )
( ) ( )
[ ]
( ) ( )
[ ]
yxfyxfyxfyxf
x
yxfyxf
x
f
x
x
f
,1,,,1
,,1
2
2
−−−−+≈

−+∇












=


( ) ( ) ( )
1,,2,1 −+−+= yxfyxfyxf
Tương tự ta có:
( ) ( ) ( )
1,,21,
2
2
−+−+=


yxfyxfyxf
y
f
Toán tử Laplace dùng nhiều kiểu mặt nạ khác nhau để xấp xỉ rời rạc đạo hàm
bậc 2. Dưới đây là 3 kiểu mặt nạ hay dùng:












−−

=
010
141
010
1
H










−−−
−−
−−−
=
111
181

111
2
H












−−

=
121
252
121
2
H
Quá trình tính toán được thực hiện qua các bước sau:
• Bước 1:
IH ⊗
• Bước 2:
( )
yxIH ,⊗
• Bước 3: Tách ngưỡng

Ý nghĩa hình học:
( ) ( ) ( ) ( ) ( )
2,11,21,),1(1,14, ++−++−+−+−++=⊗ yxIyxIyxIyxIyxIyxIH
= I(x+1, y+1)- I(x+1, y)
+ I(x+1, y+1)- I(x, y+1)
+ I(x+1, y+1)- I(x+2, y+1)
19
+ I(x+1, y+1) – I(x+1, y+2)
( ) ( ) ( ) ( )
x
yxI
y
yxI
x
yxI
y
yxI

++∂


++∂


+∂
+

+∂
=
1,11,11,,1

( ) ( )
2
2
2
2
1,11,1
y
yxI
x
yxI

++∂


++∂
−=
I
2
−∇=
Kỹ thuật theo toán tử Laplace tạo đường biên mảnh (có độ rộng 1 pixel).
3.3.7. Phép quay hình học
Ta dùng phép quay để quay hình biển số bị nghiêng với độ nghiêng của
biển số được tính toán bằng phương pháp Hough và tâm là tâm của biển số. Sử
dụng phép quay Q(I, α): M(x, y) à N(x’, y’) với
x’ = (x – a)cos α – (y – b)sin α + a
y’ = (x – a)sin α + (y – b)cos α + b
Trong đó:
• x,y là tọa độ vào
• x',y' là tọa độ ra
• a,b tọa độ tâm quay ở đây lấy tâm I của ảnh.

• α là góc xoay
3.3.8. Nhị phân ngược
Ta có công thức tổng quát cho quá trình nhị phân ngược như sau:
Với I(x,y) là ảnh kết quả; A(x,y) là ảnh nguồn. T là ngưỡng được tìm
theo phương pháp Ostu.
3.3.9. Kỹ thuật nhận dạng ký tự
 Tổng quan về nhận dạng
20
Nhận dạng là quá trình ánh xạ từ một đối tượng đầu vào sang một đối
tượng khác theo một qui luật được đã được qui định từ trước. Trong nghiên
cứu này, đối tượng đầu vào là một hình ảnh nhị phân (ảnh chỉ có 2 màu
trắng và đen) của ký tự (mà máy tính chưa “hiểu được” ký tự này là gì), và
đối tượng đầu ra là một ký tự (mà máy tính đã “hiểu được” ký tự này là gì)
tương ứng với hình ảnh đó.
Quá trình nhận dạng dựa vào những mẫu học biết trước gọi là nhận dạng
có thầy hay học có thầy (supervised learning); trong trường hợp ngược lại
gọi là học không có thầy (non supervised learning).
 Học có thầy (supervised learning)
Kỹ thuật phân loại nhờ kiến thức biết trước gọi là học có thầy. Đặc điểm
cơ bản của kỹ thuật này là người ta có một thư viện các mẫu chuẩn. Từ các
mẫu chuẩn, máy tính sẽ tiến hành quá trình “học” để nhận biết được các đặc
trưng cũng như các qui luật của từng đối tượng này để lưu lại thành “kiến
thức”. Từ đó, mẫu cần nhận dạng sẽ được nhận biết thông qua “kiến thức”
mà máy tính đã học được từ các mẫu chuẩn (giống như quá trình nhận thức
của con người).
 Học không có thầy(unsupervised learning)
Kỹ thuật này có thể hình dung như quá trình khám phá những điều mà
con người chưa từng biết. Kỹ thuật học này phải tự định ra các lớp khác
nhau và xác định các tham số đặc trưng cho từng lớp. Học không có thầy
đương nhiên là khó khăn hơn. Một mặt, do số lớp không được biết trước,

mặt khác những đặc trưng của các lớp cũng không biết trước. Kỹ thuật này
nhằm tiến hành mọi cách gộp nhóm có thể và chọn lựa cách tốt nhất. Bắt
đầu từ tập dữ liệu, nhiều thủ tục xử lý khác nhau nhằm phân lớp và nâng cấp
dần để đạt được một phương án phân loại.
Trong nghiên cứu này, nhóm đã lựa chọn kỹ thuật học có thầy hay còn
gọi là học có giám sát.
Hiện nay, công cụ hỗ trợ đắc lực cho việc học của máy tính đó là mạng
Nơron nhân tạo.
21
w2
x1
x2
xn
w1
wn
y
w
 Mạng Nơron nhân tạo (Artificial Neural Network)
Mạng Nơron nhân tạo là mô hình xử lý thông tin được mô phỏng dựa
trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn
các Nơron được gắn kết để xử lý thông tin. Mạng Nơron nhân tạo giống như
bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả
năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri
thức đó trong việc dự đoán các dữ liệu chưa biết.
Hiện nay có rất nhiều mô hình mạng Nơron khác nhau được phát triển từ
các mô hình mạng cơ bản. Trong phần này sẽ đi sâu vào một trong những
mô hình mạng Nơron căn bản nhất, mô hình mạng Nơron lan truyền
ngược, gọi tắt là mạng lan truyền.
 Mạng lan truyền
• Cấu trúc của mạng

Hnh 6: Sự mô phỏng từ mạng Nơron của con người vào máy tính.
Cũng giống như các mạng Nơron khác, phần tử cơ bản của mạng
đó là các Nơron hay còn gọi là các phần tử xử lý của mạng, mỗi Nơron
nhận các dữ liệu vào (Inputs) từ một hay nhiều Nơron khác, xử lý chúng
và cho ra một kết quả (Outputs) duy nhất. Kết quả xử lý của một Nơron
có thể làm dữ liệu vào cho các Nơron khác.
22
Lớp nhập
Lớp xuất

Hnh 7: Mạng Nơron 1 lớp ẩn
Kiến trúc chung của một Mạng Nơron gồm 3 thành phần: một lớp
nhập (Input Layer), các lớp ẩn (Hidden Layers)_có thể có hoặc
không, và một lớp xuất (Output Layer).
Trong đó, các lớp ẩn (Hidden Layers) là các lớp trung gian chứa
các Nơron, mỗi lớp ẩn nhận dữ liệu đầu vào từ các Nơron ở lớp trước đó
xử lý như một Nơron lớp xuất và chuyển đổi các dữ liệu sau khi xử lý
này cho các lớp xử lý tiếp theo (có thể là lớp ẩn tiếp theo hoặc lớp xuất).
Số nút của lớp nhập và của lớp xuất do bài toán qui định, còn số
nút của lớp ẩn do người thiết kế mạng quyết định. Trong mạng lan
truyền, mỗi nút của lớp thứ i (0 < i < n) liên kết với mọi nút ở lớp thứ
(i+1), và các nút trong cùng lớp không liên kết với nhau. Ngoài ra có
một số cung liên kết trực tiếp từ các nút lớp nhập đến nút lớp xuất; ta gọi
mạng này là mạng lan truyền có nối trực tiếp. Mỗi cung trong mạng
được gắn một trọng số w .
• Hoạt động của mạng Nơron
23
Lớp ẩn
A
y

y=x
x
5
y=?
Nguyên lý hoạt động của mạng: mạng Nơron được xây dựng dựa
trên việc mô phỏng sự ánh xạ từ một dữ liệu đầu vào đến một dữ liệu
đầu ra, bằng việc xây dựng một hàm phi tuyến. Chúng ta có thể tượng
tưởng rằng, hàm này được biểu diễn bằng một đồ thị trong không gian đa
chiều mà ở đó, từ dữ liệu đầu vào, ta chuyển thành các tham số tọa độ
trong không gian để từ đó có thể xác định một điểm trên đồ thị, từ điểm
này ta suy ta tọa độ còn lại hay còn gọi là dữ liệu đầu ra. Một ví dụ rất cụ
thể như sau: ta có đồ thị y=x trong không gian, từ dữ liệu đầu vào là x=5,
ta xác định được điểm A trên đồ thị y=x, từ đó ta suy ra được y = 5, đó
chính là dữ liệu đầu ra của mạng.
Hnh 8: Sự hình dung về việc ánh xạ của mạng Nơron.
Vấn đề đặt ra ở đây là mạng Nơron sẽ thực hiện ánh xạ như thế
nào ? và làm sao để xây dựng được một đồ thị theo ý muốn ? Trong mô
hình mạng Nơron lan truyền ngược đã chỉ ra điều đó bằng 2 chức năng
chính của mạng: chức năng học và chức năng ánh xạ.
Mạng lan truyền chỉ có thể ở một trong hai trại thái: trạng thái học và
trạng thái ánh xạ. Trong trại thái ánh xạ, thông tin lan truyền từ lớp nhập
đến lớp xuất và mạng thực hiện ánh xạ để tính giá trị của các biến phụ
thuộc dựa vào các giá trị biến độc lập được cho: Y = NN(X). Trong trạng
thái học, thông tin lan truyền theo hai chiều nhiều lần để học các trọng
số.
Một cách khái quát, trong trạng thái ánh xạ: mạng xử lý mổi lần
một mẫu để tính Y = NN(X). Trước tiên, giá trị của các biến độc lập
được chuyển cho lớp nhập của mạng. Các nút nhập không tính toán gì
24
cả. Mỗi nút nhập chuyển giá trị của nó cho tất cả các nút ẩn. Mỗi nút ẩn

tính tổng trọng hóa (sẽ đề cập ở phần sau) của tất cả các dữ liệu nhập vào
bằng cách cộng dồn tất cả các tích giữa giá trị nút ẩn với trọng số của
cung liên kết giữa nút nhập và nút ẩn. Kế tiếp, một hàm truyền được áp
dụng trên tổng trọng hóa này cùng với một ngưỡng của nút ẩn đó để cho
ra giá trị thực sự của nút ẩn. Hàm truyền chỉ đơn giản nén giá trị vào một
miền giới hạn nào đó. Sau khi nén tổng trọng hóa của nó, đến lượt mình,
mỗi nút ẩn sẽ gửi kết quả đến tất cả các nút xuất. Mỗi nút xuất thực hiện
tương tự các thao tác như đã thực hiện đối với nút ẩn để cho ra giá trị kết
xuất của nút xuất. Giá trị của các nút xuất chính là giá trị thực, nghĩa là
giá trị của biến phụ thuộc cần xác định.
Bản chất ánh xạ do mạng thực hiện tùy thuộc vào giá trị các trọng
số trong mạng. Lan truyền ngược là một phương pháp cho phép xác định
tập trọng tốt nhất của mạng giải một bài toán được cho. Việc áp dụng
phương pháp lan truyền ngược là một quá trình lạp lại nhiều lần hai tiến
trình chính: ánh xạ và lan truyền ngược sai số. Hai tiến trình này được
tiến hành trên một tập mẫu xác định. Ta gọi chung tiến trình này là luyện
mạng hay còn gọi là học.
Quá trình luyện mạng được bắt đầu với các giá trị trọng số tùy ý –
có thể là các số ngẫu nhiên – và tiến hành lặp đi lặp lại. Mỗi lần lặp được
gọi là một thế hệ. Trong mỗi thế hệ, mạng hiệu chỉnh các trọng số sao
cho sai số giảm dần (sai số là độ lệch giữa các kết xuất thực sự và các kết
xuất đính). Tính trình điều chỉnh nhiều lần giúp cho trọng dần dần đạt
được tập hợp các giá trị tối ưu. Thường mạng cần được thực hiện nhiều
thế hệ trước khi việc luyện mạng hoàn tất.
Để cập nhật trọng trong mỗi thế hệ, mạng phải xử lý tất cả mẫu
trong tập mẫu. Đối với từng mẫu, mạng thực hiện các phép toán sau đây:
Trước tiên, mạng thực hiện quá trình lan truyền tiến, nghĩa là
mạng ánh xạ các biến nhập của mẫu hiện hành thành các giá trị xuất, như
đã trình bày ở trên, sử dụng các giá trị của các trọng hiện hành. Ở những
25

×