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

Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn

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.97 MB, 90 trang )



BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC LẠC HỒNG
***


NGUYỄN MINH TRIẾT



NGHIÊN CỨU NHẬN DẠNG CHỮ VIẾT
TAY MÔ HÌNH MARKOV ẨN

Chuyên ngành : CÔNG NGHỆ THÔNG TIN
Mã số: 60.48.02.01


Luận văn thạc sĩ Công nghệ thông tin


NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. VŨ ĐỨC LUNG






Đồng Nai – Năm 2013


LỜI CẢM ƠN




Để hoàn thành luận văn “ Nhận diện chữ viết tay bằng mô hình Markov ẩn ”
ngoài sự cố gắng của bản thân, bên cạnh đó có sự giúp đỡ của bạn bè và nhất là sự giúp
đỡ nhiệt tình của thầy hướng dẫn TS Vũ Đức Lung, em xin cảm ơn thầy và các bạn đã
hổ trợ trong suốt thời gian qua để hoàn thành luận văn, tuy nhiên do kiến thức và thời
gian có giới hạn nên đề tài này khó tránh khỏi sai sót, kính mong thầy cô và các bạn
đóng góp thêm để chương trình hoàn chỉnh hơn .
Em xin chân thành cảm ơn !

LỜI CAM
ĐOAN








Tôi xin cam đoan đây là đề tài nghiên cứu do tôi thực
hiện.

Nghiên cứu lý thuyết, chƣơng trình và kết luận nghiên cứu trình bày trong
luận văn chƣa từng đƣợc công bố ở các nghiên cứu khác.
Tôi xin chịu trách nhiệm về nghiên cứu của mình.



Học viên


Nguyễn Minh Triết

MỤC LỤC


CHƢƠNG I : GIỚI THIỆU ĐỀ TÀI 3
1.1 Giới thiệu về nhận dạng chữ viết tay 3
1.1.1 Các giai đoạn phát triển 3
1.1.2 Tình hình nghiên cứu trong nƣớc 4
1.1.3 Tình hình nghiên cứu ở nƣớc ngoài 5
1.2 Cách tiếp cận giải quyết bài toán 5
1.3 Tổng quan về các phƣơng pháp huấn luyện 6
1.3.1 Mô hình Markov ẩn 6
1.3.2 Máy vector hỗ trợ 8
1.3.3 Mạng Neural 11
1 4 Phạm vi đề tài 11
CHƢƠNG II : CƠ SỞ LÝ THUYẾT VỀ TIỀN XỬ LÝ ẢNH
VÀ TRÍCH CHỌN ĐẶC TRƢNG 13
2.1 Tổng quan về tiền xử lý ảnh 13
2.2 Các công đoạn tiền xử lý 13
2 2.1 Chuyển xám ảnh. 14
2 2.2 Phân ngƣỡng ảnh (Nhị phân ảnh) 15
2 2.3 Nhiễu ảnh 17
2 2.4 Một số phƣơng pháp lọc nhiễu 17
2 2.4.1 Bộ lọc Mean 18
2.2.4.2 Bộ lọc Gauss 19

2.2.4.3 Bộ lọc Median 19
2.2.5 Chỉnh nghiên ảnh 20
2.2.6 Làm trơn ảnh, tách biên đối tƣợng 21
2.2.7 Biên và các kiểu biên cơ bản 21
2.2.7.1 Biên lý tƣởng 22
2.2.7.2 Biên không trơn 22
2.2.7.3 Vai trò của biên trong nhận dạng 23

2.2.7.4 Một số phƣơng pháp phát hiện biên 23
2.3 Trích chọn đặc trƣng 29
2.3.1 Một số đặc trƣng cơ bản của mẫu 30
2.3.2 Một số phƣơng pháp trích chọn đặc trƣng 31
2.4 Kết luận 34
CHƢƠNG III: CƠ SỞ LÝ THUYẾT VỀ MARKOV ẨN 35
3.1 Giới thiệu 35
3.2 Mô hình Markov 35
3.3 Mô hình Markov ẩn 37
3.3.1 Bài toán 1 – evaluation problem 41
3.3.2 Bài toán 2 – decoding problem 42
3.3.3 Bài toán 3 – learning problem 44
3.4 Huấn luyện và cho điểm HMM 46
3.4.1 Các tiêu chuẩn huấn luyện 46
3.4.2 Giải thuật tiến – lùi (forward-backward algorithm) 47
3.4.3 Ƣớc lƣợng lại tham số - Giải thuật Baum-Welch 49
3.4.4 Các mô hình huấn luyện liên tục và bán liên tục 50
3.4.5 Thuật toán Viterbi 52
3.4.6. Giải thuật Level Building 53
3.5 Lƣợng hóa vector và phân nhóm 55
3.5.1 Lƣợng hóa vector 55
3.5.1.1 Phép lƣợng hóa vô hƣớng 56

