Các bước thực hiện để lấy mẫu bằng nhau

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 ThS. Công nghệ thông tin 1.01.10 (Trang 27 - 32)

       3 3 i orig i t i filtered t w y y Trong đó       2 2 2 2 2 / 3 3 2 /     j j i i e e w

Khi áp dụng bộ lọc Gaussian, các điểm quan trọng như các điểm cuối của nét bút hoặc các điểm cao của đường cong sẽ bị thay đổi, do đó để không làm mất các đặc trưng quan trọng này, các điểm quan trọng sẽ được xác định trước khi lấy mẫu và áp dụng bộ lọc Gaussian và không thay đổi các điểm đó khi lấy mẫu.

Hình sau đây minh họa ký tự “a” sau mỗi bước xử lý

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)

2.3.Hiệu chỉnh lỗi trong quá trình viết chữ

2.3.1Các lỗi thƣờng gặp trong quá trình viết

Trước khi thảo luật về các phương thức tránh lỗi hoặc hiệu chỉnh lỗi trong hệ thống nhận dạng chức trực tuyến, chúng ta sẽ xem xét các lỗi thường dẫn đến việc nhận dạng sai dựa trên các nghiên cứu trong tài liệu [23] gồm:

 Các từ con người dễ dàng nhận dạng nhưng bằng thuật toán khó có thể nhận dạng.

 Sai lỗi chính tả

 Xóa sửa ký tự

 Các hình biểu diễn ký tự không rõ ràng

2.3.2Các lỗi trong hệ thống nhận dạng chữ viết tay trực tuyến

Trong thống kê tại tài liệu [1], tác giả đã thử nghiệm với hệ thống cơ sở dữ liệu lớn gồm 3466 từ đơn và 3410 dãy ký tự, mỗi dãy gồm 8 từ. Dữ liệu được thu thập ngẫu nhiên trên thiết bị số hóa từ nhiều người viết khác nhau. Người viết được yêu cầu viết các từ ngẫu nhiên trên màn hình máy tính, các từ này có thể bị xiên xẹo, sai lệch vì người viết không cần phải sửa lại các lỗi trong quá trình thu thập dữ liệu.

Dựa vào các loại lỗi đã được đề cập ở trên, tác giả đã phân tích dữ liệu và đưa ra thống kê là khoảng 13% từ và 23% dãy các từ chứa lỗi. Trong các lỗi này, có nhiều lỗi xảy ra do người dùng cố gắng hiệu chỉnh lỗi mặc dù không được yêu cầu làm điều đó.

Từ những số liệu thống kê đó, chúng ta phân loại được các loại hiệu chỉnh lỗi trong quá trình nhận dạng chữ viết tay gồm 3 loại:

 Viết đè

 Hoàn thành và chèn

2.3.3Hiệu chỉnh lỗi viết tay on-line

Đầu vào S = ((x0,y0,p0), (x1,y1,p1), (x2,y2,p2), ..., (xn,yn,pn)) chứa lỗi do quá trình sửa lỗi của người viết gây ra sẽ được chuyển thành dạng S* = ((x*0,y*0,p*0), (x*1,y*1,p*1), (x*2,y*2,p*2), ..., (x*n,y*n,p*n)) có thể được nhận dạng được. Trong S* tất các các tọa độ của một ký tự sẽ được nối với một ký tự khác(nếu có) theo thứ tự tạo nên chữ và các lỗi viết tay sẽ bị xóa khỏi tập S .

Hình 2.4. Ví dụ về sửa lỗi “Xóa”

Hình 2.5. Ví dụ về sửa lỗi “Viết đè”

Việc nhận dạng xem người dùng hiệu chỉnh lỗi theo một trong 3 loại nào kể trên khó hơn nhiều so với việc xử lý ký tự bị “làm chậm”. Ví dụ, chúng ta không thể xác định được nét bút bị trễ khi viết ký tự t và việc xóa ký tự viết sai “l” bằng cách gạch ngang qua ký tự qua nó mà không sử dụng các thông tin về ngữ cảnh hoặc các thông tin phản hồi từ người viết.

