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

nghiên cứu phương pháp máy vectơ tựa trong nhận dạng chữ viết tay (xử lý ảnh)

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 (931.24 KB, 66 trang )



BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN



NGUYỄN MINH ĐỨC




NGHIÊN CỨU PHƯƠNG PHÁP MÁY VÉCTƠ
TỰA TRONG NHẬN DẠNG CHỮ VIẾT TAY






LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH








ĐÀ NẴNG, 2012



BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN



NGUYỄN MINH ĐỨC



NGHIÊN CỨU PHƯƠNG PHÁP MÁY VÉCTƠ
TỰA TRONG NHẬN DẠNG CHỮ VIẾT TAY

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01



LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH



Người hướng dẫn khoa học: TS. Phạm Anh Phương





ĐÀ NẴNG, 2012



ii

LỜI CẢM ƠN
Tôi xin được gửi lời cám ơn sâu sắc tới TS. Phạm Anh Phương về những chỉ
dẫn khoa học và tận tình hướng dẫn, định hướng cho tôi trong suốt quá trình thực
hiện Luận văn.
Tôi xin chân thành cám ơn các Thầy, Cô trong Khoa Sau đại học, những người
đã quan tâm tổ chức, chỉ đạo và trực tiếp giảng dạy trong suốt quá trình học tập của
chúng tôi.
Tôi xin chân thành cám ơn bạn bè, đồng nghiệp đã có nhiều ý kiến quan trọng
giúp tôi hoàn thiện tốt hơn luận văn của mình.
Tôi xin gửi lời cảm ơn tới gia đình, anh chị em và những người thân đã quan
tâm, giúp đỡ và động viên để tôi yên tâm và hoàn thành được luận văn.
Đà Nẵng, tháng 6 năm 2012


Nguyễn Minh Đức


iii

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu và
kết quả nghiên cứu trong luận văn này là trung thực và không trùng lặp với các đề
tài khác.
Học viên thực hiện luận văn




Nguyễn Minh Đức



iv

MỤC LỤC

Trang phụ bìa i
Lời cảm ơn ii
Lời cam đoan iii
Mục lục iv
Danh mục ký hiệu và từ viết tắt vi
Danh sách các bảng biểu vii
Danh sách các hình vẽ viii
Mở đầu 1
1. Lý do chọn đề tài 1
2. Mục đích nghiên cứu 2
3. Đối tượng và phạm vi nghiên cứu của đề tài 2
4. Phương pháp nghiên cứu 2
5. Kết cấu của luận văn 3
CHƯƠNG 1. TỔNG QUAN VỀ NHẬN DẠNG CHỮ VIẾT TAY 4
1.1. Giới thiệu 4
1.2. Các phương pháp nhận dạng cổ điển 5
1.2.1. Nhận dạng dựa vào đặc trưng cấu trúc chữ 5
1.2.2. Nhận dạng bằng phương pháp đối sánh mẫu 9
1.3. Sử dụng các phương pháp máy học tiên tiến 10
1.3.1. Sử dụng mạng Nơron 10
1.3.2. Sử dụng mô hình Markov ẩn 12

1.3.3. Sử dụng phương pháp máy véc tơ tựa 13
1.4. Mô hình tổng quát của một hệ nhận dạng 14
1.4.1. Mô hình tổng quát 14
1.4.2. Tiền xử lý 15
1.4.2.1. Nhị phân hóa ảnh 16
1.4.2.2. Hiệu chỉnh kích thước ảnh 16
1.4.2.3. Khử nhiễu 17
1.4.2.4. Làm trơn biên chữ 18
1.4.2.5. Làm dày chữ 19
1.4.2.6. Làm mảnh chữ 20
1.4.2.7. Xoay văn bản 20
1.4.3. Tách chữ 20
1.4.4. Trích chọn đặc trưng 21
1.4.4.1. Đặc trưng thống kê 22
1.4.4.2. Đặc trưng hình học và hình thái 24
1.4.4.3. Biến đổi toàn cục và triển khai chuỗi 24
1.4.5. Huấn luyện và nhận dạng 25


v

1.4.6. Hậu xử lý 25
CHƯƠNG 2. PHƯƠNG PHÁP MÁY VÉCTƠ TỰA 27
2.1. Cơ sở lý thuyết 27
2.1.1. Giới thiệu bài toán phân lớp nhị phân 27
2.1.2. Máy SVM tuyến tính 28
2.1.2.1. SVM trong trường hợp tập mẫu phân hoạch tuyến tính được 28
2.1.2.2. SVM tuyến tính trong trường hợp tập mẫu không phân hoạch tuyến
tính được 30
2.1.3. Máy SVM phi tuyến 35

