Tải bản đầy đủ
2 Các bước tiến hành bài toán nhận dạng chữ viết

2 Các bước tiến hành bài toán nhận dạng chữ viết

Tải bản đầy đủ

51

Sau khi lọc nhiễu, ta tiến hành thực hiện các biện pháp tăng cường ảnh. Việc
tăng cường ảnh sẽ giúp cho chất lượng của mẫu được cải thiện đáng kể. Ảnh thu
nhận được có thể là ảnh mầu. Với yêu cầu bài toán đặt ra thì ta chỉ cần xét về hình
dạng của mẫu chữ mà không cần yêu cầu về mầu sắc của mẫu. Cho nên, để đơn
giản cho việc xử lý và nhận dạng sau này ta tiến hành xám hoá ảnh (grayscale) việc
chuyển từ ảnh RGB sang ảnh GrayScale có thể thực hiện trên từng pixel ảnh theo
công thức sau:
Gray= 0.299Red + 0.587 Green + 0.114 Blue

(5.1)

Ảnh thu nhận được là ảnh đa mức xám với 256 mức xám (8 bit). Ảnh này
được thể hiện bằng lược đồ xám (histogram). Để nâng cao độ nét của các ký tự
trong ảnh văn bản thu được ta thực hiện kỹ thuật co dãn độ tương phản hay biến đổi
mức xám đồ. Cần chú ý phải chọn các thông số cho phù hợp để đạt được kết quả
cao nhất. Các thông số của các kỹ thuật này có thể chọn được bằng cách thử nghiệm
nhiều lần để đạt được kết quả tối ưu.
+ Nhị phân ảnh.
Như trên đã nói, việc nhận dạng ảnh không yêu cầu các thông tin về sắc mầu
mà chỉ đơn giản là chú ý đến hình dạng của mẫu. Bởi vậy, ta có thể biểu diễn ảnh
dưới dạng ảnh nhị phân tức là ảnh chỉ có hai mức đen và trắng. Mức đen tương ứng
0, mức trắng tương ứng 1.
Việc nhị phân hoá có thể dùng kỹ thuật phân ngưỡng mức xám. Kỹ thuật này
rất đơn giản và được cho theo công thức :
1
u=
0

u ≥ threshold
u ≤ threshold

0 ≤ threhold ≤ 255

(5.2)

Tuỳ theo việc chọn giá trị ngưỡng mà ta thu được kết quả khác nhau. Với
mức ngưỡng cao thì độ dày của ký tự sẽ lớn như vậy có thể giúp cho việc nhận dạng
nhưng cũng có thể gây ra biến dạng mẫu. Mức ngưỡng thấp thì kết quả sẽ thu được

52

các nét đường biên chữ mảnh, tuy nhiên nó có thể làm mất đi các nét vốn dĩ đã
mảnh và mờ. Thường ta chọn ngưỡng trong khoảng từ 160-170, tuỳ theo chất lượng
ảnh mẫu thu được.
Sau khi nhị phân hoá có thể sẽ có hiện tượng có các điểm đen bị cô lập bởi
các điểm trắng hoặc ngược lại. Ta cần sử dụng các kỹ thuật lọc điểm cô lập để lọc
bỏ các điểm cô lập này (đã trình bày ở phần xử lý ảnh số).
3.2.2 Tách mẫu và chuẩn hoá.
Sau khi tiến hành nhị phân hoá ảnh mẫu, ta lưu ảnh lại và sau đó tiến hành
tách các ký tự đặc biệt ra khỏi văn bản và thực hiện chuẩn hoá chúng. Kích thước
các mẫu được chuẩn hoá theo kích thước 32x16 pixels. Việc chuẩn hoá kích thước
mẫu được thực hiện theo kỹ thuật sau:
Giả sử sau khi tách mẫu các ký tự có kích thước WxH, ta tính tỉ lệ phóng ảnh
là : S= min(32/W , 16/H).
Tất cả các công việc từ khâu thu nhận ảnh đến khâu chuẩn hoá mẫu có thể
thực hiện bằng cách xây dựng một chương trình phần mềm tự động thực hiện kết
hợp giữa cơ khí và điện tử. Tuy nhiên, công việc này tương đối phức tạp hơn nữa
nhiệm vụ chính của đồ án này là nghiên cứu về logic mờ cho nên trong phạm vi của
đồ án này ta không tiến hành xây dựng một phần mềm riêng mà sử dụng các phần
mềm xử lý ảnh có sẵn kết hợp với các yếu tố thủ công để thực hiện các nhiệm vụ
này. Ta chỉ tập chung vào nhiệm vụ chính là xây dựng một hệ suy luận mờ nhận
dạng, phân biệt chữ viết tay mà thôi.
3.2.3 Xây dựng thư viện mẫu cho các ký tự
Sau khi thu được các mẫu chuẩn 32x16 ta tiến hành xây dựng một thư viện
mẫu chuẩn. Thư viện mẫu này sẽ được dùng cho công tác luyện mạng và kiểm tra
mạng sau này. Công việc xây dựng thư viện mẫu chuẩn được xây dựng bằng một
phần mềm nhỏ. Phần mềm này làm nhiệm vụ đọc thông tin của các mẫu và ghi vào

