Tải bản đầy đủ (.pdf) (77 trang)

Nghiên cứu phương pháp nhận dạng chữ viết tay hạn chế bằng mô hình SVM (Support Vector Machines)

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.69 MB, 77 trang )


S húa bi Trung tõm Hc liu

Đại học Thái Nguyên
tr-ờng đại học công nghệ thông tin và truyền thông




nguyễn quang huy



nghiên cứu ph-ơng pháp nhận dạng chữ viết
tay hạn chế bằng mô hình svm
(support vector machines)



LUN VN THC S KHOA HC MY TNH







Thỏi Nguyờn - 2014


S húa bi Trung tõm Hc liu





Đại học Thái Nguyên
tr-ờng đại học công nghệ thông tin và truyền thông



nguyễn quang huy



nghiên cứu ph-ơng pháp nhận dạng chữ viết
tay hạn chế bằng mô hình svm
(support vector machines)

Chuyên ngành: KHOA HC MY TNH
Mã số: 60 48 01

LUN VN THC S KHOA HC MY TNH

Ng-ời h-ớng dẫn khoa học: PGS-TS. NGễ QUC TO






Thỏi Nguyờn - 2014



i

Số hóa bởi Trung tâm Học liệu

LỜI CÁM ƠN

Để đạt đƣợc những kết quả trong quá trình nghiên cứu luận văn, học viên
xin chân thành cảm ơn thầy PGS. TS Ngô Quốc Tạo luôn tận tình chỉ bảo,
hƣớng dẫn và giúp đỡ em trong suốt quá trình làm luận văn.
Học viên xin cảm ơn các thầy cô giáo trƣờng Đại học Công nghệ thông tin
và Truyền thông đã hƣớng dẫn và tạo điều kiện cho em trong suốt thời gian học
tập tại trƣờng.
Học viên xin chân thành cảm ơn các thầy giáo trong Hội đồng xét duyệt
luận văn tốt nghiệp lớp cao học CK11A năm 2014 - Đợt 1 đã nhận xét và góp ý
để bài luận văn của em đƣợc hoàn thiện hơn.



ii

Số hóa bởi Trung tâm Học liệu


LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Nghiên cứu phương pháp nhận dạng chữ viết
tay hạn chế bằng mô hình SVM (Support Vector Machines)” là do tôi tự nghiên
cứu và hoàn thành dƣới sự hƣớng dẫn của PGS-TS. Ngô Quốc Tạo.
Các kết quả đạt đƣợc trong quá trình nghiên cứu là hoàn toàn trung thực và

khách quan.
Tôi xin chịu trách nhiệm về những lời cam đoan trên.

Thái Nguyên, ngày 05 tháng 05 năm 2014

Ngƣời cam đoan




Học viên Nguyễn Quang Huy


iii

Số hóa bởi Trung tâm Học liệu


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

Thuật ngữ,
chữ viết tắt
Giải thích
SVM
Support Vector Machine (Máy véc tơ hỗ trợ)
MMH
Maximum Marginal Hyperplane (Siêu phẳng có biên độ lớn nhất)
HMM
Markov Model (Mô hình Markov ẩn)
Kernel

Hàm nhân
MNIST
Bộ mẫu chữ số viết tay NIST - Viện Công nghệ và Tiêu chuẩn Quốc
gia Hoa Kỳ (National Institute of Standard and Technology of the
United States)
NN
Neuron Network (Mạng nơ ron)
OCR
Optical Character Recognition (nhận dạng chữ quang học)
QP
Quadratic Programing (quy hoạch toàn phƣơng)
USPS
United States Postal service
VC
Vapnik – Chervonenkis

iv

Số hóa bởi Trung tâm Học liệu


DANH MỤC CÁC HÌNH
Hình 1.1. Các giai đoạn trong quá trình xử lý và nhận dạng ảnh 7
Hình 1.2. Nhị phân hóa ảnh 8
Hình 1.3. Nhiễu đốm và nhiễu vệt 8
Hình 1.4. Chuẩn hóa kích thƣớc ảnh các ký tự “A” và “P” 8
Hình 1.5. (a) Ảnh gốc, (b) Ảnh sau khi đƣợc làm trơn biên 9
Hình 1.6. Làm mảnh chữ 9
Hình 1.7. Hiệu chỉnh độ nghiêng của văn bản 10
Hình 1.8. Tách dòng chữ dựa trên histogram theo chiều ngang của khối chữ 10

Hình 1.9. Xác định khoảng cách giữa hai kí tự và giữa hai từ dựa trên histogram theo
chiều thẳng đứng của dòng chữ 11
Hình 1.10. Mô hình mạng nơron nhân tạo 17
Hình 1.11. Mô hình mạng MLP 3 lớp 17
Hình 1.12. Phân lớp bằng mạng nơron 18
Hình 1.13. a) Các lớp phân tách tuyến tính b)Siêu phẳng tối ƣu và biên lề tƣơng ứng,
các vectơ hỗ trợ 19
Hình 1.14. Ánh xạ các điểm dữ liệu không thể phân tách tuyến tính vào không gian số
chiều lớn hơn có thể phân tách đƣợc tuyến tính 20
Hình 1.15. a) One-vs-One b) One-vs-All 21
Hình 2.1. Với 3 điểm không thẳng hàng trong R
2
thì luôn tách đƣợc bởi đƣờng thẳng . 25
Hình 2.2. Phân lớp bằng siêu phẳng 26
Hình 2.3. Đƣờng phân chia đối với tập dữ liệu gồm hai thuộc tính 27
Hình 2.4. Một bộ dữ liệu hai chiều đƣợc phân chia tuyến tính. 28
Hình 2.5. Hai siêu phẳng phân chia tuyến tính cùng với biên độ của nó. 29
Hình 2.6. Đƣờng biểu diễn H1 và H2. Đƣờng màu đỏ là khoảng cách Euclidean của
hai điểm 1 và 2, đƣờng màu xanh là khoảng cách Euclidean nhỏ nhất. 30
Hình 2.7. Các support vector trong SVM 31
Hình 2.8. Trƣờng hợp trên không gian 2 chiều không thể vẽ một đƣờng thẳng phân
chia 2 lớp 35
Hình 2.9. Bƣớc 1- Học để xây dựng mô hình phân lớp 37
v