2.2. Các thuật toán huấn luyện SVM 37
2.2.1. Thuật toán chặt khúc 37
2.2.2. Thuật toán phân rã 37
2.2.3. Thuật toán cực tiểu tuần tự 38
2.2.3.1. Tối ưu hai α
i
39
2.2.3.2. Cập nhật các tham số mỗi bước tối ưu thành công 39
2.2.3.3. Chọn hai α
i
cho việc tối ưu 40
CHƯƠNG 3. ÁP DỤNG SVM VÀO BÀI TOÁN NHẬN DẠNG CHỮ VIẾT
TAY 42
3.1. Một số chiến lược SVM đa lớp. 42
3.1.1. Sử dụng mô hình SVM đa lớp theo chiến lược OVO 42
3.1.2. Sử dụng mô hình SVM đa lớp theo chiến lược OVR 44
3.2. Đề xuất mô hình nhận dạng 45
3.2.1. Chuẩn hóa kích thước ảnh 45
3.2.2. Trích chọn đặc trưng 46
3.2.3. Lựa chọn thuật toán huấn luyện phân lớp 48
3.2.4. Phân lớp nhận dạng. 48
3.3. Kết quả thực nghiệm 50
3.3.1. Kết quả thực nghiệm trên bộ dữ liêu MNIST 50
3.3.2. Kết quả thực nghiệm trên tập dữ liệu USPS 52
Kết luận 54
1. Các kết quả đạt được 54
2. Các hạn chế của luận văn 54
3. Hướng phát triển 55
Tài liệu tham khảo 56
Tài liệu tiếng Việt 56

Tài liệu tiếng Anh 57



vi


DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT

Ký hiệu Thuật ngữ
SVM
Support Vector Machine – (Máy Vectơ tựa)
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ỳ
SMO
Sequential Minimal Optimization – (Thuật toán cực tiểu tuần tự)
OVO
One – versus – One – (Một chống một)
OVR
One – versus – Rest – (Một chống phần còn lại)
USPS
United States Postal service
ANN
Artificial Neural Network (Mạng nơron nhân tạo)
HMM
Hiden Markov Models – (Mô hình Markov ẩn)
MLP
MultiLayer Perceptron
kNN

k láng giềng gần nhất
KKT
Karush-Kuhn-Tucker
Kernel
Hàm nhân
Decomposition

Phân rã
QP
Quadratic Programing (quy hoạch toàn phương)


vii

DANH SÁCH CÁC BẢNG BIỂU

Bảng 1: Kết quả thực nghiệm trên tập MNIST với hàm nhân RBF(s =0.08) 51
Bảng 2. Kết quả thực nghiệm trên tập dữ liệu USPS 52
Bảng 3. Kết quả thực nghiệm trên tập dữ liệu USPS với C=10, hàm nhân
RBF(=0.05) 53


viii

DANH SÁCH CÁC HÌNH VẼ

Hình 1-1 Mã Freeman 6
Hình 1-2 Mô tả một số ký tự dựa trên cấu trúc nguyên thủy 7
Hình 1-3 Mạng perceptron đa lớp 12
Hình 1-4 Mô hình tổng quát của một hệ nhận dạng chữ viết 15

Hình 1-5 Nhị phân hóa ảnh 16
Hình 1-6 Chuẩn hóa kích thước ảnh các ký tự “A” và “D” 17
Hình 1-7 Nhiễu đốm và nhiễu vệt đen dài 17
Hình 1-8 Làm trơn biên chữ bằng kỹ thuật Dineen và Unger 19
Hình 1-9 Xác định khoảng phân cách giữa hai ký tự và hai từ 21
Hình 1-10 Phân vùng ký tự A 23
Hình 1-11 Trích chọn theo phép chiếu theo hai chiều trên ký tự a 23
Hình 1-12 Trích chọn theo chu tuyến của ký tự a 24
Hình 2-1 Các siêu phẳng H1, H2 phân cách giữa hai lớp 27
Hình 2-2 Siêu phẳng tách tuyến tính 28
Hình 2-3 Không thể phân hoạch tập mẫu trên bằng một siêu phẳng 30
Hình 2-4 Một mặt phân chia phi tuyến có thể trở thành một siêu phẳng trong không
gian lớn hơn. 35
Hình 3-1 Sơ đồ bỏ phiếu cho bài toán phân 5 lớp 43
Hình 3-2 Bài toán phân bốn lớp theo chiến lược OVR 44
Hình 3-3 Mô hình nhận dạng chữ viết tay rời rạc 45
Hình 3-4 Chuẩn hóa kích thước ảnh 46
Hình 3-5 Trích chọn đặc trưng nhị phân 47
Hình 3-6 Trích chọn đặc trưng ma trận trọng số vùng 48
Hình 3-7 Các mẫu chữ số viết tay trích từ tập dữ liệu MNIST 51
Hình 3-8 Các mẫu chữ số viết tay trích từ tập dữ liệu USPS 52


1
MỞ ĐẦU

1. Lý do chọn đề tài
Đã từ lâu chiếc máy tính trở thành công cụ không thể thiếu trong hầu hết các
lĩnh vực đời sống xã hội, máy tính hỗ trợ từng cá nhân cũng như cơ quan doanh
nghiệp phát triển. Con người không ngừng nghiên cứu để tăng cường sức mạnh của

