.6 Các đặc trƣngcủa các kỹ thuật phân lớp khối

Một phần của tài liệu Nhận dạng các biểu mẫu tài liệu (Trang 56)

59

CHƢƠNG 3 - Đề xuất giải pháp sử dụng biểu

mẫu động

3.1 Hệ thống xử lý biểu mẫu động.

3.1.1 Giới thiệu về hệ thống xử lý biểu mẫu

Trong hầu hết các hệ thống xử lý biểu mẫu đang đƣợc sử dụng ngày nay, màu sắc đƣợc sử dụng trong các biểu mẫu, nhƣ là các dòng chữ in giới thiệu hoặc các khung điền thông tin, mục đích nhằm phân tách chúng đối với phần chữ viết tay. Do đó, các hệ thống này sẽ đòi hỏi máy in màu và máy quét ảnh màu hay đầu đọc màu. Các biểu mẫu và các bản copy đồng màu (đen trắng hay đa cấp xám) của chúng không thể sử dụng đƣợc trong trƣờng hợp này. Vì thế chi phí cho các hệ thống này sẽ bị nâng lên cao. Đối ngƣợc lại các biểu mẫu màu, thì các biểu mẫu đồng màu (đen/trắng hoặc đa cấp xám) đòi hỏi chi phí thấp và thuận lợi cho việc sử dụng, nhƣng chúng lại có một số nhƣợc điểm. Chúng ta sẽ gặp khó khăn trong việc phân tách chữ viết tay ra khỏi khung điền trong trƣờng hợp chữ viết tay đè lên khung điền. Đã có nhiều giải pháp đƣợc đƣa ra song vẫn chƣa giải quyết triệt để đƣợc vấn đề này. Hơn nữa, trong hầu hết các hệ thống nhận dạng biểu mẫu đang đƣợc sử dụng, các biểu mẫu đều phải đƣợc đăng ký trƣớc để hệ thống hiểu đƣợc các khung điền ở đâu, cái gì đƣợc viết trong các khung, xử lý từng khung nhƣ thế nào… Để giải quyết vấn đề này, tôi đề xuất sử dụng biểu mẫu “động”. Biểu mẫu động là biểu mẫu có các khung điền đƣợc hình thành bởi các “cấu trúc chấm nhỏ”. Bằng cách thức này, chúng ta có thể dễ dàng phân tách chữ viết tay ra khỏi khung điền một cách nhanh chóng và dễ dàng bằng các thuật toán xử lý ảnh đơn giản. Chúng ta cũng có thể loại bỏ việc đăng ký biểu mẫu mà hệ thống của chúng ta vẫn biết đƣợc các thuộc tính của chữ viết tay, cách xử lý chúng nhƣ thế nào trong từng khung điền bởi vì chúng trong có thể mã hóa thông tin vào khung điền. Việc mã

60

hóa này đƣợc thực hiện thông qua các cấu trúc điểm nhỏ cấu tạo nên khung điền. Chính vì những lý do này mà chúng tôi gọi hệ thống này là “biểu mẫu động”.

3.1.2 So sánh với các phƣơng pháp truyền thống

(1) Tách các phần tử gối chồng lên nhau.

Các hệ thống xử lý biểu mẫu truyền thống sử dụng màu cho khung điền sắc (thƣờng là màu đỏ) để phân tách các khung và chữ viết, các hệ thống này yêu cầu đƣợc xử lý trong môi trƣờng có các thiết bị đọc và in màu. Do đó các bản sao đơn màu và các hoạt động dựa trên đơn màu sẽ không nhận dạng đƣợc trong quá trình xử lý biểu mẫu này. Tuy nhiên phƣơng pháp của chúng ta có thể tách các phần tử gối chồng trong môi trƣờng đơn màu bằng một xử lý đơn giản. Chúng ta sẽ mô tả kỹ hơn trong phần tiếp theo.

(2) Tính đảm bảo thông tin trong biểu mẫu

Hầu hết các hệ thống xử lý biểu mẫu truyền thống cần thiết phải đăng ký các chi tiết các đầu vào của khung trên biểu mẫu. Điều này giúp ích cho việc xử lý đúng đắn các thông tin trên biểu mẫu. Tuy nhiên trong phƣơng pháp của chúng ta tất cả các thông tin đều đã đƣợc nhúng vào trong các khung, vì thế việc đăng ký trên các biểu mẫu là không cần thiết.

