Tải bản đầy đủ (.pdf) (100 trang)

Nhận dạng chữ viết tay tiếng Việt trên các thiết bị cầm tay

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.81 MB, 100 trang )


ĐẠ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



ĐẠ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




1
BẢNG CÁC TỪ VIẾT TẮT 4
DANH MỤC CÁC HÌNH VẼ 5
MỞ ĐẦU 8
CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG
CHỮ VIẾT 11
1.1. Giới thiệu 11
1.2. Lịch sử nhận dạng 12
1.3. Tổng quan về các thiết bị cầm tay 13
1.4. Hệ thống nhận dạng ký tự tự động(ACR) 16
1.4.1 Phận loại hệ thống dựa trên thiết bị thu nhận dữ liệu 16
1.4.2 Phân loại hệ thống dựa vào kiểu văn bản 18
CHƯƠNG 2. TIỀN XỬ LÝ 24
2.1. Phát hiện nét bút trễ 24
2.2. Lấy mẫu 24
2.3. Hiệu chỉnh lỗi trong quá trình viết chữ 27
2.3.1 Các lỗi thường gặp trong quá trình viết 27
2.3.2 Các lỗi trong hệ thống nhận dạng chữ viết tay trực tuyến 27
2.3.3 Hiệu chỉnh lỗi viết tay on-line 28
2.4. Làm trơn 32

2.5. Thuật toán làm mảnh 33
2.6. Chuẩn hóa kích thước 35
2.7. Nội suy các điểm bị mất 36
2.7.1 Sử dụng đường cong Bezier 36
2.7.2 Thuật toán vẽ đường thằng Bresenham 38
2.8. Hiệu chỉnh góc nghiêng 40
2.8.1 Hiệu chỉnh góc nghiêng theo phương nằm ngang 40
2.8.2 Hiệu chỉnh góc nghiêng theo phương thẳng đứng 43


2
CHƯƠNG 3. CẮT CHỮ VÀ TRÍCH CHỌN ĐẶC TRƯNG 48
3.1. Cắt từ khỏi dòng văn bản 48
3.1.1 Cắt dựa vào trọng lực 48
3.1.2 Cải tiến các thuật toán cắt từ 50
3.1.3 Biểu diễn các cụm ký tự và dấu 51
3.2. Cắt các ký tự khỏi từ 52
3.2.1 Ước lượng chiều rộng và cao của ký tự 52
3.2.2 Cắt bằng thuật toán mẹo 53
3.2.3 Cắt bằng tập các quy tắc 55
3.2.4 Sử dụng thông tin phụ để tăng độ chính xác 57
3.2.5 Kết hợp cắt từ và nhận dạng 59
3.3. Trích chọn đặc trưng 60
3.3.1 Hướng viết 60
3.3.2 Xác định độ cong 61
3.4. Pen-up/pen-down 61
3.5. Lượng tử hóa độ nghiêng 61
3.6. Xác định các điểm trội 62
CHƯƠNG 4. MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG 63
4.1. Đối sánh nhị phân 63

4.2. Warping thời gian động 65
4.3. Đối sánh chuỗi 66
4.3.1 Trích chọn chuỗi nét bút liền kề(stroke sequence strings) 67
4.3.2 Đối sánh chuỗi nét bút liền kề 67
4.4. Nhận dạng dựa vào mô hình phân bố điểm(PDM) 71
4.4.1 Căn thẳng hàng tập huấn luyện 71
4.4.2 Phân tích thành phần 73
4.4.3 Nhận dạng sử dụng PDM 75
4.5. Sử dụng Fourier Descriptor(FD) 75


3
CHƯƠNG 5. XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG
TIẾNG VIỆT ONLINE 86
5.1. Mô tả 86
5.2. Tiền xử lý 87
5.2.1 Tìm các điểm bị mất 87
5.2.2 Tách các dòng văn bản 87
5.2.3 Tách các từ khỏi dòng văn bản 87
5.2.4 Bỏ dấu tiếng việt và ước lượng chiều rộng của ký tự 88
5.2.5 Hiệu chỉnh góc nghiêng 89
5.2.6 Xác định các điểm cắt tiềm năng 89
5.3. Nhận dạng các ký tự 92
5.4. Hậu xử lý 92
5.5. Kết luận 94
KẾT LUẬN 95
TÀI LIỆU THAM KHẢO 96






