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

Nghiên cứu xây dựng và phát triển các thuật toán nhận dạng chữ viết tay

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 (2.66 MB, 92 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

TÊN ĐỀ TÀI:

NGHIÊN CỨU XÂY DỰNG VÀ PHÁT TRIỂN CÁC
THUẬT TOÁN NHẬN DẠNG CHỮ VIẾT TAY

Chuyên ngành: Kỹ thuật Điện tử

LUẬN VĂN THẠC SĨ KỸ THUẬT

Học viên: Nguyễn Duy Minh
Người hướng dẫn: TS. Nguyễn Hữu Phát

HÀ NỘI - 2018


MỤC LỤC
Lời cam đoan ............................................................................................................ 3
Danh mục các ký hiệu, các chữ viết tắt .................................................................. 4
Danh mục các bảng .................................................................................................. 5
Danh mục các hình vẽ, đồ thị .................................................................................. 6
MỞ ĐẦU ................................................................................................................... 8
CHƯƠNG 1: GIỚI THIỆU .................................................................................. 10
1.1. Mục tiêu .....................................................................................................10
1.2. Thách thức .................................................................................................10
1.3. Thực trạng triển khai..................................................................................10
1.4. Cấu trúc của luận văn.................................................................................11
CHƯƠNG 2: TỔNG QUAN VỀ NHẬN DẠNG NÓI CHUNG ........................ 12
2.1. Giới thiệu về nhận dạng nói chung ............................................................12


2.1.1. Nhận dạng mẫu..................................................................................12
2.1.2. Quy trình nhận dạng mẫu ..................................................................14
2.1.3. So sánh giữa các phương thức phân loại ...........................................20
2.2. Giới thiệu về nhận dạng chữ viết tay .........................................................21
2.2.1. Nhận dạng chữ in ..............................................................................24
2.2.2. Nhận dạng chữ viết tay......................................................................25
2.3. Các ứng dụng dựa trên nhận dạng chữ viết tay .........................................27
2.4. Kết luận chương .........................................................................................30
CHƯƠNG 3: THUẬT TOÁN NHẬN DẠNG CHỮ VIẾT TAY ....................... 31
3.1. Tiền xử lý ảnh ............................................................................................31
3.1.1. Chuyển ảnh màu sang ảnh xám .........................................................32

1


3.1.2. Làm mờ ảnh.......................................................................................33
3.1.3. Lọc ảnh sau khi làm mờ ....................................................................35
3.1.4. Nhị phân hóa .....................................................................................37
3.1.5. Lọc ảnh sau khi nhị phân...................................................................38
3.2. Phân tách từ ngữ thành các chữ cái riêng rẽ ..............................................39
3.3. Thuật toán nhận dạng các chữ cái riêng rẽ ................................................42
3.3.1. Chuẩn hóa ảnh ...................................................................................42
3.3.2. Trung tâm hóa đối tượng trong ảnh...................................................42
3.3.3. Nhận dạng các chữ cái ......................................................................44
3.4. Kết luận chương .........................................................................................58
CHƯƠNG 4: MÔ PHỎNG ĐÁNH GIÁ KẾT QUẢ .......................................... 59
4.1. Thiết lập .....................................................................................................59
4.1.1. Xây dựng chương trình .....................................................................59
4.1.2. Lấy mẫu chữ viết tay .........................................................................65
4.2. Kết quả mô phỏng ......................................................................................68

4.3. Nhận xét và đánh giá kết quả mô phỏng....................................................72
4.4. Kết luận chương .........................................................................................73
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ................................... 74
TÀI LIỆU THAM KHẢO ..................................................................................... 75
PHỤ LỤC ............................................................................................................... 77

2


Lời cam đoan
Tôi xin cam đoan các kết quả nghiên cứu trong luận văn là của riêng tôi và
chưa được cơng bố trong bất kì cơng trình nghiên cứu nào.
Hà nội, ngày 03 tháng 03 năm 2018
Học viên

Nguyễn Duy Minh

3


Danh mục các ký hiệu, các chữ viết tắt
Số thứ tự Ký hiệu, viết tắt

Tên đầy đủ

Giải thích

1

SVM


Support Vector Machine Máy vector hỗ trợ

2

ART

Adaptive Resonance

Lý thuyết cộng hưởng

Theory

thích nghi

Fuzzy Invariant Vector

Vector bất biến mờ

3

FIV

4


Danh mục các bảng
Bảng 2-1: So sánh các phương pháp phân loại .........................................................21
Bảng 4-1: Kịch bản chạy chương trình đánh giá tham số số lượng nơ-ron lớp ấn ...69
Bảng 4-2: Kết quả đánh giá số nơ-ron lớp ẩn sau 10 lần chạy .................................69

Bảng 4-3: Kịch bản chạy chương trình đánh giá tham số hệ số học.........................70
Bảng 4-4: Kết quả đánh giá hệ số học qua 10 lần chạy ............................................70
Bảng 4-5: Kịch bản chạy chương trình đánh giá kích thước một đợt đầu vào .........71
Bảng 4-6: Kết quả đánh giá kích thước một đợt đầu vào sau 10 lần chạy................71

5


Danh mục các hình vẽ, đồ thị
Hình 2-1: Quy trình nhận dạng mẫu ảnh..................................................................12
Hình 2-2: a) Ảnh gốc b) Phân tách dựa trên năng lượng Fermi c) Phân tách sử
dụng phương thức Otsu d) Phân tách sử dụng thuật toán k-means [6] ....................15
Hình 2-3: Các đặc trưng của kịch bản ngơn ngữ [11] ..............................................23
Hình 2-4: Các phân vùng của nhận dạng chữ [15]...................................................24
Hình 2-5: Quy trình số hóa tài liệu [16] ...................................................................28
Hình 2-6: Ứng dụng Handwritting Input của Google [ảnh: Google] ......................28
Hình 2-7: Ứng dụng Smart Select của Samsung (gọi điện nhanh tới số được viết
tay) .............................................................................................................................29
Hình 3-1: Ví dụ về ảnh thơ đầu vào .........................................................................32
Hình 3-2: Sơ đồ các bước tiền xử lý ảnh .................................................................32
Hình 3-3: Số chiều của ảnh sẽ giảm khi chuyển đổi sang ảnh xám .........................33
Hình 3-4: So sánh ảnh gốc và ảnh xám (a) ảnh gốc b) ảnh xám) ...........................33
Hình 3-5: Đồ thị hàm Gaussian ................................................................................34
Hình 3-6: So sánh làm mờ Gaussian và làm mờ trung bình ....................................35
Hình 3-7:Mơ tả biến đổi hình thái học: a) ảnh gốc b) ảnh qua phép xói mịn c) ảnh
qua phép trương nở [14] ............................................................................................36
Hình 3-8: Tác dụng của hàm opening [14] ..............................................................36
Hình 3-9: Sử dụng hàm opening trong đề tài (a) ảnh sau làm mờ Gausian b) ảnh
sau opening) ..............................................................................................................37
Hình 3-10: Hoạt động của thuật tốn Otsu [14] .......................................................38