máy tính, từ tốc độ xử lý, khả năng tính toán cũng như khả năng lưu trữ thông tin,
qua đó giúp cho máy tính ngày càng thông minh hơn và đảm nhận các chức năng
gần với con người hơn.
Để thực hiện việc lưu trữ và xử lý thông tin, vấn đề giao tiếp giữa con người
với máy tính càng được chú trọng. Trong các lĩnh vực đời sống xã hội, những thông
tin được lưu trữ dưới dạng các văn bản viết tay là các tài liệu quan trọng và có số
lượng cực lớn. Việc lưu trữ các tài liệu đó vào máy tính dưới dạng các tài liệu văn
bản đòi hỏi phải xây dựng những chương trình giúp máy tính nhận dạng được chữ
viết tay.
Sự nhận dạng chính xác ký tự latin đánh máy được xem là vấn đề đã được
giải quyết. Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR 4.0
có khả năng nhận dạng trực tiếp các loại tài liệu được quét qua máy quét, không cần
lưu trữ dưới dạng tệp ảnh trung gian. Các trang tài liệu có thể được quét và lưu trữ
dưới dạng tệp tin nhiều trang. Kết quả nhận dạng được lưu trữ sang định dạng của
Microsoft Word, Excel phục vụ rất tốt nhu cầu số hóa dữ liệu.
Trong khi đó, bài toán nhận dạng chữ viết tay vẫn chưa được giải quyết một
cách trọn vẹn và vẫn đang là một vấn đề thách thức đối với các nhà nghiên cứu
không những trong nước mà trên toàn thế giới vì những đặc thù riêng của nó. Chữ
viết tay phụ thuộc nhiều vào phong cách của người viết, mỗi người có một cách viết
khác nhau.
Hiện tại có khá nhiều phương pháp nhận dạng chữ viết trong đó phương
pháp máy véctơ tựa (SVM - Support Vector Machine) là phương pháp máy học tiên


2
tiến, được áp dụng rộng rãi hiện nay, độ chính xác cao, được ứng dụng trong nhiều
lĩnh vực không chỉ trong nhận dạng xử lý ảnh mà còn trong lĩnh vực khai phá dữ
liệu, phân tích văn bản, phân tích gene…
Vì vậy luận văn này chọn phương pháp máy Véctơ tựa để nghiên cứu bài
toán nhận dạng chữ viết tay.

2. Mục đích nghiên cứu
- Nghiên cứu về phương pháp phân lớp SVM áp dụng cho bài toán nhận dạng
chữ viết tay.
- Cài đặt demo dạng chữ viết tay rời rạc với độ chính xác chấp nhận được.
3. Đối tượng và phạm vi nghiên cứu của đề tài
Đối tượng nghiên cứu của đề tài:
- Quy trình nhận dạng chữ viết tay ngoại tuyến.
- Phương pháp phân lớp máy Véctơ tựa.
Phạm vi nghiên cứu của đề tài:
- Nhận dạng chữ viết tay rời rạc trên các tập dữ liệu chữ số viết tay MNIST và
USPS.
- Trong phương pháp SVM chọn thuật toán huấn luyện cực tiểu tuần tự -SMO.
- Đối với SVM đa lớp, nghiên cứu hai chiến lược OVO (One-vs-One) và OVR
(One-vs-Rest).
4. Phương pháp nghiên cứu
- Tìm kiếm, đọc hiểu các tài liệu, các thông tin liên quan đến đề tài.
- Sử dụng thư viện mã nguồn mở LIBSVM để xây dựng ứng dụng.
- Sử dụng các tập dữ liệu chữ số viết tay điển hình như USPS va MNIST cho
việc kiểm thử bộ nhận dạng và dựa vào kết quả thực nghiệm để đánh giá chất
lượng bộ nhận dạng.



3
5. Kết cấu của luận văn
Nội dung của cuốn luận văn được trình bày trong ba chương.
Chương 1. Tổng quan về nhận dạng chữ viết: Giới thiệu về chữ in và chữ
viết tay, trong đó tập trung vào bài toán đặt nhận dạng chữ viết tay ngoại tuyến và
lựa chọn phương pháp nhận dạng. Đồng thời giới thiệu tổng quan về một hệ nhận
dạng với tất cả các khâu từ tiền xử lý, trích chọn đặc trưng cho tới khâu huấn luyện,

nhận dạng và cuối cùng là phần hậu xử lý.
Chương 2. Phương pháp máy Véctơ tựa: Bao gồm các cơ sở lý thuyết của
phương pháp SVM và các thuật toán huấn luyện SVM phổ biến.
Chương 3. Áp dụng SVM vào bài toán nhận dạng chữ viết tay: Đề xuất
mô hình nhận dạng cùng với việc cài đặt ứng dụng và một số kết quả thực nghiệm
trên các bộ dữ liệu chuẩn với các chiến lược thường được sử dụng cho bài toán phân
đa lớp.


4
CHƯƠNG 1
TỔNG QUAN VỀ NHẬN DẠNG CHỮ VIẾT TAY