Số hóa bởi Trung tâm Học liệu


Hình 2.10. Bƣớc 2 - Kiểm tra và đánh giá 38
Hình 2.11. Mô hình nhận dạng chữ viết tay rời rạc 45

Hình 2.12. Trích chọn đặc trƣng trọng số vùng 45
Hình 2.13. Kiến trúc của hệ nhận dạng chữ viết tay tiếng Việt 48
Hình 2.14. Chuẩn hóa ảnh: (a) Ảnh gốc, (b) Xác định các vùng liên thông và đánh thứ
tự các vùng liên thông 49
Hình 2.15. Chuẩn hóa các vùng liên thông 49
Hình 2.16. Quá trình trích chọn đặc trƣng 51
Hình 3.1. Các bƣớc cơ bản của quá trình nhận dạng văn bản bằng mô hình SVM 55
Hình 3.2. Các mẫu chữ số viết tay trích từ tập các tập dữ liệu USPS và MNIST 59
Hình 3.3. Giao diện chƣơng trình. 61
Hình 3.4. Hộp thoại tiền xử lý. 61
Hình 3.5. Hộp thoại trích chọn đặc trƣng 62
Hình 3.6. Hộp thoại lƣu file mô hình huấn luyện. 62
Hình 3.7. Hộp thoại chọn file ảnh cần nhận dạng. 63
Hình 3.8. Hộp thoại thông báo kết quả nhận dạng. 63









1

Số hóa bởi Trung tâm Học liệu


MỞ ĐẦU
Biết sử dụng các phƣơng pháp nhận dạng đóng vai trò hết sức quan trọng

trong xử lý ảnh, phân tích tài liệu văn bản, đặc biệt là đối với các dạng văn bản
viết tay. Hiện nay, nhu cầu cần nhận dạng nội dung văn bản từ các ảnh là rất lớn
và thiết thực. Để nâng cao độ tin cậy của các phƣơng pháp phân tích nhận dạng
đã có những công trình nghiên cứu theo hƣớng ứng dụng lớp bài toán đánh giá
lựa chọn thông tin để lựa chọn những tổ hợp thông tin chất lƣợng cao trƣớc khi
tiến hành phân tích nhận dạng. Cũng từ đó đề xuất những cách tiếp cận mới giải
quyết bài toán nhận dạng trong xử lý số liệu văn bản và thu đƣợc kết quả tốt.
Nhận dạng chữ viết và đặc biệt nhận dạng chữ viết tay là bài toá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 toán nhận dạng chữ viế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 Markov ẩn HMM (Hidden Markov Models), mô hình mạng
nơron NN (Neural Network Model), mô hình SVM (Support Vector Machine).
Thuật toán phân lớp là yếu tố có vai trò quyết định đến chất lƣợng của
một hệ thống nhận dạng. Các phƣơng pháp nhận dạng truyền thống nhƣ đối sánh
mẫu, nhận dạng cấu trúc đã đƣợc ứng dụng khá phổ biến trong các hệ thống
nhận dạng và cũng đã thu đƣợc những thành công nhất định. Tuy vậy, với những
trƣờng hợp văn bản đầu vào có chất lƣợng không tốt (nhiễu, đứt nét, dính nét )
thì các thuật toán này tỏ ra không hiệu quả. Để khắc phục điều này, trong những
năm gần đây nhiều nhóm nghiên cứu đã sử dụng các thuật toán phân lớp dựa
trên mô hình SVM cho các bài toán nhận dạng nói chung và nhận dạng chữ viết
2

Số hóa bởi Trung tâm Học liệu


tay nói riêng. Trong luận văn này, học viên xin trình bày thuật toán SVM đối với

việc nhận dạng chữ viết tay hạn chế.
MỤC LỤC
LỜI CÁM ƠN i
LỜI CAM ĐOAN ii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iii
DANH MỤC CÁC HÌNH iv
MỞ ĐẦU 1
MỤC LỤC 2
Chƣơng 1. GIỚI THIỆU VỀ CHỮ VIẾT VÀ NHẬN DẠNG CHỮ VIẾT 5
1.1. Trình bày về lịch sử của nhận dạng chữ viết tay 5
1.2. Giới thiệu các hƣớng tiếp cận trong việc nhận dạng chữ viết tay 5
1.2.1. Nhận dạng chữ in 5
1.2.2. Nhận dạng chữ viết tay 6
1.3. Tiền xử lý 7
1.3.1. Nhị phân hóa ảnh 7
1.3.2. Lọc nhiễu 8
1.3.3. Chuẩn hóa kích thƣớc ảnh 8
1.3.4. Làm trơn biên chữ 9
1.3.5. Làm đầy chữ 9
1.3.6. Làm mảnh chữ 9
1.3.7. Điều chỉnh độ nghiêng của văn bản 9
1.4. Khối tách chữ 10
1.4.1. Tách chữ theo chiều nằm ngang và thẳng đứng 10
1.4.2. Tách chữ dùng lƣợc đồ sáng 11
1.5. Trích chọn đặc trƣng 11
1.5.1. Biến đổi toàn cục và khai triển chuỗi 12
1.5.2. Đặc trƣng thống kê 13
1.5.3. Đặc trƣng hình học và hình thái 14
3


Số hóa bởi Trung tâm Học liệu