(3) Phƣơng pháp nhúng thông tin.

Một phƣơng pháp thông dụng để nhúng thông tin là mã vạch, nó có thể in trên giấy hoặc các chất liệu khác. Tuy nhiên điều đó sẽ gặp nhiều bất tiện nếu sử dụng mã vạch để nhúng thông tin vào các biểu mẫu. Mã vạch sẽ phải đặt gần các khung hoặc kết nối vào chúng trƣớc khi chúng ta viết thông tin vào biểu mẫu.

Hơn nữa, việc đƣa các thông tin mã vạch vào biểu mẫu tốn mất nhiều diện tích và hình dạng biểu mẫu trông không mỹ cảm. Trong khi đó, việc nhúng thông tin trong phƣơng pháp mới thì thông tin đƣợc đƣa trực tiếp vào các khung, các thông tin gắn liên với khung nên sẽ rất tiết kiệm không gian của biểu mẫu.

61

Không tính đến mã vạch, chúng ta cần nghiên cứu làm thế nào để nhúng thông tin lên giấy một cách tự nhiên nhất. DataGlyphs là một phƣơng pháp nhúng thông tin sử dụng “/” và “\” ( [2]). Kise đề xuất một phƣơng pháp khác cho việc nhúng thông tin trên giấy vào các biểu mẫu nhờ các ảnh nền là các điểm chấm nhỏ ( [3]).

(4) So sánh các phần mềm ứng dụng trong việc nhập dữ liệu

Ngày nay, thông thƣờng việc đƣa dữ liệu vào máy tính thực hiện đƣợc nhờ sự giúp đỡ của bàn phím và con chuột. Tuy nhiên, sẽ là một sự khó khăn cho những ngƣời không có kiến thức về việc sử dụng PC.

Phƣơng pháp chúng ta đƣa ra chỉ sử dụng các định dạng trên giấy và bút, phƣơng pháp này không cần thêm máy tính hay một thiết bị điện tử nào để nhập thông tin vào. Hơn nữa, phƣơng pháp này thƣờng đƣợc sử dụng trong các văn bản quan trọng (nhƣ các hợp đồng, các ký kết thỏa thuận …) bao gồm cả chứ ký và các thông tin các nhân. Vì vậy, các tài liệu theo phƣơng pháp này có thể đƣợc chứng nhận nhƣ một căn cứ pháp lý và một chứng chỉ khi cần thiết.

3.1.3 Phƣơng pháp nhân dạng cơ bản

Giả sử rằng các chữ đƣợc viết trên khung đƣợc tạo bằng kết cấu điểm nhƣ trong hình 1(a). Phƣơng pháp Erosion (ăn mòn) đƣợc sử dụng và thu đƣợc kết quả trong hình 1(b). Nếu thấy cần thiết phƣơng pháp này có thể lặp lại nhiều lần. Nếu nhƣ bề dày các điểm chấm nhỏ hơn bề dày của chữ viết tay, thì các điểm chấm sẽ biến mất trƣớc khi chữ viết tay có thể biến mất. Phƣơng pháp Dilation (giãn nở) đƣợc làm cùng số lần với phƣơng pháp Erosion. Do đó các chữ viết tay đƣợc khôi phục thƣờng có độ dày nhƣ độ dày ban đầu trƣớc khi áp dụng phép Erosion. Có thể dùng nhiều phƣơng pháp khác nhau để phân tách các vùng gối chồng. Một cách là dựa trên độ đo của vùng các điểm chấm và phần viết tay bằng cách gán nhãn và sử dụng sự không tƣơng ứng giữa 2 vùng để phân tách các vùng gối chồng. Bằng cách kết hợp các phƣơng pháp này và bộ nhận dạng chữ viết tay thì việc tạo ra một hệ

62

thống xử lý biểu mẫu có khả năng phân tách các vùng gối chồng của chữ viết tay và các khung một cách hiệu quả thậm chí cả trong môi trƣờng đơn sắc là hoàn toàn khả thi. Trong các kết cấu điểm có thể nhúng thông tin nhƣ là các thuộc tính của chữ viết tay hay là làm thế nào để xử lý chữ viết tay có các độ dốc, kích cỡ, hình dạng, .. không ổn định.