Hình 3-11: Áp dụng thuật tốn Otsu vào đề tài .......................................................38
Hình 3-12: Tác dụng của hàm closing [14]..............................................................39
Hình 3-13: Áp dụng hàm closing vào đề tài ............................................................39
Hình 3-14: Mơ tả đường khung viền bao quanh các chữ cái trong ảnh ...................41
Hình 3-15: Các chữ cái được tách ra thành các ảnh riêng biệt ................................41
Hình 3-16: Co ảnh về kích thước 20x20 ..................................................................42
Hình 3-17: Minh họa trọng tâm của vật thể .............................................................43
6


Hình 3-18: Phương thức trung tâm hóa đối tượng trong ảnh ...................................44
Hình 3-19: Ví dụ chuỗi ký tự viết tay ......................................................................44
Hình 3-20: Mẫu dạy .................................................................................................45
Hình 3-21: Cách thức perceptron hoạt động [13] ....................................................46
Hình 3-22: Mạng perceptron nhiều lớp [13] ............................................................47
Hình 3-23: Phương thức học mạng [13] ..................................................................48
Hình 3-24: Đồ thị hàm sigmoid ...............................................................................49
Hình 3-25: Đồ thị hàm bước nhảy đơn vị ................................................................50
Hình 3-26: Kiến trúc mạng nơ-ron [13] ...................................................................51
Hình 3-27: Mạng nơ-ron sử dụng trong nhận dạng chữ viết tay .............................52
Hình 3-28: Đồ thị hàm C(v) có 2 biến .....................................................................53
Hình 3-29: Phương thức hoạt động của thuật toán gradient descent .......................56
Hình 4-1: Quy trình xử lý và chuẩn hóa ảnh ............................................................59
Hình 4-2: Mẫu giấy xin chữ .....................................................................................66
Hình 4-3: Hình ảnh mẫu thu thập được....................................................................67
Hình 4-4: Lưu trữ mẫu ảnh ......................................................................................67
Hình 4-5: Cơ sở dữ liệu ............................................................................................68
Hình 4-6: Các kết quả trung bình khi đánh giá số lượng nơ-ron lớp ẩn ..................69
Hình 4-7: Các kết quả khi đánh giá hệ số học .........................................................70
Hình 4-8: Các kết quả khi đánh giá kích thước một đợt đầu vào ............................72


7


MỞ ĐẦU
Trong thời gian gần đây, công nghệ phát triển mạnh mẽ đặc biệt trong lĩnh
vực trí thơng minh nhân tạo. Thị giác máy tính là một lĩnh vực liên ngành giải quyết
việc làm thế nào để máy tính có thể đạt được sự hiểu biết cấp cao từ các ảnh và
video kỹ thuật số. Từ quan điểm kỹ thuật, nó tìm cách tự động hóa các tác vụ mà hệ
thống thị giác con người có thể làm. Thị giác máy tính bao gồm các phương thức
thu nhận, xử lý, phân tích và hiểu các ảnh kỹ thuật số, và trích xuất các dữ liệu đa
chiều từ thế giới thực để cho ra các thông tin số hoặc biểu tượng. Việc phát triển
lĩnh vực này trong bối cảnh từ việc sao chép khả năng thị giác của con người cho sự
nhận diện và hiểu biết một hình ảnh kỹ thuật số của máy tính. Các lĩnh vực con của
thị giác máy tính bao gồm tái cấu trúc cảnh, phát hiện sự kiện, theo dấu trong video,
nhận dạng đối tượng, nhận dạng mẫu, ước lượng cử chỉ 3 chiều, ước lượng chuyển
động, phục hồi ảnh,…
Xét về khía cạnh khác, nhận dạng mẫu cũng là một ngành thuộc lĩnh vực học
máy. Nó nhằm phân loại dữ liệu (là các mẫu) dựa trên hoặc là kiến thức tiên nghiệm
hoặc là thông tin thống kê được trích rút từ ác mẫu có sẵn. Trong đó, nhận diện chữ
viết tay cung cấp cho máy tính khả năng phân tích và xác định các ký tự. Đây là
hướng phát triển rất có ý nghĩa và tiềm năng khi mà có thể ứng dụng trong một số
lĩnh vực như: số hóa tài liệu, đọc địa chỉ bưu cục, giúp ra lệnh rô bốt hỗ trợ con
người (đặc biệt với người khuyết tật) và nói chung là giúp chuyển đổi thông tin từ
dạng ảnh số sang dạng văn bản (text). Từ suy nghĩ đó, tơi chọn nghiên cứu và thực
hiện đề tài: “Nghiên cứu xây dựng và phát triển các thuật toán nhận dạng chữ viết
tay”, và đối tượng được sử dụng trong nghiên cứu để xác định độ chính xác của
thuật tốn là chữ viết tay trên giấy trắng.
Trong luận văn này, các thuật toán nhận dạng chữ viết tay sẽ trược trình bày,
từ việc phân tách chữ, tiền xử lý, chuẩn hóa đến nhận dạng ký tự. Các kết quả mô