4
BẢ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
DTW
Dynamic Time Warping
Warping thời gian động
DFT
Discrete Fourier Transform
Biến đổi Fourier rời rạc
DCT
Discrete Cosine Transform
Biến đổi Cosine rời rạc








5
DANH 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 11
Hình 1.2. Thiết bị cầm tay 15
Hình 1.3. Minh họa ký tự khi thu nhận được khi người dùng viết nhanh 18
Hình 1.4. Các cách viết khác nhau cho cùng ký tự N 22
Hình 1.5. A) Thòng lọng, B) Thòng lọng bị thu nhỏ, C) Thòng lọng chuyển
thành đỉnh 22
Hình 1.6. Thay đổi cấu trúc của ký tự thành dạng có thòng lọng 22
Hình 1.7. Ví dụ minh họa ký tự bao phủ một ký tự khác 23
Hình 2.1. Xóa các ký tự trễ 24
Hình 2.2. Các bước thực hiện để lấy mẫu bằng nhau 25
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 26
Hình 2.4. Ví dụ về sửa lỗi “Xóa” 28
Hình 2.5. Ví dụ về sửa lỗi “Viết đè” 28
Hình 2.6. Ví dụ về loại lỗi “hoàn thành” và “chèn” 28
Hình 2.7. Sơ đồ xử lý hiệu chỉnh tổng quát 30
Hình 2.8. Chữ “Clintor” sau khi được làm trơn 32
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ỳ 35
Hình 2.10. Minh họa cho thuật toán làm mảnh 35
Hình 2.11. Ánh xạ giữa các điểm 35
Hình 2.12. Chuẩn hóa kích thước của ký tự 36
Hình 2.13. Nội suy các điểm bị mất dựa vào đường cong Bezier 37
Hình 2.14. Xác định trọng tâm của hai thành phần 41



6
Hình 2.15. Từ “chat “ sau khi quay một góc

41
Hình 2.16. Hiệu chỉnh góc nghiêng của từ “about” 42
Hình 2.17. Các ký tự có độ nghiêng khác nhau 43
Hình 2.18. Xác định đường thẳng hiệu chỉnh 44
Hình 2.19.Minh họa tính góc nghiêng trung bình 45
Hình 2.20. Histogram khi thay đổi góc quay 47
Hình 3.1. Tính khoảng cách giữa hai thành phần 48
Hình 3.2. Dòng văn bản trước và sau khi phân tách 49
Hình 3.3. Minh họa các bước của thuật toán cắt từ 50
Hình 3.4. Hình chữ nhật nhỏ nhất chứa dấu và cụm ký tự 52
Hình 3.5. Biểu diễn mối liên kết giữa cụm ký tự và dấu 52
Hình 3.6. Minh họa từ “Chúng” được cấu tạo từ 3 cụm từ 53
Hình 3.7. Các bước thực hiện thuật toán cắt từ 55
Hình 3.8. Minh họa các đường baseline 56
Hình 3.9: Các điểm cắt ứng viên thay đổi khi áp dụng quy tắc 1 56
Hình 3.10. Các điểm cắt thay đổi sau khi áp dụng quy tắc 2 57
Hình 3.11. Dấu chấm giúp căt hai từ chính xác 58
Hình 3.12. Sơ đồ kết hợp giữa tách từ và nhận dạng 59
Hình 3.13. Xác định hướng viết 60
Hình 3.14. Độ cong tại điểm (x(t),y(t)) 61
Hình 3.15. Các điểm trội của ký tự khi các giá trị FI thay đổi. 62
Hình 4.1. Các bước thực hiện thuật toán đối sánh mẫu nhị phân 63
Hình 4.2. Ma trận điểm ảnh được chia thành các khối kích thước 2x2 64
Hình 4.3. Các kỹ thuật đối sánh đường cong 65
Hình 4.4. Minh họa sau khi thực hiện thuật toán lấy mẫu 66
Hình 4.5. Hướng viết được biểu diễn tương ứng với các giá trị nguyên 67
Hình 4.6. Minh họa chuỗi biểu diễn ký tự A 67

