Luận
vănĐề tài: Bài toán nhận
d
ạ
ng
biển số
dạng.8
1.1 - Tính chất và sự cần thiết của bài toán nhận dang 8
1.1.1 Tính chất 8
1.1.2 Sự cần thiết. 8
1.2 - Không gian biểu diễn đối tượng, không gian diễn
dịch.
10
1.2.1 Không gian biểu diễn đối tượng 10
1.2.2 Không gian diễn
d
ị
ch.
10
1.3 - Mô hình và bản chất của quá trình nhận dạng 11
1.3.1 Mô
hình.
11
1.3.2 Bản chất của quá trình nhận
2.3 - Biên và các phương pháp tìm
biên.
24
2.3.1 Khái niệm về
biên:
24
2.3.2 Phương pháp
Gradient.
24
2.3.3 Toán tử la bàn. 29
2.3.4
Laplace.
31
2.3.5 Tách sườn ảnh theo Canny. 33
Đồ Án Tốt Nghiệp
2
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
TH
GVHD: Th.S Vũ Anh Dũng
xe.
52
3.2.1 Hướng tiếp cận phát triển vùng. 52
3.2.2 Hướng tiếp cận dò biên và biến đổi
Hough.
53
3.2.3 Phân ngưỡng và tím vùng đối tượng (hướng tiếp cận của đồ
án).
54
3.3 - Hướng giải
quyết.
54
3.4 - Phát hiện vùng chứa biển
số.
56
3.4.1 Giai đoạn 1: Biến đối ảnh xám và lọc
ảnh
57
3.4.2 Giai đoạn 2: Tiến hành phân ngưỡng hoặc phát hiện
biên.
57
3.4.3 Giai đoạn 3: Tìm đường bao đối đượng. 58
3.6.3 Mạng Kohonen 66
3.6.4 Mạng nơron nhiều lớp lân truyền ngược sai số 71
CHƯƠNG 4. Kết quả và hướng phát triển của bài toán nhận dạng biển số xe. 74
4.1 - Kết quả hướng giải quyết “phân ngưỡng và tìm đối
tượng”.
74
4.1.1 Kết quả dùng với phương pháp tìm biên Canny kết hợp với tìm vùng đối
tượng. 75
4.1.2 Kết quả dùng với phương pháp phân ngưỡng kết hợp tìm vùng đối tượng
75
4.1.3 Kêt
luận.
76
4.2 - Hướng phát triển của bài toán nhận dạng biền số xe. 82
4.2.1 Nhận
xét.
82
4.2.2 Hướng phát triển của bài toán 82
KẾT
vẽ
Hình 1.1 Nhận dạng vân tay trên máy
ATM.9
Hình 1.2 Phiên dịch viên Jibbigo
9
Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng.
14
Hình 2.1 Quá trình xử lý
ảnh.15
Hình 2.2 Các bước cơ bản trong hệ thống xử lý
ảnh
15
Hình 2.3 (a) ngưỡng 40,(b) ngưỡng 121
29
Hình 2.11 Tìm biên
Laplace33
Hình 2.12 Tìm biên theo
Canny
35
Hình 2.13 Trục tọa độ đề các đi qua 2
điểm
36
Hình 2.14 Trục tọa độ đề
các
36
Hình 2.15 Hệ tọa độ
cực.37
Hình 2.16 Đường thẳngHough trong tọa độ
cực.
46
Hình 3.2 Biển số
mới
52
Đồ Án Tốt Nghiệp
5
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
TH
GVHD: Th.S Vũ Anh Dũng Hình 3.3 Một số loại biển số xe thông dụng
54
Hình 3.4 (a) ảnh đầu vào (b) ảnh xử lý xám và lọc song
phương.57
Hình 3.12 Học tham số có giám
sát
66
Hình 3.13 Lưới các nơron
67
Hình 3.14 Ánh xạ mặt cầu vào lưới nơron
15x1571
Hình 3.15 Mạng nơron 2 l
ớp.72
Hình 4.1 Biển không nhận dạng
được77
Hình 4.2 Vùng biển số trong quá trình phân
ngưỡng.
Tên
bảng
Trang
Bảng 1
Chi tiết tìm vùng biển số sử dụng dò biên Canny và tìm
vùng đối tượng.
77Bảng 2
Chi tiết tìm vùng biển số sử dụng hướng phân ngưỡng và
tìm vùng đối tượng.
78
Bảng 3
Tìm vùng biển số trong các khoảng ngưỡng khác nhau
tăng dần.(biển được tìm thấy ở khoảng ngưỡng trước sẽ
không phải là đối tượng xét ở các khoảng ngưỡng sau). 79
sau).
82
Đồ Án Tốt Nghiệp
7
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
TH
GVHD: Th.S Vũ Anh Dũng MỞ
ĐẦU
Hiện nay, với sự phát triển kinh tế xã hội đã bùng nổ số lượng phương tiện giao
thông. Gây ra những khó khăn trong công tác quản lý, xử lý vi phạm giao thông mà
nguồn nhân lực con người khó có thể đảm đương được. Vì vậy vần để cần thiết là có
CHƯƠNG 1. Tổng quan về nhận dạng.
1.1 - Tính chất và sự cần thiết của bài toán nhận dang. 1.1.1 Tính chất
- Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo một mô
hình nào đó và gán cho chúng vào một lớp (gán đối tượng một tên gọi) dựa theo những
quy luật và các mẫu chuẩn. 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 (supervised learning); trong trường hợp ngược lại gọi là học
không thầy (non supervised learning).
Hình 1.1 Nhận dạng vân tay trên máy ATM. Thay vì phải nhập mã pin trên máy ATM thì bạn chỉ việc đặt ngón tay trỏ của mình
lên và giao dịch sẽ bắt đầu.
Nhận dạng giọng nói: ứng dụng này được tích hợp trên nhiều sản phẩm, bạn sẽ điều
khiển các thiết bị qua giọng nói của mình thay vì phải thao tác trực tiếp bằng tay, như
trong mô hình nhà thông minh, trên điện thoại…. Ví dụ : ứng dụng Jibbigo trên điện
thoại đi động , Ứng dụng này có thể dịch được tiếng nói của người sử dụng với 8 ngôn
ngữ khác nhau như tiếng Anh, Pháp, Đức, Nhật, Hàn Quốc, Philipin, Tây Ban Nha,
Trung Quốc.
Hình 1.2 Phiên dịch viên Jibbigo Nhận dạng biển số xe: sẽ được giới thiệu tại Chương III
Đồ Án Tốt Nghiệp
10
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
}; mỗi x
i
biểu diễn một đặc tính. Không gian biểu
diễn đối tượng thường gọi tắt là không gian đối tượng A được định nghĩa:
A={X
1
,X
2
……,X
m
} Trong đó mỗi X
i
biểu diễn một đối tượng. Không gian này có thể là vô hạn.
nhưng để tiện xem xét thì ta chỉ xét tập hữu
hạn.
1.2.2 Không gian diễn dịch.
Không gian diễn dịch là tập các tên gọi của đối tượng. Kết thúc quá trình nhận
dạng ta xác định được tên gọi cho các đối tượng trong tập không gian đối tượng hay
nói là đã nhận dạng được đối tượng.
Một hình thức gọi là Ω là tập tên đối tượng:
người ta gọi là nhận dạng có thầy. Trường hợp hai là nhận dạng không có thày ( trường
hợp này khó khăn hơn).
1.3 - Mô hình và bản chất của quá trình nhận dạng. 1.3.1 Mô hình.
Việc chọn lựa một quá trình nhận dạng có liên quan mật thiết đến kiểu mô tả mà
người ta sử dụng để đặc tả đối tượng. Trong nhận dạng, người ta phân chia theo hai họ
lớp:
- Họ mô tả theo tham số. - Họ mô tả theo cấu trúc. Cách mô tả được lựa chọn sẽ xác định mô hình của đối tượng. Như vậy, chúng
sẽ có 2 loại mô hình: mô hình theo tham số và mô hình cấu trúc.
a. Mô hình tham số.
Mô hình tham số sử dụng một vector để đặc đối tương. Mỗi phần tử củavector
mô tả một đặc tính của đối tượng. Vì dụ: như trong các đặc trưng chức năng, người ta
sử dụng các hàm cơ sở trực giao để biểu diện. Và như vậy ảnh sẽ được biểu diễn bởi
một chuổi các hàm trực giao. Giả sử C là đường bao của ảnh C(i,j) là điểm thứ i trên
đường bao, i= 1,2…,n ( đường bao gồm n điểm).
ij
với i=1,2,….,p và j =
1,2,…,q. Còn trong số các đặc trưng hình học, người ta hay sử dụng chu tuyến, đường
bao, diện tích và tỉ lệ T=4πS/p
2
với S là diện tích, p là chu tuyến.
Việc chọn phương pháp biểu diễn sẽ làm đơn giản cách xây dựng. Tuy nhiên, việc
lựa chọn đặc trưng nào là hoàn toàn phụ thuộc vào ứng dụng.
b. Mô hình cấu trúc.
Cách tiếp cận của mô hình này dựa vào việc mô tả đối tượng nhờ một số khái niệm
biểu thị các đối tượng cơ sở trong ngôn ngữ tự nhiên. Để mô tả đối tượng, người ta
dùng một số dạng nguyên thủy như đoạn thẳng, cung …. Chẳng hạn một hình chữ nhật
được định nghĩa gồm 4 đoạng thẳng vuông góc với nhau từng đôi một. Trong mô hình
này người ta sử dụng một bộ kí hiệu kết thúc V
t
, một bộ kí hiệu không kết thúc gọi là
V
n
. Ngoài ra còn dùng một tập các luật sản xuất để mô tả cách xây dựng các đối tượng
phù hợp dựa trên các đối tượng đơn giản hơn hoặc đối tượng nguyên thủy. Trong cách
tiếp cận này, ta chấp nhận một khẳng định là: cấu trúc là kết quả của việc áp dụng luật
sản xuất theo những nguyên tắc xác định bắt đầu từ một dạng gốc bắt đầu. Một cách
hình thức, ta có thể coi mô hình này tương đương một văn phạm G=(V
t
,V
n
GVHD: Th.S Vũ Anh Dũng - Lựa chọn luật ra quyết định (phương pháp nhận dạng) và suy diễn quá trình học.
- Học nhận dạng. Khi mô hình biểu diễn đối tượng đã được xác định, có thể là định lượng ( mô hình
tham số) hay định tính ( mô hình cấu trúc), quá trình nhận dạng chuyển sang giai đoạn
học. Học là giai đoạn quan trọng. Thao tác học nhằm cải thiện, điểu chỉnh việc phân
hoạch tập đối tượng thành lớp.
Việc nhận dạng chính là tìm ra quy luật và các thuật toán để có thể gán đối tượng
vào một lớp hay nói một cách khác gán cho đối tượng một tên.
a. 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. Mẫu cần nhận dạng sẽ được
đem so sánh với mẫu chuẩn để xem nó thuộc loại nào. Ví dụ như trong một ảnh viễn
thám, người ta muốn phân biệt một cách đồng lúa, một cánh rừng hay một vùng đất
hoang mà đã có miêu tả về đối tượng đó. Vấn đề chủ yếu là thiết kế một hệ thống để có
thể đối sánh đối tượng trong ảnh với mẫu chuẩn và quyết định gán cho chúng vào một
Hình 1.3 Sơ đồ tổng quan một hệ nhận dạng.
Đồ Án Tốt Nghiệp
15
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
TH
GVHD: Th.S Vũ Anh Dũng CHƯƠNG 2. Xử lý ảnh và openCV
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho
ra kết quả mong muốn. kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh
“tốt hơn” (theo ý muốn) hoặc một kết luận.
Hình 2.1 Quá trình xử lý ảnh.
Tiền xử lý Các thao tác xử lý trên ảnh để chuẩn bị cho những bước phân tích tiếp theo.
Chẳng hạn như các thao tác: chọn ngưỡng để chuyển ảnh đa cấp xám, ảnh màu về dạng
nhị phân, giảm nhiễu để loại bỏ những dữ diệu không liên quan, phân đoạn để phân
tách cách thành phần trong ảnh và cuối cùng là làm mảnh hay dò biên để đễ dàng xác
định các vùng, các đặc trưng thích hợp và đối tượng cần quan tâm.
2.2 - Xử lý nhị phân
Mức xám là giá trị có thể có của điểm ảnh.
Với những ảnh đa cấp xám các thông tin đã sẵn ở dạng nhị phân chẳng hạn như các
chuỗi văn bản hay các đối tượng ảnh, thì phương pháp nhị phân thông thường sẽ được
thực hiện trước. Mục đích của phương pháp này sẽ tự động chọn một ngưỡng cần thiết
để tách ảnh ra làm hai phần: thông tin ảnh và thông tin nền. Việc chọn ngưỡng tốt
(ngưỡng mà có thể tách ảnh thành hai phần: phần ảnh, phần nền một cách chính xác)
luôn là một quá trình khó và dễ gây ra lỗi.
Để thực hiện việc tách ngưỡng này thì OpenCV cung cấp chức năng threshold. threshold( src_gray, dst, threshold_value,
max_BINARY_value,threshold_type
); src_gray: hình ảnh đầu vào.
dst: hình ảnh đầu ra.
threshold_value: giá trị thực hiện tách ngưỡng.
max_BINARY_value: giá trị thực hiện tách ngưỡng nhị phân.
threshold_type: một trong 5 ngưỡng hoạt động
5 ngưỡng hoạt động OpenCV cung cấp:
a. Threshold Binary: nếu giá trị các điểm ảnh cao hơn giá trị ngưỡng thì được thiết
lập giá trị mới là giá trị cao nhất (255), thấp hơn giá trị các điểm ảnh về mức 0; 2.3 - Giảm nhiễu. Nhiễu trong ảnh là do nhiều nguyên nhân bao gồm: sự thoái hóa theo thời gian,
quá trình sao chép. Một số kỹ thuật xử lý ảnh sẽ được áp dụng để loại bỏ nhiễu. Sau
khi được nhị phân hóa, ảnh sẽ được lọc để giảm nhiễu. Trên thực thế tồn tại nhiều
loại nhiễu, tuy nhiên người ta thường xem xét 3 loại chính: nhiễu cộng, nhiễu nhân
và nhiễu xung. Chúng xuất hiện những điểm ảnh khác biệt so với vùng xung quanh.
Bản chất của nhiễu là thường tương ứng với tần số cao và cơ sở lý thuyết của các
bộ lọc là chỉ cho những tín hiệu có tần số nào đó thông qua, do đó để lọc nhiệu
người ta thường sử dụng bộ lọc thông thấp hay trung bình. Với nhiễu cộng và nhiễu
Đồ Án Tốt Nghiệp
19
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
TH
GVHD: Th.S Vũ Anh Dũng
1
1
1
.
.
.
1
1
1
1
K
1
K
wid th
K
Heig
h
t
OpenCv cung cấp các chức năng blur để thực hiện giảm nhiễu với bộ lọc này.
Blur(src,dst,size(i,i),point(-1,-1))
src: ảnh nguồn
dst: ảnh ra
size(w,h) : xác định kích thước của hạt nhân sẽ được sử dụng ( chiều
Đồ Án Tốt Nghiệp
20
Khoa Công Nghệ Thông Tin
Nó được thực hiện bởi chức năng GaussianBlur trong OpenCV.
gaussianBlur(src,dst,size(i,i),0,0)
src: hình ảnh nguồn
dst: hình ảnh đầu ra.
size(w,h). kích thước của hạt nhân sẽ được sử dụng. w và h phải là số
lẻ và tích cự nếu không kích thước sẽ được tính bằng cách sử dụng đối
số σ
x
và σ
y.
σ
x
độ lệch chuẩn trong x. Viết 0 ngụ ý rằng độ lệch được tính bằng cácsử dụng kích thước hạt nhân.
Đồ Án Tốt Nghiệp
21
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
TH
GVHD: Th.S Vũ Anh Dũng
src: ảnh nguồn.
dst: ảnh đầu ra ( có kích thước giống như src)
i: kích thước của hạt nhân ( i phải lẻ).
Đồ Án Tốt Nghiệp
22
Khoa Công Nghệ Thông Tin
SV: Phạm Thế Tài – Lớp S11-50
TH
GVHD: Th.S Vũ Anh Dũng Hình 2.6 sử dụng bộ lọc Median 2.3.4 Bộ lọc song phương (Bilateral filter). Hình 2.7 sử dụng bộ lọc song
phương
2.3.5 Filter2D Ngoài những bộ lọc thông dụng như trên thì thư viện OpenCV còn cung cấp bộ lọc mà
chúng ta có thể thay đổi kích thước hạt nhân. Đó là filter2D.
Filter2D(src, dst, ddepth, kernel, anchor, delta,
BORDER_DEFAULT) Src: ảnh nguồn.
Dst: ảnh đầu ra.
2.4 - Biên và các phương pháp tìm biên. 2.4.1 Khái niệm về biên: Biên là một vấn đề chủ yếu trong phân tích ảnh vì kỹ thuật phân đoạn chủ yếu
dựa vào biên. Một điểm ảnh có thể coi là điểm biên nếu có sự thay đổi đột ngột và mức
xám hay biên là điểm có cấp xám có giái trị khác hẳn các điểm xung quanh, tập hợp
các điểm biên tạo thành biên hay đường bao của ảnh.
Sau đây tôi sẽ giới thiệu một số phương pháp tìm biên mà thư viện OpenCV hỗ
trợ rất tốt.
2.4.2 Phương pháp Gradient. Dựa vào cực đại hóa của đạo hàm. Theo định nghĩa, gradient là viector có các
thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo hai hướng x và hướng
y. Các thành phần của Gradient được tính bởi:
f ( x, y)
xf ( x, y)