53

một file nào đó. File này sẽ được đọc ra khi ta dùng thư viện mẫu trong công tác
huấn luyện mạng sau này.
3.2.4 Hệ suy luận học cho bài toán nhận dạng chữ viết tay
Để nhận dạng các chữ viết, ta tiến hành xây dựng các luật mờ cho các mẫu,
quy tắc xác định luật mờ µ cho mỗi ký tự:
Giả sử ta có 3 mẫu ký tự A là các mẫu ký tự cần học cách xây dựng hàm µ
như sau: Chia ảnh ký tự thành các ô (ví dụ 36 ô) hàm µ tại mỗi ô sẽ được xây dựng
bằng số lần xuất hiện trên tổng số mẫu:

2 µ
µ'= 
1 − 2(1 − µ )

Hình 3.2 : Ba mẫu chữ cần đọc

Bước 1: tính(A,µ)= (a1,0), (a2,0), (a3,1), (a4,1), (a5,0), (a6,0), (a7,0),
(a8,1/3), (a9,1/3) .… (a36,1/3)}
Bước 2: Làm rõ theo công thức sau:

0 ≤ µ ≤ 0.5
0.5 < µ ≤ 1

Ta có thể làm rõ nhiều lần để đạt được kết quả như mong muốn.
Bước 3: Căn cứ vào ký tự so sánh B (ký tự cần nhận dạng) ta xác định (B,µ)
giả sử ký tự so sánh có hình như dưới đây:

54

Hình 3.3 : Ký tự cần nhận dạng

(B,µ)={(b1,0), (b2,0), (b3,1), (b4,0), (b5,0), (b6,0), (b7,0), (b8,0), (b9,1)…
(b36,1)}
Bước 4: Tính

Bước 5: Tính hệ số

δ =

∑µ

A∨ B

K

Bước 6: Kết luận nếu δ < φ thì kết luận là đúng và ngược lại. Thông thường
φ chọn là 0.5
Trên đây là các bước tiến hành nhận dạng cho một đối tượng, với trường hợp
nhiều đối tượng ta làm tương tự cho từng đối tượng sau đó thêm một bước là chọn
ra đối tượng có φ nhỏ nhất hay nói cách khác là thay bước 6 ở trên bằng bước tìm
min (φ(Dti)). Đối tượng có φ nhỏ nhấy là đối tượng giống nhất.
3.3. Xây dựng phần mềm
Dựa vào các bước tiến hành trên, ta xây dựng một phần mềm đơn giản bằng
VisualBasic với giao diện như sau:

µ A∨ B = µ A + µ B − µ A .µ B

55

Hình 3.4: Giao diện chương trình nhận dạng

Để kiểm tra hoạt động của chương trình ta vẽ chữ vào khung với nét vẽ tuỳ
chọn, ảnh phóng sẽ hiện ở bên cạnh như hình 4.5:

Hình 3.5: Vẽ chữ cần nhận dạng.

56

Nếu chữ này là mẫu dữ liệu cần học thì ta click vào nút học nhận dạng (Ctrl
+ H), dữ liệu sẽ được lưu vào file data.txt. Còn nếu là dữ liệu kiểm tra thì ta click
vào nút nhận dạng (Crtl + R). Chương trình sẽ cho ra kết quả nhận dạng như hình
4.6 dưới đây:

Hình 3.6: Kết quả nhận dạng sau khi vẽ chữ.

Ta có thể xem trong dữ liệu các mẫu đã học (hoặc xoá các mẫu đã học) bằng
cách chọn mẫu chữ rồi bấm vào xem mẫu trong dữ liệu (hoặc xoá mẫu). Chương
trình cũng cho phép nạp dữ liệu từ file ảnh ngoài bằng cách bấm vào Open (hoặc
Ctrl + O):
Rồi chọn file ảnh như hình 3.7:

57

Hình 3.7: Mở file ảnh ký tự cần nhận dạng.

`

58
Hình 3.8: Giao diện sau khi mở file ảnh ký tự.

Ta tiến hành nhận dạng, chương trình cho ra kết quả như hình 4.9:

Hình 3.9: Kết quả sau khi nhận dạng ảnh ký tự

Chương trình cũng cho phép ghi dữ liệu ra file ảnh:

Hình 3.10: Ghi ký tự ra file ảnh

59

Trong chương trình trên đã dùng một số thủ tục:


Thủ tục để hiện các điểm ảnh của ký tự:
-Private Function celldrawed(ByVal p As PictureBox, ByVal i As Long,

ByVal j As Long) As Boolean
-Sub DrawGrid(ByVal p As PictureBox)
-Sub trimPic(ByVal p As PictureBox, ByVal Border As Byte)


Thủ tục vẽ các ký tự:
-Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X

As Single, Y As Single)


Thủ tục để lưu trữ dữ liệu:
-Private Sub CmdHoc_Click()
File lưu trữ dữ liệu ở dạng File có cấu trúc như sau :
Type Record =

Kytu as string *1

TanSuat (0 To R_grid - 1, 0 To H_grid - 1) As Long
Tong as long

end Type

60

KẾT LUẬN
Nội dung chính của luận văn là đề cập đến lý thuyết về logic mờ, lý thuyết
nhận dạng và đặc biệt là nghiên cứu mô hình của bài toán nhận dạnh chữ viết tay,
một bài toán đang được các nhà nghiên cứu quan tâm. Các kết quả chính của luận
văn gồm có:
1. Nghiên cứu các kiến thức cơ bản về logic mờ và nhận dạng mờ. Đây là
kiến thức quan trọng để nghiên cứu về bài toán nhận dạng chữ viết tay.
2. Tìm hiểu một số kỹ thuật quan trọng trong lý thuyết nhận dạng ảnh, đây là
những kỹ thuật cần thiết cho quá trình nhận dạng nói chung và nhận dạng chữ viết
tay nói riêng.
3. Tìm hiểu, phân tích bài toán nhận dạng chữ viết tay, một bài toán quan
trọng trong lý thuyết nhận dạng.
4. Xây dựng quy trình chi tiết trong quá trình giải quyết bài toán nhận dạng
chữ viết tay.
5. Xây dựng phần mềm nhận dạng chữ viết tay trên nền Visual Basic cho
phép nhận dạng với độ chính xác cao, thuận tiện cho người dùng.
Hướng phát triển tiếp theo của luận văn là tiếp tục bổ sung thư viện chương
trình mẫu, nâng cao độ chính xác trong kết quả nhận dạng và thay đổi giao diện của
phần mềm tiện lợi cho người dùng hơn. Phát triển kết quả nghiên cứu để xây dựng
các phần mềm chữ viết cho các ngôn ngữ của các dân tộc Việt Nam.

61

TÀI LIỆU THAM KHẢO
1. TIẾNG VIỆT
[1] Lương Manh Bá, Nguyễn Thanh Thuỷ , 1999, Nhập môn xử lý ảnh số - NXB
Khoa học và Kỹ thuật
[2] Bùi Công Cường, Nguyễn Doãn Phước, 2001, Hệ mờ mạng nơron & ứng dụng NXB Khoa học và Kỹ thuật.
[3] Phạn Xuân Minh, Nguyễn Doãn Phước, 1997, Lý thuyết điều khiển mờ - NXB
Khoa học và Kỹ thuật.
[4] Nguyễn Hoàng Phương, Bùi Công Cường, Phạn Xuân Minh, Nguyễn Doãn
Phước, Chu Văn Hỷ, 1998, Hệ mờ và ứng dụng - NXB Khoa học và Kỹ thuật.
2. TIẾNG ANH
[5] Christopher Edwards and Sarah K. Spurgeon, Taylor and Fransis, Sliding
Moded Control Theory and App;ication, 1998.
[6] Hung T. Nguyen, Michio Sugano, Fuzzy Systens, modeling and Control, Kluwer
academic publishers, 1998.
[7] L.X. Wang, A Couse in Fuzzy Sytem and Control, Prentice –Hall International, 1997.
[8] Tom M. mitchell, Machine liarning, 1997.
[9] Tinku Acharya, Ajoy K.Ray, Image Processing Principles and App;ication,
Jonh Wiley & Son, Honoken, 2005.