Hình 4.7. Các cách viết ký tự “A” 69


7
Hình 4.8. Chuỗi biểu diễn tương ứng với các cách viết ký tự “A” 69
Hình 4.9. Biểu diễn đối tượng bằng các điểm 71
Hình 4.10. Mô hình PDM của một khúc xương 74
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 Fourier
Descriptors 76
Hình 4.12. Biểu đồ khối chi tiết của hệ thống nhận dạng sử dụng DFT 77
Hình 4.13. Các điểm biểu diễn đường cong 78
Hình 4.14. Đường cong sau khi làm trơn 79
Hình 4.15. Đường cong được biểu diễn bằng 64 điểm 79
Hình 4.16: Đường cong xấp xỉ có xu hướng trở về hình dạng cũ 81
Hình 4.17. Đường cong xấp xỉ sau lần lặp đầu tiên 82
Hình 4.18. Đường cong xấp xỉ thu được sau lần lặp thứ 8 83
Hình 4.19 Hình minh họa đường cong không đóng 83
Hình 5.1. Các bước cài đặt chương trình 86
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 87
Hình 5.3. Chữ “nhanh” trước và sau khi hiệu chỉnh góc nghiêng 89
Hình 5.4. Xác định các điểm cắt tiềm năng 90
Hình 5.5. Từ “ngay” được chia thành 7 khối 91
Hình 5.6. Minh họa một phần cây lưu trữ trong bộ nhớ 91
Hình 5.7. Hiển thị kết quả nhận dạng ra màn hình 94





8

MỞ ĐẦ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).


9
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:
Chươ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.



10

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.


11

CHƢƠNG 1. TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG CHỮ VIẾT
1.1. 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ừ.
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ử

Hình 1.1. Mô hình nhận dạng chữ viết tay trực tuyến


12
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 vớ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.
1.2. 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


13
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.

Từ 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
1.3. 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


14
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 Windows 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


15
cấp các công cụ để trợ giúp giải quyết công việc cho cá nhân. Thường gồm các
công cụ như Lịch làm việc, Sổ địa chỉ, ghi chú v.v Dữ liệu chủ yếu của các
thiết bị PDA được thu thập bằng cách viết lên màn hình cảm ứng, hệ thống
nhận dạng sẽ nhận dạng các nét bút thành đầu vào văn bản. Ngoài ra một số
thiết bị PDA khác còn cho phép kết nối với bàn phím thông qua cổng hồng
ngoại. PDAs gồm hai loại chính là Palm OS PDAs và Microsoft Pocket PC.














Các phiên bản của Palm Pilots thường hỗ trợ màn hình 320 x 320, Pocket
PC thường hỗ trợ độ phân giải thấp nhất là 320 x 480, các thiết bị Pocket PC
gần đây hỗ trợ độ phân giải 480 x 640. Các thiết bị có độ phân giải cao sẽ giúp
người viết ghi được nhiều từ hơn.
Bộ vi xử lý của các thiết bị cầm tay chủ yếu là Intel Xscale, Taxas
Instrucments TI Omap, Samsum. Bảng sau đây chỉ ra hệ điều hành của một số
loại thiết bị cầm tay thông dụng trên thị trường.


Hình 1.2. Thiết bị cầm tay


16

Tên thiết bị
Hệ điều hành
Dòng máy iPad của HP
Window Mobile Pocket 2003
O
2
Xphone SmartPhone
Windows 2003 Smartphone Edition
Nokia 9500
Symbian OS 7.0S, Series 80
P910i
Symbian OS, Series 70

Motorola E680
Linux Handheld