phỏng, kiểm thử cũng được đề cập cùng với các sự so sánh khi thiết lập các thông
số cho mạng nơ-ron sử dụng để nhận dạng ký tự.
8


Dưới sự hướng dẫn của thầy TS. Nguyễn Hữu Phát tơi xây dựng và phát
triển các thuật tốn nhận dạng chữ viết tay. Tổng quan về nhận dạng, thực trạng
triển khai hay những cơ sở lý thuyết, các thuật toán và kết quả đạt được, cũng như
những đánh giá cải tiến sẽ được trình bày trong luận văn trong những phần kế tiếp
Tôi xin chân thành cảm ơn thầy TS. Nguyễn Hữu Phát đã giúp đỡ và chỉ dẫn
cho tôi để tơi có thể hồn thành luận văn này. Tơi cũng cảm ơn gia đình, bạn bè đã
ln ủng hộ giúp đỡ, động viên tơi trong q trình nghiên cứu cũng như thực hiện
luận văn này.

9


CHƯƠNG 1: GIỚI THIỆU
1.1. Mục tiêu
Với những tiềm năng phát triển của học máy, thị giác máy tính, cụ thể hơn là
nhận dạng mẫu, mục tiêu của đề tài là khai thác một nhánh nhỏ trong bài tốn nhận
dạng. Đó là nhận dạng chữ, ký tự viết tay. Đề tài tập trung vào nghiên cứu và phát
triển các thuật toán nhận dạng chữ viết tay. Thông tin sẽ được chuyển qua dạng số
bằng việc sử dụng camera chụp lại các chữ viết tay. Sau đó các ảnh thu được sẽ
được xử lý và đưa vào nhận dạng để được thông tin dưới dạng văn bản (text).

1.2. Thách thức
Việc xác định và trích xuất thơng tin viết tay vẫn là thách thức trong việc xử
lý quét. Lý do của những thách thức này có rất nhiều, khách quan cũng như chủ
quan đối với người viết:

 Chất lượng giấy kém
 Chất lượng máy ảnh kém
 Chữ viết bị nghiêng quá nhiều
 Độ dày nét bút không đều nhau
 Các chữ cái nối với nhau
 Thậm chí có những chữ cái có thể viết gần giống nhau như ‘e’ với ‘c’, ‘l’,
‘r’ với ‘v’.
 Ngoài ra, thiếu các cơ sở dữ liệu mẫu, phải tự xây dựng.

1.3. Thực trạng triển khai
Vì phải đối mặt với rất nhiều thách thức, nên thực trạng triển khai không
nhiều trên thế giới cũng như trong nước. Các bài toán nhận dạng chữ chủ yếu khai
thác văn bản chữ in với độ chính xác rất cao, ví dụ như phần mềm FineReader 14
của ABBYY hỗ trợ đến 192 ngôn ngữ, hỗ trợ rất nhiều định dạng khác nhau. Ở Việt
Nam cũng có phần mềm nhận dạng chữ Việt của phịng nhận dạng và cơng nghệ tri

10


thức – Viện công nghệ thông tin Hà Nội. Phần mềm VnDOCR 4.0 nhận dạng chữ in
từ nhiều loại sách báo, định dạng (BMP, GIF, JPG,…) với độ chính xác khoảng
98%.
Tuy nhiên chữ viết tay vẫn còn là thách thức rất lớn khi phải phụ thuộc rất
nhiều vào người viết.

1.4. Cấu trúc của luận văn
Với những yêu cầu và mục tiêu đã đề ra ở trên, cấu trúc của luận văn sẽ bao
gồm các nội dung sau đây:
Chương 1: Giới thiệu
Chương 2: Tổng quan về nhận dạng nói chung

Chương 3: Thuật tốn nhận dạng chữ viết tay
Chương 4: Mơ phỏng đánh giá kết quả

11


CHƯƠNG 2: TỔNG QUAN VỀ NHẬN DẠNG NÓI
CHUNG
2.1. Giới thiệu về nhận dạng nói chung
2.1.1. Nhận dạng mẫu
Nhận dạng mẫu đang trở thành phổ biến và quan trọng với chúng ta, nó đem
lại sự hấp dẫn, chú ý từ các lĩnh vực rộng hơn. Các bước xử lý chung của nhận
dạng mẫu được thảo luận, đầu tiên là từ bước tiền xử lý, sau đó là trích xuất đặc
trưng, và cuối cùng là phân loại. Một số phương pháp đã được sử dụng cho mỗi
bước chẳng hạn như phân đoạn, loại bỏ nhiễu trong tiền xử lý, biến đổi wavelet
Gabor cho trích xuất đặc trưng, Support Vector Machines (SVM) cho phân loại,…
Một vài phương pháp nhận dạng mẫu và ứng dụng của nó sẽ được trình bày.

Tiền xử lý

Trích xuất đặc trưng

Phân loại

Hình 2-1: Quy trình nhận dạng mẫu ảnh
Nhận dạng mẫu có thể được coi như là một tiến trình phân loại. Mục tiêu
cuối cùng của nó là trích xuất các mẫu dựa trên một số điều kiện nhất định và sau
đó phân biệt một nhóm từ các nhóm khác. Ứng dụng của nhận dạng mẫu có thể tìm
thấy ở mọi nơi, ví dụ như: phân loại bệnh tật, kiểm duyệt dấu vân tay, nhận diện
giọng nói, nhận diện khuôn mặt, ... Thiết kế một hệ thống nhận dạng mẫu nên xem

xét miền ứng dụng của nó.
Tiền xử lý ảnh là một bước quan trọng trong tất cả các hệ thống nhận dạng
mẫu để cải thiện hiệu suất. Nó có vai trị trích xuất lấy vùng cần thiết từ ảnh nền, áp
dụng thêm các thuật toán lọc nhiễu, làm trơn mịn, chuẩn hóa ảnh về dạng ít phụ
thuộc vào thay đổi của mơi trường nhất.
Trích xuất đặc trưng là bước quan trọng trong nhận dạng mẫu bất biến. Nói
chung, một đặc trưng tốt phải thỏa mãn các yêu cầu sau đây. Một, sự sai khác trong