3.5.1.2 Thiết kế codebook 58
3.5.2 Phân nhóm 60
3.5.2.1 Thuật toán –Kmeans 61
3.5.2.2 Thuật toán ISODATA 62
3.5.3 Kết luận 65
CHƢƠNG IV : ỨNG DỤNG MÔ HÌNH MARKOV ẨN
TRONG NHẬN DẠNG CHỮ VIẾT TAY 67
4.1 Cấu trúc một hệ nhận dạng chữ viết khi dùng mô hình Markov ẩn 67
4.2 Ứng dụng mô hình Markov ẩn vào nhận dạng chữ viết tay 67

4.3 Các vấn đề khó khăn và hƣớng giải quyết đối với
bài toán nhận dạng chữ viết tay tiếng Việt 70
4.3.1 Khó khăn về dấu trong tiếng Việt 70
4.3.2 Khó khăn về sự biến dạng chữ 71
4.4 Mô hình nhận dạng và huấn luyện 73
CHƢƠNG V : CÀI ĐẶT CHƢƠNG TRÌNH
VÀ ĐÁNH GIÁ KẾT QUẢ 75
5.1 Môi trƣờng thực nghiệm 75
5.2 Tạo cơ sở dữ liệu mẫu 75
5.2.1 Tạo CSDL mẫu cho nhận dạng online 76
5.2.2 Tạo CSDL mẫu cho nhận dạng offline 77
Kết luận 78
Tài liệu kham khảo




DANH MỤC HÌNH ẢNH

Hình 1.1 Mô hình tiếp cận giải quyết bài toán 5

Hình 1.2 Mô hình Markov ẩn 7
Hình 1.3 Đồ thị vô hướng HMM 7
Hình 1.4 Siêu phẳng phân chia tuyến tính 9
Hình 1.5 Biên độ và siêu phẳng có biên độ cực đại 9
Hình 1.6 Vector hỗ trợ 9
Hình 1.7 Ánh xạ phi tuyến và hàm hạt nhân 9
Hình 1.8 Mô hình nhận dạng ký tự dùng SVM 10
Hình 1.9 Sơ đồ một mạng neural nhận dạng ký tự 11
Hình 2.1 Ảnh màu chuyển xám 14
Hình 2.2 - Phương pháp lấy ngưỡng 16
Hình 2.3 Ảnh thu được khi qua bộ lọc Mean 18
Hình 2.4 Ảnh thu được sau khi xử lý qua bộ lọc Gauss 19
Hình 2.5 Ảnh trước và sau khi qua bộ lọc Median 19
Hình 2 6 Mô hình sắp xếp bộ lọc Median 20
Hinh2 .7 Xác định góc nghiên 21
Hình 2.7 Biên lý tưởng 22
Hình 2.8 Đạo hàm Gauss theo hướng (x,y) 25
Hình 2.9 Mô tả các điểm lân cận 27
Hình 2.10 Biên ảnh theo phương pháp Candy 28
Hình 2.11 Ảnh trước khi tách biên 28
Hình 2.12 Ảnh sau khi tách biên 29
Hình 2.13 Phân vùng 30
Hình 2.14 Lược đồ mức xám (histogram) 30
Hình 2.15 Đặc trưng hướng 31
Hình 2.16 Cách chia ô ký tự 32
Hình 2.17 Ký tự đã được chia ô 32
Hình 2.18 Trích chọn chu tuyến 32
Hình 2.19 Trích chọn đặc trưng wavelet Haar 33
Hình 2.20 Dãy đặc trưng wavelet Haar 34


Hình 3.1 Mô hình Markov 3 trạng thái .36
Hình 3.2 Tiến trình Markov 38
Hình 3.3 Biểu đồ trạng thái 38
Hình 3.4 Ví dụ về hình vuông và hình tròn 40
Hình 3.5 Chuỗi Q tối ưu cục bộ. 43
Hình 3.6. Sơ đồ lưới cho 3 trạng thái kết nối đầy đủ 48
Hình 3.7. Thao tác cơ bản của tính toán tiến 48
Hình 3.8. Sơ đồ lưới cho 3 trạng thái 53
Hình 3.9 Thao tác cơ bản của tính toán Viterbi 53
Hình 3.10. Biểu đồ minh họa giải thuật Level Building 55
Hình 3.11 Phép lượng hóa một độ đo một chiều 56
Hình 3.12. Phép lượng hóa không gian hai chiều 67
Hình 3.13 Cây nhị phân tìm kiếm VQ 60
Hình 3.14 Ba nhóm cluster trong mặt phẳng hai chiều 61
Hình 4.1 Mô hình ứng dụng Markov ẩn 68
Hình 4.2 Minh họa chia vùng ảnh 69
Hình 4.3 Dãy các trạng thái. 70
Bảng 4.4 Cấu trúc ký tự tiếng Việt 70
Hình 4.7. Mẫu ký
t
ự chữ A v
i
ế
t t
ay 71
Hình 4.8. Mẫu ký
t
ự chữ G v
i
ế

tt
ay. 72
Hình 4.9. Mẫu ký
t
ự chữ N v
i
ế
t

t
ay. 72
Hình 5.1 Giao diện chính của chương trình 75
Hình 5.2. Giao diện form nhận dạng online 76
Hình 5.3 Giao diện form huấn luyện online 76
Hình 5.4 Giao diện form huấn luyện Offline 77






DANH MỤC BẢNG