1.4. Hệ thống nhận dạng ký tự tự động(ACR)
Các hệ thống nhận dạng ký tự tự động được phân loại dựa trên hai tiêu chí:
 Phân loại dựa trên phương pháp thu nhận dữ liệu
 Phân loại dựa trên kiểu văn bản
Dữ liệu được thu thập từ rất nhiều thiết bị thu nhận dữ liệu, thiết bị thu nhận
dữ liệu ảnh hưởng nhiều đến việc quyết định thuật toán nhận dạng nào được áp
dụng lên hệ thống ACR[12]. Kiểu văn bản củng là nhân tố quan trọng ảnh
hưởng đến hệ thống nhận dạng ACR. Có kiểu dữ liệu yêu cầu tiền xử lý rất ít,
tuy nhiên có kiểu văn bản yêu cầu phải xử lý nhiều hơn(Tách chữ, v.v ) trước
khi nhận dạng. Chi tiết về kiểu văn bản sẽ được thảo luận ở phần sau.
1.4.1 Phận loại hệ thống dựa trên thiết bị thu nhận dữ liệu
Thiết bị thu nhận dữ liệu cho hệ thống ACR rất đa dạng như máy quét, các
thiết bị cầm tay, v.v Dựa trên đặc trưng của các thiết bị thu nhận dữ liệu, hệ
thống ACR được chia thành hai loại.
 Hệ thống nhận dạng ký tự on-line
 Hệ thống nhận dạng ký tự off-line
Hệ thống nhận dạng off-line thu nhận dữ liệu từ giấy thông qua các thiết bị
như máy quét hoặc camaras trong khi đó hệ thống nhận dạng on-line lại thu
nhận dữ liệu từ các thiết bị đặc biệt thông qua màn hình cảm ứng như các thiết


17
bị PDA, thu nhận được thứ tự của các nét bút(Strokes), tốc độ và các thông tin
về sự kiện hạ bút(pen-down) hoặc nhấc bút lên(pen-up).
1.4.1.1. Hệ thống nhận dạng ký tự on-line
Dữ liệu cho hệ thống nhận dạng chữ viết tay online là từ bút điện tử được
viết trên các thiết đặc biệt như PDA(Personal digital assistants), các bộ cảm biết

sẽ thu thập tọa độ di chuyển của bút điện tử X(t), Y(t) cũng như các sự kiện như
nâng bút và hạ bút. Đựa vào các thông tin này, ta sẽ tính được hướng đi của nét
bút viết và tìm được các nét bút bị trễ.
Hệ thống nhận dạng ký tự on-line có nhiều đặc tính nổi trội gồm:
 Khả năng thích ứng. Hệ thống nhận dạng on-line có thể nhận trực tiếp
các phản hồi từ phía người dùng về kết quả nhận dạng. Các phải hồi này
sẽ được sử dụng để hiệu chỉnh tập huấn luyện cho tương thích với kiểu
viết của người dùng hệ thống.
 Xử lý thời gian thực. Hệ thống nhận dạng ký tự on-line có thể thu nhận
được các thông tin tạm thời hay động trong khi viết. (Hướng viết, thứ tự
các nét bút v.v ). Dựa vào các thông tin động này, hệ thống có thể xử lý
được các nét bút hỏng, nét bút xóa v.v
 Đơn giản quá trình tiền xử lý. Các thao tác như làm trơn chuẩn hóa kích
thước v.v sẽ được thực hiện dễ dàng và nhanh hơn so vơi ảnh pixels.
 Phân mảnh đơn giản hơn. Do biết được thứ tự của các nét bút và các
điểm thuộc nét bút nên việc phân mảnh sẽ cho kết quả chính xác hơn.
Nhược điểm của hệ thống nhận dạng ký tự on-line:
 Yêu cầu phải có các thiết bị đặc biệt, các thiết bị này có giá thành cao và
cách viết không được tự nhiên bằng khi viết trên giấy.
 Không thể xử dụng được đối với giấy in hoặc viết tay.
 Nếu di chuyển bút viết nhanh hoặc các thiết bị cầm tay có tốc độ xử lý
