- 38 - NGHIÊN CỨUVÀỨNGDỤNG PHÂN ĐOẠNẢNHTRONGNHẬNDẠNGCHỮVIẾTTAYTIẾNGVIỆT Ngô Trí Hoài MSV: 0122195 Email: trihoai@yahoo.com Người hướng dẫn: TS. Nguyễn Việt Hà 1. Giới thiệu Trong thời gian gần đây, ở Việt Nam, nhậndạngchữtiếng Việt, đặc biệt là chữviếttay là những bài toán được nghiên cứu rất nhiều để áp dụng vào các dự án tin học hoá. Mô hình bài toán tổng thể mà chúng em đang nghiên cứuNhậndạng văn bản viếttaytiếngViệt nét liền được tiến hành theo trình tự chính như sau: tiền nhậndạng (tiền xử lý, tách dòng, tách từ), nhận d ạng từ sử dụng bộ nhậndạng kí tự (trích chọn đặc trưng ảnh của kí tự vànhậndạng kí tự bằng mạng neuron) với bộ thống kê ngữ cảnh và cuối cùng là hậu xử lý (ghép các kí tự nhậndạng được thành các từ, đoạn văn tương ứngvà ghi ra file output). Khoá luận này trình bày những nghiên cứu, giải pháp và kết quả mà em đạt được khi cài đặt các công việc của giai đ oạn tiền nhậndạng nhằm xử lý, phân tách trang văn bản thành các thành phần nhỏ hơn thích hợp cho mạng neural, và bộ nhậndạng từ, những công việc quan trọng của hệ thống Nhậndạng văn bản viếttaytiếngViệt nét liền. Công đoạn tiền nhậndạng có thể được chia thành một số bước nhỏ bao gồm : Tiền xử lý ả nh, Tách dòng - từ. 2. Tiền xử lý ảnh Giai đoạn tiền xử lý văn bản là giai đoạn quan trọng, quá trình này ả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. Tuy nhiên, thường thì 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 : Nhị phân hóa, lọc nhiễu, căn chỉnh độ lệch trang, làm trơn ảnh, … [2] Thủ tục quan trọng nhấ t trong phạm vi khoá luận là thủ tục xác định độ nghiêng của ảnhvà xoay ảnh theo góc nghiêng đã xác định. Để xác định góc nghiêng, người ta thường dùng 3 phương pháp : Sử dụng biến đổi Hough (Line fitting), phương pháp láng giềng gần nhất (nearest neighbours) và sử dụng tia quay (project profile) [3]. Hai phương pháp sử dụng biến đổi Hough và láng giếng gần nhất cho kết quả có độ chính xác cao nhưng lại tiêu tốn nhiều thời gian tính toán của hệ thống. Ph ương pháp sử dụng tia quay cho kết quả có độ chính xác tương đối tốt, đồng thời có tốc độ thực hiện cao, thích hợp với bài toán nhậndạngchữviết tay. Em đã lựa chọn phương pháp này để thực hiện cài đặt. 3. Tách dòng, từ Sau quá trình tiền xử lý, chúng ta nhận được một trang văn bản đã được khôi phục và tăng cường chất lượng. Trang văn bản chúng ta nhận được thường có rất nhiều vùng miền khác nhau, cần phải thực hiện việc phân tách thành các vùng, miền khác nhau. Mỗi vùng miền có thể là vùng bảng, vùng ảnh, vùng chữ… Quá trình phân tách trang văn bản thường được tiến hành theo phương pháp là phân tích top-down và bottom-up. Đối với phân tích top- down, một trang văn bản được chia đoạn từ thành phần lớn thành các thàh phần nhỏ hơn. Đối với phân tích bottom-up, người ta thực hiện phân tích cấu trúc từ các thành phần nhỏ nhất, sau đó kết hợp thành các thành phần lớn hơn cho đến khi có được trang văn bản. Trên thực tế, người ta còn áp dụng kết hợp cả hai phương pháp này với nhau. Tuy nhiên, phân vùng ảnh là một bài toán thực sự rất khó. Trong phạm vi khoá luận này em chỉ giới h ạn việc xử lý đối với các trang chỉ gồm chữviếttay trên giấy có đường kẻ ngang thông thường, không có bảng vàảnhvà có góc nghiêng nhỏ (~10 0 ). Quá trình này bao gồm việc phân tách trang văn bản thành các dòng, sau đó tách các dòng thành các từ riêng biệt. Để thực hiện việc phân tách văn bản thành các dòng, đầu tiên em thực hiện xác định các - 39 - đường kẻ ngang trên văn bản. Sau đó, phân tách các dòng văn bản theo các đường kẻ ngang này. Các dòng văn bản thường xen nhau do được viết khá gần nhau vì thế để tách được các dòng văn bản, em sử dụng một đường thẳng cắt ngang giữa hai đường kẻ ngang. Đối với những phần bị cắt, thực hiện xét diện tích miền liên thông để quyết định nó thuộc dòng trên hoặc dưới. Sau đó, thự c hiện bóc tách dòng kẻ ngang ra khỏi các dòng văn bản dựa vào sự khác màu giữa màu chữvà màu đường kẻ. Trên một dòng văn bản, khoảng cách giữa các từ thường lớn hơn giữa các kí tự trong một từ rất nhều lần. Thậm chí giữa các kí tự trong cũng một từ không có khoảng cách do thường dính nhau. Ví thế, để thực hiện việc phân tách dòng văn bản thành các từ, em sử dụng phương pháp biểu đồ tần suất theo bề ngang của dòng văn bản. 4. Nhậndạng từ Theo cách tiếp cận thông thường, sau khi có được các từ riêng biệt, mỗi từ sẽ được tách thành các kí tự khác nhau rồi chuyển cho bộ nhậndạng kí tự để thực hiện nhận dạng. Tuy nhiên, cách tiếp cận đó chỉ phù hợp với chữ in chứ không phù hợp với chữviếttay do các kí tự trong một từ của chữviếttay thường bị dính liền với nhau. Việc tìm ra một cách tách chính xác hoàn toàn là khó có thể thực hiện được. Đối với vần đề này, em sử dụng phương pháp nhậndạng như sau : trước hết, tìm tất cả các vị trí cắt có khả năng trên từ; sau đó, thực hiện nhậndạng tất cả các từ có thể sinh ra từ các lát cắt này. Cuối cùng là chọn ra từ có khả năng nhất [1]. Để tìm ta các vị trí cắt có khả năng trên từ, em thực hiện k ết hợp giữa phương pháp biểu đồ tần suất kết hợp với tìm kiếm các vị trí có đường cong đặc trưng, điều này đảm bảo rằng các vị trí cắt đúng không bị bỏ sót. Nhằm hỗ trợ cho bộ nhậndạng từ trong việc chon ra từ có khả năng nhất đồng thời tăng tốc độ nhậndạng từ, em thiết kế mộ t bộ thống kê ngữ cảnh các từ tiếng Việt. Nhiệm vụ của nó là xác định tính hợp lý của một kí tự trong một xâu kí tự. Đồng thời cho biết tần suất xuất hiện của một từ có nghĩa trongtiếng Việt. Giá trị tần suât này cùng với giá trị tin tưởng do mạng neural trả về cho mỗi từ là tiêu chí để đánh giá xem từ nào là từ có khả năng nhấ t. Đó chính là từ được nhận dạng. 5. Thực nghiệm 1) Xây dựng cơ sở dữ liệu Chúng em đã tiến hành xây dựng cơ sở mẫu chữviếttaytiếngViệt gồm 30000 mẫu cho bộ nhậndạng từ dựa trên quy định về mẫu chữtiếngViệt chuẩn dùngtrong việc dạy học sinh cấp I. Chúng em cũng tiến hành thu thấp các văn bản chữviếttaytiếngViệt trên giấy kẻ ngang với chữ theo tiêu chu ẩn như đã nêu trên. 2) Thực nghiệm Tiến hành thực nghiệm với 60 trang chữviếttaytiếngviệt cho thấy bộ tiền xử lý và bộ tách dòng, tách từ hoạt động đúng hoàn toàn với 58/60 trang, có 2/60 trang bộ tách từ tách sai do trong trang có từ viết dính nhau khiến cho bộ tách từ không tách được. Thực nhiệm bộ nhậndạng từ với 400 từ khác nhau cho kết quả 386 từ (chiếm 96.5%) xác định được đầ y đủ các vị trí cắt đúng, trong đó 380/386 từ nhậndạng đúng, 6/386 từ nhậndạng sai do lỗi của mạng neural và do từ cần nhậndạng không có trong bộ thống kê ngữ cảnh. 6. Kết luận Như vậy, qua khoá luận này em đã nghiên cứu, cài đặt được một số phương pháp trong việc tiền nhậndạng (tiền xử lý ảnh, tách dòng, tách từ) đồng thời cài đặt được bộ nhậndạng từ với kết quả tương đối khả quan. Vấn đề cần tiếp tục nghiên cứu : thực hiện các bước phân vùng với trang văn bản gồm nhiều thành phầ n hoàn chỉnh; mở rộng hạn chế đối với mẫu tiếngViệt có thể phân tích được; cải thiện thuật toán xác định các vị trí cắt có khả năng. Tài liệu tham khảo [1] Nguyễn Thị Thanh Tân, “Nhận dạngchữviếttay hạn chế dựa trên mô hình mạng neural kết hợp với thống kê ngữ cảnh”, Luận văn thạc sĩ 2004. [2] William K.Pratt, “Digital Image Processing”, John Wiley & Sons 2001. [3] A. Marcolino, V. Ramos, M Ramalho, J.Caldas Pinto, “Line and Word Matching in Old Documents”. . - 38 - NGHIÊN CỨU VÀ ỨNG DỤNG PHÂN ĐOẠN ẢNH TRONG NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT Ngô Trí Hoài MSV: 0122195 Email: trihoai@yahoo.com. Nguyễn Việt Hà 1. Giới thiệu Trong thời gian gần đây, ở Việt Nam, nhận dạng chữ tiếng Việt, đặc biệt là chữ viết tay là những bài toán được nghiên cứu rất