Hình 3.1. Phân tách chữ viết tay và các khung.

3.1.4 Thiết kế hệ thống 3.1.4.1.Kiến trúc hệ thống 3.1.4.1.Kiến trúc hệ thống

Kiến trúc của hệ thống đƣợc thể hiện nhƣ trong hình 2. Nó bao gồm: hệ thống chuẩn bị biểu mẫu tạo ra các biểu mẫu động; hệ thống xử lý biểu mẫu, nó có nhiệm vụ trích lọc chữ viết và các thông tin đƣợc nhúng trong biểu mẫu động; và ứng dụng phần mềm/phần cứng hoạt động theo thứ tự đƣa thông tin vào biểu mẫu.

Hình 3.2. Hệ thống biểu mẫu động.

3.1.4.2.Hệ thống chuẩn bị biểu mẫu

Hệ thống này bao gồm một PC với một trình soạn thảo biểu mẫu động (chuẩn bị cho biểu mẫu động) và một máy in. (adsbygoogle = window.adsbygoogle || []).push({});

63

Trình soạn thảo biểu mẫu động là một trình có khả năng sắp xếp các khung đầu vào cùng với tiêu đề của chúng và có khả năng đƣa thông tin vào giống nhƣ các trình soạn thảo biểu mẫu thông thƣờng. Các thông tin đƣa vào có thể đƣợc chọn theo danh sách dựa trên menu.

(2)Nhúng thông tin

Để nhúng thông tin chúng ta sử dụng các điểm có hình dạng đƣờng tròn và các hình chữ nhật (giống nhƣ hình bao).

Đƣờng kính của điểm chấm tròn là 0.1mm và chiều dài đầy đủ của hình chữ nhật là 0.25mm và chúng đại diện cho các ký tự 0 và 1.

Thông tin đƣợc nhúng vào trong khung bao gồm: - Thuộc tính của mục sẽ điền vào.

- Kiểu ký tự sẽ đƣợc sử dụng trong các khung (ví dụ: bảng chữ cái tiếng Anh, con số, ký tự đặc biệt ..)

- Phƣơng hƣớng, chỉ dẫn. - Tiêu đề.

Các thuộc tính đƣợc phân loại theo các mục trên khung thông tin nhập vào và dựa trên ý nghĩa của chúng. Đôi khi, một nội dung giống nhau có thể đƣợc gọi bởi các tiêu đề khác nhau do đó chúng ta phân loại các trƣờng tên theo nghĩa của chúng. Điều này không chỉ làm tăng tốc độ nhận dạng chữ viết tay, mà nó còn hƣớng dẫn trong quá trình xử lý và xây dựng cơ sở dữ liệu từ các thông tin đƣợc chiết xuất. Các thuộc tính có thể là: “Văn bản”, “Địa chỉ”, “Họ tên”, “Nghề nghiệp”, “Tài khoản”, “Số lƣợng”, “Chất lƣợng”, “Ngày, tháng, tuần”, ….

Chúng ta nhận các biểu mẫu đƣợc sử dụng bởi nhân viên quản trị tại các trƣờng học và sau đó phân loại các nội dung vào các mục thuộc tính đƣợc gợi ý ở trên. Chúng ta biểu diễn dữ liệu này trong 8 bít.

64

Kiểu ký tự là kiểu đƣợc sử dụng trong biểu mẫu và chúng ta sử dụng 8 bít cờ để biểu thị rõ mỗi kiểu của ký tự. Điều này làm tăng tốc độ nhận dạng. Chúng ta chia loại các ký tự nhƣ trong bảng 1 và gán 1 bít duy nhất cho mỗi kiểu ký tự.

Bit No Character Type

1 Alphabet 2 Digit 3 Punctuation 4 Special Character 5 Other 6 Unused 7 Unused 8 Unused Bảng 3.1: Character Type Bit No Direction 1 Recognize 2 Store to database 3 Send by Mail 4 Store the image

5 Compare to the DB

6 Unused

7 Unused

8 Unused

Bảng 3.2 : Direction

