Tải bản đầy đủ (.doc) (70 trang)

Cơ sở lý thuyết về tiền xử lý ảnh ký tự và trích chọn đặc trư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 (1004.74 KB, 70 trang )

50

Nhận dạng là bài toán xuất hiện cách đây khá lâu và vẫn luôn thu
hút được nhiều sự quan tâm, nghiên cứu. Đặc biệt là trong vài thập niên gần
đây, do sự thúc đẩy của quá trình tin học hoá trong mọi lĩnh vực, bài toán nhận
dạng không còn dừng lại ở mức độ nghiên cứu nữa mà nó trở thành một lĩnh
vực để áp dụng vào thực tế. Các bài toán nhận dạng đang được ứng dụng
trong thực tế hiện nay tập trung vào nhận dạng mẫu, nhận dạng tiếng nói và
nhận dạng chữ. Trong số này, nhận dạng chữ là bài toán được quan tâm rất
nhiều và cũng đã đạt được nhiều thành tựu rực rỡ. Các ứng dụng có ý nghĩa
thực tế lớn có thể kể đến như: nhận dạng chữ in dùng trong quá trình sao lưu
sách báo trong thư viện, nhận dạng chữ viết tay dùng trong việc phân loại thư
ở bưu điện, thanh toán tiền trong nhà băng và lập thư viện sách cho người mù
(ứng dụng này có nghĩa: scan sách bình thường, sau đó cho máy tính nhận dạng
và trả về dạng tài liệu mà người mù có thể đọc được).
Xuất phát từ yêu cầu thực tế, đang rất cần có nhưng nghiên cứu về vấn đề
này. Chính vì vậy tôi đã chọn đề tài nhận dạng ký tự viết tay làm đồ án tốt
nghiệp với mong muốn phần nào áp dụng vào bài toán thực tế.
Bài toán đã đặt ra phải giải quyết được những yêu cầu sau:
 Nhận dạng được các ký tự từ ảnh đầu vào
 Trích chọn được các đặc trưng của ảnh
 Tiến hành nhận dạng với thuật toán Markov ẩn
Với nhưng yêu cầu đã đặt ra ở trên, cấu trúc của khóa luận sẽ bao gồm
những nội dung sau đây:
  
Giới thiệu về bài toán nhận dạng chữ viết tay, tình hình
nghiên cứu trong và ngoài nước, quy trình chung để giải quyết bài
toán và các phương pháp điển hình trong việc huấn luyện nhận
dạng, phạm vi của đề tài.
  !"#$%&''(
)'%


Trình bày lý thuyết về lọc nhiễu, nhị phân hóa, chuẩn hóa
51
kích thước, trích chọn đặc trưng ảnh ký tự.
 *+,-./0123/4567894:;
Trình bày các khái niệm cơ bản, thuật toán của mô hình
Markov
 <=;>?;@0A;067894:;/79;
;0B;>C;0D4E3//62
Giới thiệu về thuật toán nhận dạng. Các bước cài đặt thuật
toán. Những khó khăn và giải pháp khắc phục.
 FGEH/0I+;/7A;04GJ;0EJ83/
K1L
Trình bày môi trường cài đặt, giao diện chương trình, một số
class chính của chương trình. Đánh giá kết quả và đưa ra hướng
phát triển trong tương lại.
 MNN'>OPN'QRST"TUOP#"VW
