Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu phương pháp nhận dạng chữ viết tay hạn chế bằng mô hình SVM Support Vector Ma
Trang 1Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
Đại học Thái Nguyên tr-ờng đại học công nghệ thông tin và truyền thông
nguyễn quang huy
nghiên cứu ph-ơng pháp nhận dạng chữ viết
tay hạn chế bằng mô hình svm
(support vector machines)
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thỏi Nguyờn - 2014
Trang 2Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
Đại học Thái Nguyên tr-ờng đại học công nghệ thông tin và truyền thông
nguyễn quang huy
nghiên cứu ph-ơng pháp nhận dạng chữ viết
tay hạn chế bằng mô hình svm
(support vector machines)
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Ng-ời h-ớng dẫn khoa học: PGS-TS NGễ QUỐC TẠO
Thỏi Nguyờn - 2014
Trang 3Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
LỜI CÁM ƠN
Để đạt được những kết quả trong quá trình nghiên cứu luận văn, học viên xin chân thành cảm ơn thầy PGS TS Ngô Quốc Tạo luôn tận tình chỉ bảo, hướng dẫn và giúp đỡ em trong suốt quá trình làm luận văn
Học viên xin cảm ơn các thầy cô giáo trường Đại học Công nghệ thông tin
và Truyền thông đã hướng dẫn và tạo điều kiện cho em trong suốt thời gian học tập tại trường
Học viên xin chân thành cảm ơn các thầy giáo trong Hội đồng xét duyệt luận văn tốt nghiệp lớp cao học CK11A năm 2014 - Đợt 1 đã nhận xét và góp ý
để bài luận văn của em được hoàn thiện hơn
Trang 4Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Nghiên cứu phương pháp nhận dạng chữ viết
tay hạn chế bằng mô hình SVM (Support Vector Machines)” là do tôi tự nghiên
cứu và hoàn thành dưới sự hướng dẫn của PGS-TS Ngô Quốc Tạo
Các kết quả đạt được trong quá trình nghiên cứu là hoàn toàn trung thực và khách quan
Tôi xin chịu trách nhiệm về những lời cam đoan trên
Thái Nguyên, ngày 05 tháng 05 năm 2014
Người cam đoan
Học viên Nguyễn Quang Huy
Trang 5Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Thuật ngữ,
SVM Support Vector Machine (Máy véc tơ hỗ trợ)
MMH Maximum Marginal Hyperplane (Siêu phẳng có biên độ lớn nhất) HMM Markov Model (Mô hình Markov ẩn)
Kernel Hàm nhân
MNIST
Bộ mẫu chữ số viết tay NIST - Viện Công nghệ và Tiêu chuẩn Quốc gia Hoa Kỳ (National Institute of Standard and Technology of the United States)
NN Neuron Network (Mạng nơ ron)
OCR Optical Character Recognition (nhận dạng chữ quang học)
QP Quadratic Programing (quy hoạch toàn phương)
USPS United States Postal service
VC Vapnik – Chervonenkis
Trang 6Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC HÌNH
Hình 1.1 Các giai đoạn trong quá trình xử lý và nhận dạng ảnh 7
Hình 1.2 Nhị phân hóa ảnh 8
Hình 1.3 Nhiễu đốm và nhiễu vệt 8
Hình 1.4 Chuẩn hóa kích thước ảnh các ký tự “A” và “P” 8
Hình 1.5 (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn biên 9
Hình 1.6 Làm mảnh chữ 9
Hình 1.7 Hiệu chỉnh độ nghiêng của văn bản 10
Hình 1.8 Tách dòng chữ dựa trên histogram theo chiều ngang của khối chữ 10
Hình 1.9 Xác định khoảng cách giữa hai kí tự và giữa hai từ dựa trên histogram theo chiều thẳng đứng của dòng chữ 11
Hình 1.10 Mô hình mạng nơron nhân tạo 17
Hình 1.11 Mô hình mạng MLP 3 lớp 17
Hình 1.12 Phân lớp bằng mạng nơron 18
Hình 1.13 a) Các lớp phân tách tuyến tính b)Siêu phẳng tối ưu và biên lề tương ứng, các vectơ hỗ trợ 19
Hình 1.14 Ánh xạ các điểm dữ liệu không thể phân tách tuyến tính vào không gian số chiều lớn hơn có thể phân tách được tuyến tính 20
Hình 1.15 a) One-vs-One b) One-vs-All 21
Hình 2.1 Với 3 điểm không thẳng hàng trong R2 thì luôn tách được bởi đường thẳng 25 Hình 2.2 Phân lớp bằng siêu phẳng 26
Hình 2.3 Đường phân chia đối với tập dữ liệu gồm hai thuộc tính 27
Hình 2.4 Một bộ dữ liệu hai chiều được phân chia tuyến tính 28
Hình 2.5 Hai siêu phẳng phân chia tuyến tính cùng với biên độ của nó 29
Hình 2.6 Đường biểu diễn H1 và H2 Đường màu đỏ là khoảng cách Euclidean của hai điểm 1 và 2, đường màu xanh là khoảng cách Euclidean nhỏ nhất 30
Hình 2.7 Các support vector trong SVM 31
Hình 2.8 Trường hợp trên không gian 2 chiều không thể vẽ một đường thẳng phân chia 2 lớp 35
Hình 2.9 Bước 1- Học để xây dựng mô hình phân lớp 37
Trang 7Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 2.10 Bước 2 - Kiểm tra và đánh giá 38
Hình 2.11 Mô hình nhận dạng chữ viết tay rời rạc 45
Hình 2.12 Trích chọn đặc trưng trọng số vùng 45
Hình 2.13 Kiến trúc của hệ nhận dạng chữ viết tay tiếng Việt 48
Hình 2.14 Chuẩn hóa ảnh: (a) Ảnh gốc, (b) Xác định các vùng liên thông và đánh thứ tự các vùng liên thông 49
Hình 2.15 Chuẩn hóa các vùng liên thông 49
Hình 2.16 Quá trình trích chọn đặc trưng 51
Hình 3.1 Các bước cơ bản của quá trình nhận dạng văn bản bằng mô hình SVM 55
Hình 3.2 Các mẫu chữ số viết tay trích từ tập các tập dữ liệu USPS và MNIST 59
Hình 3.3 Giao diện chương trình 61
Hình 3.4 Hộp thoại tiền xử lý 61
Hình 3.5 Hộp thoại trích chọn đặc trưng 62
Hình 3.6 Hộp thoại lưu file mô hình huấn luyện 62
Hình 3.7 Hộp thoại chọn file ảnh cần nhận dạng 63
Hình 3.8 Hộp thoại thông báo kết quả nhận dạng 63
Trang 8Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
MỞ ĐẦU
Biết sử dụng các phương pháp nhận dạng đóng vai trò hết sức quan trọng trong xử lý ảnh, phân tích tài liệu văn bản, đặc biệt là đối với các dạng văn bản viết tay Hiện nay, nhu cầu cần nhận dạng nội dung văn bản từ các ảnh là rất lớn
và thiết thực Để nâng cao độ tin cậy của các phương pháp phân tích nhận dạng
đã có những công trình nghiên cứu theo hướng ứng dụng lớp bài toán đánh giá lựa chọn thông tin để lựa chọn những tổ hợp thông tin chất lượng cao trước khi tiến hành phân tích nhận dạng Cũng từ đó đề xuất những cách tiếp cận mới giải quyết bài toán nhận dạng trong xử lý số liệu văn bản và thu được kết quả tốt
Nhận dạng chữ viết và đặc biệt nhận dạng chữ viết tay là bài toán có nhiều ứng dụng thực tế Máy tính xử lý, nhận dạng các biểu mẫu, phiếu điều tra
tự động, bằng cách này ta có thể tiết kiệm được nhiều chi phí về thời gian, công sức cũng như các chi phí khác cho việc nhập dữ liệu
Ngày nay cùng với sự phát triển về mặt lý thuyết, công nghệ, có rất nhiều hướng đi cho việc giải quyết bài toán nhận dạng chữ viết dựa trên cấu trúc hay cách tiếp cận khác như dùng: logic mờ, giải thuật di truyền, mô hình xác suất thống kê, mô hình Markov ẩn HMM (Hidden Markov Models), mô hình mạng nơron NN (Neural Network Model), mô hình SVM (Support Vector Machine)
Thuật toán phân lớp là yếu tố có vai trò quyết định đến chất lượng của một hệ thống nhận dạng Các phương pháp nhận dạng truyền thống như đối sánh mẫu, nhận dạng cấu trúc đã được ứng dụng khá phổ biến trong các hệ thống nhận dạng và cũng đã thu được những thành công nhất định Tuy vậy, với những trường hợp văn bản đầu vào có chất lượng không tốt (nhiễu, đứt nét, dính nét ) thì các thuật toán này tỏ ra không hiệu quả Để khắc phục điều này, trong những năm gần đây nhiều nhóm nghiên cứu đã sử dụng các thuật toán phân lớp dựa trên mô hình SVM cho các bài toán nhận dạng nói chung và nhận dạng chữ viết
Trang 9Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
tay nói riêng Trong luận văn này, học viên xin trình bày thuật toán SVM đối với việc nhận dạng chữ viết tay hạn chế
MỤC LỤC
LỜI CÁM ƠN i
LỜI CAM ĐOAN ii
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iii
DANH MỤC CÁC HÌNH iv
MỞ ĐẦU 1
MỤC LỤC 2
Chương 1 GIỚI THIỆU VỀ CHỮ VIẾT VÀ NHẬN DẠNG CHỮ VIẾT 5
1.1 Trình bày về lịch sử của nhận dạng chữ viết tay 5
1.2 Giới thiệu các hướng tiếp cận trong việc nhận dạng chữ viết tay 5
1.2.1 Nhận dạng chữ in 5
1.2.2 Nhận dạng chữ viết tay 6
1.3 Tiền xử lý 7
1.3.1 Nhị phân hóa ảnh 7
1.3.2 Lọc nhiễu 8
1.3.3 Chuẩn hóa kích thước ảnh 8
1.3.4 Làm trơn biên chữ 9
1.3.5 Làm đầy chữ 9
1.3.6 Làm mảnh chữ 9
1.3.7 Điều chỉnh độ nghiêng của văn bản 9
1.4 Khối tách chữ 10
1.4.1 Tách chữ theo chiều nằm ngang và thẳng đứng 10
1.4.2 Tách chữ dùng lược đồ sáng 11
1.5 Trích chọn đặc trưng 11
1.5.1 Biến đổi toàn cục và khai triển chuỗi 12
1.5.2 Đặc trưng thống kê 13
1.5.3 Đặc trưng hình học và hình thái 14
Trang 10Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.6 Huấn luyện và nhận dạng 15
1.7 Hậu xử lý 15
1.8 Một số thuật toán phân lớp nhận dạng chữ viết tay 16
1.8.1 Giới thiệu 16
1.8.2 Các mô hình nhận dạng chữ viết tay 16
1.8.3 Đánh giá, so sánh các phương pháp nhận dạng chữ 22
Chương 2 MÔ HÌNH SVM VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ 25
2.1 Giới thiệu chung 25
2.2 Lý thuyết chiều VC (Vapnik Chervonenkis dimension) 26
2.3 Hàm phân lớp 27
2.4 Siêu phẳng phân cách 28
2.5 Support vector 30
2.6 SVM với dữ liệu không nhiễu 32
2.7 SVM với dữ liệu có nhiễu 34
2.8 Biên độ (Margin) 34
2.9 Phân lớp dữ liệu tuyến tính và không tuyến tính 35
2.10 Sự cần thiết của SVM nhận dạng chữ viết tay hạn chế 37
2.10.1 Học máy có giám sát 37
2.10.2 Phân lớp dữ liệu 37
2.10.3 Nhận xét 40
2.10.4 Bài toán cho mô hình SVM 40
2.10.5 Xây dựng mô hình học cho SVM 43
46
2.11.1 Tiền xử lý 46
2.11.2 Trích chọn đặc trưng 47
2.11.3 Lựa chọn thuật toán huấn luyện phân lớp 47
2.11.4 Thuật toán nhận dạng chữ viết tay rời rạc 47
2.12 Áp dụng SVM vào nhận dạng chữ Việt viết tay rời rạc 49
2.12.1 Tiền xử lý 49
Trang 11Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.12.2 Phân nhóm sơ bộ 52
2.12.3 Trích chọn đặc trưng 52
2.12.4 Xây dựng các máy phân lớp SVM 55
Chương 3 – CHƯƠNG TRÌNH THỬ NGHIỆM 56
3.1 Giới thiệu về hệ nhận dạng dùng LIBSVM 56
3.2 Các chức năng chính của hệ nhận dạng 57
3.3 Sử dụng libsvm-3.18 57
3.4 Kết quả chạy thử nghiệm trên tập dữ liệu libsvm 60
3.4.1 Kết quả thực nghiệm được tiến hành trên tập dữ liệu mnist 61
3.4.2 Kết quả thực nghiệm được tiến hành trên tập dữ liệu usps 62
3.5 Chương trình nhận dạng 64
3.5.1 Chức năng chương trình 64
- Tiền xử lý (Convert Color Image to Black & white): Chuyển đổi ảnh từ ảnh màu sang ảnh nhị phân và chuẩn hóa kích thước ảnh với kích cỡ 16x16 64
3.5.2 Chức năng Tiền xử lý: 64
3.5.3 Chức năng trích chọn đặc trưng 65
3.5.4 Huấn luyện 65
3.5.4 Nhận dạng 66
KẾT LUẬN VÀ ĐỀ NGHỊ 68
TÀI LIỆU THAM KHẢO 69
Trang 12Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chương 1 GIỚI THIỆU VỀ CHỮ VIẾT VÀ NHẬN DẠNG CHỮ VIẾT
1.1 Trình bày về lịch sử của nhận dạng chữ viết tay
Ngày nay khoa học công nghệ phát triển mạnh cũng không ngoài mục đích khác
là để đáp ứng nhu cầu ngày càng cao của con người Mỗi quốc gia đều phải có ít nhất một ngôn ngữ, chữ viết để giao tiếp, từ năm 1922 khái niệm nhận dạng chữ đã được hình thành cho đến năm 1950, khi máy tính lần đầu tiên được giới thiệu tính năng mới
về nhập và lưu trữ dữ liệu hai chiều bằng cây bút viết trên một tấm bảng cảm ứng [4] Công nghệ mới này cho phép các nhà nghiên cứu làm việc trên các bài toán nhận dạng chữ viết tay online Mô hình nhận dạng chữ viết được đề xuất từ năm 1951 do phát minh của M.Sheppard được gọi là GISMO, một robot đọc-viết Năm 1954, máy nhận dạng chữ đầu tiên đã được phát triển bởi J.Rainbow dùng để đọc chữ in hoa nhưng rất chậm Năm 1967, Công ty IBM đã thương mại hóa hệ thống nhận dạng chữ Từ năm 1980-1990, với sự phát triển của các thiết bị phần cứng máy tính và các thiết bị thu nhận dữ liệu, các phương pháp luận nhận dạng được phát triển trong giai đoạn trước đã
có được môi trường lý tưởng để triển khai các ứng dụng nhận dạng chữ Các hướng tiếp cận theo cấu trúc và đối sánh được áp dụng trong nhiều hệ thống nhận dạng chữ
Từ 1990 đến nay, các kỹ thuật nhận dạng kết hợp với các phương pháp luận trong lĩnh vực học máy (Machine Learning) được áp dụng rất hiệu quả, một số công cụ học máy hiệu quả như mạng Nơ ron, mô hình Markov ẩn và SVM (Support Vector Machines)…
1.2 Giới thiệu các hướng tiếp cận trong việc nhận dạng chữ viết tay
1.2.1 Nhận dạng chữ in
Phục vụ cho công việc tự động hóa đọc tài liệu, tăng tốc độ và chất lượng nhập thông tin vào máy tính trực tiếp từ các nguồn tài liệu Vấn đề này đã được giải quyết gần như trọn vẹn (sản phẩm FineReader 9.0 của hãng ABBYY có thể nhận dạng chữ
in theo 192 ngôn ngữ khác nhau, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 của Viện Công Nghệ Thông tin Hà Nội có thể nhận dạng được các tài liệu chứa hình ảnh, bảng và văn bản với độ chính xác trên 98%)
Trang 13Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.2.2 Nhận dạng chữ viết tay
Với những mức độ ràng buộc khác nhau về cách viết, kiểu chữ,… phục vụ cho các ứng dụng đọc và xử lý các chứng từ, hóa đơn, phiếu ghi, văn bản viết tay,… Nhận dạng chữ viết tay được tách ra hai hướng phát triển: nhận dạng chữ viết tay trực tuyến (online) và chữ viết tay ngoại tuyến (offline) Trong đó nhận dạng chữ viết tay trực tuyến là khi viết lên màn hình thì máy tính sẽ chuyển những hình ảnh viết tay thành dạng text Khác với chữ offline, chữ online có thêm thông tin về thứ tự các điểm, các nét được viết Hiện nay việc nhận dạng chữ viết tay tiếng Anh online hầu như đã giải quyết xong và đã được tích hợp vào máy tính cầm tay thậm chí là máy để bàn và điện thoại di động Nhưng đối với tiếng Việt thì chưa có một phần mềm nào tương tự Còn trong nhận dạng chữ viết tay offline chúng ta nghiên cứu về nhận dạng chữ viết tay tự nhiên và nhận dạng chữ viết tay hạn chế Nhận dạng chữ viết tay tự nhiên là dùng để
xử lý các văn bản viết tay thông thường, công việc này cực kỳ khó khăn nếu không nói
là không thể
Nhận dạng chữ viết tay hạn chế là dạng các form điều tra xã hội, có các thông tin
về chữ số, tên người, địa chỉ, điện thoại,… Những người được điều tra sẽ điền các thông tin bằng chữ viết tay vào form Để nhập thông tin hàng trăm nghìn các phiếu điều tra vào máy tính sẽ mất rất nhiều thời gian khi làm thủ công bằng tay Nếu ta dùng một chương trình để nhận dạng các chữ viết tay trên các phiếu điều tra đó thì công việc sẽ đơn giản hơn Các chữ trong phiếu điều tra thường là các chữ viết tay hạn chế: viết rõ ràng, rời nhau, hoặc không dính liền nhau nhiều, thậm chí là viết hoa Hiện nay, phần mềm MarkRead cũng đã có tích hợp đặc trưng nhận dạng chữ viết tay hạn chế, nhưng kết quả mới chỉ dừng lại ở phòng thí nghiệm Nhận dạng chữ viết tay vẫn còn là vấn đề thách thức lớn đối với các nhà nghiên cứu Bài toán này chưa thể giải quyết trọn vẹn được vì nó hoàn toàn phụ thuộc vào người viết và sự biến đổi quá đa dạng trong cách viết và trạng thái sức khỏe, tinh thần của từng người viết
Việc xây dựng hệ thống có thể được mô tả trực quan bằng sơ đồ hình 1.1 Trong
hệ thống này phần chúng ta cần tập trung quan tâm nhất là phần hệ huấn luyện và nhận dạng Chúng ta sẽ sử dụng mô hình SVM trong việc huấn luyện và nhận dạng đó
Trang 14Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 1.1 Các giai đoạn trong quá trình xử lý và nhận dạng ảnh
Vì vậy muốn xây dựng được hệ thống có khả thi thì chúng ta cần phải tìm hiểu
về SVM nói chung và ứng dụng của SVM nói riêng trong việc nhận dạng chữ viết
1.3 Tiền xử lý
Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống nhận dạng, tuy nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống chậm lại Vì vậy, tùy thuộc vào chất lượng ảnh quét vào của từng văn bản cụ thể để chọn một hoặc một vài chức năng trong khối này Nếu cần ưu tiên tốc độ xử lý và chất lượng của máy quét tốt thì
có thể bỏ qua giai đoạn này Khối tiền xử lý bao gồm một số chức năng: Nhị phân hóa ảnh, lọc nhiễu, chuẩn hóa kích thước ảnh, làm trơn biên chữ, làm đầy chữ, làm mảnh chữ và xoay văn bản
Trang 15Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.3.3 Chuẩn hóa kích thước ảnh
Hình 1.4 Chuẩn hóa kích thước ảnh các ký tự “A” và “P”
Việc chuẩn hóa kích thước ảnh dựa trên việc xác định trọng tâm ảnh, sau đó xác định khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái, phải của hình chữ
Trang 16Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
nhật bao quanh ảnh Thông qua khoảng cách lớn nhất đó, có thể xác định được một tỷ
lệ co, giãn của ảnh gốc so với kích thước đã xác định, từ đó hiệu chỉnh kích thước ảnh theo tỷ lệ co, giãn này Như vậy, thuật toán chuẩn hóa kích thước ảnh luôn luôn đảm bảo được tính cân bằng khi co giãn ảnh, ảnh sẽ không bị biến dạng hoặc bị lệch
1.3.4 Làm trơn biên chữ
Đôi khi do chất lượng quét ảnh quá xấu, các đường biên của chữ không còn giữ được dáng điệu trơn tru ban đầu mà hình thành các đường răng cưa giả tạo Trong các trường hợp này, phải dùng các thuật toán làm trơn biên để khắc phục [12]
1.3.6 Làm mảnh chữ
Đây là một bước quan trọng nhằm phát hiện khung xương của ký tự bằng cách loại bỏ dần các điểm biên ngoài của các nét Tuy nhiên, quá trình làm mảnh chữ rất nhạy cảm với việc khử nhiễu
Hình 1.6 Làm mảnh chữ
1.3.7 Điều chỉnh độ nghiêng của văn bản
Do trang tài liệu quét vào không cẩn thận hoặc do sự cố in ấn, các hàng chữ bị lệch so với lề chuẩn một góc α, điều này gây khó khăn cho công đoạn tách chữ, đôi khi
Trang 17Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
không thể tách được Trong những trường hợp như vậy, phải tính lại tọa độ điểm ảnh của các chữ bị sai lệch
Có nhiều kỹ thuật để điều chỉnh độ nghiêng, kỹ thuật phổ biến nhất dựa trên cơ
sở biểu đồ chiếu (projection profile) của ảnh tài liệu; một số kỹ thuật dựa trên cơ sở các phép biến đổi Hough và Fourier
Hình 1.7 Hiệu chỉnh độ nghiêng của văn bản
1.4 Khối tách chữ
Khối này có nhiệm vụ tách từng ký tự ra khỏi văn bản Chỉ khi nào văn bản được tách và cô lập đúng từng ký tự đơn ra khỏi tổng thể văn bản thì hệ thống mới có thể nhận dạng đúng ký tự đó Sau đây là một số phương pháp tách chữ thông dụng
1.4.1 Tách chữ theo chiều nằm ngang và thẳng đứng
Phương pháp này thường áp dụng cho chữ in Khác với chữ viết tay, kích thước
và kiểu chữ cố định, phải tuân theo một số quy định in ấn, các chữ phải nằm gọn trong một khung nên việc cô lập một ký tự đơn có thể đồng nhất với việc tìm ra khung bao của chữ đó tại vị trí của nó trong văn bản Tách chữ theo chiều nằm ngang và thẳng đứng là tìm một hình chữ nhật có cạnh thẳng đứng và nằm ngang chứa trọn một ký tự
ở bên trong
Trang 18Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.4.2 Tách chữ dùng lược đồ sáng
Hình 1.8 Tách dòng chữ dựa trên histogram theo chiều ngang của khối chữ
Đối với chữ viết tay thì việc tìm đường phân cách giữa các dòng và các ký tự trong văn bản thường rất khó khăn Trong trường hợp này, không thể tìm đường phân cách theo nghĩa thông thường mà phải hiểu là đường phân cách với số điểm cắt hai dòng là ít nhất Khi đó phải xây dựng lược đồ sáng của các dòng chữ, từ đó các đoạn thấp nhất trên lược đồ chính là đường phân cách cần tìm (hình 1.8 và 1.9)
Hình 1.9 Xác định khoảng cách giữa hai kí tự và giữa hai từ dựa trên histogram
theo chiều thẳng đứng của dòng chữ
1.5 Trích chọn đặc trưng
Trích chọn đặc trưng đóng vai trò cực kỳ quan trọng trong một hệ thống nhận dạng Trong trường hợp đơn giản nhất, ảnh đa cấp xám hoặc ảnh nhị phân được sử dụng cho việc nhận dạng Tuy nhiên, trong hầu hết các hệ nhận dạng, để giảm độ phức tạp và tăng độ chính xác của các thuật toán phân lớp thì đòi hỏi các đặc trưng được trích chọn phải rút gọn lại càng nhỏ càng tốt nhưng vẫn phải đảm bảo được thông tin
Trang 19Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
của ký tự Với mục tiêu này, một tập các đặc trưng được trích chọn cho mỗi lớp sao cho có thể phân biệt được với các lớp khác Có hàng trăm phương pháp trích chọn đặc trưng cho ảnh văn bản, nhưng chung quy lại, các phương pháp này được gom lại thành
ba nhóm chính sau
1.5.1 Biến đổi toàn cục và khai triển chuỗi
Một tín hiệu liên tục thường chứa nhiều thông tin và chúng có thể sử dụng làm các đặc trưng cho mục đích phân lớp Các đặc trưng được trích chọn cũng có thể đúng đối với việc xấp xỉ các tín hiệu liên tục thành các tín hiệu rời rạc Một cách để biểu diễn một tín hiệu là sử dụng một tổ hợp tuyến tính của một dãy các hàm đơn giản hơn Các hệ số của tổ hợp tuyến tính cung cấp một tri thức giải mã vừa đủ, chẳng hạn như các phép biến đổi hoặc khai triển chuỗi Một số biến dạng khác như các phép dịch chuyển và phép quay là bất biến dưới các phép biến đổi toàn cục và khai triển chuỗi Sau đây là một số phương pháp biến đổi và khai triển chuỗi thường được áp dụng trong lĩnh vực nhận dạng chữ:
- Biến đổi Fourier: Một trong những tính chất nổi bật nhất của phép biến đổi
Fourier là khả năng nhận dạng các ký tự có sự thay đổi về các tư thế khác nhau, các phép biến đổi này đã được áp dụng để nhận dạng ký tự theo nhiều cách khác nhau
- Biến đổi Wavelet: Phép biến đổi này là một dãy các kỹ thuật khai triển cho
phép mô tả đặc trưng của ảnh ở các mức độ khác nhau Các công đoạn tách chữ thành các ký tự hoặc từ được mô tả bằng các hệ số Wavelet theo các mức độ khác nhau đối với từng giải pháp Sau đó các hệ số Wavelet được chuyển qua một máy phân lớp để phục vụ cho việc nhận dạng
- Phương pháp mô men: Theo phương pháp này, ảnh gốc sẽ được thay thế bằng
một tập các đặc trưng vừa đủ để nhận dạng các đối tượng bất biến đối với các phép thay đổi tỷ lệ, tịnh tiến hoặc quay Các mô men được xét như các dãy khai triển đặc trưng vì ảnh gốc có thể xây dựng lại một cách đầy đủ từ các hệ số mô men
- Khai triển Karhunent - Loeve: Việc khai triển này nhằm phân tích các véc tơ
riêng để rút gọn số chiều của tập đặc trưng bằng cách tạo ra các đặc trưng mới là tổ hợp tuyến tính của các đặc trưng gốc Đây chỉ là một phép biến đổi tối ưu trong một số
Trang 20Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
giới hạn nào đó của việc nén thông tin Khai triển Karhunent-Loeve được dùng trong một số bài toán nhận dạng mẫu như nhận dạng mặt người, nó cũng được sử dụng trong
hệ thống OCR của Viện Công nghệ và tiêu chuẩn Quốc gia Hoa Kỳ (NIST – National Institute of Standards and Technology of the United States) Vì việc khai triển này đòi hỏi phải sử dụng các thuật toán có khối lượng tính toán rất lớn nên việc sử dụng các đặc trưng Karhunent-Loeve trong các bài toán nhận dạng chữ không được phổ biến rộng rãi Tuy nhiên, để tăng tốc độ tính toán cho các máy phân lớp, các đặc trưng này trở nên thiết thực hơn cho các hệ nhận dạng chữ trong những năm gần đây
1.5.2 Đặc trưng thống kê
Các đặc trưng thống kê của ảnh văn bản bảo toàn các kiểu biến đổi đa dạng về hình dáng của chữ Mặc dù các kiểu đặc trưng này không thể xây dựng lại ảnh gốc, nhưng nó được sử dụng để thu nhỏ số chiều của tập đặc trưng nhằm tăng tốc độ và giảm thiểu độ phức tạp tính toán Sau đây là một số đặc trưng thống kê thường dùng
để biểu diễn ảnh ký tự:
- Phân vùng (zoning): Khung chứa ký tự được chia thành một vài vùng chồng
nhau hoặc không chồng nhau Mật độ của các điểm ảnh trong các vùng khác nhau được phân tích và tạo thành các đặc trưng [6]
- Các giao điểm và khoảng cách: Một đặc trưng thống kê phổ biến là số giao
điểm giữa chu tuyến của chữ với một đường thẳng theo một hướng đặc biệt nào đó Trong [15], khung chứa ký tự được phân chia thành một tập các vùng theo các hướng khác nhau và sau đó các dãy đen trong mỗi vùng được mã hóa bởi các số lũy thừa của
2 Tương tự như vậy, khoảng cách từ biên của khung chứa ảnh tới điểm đen đầu tiên của chu tuyến chữ trên cùng một dòng quét cũng được sử dụng như những đặc trưng thống kê [6]
- Các phép chiếu: Các ký tự có thể được biểu diễn bằng cách chiếu các giá trị
mức xám của từng điểm lên trên các dòng theo các hướng khác nhau Các đặc trưng này tạo ra dãy tín hiệu một chiều từ ảnh hai chiều [6]
- Đặc trưng hướng: Các ký tự bao gồm các nét chữ, các nét này là các đoạn
thẳng có hướng, các cung hoặc các đường cong Hướng của các nét đóng vai trò quan
Trang 21Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
trọng trong việc so sánh sự khác nhau giữa các ký tự Các ký tự được mô tả như các véc tơ mà các phần tử của nó là các giá trị thống kê về hướng Để trích chọn các đặc trưng này, góc định hướng của nét chữ phải được phân chia thành một số vùng cố định
và số các đoạn của nét chữ trong mỗi vùng góc được chọn như một giá trị đặc trưng
Vì vậy, tập các số lượng của các đoạn định hướng sẽ tạo thành một biểu đồ được gọi là biểu đồ hướng và các đặc trưng về biểu đồ hướng có thể gọi chung là đặc trưng hướng Các ảnh ký tự được phân rã thành các mặt phẳng định hướng và một độ đo khoảng cách được tính giữa các mặt phẳng đó với mẫu của mỗi lớp Hướng nét chữ cục bộ của một ký tự có thể được xác định bằng nhiều cách khác nhau: hướng của xương, phân đoạn nét chữ, mã hóa chu tuyến, hướng đạo hàm [12] Hiện nay, các đặc trưng mã hóa chu tuyến và hướng đạo hàm được áp dụng rộng rãi vì chúng dễ cài đặt và xấp xỉ bất
biến với sự biến đổi đa dạng của các nét chữ
1.5.3 Đặc trưng hình học và hình thái
Các tính chất cục bộ và toàn cục khác nhau của các ký tự có thể được biểu diễn bằng các đặc trưng hình học và hình thái Các kiểu đặc trưng này cũng có thể giải mã một số tri thức về cấu trúc của đối tượng ảnh hoặc có thể cung cấp một số tri thức như sắp xếp các thành phần để tạo ra đối tượng Các loại đặc trưng này có thể phân thành các nhóm sau:
- Trích chọn và đếm các cấu trúc hình thái: trong nhóm đặc trưng này, một
cấu trúc đã xác định được tìm kiếm trong một ký tự hoặc một từ Số lượng vị trí hoặc quan hệ vị trí của các cấu trúc trong ký tự này tạo thành các đặc trưng biểu diễn ký tự Thông thường, các cấu trúc nguyên thủy (các đoạn thẳng, các cung) là các nét tạo ra
ký tự Các ký tự và các từ có thể được mô tả bằng cách trích chọn và đếm nhiều loại đặc trưng về hình thái như các điểm cực đại và cực tiểu, các điểm chóp trên và chóp dưới của một ngưỡng nào đó, mở rộng cho các điểm trái, phải, trên, dưới và các giao điểm, các điểm nhánh, điểm cuối đoạn thẳng, hướng của một nét từ một điểm đặc biệt, các điểm cô lập, đã tạo nên các ký tự [7],[8]
- Đo và xấp xỉ các tính chất hình học: trong nhiều công trình nghiên cứu [13],
các ký tự được biểu diễn bằng độ đo của các đại lượng hình học như tỷ số giữa chiều
Trang 22Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
rộng và chiều cao của hộp chứa ký tự, quan hệ khoảng cách giữa hai điểm, so sánh độ dài giữa hai nét, độ rộng của một nét, khối lượng chữ hoa và chữ thường của các từ, độ dài từ Một độ đo tiêu biểu rất quan trọng nữa là độ cong hoặc thay đổi độ cong [14] Các đại lượng hình học đo được có thể xấp xỉ bởi một tập các đặc trưng hình học vừa
đủ và thuận tiện hơn [11]
- Đồ thị và cây: đầu tiên, các từ hoặc các ký tự được phân chia thành một tập các
đối tượng nguyên thủy như các nét, các điểm chạc Sau đó, các thành phần nguyên thủy được thay thế bằng các thuộc tính hoặc các đồ thị liên quan Có hai loại đặc trưng ảnh được mô tả bằng đồ thị Loại thứ nhất sử dụng các tọa độ của hình dáng ký tự Loại thứ hai là một đặc trưng trừu tượng, các nút của đồ thị tương ứng với các nét chữ
và các cạnh của đồ thị tương ứng với các mối quan hệ giữa các nét chữ Cây cũng có thể dùng để biểu diễn các từ và các ký tự với một tập các đặc trưng theo một quan hệ phân cấp
Trích chọn đặc trưng hầu hết được thực hiện trên ảnh nhị phân Tuy nhiên, việc nhị phân hóa ảnh đa cấp xám có thể xóa đi một số thông tin quan trọng của các ký tự Trong trường hợp này, cũng có một số công trình nghiên cứu để trích chọn các đặc trưng trực tiếp từ các ảnh đa cấp xám
Cuối cùng, mục đích chính của việc trích chọn đặc trưng là lựa chọn một tập đặc trưng phục vụ cho việc phân lớp sao cho hệ thống nhận dạng đạt độ chính xác cao nhất với số lượng phần tử được trích chọn ít nhất
1.6 Huấn luyện và nhận dạng
Đây là giai đoạn quan trọng nhất, giai đoạn này quyết định độ chính xác của hệ thống nhận dạng Có nhiều phương pháp phân lớp khác nhau được áp dụng cho các hệ thống nhận dạng chữ viết tay
1.7 Hậu xử lý
Đây là công đoạn cuối cùng của quá trình nhận dạng Có thể hiểu hậu xử lý là bước ghép nối các kí tự đã nhận dạng thành các từ, các câu, các đoạn văn nhằm tái hiện lại văn bản đồng thời phát hiện ra các lỗi nhận dạng sai bằng cách kiểm tra chính
tả dựa trên cấu trúc và ngữ nghĩa của các từ, các câu hoặc các đoạn văn Việc phát hiện
Trang 23Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ra các lỗi, các sai sót trong nhận dạng ở bước này góp phần đáng kể vào việc nâng cao chất lượng nhận dạng
Cách đơn giản nhất để kết nối các thông tin ngữ cảnh là tận dụng một từ điển để điều chỉnh các lỗi của hệ thống nhận dạng Ý tưởng cơ bản này dựa trên cơ sở đánh vần kiểm tra đầu ra của hệ thống nhận dạng và cung cấp một số khả năng cho các đầu
ra của máy nhận dạng khi các đầu ra này không nằm đúng vị trí trong từ điển Việc kiểm tra lỗi chính tả phù hợp với một số ngôn ngữ như Anh, Pháp, Đức, Việt Nam,
1.8 Một số thuật toán phân lớp nhận dạng chữ viết tay
1.8.1 Giới thiệu
Thuật toán phân lớp là yếu tố có vai trò quyết định đến chất lượng của một hệ thống nhận dạng Các phương pháp nhận dạng truyền thống như đối sánh mẫu, nhận dạng cấu trúc đã được ứng dụng khá phổ biến trong các hệ thống nhận dạng và cũng
đã thu được những thành công nhất định Tuy vậy, với những trường hợp văn bản đầu vào có chất lượng không tốt (nhiễu, đứt nét, dính nét ) thì các thuật toán này tỏ ra không hiệu quả
Để khắc phục điều này, trong những năm gần đây nhiều nhóm nghiên cứu đã sử dụng các thuật toán phân lớp dựa trên mô hình Markov ẩn HMM, mô hình mạng nơron NN, mô hình SVM cho các bài toán nhận dạng nói chung và nhận dạng chữ nói riêng trong đó có nhận dạng các hệ chữ Latinh như Anh, Pháp
1.8.2 Các mô hình nhận dạng chữ viết tay
a Phân lớp dựa trên mô hình Markov ẩn
Mô hình Markov ẩn (HMM) là một mô hình thống kê điển hình được Baum đề xuất năm 1970 và hiện đang được sử dụng phổ biến trong nhận dạng mẫu, đặc biệt là nhận dạng tiếng nói, nhận dạng chữ viết, phân loại ảnh, nhận dạng chuỗi ADN Mỗi
mô hình HMM bao gồm các trạng thái, xác suất chuyển giữa các trạng thái, xác suất phân bố các kí hiệu quan sát được trên các trạng thái
Một mô hình HMM với N trạng thái {S1, ,Sn} có thể được biểu diễn bằng một
bộ ba = ( , A, B), trong đó = ( 1, , N) là vector chứa phân bố xác suất các quan sát tại mỗi trạng thái ở thời điểm khởi tạo Ma trận chuyển trạng thái A= (ai,j) 0 < i ≤
Trang 24Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
N, 0 < j ≤ N bao gồm các xác suất ai,j chuyển từ trạng thái Si sang trạng thái Sj Thành phần thứ ba là một ma trận B = (bi (ol)) 1 ≤ i ≤ N, 1 ≤ l ≤ T bao gồm các giá trị xác suất rời rạc đối với 1 số hữu hạn các quan sát O = (o1, o2, , oT) hoặc một vector các hàm mật độ đối với một chuỗi liên tục các quan sát Mỗi HMM có thể sinh ra một chuỗi các kí hiệu đầu ra, các kí hiệu này quan sát được, chuỗi trạng thái sinh ra quan sát này là ẩn
b Phân lớp dựa trên mô hình mạng nơron
Mạng nơron nhân tạo (Artificial Neural Network) là một mô hình tính toán mô phỏng theo hoạt động của bộ não và nơron sinh học của con người Cấu trúc của một
mô hình mạng nơron bao gồm nhiều nút (đơn vị xử lý, nơron) được nối với nhau bởi các liên kết nơron (hình 1.10)
Hình 1.10 Mô hình mạng nơron nhân tạo
Mỗi liên kết kèm theo một trọng số nào đó, đặc trưng cho đặc tính kích hoạt/ức chế các nơron Có thể xem các trọng số là để lưu giữ thông tin dài hạn trong mạng nơron và nhiệm vụ của quá trình huấn luyện mạng là cập nhật các trọng số khi có thêm các thông tin về các mẫu học, hay nói một cách khác là các trọng số được điều chỉnh sao cho dáng điệu vào ra của nó mô phỏng hoàn toàn phù hợp với môi trường đang xét
Về lý thuyết, người ta đã chứng minh được rằng chỉ cần sử dụng mạng nơron hai lớp truyền thẳng (gồm một lớp ẩn và một lớp ra) là đủ để giải quyết các bài toán phân lớp trên tập dữ liệu đầu vào không khả tách tuyến tính Thực tế cho thấy mô hình mạng nhiều tầng truyền thẳng MLP (Multi Layer Perceptron) 3 lớp là mô hình phổ biến, được sử dụng nhiều trong các bài toán phân lớp (Hình 1.11) Về nguyên tắc, để
Trang 25Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
giải quyết bài toán phân lớp tập dữ liệu đầu vào thành K lớp, ta sẽ xây dựng 1 mạng nơron 3 lớp
Hình 1.11 Mô hình mạng MLP 3 lớp
Trong đó lớp thứ nhất có nhiệm vụ tạo ra một tập các đường biên tuyến tính để phân tách các vector mẫu của tất cả các lớp với nhau Lớp thứ hai (lớp các nơron AND) có nhiệm vụ liên kết các đầu ra của các nơron lớp thành các nhóm Lớp thứ ba
sẽ liên kết các vùng quyết định (decision regions) của lớp thứ 2 thành 1 vùng quyết định duy nhất sử dụng các hàm OR (hình 1.12)
Trang 26Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Quá trình huấn luyện mạng gồm hai quá trình: quá trình truyền thẳng và quá trình truyền ngƣợc Trong quá trình truyền thẳng, các đầu vào sẽ đƣợc cung cấp cho các nơron của mạng và tín hiệu sẽ đƣợc lan truyền lần lƣợt trên từng lớp mạng Quá trình lan truyền ngƣợc sai số và cập nhật các tham số của mạng đƣợc thực hiện lặp đi lặp lại cho đến khi sai số đạt đƣợc ≤ sai số tối thiểu của mạng (đa đƣợc xác định) Sau khi mạng đƣợc huấn huấn thành công, các tri thức tích luỹ đƣợc trong quá trình luyện mạng (các ma trận trọng số, các tham số tự do, ) sẽ đƣợc cập nhật vào cơ sở tri thức
để sử dụng trong quá trình nhận dạng
c Phân lớp dựa trên mô hình SVM
SVM là một kỹ thuật phân lớp nhị phân các đối tƣợng trong không gian Rn dựa trên lý thuyết cực tiểu hoá rủi ro theo cấu trúc (Structural Risk Minimization) của
Vapnik Về cơ bản, SVM học theo luật quyết định tuyến tính đƣợc
mô tả bởi vector trọng số và một ngƣỡng Đối với một mẫu huấn luyện Sn, thuật toán SVM sẽ tìm một siêu phẳng sao cho khoảng phân cách (soft-margin) (hình 1.13)
Trang 27Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Với giả thiết:
Điều kiện giả thiết thứ nhất yêu cầu tất cả các mẫu huấn luyện đều phải được phân vào các lớp một cách đúng đắn Nếu một mẫu huấn luyện nằm ở vị trí sai so
với siêu phẳng thì tương ứng sẽ ≥ 1 Như vậy, là đường bao phía trên của các mẫu huấn luyện sai C là một tham số được lựa chọn, giá trị của C càng lớn thì sự phạt lỗi (panalties) càng nặng Biểu thức (2.1) là khá phức tạp, để đơn giản hơn thay vì giải trực tiếp, người ta thường giải quyết biểu thức đối ngẫu của nó sau đây:
Với điều kiện:
Tất cả các mẫu huấn luyện với αi > 0 ở đây được gọi là các vector hỗ trợ (support vectors) Các vector hỗ trợ được phân biệt dựa trên hệ số αi , các vector hỗ trợ với 0 <
αi < C được gọi là các vector hỗ trợ không nằm trên biên (unbounded support vectors), các vector hỗ trợ với αi = C được gọi là các vector nằm trên biên (bounded support vectors)
Từ ở biểu thức (2.2), luật quyết định , có thể tính được (2.1) thông qua công thức:
Trong đó, mỗi mẫu huấn luyện để tính b phải là một support vector
không nằm trên biên Về bản chất thì SVM là một phương pháp phân lớp tuyến tính nhưng chúng ta cũng có thể dễ ràng tổng quát hóa thuật toán này cho trường hợp phân
Trang 28Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
lớp không tuyến tính bằng cách thay thế tích vô hướng bằng hàm nhân
Các hàm nhân sẽ ánh xạ các điểm dữ liệu vào một không gian thuộc tính
số chiều lớn hơn (higher dimension feature space) và xác định siêu phẳng phân tách tối
ưu trong không gian đó (hình 1.14) Một số hàm nhân thường được sử dụng như hàm gaussian, hàm đa thức, hàm sigmoid,v.v
Hình 1.14 Ánh xạ các điểm dữ liệu không thể phân tách tuyến tính vào không
gian số chiều lớn hơn có thể phân tách được tuyến tính
Với bài toán phân nhiều lớp, có nhiều phương pháp đã được phát triển bằng cách kết hợp các SVM hai lớp và dùng các phương pháp loại trừ để có được lớp đúng nhất Các phương pháp được sử dụng như one-vs-one (Hình 1.15-a), phân lớp bằng việc so sánh từng cặp; one-vs-all (Hình 1.15-b), phân lớp bằng việc so sánh giữa mỗi lớp với tất cả các lớp còn lại hoặc kết hợp 2 phương pháp trên
Hình 1.15 a) One-vs-One b) One-vs-All
Trang 29Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Mạng nơ ron tỏ ra 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á véc tơ và phân hoạch không gian dữ liệu, trong khi các phương pháp truyền thống không đủ khả năng giải quyết các vấn đề nêu trên một cách hiệu quả
Đặc biệt trong các hệ thống nhận dạng sử dụng mạng nơ ron đã đạt được tỉ lệ nhận dạng khá chính xác, có thể so sánh với các phương pháp nhận dạng cấu trúc, thống
Tính chậm và sắc xuất không cao không có quy tắc tổng quá để 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
Trang 30Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
kê,…,thiết kế và coding đơn giản
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ớ
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
Hạn chế lớn nhất của SVM là tốc độ phân lớp rất chậm, tùy thuộc vào số lượng các véc tơ tựa Mặt khác, giai đoạn huấn luyện SVM đòi hỏi bộ nhớ rất lớn, do đó các bài toán huấn
Trang 31Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
machies) Bài toán huấn luyện SVM thực chất
là bài toán QP trên một tập lồi, do đó SVM luôn có nghiệm toàn cục và duy nhất, đây chính là điểm khác biệt rõ nhất giữa SVM so với phương pháp mạng nơ ron, vì mạng nơ ron vốn tồn tại nhiều điểm cực trị địa phương
luyện với số lượng mẫu lớn sẽ gặp trở ngại trong vấn đề lưu trữ Hiệu quả phân lớp của SVM phụ thuộc vào hai yếu tố: giải bài toán QP và lựa chọn hàm nhân
Trang 32Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chương 2 MÔ HÌNH SVM VÀ ỨNG DỤNG TRONG NHẬN DẠNG CHỮ 2.1 Giới thiệu chung
Trong vài năm qua đã có sự phát triển rất quan trọng trong sự hiểu biết lý thuyết
về Máy véc tơ hỗ trợ (SVM) cũng như chiến lược thuật toán để thực hiện chúng, và các ứng dụng của phương pháp này để tiếp cận vấn đề thực tế SVM là một họ các phương pháp dựa trên cơ sở hàm nhân (kernel) để tối thiểu hóa rủi ro ước lượng Các thử nghiệm thực tế cho thấy, SVM là một trong những phương pháp phân lớp có độ chính xác rất cao và nó cũng được áp dụng nhiều trong các bài toán nhận dạng chữ viết tay Phương pháp SVM ra đời (1992) từ lý thuyết học thống kê do Vapnik và Chervonenkis xây dựng (1960) SVM có thể được xem như là trường hợp riêng của học máy (SVM là một phương pháp học máy có giám sát giải quyết được bài toán phân lớp), SVM là một phương pháp trong việc phân loại dữ liệu tuyến tính và không tuyến tính [16] Có nhiều phương pháp phân lớp dữ liệu như: phân lớp dựa vào cây quyết định, phân lớp dựa vào luật, phân lớp Bayesian, phân lớp theo lan truyền ngược, phân lớp K láng giềng gần nhất… Tuy nhiên trong lĩnh vực của luận văn thì SVM là phương pháp phân lớp được chọn để sử dụng SVM có nhiều tiềm năng cả trong lý thuyết và trong thực tiễn đặc biệt là trong lĩnh vực nhận dạng, phân loại và khai phá dữ liệu
Trình bày giới thiệu toàn diện SVM nói chung và ứng dụng của phương pháp phân lớp SVM trong việc nhận dạng nói riêng đòi hỏi sự tổng hợp của một phạm vi rộng kiến thức, bao gồm không gian đặc trưng (feature spaces), lý thuyết học (learning theory), lý thuyết tối ưu hóa (optimisation theory), và một số thuật toán (algorithmics) Hoạt động nghiên cứu về SVM vẫn đang được theo đuổi trong tất cả các lĩnh vực này
để tạo thành cơ sở cho khái niệm SVM [16]
Đặc trưng cơ bản quyết định khả năng phân loại của một bộ phân lớp 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 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
Trang 33Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
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 lớp) Đạ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ỏ [16]
2.2 Lý thuyết chiều VC (Vapnik Chervonenkis dimension)
Xét các hàm f (x): R {+1,-1}, có 2l cách để gán nhãn cho l điểm Nếu với mỗi một cách gán nhãn ta đều có thể tìm thấy một thành phần của tập hợp {f(x)} mà nhận dạng chính xác cách gán nhãn này Khi đó tập hợp của l điểm được nói là bị phá vỡ bởi tập hợp các hàm {f(x)} Chiều VC của {f(x)} là số lớn nhất của các điểm dữ liệu
mà có thể bị phá vỡ bởi nó Chiều VC của các siêu phẳng trong không gian Rn thường
là n+1 VC của các đường thẳng có hướng trong không gian 2 chiều (R2) là 3 (hình 2.1) [18]
Hình 2.1 Với 3 điểm không thẳng hàng trong R 2 thì luôn tách được bởi đường thẳng
Giả sử tập không gian giả thiết là tập các siêu phẳng có dạng fs(x)= w.x+b Nếu tất cả các véc tơ mẫu xi được bao trong hình cầu có bán kính R, và thỏa |wxi+b| 1 Đặt ║x║=A, khi đó chiều VC h của tập các siêu phẳng {fs} được giới hạn bởi:
Trang 34Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
h ≤ min([R2 A2], n) + 1
2.3 Hàm phân lớp
SVM là một phương pháp trong việc phân lớp dữ liệu tuyến tính và không tuyến tính Khoảng từ những năm 1990, các thuật toán phân lớp có độ chính xác cao, tốc độ học và bảo đảm toán học mạnh nhất chính là các thuật toán sử dụng hàm phân lớp tuyến tính Hàm phân lớp tuyến tính có ranh giới phân lớp là một siêu phẳng, vì vậy nó chỉ phân tách được hai lớp Tất nhiên, ta có thể kết hợp nhiều hàm phân lớp lại để tách được nhiều lớp hơn Xét hàm tuyến tính phân tách Rn thành hai nửa không gian, ta gán
1 ,
1 2
1 , luật phân lớp khi sử dụng hàm phân lớp tuyến tính là:
) ) , ((
)
f
0 1
0 1
) (
t
t t
Trong đó, f (x) là hàm phân lớp, (x là hàm ngưỡng, ) ,x là tích vô hướng của ,x, là trọng số trên các tọa độ đặc trưng của x , b là ngưỡng
Hình 2.2 Phân lớp bằng siêu phẳng
Như vậy, nửa không gian R x | , x b được phân vào lớp 1 1, nửa không gian còn lại R x | , x b được phân vào lớp 1 1
Trang 35Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.4 Siêu phẳng phân cách
Cho trước tập dữ liệu D gồm (x 1 , y 1 ), (x 2 , y 2 ), , (x |D| , y |D| )
Trong đó X i là một tập các bộ huấn luyện tương ứng với nhãn lớp y i Mỗi y i sẽ
nhận một trong hai giá trị hoặc là +1 hoặc là -1 (y i {+1, -1})
Phương pháp phân lớp SVM sẽ tìm ra đường phân lớp “tốt nhất” để phân chia tập
dữ liệu này thành từng lớp tách biệt ra với nhau Phương trình tổng quát của một đường phân chia như vậy được biểu diễn dưới dạng sau:
0 x b
Trong đó:
w: Vector trọng số, w = {w 1 , w 2 ,…,w n )
x: Số thuộc tính (hay còn gọi là số chiều của dữ liệu)
b: Một đại lượng vô hướng, thường được xem như là một độ nghiêng
Đối với trường hợp dữ liệu hai chiều (hai thuộc tính) thì phương trình trên biểu diễn của đường thẳng phân chia Nếu dữ liệu của chúng ta là ba chiều thì đường phân chia giữa hai tập sẽ là một mặt phẳng phân cách Tổng quát cho dữ liệu
n chiều thì sẽ được phân cách bởi một siêu phẳng Chúng ta sẽ sử dụng thuật ngữ
“siêu phẳng” (hyperplane) để chỉ đến ranh giới quyết định mà chúng ta muốn tìm kiếm bất chấp số lượng thuộc tính
Hình 2.3 Đường phân chia đối với tập dữ liệu gồm hai thuộc tính
Trang 36Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Tuy nhiên trong thực tế ta có thể tìm được vô số những siêu phẳng phân chia trên cùng một tập dữ liệu Và chúng ta muốn tìm đường thẳng phân chia sao cho tốt nhất,
có nghĩa là có sai sót phân loại bé nhất trên bộ dữ liệu
Hình 2.4 Một bộ dữ liệu hai chiều được phân chia tuyến tính
Do đó mục tiêu của phương pháp phân lớp SVM là tìm một siêu phẳng phân cách giữa hai lớp sao cho khoảng cách lề (margin) giữa hai lớp đạt cực đại
Siêu phẳng có biên độ lớn nhất (maximum marginal hyperplane) sẽ được chọn như là siêu phẳng phân chia tập dữ liệu một cách tốt nhất Trong hình bên dưới, ta thấy
có hai siêu phẳng có thể phân chia được và những biên độ của nó Trước khi đi vào định nghĩa của biên độ (margin), hãy nhìn vào hình trên một cách trực quan Cả hai siêu phẳng đều phân tách tất cả những bộ dữ liệu cho trước Một cách trực quan, siêu phẳng với biên độ lớn hơn sẽ chính xác hơn trong việc phân loại các bộ dữ liệu trong tương lai so với siêu phẳng có biên độ nhỏ hơn Điều này là lý do tại sao (trong suốt giai đoạn học hay huấn luyện), SVM tìm những siêu phẳng có biên độ lớn nhất, gọi là MMH (maximum marginal hyperlane) Siêu phẳng có biên độ lớn nhất là siêu phẳng
có khoảng cách từ nó tới hai mặt bên của nó thì bằng nhau (mặt bên song song với siêu phẳng) Khoảng cách đó thật ra là khoảng cách ngắn nhất từ MMH tới bộ dữ liệu huấn luyện gần nhất của mỗi lớp Siêu phẳng có biên độ lớn nhất này cho chúng ta một sự phân loại tốt nhất giữa các lớp
Trang 37Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 2.5 Hai siêu phẳng phân chia tuyến tính cùng với biên độ của nó
Siêu phẳng phân cách có vai trò quan trọng trong việc phân lớp, nó quyết định xem một bộ dữ liệu sẽ thuộc về lớp nào Để thực hiện việc phân lớp, SVM chỉ cần xác định xem một bộ dữ liệu nằm về phía nào của siêu phẳng phân cách
b x sign x
Với:
- D(x) < 0: bộ dữ liệu sẽ nằm phía dưới siêu phẳng phân cách
- D(x) = 0: bộ dữ liệu sẽ nằm trên siêu phẳng phân cách
- D(x) > 0: bộ dữ liệu sẽ nằm phía trên siêu phẳng phân cách
2.5 Support vector
Ta có phương trình tổng quát của siêu phẳng
0 x b
Ta xét trên ví dụ sau:
Với bộ dữ liệu huấn luyện có hai thuộc tính A 1 và A 2 : X={x 1 , x 2 }, với x 1 , x 2 là giá
trị của thuộc tính A 1 , A 2 W = {w 1 , w 2 } Phương trình siêu phẳng có thể viết lại:
02 2 1 1
Trong đó:
- w 0 tương đương với hằng số b trong phương trình tổng quát của siêu phẳng
Vì vậy mỗi điểm nằm trên siêu phẳng phân cách thỏa mãn:
02 2 1 1
Trang 38Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Tương tự, những điểm nằm dưới siêu phẳng phân cách phải thỏa mãn:
02 2 1 1
Bằng cách điều chỉnh trọng số w 0 ta có:
1,
1
H
Hình 2.6 Đường biểu diễn H1 và H2 Đường màu đỏ là khoảng cách Euclidean
của hai điểm 1 và 2, đường màu xanh là khoảng cách Euclidean nhỏ nhất
Điều này có nghĩa là nếu bất kì bộ nào nằm tại hoặc trên H1 đều thuộc về lớp +1,
và bất kì bộ nào nằm tại hoặc dưới H 2 đều thuộc về lớp -1 Kết hợp 2 bất đẳng thức