Chiều hƣớng và chỉ dẫn là quy định hoặc câu lệnh để xử lý chữ viết tay và biểu mẫu của nó. Chúng ta sử dụng 8 bít cờ để thể hiện nó và mỗi một bít duy nhất đƣợc đại diện cho 1 chiều hƣớng nhƣ trong bảng 2.

65

Tiêu đề là nhãn đƣợc sử dụng trong biểu mẫu mô tả sẽ đƣợc viết vào trong khung. Một tiêu để đầy đủ có thể là quá dài để nhúng vào biểu mẫu, vì vậy chúng ta sẽ lấy 4 ký tự đầu tiên và biểu diễn chúng dƣới mã chuyển. Tiêu đề đƣợc đƣa vào trong giai đoạn cuối và đƣợc thể hiện bằng 8 bít NULL.

Với tổng thể biểu mẫu, chúng ta sử dụng một đƣờng thẳng ngang thể hiện dƣới dạng kết cấu điểm. Nó có thể đặt ở bất kỳ đâu song chúng ta nên đặt trên tiêu đề của biểu mẫu và thể hiện cho thuộc tính, tiêu đề của biểu mẫu …

Chúng ta tạo một tập dữ liệu bao gồm các mục đƣợc đề cập ở trên và biểu diễn chúng trên một đƣờng thẳng nhƣ là một chuỗi điểm bằng phƣơng pháp nhúng thông tin mô tả trong các phần tiếp theo. Chúng ta sẽ tiếp tục lặp chuỗi này cho phép nối thành đƣờng thẳng và sử dụng ít nhất là 3 đƣờng, do đó chúng ta sẽ tạo ra một kết cấu điểm cho khung.

Dữ liệu nhúng vào nằm ở phần trên của khung (hình 3.4).

Attribute Character type

Direction Title Terminal

Hình 3.3: Data set

Hình 3.4: Vùng mã hóa thông tin

3.1.4.3.Hệ thống xử lý biểu mẫu (adsbygoogle = window.adsbygoogle || []).push({});

Hệ thống này bao gồm một máy quét và một máy tính với phần mềm xử lý biểu mẫu. Giao diện của ứng dụng và ảnh của biểu mẫu đƣợc thể hiện trong hình 8,

66

và luồng xử lý đƣợc thể hiện nhƣ trong hình 9. Các thành phần của hệ thống đƣợc mô tả chi tiết nhƣ sau:

(1)Phần đọc biểu mẫu

Biểu mẫu đƣợc đọc bằng một máy quét ảnh. Sau khi quét ảnh chúng ta thu đƣợc 1 ảnh bitmap.

Hình 3.5: Một minh họa về biểu mẫu động

(2)Phân tách các ảnh

Chúng ta sẽ thu đƣợc ảnh của chữ viết tay bằng phƣơng pháp gán nhãn để loại trừ các điểm chấm nhỏ. Mặc dù có rất nhiều phƣơng pháp loại trừ các điểm chấm, song dựa trên tốc độ xử lý ảnh và hiệu quả, chúng ta chọn phƣơng pháp gán nhãn cho tình huống này. Bằng cách thực hiện phép trừ ảnh, trừ ảnh ban đầu với ảnh chữ chúng ta sẽ thu đƣợc ảnh khung.

(3)Phân đoạn các ký tự

Ảnh chữ viết tay đƣợc phân đoạn theo vị trí của khung và những ký tự này đƣợc giới hạn trong một khung.

67

Hình 3.6: Luồng xử lý

(4)Giải mã

Giải mã đƣợc áp dụng trên khung điền thông tin. Tại đây, chúng ta phải chú ý đến tình huống gối chồng của chữ viết tay tên khung và có thể làm hƣ hại đến một

68

vài vùng trong kết cấu điểm. Do đó, vùng dữ liệu nhúng vào đƣợc sao chép nhiều lần, sau đó chúng đƣợc chiết xuất và giải mã theo phƣơng pháp bình chọn đa số.

(5)Điều khiển nhận dạng

Chức năng này gửi thông tin từ (3) và (4) tới modul nhận dạng chữ viết tay (6) và cũng gửi kết quả nhận dạng tới giao diện hiệu chỉnh (7).

Máy nhận dạng ký tự

