Tách các từ khỏi dòng văn bản

Một phần của tài liệu Nhận dạng chữ viết tay tiếng Việt trên các thiết bị cầm tay (Trang 89)

Các từ được viết trên màn hình cảm ứng sẽ bị thụt lên hoặc xuống không đều nhau do màn không có dòng kẻ để đánh dấu các dòng. Do đó ta không thể áp dụng tính góc nghiêng cho cả một dòng giống như nhận dạng chữ viết tay off-line được mà phải tách dòng văn bản thành các từ và tính góc nghiêng cho từng từ.

88

Ngưỡng để phân tách các từ được tính bằng cách áp dụng thuật toán được trình bày trong mục 3.1.1. với giá trì hằng  1.1.Bằng thực nghiệm cho thấy rằng thuật toán cho kết phân tách tốt(100%) trong trường hợp khoảng trắng giữa các từ xa và đều. Nếu khoảng cách giữa các từ nhỏ hơn giá trị ngưỡng không đáng kể, ta sẽ đánh giấu các điểm này lại. Sau khi nhận dạng xong ta sẽ thử tách từ nhận dạng được thành hai từ tại vị trí đánh dấu và kiểm tra theo các quy tắc được đề cập ở phần hậu xử lý để kiểm tra xem việc tách có phù hợp hay không. Nếu phù hợp thì hệ thống sẽ hiện tất cả kết quả có thể đúng lên cho người dùng chọn lựa kết quả.

5.2.4Bỏ dấu tiếng việt và ƣớc lƣợng chiều rộng của ký tự

Sau khi đã hiệu chỉnh góc nghiêng của từ, đường baseline dưới của từ sẽ được tính bằng cách tìm điểm có Histogram theo phương thẳng đứng lớn nhất và gần với điểm cuối cùng của từ nhất. Sau khi tính được đường baseline dưới và ta sẽ đánh dấu những nét bút nằm trên đường baseline dưới có khả năng là dấu. Các dấu ở phía trên của từ là một trong các dấu sau (“?”,””,”\”,”-”,/”). Dấu ở phía dưới của từ chỉ có thể là dấu “.”. Dấu này được xác định dựa vào số lượng điểm ít và chiều rộng và dài của hình chữ nhật nhỏ nhất bao quanh dấu. Các nét bút được gán nhãn có tiềm năng là dấu sẽ được kiểm tra lại một lần nữa để kiểm tra xem có chắc là dấu hay không bằng cách kiểm tra xem nét bút này có cắt các nét bút chắc chắn không phải là dấu hay không và diện tích cắt có nhiều hay không.

Sau khi loại bỏ các nét bút có khả năng là dấu ta sẽ tính đường baseline trên. Chiều rộng của một ký tự nằm trong khoảng từ ½(baseline dưới – baseline trên) tới khoảng (baseline dưới – baseline trên)*2.5.

89

5.2.5Hiệu chỉnh góc nghiêng

Góc nghiêng theo phương thẳng đứng và theo phương nằm ngang của một ký tự sẽ được tính dựa trên các thuật toán được đề cập ở mục 2.8.1.2. và 2.8.2.2. Góc nghiêng theo phương nằm ngang được tính cho từng ký tự một, tuy nhiên góc nghiêng theo phương thẳng đứng có thể được áp dụng cho tất cả các ký tự vì người viết thường giữ nguyên góc nghiêng này cho tất cả các từ.

5.2.6Xác định các điểm cắt tiềm năng

Để xác định các điểm cắt tiềm năng, tôi sử dụng thuật toán cắt chữ offline được trình bày trong tại mục [4.2.3] đồng thời đưa vào các thông tin động để làm tăng độ chính xác trong việc xác định các điểm cắt tiềm năng.

Thuật toán cắt ký tự online được trình bày như sau:

 Đánh dấu điểm cuối cùng của mỗi nét bút là điểm cắt tiềm năng. Trong hầu hết trường hợp điểm cuối cùng của nét bút cũng chính là điểm cuối cùng của ký tự.

