Mô hình bài toán tổng thể mà chúng em đang nghiên cứu Nhận dạng văn bản viết tay tiếng Việt nét liền được tiến hành theo trình tự chính như sau: tiền nhận dạng tiền xử lý, tách dòng, tá
Trang 1- 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
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ậ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 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ứu
Nhận dạng văn bản viết tay tiếng Việt nét liền
được tiến hành theo trình tự chính như sau: tiền
nhận dạng (tiền xử lý, tách dòng, tách từ), nhận
dạng từ sử dụng bộ nhận dạng kí tự (trích chọn
đặc trưng ảnh của kí tự và nhận dạ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ận dạng
được thành các từ, đoạn văn tương ứng và 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ận dạ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ận dạng từ, những
công việc quan trọng của hệ thống Nhận dạng
văn bản viết tay tiếng Việt nét liền
Công đoạn tiền nhận dạ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 ảnh và
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ận dạng chữ 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 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ết tay trên giấy có đường kẻ ngang thông thường, không có bảng và ảnh và có góc nghiêng nhỏ (~100)
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
Trang 2- 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ận dạ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ận dạ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ết tay do các kí tự
trong một từ của chữ viết tay 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ận dạ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ận dạ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ận dạng từ trong việc
chon ra từ có khả năng nhất đồng thời tăng tốc
độ nhận dạ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 trong tiế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ết tay tiếng Việt gồm 30000 mẫu cho bộ nhận dạng từ dựa trên quy định về mẫu chữ tiếng Việt chuẩn dùng trong 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ết tay tiếng Việ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ết tay tiếng việ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ận dạ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ận dạng đúng, 6/386 từ nhận dạng sai do lỗi của mạng neural và do từ cần nhận dạ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ận dạng (tiền xử lý ảnh, tách dòng, tách từ) đồng thời cài đặt được bộ nhận dạ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ếng Việ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ạng chữ viết tay 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”