12


một nhóm (class) phải nhỏ, điều đó có nghĩa là đặc trưng có được từ các mẫu khác
nhau trong cùng một nhóm phải càng gần giống nhau. Hai, sự sai khác giữa các
nhóm khác nhau phải lớn, đặc trưng lấy từ các mẫu trong các nhóm khác nhau phải
khác biệt đáng kể. Vấn đề chính liên quan đế nhận dạng mẫu là số chiều của dữ
liệu. Có hai lý do giải thích cho việc số chiều của vector đặc trưng khơng thể q
lớn: độ phức tạp tính tốn sẽ cao, và hiệu năng sẽ giảm. Đề giảm chiều của vector
đặc trưng có hai cách tiếp cần khác nhau. Một là loại bỏ các thành phần nhất định
và giữ nguyên phần đại diện ý nghĩa nhất, gọi là chọn đặc trưng. Một cách khác là
trích xuất đặc trưng, mà ở đó vector đặc chưng sẽ được biến đổi sang một dạng khác
có số chiều nhỏ hơn. Hơn nữa, ở những hệ thống tốt, đặc trưng khơng nên phụ
thuộc vào kích thước, hướng và vị trí của mẫu. Để làm được điều này chúng ta cần
sử dụng các phép dịch, xoay, co dãn giữ nguyên tỉ lệ. Việc chọn cách trích xuất đặc
trưng sao cho nó có tính phân biệt và độc lập là chìa khóa cho bài tốn nhận dạng
thành cơng. Một số đặc trưng có thể được sử dụng: màu sắc, hình dạng, kích thước,
cấu tạo, vị trí, đường nét,…Bên cạnh đó cũng tồn tại rất nhiều thuật tốn trích xuất
đặc trưng như phân tích thành phần chính khơng tuyến tính (tiếng Anh: nonliner
principal components analysis), phân tích thành phần chính (tiếng Anh: principle
components analysis), biến đổi Fourier (tiếng Anh: Fourier transform), biến đổi
Radon (tiếng Anh: Radon transform),…[4]

Sau bước trích xuất đặc trưng, việc phân loại được thực hiện. Bước này cho
phép chúng ta nhận diện một đối tượng hoặc một mẫu bằng sử dụng một vài đặc
trưng có được từ các bước trước đó. Trong đó chúng ta cố gắng gán mỗi giá trị đầu
vào của vector đặc trưng vào một lớp trong một tập các lớp được đưa ra. Lấy ví dụ
trong nhận diện khn mặt, khi xác định liệu rằng có khn mặt trong bức ảnh hay
khơng, vấn đề sẽ là phân loại một khuôn mặt hoặc khơng có khn mặt. Các lớp
hay nhóm là một tập các mẫu có các vector đặc trưng gần giống nhau. Nhận dạng
mẫu thông thường được phân loại theo kiểu học được sử dụng để sinh đầu ra trong
bước này. Học có giám sát (tiếng Anh: supervised learning) giả thiết rằng chúng ta
có một tập dữ liệu dạy được đánh nhãn tương ứng với đầu ra mong muốn. Thuật
13


tốn học có giám sát phân tích dữ liệu dạy và tạo ra một hàm suy luận, hàm này
được sử dụng để ánh xạ một mẫu mới. Yêu cầu của thuật tốn là tổng qt hóa dữ
liệu dạy để có thể dự đốn được những tình huống chưa gặp phải theo một cách hợp
lý nhất. Học không giám sát giả thiết rằng chúng ta có một tập dữ liệu dạy khơng
được đánh nhãn, và cố gắng tìm ra các mẫu cố hữu trong dữ liệu mà có thể sử dụng
được để xác định đầu ra đúng cho một dữ liệu đầu vào mới. Hai tác vụ có thể thực
hiện với học khơng giám sát là phân nhóm dữ liệu thành các nhóm mà ở đó có sự
tương đồng và giảm số chiều dữ liệu qua đó nén dữ liệu trong khi vẫn giữ được cấu
trúc và giá trị của dữ liệu. Các kỹ thuật phân loại có thể là Support Vector Machine
(SVM), mạng nơ-ron (Neural networks), K-nearest neighbor, Fuzzy ART, Markov
random file models, CLAss-Featuring Information Compressing (CLAFIC),…
2.1.2. Quy trình nhận dạng mẫu
Nhận dạng mẫu đã được phát triển trong nhiều năm nay. Nó bao gồm rất
nhiều các phương thức thúc đẩy sự phát triển của một loạt các ứng dụng trong các
lĩnh vực khác nhau. Các thành phần cơ bản trong nhận dạng mẫu là tiền xử lý, trích
xuất đặc trưng, và phân loại. Khi một tập dữ liệu được yêu cầu, nó được tiền xử lý
để mà phù hợp với các cơng đoạn sau đó. Bước tiếp theo mà trích xuất đặc trưng

chuyển đổi tập dữ liệu sang một tập các vector đặc trưng đại diện cho dữ liệu gốc.
Những đặc trưng này được sử dụng trong bước phân loại để phân biệt dữ liệu thành
các lớp khác nhau phụ thuộc vào bài toán.
2.1.2.1. Tiền xử lý
Như đã đề cập ở trên, tiền xử lý ảnh là bước rất được quan tâm trong mọi hệ
thống nhận dạng để cải thiện hiệu năng. Nó được sử dụng để giảm các biến thể và
tạo ra một bộ dữ liệu nhất quán hơn. Tiền xử lý ảnh có thể bao gồm lọc nhiễu, làm
trơn mịn, chuẩn hóa ảnh từ các điều kiện ánh sáng khác nhau. Ngoài ra, phân tách,
phân mảnh ảnh cũng được thực hiện trong giai đoạn này, tác dụng thông thường là
để xác định và khoanh vùng đối tượng. Qua đó, phân tách đối tượng là một cách
chuyển đổi ảnh sang một đại diện có ý nghĩa hơn và dễ dàng phân tích hơn. Trong