90

 Xây dựng ma trận đặc trưng MT biểu diễn các đặt trưng theo cột của ma trận nhị phân từ. Các đặt trưng bao gồm: Cột đen(Số điểm đen của cột đó lớn hơn 2 lần số điểm đên trung bình của tất cả các cột), vòng lặp,

 Đi từ trái qua phải của ma trận MT và thực hiện theo các quy tắc sau: 1. Nếu gặp cột đen hoặc vòng lặp, thì tiếp tục đi tiếp cho đến khi

không còn gặp cột đen hoặc cột có vòng lặp. Sau đó tiếp tục di chuyển tiếp cho đến khi gặp cột đen hoặc vòng lặp. Đánh dấu điểm dừng này lại và kiểm tra. Nếu điểm dừng này quá gần so với điểm cắt được xác định là cuối một nét bút thì bỏ qua điểm này và thực hiện tiếp bước 1. Ngược lại đánh dấu điểm này là điểm cắt.

2. Nếu đi quá khoảng cách trung bình của một ký tự thì đánh dấu điểm cắt tại vi trí giữa đi lên hoặc đi xuống của nét bút.

Hình 5.4. Xác định các điểm cắt tiềm năng. Đường thẳng đứng biểu điễn các điểm cắt tiềm năng. Đường thẳng ngang biểu diễn các đường baseline trên, dưới và giữa

91

Các điểm cắt này sẽ chia từ “ngay” thành các khối như sau:

Sau khi thu được các vị trí cắt, ta sẽ lần lượt ghép các vị trí đó lại với nhau. Để tránh việc nhận dạng lại các khối, ta biểu diễn kết quả nhận dạng khi ghép các khối lại dưới dạng cây.Các vị trí chỉ được ghép với nhau nếu khoảng cách giữa chúng nhỏ hơn khích thước ước lượng của một ký tự. Nếu nhánh nào của cây có tỉ lệ nhận dạng quá thấp thì không mở rộng nhánh đó nữa. Ở ví dụ trên, cây lưu giữ được thể hiện như sau:

Hình 5.5. Từ “ngay” được chia thành 7 khối

v n

i 

92

Sau khi cắt và kết hợp nhận dạng ta sẽ được các kết quả như “vigoiiy”, “ngoiiy”, “ngouy”, “ngay”.

5.3.Nhận dạng các ký tự

Trong hệ thống nhận dạng demo này, tôi sử dụng hai phương pháp nhận dạng là đối sánh mẫu và đối sánh chuỗi đã được đề cập trong các mục 4.1 và 4.3. Lý do chọn hai phương pháp này là phương pháp thứ hai có thể được dùng để kiểm tra lại kết quả của phương pháp thứ nhất và dữ liệu mẫu cho cả hai phương pháp đơn giản, dễ thực hiện.

Chiều rộng và chiều cao của ký tự mẫu được lấy cố định là 40 x 40, với kích thước này các ký sẽ ít bị nhầm lẫn hơn. Như vậy mỗi mẫu trong phương pháp đối sánh nhị phân sẽ được biểu diễn bằng 100 bit. Sau khi nhận dạng ký tự bằng phương pháp đối sánh mẫu nhị phân, các ký tự có khả năng(tỉ lệ sai mẫu thấp) là kết quả nhận dạng sẽ được lưu lại và sử dụng phương pháp đối sánh chuỗi để đối sánh mẫu đã lưu trữ của các ký tự có khả năng là kết quả với mẫu cần nhận dạng. Tổng hợp của cả hai phương pháp này sẽ cho kết quả cuối cùng. Ví dụ với ký tự “e” và ký tự “o” nếu người viết viết xấu thì hai ký tự này tương đối giống nhau, bằng phương pháp đối sánh bít thì hai ký tự này tương đối giống nhau nhưng bằng phương pháp đối sánh chuỗi thì hai ký tự này lại rất khác nhau. (adsbygoogle = window.adsbygoogle || []).push({});

Mỗi lần nhận dạng ta sẽ lưu lại kết quả của 3 ký tự cho độ chính xác cao nhất. Các kết quả này sẽ được kiểm tra tại bước hậu xử lý để chọn ra các kết quả đúng về mặt cú pháp tiếng Việt.

