Dữ liệu thu nhận được thông qua màn hình cảm ứng là tọa độ di chuyển của bút viết cùng với các thông tin động khác 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à
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Lê Hùng
NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT
TRÊN CÁC THIẾT BỊ CẦM TAY
LUẬN VĂN THẠC SỸ
Hà Nội - 2007
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-oo0oo -
Nguyễn Lê Hùng
NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT
TRÊN CÁC THIẾT BỊ CẦM TAY
Ngành: Công nghệ thông tin
Mã số: 1.01.10
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Bùi Thế Duy
:
Hà Nội - 2007
Trang 3BẢNG CÁC TỪ VIẾT TẮT
Ký hiệu Từ tiếng Anh Giải thích
PDM Point Distribution Model Mô hình phân bố điểm OCR Optical Character Recognition Nhận dạng ký tự quang học
DFT Discrete Fourier Transform Biến đổi Fourier rời rạc DCT Discrete Cosine Transform Biến đổi Cosine rời rạc
Trang 4DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Mô hình nhận dạng chữ viết tay trực tuyến 1
1
1
5
Hình 1.3 Minh họa ký tự khi thu nhận được khi người dùng viết nhanh 1
8
Hình 1.4 Các cách viết khác nhau cho cùng ký tự N 2
2
Hình 1.5 A) Thòng lọng, B) Thòng lọng bị thu nhỏ, C) Thòng lọng chuyển
2
2
Hình 1.6 Thay đổi cấu trúc của ký tự thành dạng có thòng lọng 2
2
Hình 1.7 Ví dụ minh họa ký tự bao phủ một ký tự khác 2
3
2
4
Hình 2.2 Các bước thực hiện để lấy mẫu bằng nhau 2
5
Hình 2.3 Minh họa các bước lấy mẫu cho ký tự “a” (a) Ký tự gốc, (b) Sau khi chuẩn hóa kích thước và căn giữa, (c) Sau lần lẫy mẫu thứ nhất, (d) Sau khi áp dụng bộ lọc Gaussian và (e) sau lần lấy mẫu cuối cùng 2
6
2
8
Trang 5Hình 2.5 Ví dụ về sửa lỗi “Viết đè” 2
8
Hình 2.6 Ví dụ về loại lỗi “hoàn thành” và “chèn” 2
8
3
0
3
2
Hình 2.9 7 ma trận khôi phục x ký hiệu cho bít có thể có giá trị bất kỳ 3
5
3
5
3
5
3
6
Hình 2.13 Nội suy các điểm bị mất dựa vào đường cong Bezier 3
7
Hình 2.14 Xác định trọng tâm của hai thành phần 4
1
4
1
Hình 2.16 Hiệu chỉnh góc nghiêng của từ “about” 4
2
4
3
Trang 6Hình 2.18 Xác định đường thẳng hiệu chỉnh 4
4
4
5
4
7
4
8
Hình 3.2 Dòng văn bản trước và sau khi phân tách 4
9
Hình 3.3 Minh họa các bước của thuật toán cắt từ 5
0
Hình 3.4 Hình chữ nhật nhỏ nhất chứa dấu và cụm ký tự 5
2
Hình 3.5 Biểu diễn mối liên kết giữa cụm ký tự và dấu 5
2
Hình 3.6 Minh họa từ “Chúng” được cấu tạo từ 3 cụm từ 5
3
5
5
5
6
Hình 3.9: Các điểm cắt ứng viên thay đổi khi áp dụng quy tắc 1 5
6
Hình 3.10 Các điểm cắt thay đổi sau khi áp dụng quy tắc 2 5
7
Trang 7Hình 3.11 Dấu chấm giúp căt hai từ chính xác 5
8
Hình 3.12 Sơ đồ kết hợp giữa tách từ và nhận dạng 5
9
6
0
6
1
Hình 3.15 Các điểm trội của ký tự khi các giá trị FI thay đổi 6
2
Hình 4.1 Các bước thực hiện thuật toán đối sánh mẫu nhị phân 6
3
Hình 4.2 Ma trận điểm ảnh được chia thành các khối kích thước 2x2 6
4
6
5
Hình 4.4 Minh họa sau khi thực hiện thuật toán lấy mẫu 6
6
Hình 4.5 Hướng viết được biểu diễn tương ứng với các giá trị nguyên 6
7
6
7
6
9
Hình 4.8 Chuỗi biểu diễn tương ứng với các cách viết ký tự “A” 6
9
Trang 8Hình 4.9 Biểu diễn đối tượng bằng các điểm 7
1
7
4
Hình 4.11 Biểu đồ hình khối mức đỉnh của hệ thống nhận dạng sử dụng
7
6
Hình 4.12 Biểu đồ khối chi tiết của hệ thống nhận dạng sử dụng DFT 7
7
7
8
7
9
Hình 4.15 Đường cong được biểu diễn bằng 64 điểm 7
9
Hình 4.16: Đường cong xấp xỉ có xu hướng trở về hình dạng cũ 8
1
Hình 4.17 Đường cong xấp xỉ sau lần lặp đầu tiên 8
2
Hình 4.18 Đường cong xấp xỉ thu được sau lần lặp thứ 8 8
3
8
3
8
6
Hình 5.2 Các nét bút thuộc các dòng khác nhau sẽ được phân loại 8
7
Trang 9Hình 5.3 Chữ “nhanh” trước và sau khi hiệu chỉnh góc nghiêng 8
9
9
0
9
1
Hình 5.6 Minh họa một phần cây lưu trữ trong bộ nhớ 9
1
Hình 5.7 Hiển thị kết quả nhận dạng ra màn hình 9
4
Trang 10MỞ ĐẦU
Viết chữ là cách tự nhiên để thu thập, lưu trữ và truyền thông tin không chỉ giữa con người với nhau mà còn giữa con người và máy móc Các nỗ lực nghiên cứu trong lĩnh vực nhận dạng không chỉ cung cấp một cách giao tiếp giữa người và máy giống như viết trên giấy, mà còn cung cấp những chương trình hiệu quả tự động xử lý một lượng lớn tài liệu giấy để chuyển vào trong máy dưới dạng các tài liệu số hóa, nhận dạng các hóa đơn chuyển tiền.v.v
Từ khi phát minh ra máy vi tính, các nhà nghiên cứu đã tập trung nghiên cứu cho máy tính có thể bắt chước đọc giống con người Trong suốt hơn 40 năm nghiên cứu nhận dạng chữ viết của các nhà khoa học trên toàn thế giới, rất nhiều phương pháp nhận dạng đã được đề xuất nhưng cho đến nay vẫn chưa
có một phương pháp nào cho tỉ lệ nhận dạng chính xác hoàn toàn
Ngày nay, các thiết bị hỗ trợ cá nhân (PDA) ngày càng trở nên phổ biến, cung cấp nhiều ứng dụng hữu ích cho người dùng như lịch làm việc, tìm kiếm, soạn thư điện tử v.v Các ứng dụng này có thể thu nhận dữ liệu từ bàn phím hoặc qua màn hình cảm ứng Bàn phím của các thiết bị PDA thường rất nhỏ nên thu thập dữ liệu qua bàn phím chậm và không tự nhiên bằng việc thu thập dữ liệu qua việc sử dụng bút viết lên màn hình cảm ứng
Dữ liệu thu nhận được thông qua màn hình cảm ứng là tọa độ di chuyển của bút viết cùng với các thông tin động khác 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… Hệ thống nhận dạng trực tuyến sẽ nhận dạng các hình ảnh được tạo bởi đường đi của bút viết thành dạng văn bản để các ứng dụng xử lý văn bản có thể hiểu được Các thông tin động trong quá trình viết sẽ được sử dụng để nâng cao độ chính xác nhận dạng Đây cũng chính là sự khác biệt so với nhận dạng chữ không trực tuyến (off-line)
Trong luận văn này, tôi nghiên cứu đặc trưng của tiếng Việt, một số thuật toán được sử dụng trong các giai đoạn tiền xử lý, cắt chữ, nhận dạng để xây dựng hệ thống nhận dạng chữ viết tay tiếng Việt, các quy tắc để kiểm tra một từ tiếng Việt có hợp lệ hay không trong giai đoạn hậu xử lý Giai đoạn tách chữ luôn là giai đoạn khó trong việc xây dựng hệ thống nhận dạng ký
tự, tôi giải quyến vấn đề này bằng cách áp dụng thuật toán tách chữ off-line kết hợp với các thông tin động thu được trong quá trình viết chữ online để tăng độ chính xác trong việc tìm các điểm cắt tiềm năng Các điểm cắt tiềm năng này sẽ được tổ hợp và nhận dạng trong giai đoạn nhận dạng kết hợp với các quy tắc trong giai đoạn hậu xử lý để tìm ra kết quả phù hợp nhất
Bố cục của luận văn bao gồm phần mở đầu, phần kết luận và 5 chương nội dung được tổ chức như sau:
Trang 11Chương 1: Tổng quan về hệ thống nhận dạng
Chương này trình bầy một số khái niệm liên quan đến nhận dạng Các cách
để phân loại một hệ thống nhận dạng
Chương 2: Tiền xử lý
Trình bày một số thuật toán được sử dụng trong giai đoạn tiền xử lý bao gồm hiệu chỉnh lỗi viết tay, nội suy các điểm đã mất, hiệu chỉnh góc nghiêng
và một số vấn đề liên quan khác
Chương 3: Cắt chữ và trích chọn đặc trưng
Trình bày một số thuật toán được dùng để cắt chữ off-line bao gồm cắt từ khỏi dòng văn bản, cắt ký tự, cách kết hợp giữa cắt chữ và nhận dạng để tăng độ chính xác Chương này cũng trình bày một số cách trích chọn đặc trưng để dùng trong giai đoạn nhận dạng
Chương 4: Một số phương pháp nhận dạng
Trình bầy một số phương pháp nhận dạng, cách phương pháp này chủ yếu dựa trên các điểm thu nhận được trong quá trình viết
Chương 5: Xây dựng chương trình nhận dạng chữ viết tay tiếng Việt on-line Trình bầy đánh giá về các thuật toán được sử dụng trong chương trình Demo kèm theo một số kết quả cài đặt
Trang 12TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG CHỮ VIẾT
Giới thiệu
Thông thường một hệ thống nhận dạng chữ viết được thực hiện qua các bước sau[11]:
Giai đoạn tiền xử lý bao gồm các bước hiệu chỉnh dữ liệu vào, làm trơn, hiệu chỉnh góc nghiêng theo chiều ngang hay chiều thẳng đứng, chuẩn hóa kích thước, trích chọn đặc trưng
Giai đoạn phân mảnh bao gồm các 2 bước, đầu tiên là tách các từ ra khỏi dòng văn bản, sau đó là tách riêng các ký tự ra khỏi từ Thứ tự các điểm của
ký tự được tách sẽ giữ nguyên giống như viết cả từ
Giai đoạn trích chọn đặc trưng sẽ chọn các đặc trưng của ký tự để chuyển sang bước phân loại Đặc trưng được trích chọn ở bước này có thể gồm nhiều loại phụ thuộc vào thuật toán nhận dạng như điểm trội, mã Free man, hướng di chuyển
Ngôn ngữ mô hình giảm thiểu quá trình tìm kiếm Ngôn ngữ mô hình gồm một số loại sau:
Mô hình dự đoán: Thường được sử dụng trong nhận dạng âm thanh Dựa trên bảng thống kê một ký tự thường theo sau một ký tự khác với xác suất bao nhiêu Mô hình dự đoán chủ yếu được sử dụng kết hợp
Tiền xử lý Phân mảnh Trích chọn đặc
trưng
Phân loại Gắn nhãn Tìm kiếm
Ngôn ngữ mô hình
Hậu xử
lý
Hình 1.1 Mô hình nhận dạng chữ viết tay trực tuyến
Trang 13với phân tích ngữ cảnh và hay được sử dụng trong mô hình Markov
ẩn
Mô hình mẫu: Tất cả mẫu về ký tự sẽ được lưu trữ trong cơ sở dữ liệu Mỗi một ký tự có nhiều biến thể khác nhau
Kỹ thuật tìm kiếm sẽ tìm kiếm đường dẫn gần nhất trong tất cả các mẫu của mỗi tự Một số kỹ thuật tìm kiếm thông dụng là lập trình động, tìm kiếm từ trái qua phải hay tìm kiếm tuần tự
Hậu xử lý bao gồm việc kiểm tra lại lần cuối kết quả nhận dạng trước khi hiển thị kết quả lên màn hình
Lịch sử nhận dạng
Cho đến nay, các hệ thống nhận dạng đã được phát triển từ nhiều năm, nhưng đến những thập kỷ gần đây mới phát triển mạnh mẽ Người ta chia lịch sử phát triển của các hệ thống nhận dạng làm 3 thời kỳ:[12]
Thời ký thứ nhất từ năm 1900 – 1980: Đây là thời kỳ sơ khai Nhận dạng ký
tự được bắt đầu từ những năm 1900 khi các nhà khoa học người Nga nghiên cứu phát triển một hệ thống trợ giúp cho người khuyết tật Hệ thống nhận dạng đầu tiên xuất hiện vào giữa năm 1940 cùng với sự phát triển của máy
vi tính Trong thời kỳ này, các hệ thống nhận dạng chủ yếu tập trung vào nhận dạng chữ in hoặc một tập nhỏ các ký tự viết tay Trong thời kỳ này, các
hệ thống nhận dạng chữ in chủ yếu sử dụng phương pháp đối sánh mẫu, ảnh cần nhận dạng sẽ được đem so sánh với các ảnh trong thư viện ảnh mẫu Với chữ viết tay, các kỹ thuật xử lý ảnh ở mức thấp được sử dụng để trích chọn các vector đặc trưng sau đó sẽ được phân loại Các thuật toán nhận dạng chủ yếu tập trung vào các ký tự Latin và số, chỉ có một số ít nghiên cứu tập trung vào nhận dạng các ký tự Japanese, Chinese, Hebrew, Indian, Cyrillic, Greek và các ký tự Arabic
Các hệ thống nhận dạng thương mại xuất hiện đầu tiên vào những năm 1950 khi các thiết bị điện tử có màn hình cảm ứng thu nhận tọa độ di chuyển của bút cảm ứng xuất hiện Các thiết bị này đã giúp các nhà nghiên cứu làm việc với các vấn đề liên quan đến chữ viết tay trực tuyến
1980 –1990 Thời kỳ phát triển: Các nghiên cứu trước năm 1980 gặp nhiều khó khăn do thiếu các thiết bị máy tính có tốc độ cao và các thiết bị thu nhận
dữ liệu Từ năm 1980 trở đi, với sự bùng nổ của công nghệ thông tin, các thiết bị phần cứng có có tốc độ cao đã giúp cài đặt được các thuật toán có độ phức tạp cao từ thời kỳ trước
Trang 14Từ năm 1990 đến nay – Thời kỳ tiến bộ Đây là thời kỳ phát triển mạnh mẽ của lĩnh vực nhận dạng về cả nhận dạng chữ in và nhận dạng chữ viết tay, một phần là do các thiết bị phần cứng phát triển( máy tính có tốc độ cao, các thiết bị thu nhận dữ liệu như máy quét, camara, các thiết bị cảm ứng thu nhận kết quả chính xác hơn), phần còn lại là do có nhiều thuật toán nhận dạng tốt hơn tận dụng được tốt đa các các phương pháp mạng Neural, mô hình Markov ẩn, v.v
Tổng quan về các thiết bị cầm tay
Trong phần này, tôi sẽ đề cập đến các thiết bị hỗ trợ thu nhận chữ viết tay, các đặc trưng cũng như các hệ điều hành thường được dùng trên từng loại thiết bị
Nhận dạng chữ viết tay trực tuyến là việc chuyển tự động các nét bút được viết trên các thiết bị số hóa hoặc PDA thành dạng văn bản.Các bộ cảm ứng của các thiết bị này sẽ thu thâp các tọa độ di chuyển của bút viết Các tính hiệu thu được sẽ được chuyển thành dạng mã ký tự để có thể xử lý được trong các chương trình xử lý văn bản
Các thành phần của một hệ thống nhận dạng chữ viết tay trực tuyến gồm:
Một bút cảm ứng để người viết viết lên màn hình cảm ứng
Một màn hình cảm ứng, nơi người viết viết văn bản và hiển thị kết quả
Một ứng dụng dịch cử động của người viết thành các ký tự
Nhận dạng chữ viết tay được sử dụng rộng rãi để thu thập dữ liệu cho các thiết bị PDA vì các thiết bị PDA thường không có bàn phím Thiết bị PDA đầu tiên hỗ trợ nhận dạng chữ viết tay là Apple Newton Tuy nhiên thiết bị này không được thương mại hóa rộng bởi khả năng nhận dạng còn kém Phiên bản tiếp theo của Apple Newton là Newton OS 2.0 Trong phiên bản này, độ chính xác đã được cải thiện đáng kể bao gồm cả việc hiệu chỉnh lỗi trong quá trình viết
Các thiết bị ra đời tiếp theo cố gắng tăng độ chính xác trong quá trình nhận dạng, bao gồm: Go’ tablet computer được sản xuất bởi NCR, IBM sử dụng hệ điều hành Go’s Penpoint, IBM’s Thinkpad tablet computer sử dụng
hệ điều hành Penpoint và các hệ thống nhận dạng sau đó như Microsoft
Trang 15Windows for Pen và IBM’s Pen for OS/2 Tuy nhiên chưa có hệ thống nào được thương mại hóa rộng rãi
Mãi đến khi có sự xuất hiện của máy Palm dựa trên hệ thống nhận dạng Graffiti@, hệ thống nhận dạng này dựa trên việc định nghĩa một tập các nét bút cho từng ký tự Các hệ thống nhận dạng sau đó có độ chính xác cao được tích hợp vào các hệ điều hành như Microsoft’s version of windows XP operating system for Tablet PCs hoặc Windows Mobile OS for PDAs
Thiết bị cầm tay PDA(Personal Digital Assistant) là các thiết bị có kích thước nhỏ, có cấu trúc gần giống như máy tính cá nhân Các thiết bị PDA cung
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