TRƯỜNG ………………….
KHOA……………………….
[\[\
Đồ án tốt nghiệp
Đề tài:
Hệ thống quản lý đào tạo
và cấp giấy phép lái xe
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 1
LỜI NÓI ĐẦU
Nhận dạng kí tự, đặc biệt kí tự viết tay là bài tốn có nhiều ứng dụng thực
tiễn. Về mặt lý thuyết, chưa có phương pháp nào hồn chỉnh cho cho bài tốn này do
tính phức tạp, sự biến dạng của dữ liệu đầu vào.
Những năm gần đây, cùng vơí sự phát triển của lý thuyết nhận dạng, công
nghệ xử lý ảnh, đã có nhiều nghiên cứu mang lại một số kết quả cho bài tốn nhận
dạng kí tự viết tay, từ đó mở ra hàng loạt ứng dụng thực tế.
Mục tiêu của đồ án nhằm giới thiệu một cách tiếp cận bài tốn nhận dạng
chữ viết tay với một số ràng buộc, nhằm từng bước đưa vào ứng dụng thực tiễn.
Mặc dù hết sức cố gắng, song do thời gian có hạn và những hạn chế bản
thân nên đồ án có thể còn thiếu sót, mong tiếp tục nhận được sự chỉ bảo của Thầy,
Cô và ý kiến đóng góp của các bạn sinh viên để đồ án được hồn thiện hơn. Em xin
chân thành cảm ơn.
Nha Trang
Ngày 10 tháng 9 năm 2003
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 2
NHẬN XÉT CỦA GIÁO VIÊN.
Giáo viên nhận xét
PHẦN I
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 3
TỔNG QUAN VÀ CƠ SỞ LÝ
THUYẾT TIỀN XỬ LÝ ẢNH KÍ TỰ
CHƯƠNG I
TỔNG QUAN
I. Giới thiệu bài tốn:
Nhận dạng kí tự, đặc biệt kí tự viết tay là bài tốn có nhiều ứng dụng thực tế.
Máy tính xử lí, nhận dạng các biểu mẫu, phiếu điều tra tự động, bằng cách này ta
có thể tiết kiệm được nhiều chi phí về thời gian, công sức cũng như các chi phí
khác cho việc nhập dữ liệu.
Ngày nay cùng với sự phát triển về mặt lý thuyết, công nghệ, có rất nhiều
hướng đi cho việc giải quyết bài tốn này như: nhận dạng kí tự dựa trên cấu trúc
hay cách tiếp cận khác như dùng: logic mờ, giải thuật di truyền, mô hình xác suất
thống kê, mô hình mạng nơ ron. Đặc biệt trong những năm gần đây mô hình mạng
nơron được quan tâm nhiều do khả năng tổng hợp của mô hình và sự phát triển về
tốc độ xử lí của máy tính.
Trên thế giới hiện nay có nhiều chương trình nhận dạng chữ viết (chữ in và
viết tay) bằng các thứ tiếng Anh, Nga, v.v như các hệ OMNIPAGE, READ-
WRITE, WORD-SCAN, Ở Việt Nam cũng có một số hệ như WORC của công
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 4
ty 3C, VIET-IN của công ty SEATIC, VNDOCR của Viện Công Nghệ Thông Tin,
Image Scon của Trung Tâm Tự Động Hóa Thiết Kế, hệ WINGIS của công ty
DolfSoft
Nhìn chung, các sản phẩm phần mềm nhận dạng văn bản Tiếng Việt chữ in
của nước ta đã thu được kết quả khả quan, đặc biệt phần mềm VNDOCR đã được
sử dụng rộng rãi trong các cơ quan nhà nước. Riêng phần nhận dạng kí tự viết tay
vẫn đang được nghiên cứu và phát triển nhằm phục vụ cho các yêu cầu khác nhau
như đọc và xử lý các biểu mẫu: hố đơn, phiếu điều tra
Với mục tiêu tìm hiểu bài tốn nhận dạng ảnh kí tự viết tay không trực tuyến
(off-line), đồng thời sử dụng kết quả vào việc xử lí phiếu đăng kí môn học của
Trường Đại Học Thuỷ Sản Nha Trang. Nội dung đồ án là sự thử nghiệm xây dựng
chương trình nhận dạng ảnh kí tự viết tay nêu trên, bằng cách sử dụng mạng nơron
để nhận dạng kí tự, dựa trên tập mẫu kí tự đã được mã hố bởi đặc trưng của đường
biên.
Trong quá trình tìm hiểu lý thuyết và xây dựng chương trình, em đã tham
khảo nhiều nguồn tài liệu, trong đó ý tưởng xác định véc tơ đặc trưng của kí tự
viết tay sử dụng trong đồ án này được tham khảo từ luận án thạc sĩ “ Nhận dạng
chữ viết tay rời Tiếng Việt”, của tác giả Phạm Đại Xuân, Đại học khoa học tự
nhiên Thành Phố Hồ Chí Minh.
II. Cấu trúc, nội dung của đồ án:
Nội dung của đồ án được chia làm 4 phần:
Phần I: Giới thiệu tổng quan và cơ sở lý thuyết tiền xử lí ảnh kí tự, gồm
3 chương:
Chương 1: Giới thiệu tổng quan.
Chương 2: Giới thiệu cơ sở lí thuyết tiền xử lí ảnh kí tự.
Chương 3: Giới thiệu cách xác định đặc trưng của kí tự.
Phần II: Giới thiệu các mô hình nhận dạng, gồm 2 chương.
Chương 1: Giới thiệu một số kĩ thuật phân lớp: đối sánh, sử dụng
hàm thế, phương pháp LDA.
Chương 2: Giới thiệu mô hình mạng nơ ron cho bài tốn nhận dạng.
Phần III: Giới thiệu một số ứng dụng và đánh giá kết luận gồm 4
chương .
Chương 1: Giới thiệu ứng dụng kĩ thuật tách liên thông cho việc
tách liên thông kí tự trong văn bản.
Chương 2: Xây dựng, đánh giá chương trình nhận dạng kí tự viết
tay.
Chương 3: Đưa kết quả vào ứng dụng xây dựng chương trình xử lí
phiếu đăng kí môn học cho sinh viên ở trường Đại học Thuỷ Sản Nha
Trang.
Chương 4: Đánh giá kết luận và nêu hướng phát triển của đề tài.
Phần IV : Phụ lục giới thiệu giao diện chương trình.
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 5
dvvpvveE
j
j
j
1
2
2
CHƯƠNG II
CƠ SỞ LÝ THUYẾT TIỀN XỬ LÍ ẢNH KÍ TỰ
I. Lọc mịn ảnh:
Lọc mịn ảnh là một lọc thông thấp, giá trị của một điểm ảnh là trung bình
trọng số của các điểm ảnh lân cận, hay giá trị điểm ảnh là kết quả của quá trình
xoắn (convole) của các điểm ảnh lân cận với một nhân. Nhân có kích thước tuỳ ý
3x3, 5x5, kích thước nhân càng lớn thì càng nhiều điểm lân cận ảnh hưởng vào
điểm ảnh kết quả. Ví dụ một số nhân lọc mịn ảnh như sau:
Lọc mịn ảnh có tác dụng hạn chế ảnh nhiễu muối tiêu.
II. Nhị phân ảnh:
Nhị phân ảnh mức xám là tìm giá trị ngưỡng sao cho các điểm ảnh có giá
trị lớn hơn ngưỡng được gọi là trắng(nền) và các điểm ảnh có giá trị nhỏ hơn
ngưỡng được gọi là đen (đối tượng).
Tiêu chuẩn xác định ngưỡng thường sử dụng nhất là sử dụng sai số bình
phương trung bình giữa giá trị mẫu v và mức tái thiết r(v). (ký hiệu MSE)
Ta có:
Trong đó p(v) là hàm mật độ xác suất của biến ngẫu nhiên v, có thể coi xấp
xỉ bằng histogram của ảnh. Với một số cho trước L các mức xám MSE được biểu
diễn bởi:
E
2
e =
dvvpvrvvrvE
0
22
1
1
1
1
1
1
1
1
1
1/9
1
1
1
1
2
1
1
1
1
1/10
1
1
1
1
4
1
1
1
1
1/12
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 6
1 1
1 1
2
1
1
1
Lj
dvvp
dvvvp
r
Lj
rr
v
j
j
j
j
v
v
v
v
j
jj
j
Do r(v)=r
j
là hằng số trong đoạn [v
j ,
v
j+1
].
Với p(v) cho trước và số mức tái thiết L cố định, các mức quyết định v
j
,
j= 1…L-1 và các mức tái thiết r
j
, j=0 L-1 cực tiểu hố MSE tuân theo quan hệ sau:
Tuy nhiên, không có cách giải quyết dưới dạng khép kín nào tồn tại trừ khi
chấp nhận một số phép xấp xỉ.
Bây giờ ta xem xét trường hợp ngoại lệ nhưng quan trọng với L=2. Đó là
trường hợp nhị phân hố ảnh. Khi đó MSE trở thành:
Giả sử rằng p(v) có thể ước lượng từ histogram và v
0
, v
2
tương ứng với
v
min
, v
max
. Còn lại ba tham số cần được tính tốn đó là r
0
, r
1
, và v
1
. Tham số v
1
gọi là
ngưỡng nhị phân hố. Hơn nữa r
0
(v
1
) và r
1
(v
1
) cực tiểu MSE, với một giá trị cho
trước của v
j
, đơn giản là những giá trị trung bình trong đoạn tương ứng:
Như vậy đủ để biến đổi v
1
từ v
0
đến v
2
. MSE được tính bằng cách thay r
0
và
r
1
bằng r
0
(v
1
) và r
1
(v
1
) tương ứng và chọn v
l
*
sao cho MSE là cực tiểu.
Otsu đề nghị một cách tương tự nhưng tiêu chuẩn đơn giản hơn về mặt tính
tốn dựa trên phân tích biệt số. Trong công thức này, MSE tương đương với
phương sai lớp trong
W
2
(v
1
). Nếu
W
2
(v
1
) được bổ sung vào phương sai lớp giữa
1
0
2
1
2
1
2
0
2
v
v
v
v
dvvprvdvvprveE
1
0
1
0
10
v
v
v
v
dvvp
dvvvp
vr
2
1
2
1
11
v
v
v
v
dvvp
dvvvp
vr
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 7
B
2
(v
1
), ta được tồn bộ biến đổi
T
2
( độc lập v
1
). Như vậy, thay vì cực tiểu MSE,
giải thuật của Otsu cực đại phương sai giữa lớp:
Trong đó:
Và
Biểu thức có thể đơn giản thành :
Thật ra, còn tồn tại một số tiêu chuẩn lượng hố khác, chẳng hạn entropy,
cũng trên histogram của mức xám. Histogram có thể được tính từ tồn bộ ảnh hoặc
từ lân cận địa phương giới hạn xung quanh ảnh đang xét.
III. Đánh nhãn thành phần liên thông:
Khái niệm liên thông trong kí tự có thể xem như tập hợp các điểm ảnh liền
nhau tạo nên kí tự, mục tiêu của giải thuật này là lọc ra những kí tự có trong ảnh.
1. Tách liên thông bằng kĩ thuật đệ quy :
Để tách liên thông ta nghĩ ngay đến kỹ thuật đệ quy cấp 8 (tại mỗi bước
chúng ta có tối đa 8 lựa chọn tiếp theo).
Quy ước : Điểm (x, y) : cho biết giá trị điểm tại toạ độ (x, y).
=1 màu chữ
=0 màu nền
Height : Chiều cao ảnh
Width : Chiều rộng ảnh
Ta có giải thuật như sau:
// Đưa tất cả các điểm liên thông với Điểm(x,y) vào liên thông t
Procedure Chonvao((x,y) :điểm, t :liênthông)
Begin
If (Điểm(x, y)=1) AND (NOT đã_xét[x,y]) then
Begin
Them_vao_lien_thong(t,(x, y));
2
1111
2
1010
*
1
maxarg
TT
vvpvvpv
max2
1
1
11
1110
111
110
1
1
vv
v
v
v
vvv
vvp
vvp
T
T
1
0
1
0
1
1
v
v
v
v
dvvvpv
dvvpv
11
2
11
*
1
1
.
maxarg
vv
vv
v
T
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 8
Đã_xét[x, y] :=True ;
For i :=x-1 to x+1 do
For j:= y-1 to y+1 do
If ( i <>x) or (j<>y) then Chonvao((i, j),t);
End;
End ;
// Ta có thủ tục tách liên thông đệ quy như sau :
Procedure TáchLiênThôngĐQ(VAR LT: Danh_Sách_Liên_Thông)
Begin
T:=<danh sách rỗng>
t:=<liên thông rỗng>
For j:=1 to Height do
For i:=1 to Width do đã_xét[i, j]:=False;
For j:=1 to Height do
For i:=1 to Width do
If (Điểm(x, y)=1) AND( NOT Đã_xét[i, j]) then
Begin
Chonvao( (i, j ),t);
Thêm _liên_thông_vào_Danh_Sách(T, t) ;
t :=<liên thông rỗng> ;
End ;
End;
Nhận xét:
Thuật tốn này chỉ có ý nghĩa minh hoạ bản chất của tách liên thông. Ta
không chọn thuật tốn này cài đặt vì chi phí đệ quy quá cao, chưa kể tốc độ thực
hiện.
2. Giải thuật cải tiến:
Để gán nhãn cho thành phần liên thông ta có thể duyệt theo từng đường
chạy. Kỹ thuật này 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 trong ảnh input.
Giải thuật phát biểu như sau:
Quét ảnh từ trái sang phải và từ trên xuống dưới. Trong dòng thứ nhất chứa
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 dòng tiếp theo, các pixel lân cận dòng trước và pixel bên
trái được xem xét (hình vẽ a ). 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 sử dụng cho đến 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, chẳng hạn
pixel “?” (trong hình c), pixel đối với lân cận trái và những lân cận trong dòng
trước có thể gán nhãn một cách riêng biệt. (Trong ví dụ này, chúng ta sử dụng
nhãn của lân cận trái). Một tình huống như vậy phải được xác định và ghi lại. Sau
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 9
. . . . .
. P P P .
. L ? . .
. . . . .
tiến trình quét ảnh, việc gán nhãn được hồn tất bằng cách “thống nhất mâu thuẫn
các nhãn” và gán lại các nhãn chưa sử dụng.
Để minh hoạ ta có các hình biểu diễn sau:
Hình a. lân cận của “?” P= dòng trước; L=lân cận trái
IV. Chỉnh nghiêng:
Chỉnh nghiêng ảnh là một phép biến đổi tuyến tính của toạ độ điểm ảnh.
Trước hết ta phải xác định góc nghiêng tổng thể của đối tượng, và ta dịch chuyển
điểm ảnh đối tượng theo phương ngang tuỳ theo giá trị góc nghiêng tổng thể này
và giá trị y của điểm này.
Hình a Hình b
Chuyển gớc toạ độ về trọng tâm ảnh như hình b
Góc nghiêng của kí tự được qui ước tính là góc từ trục tung, hướng về bên
trái có giá trị dương, hướng về bên phải có giá trị âm.
0
+
-
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
.
*
*
*
*
. .
*
*
*
. . . . .
1
1
1
1
. .
2
2
2
. . . .
. .
*
*
*
. .
*
*
*
*
. . . . .
1
1
1
. .
2
2
2
2
. . .
.
*
*
*
*
.
*
*
*
*
*
. . . .
1
1
1
1
.
2
2
2
2
2
. . .
. . .
*
*
*
*
*
. . . . . . . . .
1
1
?
*
*
. . . . . .
. . .
*
*
*
*
*
*
.
*
. . . . . .
*
*
*
*
*
*
.
*
. . .
*
*
. . . . . . . .
*
*
. .
*
*
. . . . . . . .
*
*
. .
.
*
*
. . . . . . .
*
*
. . .
*
*
. . . . . . .
*
*
. .
.
*
*
. . . . . . . . . . . .
*
*
. . . . . . . . . . .
Hình b . Aûnh ban đầu Hình c . Tiến trình gán nhãn
. . . . . . . . . . . . . .
. . .
. . . . . . . . . . .
.
1
1
1
1
. .
2
2
2
. . . . .
1
1
1
1
. .
1
1
1
. . . .
. .
1
1
1
. .
2
2
2
2
. . . . .
1
1
1
. .
1
1
1
1
. . .
.
1
1
1
1
.
2
2
2
2
2
. . . .
1
1
1
1
.
1
1
1
1
1
. . .
. . .
1
1
1
1
1
. . . . . . . . .
1
1
1
1
1
. . . . . .
. . .
1
1
1
1
1
1
.
3
. . . . . .
1
1
1
1
1
1
.
2
. . .
4
4
. . . . . . . .
3
3
. .
3
3
. . . . . . . .
2
2
. .
.
4
4
. . . . . . .
3
3
. . .
3
3
. . . . . . .
2
2
. .
.
4
4
. . . . . . . . . . . .
3
3
. . . . . . . . . . .
Hình d . Sau khi quét đầy đủ Hình e .Kết quả sau cùng
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 10
Góc nghiêng tổng thể kí tự là hướng trung bình của các điểm ảnh đối tượng
có giá trị góc khoảng –45
0
đến 45
0
theo quy ước tính góc trên . Các điểm ảnh đối
tượng có hướng ngồi khoảng –45
0
đến 45
0
không tính.
Giả sử gọi là góc nghiêng tổng thể của kí tự , điểm ảnh đối tượng p(x,y)
(trong hệ toạ độ mới ) sẽ có toạ độ mới là p(x’
,y’) (trong hệ toạ độ mới ) với :
Để tính góc nghiêng tổng thể ta phải tính được hướng của các điểm ảnh đối
tượng. Hướng tại một điểm ảnh đối tượng được tính nhờ vào vectơ gradient điểm
ảnh đó. Vectơ gradient tại một điểm ảnh (x, y)là:
Độ lớn vectơ gradient tại (x,y) được tính bởi:
Hướng của vectơ gradient tại(x,y) được tính bởi:
G
x
và G
y
là kết quả xoắn (convolve) với nhân Sobel S
x
và S
y
:
Hình . Các nhân của bộ lọc Sobel
Chú ý: góc tính theo gradient tại mỗi điểm ảnh đối tượng là góc so với trục
x và chỉ xét những điểm có hướng của vectơ gradient thoả trong khoảng [45
0
,135
0
]
hay [-135
0
,-45
0
].
V. Chuẩn kích thước:
Chuẩn kích thước ảnh kí tự về một kích thước cố định và phóng sát bốn
biên của ảnh.
Phóng ảnh là thực hiện phép biến đổi sau:
Với (x, y) là toạ độ điểm ảnh sau khi phóng và s
x
,s
y
là tỷ lệ phóng theo trục
x và y tương ứng, f
x
(x,y) là giá trị điểm ảnh kết quả ứng với giá trị toạ độ (x, y).
Chú ý:
-
1
0
1
-
2
0
2
-
1
0
1
S
x
-
1
-
2
-
1
0
0
0
1
2
1
S
y
yy
ytgxx
'
'
y
f
x
f
G
G
f
y
x
22
yx
GGf
x
y
G
G
yx
1
tan,
yxs
sysxfyxf ,,
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 11
0
1
0
1
1
1
0
1
0
Sau khi phóng ảnh, ảnh có thể bị rời rạc, răng cưa biên. Để khắc phục tình
trạng này, ta thực hiện một số xử lý bằng phép đóng morphology:
VI. Lấp khoảng trống ảnh bằng phép đóng morphology:
1. Một số định nghĩa:
Giả sử A và B là hai tập trong không gian Z
2
, aЄ A thì a=(a1, a2)
Phép dịch chuyển của tập A đối với x=(x1, x2) ký hiệu(A)
x
, được định
nghĩa.
Phép phản chiếu của tập B, ký hiệu B
*
, được định nghĩa:
Phép bù của một tập A, ký hiệu A
c
, được định nghĩa:
Hiệu của hai tập hợp A và B, ký hiệu A-B, được định nghĩa:
2. Phép giãn:
Giả sử A, B là hai tập thuộc Z
2
, là tập hợp rỗng, phép giãn của A đối với
B, ký hiệu AB, được định nghĩa:
Tập B thường được gọi là thành phần cấu trúc.
3. Phép co:
Giả sử A, B là hai tập thuộc Z
2
, phép co của A đối với B, ký hiệu AB
được định nghĩa:
4. Phép đóng:
Giả sử A, B là hai tập thuộc Z
2
, phép đóng của A đối với B, ký hiệu AB
được định nghĩa:
Tức phép đóng là phép do thực hiện phép mở rồi thực hiện phép đóng lên
kết quả vừa có.
Phép đóng có tác dụng làm đầy những khoảng nhỏ (tuỳ thuộc vào thành
phần cấu trúc B) thường xảy ra trên đường biên.
Thành phần cấu trúc thường được sử dụng là thành phần cấu trúc đối xứng
có gốc (0, 0) là ở tâm như hình:
A a vôùi ,xaccA
x
B bôùi vbxxB ,
*
AxxA
C
BxAxxBA ,
ABxBA
x
*
ABxBA
x
BBABA
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 12
Nhưng do ảnh được quét với độ phân giải 300 dpi, và đối với những chữ có
bụng được viết khá nghiêng thì khi thực hiện phóng với thành phần cấu trúc trên,
tức thực hiện phép giãn rồi thực hiện phép co, thì phép giãn làm cho phần bụng bị
dính lại với nhau do với mỗi hướng ngang và đứng đều được giãn 2 điểm ảnh. Để
hạn chế điều này ta sử dụng 2 thành phần cấu trúc không đối xứng và thực hiện
phép đóng 2 lần trên 2 thành phần cấu trúc này, vì khi thực hiện phép giãn thì chỉ
cần giãn về 1 phía:
Các thành phần cấu trúc không đối xứng.
VII. Lấy đường biên và làm trơn đường biên:
1. Phát hiện biên:
Biên của ảnh được thiết lập bằng cách nhân chập ảnh với phần tử có cấu
trúc:
2. Dò biên và mã hố đường biên:
Ta có giải thuật dò tìm biên như sau:
Bước 1: Quét ảnh đến khi gặp điểm ảnh đen. Gọi nó là pixel 1
Bước 2: Lặp
Nếu ” điểm ảnh hiện thời là đen “ thì “dò ngược”
Ngược lại “sang phải” đến khi “gặp pixel 1”
Minh hoạ dò biên
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
0
1
0
1
1
1
0
1
0
1
2
12
3
5
11
4
6
10
9
8
7
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 13
3. Xác định hướng của điểm biên (Freeman code):
Các hướng được quy ước như sau:
Với hướng quy ước trên, đường biên được mã hố như sau:
4. Làm trơn đường biên:
Làm trơn đường biên là duyệt theo đường biên, nếu hai điểm liên tiếp trên
đường biên có hiệu số hướng lớn hơn 1 thì có thể hiệu chỉnh để có đường biên mà
hai điểm liên tiếp có hiệu số hướng bằng 1.
Theo mã hướng Freeman, hiệu số hướng của 2 điểm liên tiếp nhau trên
đường biên được định nghĩa :
Goi c
i
là mã hướng tại điểm biên đang xét p
i
, c
i+1
là
mã hướng của điểm kế
tiếp trên đường biên p
i+1
Đặt d=c
i+1
-c
i
và
Dabs=|d| nếu |d|4
Và dabs=8-|d| nếu |d|>4
Ta có các trường hợp sau:
a. dabs1 : Điểm biên trơn.
b. dabs=2 và c
i
chẵn, c
i+1
chẵn : bỏ p
i+1
và thay hướng p
i
như sau:
0
1
2
3
4
5
6
7
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 14
Dabs=2 và c
i
chẵn , c
i+1
chẵn
c. dabs=2 và c
i
lẻ , c
i+1
lẻ : Bỏ p
i+1
và thay hướng p
i
như hình
Dabs=2 và c
i
lẻ, c
i+1
lẻ
d. dabs=3 , c
i
chẵn, c
i+1
lẻ
e. dabs=3, c
i
lẻ, c
i+1
chẵn
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 15
Minh hoạ ảnh kí tự sau quá trình tiền xử lý.
Aûnh ban đầu Ảnh qua tiền xử lý
CHƯƠNG III
RÚT ĐẶC TRƯNG
I. Giới thiệu đặc trưng hướng:
Hướng các điểm trên đường biên của kí tự mô tả khá đầy đủ về kí tự. Đặc
trưng của ảnh được xác định là hướng của các điểm ảnh trên biên. Việc chọn đặc
trưng để nâng cao độ chính xác của bài tốn nhận dạng là hết sức khó khăn, đòi hỏi
rất nhiều thời gian và quyết định rất nhiều đến độ chính xác. Hơn nữa, do biến
dạng khá lớn trong chữ viết tay nên để hạn chế người ta thường chia ô trên ảnh và
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 16
đặc trưng được rút trong các ô đó, việc chọn các ô phủ lấp lên nhau cũng không
ngồi mục đích trên.
II.Chia ô:
Aûnh kí tự sau khi tiền xử lý kích thước được chuẩn về mn điểm ảnh, ảnh
được chia nhỏ thành các ô vuông nhỏ kích thước 88 điểm ảnh như hình:
Hình minh hoạ cách chia ô kí tự.
Gom 4 ô kích thước 8x8 thành ô kích thước 16x16, và các ô kích thước
16x16 này được phủ lên nhau một nữa theo hai hướng ngang và dọc. Trên mỗi ô
kích thước 16x16 sẽ rút đặc trưng theo 4 hướng (0
0
, 45
0
, 90
0
,135
0
) . Mỗi ô này
được chia làm 4 phần theo điểm tâm của ô, phần trung tâm A có kích thước 4x4
điểm ảnh, phần B có kích thước 8x8 điểm ảnh trừ đi phần A, phần C có kích thước
12x12 điểm ảnh trừ đi phần B và A, và phần D là phần còn lại của ô có kích thước
16x16 trừ đi phần C, B và A.
Ta có hình minh hoạ các phần A, B, C, D trong mỗi ô vuông 16x16
D
C
B
A
n
m
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 17
Đặc trọng số vùng A, B, C và D tương ứng là 4, 3, 2, và 1 . Gọi x
j
là một
loại đặc trưng, x
j
được tính cho một ô kích thước 16x16 như sau:
III. Đặc trưng hướng của đường biên:
Aûnh để rút đặc trưng này là ảnh chỉ chứa đường biên. Với mỗi ô kích
thước 16x16 điểm ảnh, ta rút ra 4 đặc trưng x
j
(j=1, 2, 3, 4), x
j
được tính như công
thức trên, x1 là số điểm biên có hướng 0
0
hay(180
0
), x2 là số điểm biên có hướng
45
0
(hay -135
0
), x3 là số điểm có hướng 90
0
(hay –90
0
) và x4 là số điểm có hướng
135
0
(hay -45
0
).
Như vậy ảnh kí tự sẽ được mô tả dưới dạng :
Trong đó n=k*4 , với k là tổng số ô vuông 16x16 xếp chồng lên nhau.
PHẦN II
CÁC MÔ HÌNH NHẬN DẠNG
x
j
=4x
j
(A)
+3x
j
(B)
+2x
j
(C)
+ x
j
(D)
X=(x
1
, x
2
, x
3
, x
4
…….x
n
)
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 18
CHƯƠNG I
GIỚI THIỆU CÁC MÔ HÌNH PHÂN LỚP, NHẬN DẠNG
I. Khái quát tình hình nghiên cứu, ứng dụng lý thuyết nhận dạng:
Lý thuyết nhận dạng là một lĩnh vực khoa học mới phát triển nhưng đã đạt
được nhiều thành tựu đáng kể về lý luận và ứng dụng trong thực tiễn, chứng tỏ khả
năng của máy tính điện tử, có thể mô hình hố được một số chức năng tương đối
phức tạp của trí tuệ con người.
Cho đến nay cơ sở tốn học của lý thuyết nhận dạng được xây dựng và phát
triển đồng thời theo các hướng chính sau đây:
- Lý thuyết thống kê nhận dạng.
- Lý thuyết cấu trúc về nhận dạng.
- Lý thuyết đại số về nhận dạng.
Mỗi lý thuyết nói trên đều có mục đích, đối tượng nghiên cứu và phương
pháp giải quyết vấn đề khác nhau.
Lý thuyết thống kê về nhận dạng là một nhánh phát triển từ thống kê tốn
học, sử dụng các phương pháp cơ bản của thống kê tốn để nghiên cứu vấn đề nhận
dạng có yếu tố ngẫu nhiên và lượng thông tin đủ lớn. Công trình đầu tiên ở
phương Tây theo hướng này là của Sebestyen, mới đây hai nhà tốn học Liên Xô
là Vapnhic và Trecvonenkix đã cho ra một tài liệu khá đầy đủ về vấn đề này.
Lý thuyết cấu trúc về nhận dạng cho tới nay vẫn chưa được xây dựng hồn
chỉnh. Các nghiên cứu theo hướng này tập trung vào nghiên cứu các đối tượng mà
có thể coi như tập hợp các đối tượng sơ cấp liên hệ với nhau bởi một số liên kết
chuẩn.
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 19
Gần đây, một số nhà tốn học có cố gắng xây dựng cấu trúc đại số cho đối
tượng và thuật tốn nhận dạng, những công trình này cho thấy triển vọng của một
lý thuyết đại số về nhận dạng đang hình thành ngày càng rõ nét .
Do nhu cầu cấp bách phải giải quyết các vấn đề thực tiễn hoạt động sản
xuất, nghiên cứu khoa học kỹ thuật hiện đại đặt ra, cùng với các kỹ thuật tin học
mới phát triển (đặc biệt là máy tính điện tử ), nhiều chuyên gia thuộc các lĩnh vực
hoạt động khác nhau cũng đã đề xuất và sử dụng các mô hình, thuật tốn nhận dạng
trên cơ sở thực nghiệm, theo cách tiếp cận heuristic.
Song song với việc xây dựng cơ sở lý thuyết nhận dạng, các hoạt động
nghiên cứu ứng dụng lý thuyết nhận dạng cũng tiến hành mạnh mẽ và rộng khắp
trên nhiều lĩnh vực khác nhau ở nhiều nước trên thế giới.
II. Một số khái niệm về nhận dạng:
1.Nhận dạng:
Một biểu diễn là giá đỡ (cái mang) thông tin, thường biểu diễn dưới dạng
sau:
Mỗi x
i
biểu diễn kết quả của một phép đo. Tập hợp các biểu diễn xác định
X được gọi là không gian biểu diễn. Ví dụ không gian vectơ.
Giải thích một biểu diễn nghĩa là cho một kết quả chẳng hạn một cái tên.
Giả sử: ta có tập hợp các tên là:
Không gian giải thích là một tập thoả các luật, thao tác nào đấy.
Một định danh là một ánh xạ của không gian biểu diễn vào không gian giải
thích.
Mục đích nhận dạng là thực hiện ánh xạ này và tìm thuật tốn để thực hiện
trên tồn X. Một thuật tốn như vậy gọi là tốn tử nhận dạng.
2. Tập mẫu nhận dạng:
Dữ liệu cho bài tốn nhận dạng thường được biểu diễn qua tập mẫu học T
với
T=(xq, ) là tập các cặp (dữ liệu - tên).
3. Độ đồng dạng và dị dạng:
Là hai chỉ số thường dùng để xây dựng trên quan hệ gần thứ tự trên các cặp
đặc biệt khoảng cách giữa hai đối tượng là một chỉ số dị dạng thoả mãn 3 tiên đề:
- (x, y) 0 , (x, x)=0
- (x, y)= (y, x)
- (x, z) (x, y)+ (y, z)
4. Khoảng cách đối tượng:
n
xxxxX
321
,,
p
,,
21
n
xxx
X
,,:
:
21
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 20
Các hàm đặc trưng quan sát có thể dẫn đến một quan hệ gần thứ tự giữa 1
đối tượng X và các khái niệm A
i
, nghĩa là với mọi i, j có thể thiết lập một quan
hệ :
(X, A
i
) (X, A
j
)
Quan hệ này thường được thiết lập nhờ một khoảng cách đối tượng, ký
hiệu: D(X, A).
Nếu muốn phân lớp hoặc định danh X có thể dùng thông tin này. Giả sử C
i
là lớp phân hoạch tương ứng với khái niệm đại diện A
i
; X được gán vào C
i
nếu
D(X, A
i
) là nhỏ nhất.
III. Một số thuật tốn phân lớp:
Có nhiều giải pháp phân lớp, trong thời gian qua em đã tìm hiểu và thử
nghiệm một số giải pháp sau:
1. Xếp lớp khoảng cách cực tiểu:
Giả thiết là mỗi lớp mẫu được biểu diễn bằng một vectơ đơn (hoặc trung
bình).
Trong đó N
j
là số vectơ mẫu từ lớp
j
, M là số lớp cần phân biệt và tổng
được xác định từ các vectơ này, cách xác định lớp của một vectơ mẫu x chưa biết
là chỉ định nó cho lớp đơn điệu gần nhất. Dùng khoảng cách Euclid để xác định
độ gần sẽ giảm được tính tốn.
Trong đó a =(a
T
a )
1/2
là dạng Euclid. Sau đó ta chỉ định x cho lớp
j
nếu
D
j
(x) là khoảng cách ngắn nhất. Đó là khoảng cách ngắn nhất dùng trong biểu
diễn. Ta dễ dàng nhìn thấy nó tương đương với việc đánh giá bằng hàm số
Và chỉ định x cho lớp
j
, nếu d
j
(x) cho giá trị số lớn nhất.
2. Thuật tốn hàm thế:
Phương pháp nhận dạng theo hàm thế được ứng dụng nhiều trong thực tiễn.
Việc sử dụng hàm thế được được xuất phát từ nghĩa thế điện trong trường điện từ:
Trong không gian có điện tích q tại A thì xung quanh nó có điện trường
theo mọi phía. Tại điểm M của không gian ta có thế gây ra bởi q là:
a : hằng số
q: độ lớn điện tích q
r: khoảng cách từ M tới q
Các dạng hàm thế thường dùng trong thuật tốn nhận dạng:
Mjx
N
m
j
x
j
j
,2,1
1
MjmxxD
jj
,2,1;
Mjmmmxxd
j
T
jj
T
j
,2,1
2
1
2
.
r
q
aM
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 21
Ở đây , C
1
, C
2
là các hằng số cho trước.
(S, S
’
) là khoảng cách S và S
’
(=0, 1, 2 )
Cách tính thế đối với mỗi lớp:
m
j
:
số mẫu của K
j
S
t
: mẫu thuộc K
j
Ta có luật quyết định:
Chú ý :
Việc tính thế đối với mỗi lớp, có thể bổ sung trọng số mẫu (S
t
) :
Nhận xét:
Nếu chọn là hàm khoảng cách Euclid thì giải thuật hàm thế này gần giống
với cách xếp lớp theo khoảng cách cực tiểu.
3. Phương pháp LDA (Linear Discriminant Analysis):
Phương pháp LDA cho trường hợp phân biệt 2 lớp, LDA sẽ tìm một
phương chiếu mà phân biệt tốt nhất các mẫu thuộc hai lớp khác nhau trong tập
mẫu. Giả sử ta có một tập gồm n mẫu học X bao gồm các vectơ cột d chiều:
Trong đó n
1
mẫu thuộc về lớp C
1
và nằm trong tập con X
1
, n
2
mẫu thuộc về
lớp C
2
và nằm trong tập con X
2.
Giả sử ta có một vectơ d chiều w, tích vô hướng y=w
T
x biểu diễn hình
chiếu của vectơ x lên phương w. Ta sẽ tìm một phương chiếu w nhằm tối ưu hố độ
phân biệt giữa các mẫu thuộc 2 lớp C
1
và C
2
. Điều này tương đương với việc giảm
số chiều của vectơ đặc trưng xuống còn 1 chiều.
Ta gọi m
i
, i=1, 2 là trị trung bình của các mẫu tương ứng với 2 lớp C
1
và
C
2
.
'
21
'
,'
,.
1
,
,
'
SSCC
SS
eSS
ss
j
K
t
S
t
j
j
SS
m
KS ,
1
,
K S, max arg
j
K
S,
neáu
j
KS
t
KS
t
j
j
SSS
m
KS
jt
.,
1
,
nixxxx
T
d
iiii
1,,
21
i
Xx
i
i
x
n
m
1
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 22
||
~
2
~
1
mm
Và tương ứng là trung bình của các mẫu được chiếu lên phương w:
Trong đó y là hình chiếu của x lên w. Y
i
là tập các hình chiếu của các x
X
i
lên w.
Ta có thể xem là một độ đo cho tính phân biệt giữa hai tập Y
1
và Y
2
. Tuy nhiên để có được sự phân biệt tốt giữa hai tập khi chiếu lên phương w,
ta cần có độ sai khác giữa hai trị trung bình này khá lớn hơn so với độ lệch chuẩn
nội tại của mỗi tập ( có thể xem như độ rộng của đám mây các mẫu).
Thay vì sử dụng phương sai của mỗi tập ta sẽ sử dụng một độ đo khác, gọi
là độ rải (scatter) cho các hình chiếu của các mẫu thuộc lớp C
i
như sau:
Phương pháp LDA sẽ tìm giá trị w để cực đại hố hàm tiêu chuẩn sau đây:
Để thấy J(w) là một hàm theo w ta định nghĩa các ma trận S
B
và S
w
như
sau:
S
W
được gọi là ma trận rải nội lớp (within-class scatter matrix)
S
B
được gọi là ma trận rải liên hợp (between-class scatter matrix)
Ta có:
Nên
Tương tự ta cũng có:
i
m
~
i
T
Xx
T
i
Yy
i
i
mwxw
n
y
n
m
ii
11
~
2
~~
i
Yy
i
i
mys
2~
2
2~
1
2
2
~
1
~
||
)(
ss
mm
wJ
2
1
))((
i Xx
T
iiW
i
mxmxS
T
B
mmmmS ))((
2121
2
i
s
=
i
Xx
i
TT
mwxw
2
)(
=
i
Xx
T
ii
T
wmxmxw ))((
2 2
1 2
s s
=
w
T
S
W
w
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 23
Do đó:
Để xác định w sao cho J(w) cực đại ta cho đạo hàm riêng J(w) theo w bằng
0 kết quả ta sẽ được:
Với là trị riêng, giải bài tốn tìm trị riêng ta sẽ có:
Đây là kết quả tìm được của phương pháp LDA đối với trường hợp chỉ có 2
lớp.
Sau khi đã tìm được w, mỗi vectơ x cần nhận dạng sẽ được xử lý như sau:
lấy x trừ đi trung bình của mẫu học rồi chiếu lên phương w ta được một giá trị vô
hướng, tính khoảng cách từ giá trị vô hướng này trên
i
m
~
của mỗi lớp này chia cho
độ lệch chuẩn
2
~
i
ta được một độ đo khoảng cách từ x đến các cụm ứng với mỗi
lớp.
i=1 2
x sẽ được gán vào lớp ứng với cụm gần nhất.
Để phân biệt được n lớp ta xây dựng n bộ phân loại 2 lớp theo phương pháp
nêu trên. Mỗi bộ phân loại sẽ phân biệt một lớp với n-1 lớp còn lại. Nếu một
vectơ đầu vào được xếp vào cả hai lớp thì ta sẽ sử dụng khoảng cách d
i
nêu trên
để quyết định nó thuộc vào lớp nào. Nếu một vectơ không được xếp vào lớp nào
thì coi như không nhận dạng được.
Phần tiếp theo xin trình bày cách phân lớp dựa trên mô hình mạng nơron
lan truyền ngược, em dành một chương riêng để giới thiệu về mô hình này.
2
1 2
( )
m m
= w
T
S
B
w.
J(w) =
wSw
wSw
W
T
B
T
.
S
B
w =
S
W
w
)(
21
1
mmSw
W
1
( )
i
i
x m w m
d
Nhận dạng kí tự viết tay và phát triển ứng dụng
SVTH : NguyễnĐình Cường Trang 24
CHƯƠNG II
PHÂN LỚP DỰA TRÊN MẠNG NƠRON LAN TRUYỀN NGƯỢC
Sơ lược về mạng nơron MLP (Multi-Layer Perception ) với thuật tốn lan
truyền ngược:
I. Giới thiệu:
Xét về mặt cấu trúc, MLP có cấu trúc phân lớp. Các cung được nối từ một
nút ở lớp này đến các nút ở lớp kế tiếp. Hai nút trong cùng một lớp thì không kết
nối với nhau. Mỗi nút trong một lớp nhận giá trị từ các nút ở lớp liền trước, tổng
hợp lại theo trọng số của cung kết nối và chuyển giá trị kết xuất của nó cho các
nút ở lớp liền sau. Lớp đầu tiên nhận giá trị từ bên ngồi vào và được gọi là lớp
nhập (input). Các nút trong lớp nhập được gọi là nút nhập. Lớp cuối cùng sẽ xuất
ra kết quả của mạng và được gọi là lớp xuất (output). Các nút trong lớp xuất được
gọi là nút xuất. Các lớp còn lại được gọi là lớp ẩn và các nút tương ứng được gọi
là nút ẩn.