Đồ án này không tránh khỏi sự thiếu sót do hạn chế về thời
gian cũng như kiến thức. Em rất mong nhận được sự đóng góp ý
kiến của thầy hướng dẫn và các bạn để đạt kết quả tốt hơn.
0I+;EEXE/0EY15/GE
EWZ[\']O
Nhận dạng chữ in: đã được giải quyết gần như trọn vẹn (sản phẩm
52
FineReader 9.0 của hãng ABBYY có thể nhận dạng chữ in theo 192 ngôn ngữ
khác nhau, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 của Viện Công nghệ
Thông tin Hà Nội có thể nhận dạng được các tài liệu chứa hình ảnh, bảng và
văn bản với độ chính xác trên 98%).
Nhận dạng chữ viết tay: vẫn còn là vấn đề thách thức lớn đối với các nhà
nghiên cứu. Bài toàn này chưa thể giải quyết trọn vẹn được vì nó hoàn toàn phụ
thuộc vào người viết và sự biến đổi quá đa dạng trong cách viết và trạng thái

sức khỏe, tinh thần của từng người viết.
EWW^'OV\_^%U
 OV\`abbcadbe
- Nhận dạng chữ được biết đến từ năm 1900, khi nhà khoa học người
Nga Tyuring phát triển một phương tiện trợ giúp cho những người mù.
- Các sản phẩm nhận dạng chữ thương mại có từ những năm1950, khi
máy tính lần đầu tiên được giới thiệu tính năng mới về nhập và lưu trữ
dữ liệu hai chiều bằng cây bút viết trên một tấm bảng cảm ứng .Công
nghệ mới này cho phép các nhà nghiên cứu làm việc trên các bài toán
nhận dạng chữ viết tay on-line.
- Mô hình nhận dạng chữ viết được đề xuất từ năm 1951 do phát minh
của M. Sheppard được gọi là GISMO, một robot đọc-viết.
- Năm 1954, máy nhận dạng chữ đầu tiên đã được phát triển bởi J.
Rainbow dùng để đọc chữ in hoa nhưng rất chậm.
- Năm 1967, Công ty IBM đã thương mại hóa hệ thống nhận dạng chữ.
 OV\`adbcaabe
- Với sự phát triển của các thiết bị phần cứng máy tính và các thiết bị thu
thu nhận dữ liệu, các phương pháp luận nhận dạng đã được phát triển
trong giai đoạn trước đã có được môi trường lý tưởng để triển khai các
ứng dụng nhận dạng chữ.
- Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều
hệ thống nhận dạng chữ.
- Trong giai đoạn này, các hướng nghiên cứu chỉ tập trung vào các kỹ
thuật nhận dạng hình dáng chứ chưa áp dụng cho thông tin ngữ nghĩa.
Điều này dẫn đến sự hạn chế về hiệu suất nhận dạng, không hiệu quả
53
trong nhiều ứng dụng thực tế.
 OV\*`/faabOe
- Các hệ thống nhận dạng thời gian thực được chú trọng trong giai đoạn
này.

- Các kỹ thuật nhận dạng kết hợp với các phương pháp luận trong lĩnh
vực học máy (Machine Learning) được áp dụng rất hiệu quả.
- Một số công cụ học máy hiệu quả như mạng nơ ron, mô hình Markov
ẩn, SVM (Support Vector Machines) và xử lý ngôn ngữ tự nhiên
EWW/QQg'h%V'
Nhận dạng chữ viết tay được chia thành hai lớp bài toán lớn là nhận dạng
chữ viết tay trực tuyến (online) và nhận dạng chữ viết tay ngoại tuyến (offline).
Trong nhận dạng chữ viết tay ngoại tuyến, dữ liệu đầu vào được cho dưới dạng
các ảnh được quét từ các giấy tờ, văn bản. Ngược lại nhận dạng chữ viết tay
trực tuyến là nhận dạng các chữ trên màn hình ngay khi nó được viết. Trong hệ
nhận dạng này máy tính sẽ lưu lại các thông tin về nét chữ như thứ tự nét viết,
hướng và tốc độ của nét…
Tại Việt Nam,
năm 2010, nhóm nghiên
cứu Huỳnh Hữu Lộc,
Lưu Quốc Hải, Đinh
Đức Anh Vũ (Khoa
Khoa học và Kỹ thuật
máy tính, Trường Đại
học Bách khoa TP Hồ
Chí Minh) đã đạt được những bước tiến đáng kể trong nhận dạng ký tự viết tay.
Hướng tiếp cận của nhóm nghiên cứu là nhận dạng dựa trên thông tin tĩnh. Dựa
trên nền tảng giải thuật rút trích thông tin theo chiều, nhóm tác giả đã cải tiến đa
số các bước để đạt được độ chính xác cao hơn trong việc nhận dạng ký tự
(khoảng 95%) và có những bước tiến đáng kể trong nhận dạng cả từ. Tuy nhiên
sản phẩm vẫn chưa nhận dạng được chữ viết tay tiếng Việt. Như vậy có thể thấy
nhận dạng chữ viết tay, đặc biệt chữ viết tay tiếng Việt hiện đang là một hướng
54
nghiên cứu rất được quan tâm hiện nay và đang còn nhiều vấn đề cần phải hoàn
thiện.

EWW*/QQg'h'V
Nhận dạng chữ viết đã được nghiên cứu hơn 40 năm qua. Ngày nay nhận
dạng chữ viết đã nhận được sự quan tâm đáng kể do sự phát triển của các máy
tính cầm tay và điện thoại cầm tay dựa trên các bàn phím, chuột và nhiều dạng
thiết bị định vị khác. Các phương pháp này tỏ ra không hữu hiệu hoặc xử lý
chậm. Do đó người ta cần nghiên cứu phương pháp nghiên cứu phương pháp
nhận dạng chữ viết tay trên các máy Palm Pilot hay các máy TABLET PC.
EW^'_'Z"iTV^
Nhận dạng chữ viết tay thường bao gồm năm giai đoạn: tiền xử lý
(preprocessing), tách chữ (segmentation), trích chọn đặc trưng(representation),
huấn luyện và nhận dạng (training and recognition), hậu xử lý (postprocessing).
- Tiền xử lý: giảm nhiễu cho các lỗi trong quá trình quét ảnh, hoạt động
viết của con người, chuẩn hóa dữ liệu và nén dữ liệu.
55
- Tách chữ: chia nhỏ văn bản thành những thành phần nhỏ hơn ,tách các
từ trong câu hay các kí tự trong từ.
- Biểu diễn, rút trích đặc điểm: giai đoạn đóng vai trò quan trọng nhất
trong nhận dạng chữ viết tay. Để tránh những phức tạp của chữ viết tay
cũng như tăng cường độ chính xác, ta cần phải biểu diễn thông tin chữ
viết dưới những dạng đặc biệt hơn và cô đọng hơn, rút trích các đặc
điểm riêng nhằm phân biệt các ký tự khác nhau.
- Huấn luyện và nhận dạng: phương pháp điển hình so trùng mẫu, dùng
thống kê, mạng nơ-ron ,PjQPO%#Vk ,trí tuệ nhân tạo hay dùng
phương pháp kết hợp các phương pháp trên.
- Hậu xử lý: sử dụng các thông tin về ngữ cảnh để giúp tăng cường độ
chính xác, dùng từ điển dữ liệu.
- Mô tả quá trình trong hệ thống nhận dạng .Sơ đồ gồm hai phần chính:
đường màu đỏ mô tả các bước để huấn luyện cho máy học, đường màu
xanh mô tả các bước trong quá trình nhận dạng:
Ban đầu các hình ảnh này đi qua giai đoạn chuyển ảnh về dạng ảnh nhị

phân (giai đoạn tiền xử lý). Ảnh sẽ được lưu trữ dưới dạng ma trận điểm, vị trí
pixel có nét vẽ sẽ mang giá trị 1, ngược lại có giá trị 0. Sau đó, ảnh được cắt
xén để ký tự nằm trọn trong một khung chữ nhật, các vùng không gian không
có nét vẽ được loại bỏ đi. Giải thuật cắt xén hiện thực đơn giản dựa trên ảnh nhị
phân và thu giảm ảnh đã được cắt xén về một ảnh có kích thước chung đã được
quy định trước.
Tiếp theo, ảnh đã được cắt xén và thu nhỏ được làm mỏng. Quá trình làm
mỏng này giúp ta chỉ lấy những thông tin cần thiết về hình dạng của ký tự và
loại bỏ các pixel dư thừa. Các chấm nhỏ trên hình biểu thị các pixel có giá trị 1
ban đầu. Sau khi làm mỏng, chỉ những pixel có ý nghĩa được giữ lại, và chúng
được biểu diễn bằng các chấm to trong hình.
Ảnh sau quá trình làm mỏng chứa hầu hết các thông tin về hình dạng của
ký tự. Những thông tin này sẽ được phân tích để rút trích ra các đặc điểm giúp
việc phân loại các ký tự với nhau. Phương thức này dựa trên thông tin về hình
dạng của ký tự như sự chuyển vị trí và sự chuyển chiều. Kết quả quá trình này
là các véc-tơ đặc điểm chứa thông tin về ký tự. Các thông tin này giúp máy lấy
56
được các đặc điểm của từng ký tự, phân loại chúng và tạo ra các thông tin cần
thiết để nhận dạng các ký tự có chung ý nghĩa. Do chữ viết mỗi người mỗi khác
nên ta không thể thu thập tất cả các nét chữ của từng người để máy học có thể
nhận diện mà chỉ có thể dựa trên một số mẫu nào đó để nhận ra các nét chữ của
những người viết khác nhau. Mô hình markov ẩn (Hidden Markov Model) có
thể giải quyết vấn đề này.
EW*/liO'^'__^_m
EW*WjQO%#Vk
Mô hình Markov ẩn (Hiden Markov Model - HMM) được giới thiệu vào
cuối những năm 1960. Cho đến hiện nay nó có một ứng dụng khá rộng như
trong nhận dạng giọng nói, tính toán sinh học (Computational Biology), và xử
lý ngôn ngữ tự nhiên… HMM là mô hình máy hữu hạn trạng thái với các tham
số biểu diễn xác suất chuyển trạng thái và xác suất sinh dữ liệu quan sát tại mỗi

trạng thái.
Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống được mô hình
hóa được cho là một quá trình Markov với các tham số không biết trước, nhiệm
vụ là xác định các tham số ẩn từ các tham số quan sát được. Các tham số của
mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp.
Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp
bởi người quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số
duy nhất.
Hình 1.4 Mô
hình Markov ẩn
x
i
: Các trạng
thái trong mô
hình Markov
a
ij
: Các xác suất
chuyển tiếp
b
ij
: Các xác suất
đầu ra
57
y
i
: Các dữ liệu quan sát
Mô hình Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân
bố trên các biểu hiện đầu ra có thể. Vì vậy, nhìn vào dãy của các biểu hiện được
sinh ra bởi HMM không trực tiếp chỉ ra dãy các trạng thái. Ta có tìm ra được

chuỗi các trạng thái mô tả tốt nhất cho chuỗi dữ liệu quan sát được bằng cách
tính.

Hình 1.5 Đồ thị vô hướng HMM
Ở đó Y
n
là trạng thái tại thời điểm thứ t=n trong chuỗi trạng thái Y, X
n
là dữ
liệu quan sát được tại thời điểm thứ t=n trong chuỗi X. Do trạng thái hiện tại chỉ
phụ thuộc vào trạng thái ngay trước đó với giả thiết rằng dữ liệu quan sát được tại
thời điểm t chỉ phụ thuộc và trạng thái t. Ta có thể tính:
Một số hạn chế của mô hình Markov để tính được xác suất P(Y,X) thông
thường ta phải liệt kê hết các trường hợp có thể của chuỗi Y và chuỗi X. Thực tế
thì chuỗi Y là hữu hạn có thể liệt kê được, còn X (các dữ liệu quan sát) là rất
phong phú. Để giải quyết các vấn đề này HMM đưa ra giả thiết về sự độc lập giữa
các dữ liệu quan sát: Dữ liệu quan sát được tại thời điểm  chỉ phụ thuộc vào
trạng thái tại thời điểm đó. Hạn chế thứ hai gặp phải là việc sử dụng xác suất
đồng thời P(Y, X) đôi khi không chính xác vì với một số bài toán thì việc sử dụng
xác suất điều kiện P(Y | X) cho kết quả tốt hơn rất nhiều.
EW*W^n'V%o%p
Có thể mô tả 1 cách đơn giản về bộ phân lớp SVM như sau: Cho trước 2 tập dữ liệu
học, mỗi tập thuộc về 1 lớp cho trước, bộ phân lớp SVM sẽ xây dựng mô hình phân lớp dựa
trên 2 tập dữ liệu này. Khi có một mẫu mới được đưa vào, bộ phân lớp sẽ đưa ra dự đoán xem
)(/)|()|( XPXYPXYP =
Y
1
Y
2
… … …

Y
n
X
1
X
2
… … …
X
n



=
n
t
tttt
YXPYYPYXPYPXYP
2
1111
)|(*)|()|()(),(
58
mẫu này thuộc lớp nào trong 2 lớp đã định. Phương pháp này được Vapnik và cộng sự đề xuất
năm 1992, lấy nền tảng từ lý thuyết học thống kê của Vapnik & Chervonenkis vào
năm 1960.
Đặc trưng cơ bản quyết định khả năng phân loại của một bộ phân loại là
hiệu suất tổng quát hóa, hay là khả năng phân loại những dữ liệu mới dựa vào
những tri thức đã tích lũy được trong quá trình huấn luyện. Thuật toán huấn luyện
được đánh giá là tốt nếu sau quá trình huấn luyện, hiệu suất tổng quát hóa của bộ
phân loại nhận được cao. Hiệu suất tổng quát hóa phụ thuộc vào hai tham số là
sai số huấn luyện và năng lực của máy học. Trong đó sai số huấn luyện là tỷ lệ lỗi

phân loại trên tập dữ liệu huấn luyện. Còn năng lực của máy học được xác định
bằng kích thước Vapnik Chervonenkis (kích thước VC). Kích thước VC là một
khái niệm quan trọng đối với một họ hàm phân tách (hay là bộ phân loại). Đại
lượng này được xác định bằng số điểm cực đại mà họ hàm có thể phân tách hoàn
toàn trong không gian đối tượng, Một bộ phân loại tốt là bộ phân loại đơn giản
nhất và đảm bảo sai số huấn luyện nhỏ. Phương pháp SVM được xây dựng dựa
trên ý tưởng này.
jh',4
Công thức SVM đơn giản nhất là trường hợp tuyến tính khi mà một siêu phẳng quyết
định nằm giữa hai tập dữ liệu.Trong trường hợp này, không gian giả định là một tập các điểm
có phương trình là: q` ersW tT. SVM đi tìm một siêu phẳng tối ưu như một phương án để
phân chia hai tập hợp dữ liệu và đồng thời có thể sử dụng cho những dữ liệu mới.
Có hai phương pháp để tìm siêu phẳng tối ưu. Thứ nhất là tìm siêu phẳng nằm
giữa 2 tập đóng. Thứ hai là cực đại hoá khoảng cách giữa hai mặt phẳng hỗ trợ (cực đại
hoá lề). Cả hai phương pháp đều tìm ra một mặt phẳng quyết định và tập hợp những
điểm hỗ trợ cho quyết định. Chúng được gọi là các vector hỗ trợ.
59
0QWd,g_u_v'O&
0QWawgxg_u'yTgx'$'\
Siêu phẳng
phân chia
Siêu phẳng có
biên độ cực đại
60
0QWb4n'V%o%p
0QWJ \_P\v
Việc huấn luyện SVM là việc giải bài toán quy hoạch toàn phương với các
ràng buộc bằng và không bằng. Việc xử lý sau cùng là xử lý các tham số dương α
và rút ra một tập con của tập huấn luyện tương ứng với các tham số. Việc huấn
Vector hỗ trợ

61
luyện một tập dữ liệu nhỏ (nhỏ hơn 1000 mẫu) có thể được xử lý một cách nhanh
chóng trên một máy tính có cấu hình thích hợp. Đối với những tập dữ liệu lớn
hơn, việc giải bài toán quy hoạch toàn phương đòi hỏi một máy tính có năng lực
lớn và bộ nhớ lớn để lưu trữ ma trận hạt nhân trong suốt quá trình tính toán. Bộ
nhớ yêu cầu lên đến bình phương kích thước của tập huấn luyện.
Có nhiều phương pháp huấn luyện SVM được phát triển để tận dụng bộ
nhớ, cải thiện tốc độ huấn luyện và tìm một mô hình tốt nhất bằng cách dùng một
nhân và các siêu tham số thích hợp (Burges, 1988). Lưu ý rằng, SVM cơ bản
dùng cho hai lớp. Để có thể dùng cho nhiều lớp thì ta phải kết hợp nhiều bộ phân
loại hai lớp hoặc xây dựng SVM cho nhiều lớp.
62
0QWjQZ[\#$[z,4
SVM thường thực hiện tốt trên các tập dữ liệu khả tách tuyến tính vì có thể thực
hiện việc xác định siêu mặt phẳng phân tích dữ liệu tối ưu, trong trường hợp này
SVM chỉ việc tập trung vào việc cực đại hóa lề.
I.3.3 Mạng Neural
Là phương pháp được sử dụng trong đồ án. Quá trình huấn luyện là quá trình học các
tập mẫu để điều chỉnh trọng số liên kết. Giải thuật huấn luyện thường được dùng nhất là giải
thuật lan truyền ngược sai số Back Progration. Nội dung này sẽ được trình bày chi tiết trong
chương 3 và chương 4.
Đồ án sử mạng neural gồm 60 đầu vào được lấy bằng các ký tự đã được tách biên thành chuỗi
Fourier gồm 6 thành phần liên thông và 10 giá trị đối với mỗi thành phần, sử dụng hàm
Sigmoid làm hàm ngưỡng.
0QW*,{PxP\n%OZ[\#$
So với hai phương pháp còn lại, phương pháp sử dụng mạng Neural được lựa chọn là do
những ưu điểm sau đây:
• Tính phi tuyến.
63
• Mô hình tổng quát cho ánh xạ từ tập vào đến tập ra.

• Có thể yêu cầu sự tiến hóa nhanh của hàm mục tiêu.
• Chấp nhận lỗi ở các ví dụ học.
• Thích ứng với nhiễu dữ liệu.
EW<M\P
• Đồ án “Nghiên cứu phương pháp nhận dạng chữ viết tay và cài đặt chương trình thử
nghiệm” được thực hiện với mục đích giải quyết một lớp con các bài toàn nhận dạng
chữ viết tay, tập trung vào bước nhận dạng ký tự tiếng Việt đơn lẻ do đây là bước mà
mọi hệ nhận dạng chữ viết tiếng Việt cần phải có.
• Từ đó tạo cơ sở để tiếp theo có thể xây dựng và phát triển một sản phẩm nhận dạng
chữ viết tay hoàn chỉnh trên các thiết bị di động, áp dụng vào việc hỗ trợ việc học
tập và sinh hoạt của người khiếm thị.
• Đồ án sẽ tập trung vào phân tích 3 thành phần chính của một hệ nhận dạng: Tiền xử
lý, trích chọn đặc trưng và huấn luyện bằng mô hình markov ẩn. Từ đó cài đặt
chương trình mô phỏng trên PC bằng ngôn ngữ C#
0I+;EE
+,-./0123/45/E5;|}.L;0
4G/7~00•;H/7I;
EEW/liO !"
Đầu vào của quá trình xử lý ảnh là các ảnh gốc ban đầu, thu được qua
scanner. ảnh ban đầu thường có chất lượng thấp do ảnh hưởng của nhiễu, bị
nghiêng, bị đứt nét nên chúng ta cần phải có một quá trình tiền xử lý ảnh để
nâng cao chất lượng ảnh đầu vào trước khi đưa vào nhận dạng. Quá trình này
bao gồm công đoạn khôi phục ảnh và tăng cường ảnh .
Khôi phục ảnh nhằm mục đích loại bỏ hay làm giảm tối thiểu các ảnh
hưởng của môi trường bên ngoài lên ảnh thu nhận được. Công đoạn khôi phục
ảnh bao gồm các bước như lọc ảnh, khử nhiễu, quay ảnh, qua đó giảm bớt các
biến dạng do quá trình quét ảnh gây ra và đưa ảnh về trang thái gần như ban
64
đầu.
Tăng cường ảnh là một công đoạn quan trọng, tạo tiền đề cho xử lý ảnh.

Tăng cường ảnh không phải làm tăng lượng thông tin trong ảnh mà là làm nổi
bật những đặc trưng của ảnh giúp cho công việc xử lý phía sau được hiệu quả
hơn. Công đoạn này bao gồm các công việc như lọc độ tương phản, làm trơn
ảnh, nhị phân hóa.
Các công đoạn của tiền xử lý ảnh sẽ được trình bày cụ thể trong các phần
tiềp theo.
EEW^''jV\ !
Giai đoạn tiền xử lý văn bản là giai đoạn quan trọng, có ảnh hưởng trực
tiếp đến độ chính xác của quá trình nhận dạng, tuy nhiên nó cũng làm tăng thời
gian chung của cả hệ thống. Vì vậy, tùy theo chất lượng ảnh thu nhận được của
từng trường hợp cụ thể, mà chúng ta chọn sử dụng một hoặc một số thủ tục tiền
xử lý. Thậm chí, trong trường hợp văn bản đầu vào có chất lượng tốt và cần ưu
tiên tốc độ xử lý, chúng ta có thể bỏ qua giai đoạn tiền xử lý này. Thông
thường, chúng ta vẫn phải thực hiện một số thủ tục quan trọng nhất.
Các thủ tục này bao gồm :
 Chuyển xám
 Phân ngưỡng,
 Lọc nhiễu,
 Căn chỉnh độ lệch trang,
 Làm trơn ảnh.
EEWWU ^P"W
Đơn vị tế bào của ảnh số là
pixel. Tùy theo mỗi định dạng là ảnh màu hay ảnh xám mà từng pixel có thông
số khác nhau. Đối với ảnh màu từng pixel sẽ mang thông tin của ba màu cơ bản
tạo ra bản màu khả kiến là Đỏ (R), Xanh lá (G) và Xanh biển (B) [Thomas
1892]. Trong mỗi pixel của ảnh màu, ba màu cơ bản R, G và B được bố trí sát
nhau và có cường độ sáng khác nhau. Thông thường, mổi màu cơ bản được
biểu diễn bằng tám bit tương ứng 256 mức độ màu khác nhau. Như vậy mỗi
pixel chúng ta sẽ có màu (khoảng 16.78 triệu màu). Đối với ảnh xám, thông
thường mỗi pixel mang thông tin của 256 mức xám (tương ứng với tám bit) như

65
vậy ảnh xám hoàn toàn có thể tái hiện đầy đủ cấu trúc của một ảnh màu tương
ứng thông qua tám mặt phẳng bit theo độ xám.
Trong hầu hết quá trình xử lý ảnh, chúng ta chủ yếu chỉ quan tâm đến cấu
trúc của ảnh và bỏ qua ảnh hưởng của yếu tố màu sắc. Do đó bước chuyển từ
ảnh màu thành ảnh xám là một công đoạn phổ biến trong các quá trình xử lý
ảnh vì nó làm tăng tốc độ xử lý là giảm mức độ phức tạp của các thuật toán trên
ảnh.
Chúng ta có công thức chuyển các thông số giá trị màu của một pixel
thành mức xám tương ứng như sau:
G = ỏ.CR + õ.CG + ọ.CB
Trong đó các giá trị CR, CG và CB lần lượt là các mức độ màu Đỏ, Xanh
lá và Xanh biển của pixel màu.
EEWWMv€"`Nhị phân ảnhe
Phân ngưỡng hay còn gọi là nhị phân hóa. Mục đích của nó là chuyển từ
ảnh mầu, ảnh đa cấp xám sang ảnh nhị phân (ảnh 2 cấp xám, ảnh đen trắng).
Thuật toán phân ngưỡng cài đặt ở đây sử dụng hàm phân ngưỡng :
1 if Source(x,y) >= T
Dest(x,y)=
0 if Source(x,y) < T
Trong đó, Source(x,y) là giá trị điểm ảnh ở vị trí (x,y) của ảnh nguồn,
Dest(x,y) là giá trị điểm ảnh tương ứng ở vị trí (x,y) của ảnh đích. T là giá trị
ngưỡng.
Giá trị cụ thể của ngưỡng phụ thuộc vào từng ảnh, vùng ảnh đầu vào đang
xét và không thể lấy cố định. Ví dụ như trên hình 3.2.2, hình a) là ảnh ban đầu,
hình e) thể hiện biểu đồ histogram (biểu đồ tần suất), hình b,c,d thể hiện ảnh đã
được nhị phân hóa với cùng ngưỡng thấp, trung bình và ngưỡng cao. Chúng ta
có thể thấy là giá trị ngưỡng trong hình 3.2.2d là thích hợp hơn cả.
66
a) ảnh gốc ban đầu b) Ngưỡng thấp (90)