14


một số ứng dụng, việc phân tách các mẫu quan tâm trong ảnh gốc khỏi nền là rất
quan trọng.

Hình 2-2: a) Ảnh gốc b) Phân tách dựa trên năng lượng Fermi c) Phân tách sử
dụng phương thức Otsu d) Phân tách sử dụng thuật toán k-means [6]

Rất nhiều phương thức có thể sử dụng để phân tách ảnh, phương thức phân
tách dựa trên năng lượng Fermi (Fermi energy-based segmentation) cho chúng ta
khả năng xác định các vùng đặc biệt bằng sử dụng các thành phần màu sắc trong
ảnh, năng lượng tại mỗi điểm ảnh sẽ được tính tốn và so sánh với một giá trị
ngưỡng. Bên cạnh đó cịn có các phương thức Otsu, hay thuật tốn k-means.
2.1.2.2. Trích xuất đặc trưng
Như đã đề cập trước đó, trích xuất đặc trưng được sử dụng để khắc phục vấn
đề số chiều quá lớn của tập mẫu đầu vào trong việc nhận dạng. Do đó, dữ liệu đầu
vào sẽ được chuyển đổi sang một dạng có số chiều ít hơn đại diện là các vector đặc

trưng. Chỉ những thơng tin thích hợp từ dữ liệu đầu vào được trích xuất để làm đại
diện thay vì sử dụng dữ liệu gốc. Và hiện tay tồn tại rất nhiều phương thức giúp
thực hiện việc này.

15


 Biến đổi Fourier
Biến đổi Fourier có khả năng phân tích tín hiệu trong miền tần số. Một sự
dịch chuyển của một hàm chiều hoặc hai chiều không ảnh hưởng đến độ lớn của hệ
số Fourier (thuộc tính dịch), nhưng một sự xoay của một hàm sẽ xoay sự biến đổi
Fourier một góc tương ứng (thuộc tính xoay). Nó được sử dụng để loại bỏ hiệu ứng
dịch vòng trong miền đặc trưng bằng việc lấy cường độ phổ của các hệ số Fourier
rồi sau đó trích xuất các vector đặc trưng không biến đổi theo chiều xoay[2].
 Biến đổi Radon
Biến đổi Radon là một ánh xạ từ các tọa độ (x,y) trong hệ tọa độ Đề-các sang
khoảng cách và một góc hay cịn gọi là tọa độ cực. Sử dụng biến đổi Radon trên
một ảnh đại diện bằng hàm f(x,y) cho một tập các góc có thể được coi là tính tốn
sự chiếu xuống của hình ảnh dọc theo các góc đó. Các hình chiếu thu được là tổng
của cường độ các điểm ảnh theo mỗi hướng. Biến đổi này có thể bắt được hiệu quả
các đặc trưng hướng trong một mẫu ảnh bằng việc chiếu mẫu ảnh đó lên các mặt
định hướng khác nhau. Ngoài ra, biến đổi Radon cũng có thể được thực hiện trong
miền Fourier[2].
 Biến đổi Gabor wavelet
Biến đổi Gabor wavelet là biến đổi được xây dựng dựa trên biến đổi wavelet,
có thể sử dụng cho trích xuất đặc trưng. Biến đổi này cung cấp giải pháp tối ưu cho
cả miền thời gian và miền tần số cho các phân tích thời gian-tần số. Biến đổi nãy
cũng có nền tảng tối ưu cho trích xuất các đặc trưng cục bộ cho nhận dạng mẫu và
nó có ba sự thúc đẩy: sinh học, toán học và thực nghiệm. Do sự tương đồng sinh
học với hệ thống thị giác con người, biến đổi Gabor wavelet được sử dụng rộng rãi

trong các ứng dụng nhận dạng đối tượng. Với một tập các Gabor wavelet được chọn
các tham số ban đầu, một cách tiếp cận thơng thường để trích xuất đặc trưng là xây
dựng một vector đặc trưng bằng kết nối các thành phần bên trong của một bức ảnh
với mỗi wavelet. Thay vì tìm kiếm một tập các Gabor wavelet xấp xỉ ảnh đã cho,
16


chúng ta tìm các Gabor wavelet được hiệu chỉnh để phân biệt một đối tượng với
những đối tượng khác. Điều này làm giảm tính tốn và bộ nhớ sử dụng. Các thuật
tốn tăng tốc có thể được sử dụng để lựa chọn chỉ những Gabor wavelet thích hợp,
chúng có những mục tiêu trong lựa chọn một số lượng các phân loại yếu để tổng
hợp thành một phân loại mạnh mẽ hơn[5].
 Vector bất biến mờ – Fuzzy invariant vector
Khi một vector đặc trưng bất biến được trích xuất, sau đó được chuyển đổi
sang vector bất biến mờ. Việc chuyển đổi này có thể tăng tính phân biệt và làm
giảm tác động của nhiễu tần số thấp. Vector bất biến mờ được tính tốn sử dụng các
số mờ. Thơng thường, phổ năng lượng của một mẫu đầu vào được tính tốn với
biến đổi Fourier sẽ có rất ít các tần số chính, sẽ ảnh hưởng đến việc phân biệt các
mẫu. Với vector bất biến mờ, mọi sóng hài (tiếng Anh: harmonic) của một mẫu đầu
vào đều có phân bố tương tự nhau và một đặc trưng, cái cho sự phân biệt tốt hơn
vector bất biến gốc. Thêm vào đó, khi thêm nhiễu tần số thấp vào ảnh, một vài sóng
hài cho thấy giá trị cao hơn hoặc nhỏ hơn dải bình thường trong phổ năng lượng của
mẫu. Với một hàm mờ, năng lượng của mỗi hài của mẫu đầu vào được ánh xạ giống
hệt nhau đến một vài số mờ, những giá trị này được ánh xạ đến 1 hoặc 0. Do đó ảnh
hưởng của nhiễu tần số thấp được lược giảm đi.
2.1.2.3. Phân loại
Trong quá trình tiến hành phân loại, hệ thống sử dụng các đặc trưng đã trích
xuất trong giai đoạn trước từ mỗi mẫu để nhận dạng chúng và phân loại chúng vào
các lớp thích hợp. Bộ phân loại chứa các hiểu biết về mỗi loại mẫu, cũng như tiêu
chí, số liệu để phân biệt các mẫu về các lớp khác nhau, là các bộ phân loại thuộc