Để giải quyết các vấn đề trên, chúng ta xử lý lỗi chỉnh sửa tại mức tiền xử lý. Như vậy trong quá trình tương tác với người viết, hệ thống có thể xử lý các lỗi chỉnh sửa của người viết tại mức tiền xử lý. Chúng ta sử dụng các thuật toán heuristics để phát hiện, phân loại và xử lý các lỗi do người dùng hiệu chỉnh lỗi mặc dù có thể việc xử lý này có thể không mang lại thành công( Chiếm tỉ lệ ít hơn so với khả năng thành công). Việc sử dụng các thuật toán heuristics sẽ giúp chúng ta cài đặt nhanh hơn và đáp ứng được bộ nhớ cũng như tốc độ xử lý của các các thiết bị cầm tay có tốc độ xử lý và bộ nhớ đang còn hạn chế.

Để giảm việc xử lý và và nâng cao độ chính xác khi xử lý các lỗi do người viết chỉnh sửa chúng ta cũng có thể cung cấp các cơ chế hiệu chỉnh lỗi khác nhau để tăng khả năng mềm dẻo của chương trình. Xem xét tình huống nếu người viết viết ký tự „l” và viết tiếp nét gạch nganh lên ký tự đó trước khi ký tự đó được nhận dạng, sẽ rất khó để ta có thể phát hiện tình huốn đó có phải thuộc loại chỉnh sửa “Xóa” hay không. Nhưng nếu người dùng gạch ngang 3 gạch thì chúng ta có thể xếp loại ký tự đó thuộc loại chỉnh sửa “Xóa”.

Để chuyển S thành S*, hệ thống phải xác định được các điểm cần phải loại bỏ khỏi tập S và các cặp tọa độ cần phải được chèn vào các vị trí khác. Trong trường hợp xóa, các tọa độ thuộc ký tự hay cả từ bị xóa phải bị loại bỏ. Trong trường hợp viết đè, ta phải loại bỏ phần bị viết đè khỏi dãy các điểm trong S và phần viết đè sẽ được chèn vào vị trí thích hợp trong dãy. Trong trường hợp “chèn” hoặc “hoàn thiện”, ta không phải xoá bất kỳ toạ độ nào trong S mà chỉ cần chèn các điểm mới vào vị trí thích hợp trong S. Việc loại bỏ các điểm và chèn thêm các điểm vào được thực hiện trong trong sự kiện Pen-Up.

Người viết viết các ký tự theo chiều từ trái sang phải. Dựa vào đặc điểm này ta sẽ phân loại tất cả các nét bút trong dãy S thành các cặp “nét hiệu chỉnh” và “nét không hiệu chỉnh”. Mỗi khi người viết kết thúc một nét bút, ta sẽ tính toán các đặc trưng của nét bút này và so sánh nó với đặc trưng của các nét đã được viết trước đó. Nếu nét bút viết mới có đặc trưng không phù hợp với các đặc trưng của các nét đã viết trước đó, chúng ta sẽ phân loại nó là “nét hiệu chỉnh”. Ví dụ nét bút thứ i được xem là nét hiệu chỉnh nếu:

} ,..., { min . min1 min5 min     i i i x x x Trong đó min i

x là giá trị x nhỏ nhất của nét bút thứ i trong S và là một giá trị ngưỡng được xác định bằng thực nghiệm.

Thủ tục phân loại và xử lý hiệu chỉnh xoá, ghi đè, hoàn thiện và chèn được minh hoạ trong hình 2.7.

Xử lý hành động “Xoá”

Kiểm tra hiệu chỉnh Xoá

Xoá nét bút

? Kiểm tra hiệu

chỉnh

Ghi đè

Kiểm tra hiệu chỉnh Hoàn thiện/Chèn ? Ch èn né t b út Xử lý hành động “Ghi đè”

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 ThS. Công nghệ thông tin 1.01.10 (Trang 27 - 32)

Tải bản đầy đủ (PDF)

(100 trang)