Bảng 1 Giá trị biên độ theo phương hướng 27

Bảng 4 Bảng chữ cái tiếng Việt có dấu 71
Bảng 5 Bảng chữ cái tiếng Việt không dấu 71
1



LỜI MỞ ĐẦU


Nhận dạng là bài toán xuất hiện cách đây khá lâu và vẫn luôn thu hút đƣợc
nhiều sự quan tâm, nghiên cứu. Đặc biệt là trong vài thập niên gần đây, do sự thúc đẩy
của quá trình tin học hoá trong mọi lĩnh vực, bài toán nhận dạng không còn dừng lại ở
mức độ nghiên cứu nữa mà nó trở thành một lĩnh vực để áp dụng vào thực tế. Các bài
toán nhận dạng đang đƣợc ứng dụng trong thực tế hiện nay tập trung vào nhận dạng
mẫu, nhận dạng tiếng nói và nhận dạng chữ. Trong số này, nhận dạng chữ viết tay là
bài toán đƣợc quan tâm rất nhiều và cũng đã đạt đƣợc nhiều thành tựu rực rỡ. Các ứng
dụng có ý nghĩa thực tế lớn có thể kể đến nhƣ: nhận dạng chữ in dùng trong quá trình
sao lƣu sách báo trong thƣ viện, nhận dạng chữ viết tay dùng trong việc phân loại
thƣ ở bƣu điện, thanh toán tiền trong nhà băng và lập thƣ viện sách cho ngƣời mù (ứng
dụng này có nghĩa: scan sách bình thƣờng, sau đó cho máy tính nhận dạng và trả về
dạng tài liệu mà ngƣời mù có thể đọc đƣợc).
Xuất phát từ yêu cầu thực tế, đang rất cần có nhƣng nghiên cứu về vấn đề này.
Chính vì vậy tôi đã chọn đề tài nhận dạng ký tự viết tay làm đồ án tốt nghiệp với mong
muốn phần nào áp dụng vào bài toán thực tế.
Bài toán đã đặt ra phải giải quyết đƣợc những yêu cầu sau:
 Nhận dạng đƣợc các ký tự từ ảnh đầu vào
 Trích chọn đƣợc các đặc trƣng của ảnh
 Tiến hành nhận dạng với thuật toán Markov ẩn
Với nhƣng yêu cầu đã đặt ra ở trên, cấu trúc của khóa luận sẽ bao gồm những nội
dung sau đây:
 Chƣơng 1: Giới thiệu đề tài
Giới thiệu về bài toán nhận dạng chữ viết tay, tình hình nghiên cứu trong
và ngoài nƣớc, quy trình chung để giải quyết bài toán và các phƣơng pháp điển
hình trong việc huấn luyện nhận dạng, phạm vi của đề tài.

 Chƣơng 2: Cơ sở lý thuyết về tiền xử lý ảnh và trích chọn đặc trƣng
Trình bày lý thuyết về chuyển xám, phân ngƣỡng, chỉnh nghiên, lọc nhiễu,
chuẩn hóa kích thƣớc, phát hiện biên, trích chọn đặc trƣng ảnh ký tự.
2


 Chƣơng 3: Cơ sở lý thuyết về mô hình Markov ẩn
Trình bày các khái niệm cơ bản, thuật toán của mô hình Markov ẩn.
 Chƣơng 4: Ứng dụng mô hình Markov ẩn trong nhận dạng chữ viết tay
Giới thiệu về thuật toán nhận dạng. Các bƣớc cài đặt thuật toán. Những
khó khăn và giải pháp khắc phục.
 Chƣơng 5: Cài đặt chƣơng trình và đánh giá kết quả
Trình bày môi trƣờng cài đặt, giao diện chƣơng trình, một số form chính
của chƣơng trình. Đánh giá kết quả và đƣa ra hƣớng phát triển trong tƣơng lại.
 Phụ lục: Tài liệu tham khảo.
Đồ án này không tránh khỏi sự thiếu sót do hạn chế về thời gian cũng nhƣ
kiến thức. Em rất mong nhận đƣợc sự đóng góp ý kiến của thầy hƣớng dẫn và
các bạn để đạt kết quả tốt hơn.
3


CHƢƠNG I
GIỚI THIỆU ĐỀ TÀI


1.1 Giới thiệu về nhận dạng chữ viết tay
Nhận dạng chữ in: đã đƣợ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%).
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.
1.1.1 Các giai đoạn phát triển
 Giai đoạn 1: (1900 – 1980)