1.1. Giới thiệu
Chữ in hay chữ đánh máy là dạng chữ mà mỗi ký tự được thể hiện theo các
quy ước có sẵn, trong cùng một font chữ các ký tự là giống nhau qua đó tạo điều
kiện thuận lợi để giải quyết bài toán nhận dạng chữ in một cách hiệu quả nhất. Cho
tới nay bài toán nhận dạng và số hóa chữ in được coi như đã giải quyết triệt để với
rất nhiều các ứng dụng có trên thị trường, trong đó phần mềm nhận dạng chữ của
hãng ABBYY được đánh giá là một giải pháp nhận dạng hoàn chỉnh nhất với hơn
190 ngôn ngữ và độ chính xác đạt được trên 99%, ở Việt Nam phần mềm VnDOCR
4.0 Professional đạt độ chính xác nhận dạng lên tới 99% và được sử dụng rộng rãi
trong việc số hóa tất cả các tài liệu văn bản in.
Trong khi đó, bài toán nhận dạng chữ viết tay vẫn chưa được giải quyết trọn
vẹn vì những khó khăn nhất định xuất phát từ chính những đặc điểm của chữ viết
tay. Chữ viết tay với những đặc thù độc đáo của nó như sự biến đổi đa dạng trong
cách viết từng ký tự (cùng một người viết nhưng các ký tự chỉ tồn tại sự đồng dạng
chứ không có sự đồng nhất), độ nghiêng của chữ, khoảng trống giữa các chữ, hoặc
cách viết một số ký tự nhất định của từng người viết, ngoài ra chữ viết tay còn thay
đổi theo trạng thái tinh thần của người viết. Chính vì những lý do đó mà việc giải

quyết bài toán toán nhận dạng chữ viết tay vẫn tiếp tục là một đề tài thách thức với
các nhà nghiên cứu.
Có hai loại nhận dạng chữ viết tay:
- Thứ nhất là nhận dạng chữ viết tay ngoại tuyến (off-line handwriting
recognition): chương trình sẽ thông dịch các kí tự, các chữ hay các đoạn văn được
viết trên các mẫu giấy hoặc các các bề mặt khác mà chúng ta có thể thu thập thông
tin về chúng thông qua hình ảnh thu được từ các bề mặt bằng cách chụp lại hình
ảnh.


5
- Thứ hai là nhận dạng chữ viết tay trực tuyến (online handwriting
recognition): nhận dạng ký tự hoặc chữ viết dựa trên thông tin thu được trong thời
gian thực ngay lúc người dùng thực hiện hành động viết, những thông tin đó là tốc
độ viết, áp lực khi viết và hướng viết.
Đối với phương pháp nhận dạng, hiện nay có khá nhiều phương pháp, cổ
điển nhất là nhận dạng dựa vào đặc trưng cấu trúc chữ, phương pháp đối sánh mẫu,
K láng giềng gần nhất, hay một số phương pháp tiên tiến như sử dụng mạng Nơron,
mô hình Markov ẩn, hay sử dụng máy vector tựa…
1.2. Các phương pháp nhận dạng cổ điển
1.2.1. Nhận dạng dựa vào đặc trưng cấu trúc chữ
Cách tiếp cận của phương pháp này dựa vào việc mô tả đối tượng nhờ một số
khái niệm biểu thị đối tượng cơ sở trong ngôn ngữ tự nhiên. Để mô tả đối tượng
người ta dùng một số dạng nguyên thuỷ như đoạn thẳng, cung,… Mỗi đối tượng
được mô tả như một sự kết hợp của các dạng nguyên thuỷ. Chẳng hạn một hình chữ
nhật được định nghĩa gồm bốn đoạn thẳng vuông góc với nhau từng đôi một. Các
ký tự chữ viết thường bao gồm các đoạn thẳng và các dường cong. Tất cả các đoạn
thẳng hoặc đường cong đều có thể mở rộng theo một hướng nhất định. Một đường
cong có thể tạo thành một vòng lặp. Do đó một ký tự chữ viết tay đều có thể mô tả
bằng việc sử dụng các loại nguyên thủy khác nhau của đường thẳn, đường cong

cùng một số thông tin định hướng của chúng. Chú ý rằng một nét đơn cũng có thể
chứa đựng một vài dạng nguyên thủy.
Về cơ bản, có năm dạng nguyên thủy được sử dụng để mô tả các đối tượng bao
gồm :
- Line : Đường thẳng
- Up : Đường cong ngược chiều kim đồng hồ
- Down : Đường cong cùng chiều kim đồng hồ