1.6. Huấn luyện và nhận dạng 15
1.7. Hậu xử lý 15
1.8. Một số thuật toán phân lớp nhận dạng chữ viết tay 16
1.8.1. Giới thiệu 16
1.8.2. Các mô hình nhận dạng chữ viết tay 16
1.8.3. Đánh giá, so sánh các phƣơng pháp nhận dạng chữ 22
Chƣơng 2. MÔ HÌNH SVM VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ 25
2.1. Giới thiệu chung 25
2.2. Lý thuyết chiều VC (Vapnik Chervonenkis dimension) 26
2.3. Hàm phân lớp 27
2.4. Siêu phẳng phân cách 28
2.5. Support vector 30
2.6. SVM với dữ liệu không nhiễu 32
2.7. SVM với dữ liệu có nhiễu 34
2.8. Biên độ (Margin) 34
2.9. Phân lớp dữ liệu tuyến tính và không tuyến tính 35
2.10. Sự cần thiết của SVM nhận dạng chữ viết tay hạn chế 37
2.10.1. Học máy có giám sát 37
2.10.2. Phân lớp dữ liệu 37
2.10.3. Nhận xét 40
2.10.4. Bài toán cho mô hình SVM 40
2.10.5. Xây dựng mô hình học cho SVM 43
46
2.11.1. Tiền xử lý 46
2.11.2. Trích chọn đặc trƣng 47
2.11.3. Lựa chọn thuật toán huấn luyện phân lớp 47
2.11.4. Thuật toán nhận dạng chữ viết tay rời rạc 47

2.12. Áp dụng SVM vào nhận dạng chữ Việt viết tay rời rạc 49
2.12.1. Tiền xử lý 49
4

Số hóa bởi Trung tâm Học liệu


2.12.2. Phân nhóm sơ bộ 52
2.12.3. Trích chọn đặc trƣng. 52
2.12.4. Xây dựng các máy phân lớp SVM 55
Chƣơng 3 – CHƢƠNG TRÌNH THỬ NGHIỆM 56
3.1. Giới thiệu về hệ nhận dạng dùng LIBSVM 56
3.2. Các chức năng chính của hệ nhận dạng 57
3.3. Sử dụng libsvm-3.18 57
3.4. Kết quả chạy thử nghiệm trên tập dữ liệu libsvm 60
3.4.1. Kết quả thực nghiệm đƣợc tiến hành trên tập dữ liệu mnist 61
3.4.2. Kết quả thực nghiệm đƣợc tiến hành trên tập dữ liệu usps 62
3.5. Chƣơng trình nhận dạng. 64
3.5.1. Chức năng chƣơng trình 64
- Tiền xử lý (Convert Color Image to Black & white): Chuyển đổi ảnh từ ảnh màu
sang ảnh nhị phân và chuẩn hóa kích thƣớc ảnh với kích cỡ 16x16. 64
3.5.2. Chức năng Tiền xử lý: 64
3.5.3. Chức năng trích chọn đặc trƣng 65
3.5.4. Huấn luyện 65
3.5.4. Nhận dạng 66
KẾT LUẬN VÀ ĐỀ NGHỊ 68
TÀI LIỆU THAM KHẢO 69

5


Số hóa bởi Trung tâm Học liệu


Chƣơng 1. GIỚI THIỆU VỀ CHỮ VIẾT VÀ NHẬN DẠNG CHỮ VIẾT
1.1. Trình bày về lịch sử của nhận dạng chữ viết tay
Ngày nay khoa học công nghệ phát triển mạnh cũng không ngoài mục đích khác
là để đáp ứng nhu cầu ngày càng cao của con ngƣời. Mỗi quốc gia đều phải có ít nhất
một ngôn ngữ, chữ viết để giao tiếp, từ năm 1922 khái niệm nhận dạng chữ đã đƣợc
hình thành cho đến năm 1950, 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 [4].
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 online. 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ữ. Từ năm
1980-1990, 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
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ữ.
Từ 1990 đến nay, 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 và SVM (Support Vector
Machines)…
1.2. Giới thiệu các hƣớng tiếp cận trong việc nhận dạng chữ viết tay
1.2.1. Nhận dạng chữ in
Phục vụ cho công việc tự động hóa đọc tài liệu, tăng tốc độ và chất lƣợng nhập
thông tin vào máy tính trực tiếp từ các nguồn tài liệu. Vấn đề này đã đƣợc giải quyết
gần nhƣ trọn vẹn (sản phẩm 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%).
6

Số hóa bởi Trung tâm Học liệu


1.2.2. Nhận dạng chữ viết tay
Với những mức độ ràng buộc khác nhau về cách viết, kiểu chữ,… phục vụ cho
các ứng dụng đọc và xử lý các chứng từ, hóa đơn, phiếu ghi, văn bản viết tay,… Nhận
dạng chữ viết tay đƣợc tách ra hai hƣớng phát triển: nhận dạng chữ viết tay trực tuyến
(online) và chữ viết tay ngoại tuyến (offline). Trong đó nhận dạng chữ viết tay trực
tuyến là khi viết lên màn hình thì máy tính sẽ chuyển những hình ảnh viết tay thành
dạng text. Khác với chữ offline, chữ online có thêm thông tin về thứ tự các điểm, các
nét đƣợc viết. Hiện nay việc nhận dạng chữ viết tay tiếng Anh online hầu nhƣ đã giải
quyết xong và đã đƣợc tích hợp vào máy tính cầm tay thậm chí là máy để bàn và điện
thoại di động. Nhƣng đối với tiếng Việt thì chƣa có một phần mềm nào tƣơng tự. Còn
trong nhận dạng chữ viết tay offline chúng ta nghiên cứu về nhận dạng chữ viết tay tự
nhiên và nhận dạng chữ viết tay hạn chế. Nhận dạng chữ viết tay tự nhiên là dùng để
xử lý các văn bản viết tay thông thƣờng, công việc này cực kỳ khó khăn nếu không nói
là không thể.
Nhận dạng chữ viết tay hạn chế là dạng các form điều tra xã hội, có các thông tin
về chữ số, tên ngƣời, địa chỉ, điện thoại,… Những ngƣời đƣợc điều tra sẽ điền các
thông tin bằng chữ viết tay vào form. Để nhập thông tin hàng trăm nghìn các phiếu
điều tra vào máy tính sẽ mất rất nhiều thời gian khi làm thủ công bằng tay. Nếu ta
dùng một chƣơng trình để nhận dạng các chữ viết tay trên các phiếu điều tra đó thì
công việc sẽ đơn giản hơn. Các chữ trong phiếu điều tra thƣờng là các chữ viết tay hạn
chế: viết rõ ràng, rời nhau, hoặc không dính liền nhau nhiều, thậm chí là viết hoa. Hiện
nay, phần mềm MarkRead cũng đã có tích hợp đặc trƣng nhận dạng chữ viết tay hạn
chế, nhƣng kết quả mới chỉ dừng lại ở phòng thí nghiệm. 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.
Việc xây dựng hệ thống có thể đƣợc mô tả trực quan bằng sơ đồ hình 1.1. Trong
hệ thống này phần chúng ta cần tập trung quan tâm nhất là phần hệ huấn luyện và nhận
dạng. Chúng ta sẽ sử dụng mô hình SVM trong việc huấn luyện và nhận dạng đó.
7