nhóm học có giám sát. Loại học khơng có giám sát, ở đó các tham số được thay đổi
thích nghi bằng việc chỉ sử dụng thông tin của đầu vào, ràng buộc bởi các quy luật
nội bộ được quy định trước, các bộ phân loại thuộc loại này cố gắng tìm các mẫu cố
hữu trong dữ liệu có thể sử dụng được để tìm đầu ra đúng khi đầu vào là mới.

17


 Lý thuyết cộng hưởng thích nghi mờ - Fuzzy ART
Mạng nơ-ron lý thuyết cộng hưởng thích nghi mở có thể được sử dụng như
một bộ phân loại vector không có giám sát. Lý thuyết cộng hưởn thích nghi mờ
tương thích với bộ não con người trong việc xử lý thơng tin, nó có khả năng học và
nhớ một lượng lớn các khái niệm theo cách thức mà không nhất thiết dẫn tới sự tồn
tại những thứ sẽ bị lãng qn. Lý thuyết cộng hưởng thích nghi mờ có khả năng
phân loại các vector đầu vào giống nhau. Ngoài ra nó có thể thích nghi tạo ra một
cái mới tương ứng với một mẫu đầu vào nếu nó khơng giống với bất kỳ loại hiện có
nào. ART1 là mơ hình đầu tiên của ART có thể học ổn định làm thế nào để phân
loại mẫu đầu vào nhị phân được thể hiện theo trình tự tùy ý. Lý thuyết các tập mờ
có thể bắt chước q trình suy nghĩ sâu, rộng của con người. Do đó mơ hình lý
thuyết cộng hưởng mờ kết hợp các tính tốn từ lý thuyết tập mờ vào mạng nơ-ron
ART1, có khả năng học nhanh với những chuỗi tùy ý của các mẫu đầu vào là tương
tự hoặc nhị phân. Ngưỡng nhận dạng là một tham số ảnh hưởng đến hiệu năng của
Fuzzy ART, nó được đánh giá qua tỉ lệ nhận dạng. Sự kết hợp Fuzzy ART và Vecto
bất biến mờ (FIV) mang lại hiệu quả cao.
 Mạng nơ-ron
Cách tiếp cận mạng nơ-ron áp dụng các khái niệm sinh học vào trong máy
tính để nhận dạng mẫu. Đây là một cơng cụ mạnh có hiệu năng cao trong bài toán
nhận dạng. mạng nơ-ron nhân tạo được xây dựng dựa trên những hiểu biết về sinh
lý của bộ não con người. Mạng nơ-ron bao gồm một loạt các đơn vị liên kết khác
nhau, nó là một ánh xạ giữa tập đầu vào và tập đầu ra. Vì vấn đề phân loại là ánh xạ

từ khơng gian đặc trưng đến một vài tập đầu ra, chúng ta có thể chính thức hóa
mạng nơ-ron, đặc biệt mạng nơ-ron hai lớp là một bộ phân loại. Mặc dù phương
pháp thông thường là chọn một mạng tốt nhất trong số các mạng ứng viên, tuy
nhiên cách tiếp cận tốt hơn là giữ nhiều mạng và chạy chúng với một chiến lược
thích hợp. Nhiều mạng kết hợp cho kết quả cao hơn. Ý tưởng cơ bản của việc sử
dụng nhiều mạng là để phát triển N mạng nơ-ron được dạy độc lập với các đặc
18


trưng liên quan và để phân loại một mẫu đầu vào bằng sử dụng kết hợp các phương
pháp để phân loại tập hợp. Một phương thức lai có thể được sử dụng để kết hợp các
mạng, cung cấp một phương tiện hiệu quả để xác định các tham số trọng số tối ưu,
sau đó nhân với đầu ra của mạng (được coi như các hệ số). Nó xem xét sự khác
nhau hiệu năng giữa các mạng để tổ hợp các mạng. Nơ-ron có giá trị lớn nhất sẽ
tương ứng với lớp phân loại. hai cách tiếp cận chung cho tổ hợp nhiều mạng nơ-ron
là kỹ thuật tổng hợp nơi mà việc phân loại một giá trị đầu vào phụ thuộc vào một
tập các phép đo giá trị trực; hoặc kỹ thuật bỏ phiếu xem xét kết quả của mỗi mạng
như là đánh giá của chuyên gia.
 Trường ngẫu nhiên Markov
Các mơ hình trường ngẫu nhiên Markov có bản chất đa chiều, để nhận dạng
mẫu, chúng tổ hợp các thông tin thống kê và thông tin cấu trúc. Các trạng thái được
sử dụng để mơ hình các thơng tin thống kê và các mối quan hệ giữa các trạng thái
được sử dụng để đại diện cho thông tin về cấu trúc. Chỉ các tập trạng thái tốt nhất
nên được xem xét. Các hàm năng lượng tồn cục hợp lý nhất có thể được viết lại
với hai phần, một được sử dụng để mơ hình thơng tin cấu trúc (thơng tin được bô tả
bởi mối quan hệ giữa các trạng thái), phần cịn lại mơ hình thơng tin thống kê bởi vì
nó là xác suất đầu ra của một quan sát và trạng thái. Q trình nhận dạng là để tối
hiểu hóa hàm năng lượng hợp lý (likelihood energy function), hàm tổng của các
hàm đơn[1].
 Máy vector hỗ trợ - Support vector machine