c ) Ngưỡng trung bình (128) d ) Ngưỡng cao (225)
Hình 3.2.2 - Phương pháp lấy ngưỡng
Người ta đã đề xuất nhiều phương pháp để xác định giá trị
ngưỡng. Một phương pháp là thiết lập ngưỡng sao cho số lượng các điểm đen
đạt một ngưỡng chấp nhận được theo phân phối xác suất mức xám. Ví dụ,
chúng ta có thể biết rằng các kí tự chiếm 25% diện tích của một trang văn bản
thông thường. Vì thế chúng ta có thể thiết lập ngưỡng sao cho số lượng điểm
đen còn lại chiếm 1/4 trang văn bản. Một cách tiếp cận khác là chọn ngưỡng
nằm ở vị trí thấp nhất trên biểu đồ histogram giữa hai đỉnh của nó . Tuy
nhiên việc xác định vị trí này thường rất khó khăn do hình dạng của histogram
thường lởm chởm. Một giải pháp để giải quyết vấn đề này là xấp xỉ giá trị của
histogram giữa hai đỉnh với một hàm giải tích và sử dụng vi phân để xác định
điểm thấp nhất. Ví dụ, coi x và y lần lượt là hoành độ và tung độ trên
histogram. Chúng ta có thể sử dụng hàm : y = ax
2
+ bx + c. Với a,b,c là
các hằng số làm hàm xấp xỉ đơn giản cho histogram ở vị trí giữa hai đỉnh của
nó. Vị trí thấp nhất sẽ có tọa độ x = -b/2a.
Phương pháp xấp xỉ các giá trị của histogram và tìm vị trí thấp nhất cho
giá trị ngưỡng tốt hơn nhưng lại yêu cầu nhiều tài nguyên về tính toán để thực
hiện cũng độ phức tạp trong việc cài đặt nên trong phạm vi khóa luận này
chúng tôi chọn giải pháp tìm ngưỡng theo phân phối xác suất. Phương pháp
này đơn giản hơn và kết quả của nó tương đối đáp ứng được các yêu cầu cho
việc nhận dạng.
EEWW*;•"
Trong xử lý ảnh các ảnh đầu vào thường được thu thập từ các nguồn ảnh
67
khác nhau và các ảnh thu thập đươc thường có nhiễu và cần loại bỏ nhiễu hay
ảnh thu được không sắc nét, bị mờ cần làm rõ các chi tiết trước khi đưa vào xử
lý.