chậm thì số điểm thu nhận được cho một ký tự ít, đôi khi làm biến dạng


18
ký tự( Ví dụ như viết ký tự “o” nếu số điểm thu nhận được ít sẽ làm biến
dạng ký tự).







1.4.1.2. Hệ thống nhận dạng ký tự off-line
Hệ thống nhận dạng ký tự off-line hay còn được gọi là nhận dạng ký tự
quang học(OCR). Hình ảnh về chữ của người viết sẽ được chuyển thành dạng
bit thông qua các thiết bị số hóa quang học như máy quét hoặc camaras.
Dữ liệu thu nhận được sẽ được đưa vào ma trận điểm ảnh, khích thước của
ma trận tương đối lớn(Thông thường các máy quét bây giờ có độ phân giải từ
1000-1600 điểm trên một inch). Do đó yêu cầu bộ nhớ lưu trữ trong quá trình
xử lý phải lớn.
Hệ thống nhận dạng off-line được áp dụng giải quyết rất nhiều bài toán lớn
khó trong thực tế như chuyển thành văn bản các tài liệu giấy, xử lý các hóa đơn
chuyển tiền, thiết bị đọc trợ giúp cho người khuyết tật.Tuy nhiên hệ thống nhận
dạng chữ viết tay off-line cũng có các nhược điểm sau:
 Yêu cầu phải tiền xử lý nhiều(Do có nhiều nhiễu do thiết bị thu nhận
kém ), chi phí vào việc phân mảnh và trích chọn đặc trưng lớn.
 Không thu được các thông tin động của người viết như thứ tự nét bút, số
nét bút
 Không phải là hệ thống nhận dạng thời gian thực.
1.4.2 Phân loại hệ thống dựa vào kiểu văn bản
Dựa vào kiểu văn bản, ta chia hệ thống nhận dạng làm hai loại:
Hình 1.3. Minh họa ký tự khi thu nhận được khi người dùng viết nhanh


19
 Nhận dạng ký tự in
 Nhận dạng ký tự viết tay
Khi các tài liệu được in trên giấy có chất lượng cao và thiết bị thu nhận dữ
liệu tốt. Các hệ thống nhận dạng hiện tại có thể nhận dạng với độ chính xác lên

tới 99%, tuy nhiên với các hệ thống nhận dạng chữ viết tay, kết quả nhận dạng
đang còn hạn chế.
1.4.2.1. Nhận dạng ký tự in
Văn bản in bao gồm các tài liệu như sách báo, tạp chí được in hay photo.
Dựa vào độ phức tạp của các hệ thống nhận dạng chữ in người ta phân hệ thống
nhận dạng ký tự in thành các loại:
 Nhận dạng các ký tự có phông chữ cố định
 Nhận dạng ký tự nhiều phông
 Nhận dạng ký tự có phông bất kỳ
Kết quả nhận dạng của các hệ thống nhận dạng ký tự in phụ thuộc nhiều vào
chất liệu của tài liệu viết và thiết bị số hóa. Dữ liệu thu thập được có rất nhiều
nhiễu đôi khi sẽ không phân biệt được nhiễu với ký tự(Ví dụ như dấu “.” trên
các ký tự “i”)
1.4.2.2. Nhận dạng ký tự viết tay
Các dạng chữ viết tay được chia thành 5 loại dựa vào cấu trúc tự nhiên của
chữ viết tay và độ khó của gian đoạn phân mảnh văn bản thành các ký tự.
Dạng 1: Các ký tự rời rạc nằm trong hộp



Dạng 2. Các ký tự rời rạc không dích nhau


20


Dạng 3. Các ký tự viết rời rạc nhưng có thể dích vào nhau


Dạng 4. Các ký tự viết liền nhau




Dạng 5. Kết hợp giữa viết liền nhau, rời rạc không dính nhau và rời rạc dính
nhau


Đối với dạng thứ nhất, việc tách các ký đơn giản và cho kết quả nhận dạng
cao. Đối với dạng này, vì khoảng các giữa các ký tự là như nhau nên sau khi