Số hóa bởi Trung tâm Học liệu










Hình 1.1. Các giai đoạn trong quá trình xử lý và nhận dạng ảnh
Vì vậy muốn xây dựng đƣợc hệ thống có khả thi thì chúng ta cần phải tìm hiểu
về SVM nói chung và ứng dụng của SVM nói riêng trong việc nhận dạng chữ viết.
1.3. Tiền xử lý
Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống nhận dạng,
tuy nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống chậm lại. Vì vậy, tùy thuộc
vào chất lƣợng ảnh quét vào của từng văn bản cụ thể để chọn một hoặc một vài chức
năng trong khối này. Nếu cần ƣu tiên tốc độ xử lý và chất lƣợng của máy quét tốt thì
có thể bỏ qua giai đoạn này. Khối tiền xử lý bao gồm một số chức năng: Nhị phân hóa
ảnh, lọc nhiễu, chuẩn hóa kích thƣớc ảnh, làm trơn biên chữ, làm đầy chữ, làm mảnh
chữ và xoay văn bản.
1.3.1. Nhị phân hóa ảnh

Nhị phân hóa ảnh là một kỹ thuật chuyển ảnh đa cấp xám sang ảnh nhị phân.
Trong bất kỳ bài toán phân tích hoặc nâng cao chất lƣợng ảnh nào, nó cũng cần thiết
để xác định các đối tƣợng quan trọng. Nhị phân hóa ảnh phân chia ảnh thành 2 phần:
phần nền và phần chữ. Hầu hết các phƣơng pháp nhị phân hóa ảnh hiện nay đều lựa
chọn một ngƣỡng thích hợp theo cƣờng độ sáng của ảnh và sau đó chuyển tất cả các
giá trị độ sáng lớn hơn ngƣỡng đó thành một giá trị độ sáng (“trắng”) và tất cả các giá
trị bé hơn ngƣỡng thành một giá trị độ sáng khác (“đen”).
Ảnh văn bản
quét vào
Tiền xử lý
Trích chọn đặc trƣng
Hậu xử lý
Huấn luyện và
nhận dạng
Tách chữ
Văn bản đƣợc
nhận dạng
8

Số hóa bởi Trung tâm Học liệu



Hình 1.2. Nhị phân hóa ảnh
1.3.2. Lọc nhiễu
Nhiễu là một tập các điểm sáng thừa trên ảnh. Khử nhiễu là một vấn đề thƣờng
gặp trong nhận dạng, nhiễu có nhiều loại (nhiễu đốm, nhiễu vệt, nhiễu đứt nét, ).

Hình 1.3. Nhiễu đốm và nhiễu vệt.
Để khử các nhiễu đốm (các nhiễu với kích thƣớc nhỏ), có thể sử dụng các

phƣơng pháp lọc (lọc trung bình, lọc trung vị, ). Tuy nhiên, với các nhiễu vệt (hoặc
các nhiễu có kích thƣớc lớn) thì các phƣơng pháp lọc tỏ ra kém hiệu quả, trong trƣờng
hợp này sử dụng phƣơng pháp khử các vùng liên thông nhỏ tỏ ra có hiệu quả hơn.
1.3.3. Chuẩn hóa kích thƣớc ảnh

Hình 1.4. Chuẩn hóa kích thước ảnh các ký tự “A” và “P”.
Việc chuẩn hóa kích thƣớc ảnh dựa trên việc xác định trọng tâm ảnh, sau đó xác
định khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dƣới, trái, phải của hình chữ
9

Số hóa bởi Trung tâm Học liệu


nhật bao quanh ảnh. Thông qua khoảng cách lớn nhất đó, có thể xác định đƣợc một tỷ
lệ co, giãn của ảnh gốc so với kích thƣớc đã xác định, từ đó hiệu chỉnh kích thƣớc ảnh
theo tỷ lệ co, giãn này. Nhƣ vậy, thuật toán chuẩn hóa kích thƣớc ảnh luôn luôn đảm
bảo đƣợc tính cân bằng khi co giãn ảnh, ảnh sẽ không bị biến dạng hoặc bị lệch.
1.3.4. Làm trơn biên chữ
Đôi khi do chất lƣợng quét ảnh quá xấu, các đƣờng biên của chữ không còn giữ
đƣợc dáng điệu trơn tru ban đầu mà hình thành các đƣờng răng cƣa giả tạo. Trong các
trƣờng hợp này, phải dùng các thuật toán làm trơn biên để khắc phục [12].