6
- Loop: Đường cong tạo thành một vòng lặp
- Dot: Một đoạn rất ngắn thường là nhiễu hoặc cũng có thể là một phần của ký
tự, ví dụ như dấu chấm của ký tự i hay j…
Trong mô hình này người ta sử dụng một bộ ký hiệu kết thúc V
t
một bộ ký
hiệu không kết thúc gọi là V
n
. Ngoài ra có dùng một tập các luật sản xuất để mô tả
cách xây dựng các đối tượng phù hợp dựa trên các đối tượng đơn giản hơn hoặc đối
tượng nguyên thủy (tập V
t
). Trong cách tiếp cận này, ta chấp nhận khẳng định là:
Cấu trúc một dạng là kết quả của việc áp dụng luật sản xuất theo những nguyên tắc
xác định bắt đầu từ một dạng gốc ban đầu. Một cách hình thức, ta có thế coi mô
hình này tương đương với một văn phạm G = (V
t
, V
n
, P, S), trong đó:

- V
t
là bộ ký hiệu kết thúc. V
t
= {line, up, down, loop, dot, ‘{‘, ‘}’, ‘,’, 0, 1, 2,
3, 4, 5, 6, 7}, với 0 đến 7 biểu diễn cho các giá trị hướng trong mã chuỗi
Freeman (Hình 1-1).

Hình 1-1 Mã Freeman
- V
n
là bộ ký hiệu không kết thúc. V
n
= { Character, StrokeSet, Stroke,
PrimitiveSet, Primitive, LineType, Direction}
- P là luật sản xuất.
P = {
Character  { StrokeSet}
StrokeSet  Stroke


7
StrokeSet  Stroke, StrokeSet
Stroke  { PrimitiveSet}
PrimitiveSet  Primitive
PrimitiveSet  Primitive, PrimitiveSet
Primitive  { LineType, Direction}
Primitive  loop
Primitive  dot
LineType  line | up | down

Direction  0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
}
- S là dạng (ký hiệu bắt đầu): Lưu ý rằng không có thông tin về hướng nào
được liên kết với các Dot bị cô lập. Hướng của một đường thẳng hay một
đường cong phụ thuộc vào các điểm bắt đầu và kết thúc của chúng. Dưới đây
là một số ví dụ.

Hình 1-2 Mô tả một số ký tự dựa trên cấu trúc nguyên thủy.
Các quy tắc kết hợp các dạng nguyên thuỷ được xây dựng giống như việc
nghiên cứu văn phạm trong một ngôn ngữ. Vì vậy quá trình quyết định nhận dạng là
quá trình phân tích cú pháp. Phương pháp này đặt vấn đề giải quyết bài toán nhận
dạng chữ tổng quát. Tuy vậy, cho đến nay còn nhiều vấn đề liên quan đến hệ nhận
dạng cú pháp chưa được giải quyết độc lập và chưa xây dựng được các thuật toán
phổ dụng. Hiện nay, nhận dạng theo cấu trúc phổ biến là trích trọn các đặc trưng


8
của mẫu học, phân hoạch bảng kí tự dựa trên các đặc trưng này (quá trình học font
chữ), sau đó với ảnh cần nhận dạng ta sẽ trích chọn các đặc trưng của nó, so sánh
trên bảng phân hoạch này để tìm ra ký tự có các đặc trưng phù hợp.
Đây là phương pháp nhận dạng chữ viết tay hạn chế dựa theo cấu trúc của
xương và đường biên. Sử dụng phương pháp này đòi hỏi phải xây dựng các đặc
trưng của chữ, đặc biệt là đặc trưng về điểm uốn, điểm gấp khúc và đặc trưng các
nét chữ.
Sau đây là quy trình thực hiện:
Bước 1: Tiền xử lý
- Khử nhiễu.
- Làm mảnh chữ.
Bước 2: Tách các nét
Một ký tự sẽ được tách thành các nét thông qua các điểm chạc. Trước tiên cần

chọn một số điểm chạc sao cho chúng tách chữ thành các nét không cắt nhau. Như
vậy, để lấy nét, ta xuất phát từ điểm chạc này theo chiều kim đồng hồ để đến điểm
chạc kia, đồng thời xoá luôn nét đó ra khỏi ảnh, không xoá điểm chạc (vì nó là điểm
chung), điểm chạc chỉ được xoá khi không còn cạnh nào xuất phát từ nó. Kết quả ta
sẽ có một dãy các nét làm đặc trưng cơ bản của chữ. Để tách các nét của chữ ta thực
hiện các bước như sau: đánh dấu các điểm chạc, xác định điểm xuất phát, xác định
nét xuất phát, tách các nét tiếp theo.
Bước 3: Trích chọn các đặc trưng cấu trúc xương của chữ.
Với một chữ, sau khi qua quá trình làm mảnh và tách nét ta sẽ thu được một
dãy các nét có thứ tự. Mỗi nét đặc trưng bởi cặp chỉ số đầu và cuối tương ứng với
thứ tự của điểm chạc đầu và điểm chạc cuối. Đặc trưng này tương đối ổn định với
một chữ, do đó đặc trưng này được dùng làm đặc trưng “cứng” của chữ. Nghĩa là
hai chữ được gọi là cùng lớp nếu giống nhau về đặc trưng xương. Nhờ tính “cứng”