5.4.Hậu xử lý

Tiếng Việt rất phong phú và đa dạng, do đó khó có để biểu diễn ngữ cảnh của tất cả các từ. Trong hệ thống này, tôi sử dụng quy tắc đứng trước và sau của các ký tự trong tiếng Việt để kiểm tra xem một từ có hợp lệ hay không. Bảng

93

sau đây sẽ thống kê xem sau một ký tự chỉ có thể có các ký tự không dấu nào đứng sau. Ký tự Các ký tự có thể đứng sau a n,i,o,u,y,t,c,n,m b i,o,a,e,u c a, e, i, o, u d a, o, e, i, u e o, n,m,u g a, e, i, h, u,o h a, o, i, e, u,y i u,n,m k h,a,i,y,o,e,u l a,e,i,o,u,y m a,e,i,o,u,y n a,e,i,o,u,y,g,h o a,i,e,m,n,o,u,c,t p a,e,i,o,u,h,y q u r a,i,u,y,o s a,i,o,u,y,e t a,o,i,e,u,y,h u u,n,y,a,i,e,t,n,m,c v a,e,i,u,y y e

Ở ví dụ trên, các kết quả như “vigoiiy”, “ngoiiy”, “ngouy” sẽ bị loại bỏ, chỉ có kết quả là “ngay” được chấp nhận. Sau khi thu được kết quả là “ngay” ta sẽ ghép dấu sắc được nhận dạng riêng để thu được chữ hoàn chỉnh “ngày”

94

5.5.Kết luận

Việc xác định đồng thời nhiều vị trí cắt ở cùng một thời điểm và sử dụng các quy tắc thứ tự giữa các từ trong tiếng Việt trong qua trình nhận dạng đảm bảo cho thuật toán luôn chọn được vị trí cắt chính xác nhất tương ứng với kết quả nhận dạng tốt nhất.

Trong trường hợp người dùng viết chữ đều, rõ ràng, tỉ lệ xác định chính xác điểm cắt đúng là rất cao. Tuy nhiên trong một số trường hợp người sử dụng viết dấu quá xa, quá gần với các ký tự hoặc các dấu được viết to hơn nhiều so với tỉ lệ của ký tự, các đường baseline sẽ bị tính sai dẫn tới việc cắt ký tự bị sai.

95

KẾT LUẬN

Hệ thống nhận dạng chữ viết tay tiếng Việt Online trên các thiết bị cầm tay cung cấp cho người sử dụng thêm một cách giao tiếp với thiết bị, làm cho thiết bị cầm tay càng thuận tiện hơn. Với cách giao tiếp này, thiết bị cầm tay giống như một tờ giấy để viết chữ.

Hệ thống nhận dạng Online có thể được xây dựng thành một chương trình thường trú hay một chương trình nhúng, tất cả những ứng dụng liên quan đến việc xử lý văn bản đều có thể sử dụng chương trình này để thu thập dữ liệu đầu vào.

Nhận dạng chữ viết tay trực tuyến khác so với nhận dạng chữ viết tay không trực tuyến (offline) về các thông tin động khi viết như tốc độ viết, góc của bút viết và sức ép của bút, thứ tự nét viết và hướng của nét bút… Trong luận văn này tôi đã sử dụng các thuật toán trong nhận dạng chữ viết tay off-line kết hợp với các thuật toán trong nhận dạng chữ viết tay on-line để xây dựng hệ thống nhận dạng chữ tiếng Việt on-line. Cụ thể luận văn đã đạt được một số kết quả sau:

- Trình bày một số khái niệm về nhận dạng.

- Trình bày một số phương pháp được dùng trong gian đoạn tiền xử lý. - Trình bày một số thuật toán nhận dạng.

- Xây dựng hệ thống nhận dạng chữ tiếng Việt on-line. Hướng nghiên cứu tiếp theo

- Nghiên cứu các phương pháp nhận dạng sử dụng mạng Nơ ron, Mô hình Markov ẩn.