Các mẫu ký tự viết tay sẽ đƣợc đƣa vào để nhận dạng. Để tăng tốc độ nhận dạng hệ thống sẽ sử dụng thông tin của kiểu ký tự và thuộc tính kèm theo.

(6)Giao diện hiệu chỉnh

Các ký tự nhận dạng sẽ đƣợc hiện thị lên trên chữ viết tay trong khung. (7)Tạo nhóm sheet

Dữ liệu đƣợc tạo ra bởi tiến trình từ (1) tới (7) đƣợc gói lại trong tập tin định dạng CSV.

3.1.4.4.Ứng dụng

Một ứng dụng đọc các sheet tạo bởi hệ thống xử lý biểu mẫu và họat động theo chúng. Nhƣ một ví dụ cụ thể cho ứng dụng, chúng ta tạo ra một khóa học đầu vào cho sinh viên tại trƣờng đại học. Đầu tiên, khi một ứng viên viết tên, địa chỉ email, và số khóa học,… của họ vào trong biểu mẫu, phần ứng dụng sẽ quét biểu mẫu và thực hiện các thao tác nhƣ đã mô tả. Sau đó khóa học đƣợc lƣu trữ vào cơ sở dữ liệu và một email gửi cho ứng viên để xác minh. Dựa trên ứng dụng này, việc lấy thông tin từ biểu mẫu tốt hơn là phƣơng pháp đƣa thông tin trực tiếp vào.

69

3.2 Các thuật toán xử lý ảnh áp dụng cho xử lý biểu mẫu động

3.2.1 Khái niệm biểu mẫu động.

Biểu mẫu động là biểu mẫu mà các khung điền trong nó đƣợc tạo ra bởi cấu trúc các chấm nhỏ. Hình dạng của các chấm nhỏ nhƣ sau :

Hình 3.7: Hình ảnh của chấm nhỏ (adsbygoogle = window.adsbygoogle || []).push({});

Một cấu trúc có thể của khung điền thông tin nhƣ sau:

Hình 3.8: Một cấu trúc của khung

Và một biểu mẫu động nhƣ sau:

70

Chúng ta thấy rằng, với hai mẫu hình dạng khác nhau của chấm nhỏ là chấm tròn và chấm dẹt, chúng ta có thể có nhiều cách sắp xếp hai loại chấm này. Nếu chúng ta quan niệm rằng với mỗi cách sắp xếp sẽ tƣơng ứng với một ý nghĩa cụ thể nào đó thì chúng ta có thể mã hoá một số thông tin vào trong các khung. Các thông tin có thể đƣợc mã hoá sẽ chỉ cho ta biết các chữ viết tay trong khung điền của chúng ta là loại dữ liệu gì, ví dụ nhƣ là : họ tên, tuổi, địa chỉ, email....Một số kiểu cấu trúc các điểm chấm nhỏ có thể nhƣ sau:

hay:

Hình 3.10: Một số cấu trúc chấm nhỏ

Mỗi loại cấu trúc này sẽ tƣơng ứng với một loại dữ liệu riêng. Trong quá trình nhận dạng, sau khi phân tích cấu trúc các điểm nhỏ cấu tạo khung, ta sẽ biết dữ liệu trong khung là loại dữ liệu nào (chữ, số...), cách xử lý chúng ra sao, và cách lƣu trữ chúng ở đâu. Nhƣ vậy là thứ tự trƣớc sau của các khung điền thông tin trong biểu mẫu bây giờ sẽ trở nên không còn quan trọng nữa.

71

3.2.2 Lƣợc đồ xử lý biểu mẫu động.

Hình 3.11: Một lược đồ xử lý biểu mẫu động

Hình 3.9 là ví dụ về một mẫu biểu mẫu động đƣợc chúng tôi thí nghiệm. Các khung điền thông tin đƣợc cấu tạo bởi các cấu trúc điểm nhỏ khác nhau. Thông tin dùng để điều khiển quá trình nhận dạng nhƣ là các thuộc tính của chữ viết tay (ví dụ nhƣ tên, tuổi, địa chỉ…) và các nhóm ký tự đƣợc sử dụng trong chúng (ví dụ nhƣ

Một phần của tài liệu Nhận dạng các biểu mẫu tài liệu (Trang 56)