9
của xương ta có thể phân lớp và thực hiện tìm kiếm một cách hiệu quả. Chỉ số các
điểm chạc được đánh số theo thứ tự duyệt các đỉnh và bắt đầu từ đỉnh xuất phát.
Điều này làm cho cấu trúc xương của các thành phần liên thông là độc lập với nhau.
Nếu khi thêm một thành phần liên thông mới như nhiễu lớn thì không ảnh hưởng
đến cấu trúc của các thành phần liên thông khác. Một điểm chạc 4 có thể phân thành
hai điểm chạc 3 và một nét nhỏ nối giữa chúng. Điều này khiến một cấu trúc chữ có
thể biến đổi thành nhiều cấu trúc khác nhau, do vậy ta phải nhập các điểm chạc gần
nhau thành một điểm (không nhập điểm mút).
Bước 4: Xây dựng cây tìm kiếm.
Dựa vào đặc trưng về cấu trúc xương và cấu trúc biên (chỉ số của các nét
xương và chỉ số của các nét tạo bởi các điểm uốn của biên - các nét này rất ổn định
đối với ký tự), ta sẽ phân tập mẫu học thành các lớp.
Quá trình tìm kiếm để phân lớp được tiến hành qua hai bước:
- Xác định lớp tương ứng với mẫu vào

- Tìm kiếm trong lớp đó mẫu nào gần giống với mẫu vào nhất
1.2.2. Nhận dạng bằng phương pháp đối sánh mẫu
Đây là phương pháp khá cổ điển, được phát triển từ những năm 60. Nội dung
chủ yếu của phương pháp này là mẫu cần nhận dạng được chia nhỏ thành n*m vùng
khác nhau. Tại mỗi vùng, tổng số điểm đen được tính toán. Nếu giá trị của chúng
lớn hơn một ngưỡng nào đó thì vùng đó được gọi là vùng đen, ngược lại là vùng
trắng. Quá trình nhận dạng được thực hiện nhờ 1 cây quyết định. Tại đó mỗi nút là 1
câu hỏi: "vùng tương ứng có phải là vùng đen hay không?".
Phương pháp này khá đơn giản, tuy nhiên nếu số lượng vùng quá lớn thì độ
phức tạp sẽ tăng. Phương pháp này tỏ ra kém hiệu quả khi thay đổi các kiểu chữ, vì
thế đối sánh mẫu chỉ áp dụng tốt đối với nhận dạng chữ in, còn đối với chữ viết tay
thì phương pháp này tỏ ra kém hiệu quả, kết quả nhận dạng của nó cũng rất nhạy
cảm với nhiễu. Quy trình thực hiện của phương pháp đối sánh như sau:


10
 Trích chọn đặc trưng: với một mẫu a, trích các thông số gọi là đặc trưng của
mẫu đó. Kí hiệu đặc trưng của mẫu a là F
a
.
 Học mẫu: một tập mẫu được dùng để học bằng cách lưu đặc trưng các mẫu
học đó vào cơ sở dữ liệu, kí hiệu là L.
 Định nghĩa một Metric: với hai đặc trưng F
a
và F
b
, định nghĩa khoảng cách
d(F
a
,F

b
) giữa hai đặc trưng đó.
 Nhận dạng: với mỗi mẫu vào là x chưa biết, ta trích chọn đặc trưng tương
