Nếu ảnh có hai vùng liên thông: Gọi S(i) là diện tích vùng liên thông thứ i.
Nếu S(1)>S(2) thì dấu của phần liên thông hai là dấu nặng (.) và chỉ cần chuẩn hóa vùng liên thông một về kích thước chuẩn 16x16.
Ngược lại: Tách ảnh thành hai phần: phần chữ và phần dấu. Chuẩn hóa phần chữ về kích thước chuẩn 16x16 và phần dấu về kích thước chuẩn 8x8 (Hình 5.3b).
Nếu ảnh có ba vùng liên thông:
Nếu S(3) = Min{S(i)} thì dấu của phần liên thông này là dấu nặng (.). Do đó chỉ cần chuẩn hóa thành phần liên thông một về kích thước chuẩn 8x8 và thành phần liên thông hai về kích thước chuẩn 16x16.
Ngược lại: Tách ảnh thành ba phần từ các vùng liên thông. Chuẩn hóa các vùng liên thông một và hai về kích thước chuẩn 8x8 và chuẩn hóa vùng liên thông ba về kích thước chuẩn 16x16 (Hình 5.3c).
5.2. Xây dựng các máy phân lớp SVM
Để phục vụ cho việc huấn luyện và nhận dạng đạt kết quả tốt thì trích chọn đặc trưng là một bước rất quan trọng trong một hệ thống nhận dạng. Có rất nhiều phương pháp trích chọn đặc trưng hiệu quả có thể áp dụng cho chữ viết tay như: ma trận trọng số, toán tử Kirsch, các biểu đồ chiếu, Wavelet Haar…, theo một nghiên cứu gần đây của viện khoa học Công nghệ Việt Nam sử dụng ý tưởng của phương pháp trích chọn đặc trưng Wavelet Haar có khả quan, vì thế chúng ta sẽ áp dụng ý tưởng của phương pháp này để chọn tập đặc trưng cho mỗi ảnh ký tự đầu vào. Từ ảnh nhị phân kích thước 2n2n (Hình 5.4), quá trình trích chọn đặc trưng được mô tả theo thuật toán sau:
Procedure HaarFeature
Input Ma trận vuông (A.n) cấp 2n.
Output Tập các đặc trưng {F1, F2,…, F2nx 2n}.
Method
Khởi tạo: Queue = Ø; i=1;
- Tính Fi= Tổng các điểm đen trong toàn bộ ma trận (A,n); - Push((A,n), Queue); While Queue ≠Ø Do { - POP(Queue, (A,n)); - if (n>1) { n=n DIV 2; Chia ảnh thành 4 phần: A1, A2, A3, A4; - Tính Fi+1= S1+S2; Fi+2= S2+S3; Fi+3=S4; - i=i+3; } Hình 5.4: Quá trình trích chọn đặc trưng
Mệnh đề (Tính bất biến của đặc trưng): Cho ma trận vuông A cấp 2n, n
nguyên dương. Theo phương pháp trích chọn đặc trưng của thuật toán HaarFeature thì ma trận A bất biến đối với các đặc trưng được trích chọn.
Chứng minh
Ta chứng minh mệnh đề đúng với n=1. Thật vậy, giả sử x1, x2, x3, x4 là bốn phần tử của ma trận vuông cấp hai. Theo phương pháp trích chọn đặc trưng trên ta có hệ phương trình: 4 4 3 2 3 2 2 1 2 1 4 3 2 1 S x S S x x S S x x S x x x x và 1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1
Do đó hệ phương trình có nghiệm duy nhất. Vì vậy, theo cách trích chọn đặc trưng của thuật toán HaarFeature thì ma trận A bất biến với n=1. Giả sử mệnh đề đúng với n=k. Ta sẽ chứng minh mệnh đề đúng với n=k+1. Rõ ràng ma trận vuông cấp 2k+1 có kích thước gấp bốn lần ma trận vuông cấp 2k. Ta sẽ chứng minh rằng nếu mỗi một phần tư của ma trận vuông A cấp 2k+1 bất biến thì ma trận vuông A cũng bất biến theo phương pháp trích chọn đặc trưng của thuật toán HaarFeature. Thật vậy, giả sử ma trận vuông cấp 2k+1 được chia thành bốn khối con A1, A2, A3, A4 kích thước 2k có tổng các điểm đen tương ứng là S1, S2, S3, S4. Với cách chia thành 4 khối như vậy thì ma trận A sẽ có nghiệm duy nhất X1=S1, X2=S2, X3=S3, X4=S4 tương ứng với các phần tử A1, A2, A3, A4. Mà mỗi khối Ai, i=1..4 là bất biến theo phương pháp trích chọn đặc trưng của thuật toán HaarFeature nên ma trận A cũng bất biến theo phương pháp trích chọn đặc trưng trên.
Trong thực nghiệm, với phần chữ chúng tôi chọn n=4. như vậy ta có: 1+ 3 +4 x 3+ 4 x 4 x 3 +4 x 4 x 4 x 3 = 256 đặc trưng, còn với phần dấu chúng tôi chọn n=3, như vậy có tất cả 64 đặc trưng.
Với phương pháp trích chọn đặc trưng này thì sẽ tạo ra một dãy số các đặc trưng giảm dần. Với cùng một chữ thì các giá trị lớn ở đầu dãy tương đối ổn định, có thể đại diện cho hình dạng khái quát của chữ; còn các giá trị ở cuối dãy nhỏ dần và không ổn định, thể hiện sự đa dạng trong từng chi tiết của chữ.
Để sử dụng tập đặc trưng được trích chọn ở trên trong việc huấn luyện phân lớp và nhận dạng, chúng ta cần phải xây dựng ba máy phân lớp SVM. Đối với phần chữ có kích thước 16x16, có tất cả 256 đặc trưng. Còn phần dấu với kích thước 8x8, như vậy có 64 đặc trưng được trích chọn.
- SVM1: phân lớp đối với nhóm ký tự có một vùng liên thông {A, B, C, D, Đ, E, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y, Ơ, Ư }.
- SVM2: đối với các ký tự có dấu thì phần chữ đều là các nguyên âm, vì vậy máy này chỉ phân lớp các nguyên âm {A, E, I, O, U, Y}.
- SVM3: phân lớp các dấu {/,\, ?, ~, ۸, ۷} (sắc, huyền, hỏi, ngã, dấu ô, dấu ă).
Các máy phân lớp SVM1, SVM2, SVM3 được xây dựng từ các SVM nhị phân.
KẾT LUẬN
Kết quả đạt được
Mục tiêu của luận văn đã đưa ra:
Tìm hiểu về nhận dạng chữ viết tay và ứng dụng của SVM vào nhận dạng chữ viết tay sau đó đưa ra được phần mềm nhận dạng chữ viết tay hạn chế.
Kết quả luận văn đạt được:
Sau thời gian thực hiện luận văn mặc dù em chưa hoàn thành được mục tiêu của mình là đưa ra phần mềm nhận dạng chữ viết tay nhưng em cũng đã hiểu được cơ bản về nó. Đặc biệt là em đã biết cách sử dụng phương pháp SVM và khai thác thư viện libsvm, sau đó sử dụng libsvm để huấn luyện, dự đoán tỷ lệ nhận dạng.
Hướng phát triển
Từ những nghiên cứu trong thời gian làm khóa luận em có rút ra được một vài kết luận như sau:
SVM có ưu điểm là huấn luyện với tỷ lệ lỗi rất thấp nhưng bù lại thời gian nhận dạng của nó lâu, nếu chúng ta chọn bộ tham số không tốt.
Nếu chúng ta có một bộ mẫu đủ lớn, và chọn được bộ tham số tốt thì kết quả nhận dạng khá khả thi.
Thời gian nhận dạng phụ thuộc vào bộ tham số mà ta lựa chọn.
Luận văn chỉ mới dừng lại ở mức thử nghiệm. Hướng phát triển tiếp theo của đề tài trong tương lai:
Sẽ tiếp tục nghiên cứu và đưa ra được phần mềm nhận dạng chữ viết tay hạn chế.
Sau đó nếu có điều kiện trong tương lai sẽ phát triển thành một phần mềm nhận dạng chữ tiếng Vệt hoàn chỉnh, ngoài ra sẽ nghiên cứu để có thể đọc được chữ vừa nhận dạng (chức năng này dành cho người khiếm thị)
Do đây là cơ hội đầu tiên để em tiếp cận, nghiên cứu về lĩnh vực nhận dạng chữ viết tay và vì thời gian nghiên cứu đề tài này lại có hạn nên không thể tránh khỏi những thiếu sót về nội dung trình bày, với mong muốn được học hỏi vì vậy em rất mong nhận được những đóng góp ý kiến chân thành mang tính chất xây dựng của các thầy cô và các bạn để tương lai em sẽ hoàn thiện được ý tưởng của mình trong thời gian sớm nhất.
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Phạm Anh Phương (2008), “Áp dụng một số chiến lược SVM đa lớp cho bài toán nhận dạng chữ viết tay hạn chế”, Tạp chí khoa học đại học
Huế, ISSN 1859-1388, số 45, 109-118.
2. Phạm Anh Phương, Ngô Quốc Tạo, Lương Chi Mai (2008), “Trích chọn đặc trưng wavelet Haar kết hợp với SVM cho việc nhận dạng chữ viết tay tiếng Việt”.
Tiếng Anh
3. B.verma, M. Blumenstein & S. Kulkarni, “Recent achievements in off- line handwriting recognition systems” School of Information Technology, Griffith University-Gold Coast Campus.
4. Chih-Chung Chang and Chil-Jen Lin (2004), “LIBSVM: a Library for Support Vector Machines”, National Taiwan University.
5. Christopher J.C. Burges. A Tutorial on Support vector machines for
pattern recognition – burges@microsoft.com.
6. Gorgevik Dejan, Cakmakov D. (2004), “An Efficient Three-Stage Classifier for Handwritten Digit Recognition” , Proceedings of 17 Int.
Conference on Pattern Recognition, ICPR2004th, Vol. 4, pp. 507-510,
IEEE Computer Society, Cambridge, UK.
7. Gabor Lugosi, “Introduction to Statistical Learning Theory”, Department of Economics, Pompeu Fabra University Ramon Trias Fargas 25-27, 08005 Barcelona, Spain, www home page: http://www.econ.upf.edu/~lugosi/mlss_slt.pdf
8. Nello Cristianini and John Shawe-Taylor (2000), “An Introduction to Support Vector Machines and other kernel-based learning methods”, Cambridge University Press.
9. Shubhangi D. C. (2009), “Handwritten English Character And Digit Recognition Using Multiclass SVM Classifier And Using Structural Micro Features”, International Journal of Recent Trends in Engineering, Vol 2, No. 2, November 2009.
10. Steven B. Poggel (2010), An On-Line Japanese Handwriting Recognition System integrated into an E-Learning Environment for Kanji