Bộ phân loại máy vector hỗ trợ (SVM) đã được chứng minh là rất thành công
trong nhiều ứng dụng. Sức mạnh của SVM là khả năng xử lý không chỉ dữ liệu có
thể phân chia tuyến tính mà cịn dữ liệu có thể phân chia khơng tuyến tính bằng sử
dụng các hàm hạt nhân (kernel functions). Hàm hạt nhân có thể ánh xạ các mẫu dạy
trong không gian đầu vào tới một không gian đặc trưng để mà các mẫu dạy được
ánh xạ này là có thể phân chia tuyến tính. Các hạt nhân SVM được sử dụng thường

19


xuyên là: đa thức, hàm cơ sở Gaussian radial, hàm cơ bản mũ, hàm nội suy spline,
wavelet và tự tương quan wavelet[5][3]. Về mặt lý thuyết, các đặc trưng có số chiều
bất kỳ có thể được cho vào SVM để dạy, nhưng thực tế, các đặc trưng có số chiều
lớn khi đưa vào SVM sẽ phải trả giá lượng tính toán và bộ nhớ lớn trong việc dạy
và phân loại. Do đó trích xuất đặc trưng và chựa chọn đặc trưng là một bước quan
trọng trước khi phân loại SVM.
 Máy vector hỗ trợ nhiều lớp – Multi-class SVM
Hệ thống đa bộ phân loại dựa trên SVM sử dụng cho nhận dạng mẫu nhằm
mục đích đạt được độ chính xác phân loại cao hơn các bộ phân loại đơn lẻ. Tổ hợp
các bộ phân loại có khả năng bổ sung cho các lỗi do các bô phân loại riêng rẽ tạo ra
trên các phần khác nhau của không gian đầu vào. Chiến lược tổ hợp này dựa trên
chồng chất tổng hợp, nó bao gồm cấu trúc hai cấp: cấp cơ sở, siêu câp (meta-level).
Cấp cơ sở là một mô-đun của N loại bộ phân loại dựa trên SVM được dạy bở N tập
đặc trưng. Siêu cấp là một mô-đun của bộ phân loại có quyết định dựa trên SVM
được dạy bởi tập đặc trưng được tạo ra bằng cơ chế dung hợp dữ liệu. Ý tưởng
chính của việc xếp chồng là để tổ hợp các bộ phân loại theo các nguồn dạy khác
nhau. Một khi các bộ phân loại được tạo ra, chúng phải được tổ hợp. Trong phân
loại nhiều lớp, rất nhiều phương thức được sử dụng, một trong số đó là phương thức
một chống lại tất cả (one-against-all), khi số lớp là N, phương thức này xây dựng N
bộ phân loại SVM, mỗi bộ phân loại một lớp dương và N-1 lớp âm.

2.1.3. So sánh giữa các phương thức phân loại
Bảng dưới đây tóm tắt các đặc tính của lý thuyết cộng hường thích nghi mờ
(Fuzzy ART), trường ngẫu nhiên Markov, mạng nơ-ron, SMV hay SVM đa lớp.
Mỗi phương thức có đặc điểm và lợi thế riêng. Tùy vào mỗi ứng dụng, một phương
pháp hiệu quả, phù hợp sẽ được sử dụng.

20


Bảng 2-1: So sánh các phương pháp phân loại
Phương thức phân loại
Fuzzy ART

Đặc trưng
Có khả năng học nhanh, ổn định để nhận dạng các chuỗi
đầu vào tương tự hoặc nhị phân tùy ý.
Khả năng chống chiễu cao.
Cần tìm mức ngưỡng tối ưu.

Mạng nơ-ron

Có khả năng hình thành các vùng quyết định phức tạp.
Khả năng phân biệt mạnh mẽ.
Khả năng học và đại diện hiểu biết ngầm.
Có thể tổ hợp nhiều mạng.

Trường ngẫu nhiên

Bản chất đa chiều.


Markov

Các thông tin thống kê, cấu trúc được tổ hợp.

SVM

Xử lý dữ liệu có thể phân chia khơng tuyến tính.
Có thể xử lý hiệu quả số lương rất lớn các đặc trưng.
Bất kỳ giải pháp cục bộ cũng là tối ưu toàn cục.

SVM đa lớp

Linh hoạt, mềm dẻo.
Khả năng tổng quá hóa tốt trong khi tránh quá tải.
Độ chính xác cao so với các bộ phân loại riêng rẽ.
Bổ sung cho các lỗi từ các bộ phân loại riêng rẽ.

2.2. Giới thiệu về nhận dạng chữ viết tay
Trong vài thập kỷ qua, với sự tiến bộ của cơng nghệ, các máy tính tương tác
nhiều hơn, hiệu quả hơn với con người và thế giới tự nhiên, ví dụ như: nhận diện
giọng nói, chữ viết tay, cử chỉ,… Tuy nhiên, con người vượt trội so với máy móc
trong nhận dạng mẫu. Một số nhiệm vụ nói chung là dễ dàng với con người chẳng
hạn như nhận dạng giọng nói ở tần số cao, tốc dộ cao, nhận diện mùi hương của
hoa, xác định ký tự,….Nhưng những bài tốn cảm nhận này lại rất khó cho máy tính
bởi vì dữ liệu hỗn hợp lớn và thơng tin ẩn trong mỗi loại mơ hình.

21


Nhận dạng chữ viết tay là một phân vùng trong nhận dạng mẫu, cho phép