Một số loại nhiễu ảnh thường gặp:
 Nhiễu cộng : nhiễu cộng thường phân bố khắp ảnh. Nếu ta gọi
ảnh quan sát( ảnh thu được) là X_qs, ảnh gốc la X_gốc và
nhiễu là #. ảnh thu được có thể biểu diễn bởi:
X_qs = X_gốc + #.
 Nhiễu nhân : Nhiễu nhân thường phân bố khắp ảnh. Nếu ta gọi
ảnh quan sát( ảnh thu được) là X_qs, ảnh gốc la X_gốc và
nhiễu là #. ảnh thu được có thể biểu diễn bởi:
X_qs = X_gốc # #.
 Nhiễu xung : Nhiễu xung thường gây đột biến ở một số điểm
của ảnh. Trong hầu hết các trường hợp thừa nhận nhiễu là tuần
hoàn. Các phương pháp lọc đề cập trong báo cáo xét với các
trường hợp ảnh chỉ có sự xuất hiện của nhiễu.
EEWW<x‚__^_('•
EEWW<Wwx('nO
Mạch lọc là một mặt nạ có kích thước NxN, trong đó tất cả các hệ số đều
bằng 1. Đáp ứng là tổng các mức xám của NxN pixels chia cho NxN. Ví dụ mặt nạ
3x3 thì đáp ứng là tổng mức xám của 9 pixels chia cho 9. Ví dụ mặt nạ 1/9x
Nhân chập mặt nạ với tất cả các pixel của ảnh gốc chúng ta sẽ thu được ảnh
kết quả qua bộ lọc Mean theo công thức sau:
Hình 3.2.4.1 ảnh thu
được khi qua bộ lọc Mean
1 1 1
1 1 1
1 1 1
68
Với f[i,j] là giá trị pixel kết quả, s(k,l) là các giá trị pixel ảnh gốc được mặt
nạ chập lên và S là kích thước mặt nạ. Bộ lọc Mean có vai trò làm trơn ảnh có
thể xem như bộ lọc thông cao, nhưng lại làm mờ đường biên của các đối tượng
bên trong ảnh, làm mất tín hiệu cận nhiễu và không lọc được nhiễu xung.

EEWW<Wwx('n[O
Để thực hiện lọc Median trong lân cận của một pixel chúng ta sắp xếp các giá
trị của pixel và các lân cận, xác định trung vị Median và định giá trị pixel. Ví dụ
như một lân cận 3x3 có các giá trị: 10, 20, 20, 20, 15, 20, 20, 25, 100. Các giá trị
này được sắp xếp lại theo thứ tự từ thấp đến cao: 10, 15, 20, 20, 20, 20, 20, 25,
100. Giá trị median là 20. Do đó về nguyên lý thì mạch median có thể tách được
các điểm có cường độ sáng lớn như nhiễu xung và lọc các điểm có cường độ sáng
tức thì (xung) hay còn gọi là các nhiễu muối tiêu. Ví dụ về ảnh sau khi lọc nhiễu

Hình 3.2.4.2
ảnh sau khi qua bộ lọc Median
EEWW<W*wx('O
Về bản chất bộ lọc Gauss có phương thức tiến hành tương đồng với bộ lọc
trung bình nhưng có thêm tác động của các trọng số. Các trọng số này được tính tỷ
lệ với hàm Gauss theo khoảng cách tới điểm tính toán. Công thức tính giá trị cho
từng pixel ảnh gốc theo lọc Gauss như sau:
Trong đó g(i,j) là giá trị độ xám pixel kết quả, N là kích thước cửa sổ, f(m,n)
là giá trị độ xám của pixel đang tác động,G(i-m,j-n) là các trọng số. Các trọng số
được tính toán tỷ lệ theo hàm Gauss bằng khoảng cách tới điểm tính toán.
Thực hiện phép nhân chập giữa mặt nạ Gauss và ảnh gốc chúng ta thu được
ảnh kết quả được xử lý bằng mạch lọc Gauss. Vai trò của bộ lọc Gauss cũng làm
trơn ảnh như bộ lọc trung bình, tuy nhiên bộ lọc Gauss cho chất lượng ành kết quả
cao hơn vì có sự tập trung trong số vào pixel đang xét tại vị trí trung tâm.

69
Hình 3.2.4.3 ảnh thu được sau khi xử lý qua bộ lọc Gauss
EEWWFP%"S^'Tg‚p
Sau quá trình lọc nhiễu, các từ, kí tự trên ảnh thu được thường bị đứt nét
do ảnh hưởng của bộ lọc nhiễu. Vì thế cần có một bước để nối lại các nét bị
đứt này.

 Phương pháp Canny Là một phương pháp tách biên ảnh do
Francis Canny tìm ra tại phòng thí nghiệm ảnh thuộc MIT.
Quá trình tiến hành thuật toán trải qua một số bước như
sau:
 Làm trơn ảnh bằng bộ lọc Gauss nhằm giảm thiểu
ảnh hưởng của nhiễu và các chi tiết không mong
nuôn trong cấu trúc ảnh.
 Tính gradient của ảnh nhờ một trong các toán
tử:Roberts, Sobel hay Prewitt…

Xác định ngưỡng:
Với T được chọn là
các phần tử cạnh
Dựa vào hướng của dradient để loại bỏ những điểm không thực sự là
biên. Chúng ta kiểm tra các điểm MT(i,j) nếu có giá trị lớn hơn hai điểm lân cận
dọc theo phương gradient (i,j) thì giữ nguyên và ngược lại thì gán giá trị bằng 0.
Dùng ngưỡng kép ụ1 và ụ2 (ụ1< ụ2) tạo ra các điểm trung gian nhằm nối
liến các điểm biên đã xác định được từ trước theo phương thức sau:
Những điểm M(i,j) có giá trị gradient lớn hơn ụ2 thì được xem là điểm
biên. Những điểm M(i,j) có giá trị gradient nhỏ hơn ụ1 thì loại bỏ. Với những
điểm có giá trị gradient nằm trong khoảng ụ1 và ụ2 thì kiểm tra thêm nếu nó
liền kề với một điểm có gradient lớn hơn ụ1 thì điểm này được xem là điểm biên.
Kết quả chúng ta sẽ thu được các đường biên tạo từ vô số các điểm biên liền kề
liên tục.
θ
70
EEW*ƒ'„x'%O
Việc căn chỉnh độ lệch trang là cần thiết vì ảnh nhận được sau quá trình
scan thường bị lệch một góc nghiêng so với phương ban đầu. Công việc này
bao gồm hai thao tác cơ bản :

 Thao tác xác định góc nghiêng của trang văn bản
 Thao tác xoay trang văn bản theo góc nghiêng đã xác định.
Trong đó, xác định góc nghiêng là thao tác quan trong nhất
trong việc căn chỉnh độ lệch trang. Để xác định góc nghiêng,
người ta thường dùng 3 phương pháp : Sử dụng biến đổi
Hough (Line fitting), phương pháp láng giềng gần nhất
(nearest neighbours) và sử dụng tia quay (project profile) .
Biến đổi Hough rất hữu ích cho việc dò tìm đường thẳng trong trang văn bản
vì thế rất thích hợp cho việc xác định góc nghiêng của trang văn bản gồm các
thành phần là các dòng văn bản. Tuy nhiên, biến đổi Hough sử dụng rất nhiều
tính toán do phải thao tác trên từng điểm ảnh riêng lẻ. Người ta đã cải tiến để tăng
tốc độ thực hiện bằng cách thực hiện tính toán trên chùm điểm ảnh. Những
chùm điểm ảnh này là các dải liên tục các điểm đen liên tiếp nhau theo chiều
ngang hoặc chiều doc. Mỗi chùm được mã hóa bởi độ dài của và vị trí kết thúc
của nó. Với cải tiến này thì thuật toán này thích hợp với các góc nghiêng ~15
o

cho độ chính xác rất cao. Tuy nhiên, cải tiến này làm tăng tốc độ thuật toán
nhưng vẫn rất chậm so với các phương pháp khác. Hơn nữa, trong trường hợp
văn bản là thưa thớt, thuật toán này tỏ ra không hiệu quả.
Phương pháp láng giềng gần nhất (nearest neighbours) dựa trên một nhận
xét rằng trong một trang văn bản, khoảng cách giữa các kí tự trong một từ và
giữa các kí tự của từ trên cùng một dòng là nhỏ hơn khoảng cách giữa hai dòng
văn bản, vì thế đối với mỗi kí tự, láng giềng gần nhất của nó sẽ là các kí tự liền kề
trên cùng một dòng văn bản.
Bước đầu tiên trong thuật toán này là xác định các thành phần liên
thông trên ảnh. Bước tiếp theo, tìm láng giềng gần nhất của mỗi thành phần
liên thông này, đó là miền liên thông có khoảng cách Ơclit ngắn nhất giữa tâm
của hai miền liên thông. Sau đó, thực hiên tính góc của các vector nối tâm của
các thành phần láng giềng gần nhất. Tất cả các vector cùng phương được nối

71
với nhau và tích lũy thanh biểu đồ histogram về số lượng các vector theo các
phương. Khi đó, trên biểu đồ histogram xuất hiện một vị trí có số lượng
vector nhiều nhất và cũng chính là đỉnh của biểu đồ.Vị trí đó chính là góc
nghiêng của trang văn bản.
Chi phí tính toán của phương pháp này đã giảm đi nhiều so với phương
pháp sử dụng biến đổi Hough tuy nhiên vẫn còn rất cao. Độ chính xác của
phương pháp này phụ thuộc rất nhiều vào số thành phần của một kí tự trong
văn bản. Đối với các kí tự có nhiều thành phần ví dụ như chữ ẩ có 3 thành
phần gồm thân, mũ và dấu hỏi. Khi đó, láng giềng gần nhất của mỗi phần sẽ là
một trong hai thành phần còn lại chứ không phải là kí tự liền kề với nó. Điều đó
làm giảm đi độ chính xác của thuật toán, đồng thời khiến cho nó không thích
hợp với chữ tiếng việt.
L’O Gorman đã phát triển thuật toán với ý tưởng là với mỗi thành phần
lấy k láng giềng (k có thể là 4 hoặc 5) thay vì lấy một láng giềng duy nhất. Và
góc thu được được sử dụng như là góc nghiêng ước lượng. Góc nghiêng
ước lượng này được sử dụng để loại bỏ các liên kết mà góc của nó không gần
với góc ước lương. Sau đó, thực hiện xác định lại góc nghiêng theo các liên
kết được giữ lại. ý tưởng này đã cải thiện được độ chính xác của thuật toán
nhưng lại đòi hỏi chi phí tính toán cao hơn. Trên thực tế, phương pháp này
được gọi là phương pháp docstrum – thực hiện cả việc xác định góc nghiêng
và phân tích cấu trúc trang .
Phương pháp sử dụng tia quay (project profile) là phương pháp thường
được sử dụng trong các hệ thống thương mại. Project profile là biểu đồ các
giá trị điểm đen được tích lũy theo các dòng quét song song với một phương
xác định trên toàn bộ ảnh. Biểu đồ này thường được ghi theo phương ngang và
dọc của ảnh, gọi là các histogram chiếu ngang và histogram chiếu dọc
Để sử dụng project profile để dò tìm độ nghiêng của văn bản, đòi hỏi phải
có sự đính hướng cho trước Postl. Đầu tiên, văn bản được xoay với một
số góc nghiêng trong khoảng cho trước và tính biểu đồ histogram theo chiều

ngang ở mỗi vị trí đó. Tính độ biến thiên của histogram, vị trí góc nghiêng có
72
độ biến thiên lớn nhất sẽ là góc nghiêng văn bản cần tìm
Hình 3.3 – Phương pháp Postl tính góc nghiêng
H.S.Braid đã tiến hành cải biến phương pháp project profile. Theo đó,
người ta tiến hành tìm các thành phần liên thông, mỗi thành phần liên thông
được đại diện bởi tâm ở đáy của hình chữ nhật bao quanh nó. Tiếp theo, các
thành phần liên thông được nối với nhau. Tiến hành xoay văn bản ở một
số vị trí và tiến hành tính biểu đồ histogram ở mỗi vị trí. Vị trí có độ biến
thiên lớn nhất của histogram chính là vị trí góc nghiêng cần tìm. Cải biến này
đã làm tăng đáng kể tốc độ của phương pháp Project profile, đồng thời độ
chính xác của nó đạt khá cao (~0.5
0
), thích hợp với các trang có độ nghiêng
trong khoảng ~10
0
Trong phạm vi khóa luận này, tôi đã chọn thực hiên phương pháp project
profile vì nó tương đối đơn giản, tốc độ nhanh đồng thời có độ chính xác khá
cao. Phù hợp với bài toán đã đặt ra.
EEW</%&''()'%
Trích chọn đặc trưng là quá trình tìm ra các thông tin hữu ích và đặc trưng
nhất cho mẫu đầu vào để sử dụng cho quá trình nhận dạng. Trong lĩnh vực nhận
dạng, trích chọn đặc trưng là một bước rất quan trọng, nó có ảnh hưởng lớn đến
tốc độ và chất lượng nhận dạng. Trích chọn đặc trưng như thế nào để vẫn đảm
bảo không mất mát thông tin và thu gọn kích thước đầu vào là điều vẫn đang
được các nhà nghiên cứu quan tâm.
EEW<Wx‚)'%'T"'…OP†
 )'%‚#g
73
0QW‡Mvz

0QWdp'{Ph' ^P`V%OPe
 )'%Q('Q^là các đặc trưng dựa trên
các yếu tố nguyên thủy (đoạn thẳng, cung) tạo ra các ký tự.
Các ký tự có thể được phân biệt bằng độ đo của các đại lượng
hình học như tỉ số giữa chiều rộng và chiều cao của khung
chứa ký tự, quan hệ khoảng cách giữa hai điểm, độ dài một nét,
độ dài tương quan giữa hai nét, tỉ lệ giữa các chữ hoa và chữ
thường trong một từ, độ dài từ…Vì thế các ký tự được tổ chức
thành các tập hợp của các yếu tố nguyên thủy, sau đó đưa các
yếu tố nguyên thủy vào các đồ thị liên quan.
 )'%Các ký tự được mô tả như các vector mà
74
các phần tử của nó là các giá trị thống kê về hướng. 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à
đặc trưng được rút trong các ô đó.
0QWa)'%
EEW<Wx‚__^_%&''()'%
Ta có một số phương pháp trích chọn đặc trưng đơn giản nhưng hiệu quả
sau, có thể áp dụng cho các tập chữ viết tay rời rạc.
• /%(‚zẢnh ký tự sau khi tiền xử lý kích thước được chuẩn hoá về m×n
điểm ảnh. Đây là cách được áp dụng trong đồ án.
n
m

×