(a) (b)
Hình 1.5. (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn biên.
1.3.5. Làm đầy chữ
Chức năng này đƣợc áp dụng với các ký tự bị đứt nét một cách ngẫu nhiên. Ảnh
đứt nét gây khó khăn cho việc tách chữ, dễ bị nhầm hai phần liên thông của ký tự
thành hai ký tự riêng biệt, tạo nên sai lầm trong quá trình nhận dạng.
1.3.6. Làm mảnh chữ
Đây là một bƣớc quan trọng nhằm phát hiện khung xƣơng của ký tự bằng cách

loại bỏ dần các điểm biên ngoài của các nét. Tuy nhiên, quá trình làm mảnh chữ rất
nhạy cảm với việc khử nhiễu.

Hình 1.6. Làm mảnh chữ
1.3.7. Điều chỉnh độ nghiêng của văn bản
Do trang tài liệu quét vào không cẩn thận hoặc do sự cố in ấn, các hàng chữ bị
lệch so với lề chuẩn một góc α, điều này gây khó khăn cho công đoạn tách chữ, đôi khi
10

Số hóa bởi Trung tâm Học liệu


không thể tách đƣợc. Trong những trƣờng hợp nhƣ vậy, phải tính lại tọa độ điểm ảnh
của các chữ bị sai lệch.
Có nhiều kỹ thuật để điều chỉnh độ nghiêng, kỹ thuật phổ biến nhất dựa trên cơ
sở biểu đồ chiếu (projection profile) của ảnh tài liệu; một số kỹ thuật dựa trên cơ sở
các phép biến đổi Hough và Fourier.

Hình 1.7. Hiệu chỉnh độ nghiêng của văn bản
1.4. Khối tách chữ
Khối này có nhiệm vụ tách từng ký tự ra khỏi văn bản. Chỉ khi nào văn bản đƣợc
tách và cô lập đúng từng ký tự đơn ra khỏi tổng thể văn bản thì hệ thống mới có thể
nhận dạng đúng ký tự đó. Sau đây là một số phƣơng pháp tách chữ thông dụng.
1.4.1. Tách chữ theo chiều nằm ngang và thẳng đứng
Phƣơng pháp này thƣờng áp dụng cho chữ in. Khác với chữ viết tay, kích thƣớc
và kiểu chữ cố định, phải tuân theo một số quy định in ấn, các chữ phải nằm gọn trong
một khung nên việc cô lập một ký tự đơn có thể đồng nhất với việc tìm ra khung bao
của chữ đó tại vị trí của nó trong văn bản. Tách chữ theo chiều nằm ngang và thẳng
đứng là tìm một hình chữ nhật có cạnh thẳng đứng và nằm ngang chứa trọn một ký tự
ở bên trong.

11

Số hóa bởi Trung tâm Học liệu


1.4.2. Tách chữ dùng lƣợc đồ sáng

Hình 1.8. Tách dòng chữ dựa trên histogram theo chiều ngang của khối chữ
Đối với chữ viết tay thì việc tìm đƣờng phân cách giữa các dòng và các ký tự
trong văn bản thƣờng rất khó khăn. Trong trƣờng hợp này, không thể tìm đƣờng phân
cách theo nghĩa thông thƣờng mà phải hiểu là đƣờng phân cách với số điểm cắt hai
dòng là ít nhất. Khi đó phải xây dựng lƣợc đồ sáng của các dòng chữ, từ đó các đoạn
thấp nhất trên lƣợc đồ chính là đƣờng phân cách cần tìm (hình 1.8 và 1.9).

Hình 1.9. Xác định khoảng cách giữa hai kí tự và giữa hai từ dựa trên histogram
theo chiều thẳng đứng của dòng chữ.
1.5. Trích chọn đặc trƣng
Trích chọn đặc trƣng đóng vai trò cực kỳ quan trọng trong một hệ thống nhận
dạng. Trong trƣờng hợp đơn giản nhất, ảnh đa cấp xám hoặc ảnh nhị phân đƣợc sử
dụng cho việc nhận dạng. Tuy nhiên, trong hầu hết các hệ nhận dạng, để giảm độ phức
tạp và tăng độ chính xác của các thuật toán phân lớp thì đòi hỏi các đặc trƣng đƣợc
trích chọn phải rút gọn lại càng nhỏ càng tốt nhƣng vẫn phải đảm bảo đƣợc thông tin
12

Số hóa bởi Trung tâm Học liệu


của ký tự. Với mục tiêu này, một tập các đặc trƣng đƣợc trích chọn cho mỗi lớp sao
cho có thể phân biệt đƣợc với các lớp khác. Có hàng trăm phƣơng pháp trích chọn đặc
trƣng cho ảnh văn bản, nhƣng chung quy lại, các phƣơng pháp này đƣợc gom lại thành

ba nhóm chính sau.
1.5.1. Biến đổi toàn cục và khai triển chuỗi
Một tín hiệu liên tục thƣờng chứa nhiều thông tin và chúng có thể sử dụng làm
các đặc trƣng cho mục đích phân lớp. Các đặc trƣng đƣợc trích chọn cũng có thể đúng
đối với việc xấp xỉ các tín hiệu liên tục thành các tín hiệu rời rạc. Một cách để biểu
diễn một tín hiệu là sử dụng một tổ hợp tuyến tính của một dãy các hàm đơn giản hơn.
Các hệ số của tổ hợp tuyến tính cung cấp một tri thức giải mã vừa đủ, chẳng hạn nhƣ
các phép biến đổi hoặc khai triển chuỗi. Một số biến dạng khác nhƣ các phép dịch
chuyển và phép quay là bất biến dƣới các phép biến đổi toàn cục và khai triển chuỗi.
Sau đây là một số phƣơng pháp biến đổi và khai triển chuỗi thƣờng đƣợc áp dụng
trong lĩnh vực nhận dạng chữ:
- Biến đổi Fourier: Một trong những tính chất nổi bật nhất của phép biến đổi
Fourier là khả năng nhận dạng các ký tự có sự thay đổi về các tƣ thế khác nhau, các
phép biến đổi này đã đƣợc áp dụng để nhận dạng ký tự theo nhiều cách khác nhau.
- Biến đổi Wavelet: Phép biến đổi này là một dãy các kỹ thuật khai triển cho
phép mô tả đặc trƣng của ảnh ở các mức độ khác nhau. Các công đoạn tách chữ thành
các ký tự hoặc từ đƣợc mô tả bằng các hệ số Wavelet theo các mức độ khác nhau đối
với từng giải pháp. Sau đó các hệ số Wavelet đƣợc chuyển qua một máy phân lớp để
phục vụ cho việc nhận dạng.
- Phƣơng pháp mô men: Theo phƣơng pháp này, ảnh gốc sẽ đƣợc thay thế bằng
một tập các đặc trƣng vừa đủ để nhận dạng các đối tƣợng bất biến đối với các phép
thay đổi tỷ lệ, tịnh tiến hoặc quay. Các mô men đƣợc xét nhƣ các dãy khai triển đặc
trƣng vì ảnh gốc có thể xây dựng lại một cách đầy đủ từ các hệ số mô men.
- Khai triển Karhunent - Loeve: Việc khai triển này nhằm phân tích các véc tơ
riêng để rút gọn số chiều của tập đặc trƣng bằng cách tạo ra các đặc trƣng mới là tổ
hợp tuyến tính của các đặc trƣng gốc. Đây chỉ là một phép biến đổi tối ƣu trong một số
13

Số hóa bởi Trung tâm Học liệu



giới hạn nào đó của việc nén thông tin. Khai triển Karhunent-Loeve đƣợc dùng trong
một số bài toán nhận dạng mẫu nhƣ nhận dạng mặt ngƣời, nó cũng đƣợc sử dụng trong
hệ thống OCR của Viện Công nghệ và tiêu chuẩn Quốc gia Hoa Kỳ (NIST – National
Institute of Standards and Technology of the United States). Vì việc khai triển này đòi
hỏi phải sử dụng các thuật toán có khối lƣợng tính toán rất lớn nên việc sử dụng các
đặc trƣng Karhunent-Loeve trong các bài toán nhận dạng chữ không đƣợc phổ biến
rộng rãi. Tuy nhiên, để tăng tốc độ tính toán cho các máy phân lớp, các đặc trƣng này
trở nên thiết thực hơn cho các hệ nhận dạng chữ trong những năm gần đây.
1.5.2. Đặc trƣng thống kê
Các đặc trƣng thống kê của ảnh văn bản bảo toàn các kiểu biến đổi đa dạng về
hình dáng của chữ. Mặc dù các kiểu đặc trƣng này không thể xây dựng lại ảnh gốc,
nhƣng nó đƣợc sử dụng để thu nhỏ số chiều của tập đặc trƣng nhằm tăng tốc độ và
giảm thiểu độ phức tạp tính toán. Sau đây là một số đặc trƣng thống kê thƣờng dùng
để biểu diễn ảnh ký tự:
- Phân vùng (zoning): Khung chứa ký tự đƣợc chia thành một vài vùng chồng
nhau hoặc không chồng nhau. Mật độ của các điểm ảnh trong các vùng khác nhau
đƣợc phân tích và tạo thành các đặc trƣng [6].
- Các giao điểm và khoảng cách: Một đặc trƣng thống kê phổ biến là số giao
điểm giữa chu tuyến của chữ với một đƣờng thẳng theo một hƣớng đặc biệt nào đó.
Trong [15], khung chứa ký tự đƣợc phân chia thành một tập các vùng theo các hƣớng
khác nhau và sau đó các dãy đen trong mỗi vùng đƣợc mã hóa bởi các số lũy thừa của
2. Tƣơng tự nhƣ vậy, khoảng cách từ biên của khung chứa ảnh tới điểm đen đầu tiên
của chu tuyến chữ trên cùng một dòng quét cũng đƣợc sử dụng nhƣ những đặc trƣng
thống kê [6].
- Các phép chiếu: Các ký tự có thể đƣợc biểu diễn bằng cách chiếu các giá trị
mức xám của từng điểm lên trên các dòng theo các hƣớng khác nhau. Các đặc trƣng
này tạo ra dãy tín hiệu một chiều từ ảnh hai chiều [6].
- Đặc trƣng hƣớng: Các ký tự bao gồm các nét chữ, các nét này là các đoạn
thẳng có hƣớng, các cung hoặc các đƣờng cong. Hƣớng của các nét đóng vai trò quan

14

Số hóa bởi Trung tâm Học liệu


trọng trong việc so sánh sự khác nhau giữa các ký tự. Các ký tự đƣợc mô tả nhƣ các
véc tơ mà các phần tử của nó là các giá trị thống kê về hƣớng. Để trích chọn các đặc
trƣng này, góc định hƣớng của nét chữ phải đƣợc phân chia thành một số vùng cố định
và số các đoạn của nét chữ trong mỗi vùng góc đƣợc chọn nhƣ một giá trị đặc trƣng.
Vì vậy, tập các số lƣợng của các đoạn định hƣớng sẽ tạo thành một biểu đồ đƣợc gọi là
biểu đồ hƣớng và các đặc trƣng về biểu đồ hƣớng có thể gọi chung là đặc trƣng hƣớng.
Các ảnh ký tự đƣợc phân rã thành các mặt phẳng định hƣớng và một độ đo khoảng
cách đƣợc tính giữa các mặt phẳng đó với mẫu của mỗi lớp. Hƣớng nét chữ cục bộ của
một ký tự có thể đƣợc xác định bằng nhiều cách khác nhau: hƣớng của xƣơng, phân
đoạn nét chữ, mã hóa chu tuyến, hƣớng đạo hàm [12]. Hiện nay, các đặc trƣng mã hóa
chu tuyến và hƣớng đạo hàm đƣợc áp dụng rộng rãi vì chúng dễ cài đặt và xấp xỉ bất
biến với sự biến đổi đa dạng của các nét chữ.
1.5.3. Đặc trƣng hình học và hình thái
Các tính chất cục bộ và toàn cục khác nhau của các ký tự có thể đƣợc biểu diễn
bằng các đặc trƣng hình học và hình thái. Các kiểu đặc trƣng này cũng có thể giải mã
một số tri thức về cấu trúc của đối tƣợng ảnh hoặc có thể cung cấp một số tri thức nhƣ
sắp xếp các thành phần để tạo ra đối tƣợng. Các loại đặc trƣng này có thể phân thành
các nhóm sau:
- Trích chọn và đếm các cấu trúc hình thái: trong nhóm đặc trƣng này, một
cấu trúc đã xác định đƣợc tìm kiếm trong một ký tự hoặc một từ. Số lƣợng vị trí hoặc
quan hệ vị trí của các cấu trúc trong ký tự này tạo thành các đặc trƣng biểu diễn ký tự.
Thông thƣờng, các cấu trúc nguyên thủy (các đoạn thẳng, các cung) là các nét tạo ra
ký tự. Các ký tự và các từ có thể đƣợc mô tả bằng cách trích chọn và đếm nhiều loại
đặc trƣng về hình thái nhƣ các điểm cực đại và cực tiểu, các điểm chóp trên và chóp
dƣới của một ngƣỡng nào đó, mở rộng cho các điểm trái, phải, trên, dƣới và các giao

điểm, các điểm nhánh, điểm cuối đoạn thẳng, hƣớng của một nét từ một điểm đặc biệt,
các điểm cô lập, đã tạo nên các ký tự [7],[8].
- Đo và xấp xỉ các tính chất hình học: trong nhiều công trình nghiên cứu [13],
các ký tự đƣợc biểu diễn bằng độ đo của các đại lƣợng hình học nhƣ tỷ số giữa chiều
15

Số hóa bởi Trung tâm Học liệu


rộng và chiều cao của hộp chứa ký tự, quan hệ khoảng cách giữa hai điểm, so sánh độ
dài giữa hai nét, độ rộng của một nét, khối lƣợng chữ hoa và chữ thƣờng của các từ, độ
dài từ. Một độ đo tiêu biểu rất quan trọng nữa là độ cong hoặc thay đổi độ cong [14].
Các đại lƣợng hình học đo đƣợc có thể xấp xỉ bởi một tập các đặc trƣng hình học vừa
đủ và thuận tiện hơn [11].
- Đồ thị và cây: đầu tiên, các từ hoặc các ký tự đƣợc phân chia thành một tập các
đối tƣợng nguyên thủy nhƣ các nét, các điểm chạc Sau đó, các thành phần nguyên
thủy đƣợc thay thế bằng các thuộc tính hoặc các đồ thị liên quan. Có hai loại đặc trƣng
ảnh đƣợc mô tả bằng đồ thị. Loại thứ nhất sử dụng các tọa độ của hình dáng ký tự.
Loại thứ hai là một đặc trƣng trừu tƣợng, các nút của đồ thị tƣơng ứng với các nét chữ
và các cạnh của đồ thị tƣơng ứng với các mối quan hệ giữa các nét chữ. Cây cũng có
thể dùng để biểu diễn các từ và các ký tự với một tập các đặc trƣng theo một quan hệ
phân cấp.
Trích chọn đặc trƣng hầu hết đƣợc thực hiện trên ảnh nhị phân. Tuy nhiên, việc
nhị phân hóa ảnh đa cấp xám có thể xóa đi một số thông tin quan trọng của các ký tự.
Trong trƣờng hợp này, cũng có một số công trình nghiên cứu để trích chọn các đặc
trƣng trực tiếp từ các ảnh đa cấp xám.
Cuối cùng, mục đích chính của việc trích chọn đặc trƣng là lựa chọn một tập đặc
trƣng phục vụ cho việc phân lớp sao cho hệ thống nhận dạng đạt độ chính xác cao nhất
với số lƣợng phần tử đƣợc trích chọn ít nhất.
1.6. Huấn luyện và nhận dạng

Đây là giai đoạn quan trọng nhất, giai đoạn này quyết định độ chính xác của hệ
thống nhận dạng. Có nhiều phƣơng pháp phân lớp khác nhau đƣợc áp dụng cho các hệ
thống nhận dạng chữ viết tay.
1.7. Hậu xử lý
Đây là công đoạn cuối cùng của quá trình nhận dạng. Có thể hiểu hậu xử lý là
bƣớc ghép nối các kí tự đã nhận dạng thành các từ, các câu, các đoạn văn nhằm tái
hiện lại văn bản đồng thời phát hiện ra các lỗi nhận dạng sai bằng cách kiểm tra chính
tả dựa trên cấu trúc và ngữ nghĩa của các từ, các câu hoặc các đoạn văn. Việc phát hiện
16

Số hóa bởi Trung tâm Học liệu


ra các lỗi, các sai sót trong nhận dạng ở bƣớc này góp phần đáng kể vào việc nâng cao
chất lƣợng nhận dạng.
Cách đơn giản nhất để kết nối các thông tin ngữ cảnh là tận dụng một từ điển để
điều chỉnh các lỗi của hệ thống nhận dạng. Ý tƣởng cơ bản này dựa trên cơ sở đánh
vần kiểm tra đầu ra của hệ thống nhận dạng và cung cấp một số khả năng cho các đầu
ra của máy nhận dạng khi các đầu ra này không nằm đúng vị trí trong từ điển. Việc
kiểm tra lỗi chính tả phù hợp với một số ngôn ngữ nhƣ Anh, Pháp, Đức, Việt Nam,
1.8. Một số thuật toán phân lớp nhận dạng chữ viết tay
1.8.1. Giới thiệu
Thuật toán phân lớp là yếu tố có vai trò quyết định đến chất lƣợng của một hệ
thống nhận dạng. Các phƣơng pháp nhận dạng truyền thống nhƣ đối sánh mẫu, nhận
dạng cấu trúc đã đƣợc ứng dụng khá phổ biến trong các hệ thống nhận dạng và cũng
đã thu đƣợc những thành công nhất định. Tuy vậy, với những trƣờng hợp văn bản đầu
vào có chất lƣợng không tốt (nhiễu, đứt nét, dính nét ) thì các thuật toán này tỏ ra
không hiệu quả.
Để khắc phục điều này, trong những năm gần đây nhiều nhóm nghiên cứu đã sử
dụng các thuật toán phân lớp dựa trên mô hình Markov ẩn HMM, mô hình mạng

nơron NN, mô hình SVM cho các bài toán nhận dạng nói chung và nhận dạng chữ nói
riêng trong đó có nhận dạng các hệ chữ Latinh nhƣ Anh, Pháp.
1.8.2. Các mô hình nhận dạng chữ viết tay
a. Phân lớp dựa trên mô hình Markov ẩn
Mô hình Markov ẩn (HMM) là một mô hình thống kê điển hình đƣợc Baum đề
xuất năm 1970 và hiện đang đƣợc sử dụng phổ biến trong nhận dạng mẫu, đặc biệt là
nhận dạng tiếng nói, nhận dạng chữ viết, phân loại ảnh, nhận dạng chuỗi ADN Mỗi
mô hình HMM bao gồm các trạng thái, xác suất chuyển giữa các trạng thái, xác suất
phân bố các kí hiệu quan sát đƣợc trên các trạng thái.
Một mô hình HMM với N trạng thái {S
1
, ,S
n
} có thể đƣợc biểu diễn bằng một
bộ ba = ( , A, B), trong đó = (
1
, ,
N
) là vector chứa phân bố xác suất các quan
sát tại mỗi trạng thái ở thời điểm khởi tạo. Ma trận chuyển trạng thái A= (a
i
,
j
) 0 < i ≤
17

Số hóa bởi Trung tâm Học liệu


N, 0 < j ≤ N bao gồm các xác suất a

i,j
chuyển từ trạng thái S
i
sang trạng thái S
j
. Thành
phần thứ ba là một ma trận B = (b
i
(o
l
)) 1 ≤ i ≤ N, 1 ≤ l ≤ T bao gồm các giá trị xác
suất rời rạc đối với 1 số hữu hạn các quan sát O = (o1, o2, , oT) hoặc một vector các
hàm mật độ đối với một chuỗi liên tục các quan sát. Mỗi HMM có thể sinh ra một
chuỗi các kí hiệu đầu ra, các kí hiệu này quan sát đƣợc, chuỗi trạng thái sinh ra quan
sát này là ẩn.
b. Phân lớp dựa trên mô hình mạng nơron
Mạng nơron nhân tạo (Artificial Neural Network) là một mô hình tính toán mô
phỏng theo hoạt động của bộ não và nơron sinh học của con ngƣời. Cấu trúc của một
mô hình mạng nơron bao gồm nhiều nút (đơn vị xử lý, nơron) đƣợc nối với nhau bởi
các liên kết nơron (hình 1.10).


Hình 1.10. Mô hình mạng nơron nhân tạo
Mỗi liên kết kèm theo một trọng số nào đó, đặc trƣng cho đặc tính kích hoạt/ức
chế các nơron. Có thể xem các trọng số là để lƣu giữ thông tin dài hạn trong mạng
nơron và nhiệm vụ của quá trình huấn luyện mạng là cập nhật các trọng số khi có thêm
các thông tin về các mẫu học, hay nói một cách khác là các trọng số đƣợc điều chỉnh
sao cho dáng điệu vào ra của nó mô phỏng hoàn toàn phù hợp với môi trƣờng đang
xét.
Về lý thuyết, ngƣời ta đã chứng minh đƣợc rằng chỉ cần sử dụng mạng nơron hai

lớp truyền thẳng (gồm một lớp ẩn và một lớp ra) là đủ để giải quyết các bài toán phân
lớp trên tập dữ liệu đầu vào không khả tách tuyến tính. Thực tế cho thấy mô hình
mạng nhiều tầng truyền thẳng MLP (Multi Layer Perceptron) 3 lớp là mô hình phổ
biến, đƣợc sử dụng nhiều trong các bài toán phân lớp (Hình 1.11). Về nguyên tắc, để
18

Số hóa bởi Trung tâm Học liệu


giải quyết bài toán phân lớp tập dữ liệu đầu vào thành K lớp, ta sẽ xây dựng 1 mạng
nơron 3 lớp.

Hình 1.11. Mô hình mạng MLP 3 lớp
Trong đó lớp thứ nhất có nhiệm vụ tạo ra một tập các đƣờng biên tuyến tính để
phân tách các vector mẫu của tất cả các lớp với nhau. Lớp thứ hai (lớp các nơron
AND) có nhiệm vụ liên kết các đầu ra của các nơron lớp thành các nhóm. Lớp thứ ba
sẽ liên kết các vùng quyết định (decision regions) của lớp thứ 2 thành 1 vùng quyết
định duy nhất sử dụng các hàm OR (hình 1.12).

Hình 1.12. Phân lớp bằng mạng nơron
Mạng MLP thƣờng đƣợc huấn luyện bằng thuật toán lan truyền ngƣợc sai số.
Trong đó mỗi mẫu huấn luyện đƣợc cung cấp dƣới dạng cặp vector: {(x = x1, , xp), (t
= t1, ,tq)}, trong đó x là vector đặc trƣng p chiều của mẫu cần nhận dạng, các phần tử
x1, , xp thƣờng có giá trị [-1,1] hoặc [0,1] và t là giá trị mục tiêu tƣơng ứng của
mẫu đó.

×