máy có thể phân tích và xác định ký tự. Trong sự tò mò để hiểu và khám phá bí mật
về cách con người có thể nhận ra các mẫu hình, nhiều nỗ lực cố gắng trong lĩnh vực
này để bắt chước hành vi của con người. Nhận dạng ký tự viết tay là một ví dụ, ở đó
chữ viết tay được sử dụng để tạo ra thông tin giao tiếp qua các biểu tượng trên một
bề mặt nào đó. Kể từ rất lâu rồi, giấy đã được sử dụng là bề mặt phổ biến để viết.
Trước sự tiến bộ của công nghệ, hiện nay một bề mặt mới được tạo ra. Đó là màn
hình cảm ứng cảm nhận độ nhạy áp lực lên bề mặt. Trên cơ sở bề mặt được sử
dụng, công nghệ nhận dạng chữ viết tay được chia làm hai loại: trực tuyến và ngoại
tuyến.
Quá trình chuyển đổi trong lĩnh vực máy tính cá nhân từ máy để bàn cho đến
thiết bị cầm tay, nó địi hỏi một sự thay đổi trong cách thức nhập phù hợp với một
tay hơn là bàn phím. Nhận dạng chữ viết tay trực tuyến cho phép các phương thức
đầu vào như vậy. Trong nhận diện chữ viết tay trực tuyến, các từ được viết trên mộ
bề mặt cảm ứng, cho thông tin thời gian thực, chẳng hạn như thứ tự của nét chữ của
người viết được thu nhận và lưu trữ dưới dạng tọa độ hai chiều của các điểm liên
tiếp nhau. Máy tính có thể lưu trữ một lượng rất lớn thông tin chỉ trong một con
chip nhỏ, do đó giảm thiểu khơng gian lưu trữ. Tuy nhiên, dữ liệu lớn trên thế giới
vẫn tồn tại trên giấy, như những tài liệu lịch sử quan trọng, sách, hồ sơ,… Việc
chuyển đổi yêu cầu chuyển thông tin văn bản trên giấy sang lưu trữ dưới dạng điện
tử. Q trình này gọi là số hóa. Lợi ích của số hóa bao gồm giảm khơng gian lưu
trũ, dễ dàng sửa đổi, tìm kiếm nhanh, truy xuất nhanh hơn, suy luận các thơng tin
mới từ dữ liệu hiện có.
Có hai cách thơng thường cho việc số hóa: một là nhập liệu dữ liệu có sẵn
trên giấy một cách thủ công bằng sức người, hai là sử dụng các thiết bị điện tử như
máy quét. Trong cách tiếp cận cũ, nơi con người tiến hành số hóa, nó địi hỏi rất
nhiều cơng sức từ con người, chi phí cho việc nhập liệu bằng tay là rất lớn. Trong
khi đó, sử dụng máy móc trong q trình số hóa sẽ chuyển đổi một mảnh giấy sang

22



một định dạng điện tử-ảnh. So sánh hai cách tiếp cận này, cách một có lợi thế khi
dữ liệu có thể được cập nhật dễ dàng trong quá trình nhập nếu có thay đổi nhưng
hạn chế về thời gian, cơng sức. Cách hai có lợi thế khi lưu trữ dưới dạng ảnh, có
thể chuyển đổi sang dạng văn bản chỉnh sửa được, qua đó dễ dàng trong việc tìm
kiếm, xóa bỏ, cập nhật thơng tin.
Chuyển đổi hình ảnh thành dạng văn bản chỉnh sửa được đòi hỏi phải định
danh các ký tự từ ảnh đầu vào có được sau khi số hóa thơng tin từ giấy, chúng ta gọi
là nhận dạng ký tự ngoại tuyến. Chữ có sẵn trên giấy có thể là viết tay hoặc in máy.
Trong nhận dạng chữ viết tay ngoại tuyến, thông tin là tĩnh. Nhận dạng chữ viết tay
ngoại tuyến là quá trình tìm kiếm các chữ cái, từ ngữ trong ảnh. Khả năng nhận
dạng chữ viết tay là một thách thức nghiên cứu vì sự biến đổi của một loạt các tham
số. Các thuật tốn nhận dạng ký tự khác nhau bởi vì thực tế rằng, mặc dù tài liệu
được viết với chỉ một bộ ngơn ngữ nhưng có rất nhiều yếu tố ảnh hưởng đến việc
nhận dạng. Có thể kể ra như sau: bộ tiêu chuẩn các chữ cái (tiếng Anh, tiếng
Việt,…), quy định về hướng viết (từ trái qua phải, từ phải qua trái, từ trên xuống
dưới,…), hay kịch bản viết (cẩu thả, nghiêng, cách điệu,…)[8].
Tập chữ cái

Tiếng Anh (A-Z, a-z)
Ả rập
Từ trái qua phải theo
phương ngang

Đặc trưng bản thảo
ngôn ngữ

Từ phải qua trái theo
phương ngang
Hướng viết

Từ trên xuống, trái qua
phải
Từ trên xuống, phải qua
trái
Tính chất của
kich bản viết

Viết cong, khơng cong, ký
tự sửa đổi, tiêu đề dịng

Hình 2-3: Các đặc trưng của kịch bản ngôn ngữ [11]

23


Để chi tiết hơn về sự khác nhau giữa nhận dạng chữ in và chữ viết tay, phần
dưới đây sẽ nói về hai loại này.

Hình 2-4: Các phân vùng của nhận dạng chữ [15]
2.2.1. Nhận dạng chữ in
Nếu một tài liệu chữ in được quét và chuyển đổi thành dạng ảnh, việc tìm
kiếm thơng tin từ đó là khơng thể. Do đó việc chuyển đổi sang dạng chỉnh sửa được
là vấn đề cần nghiên cứu.
Các công cụ nhận dạng chữ in sẽ chuyển đổi ảnh sang văn bản định dạng
Unicode hoặc ASCII. Nhận dạng chữ in là dễ dàng hơn so với chữ viết tay, vì tất cả
mỗi ký tự đều giống nhau xuyên suốt văn bản từ hình dạng, kiểu cách, kích thước.
Tuy nhiên, vấn đề đặt ra là sẽ phải có hai bộ nhận dạng cho hai loại văn bản chữ in
sử dụng một phông chữ, hoặc nhiều phông chữ.
Văn bản sử dụng một phông chữ sẽ rất dễ dàng cho việc nhận dạng vì mỗi ký
tự đều giống nhau trong toàn bộ văn bản.


24


×