21
nhận dạng ta phải xác định xem các ký tự nào thuộc cùng một từ. Đối với tiếng
việt, sẽ có một số quy tắc giúp ta nhận biết ký tự tiếp theo có nằm trong cùng
một từ hay không như số ký tự trong một từ nhỏ hơn 6, các ký tự như “h”, “g”
là các ký tự bắt đầu từ hoặc kết thúc của một từ.
Đối với dạng thứ hai, tiến trình tách các từ đơn giản vì các từ không dính
nhau. Khoảng cách giữa các ký tự cũng khác nhau. Các ký tự thuộc cùng một từ
sẽ có khoảng cách nhỏ hơn khoảng cách giữa ký tự kết thúc một từ và ký tự bắt
đầu của từ tiếp theo.
Đối với dạng thứ ba, nếu là nhận dạng chữ viết tay offline thì tiếp trình cắt
các ký tự tương đối khó vì các ký tự có thể đè lên nhau. Nhưng đối với chữ viết
tay online, ta có thể dễ dàng nhận biết được các ký tự tách biệt bằng một số
thuật toán mẹo trên cơ sở hình chữ nhật nhỏ nhất bao quanh mỗi nét bút.
Với dạng thứ 4, gần như một từ được tạo bởi một nét bút đơn. Giai đoạn cắt
cắt ký tự khỏi từ bằng các cách tiếp cận như chiếu theo phưong thẳng đứng hay
nối các thành phần với nhau đôi khi không hiệu quả. Trong một số trường hợp
việc cắt sẽ không cho kết quả chính xác, khi đó ta phải cần kết hợp thêm yếu tố
ngữ cảnh ví dụ như chữ “u” và “v”, “I” và “1”. Các thuật toán cắt từ sẽ được đề
cập tại phần sau của luận văn.

Với dạng thứ 5, các ký tự được viết dưới dạng rời rạc sẽ được tách ra bởi
thuật toán mẹo như ở dạng 3. Các ký tự viết theo dạng 4 sẽ được tách nhờ thuật
toán tách ký tự. Để quyết định xem có tách ký tự hay không ta sẽ tính kích
thước trung bình của mỗi ký tự, nếu kích thước của một nét bút có chiều rộng
lớn hơn kích thước trung bình của một ký tự thì nó ở dạng 4.
Trong nhận dạng chữ viết tay, có rất nhiều yếu tố ảnh hưởng tới dữ liệu thu
nhận được từ người viết. Người ta chia các yếu tố này thành hai loại.
1. Các yếu tố cảm giác: Liên quan đến vấn đề con người đọc như thế nào,
đến khả năng con người có thể nhận ra các đối tượng có hình dáng khác nhau là
một đối tượng.


22
2. Các yếu tố sinh ra đối tượng. Liên quan đến vấn đề các ký tự được viết
như thế nào. Hình sau đây minh họa cho 3 cách viết cùng ký tự “N”







Trong nhận dạng chữ viết tay, các nét bút thẳng thường là các đường cong,
các ký tự có thòng lọng đôi khi là các các đỉnh, các đỉnh đôi khi lại là các thòng
lọng nhỏ. Điều này gây ra hiện tượng nhập nhằng trong quá trình nhận dạng










Một số chữ khi viết đỉnh của của ký tự thành thòng lọng nhỏ sẽ thay đổi cấu
trúc của ký tự.





Hình 1.4. Các cách viết khác nhau cho cùng ký tự N
Hình 1.5. A) Thòng lọng, B) Thòng lọng bị thu nhỏ, C) Thòng lọng chuyển
thành đỉnh
Hình 1.6. Thay đổi cấu trúc của ký tự thành dạng có thòng lọng


23

Một số ký tự khi viết sẽ bao phủ gần hết một ký tự khác. Đối với các trường
hợp như thế này, giai đoạn tách ký tự sẽ gặp rất nhiều khó khăn.




Hình 1.7. Ví dụ minh họa ký tự bao phủ một ký tự khác

×