96

TÀI LIỆU THAM KHẢO

[1] Wolfgang Hurst, Jie Yang and Alex Waibel. Error Repair in Human Handwriting – An Intelligent User Interface for Automatic On-Line Handwriting Recognition.

[2] R. O. Duda and P. E. Hart. Use of the Hough transformation to detect lines and curves in pictures. Communications of the ACM, 15(1): 11-15, 1972.

[3] S. Jaeger, S. Manke, J. Reichert and A. Waibel. Online handwriting recognition: the Npen++ recognizer.

[4] Niranjan Joshi, G Sita, A G Ramakrishnan and Srriganesh Madhvanath. Comparison of elastic matching algorithms for on-line Tamil handwriting recognition.

[5] M. Blumenstein, C. K. Cheng and X.Y. Liu. New preprocessing techniques for handwritten word recognition.

[6] Eiji Taira, Siichi Uchida and Hiroaki Sakoe. Nonuniform Slant Correction for Handwriting word Recognition

[7] B. Gatos, I. Pratikakis,A.L. Kesidits, S.J. Perantoniss. Efficient Off-Line Cursive handwriting Word Recognition

[8] U.-V. Marti and H. Bunke. Text line segmentation and word recognition in a system for general writer independent handwriting recognition. In Proc. 6th Int. Conference on Document Analysis and Recognition, pages 159–163, 2001.

[9] Marcus Liwicki, Mathias Scherz and Horst Bunke. Word Extraction from On-Line Handwritten Text Lines (adsbygoogle = window.adsbygoogle || []).push({});

[10] Lei Huang, Genxun Wan, Changping Liu. An Improved Parallel Thinning Algorithm.

97

[11] Jean R_ Ward and Thedore Kuklinski_ A Model for Variability E_ects in Handwriting Character Recognition Systems in IEEE Trans. Sys. Man. Cybernetics Vol: 18, No3, pp: 438 – 451, 1988_

[12] Nafir arica. An off_line character recognition for free style handwring. [13] Susan A. Dey. Adding Feedback to Improve segmentation and Recognition of Handwriting Numerals

[14] M. Morita, R. Sabourin, F. Bortolozzi and C. Y. Suen. A Recognition and Verification Strategy for Handwriten Word Recognition.

[15] Ernesto Tapia and Raúl Rojas. Recognition of On-line Handwriten Mathematical Formulas in the E-Chalk System.

[16] Nafiz Arica. An Off-line Character recognition system for free style Handwriting.

[17] Ralph NIELS and Louis VUURPIJL. Using Dynamic Time Warping for Intuitive Handwriting Recognition

[18] Scott Connell. A Comparison of Hidden Markov Model Features for the Recognition of Cursive Handwriting

[19] Ming-Yen Tsai and Leu-Shing Lan. Online Recognition of Chinese handwriting characters based on the point distribution model.

[20] Sung-Hyuk Cha, Yong-Chul Shin, Sargur N. Srihari. Approximate Stroke Sequence String Matching Algorithm for Character Recognition and Analysis

[21] Vladislav G. Polyakov, Mikhail A. Ryleev And Boris E. Gorbatov. United States Patent. Method And Apparatus For Pattern Recoginition And Representation Using Fourier Descriptors And Iterative Transforrmation Reparametrization.

[22] M. Blumenstein And B. Verma. An Artificial Neural Network Based Segmentation Algorithm for Off-line Handwriting Recognition.

[23] L.R.B. Schomaker, “User-Inerface Aspects in Recognizing Connected- Cursive Handwriting”, Proceedings of the IEE Colloquium on Handwriting and Pen-based input, 1994.

PDF Merger

Thank you for evaluating AnyBizSoft PDF Merger! To remove this page, please

register your program!

Go to Purchase Now>>

 Merge multiple PDF files into one

 Select page range of PDF to merge

 Select specific page(s) to merge

 Extract page(s) from different PDF

files and merge into one

Một phần của tài liệu Nhận dạng chữ viết tay tiếng Việt trên các thiết bị cầm tay (Trang 89)