- Nhận dạng chữ đƣợc biết đến từ năm 1900, khi nhà khoa học ngƣời Nga
Tyuring phát triển một phƣơng tiện trợ giúp cho những ngƣời mù.
- Các sản phẩm nhận dạng chữ thƣơng mại có từ những năm1950, khi máy tính
lần đầu tiên đƣợc giới thiệu tính năng mới về nhập và lƣu trữ dữ liệu hai chiều bằng cây
bút viết trên một tấm bảng cảm ứng .Công nghệ mới này cho phép các nhà nghiên cứu
làm việc trên các bài toán nhận dạng chữ viết tay on-line.
- Mô hình nhận dạng chữ viết đƣợc đề xuất từ năm 1951 do phát minh của M.
Sheppard đƣợc gọi là GISMO, một robot đọc-viết.
- Năm 1954, máy nhận dạng chữ đầu tiên đã đƣợc phát triển bởi J. Rainbow
dùng để đọc chữ in hoa nhƣng rất chậm.
- Năm 1967 ,Công ty IBM đã thƣơng mại hóa hệ thống nhận dạng chữ.
 Giai đoạn 2: (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 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
4


đã có đƣợc môi trƣờng lý tƣởng để triển khai các ứng dụng nhận dạng chữ.
- Các hƣớng tiếp cận theo cấu trúc và đối sánh đƣợc áp dụng trong nhiều hệ
thống nhận dạng chữ.
- Trong giai đoạn này, các hƣớng nghiên cứu chỉ tập trung vào các kỹ thuật
nhận dạng hình dáng chứ chƣa áp dụng cho thông tin ngữ nghĩa. Điều này dẫn đến sự
hạn chế về hiệu suất nhận dạng, không hiệu quả trong nhiều ứng dụng thực tế.

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


chữ viết đã nhận đƣợc sự quan tâm đáng kể do sự phát triển của các máy tính cầm tay
và điện thoại cầm tay dựa trên các bàn phím, chuột và nhiều dạng thiết bị định vị khác.

Các phƣơng pháp này tỏ ra không hữu hiệu hoặc xử lý chậm. Do đó ngƣời ta cần
nghiên cứu phƣơng pháp nghiên cứu phƣơng pháp nhận dạng chữ viết tay trên các máy
Palm Pilot hay các máy TABLET PC.
1.2 Cách tiếp cận giải quyết bài toán

Hình 1.1 Mô hình tiếp cận giải quyết bài toán
Nhận dạng chữ viết tay thƣờng bao gồm năm giai đoạn: tiền xử lý
(preprocessing), trích chọn đặc trƣng(representation), huấn luyện và nhận dạng (training
and recognition), hậu xử lý (postprocessing).
- Tiền xử lý: Giảm nhiễu cho các lỗi trong quá trình quét ảnh, hoạt động viết
của con ngƣời, chuẩn hóa dữ liệu và nén dữ liệu.
- Biểu diễn, rút trích đặc điểm: Giai đoạn đóng vai trò quan trọng nhất trong
nhận dạng chữ viết tay. Để tránh những phức tạp của chữ viết tay cũng nhƣ tăng cƣờng
độ chính xác, ta cần phải biểu diễn thông tin chữ viết dƣới những dạng đặc biệt hơn và
cô đọng hơn, rút trích các đặc điểm riêng nhằm phân biệt các ký tự khác nhau.
- Huấn luyện và nhận dạng: Phƣơng pháp điển hình so trùng mẫu, dùng thống
kê, mạng nơ-ron ,mô hình markov ẩn ,trí tuệ nhân tạo hay dùng phƣơng pháp kết hợp
các phƣơng pháp trên.
- Hậu xử lý: Sử dụng các thông tin về ngữ cảnh để giúp tăng cƣờng độ chính
xác, dùng từ điển dữ liệu.
Ban đầu các hình ảnh này đi qua giai đoạn chuyển ảnh về dạng ảnh nhị phân (giai
đoạn tiền xử lý). Ảnh sẽ đƣợc lƣu trữ dƣới dạng ma trận điểm, vị trí pixel có nét vẽ sẽ
6


mang giá trị 1, ngƣợc lại có giá trị 0. Sau đó, ảnh đƣợc cắt xén để ký tự nằm trọn trong
một khung chữ nhật, các vùng không gian không có nét vẽ đƣợc loại bỏ đi. Giải thuật cắt
xén hiện thực đơn giản dựa trên ảnh nhị phân và thu giảm ảnh đã đƣợc cắt xén về một
ảnh có kích thƣớc chung đã đƣợc quy định trƣớc.
Tiếp theo, ảnh đã đƣợc cắt xén và thu nhỏ đƣợc làm mỏng. Quá trình làm mỏng

này giúp ta chỉ lấy những thông tin cần thiết về hình dạng của ký tự và loại bỏ các pixel
dƣ thừa. Các chấm nhỏ trên hình biểu thị các pixel có giá trị 1 ban đầu. Sau khi làm
mỏng, chỉ những pixel có ý nghĩa đƣợc giữ lại, và chúng đƣợc biểu diễn bằng các chấm
to trong hình.
Ảnh sau quá trình làm mỏng chứa hầu hết các thông tin về hình dạng của ký tự.
Những thông tin này sẽ đƣợc phân tích để rút trích ra các đặc điểm giúp việc phân loại
các ký tự với nhau. Phƣơng thức này dựa trên thông tin về hình dạng của ký tự nhƣ sự
chuyển vị trí và sự chuyển chiều. Kết quả quá trình này là các véc-tơ đặc điểm chứa
thông tin về ký tự. Các thông tin này giúp máy lấy đƣợc các đặc điểm của từng ký tự,
phân loại chúng và tạo ra các thông tin cần thiết để nhận dạng các ký tự có chung ý
nghĩa. Do chữ viết mỗi ngƣời mỗi khác nên ta không thể thu thập tất cả các nét chữ của
từng ngƣời để máy học có thể nhận diện mà chỉ có thể dựa trên một số mẫu nào đó để
nhận ra các nét chữ của những ngƣời viết khác nhau. Mô hình markov ẩn (Hidden
Markov Model) có thể giải quyết vấn đề này.
1.3 Tổng quan về các phƣơng pháp huấn luyện.
1.3.1 Mô hình Markov ẩn
Mô hình Markov ẩn (Hiden Markov Model - HMM) đƣợc giới thiệu vào cuối
những năm 1960. Cho đến hiện nay nó có một ứng dụng khá rộng nhƣ trong nhận dạng
giọng nói, tính toán sinh học (Computational Biology), và xử lý ngôn ngữ tự
nhiên…HMM là mô hình máy hữu hạn trạng thái với các tham số biểu diễn xác suất
chuyển trạng thái và xác suất sinh dữ liệu quan sát tại mỗi trạng thái.
Mô hình Markov ẩn là mô hình thống kê trong đó hệ thống đƣợc mô hình hóa
đƣợc cho là một quá trình Markov với các tham số không biết trƣớc, nhiệm vụ là xác
định các tham số ẩn từ các tham số quan sát đƣợc. Các tham số của mô hình đƣợc rút ra
sau đó có thể sử dụng để thực hiện các phân tích kế tiếp.
Trong một mô hình Markov điển hình, trạng thái đƣợc quan sát trực tiếp bởi ngƣời
quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất.
7




Hình 1.2 Mô hình Markov ẩn
x
i
: Các trạng thái trong mô hình Markov
a
ij
: Các xác suất chuyển tiếp
b
ij
: Các xác suất đầu ra
y
i
: Các dữ liệu quan sát
Mô hình Markov ẩn thêm vào các đầu ra: Mỗi trạng thái có xác suất phân bố trên
các biểu hiện đầu ra có thể. Vì vậy, nhìn vào dãy của các biểu hiện đƣợc sinh ra bởi
HMM không trực tiếp chỉ ra dãy các trạng thái. Ta có tìm ra đƣợc chuỗi các trạng thái
mô tả tốt nhất cho chuỗi dữ liệu quan sát đƣợc bằng cách tính.
)(/)|()|( XPXYPXYP 


Hình 1. 3 Đồ thị vô hướng HMM
Ở đó Y
n
là trạng thái tại thời điểm thứ t=n trong chuỗi trạng thái Y, X
n
là dữ liệu
quan sát đƣợc tại thời điểm thứ t=n trong chuỗi X. Do trạng thái hiện tại chỉ phụ thuộc
vào trạng thái ngay trƣớc đó với giả thiết rằng dữ liệu quan sát đƣợc tại thời điểm t chỉ
phụ thuộc và trạng thái t. Ta có thể tính:





n
t
tttt
YXPYYPYXPYPXYP
2
1111
)|(*)|()|()(),(

Một số hạn chế của mô hình Markov để tính đƣợc xác suất P(Y,X) thông thƣờng ta
phải liệt kê hết các trƣờng hợp có thể của chuỗi Y và chuỗi X. Thực tế thì chuỗi Y là hữu
hạn có thể liệt kê đƣợc, còn X (các dữ liệu quan sát) là rất phong phú. Để giải quyết các
vấn đề này HMM đƣa ra giả thiết về sự độc lập giữa các dữ liệu quan sát: Dữ liệu quan
sát đƣợc tại thời điểm t chỉ phụ thuộc vào trạng thái tại thời điểm đó. Hạn chế thứ hai
Y
1
Y
2



Y
n
X
1
X
2




X
n
8


gặp phải là việc sử dụng xác suất đồng thời P(Y, X) đôi khi không chính xác vì với một
số bài toán thì việc sử dụng xác suất điều kiện P(Y | X) cho kết quả tốt hơn rất nhiều.
1.3.2 Máy vector hỗ trợ
Có thể mô tả 1 cách đơn giản về bộ phân lớp SVM (Support Vector Machine) nhƣ
sau: Cho trƣớc 2 tập dữ liệu học, mỗi tập thuộc về 1 lớp cho trƣớc, bộ phân lớp SVM sẽ
xây dựng mô hình phân lớp dựa trên 2 tập dữ liệu này. Khi có một mẫu mới đƣợc đƣa
vào, bộ phân lớp sẽ đƣa ra dự đoán xem mẫu này thuộc lớp nào trong 2 lớp đã định.
Phƣơng pháp này đƣợc Vapnik và cộng sự đề xuất năm 1992, lấy nền tảng từ lý thuyết
học thống kê của Vapnik & Chervonenkis vào năm 1960.
Đặc trƣng cơ bản quyết định khả năng phân loại của một bộ phân loại là hiệu suất
tổng quát hóa, hay là khả năng phân loại những dữ liệu mới dựa vào những tri thức đã
tích lũy đƣợc trong quá trình huấn luyện. Thuật toán huấn luyện đƣợc đánh giá là tốt nếu
sau quá trình huấn luyện, hiệu suất tổng quát hóa của bộ phân loại nhận đƣợc cao. Hiệu
suất tổng quát hóa phụ thuộc vào hai tham số là sai số huấn luyện và năng lực của máy
học. Trong đó sai số huấn luyện là tỷ lệ lỗi phân loại trên tập dữ liệu huấn luyện. Còn
năng lực của máy học đƣợc xác định bằng kích thƣớc Vapnik Chervonenkis (kích thƣớc
VC). Kích thƣớc VC là một khái niệm quan trọng đối với một họ hàm phân tách (hay là
bộ phân loại). Đại lƣợng này đƣợc xác định bằng số điểm cực đại mà họ hàm có thể phân
tách hoàn toàn trong không gian đối tƣợng, Một bộ phân loại tốt là bộ phân loại đơn giản
nhất và đảm bảo sai số huấn luyện nhỏ. Phƣơng pháp SVM đƣợc xây dựng dựa trên ý
tƣởng này.
Công thức SVM đơn giản nhất là trƣờng hợp tuyến tính khi mà một siêu phẳng

quyết định nằm giữa hai tập dữ liệu.Trong trƣờng hợp này, không gian giả định là một
tập các điểm có phƣơng trình là: f(x) =w.x+b. SVM đi tìm một siêu phẳng tối ƣu nhƣ
một phƣơng án để phân chia hai tập hợp dữ liệu và đồng thời có thể sử dụng cho những
dữ liệu mới. Có hai phƣơng pháp để tìm siêu phẳng tối ƣu, thứ nhất là tìm siêu phẳng
nằm giữa 2 tập đóng, thứ hai là cực đại hoá khoảng cách giữa hai mặt phẳng hỗtrợ (cực
đại hoá lề). Cả hai phƣơng pháp đều tìm ra một mặt phẳng quyết định và tập hợp những
điểm hỗ trợ cho quyết định. Chúng đƣợc gọi là các vector hỗ trợ.



9







Hình 1.4 Siêu phẳng phân chia tuyến tính



Hình 1.5 Biên độ và siêu phẳng có biên độ cực đại


Hình 1.7 Ánh xạ phi tuyến và hàm hạt nhân
Siêu phẳng có
biên độ cực đại
10



Việc huấn luyện SVM là việc giải bài toán quy hoạch toàn phƣơng với các ràng
buộc bằng và không bằng. Việc xử lý sau cùng là xử lý các tham số dƣơng α và rút ra
một tập con của tập huấn luyện tƣơng ứng với các tham số. Việc huấn luyện một tập dữ
liệu nhỏ (nhỏ hơn 1000 mẫu) có thể đƣợc xử lý một cách nhanh chóng trên một máy tính
có cấu hình thích hợp. Đối với những tập dữ liệu lớn hơn, việc giải bài toán quy hoạch
toàn phƣơng đòi hỏi một máy tính có năng lực lớn và bộ nhớ lớn để lƣu trữ ma trận hạt
nhân trong suốt quá trình tính toán. Bộ nhớ yêu cầu lên đến bình phƣơng kích thƣớc của
tập huấn luyện.
Có nhiều phƣơng pháp huấn luyện SVM đƣợc phát triển để tận dụng bộ nhớ, cải
thiện tốc độ huấn luyện và tìm một mô hình tốt nhất bằng cách dùng một nhân và các
siêu tham số thích hợp (Burges, 1988). Lƣu ý rằng, SVM cơ bản dùng cho hai lớp, để có
thể dùng cho nhiều lớp thì ta phải kết hợp nhiều bộ phân loại hai lớp hoặc xây dựng
SVM cho nhiều lớp.


















Hình 1.8 Mô hình nhận dạng ký tự dùng SVM

Input Image
Preprocessing
Feature
extration

Image
16x16

Image
8x8
Pre-Classified
Connected
Region
Connected
Region
SVM1

SVM 2
SVM 3
Combine markes
Recognition result is A
11


SVM thƣờng thực hiện tốt trên các tập dữ liệu khả tách tuyến tính vì có thể thực
hiện việc xác định siêu mặt phẳng phân tích dữ liệu tối ƣu, trong trƣờng hợp này SVM
chỉ việc tập trung vào việc cực đại hóa lề.

1.3.3 Mạng Neural
Quá trình huấn luyện là quá trình học các tập mẫu để điều chỉnh trọng số liên kết.
Giải thuật huấn luyện thƣờng đƣợc dùng nhất là giải thuật lan truyền ngƣợc sai số Back
Progration.

Hình 1.9 Sơ đồ một mạng neural nhận dạng ký tự
Phƣơng pháp sử dụng mạng Neural có những ƣu điểm sau đây:
 Tính phi tuyến.
 Mô hình tổng quát cho ánh xạ từ tập vào đến tập ra.
 Có thể yêu cầu sự tiến hóa nhanh của hàm mục tiêu.
 Chấp nhận lỗi ở các ví dụ học.
 Thích ứng với nhiễu dữ liệu.
1.4 Phạm vi đề tài
 Đề tài nghiên cứu các thuật toán tiền xử lý ảnh và các phƣơng pháp huấn luyện
và nhận dạng từ đó đánh giá ƣu và nhƣợc điểm mô hình Markov ẩn ứng dụng vào nhận
dạng chữ viết tay cũng nhƣ mức độ chính xác trong quá trình nhận dạng .
12


 Đề tài tập trung vào nghiên cứu nhận dạng các ký tự tiếng Việt đơn lẽ và đó là
tiền đề cho việc phát triển nhận dạng từ và cả văn bảng viết tay.
 Đồ án sẽ tập trung vào phân tích 3 thành phần chính của một hệ nhận dạng: Tiền
xử lý, trích chọn đặc trƣng và huấn luyện bằng mô hình markov ẩn. Từ đó cài đặt chƣơng
trình mô phỏng trên PC bằng ngôn ngữ C#.
13


CHƢƠNG II
CƠ SỞ LÝ THUYẾT VỀ TIỀN XỬ LÝ ẢNH
VÀ TRÍCH CHỌN ĐẶC TRƢNG



2.1 Tổng quan về tiền xử lý ảnh
Đầu vào của quá trình xử lý ảnh là các ảnh gốc ban đầu, thu đƣợc qua scanner,
ảnh ban đầu thƣờng có chất lƣợng thấp do ảnh hƣởng của nhiễu, bị nghiêng, bị đứt nét
nên chúng ta cần phải có một quá trình tiền xử lý ảnh để nâng cao chất lƣợng ảnh đầu
vào trƣớc khi đƣa vào nhận dạng. Quá trình này bao gồm công đoạn khôi phục ảnh và
tăng cƣờng ảnh .
Khôi phục ảnh nhằm mục đích loại bỏ hay làm giảm tối thiểu các ảnh hƣởng của
môi trƣờng bên ngoài lên ảnh thu nhận đƣợc. Công đoạn khôi phục ảnh bao gồm các
bƣớc nhƣ lọc ảnh, khử nhiễu, chỉnh nghiên, qui về cùng kích thƣớc, qua đó giảm bớt các
biến dạng do quá trình quét ảnh gây ra và đƣa ảnh về trang thái gần nhƣ ban đầu.
Tăng cƣờng ảnh là một công đoạn quan trọng, tạo tiền đề cho xử lý ảnh.Tăng
cƣờng ảnh không phải làm tăng lƣợng thông tin trong ảnh mà là làm nổi bật những đặc
trƣng của ảnh giúp cho công việc xử lý phía sau đƣợc hiệu quả hơn. Công đoạn này bao
gồm các công việc nhƣ lọc độ tƣơng phản, làm trơn ảnh, nhị phân hóa. Các công đoạn
của tiền xử
lý ảnh sẽ đƣợc trình bày cụ thể trong các phần tiềp theo.
2.2 Các công đoạn tiền xử lý
Giai đoạn tiền xử lý văn bản là giai đoạn quan trọng, có ảnh hƣởng trực tiếp đến
độ chính xác của quá trình nhận dạng, tuy nhiên nó cũng làm tăng thời gian chung của
cả hệ thống. Vì vậy, tùy theo chất lƣợng ảnh thu nhận đƣợc của từng trƣờng hợp cụ thể,
mà chúng ta chọn sử dụng một hoặc một số thủ tục tiền xử lý. Thậm chí, trong trƣờng
hợp văn bản đầu vào có chất lƣợng tốt và cần ƣu tiên tốc độ xử lý, chúng ta có thể bỏ
qua giai đoạn tiền xử lý này. Thông thƣờng, chúng ta vẫn phải thực hiện một số thủ tục
quan trọng nhất.
Các thủ tục này bao gồm :
14



 Chuyển xám
 Phân ngƣỡng
 Lọc nhiễu
 Chỉnh nghiên
 Phát hiện và tách biên.
2.2.1 Chuyển xám ảnh.
Đơn vị tế bào của ảnh số là pixel. Tùy theo mỗi định dạng là ảnh màu hay ảnh
xám mà từng pixel có thông số khác nhau. Đối với ảnh màu từng pixel sẽ mang thông tin
của ba màu cơ bản tạo ra bản màu khả kiến là Đỏ (R), Xanh lá (G) và Xanh biển (B)
[Thomas 1892]. Trong mỗi pixel của ảnh màu, ba màu cơ bản R, G và B đƣợc bố trí sát
nhau và có cƣờng độ sáng khác nhau. Thông thƣờng, mổi màu cơ bản đƣợc biểu diễn
bằng tám bit tƣơng ứng 256 mức độ màu khác nhau. Nhƣ vậy mỗi pixel chúng ta sẽ có
màu (khoảng 16.78 triệu màu). Đối với ảnh xám, thông thƣờng mỗi pixel
mang thông tin của 256 mức xám (tƣơng ứng với tám bit) nhƣ vậy ảnh xám hoàn toàn có
thể tái hiện đầy đủ cấu trúc của một ảnh màu tƣơng ứng thông qua tám mặt phẳng bit
theo độ xám.
Trong hầu hết quá trình xử lý ảnh, chúng ta chủ yếu chỉ quan tâm đến cấu trúc
của ảnh và bỏ qua ảnh hƣởng của yếu tố màu sắc. Do đó bƣớc chuyển từ ảnh màu thành
ảnh xám là một công đoạn phổ biến trong các quá trình xử lý ảnh vì nó làm tăng tốc độ
xử lý là giảm mức độ phức tạp của các thuật toán trên ảnh.
Chúng ta có công thức chuyển các thông số giá trị màu của một pixel thành mức
xám tƣơng ứng nhƣ sau:
G = α.CR + β.CG + Ω.CB
Trong đó các giá trị CR, CG và CB lần lƣợt là các mức độ màu đỏ, xanh lá và
xanh biển của pixel màu, các giá trị α, β, Ω là các hệ số cƣờng độ sáng của 3 màu.






Mục đích: chuyển ảnh màu về ảnh đa cấp xám
Trong bài luận này sử dụng thuật toán trung bình cộng.
Hình 2.1 Ảnh màu chuyển
xám Ảnh xám
15






- Tƣ tƣởng của thuật toán nhƣ sau: tính trung bình cộng giá trị của 1pixel. Sau đó
gán lại giá trị trung bình cộng đó cho RGB.
Ví dụ: Nhƣ pixel phía trên quá trình chuyển xám nhƣ sau :
TBC=(145+254+43)/3 = 147
- Sau đó gán lại giá trị 147 cho R,G,B. Pixel mới đƣợc mô tả nhƣ sau :
147,147,147
RGB
RGB
RGB
RGB
RGB
- Nhƣ vậy ảnh đã đƣợc chuyển về ảnh đa cấp xám
2.2.2 Phân ngƣỡng ảnh (Nhị phân ảnh)
Phân ngƣỡng hay còn gọi là nhị phân hóa. Mục đích của nó là chuyển từ ảnh
màu, ảnh đa cấp xám sang ảnh nhị phân (ảnh 2 cấp xám, ảnh đen trắng). Thuật toán
phân ngƣỡng cài đặt ở đây sử dụng hàm phân ngƣỡng :








TyxSourceif
TyxSourceif
yxDest
),(__0
),(__1
),(

Trong đó, Source(x,y) là giá trị điểm ảnh ở vị trí (x,y) của ảnh nguồn, Dest(x,y) là
giá trị điểm ảnh tƣơng ứng ở vị trí (x,y) của ảnh đích. T là giá trị ngƣỡng.
Giá trị cụ thể của ngƣỡng phụ thuộc vào từng ảnh, vùng ảnh đầu vào đang xét và
không thể lấy cố định, nhƣ trên hình 2.2.2
+ Hình a là ảnh ban đầu
+ Hình e thể hiện biểu đồ histogram (biểu đồ tần suất)
+ Hình b,c,d thể hiện ảnh đã đƣợc nhị phân hóa với cùng ngƣỡng thấp, trung bình
và ngƣỡng cao. Chúng ta có thể thấy là giá trị ngƣỡng trong hình d là thích hợp hơn
cả.





a) ảnh gốc ban đầu b) Ngƣỡng thấp (90)