ứng F
x
. Tìm trong cơ sở dữ liệu đặc trưng F
b
L “gần giống” với F
x
nhất
theo nghĩa:
)Fd(F,min)F,d(F
x
LF
xb



Khi đó mẫu x được nhận dạng là mẫu b trong cơ sở dữ liệu.
Nhận xét: Phương pháp đối sánh mẫu có đặc điểm là kích thước cơ sở dữ liệu
lớn và tốc độ nhận dạng không nhanh.
1.3. Sử dụng các phương pháp máy học tiên tiến
1.3.1. Sử dụng mạng Nơron
Mạng Nơron nhân tạo (Artificial Neural Network: ANNs) là sự tái tạo
bằng những chức năng của hệ thần kinh con người với vô số các Nơron được liên
kết truyền thông với nhau qua mạng. Giống như con người, ANNs được học
bởi kinh nghiệm, lưu những kinh nghiệm đó và sử dụng trong những tình huống
phù hợp.
Mạng Nơ ron nhân tạo được nghiên cứu từ những năm 40, với những nghiên
cứu của McCulloch và Pitts. Các ông đã chứng tỏ rằng mạng Nơron có thể dùng để

tính toán mọi hàm logic (AND, OR,…). Tiếp theo đó là nhiều nghiên cứu cho thấy
mạng Nơron còn có khả năng giải quyết các vấn đề phân lớp. Tuy nhiên vào những
năm cuối thập kỉ 60 thì Minsky và Papert đã chỉ ra một giới hạn không thể vuợt qua
được khi giải quyết các vấn đề phân lớp của mạng Nơron một lớp và các ông cho
rằng mạng Nơron nhiều lớp cũng gặp phải tình trạng tương tự như vậy. Do ảnh


11
hưởng của Minsky và Papert cùng khả năng hạn chế của máy tính thời đó nên các
nghiên cứu về mạng Nơron tạm thời bị lắng xuống. Vào những năm 80, các cản trở
này được giỡ bỏ vì các máy tính thời kỳ này rất mạnh, đồng thời có rất nhiều công
trình nghiên cứu phát triển một số mô hình mạng, các công trình này cho thấy khả
năng của mạng Nơron nhân tạo vô cùng lớn: mạng Kohonen có khả năng hoạt động
giống bộ nhớ, mạng Grossberg có khả năng tự tổ chức, mạng Hopfield có khả năng
liên hệ (phản xạ có điều kiện)…Một phát triển hết sức quan trọng khác là việc khám
phá ra thuật toán lan truyền ngược sai số dùng để huấn luyện mạng Nơron nhiều
lớp. Bằng thuật toán này Rumehart và McClelland đã trả lời được vấn đề đặt ra bởi
Minsky và Papert những năm ‘60 là: mạng Nơron nhân tạo hoàn toàn có khả năng
giải quyết các vấn đề phức tạp.
Với thuật toán đơn giản nhưng rất hiệu quả, cùng với thành công của mô hình
này trong các ứng dụng thực tiễn, mạng Nơron nhân tạo hiện đang là một trong các
hướng nghiên cứu chính của ngành học trí tuệ nhân tạo. Mạng Nơron nhân tạo tỏ ra
rất phù hợp với các bài toán đối sánh, phân loại mẫu, xấp xỉ hàm, tối ưu hoá, lượng
tử hoá vector và phân hoạch không gian dữ liệu, trong khi các máy tính truyền
thống không đủ khả năng giải quyết các vấn đề trên một cách có hiệu quả. Đặc biệt
trong các hệ thống nhận dạng, phương pháp nhận dạng sử dụng mạng Nơron nhân
tạo đã đạt được tỉ lệ nhận dạng cao, có thể so sánh với các phương pháp như nhận
dạng cấu trúc, logic mờ, …
Các mạng Nơron sử dụng trong các hệ thống nhận dạng chữ là mạng
perceptron đa lớp MLP (MultiLayer Perceptron) (Hình 1-3) thuộc loại mạng truyền

thẳng và mạng Kohonen thuộc nhóm mạng lang truyền ngược. Mạng Perceptron đa
lớp được đề xuất bởi Rosenblatt được nhiều tác giả sử dụng trong các hệ nhận dạng
chữ.
Trong kỹ thuật nhận dạng ký tự, mạng Nơron tỏ ra ưu thế hơn các phương
pháp truyền thống ở chỗ không tốn thời gian cho thủ tục tiền xử lý, làm mảnh ký tự,
trích trọn đặc trưng… Mặt khác các phương pháp ra quyết định trong nhận


12
dạng truyền thống được cài đặt tĩnh trong chương trình, khi muốn bổ sung thêm
các mẫu học mới phải thiết kế lại chương trình. Trong khi với mạng Nơron, chỉ cần
cung cấp một tập mẫu vào ra của dữ liệu mới cho pha huấn luyện là có thể bổ sung
vào “bộ nhớ mạng” những kiểu dữ liệu mới mà không ảnh hưởng đến cấu trúc
chương trình ban đầu. [3]

Hình 1-3 Mạng perceptron đa lớp
Hạn chế của mạng Nơron là tính chậm và xác xuất không cao, không có quy
tắc tổng quát để xác định cấu trúc mạng và các tham số học tối ưu cho một (lớp) bài
toán nhất định. Tiêu chuẩn thu thập cơ sở dữ liệu huấn luyện còn khắt khe. Do đó,
để hệ thống có thể ứng dụng trong thực tế cần phải nới lỏng hơn nữa các tiêu chuẩn
này.
1.3.2. Sử dụng mô hình Markov ẩn
Từ mấy thập kỉ trước, các mô hình Markov ẩn (HMM - Hiden Markov
Models) được tư duy như một sự mở rộng của các kĩ thuật quy hoạch động, nó trở
thành cách tiếp cận tiêu biểu cho bài toán nhận dạng tiếng nói tự động. HMM là
một kĩ thuật mô hình hóa tham số, trái ngược với giải thuật quy hoạch động không
có tham số.
HMM là một mô hình xác suất hữu hạn trạng thái theo kiểu phát sinh tiến trình
bằng cách định nghĩa xác suất liên kết trên các chuỗi quan sát. Mỗi chuỗi quan sát
được sinh ra bởi một chuỗi các phép chuyển trạng thái, bắt đầu từ trạng thái khởi



13
đầu cho đến khi thu được trạng thái kết thúc. Tại mỗi trạng thái thì một phần tử của
chuỗi quan sát được phát sinh ngẫu nhiên trước khi chuyển sang trạng thái tiếp theo.
Các trạng thái của HMM được xem là ẩn bên trong mô hình vì tại mỗi thời điểm chỉ
nhìn thấy các kí hiệu quan sát còn các trạng thái cũng như sự chuyển đổi trạng thái
được vận hành ẩn bên trong mô hình.
Một số ưu điểm khi sử dụng mô hình này là phương pháp mô tả đường biên ít
bị ảnh hưởng bởi kích thước chữ cũng như độ đậm, nhạt của nét chữ, ít bị tác động
bởi nhiễu trên đường biên. Việc sử dụng các HMM để khử nhiễu và trích chọn đặc
trưng cho kết quả tốt, với thời gian thực hiện chấp nhận được. Từ việc đặc tả được
cấu trúc, bằng kỹ thuật phân lớp và mã hoá mỗi lớp bằng một mô hình nhận dạng.
Cơ sở dữ liệu các mô hình nhận dạng có khả năng tự động loại bỏ sự dư thừa, giảm
thiểu thời gian truy xuất, đạt tốc độ tương đối tốt trong các thử nghiệm, xác suất
cao, coding đơn giản, không dùng nhiều bộ nhớ.
Hạn chế của mô hình này là các thuật toán dò biên thường rất nhạy cảm khi
chữ bị dính nét hay đứt nét, để khác phục điều này, hệ thống phải có khả năng
lường trước những nét có thể bị dính hay bị đứt để đưa ra một mẫu phụ dùng trong
trường hợp mẫu nhận dạng bị dính nét hay đứt nét. Phương pháp này chỉ cố gắng
mô tả tốt nhất cấu trúc chữ mà chưa chú ý đến kích thước, điều này khiến cho hệ
thống dễ nhầm lẫn chữ hoa và chữ thường, nhất là đối với những ký tự mà viết hoa
hay viết thường chỉ khác nhau về mặt kích thước như chữ `c` và `C`, `x` và `X`
.Nhược điểm là rất khó để phân lớp dữ liệu.
1.3.3. Sử dụng phương pháp máy véc tơ tựa
Thuật toán SVM ban đầu được tìm ra bởi Vladimir N. Vapnik và dạng chuẩn
hiện nay sử dụng lề mềm được tìm ra bởi Vapnik và Corinna Cortes năm 1995. Máy
vectơ tựa là một khái niệm trong thống kê và khoa học máy tính cho một tập hợp
các phương pháp học có giám sát liên quan đến nhau để phân loại và phân tích hồi
quy. SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào hai lớp khác nhau.

Do đó SVM là một thuật toán phân loại nhị phân
( )


14
Mô hình SVM đầu tiên được thiết kế cho bài toán phân lớp nhị phân. Ý
tưởng chính của mô hình này là tìm một siêu phẳng phân cách để tách hai lớp sao
cho khoảng cách (margin) giữa hai lớp đó đạt cực đại. Khoảng cách này được xác
định bởi các véc tơ hỗ trợ (SV – Support Vector), các SV này được lọc ra từ tập
mẫu huấn luyện bằng cách giải một bài toán tối ưu lồi.
Tuy nhiên, trong nhiều ứng dụng thời gian thực, chẳng hạn như nhận dạng
chữ viết tay thì buộc phải giải một bài toán phân nhiều lớp. Vì vậy các mô hình
SVM đa lớp cũng được nghiên cứu và phát triển để đáp ứng với các dạng bài toán
phân nhiều lớp. Có một số hướng tiếp cận để giải bài toán SVM đa lớp, nhưng hầu
hết đều được phát triển từ bài toán phân lớp nhị phân.[4]
1.4. Mô hình tổng quát của một hệ nhận dạng
1.4.1. Mô hình tổng quát
Về cơ bản, một hệ nhận dạng chữ bao gồm 5 khối công việc chính sau:
 Khối tiền xử lý.
 Khối phân đoạn, tách dòng, tách chữ.
 Khối trích chọn đặc trưng.
 Khối huấn luyện và nhận dạng.
 Khối hậu xử lý.


15

Hình 1-4 Mô hình tổng quát của một hệ nhận dạng chữ viết
1.4.2. Tiền xử lý
Đây là giai đoạn rất quan trọng, ảnh hưởng trực tiếp độ chính xác của các

thuật toán nhận dạng, tuy nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống bị
chậm lại. Vì vậy, tùy thuộc vào chất lượng quét vào của từng văn bản cụ thể để
chúng ta chọn sử dụng một hoặc một số thủ tục tiền xử lý. Nếu cần ưu tiên tốc độ
xử lý và chất lượng của máy quét cao thì ta có thể bỏ qua giai đoạn này. Tuy nhiên,
thường thì 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


16
này bao gồm: nhị phân hóa ảnh, hiệu chỉnh kích thước ảnh về kích thước chuẩn,
khử nhiễu, làm trơn biên chữ, làm dày chữ, làm mảnh chữ và xoay văn bản.
1.4.2.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 (ví dụ
“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”).


Hình 1-5 Nhị phân hóa ảnh.
1.4.2.2. Hiệu chỉnh kích thước ảnh
Phương pháp hiệu chỉnh ả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ữ 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 chuẩn. 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 luôn đảm bảo được tính cân bằng
khi co và giãn ảnh, ảnh sẽ không bị biến dạng, không bị lệch.

×