16








c ) Ngƣỡng trung bình (128) d ) Ngƣỡng cao (225)


e) Histogram (biểu đồ cột):
Ngƣời ta đã đề xuất nhiều phƣơng pháp để xác định giá trị ngƣỡng. Một
phƣơng pháp là thiết lập ngƣỡng sao cho số lƣợng các điểm đen đạt một ngƣỡng chấp
nhận đƣợc theo phân phối xắc suất mức xám. Ví dụ, chúng ta có thể biết rằng các kí tự
chiếm 25% diện tích của một trang văn bản thông thƣờng. Vì thế chúng ta có thể thiết lập
ngƣỡng sao cho số lƣợng điểm đen còn lại chiếm 1/4 trang văn bản. Một cách tiếp cận
khác là chọn ngƣỡng nằm ở vị trí thấp nhất trên biểu đồ histogram giữa hai đỉnh của
nó . Tuy nhiên việc xác định vị trí này thƣờng rất khó khăn do hình dạng của histogram
thƣờng lởm chởm. Một giải pháp để giải quyết vấn đề này là xấp xỉ giá trị của
histogram giữa hai đỉnh với một hàm giải tích và sử dụng vi phân để xác định điểm
thấp nhất.
Ví dụ, coi x và y lần lƣợt là hoành độ và tung độ trên histogram. Chúng ta có thể sử
dụng hàm : y = ax
2
+ bx + c. Với a,b,c là các hằng số làm hàm xấp xỉ đơn giản cho
histogram ở vị trí giữa hai đỉnh của nó. Vị trí thấp nhất sẽ có tọa độ x = -b/2a.
Phƣơng pháp xấp xỉ các giá trị của histogram và tìm vị trí thấp nhất cho giá trị
ngƣỡng tốt hơn nhƣng lại yêu cầu nhiều tài nguyên về tính toán để thực hiện cũng độ
phức tạp trong việc cài đặt nên trong bài luận này tôi trình bày bằng phƣơng pháp phân
ngƣỡng trung bình cộng.

Hình 2.2 - Phương pháp lấy ngưỡng

×