1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân tích cấu trúc và nhận dạng biểu mẫu

95 697 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 95
Dung lượng 2,54 MB

Nội dung

Bước đầu tiên là phân tích và xây dựng cấu trúc của biểu mẫu được dùng, tức là phân tích và xây dựng mô hình biểu mẫu form template ở dạng cơ sở dữ liệu, chứa trong tập tin XML chẳng hạ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ

ĐỖ THANH CAO

PHÂN TÍCH CẤU TRÚC VÀ NHẬN DẠNG BIỂU MẪU

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Người hướng dẫn: TS TRẦN CAO ĐỆ

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn “Phân tích cấu trúc và nhận dạng biểu

mẫu” là công trình nghiên cứu của riêng tôi.

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác.

Tác giả

Đỗ Thanh Cao

Trang 4

LỜI CẢM TẠ

Để hoàn thành luận văn này tôi đã nhận được sự hướng dẫn khoa học của tiến sĩ Trần Cao Đệ, giảng viên Khoa Công nghệ Thông tin và Truyền thông trường Đại học Cần Thơ Thầy đã có nhiều định hướng, gợi mở cách giải quyết vấn đề cho tôi rất tốt, nhờ đó tôi đã vượt qua nhiều khó khăn trong lúc thực hiện Lời cám ơn đầu tiên tôi xin gửi đến Thầy, tôi cảm thấy thật may mắn khi được làm việc với Thầy

Bên cạnh đó, tôi xin cám ơn gia đình đã ủng hộ tinh thần và dành cho tôi nhiều thời gian để nghiên cứu

Tiếp theo, tôi xin cám ơn các đồng nghiệp ở Bộ môn Tin học đã giúp tôi làm nhiều việc lẻ ra tôi phải làm Xin cám ơn Ban Giám hiệu trường Đại học An Giang

đã tạo điều kiện cho tôi được đi học nâng cao trình độ

Sau cùng, xin chân thành cám ơn các giảng viên Khoa Khoa Công nghệ Thông tin và Truyền thông trường Đại học Cần Thơ đã cung cấp nhiều kiến thức quý báo trong quá trình theo học chương trình cao học tại Khoa Xin cám ơn các bạn Huỳnh Phước Hải, Phạm Thiên Ân và Nguyễn Chế Linh đã nhiệt tình giúp tôi thu thập mẫu chữ viết tay

Chân thành cám ơn

Đỗ Thanh Cao

Trang 5

MỤC LỤC

Chương 1:TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU .13

1.1.Giới thiệu 13

1.2.Hệ thống xử lí biểu mẫu tự động 14

1.2.1.Số hóa biểu mẫu giấy 15

1.2.2.Phân tích biểu mẫu 15

1.2.3.Nhận dạng biểu mẫu 16

1.2.4.Nhận dạng dữ liệu viết tay 17

1.3.Phạm vi của đề tài 18

1.3.1.Mô hình hóa biểu mẫu (form modeling) 19

1.3.1.1.Đăng ký biểu mẫu (form registration) 19

1.3.1.2.Mô hình biểu mẫu (form template) 19

1.3.2.Phân tích biểu mẫu 20

1.3.3.Nhận dạng biểu mẫu 20

1.3.4.Nhận dạng dữ liệu viết tay 21

1.4.Bố cục của luận văn 21

Chương 2:BIỂU MẪU VÀ TRÍCH XUẤT ĐƯỜNG THẲNG TỪ ẢNH BIỂU MẪU 23

2.1.Tổng quan về biểu mẫu 23

2.1.1.Khái niệm biểu mẫu 23

2.1.2.Lợi ích của biểu mẫu 23

2.1.3.Các kiểu vùng nhập của biểu mẫu 24

2.1.4.Kiểu dữ liệu chứa trong biểu mẫu 26

2.1.4.1.Thông tin in sẵn 26

2.1.4.2.Thông tin điền vào 26

2.2.Trích xuất đường thẳng từ biểu mẫu (Line Extraction) 26

2.2.1.Phương pháp trích đường thẳng 28

2.2.2.Phương pháp DSCC (Directional Single-Connected Chain) 29

2.2.2.1.Định nghĩa DSCC 29

2.2.2.2.Nối các DSCC 31

2.2.2.3.Một số phương pháp nâng cao hiệu quả giải thuật 34

2.3.Thực nghiệm 35

Chương 3:PHÂN TÍCH BIỂU MẪU 39

3.1.Giới thiệu 39

3.1.1.Phân tích biểu mẫu trắng 41

3.1.2.Phân tích biểu mẫu đã điền 42

3.2.Nhóm các đường thẳng vào các loại ô nhập (Line Grouping) 42

3.2.1.Đặt vấn đề 42

3.2.2.Các kiểu giao nhau của hai đường thẳng ngang và dọc 43

3.2.3.Phương pháp trích xuất cấu trúc vùng nhập 47

3.2.3.1.Dạng chữ nhật 48

3.2.3.2.Dạng răng cưa 49

3.2.3.3.Dạng đường thẳng 51

3.2.3.4.Một số phương pháp nâng cao hiệu quả giải thuật trích xuất cấu trúc 51

3.3.Trích xuất nhãn với Tesseract và VietOCR 52

3.3.1.Tesseract 53

3.3.2.VietOCR 54

3.3.3.Trích nhãn (Label Extraction) 54

3.4.Thực nghiệm 56

Trang 6

Chương 4:MÔ HÌNH HÓA VÀ NHẬN DẠNG BIỂU MẪU 59

4.1.Mô hình hóa biểu mẫu 59

4.1.1.Nội dung 59

4.1.1.1.Thông tin chung 59

4.1.1.2.Thông tin về nhãn 60

4.1.1.3.Thông tin về cấu trúc ô nhập 60

4.1.2.Cấu trúc 62

4.1.3.Lưu trữ 63

4.1.3.1.XML và DOM 63

4.1.3.2.Các phần tử (thẻ) XML trong tập tin mô hình 64

4.1.3.3.Kết hợp thông tin ô nhập và nhãn tương ứng 67

4.2.Nhận dạng biểu mẫu 69

4.2.1.Phương pháp nhận dạng biểu mẫu 69

4.2.2.Nhận dạng biểu mẫu bằng từ khóa 71

4.3.Thực nghiệm 75

4.3.1.Mô hình hóa: 75

4.3.2.Nhận dạng biểu mẫu 76

4.3.2.1.Mô tả tập dữ liệu 76

4.3.2.2.Phương pháp kiểm chứng 76

Chương 5:NHẬN DẠNG KÝ TỰ VIẾT TAY OFFLINE VỚI SVM 78

5.1.Giới thiệu 78

5.2.Nhận dạng ký tự viết tay 78

5.2.1.Đặt vấn đề 78

5.2.2.Mô hình nhận dạng 79

5.2.2.1.Tiền xử lí 79

5.2.2.2.Trích xuất đặc trưng 80

5.3.Phương pháp huấn luyện và nhận dạng 82

5.4.Thực nghiệm 82

5.4.1.Mô tả tập dữ liệu 82

5.4.2.Huấn luyện và nhận dạng 82

5.4.3.Kết quả 82

Chương 6:KẾT LUẬN 84

6.1.Những kết quả đã đạt được 84

6.1.1.Trích xuất đường thẳng 84

6.1.2.Trích xuất cấu trúc vùng nhập 84

6.1.3.Mô hình hóa biểu mẫu 84

6.1.4.Nhận dạng biểu mẫu 84

6.1.5.Nhận dạng ký tự viết tay 85

6.2.Hướng phát triển của đề tài 85

Trang 7

DANH MỤC HÌNH

Hình 1.1: Hệ thống xử lí biểu mẫu tự động 13

Hình 1.2: Phân tích cấu trúc ô nhập 14

Hình 1.3: Nhận dạng biểu mẫu 15

Hình 1.4: Nhận dạng ký tự viết tay 16

Hình 1.5: Sơ đồ hoạt động của hệ thống 17

Hình 1.6: Tạo mô hình biểu mẫu 18

Hình 1.7: Nhãn và ô nhập của biểu mẫu 19

Hình 2.1: Kiểu ô nhập dạng ô ký tự 23

Hình 2.2: Kiểu ô nhập đánh dấu 24

Hình 2.3: Kiểu ô nhập dạng đường thẳng 24

Hình 2.4: Quy trình trích xuất đường thẳng 26

Hình 2.5: Dạng tổng quát của đường thẳng trong ảnh 27

Hình 2.6: DSCC ngang (nguồn [13]) 29

Hình 2.7: Minh họa việc trích các DSCC ngang (Nguồn: [13]) 30

Hình 2.8: Khoảng cách giữa hai đường thẳng (co-line distance) (Nguồn: [1]) 31

Hình 2.9: Các ô nhập đồng dạng, có kích thước tương đương 35

Hình 2.10: Các ô nhập không đồng dạng và có kích thước khác nhau 35

Hình 2.11: Các ô nhập đồng dạng có kích thước khác nhau và biểu mẫu chứa logo 36

Hình 2.12: Các ô nhập đồng dạng và có kích thước khác nhau 36

Hình 2.13: Ô nhập dạng đường thẳng không liền nét 37

Hình 2.14: Lỗi trích đường thẳng 37

Hình 3.1: Phân tích biểu mẫu trắng (blank form) 39

Hình 3.2: (a) là cấu trúc đóng, (b) là cấu trúc mở 41

Hình 3.3: Các kiểu giao nhau của hai đường thẳng ngang và dọc 42

Hình 3.4: Cấu trúc ba phần của một đường thẳng ngang (Nguồn: [12]) 44

Hình 3.5: Sắp xếp các đường thẳng theo thứ tự 46

Hình 3.6: Ma trận chứa giá trị giao nhau của các đường thẳng 47

Hình 3.7: Thứ tự duyệt ma trận giao điểm để xác định cấu trúc chữ nhật 47

Hình 3.8: Thứ tự duyệt ma trận giao điểm để xác định cấu trúc "răng cưa" 49

Hình 3.9: Lỗi đường thẳng dọc ở giữa cấu trúc 50

Hình 3.10: Lỗi đường thẳng ngang và dọc ở cuối cấu trúc 51

Hình 3.11: Lỗi đường thẳng ngang và dọc ở đầu cấu trúc 51

Hình 3.12: Kết quả trích xuất cấu trúc vùng nhập 56

Hình 3.13: Kết quả trích xuất cấu trúc vùng nhập (tiếp theo) 56

Hình 3.14: Nhận dạng phần văn bản trong ảnh biểu mẫu 57

Hình 3.15: Nhận dạng văn bản trong một phần của ảnh biểu mẫu 57

Hình 4.1: Thông tin nhãn của vùng nhập 59

Hình 4.2: (a) đặc trưng một ô nhập chữ nhật, (b) đặc trưng một dãy các ô nhập liền nhau.59 Hình 4.3: Đặc trưng ô nhập dạng "răng cưa" 60

Hình 4.4: Đặc trưng của đường thẳng 60

Hình 4.5: Đặc trưng được biểu diễn dưới dạng cây tài liệu (document tree) 61

Hình 4.6: Tương quan về vị trí giữa nhãn và cấu trúc ô nhập 66

Hình 4.7: Vị trí của nhãn so với vùng nhập 67

Hình 4.8: Tính độ tương đồng (khớp) của biểu mẫu và mô hình biểu mẫu 71

Hình 4.9: Công cụ mô hình hóa biểu mẫu 74

Hình 4.10: Hai biểu mẫu có cấu trúc gần giống nhau 75

Hình 5.1: Mô hình nhận dạng ký tự viết tay (Nguồn: [38]) 78

Hình 5.2: Chuẩn hóa ảnh (Nguồn: [38]) 78

Trang 8

Hình 5.3: Chọn đặc trưng theo trọng số của từng vùng (Nguồn: [38]) 79

Hình 5.4: Trích chọn các biểu đồ chiếu ngang, dọc và 2 đường chéo (Nguồn: [38]) 79

Hình 5.5: Trích chọn các khối bên ngoài của chữ (Nguồn: [38]) 80

Hình 5.6: Biểu đồ so sánh kết quả tỷ lệ nhận dạng 82

Trang 9

DANH MỤC BẢNG

Bảng 3.1: Định nghĩa các loại giao điểm của đường thẳng ngang và dọc 43

Bảng 3.2: Công thức xác định từng loại giao điểm 45

Bảng 4.1: Mô tả các loại cấu trúc vùng nhập 63

Bảng 4.2: Thông tin chung của mỗi mô hình 64

Bảng 4.3: Đặc trưng từng loại vùng nhập 64

Bảng 4.4: Các thẻ chứa thông tin chung 65

Bảng 4.5: Các thẻ chứa thông tin vùng nhập 65

Bảng 5.1: Kết quả phân loại trên tập ký tự tiếng Việt (89 lớp) 80

Trang 10

TÓM TẮT ĐỀ TÀI

Biểu mẫu (form) được dùng nhiều trong các giao dịch hành chính và thương mại Vấn đề đặt ra là làm sao chuyển được nội dung viết/in trên biểu mẫu giấy thành dạng máy đọc được (ASCII, unicode chẳng hạn) Vấn đề này liên quan đến các nghiên cứu trong lĩnh vực: Phân tích & nhận dạng biểu mẫu (form analysis and recognition), phân tích cấu trúc tài liệu (document analysis), nhận dạng chữ in và nhận dạng chữ viết tay (OCR)

Có thể chia quá trình hiểu nội dung biểu mẫu theo ba bước Bước đầu tiên là phân tích và xây dựng cấu trúc của biểu mẫu được dùng, tức là phân tích và xây

dựng mô hình biểu mẫu (form template) ở dạng cơ sở dữ liệu, chứa trong tập tin

XML chẳng hạn Bước kế đến là nhận diện đúng biểu mẫu khi cho một biểu mẫu đã điền thông tin (filled form) Cuối cùng là áp dụng mô hình biểu mẫu tương ứng với biểu mẫu đã điền thông tin để có thể cắt lấy từng phần ảnh tương ứng với từng trường (field) trong biểu mẫu mang đi xử lí và nhận dạng chữ viết/chữ in

Luận văn này đề cập đến hai bước đầu tiên trong quá trình “hiểu” biểu mẫu nêu trên Trước tiên, mỗi loại biểu mẫu (cụ thể là một form trống, chưa điền thông

tin) sẽ được phân tích và mô tả cấu trúc trong một tập tin XML, đây là mô hình biểu mẫu Có thể coi mẫu của biểu mẫu là một danh sách các trường (ô để điền thông tin), mỗi trường có một tên và nhãn hay từ khoá đi kèm cùng với toạ độ của trường

Ngoài ra còn có các thông tin khác để trợ giúp quá trình nhận dạng chữ viết trong

trường, chẳng hạn nội dung điền vào là số (chiffre) hay kí tự mẫu tự (alphabet) Như

vậy, mỗi form có thể được đặc trưng bởi danh sách các từ khoá diễn giải cho các trường in trên biểu mẩu Việc nhận dạng chữ in (các từ in trên biểu mẫu) sẽ được thực hiện bởi công cụ nguồn mở Tesseract Bước nhận dạng biểu mẫu có thể dựa trên tập từ khoá này, cụ thể là đo độ tương đồng giữa các từ khoá đặc trưng cho biểu mẫu với tập hợp các từ (in) nhận dạng được trên biểu mẫu đã điền thông tin đang được quan tâm Vấn đề nhận dạng chữ viết tay cũng được trình bày, thực nghiệm trên tập dữ liệu tiếng Việt tự xây dựng

Từ khoá: phân tích biểu mẫu (form analysis), nhận dạng biểu mẫu (form

recognition), phân tích tài liệu (document analysis), nhận dạng chữ in (OCR), trích xuất đường thẳng (line detection), nhận dạng chữ viết tay (handwriting recognition), xử lí biểu mẫu (form processing), máy học vectơ hỗ trợ (SVM),

Trang 11

Forms are still used in administrative and commercial transactions The question is how to convert the form’s written/printed content into a format that computers can read (for example ASCII or Unicode) This requires three relating domains, namely Form Analysis and Recognition, Document Analysis, and Optical Character Recognition (OCR)

The procedure of form understanding can be divided into three steps The first step is to analyze and build the form structure or form template as a database which is, for example, contained in an XML file The second step is to correctly recognize the form of a filled form Then the last step is to apply the relevant form template of the filled form to extracting the image portion corresponding to each field on the form which recognition of written/printed content is required

This thesis covers the first two steps of the above form understanding procedure First of all, a form type (in particular, a blank form) is analyzed and from that its structure is presented in an XML file This is called form template It can be considered that form template is a list of fields (where information is filled on the actual form); each field is described by a name, a label or a keyword, and its coordinates Besides, there is other information in order to support the recognition

of the field’s content, which is digits or alphabet characters Therefore, each field can be characterized by a list of keywords describing the field The recognition of printed content is carried out by the open source software Teseract Then, the form recognition step can be based on this list of keywords In other words, that is to measure the analogy between the keywords characterized the form using the set of printed words recognized The recognition of handwritten characters is also covered

in this thesis, in which my self-built Vietnamese character set is used for the experiment

Keywords: form analysis, form recognition, document analysis, OCR, line

detection, handwriting recognition, form processing, SVM,

Trang 12

Chương 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 1.1 Giới thiệu

Ngày nay, việc sử dụng các biểu mẫu (form) trong các giao dịch thương mại

và hành chính đã trở nên rất phổ biến, góp phần vào chuẩn hóa các giao dịch và thúc đẩy hành chính điện tử Việc điền thông tin vào biểu mẫu và nộp cho nơi có trách nhiệm xử lí không còn quá xa lạ với nhiều người, ví dụ khi đến ngân hàng giao dịch chúng ta được yêu cầu ghi thông tin vào những biểu mẫu tương ứng như biểu mẫu gửi tiền, biểu mẫu rút tiền, biểu mẫu chuyển khoản ; một ví dụ khác ở Phòng Quản lí Xuất Nhập cảnh có các biểu mẫu: xin cấp hộ chiếu, xin gia hạn hộ chiếu, xin thị thực, …

Việc nhập thông tin từ biểu mẫu vào máy tính hiện vẫn được xử lí hầu hết theo cách thủ công Con người đọc thông tin đã được điền trên biểu mẫu, sau đó dùng bàn phím (keyboard) để nhập thông tin đó vào máy tính Công việc này tốn nhiều chi phí về thời gian và công sức cũng như phát sinh sai sót do cả hai yếu tố khách quan và chủ quan Trong những tình huống phải xử lí một số lượng lớn biểu mẫu (biểu mẫu điều tra dân số, thi trắc nghiệm, ), loại biểu mẫu có thông tin cần nhập rất nhiều, hay giao dịch cần thời gian đáp ứng nhanh, thì việc xử lí biểu mẫu thủ công càng bộc nhiều hạn chế, thậm chí, trong vài trường hợp là không khả thi

Ví dụ việc chấm thi trắc nghiệm trong các kỳ thi tú tài, đại học Hệ thống xử lí biểu mẫu tự động sẽ khắc phục khó khăn vừa nêu

Ở nước ta hiện nay việc chấm thi trắc nghiệm tự động ở các kỳ thi lớn (tú tài, đại học) đã được ứng dụng phổ biến cũng như lĩnh vực điều tra dân số cũng đã ứng dụng hệ thống xử lí biểu mẫu tự động Phòng Nhận dạng và Công nghệ Tri thức (Viện Công nghệ Thông tin) đã có phần mềm MarkRead phục vụ việc chấm thi trắc nghiệm, điều tra dân số, đã được thương mại hóa [22]

Hệ thống xử lí biểu mẫu tự động là một hệ thống nhập liệu tự động Nó có 2 chức năng chính: (i) hỗ trợ nhập liệu nhanh chóng, chính xác và tiện dụng; (ii) thông tin sau khi nhập vào phải được lưu trữ, xử lí, thống kê, tra cứu dễ dàng trong máy tính

Trang 13

Biểu mẫu giấy trước khi được xử lí cần phải được số hóa (digitalization) Có hai hình thức số hóa: trực tiếp, thông qua các thiết bị bảng điện tử (electronic clipboard device hay tablet) và gián tiếp, thông qua máy quét ảnh (scanner), máy ảnh kỹ thuật số (camera), Tùy theo hình thức số hóa mà kỹ thuật xử lí biểu mẫu

sẽ khác nhau Trong đề tài này chúng tôi chỉ nghiên cứu việc xử lí biểu mẫu dạng ảnh quét (form image) Ảnh này chứa các thông tin trên biểu mẫu, gồm các thông tin in sẵn (preprinted data) và thông tin đã điền vào (filled data)

1.2 Hệ thống xử lí biểu mẫu tự động

Hệ thống xử lí biểu mẫu tự động có các chức năng chính (Hình 1.1):

• Số hóa biểu mẫu giấy (digitalization of form)

• Phân tích biểu mẫu (form analysis)

Hình 1.1: Hệ thống xử lí biểu mẫu tự động

Trang 14

• Nhận dạng biểu mẫu (form recognition)

• Nhận dạng dữ liệu viết tay (OCR - Optical Character Recognition hay HandWritter recognition)

1.2.1 Số hóa biểu mẫu giấy

Đây là bước đầu tiên trong quá trình xử lí biểu mẫu Bước này có nhiệm vụ chuyển thông tin từ biểu mẫu giấy thành thông tin dưới dạng ảnh, với những định dạng ảnh quen thuộc (bmp, png, tif, jpeg, ) Ảnh này chứa thông tin nguyên cả biểu mẫu Thông thường máy quét ảnh được dùng để số hóa, với độ phân giải 300dpi hoặc cao hơn, không gian màu là RGB hoặc Grayscale Ảnh của biểu mẫu được lưu trong bộ nhớ máy tính trước khi được xử lí Trong giai đoạn này ảnh được tiền xử lí (preprocessing): chống nghiên (deskew), khử nhiễu (noise removal), … Chất lượng ảnh càng tốt thì kết quả xử lí càng cao và ngược lại

1.2.2 Phân tích biểu mẫu

Do tất cả thông của biểu mẫu đều được biểu diễn dưới dạng ảnh (image) Để

có thể “hiểu” nội dung trên biểu mẫu thì ảnh này phải được phân tích (form image analysis) Phân tích ảnh biểu mẫu có nhiệm vụ trích xuất (capture) các thông tin trên biểu mẫu Các thông tin này gồm: cấu trúc các ô nhập (xem hình 1.2), chữ viết in,

ký hiệu đặc biệt, màu sắc, lưu đồ, biểu đồ,

Tùy theo nhu cầu mà chọn loại thông tin cần phân tích, trích xuất và phương pháp phân tích phù hợp Những thông tin của biểu mẫu được trích xuất từ giai đoạn

Hình 1.2: Phân tích cấu trúc ô nhập.

Trang 15

phân tích được dùng như các đặc trưng dùng trong việc mô hình hóa biểu mẫu, nhận dạng biểu mẫu, và cũng được dùng trong giai đoạn trích xuất dữ liệu của hệ thống nhận dạng dữ liệu, như nhận dạng chữ viết tay điền vào biểu mẫu chẳng hạn.

1.2.3 Nhận dạng biểu mẫu

Tùy theo nhu cầu thu thập thông tin, mỗi cơ quan, đơn vị sẽ có những loại biểu mẫu tương ứng, số loại biểu mẫu thường nhiều Mỗi loại biểu mẫu chỉ được dùng cho một mục tiêu thu thập thông tin cụ thể và có cấu trúc xác định Muốn trích xuất dữ liệu chính xác từ biểu mẫu phải xác định được loại biểu mẫu (nhận dạng) Nhận dạng sai thì việc trích xuất dữ liệu sẽ sai Đây là giai đoạn đầu tiên của quá trình xử lí biểu mẫu Mức độ tự động hóa của hệ thống phụ thuộc rất lớn vào chức năng nhận dạng biểu mẫu

Nhận dạng biểu mẫu là định danh (identification) một ảnh thuộc một loại biểu mẫu nào đó trong tập hợp nhiều loại biểu mẫu (xem hình 1.3) Việc nhận dạng

sẽ dựa vào thông tin đặc trưng của biểu mẫu: như mã vạch (barcode), màu sắc (color), ký hiệu đặc biệt (symbol), cấu trúc vùng nhập, từ khóa, tiếp theo dùng các giải thuật máy học hoặc so khớp mẫu để nhận dạng Biểu mẫu là một loại ảnh tài liệu (document image) đặc biệt và phương pháp so khớp được dùng phổ biến để nhận dạng [11]

Để có thể dùng phương pháp so khớp, thông tin về loại biểu mẫu được biểu diễn dưới dạng mô hình biểu mẫu (form prototype, form template) Mỗi mô hình

Hình 1.3: Nhận dạng biểu mẫu.

Trang 16

biểu mẫu chứa các thông tin đặc trưng một biểu mẫu, được biểu diễn bằng những cấu trúc dữ liệu dể dàng xử lí được trong máy tính Mỗi hệ thống đều có sẵn một cơ

sở dữ liệu mô hình biểu mẫu (form prototype database) Cơ sở dữ liệu này có thể được cập nhật trong quá trình sử dụng

Việc nhận dạng một biểu mẫu là việc so khớp (matching) những đặc trưng của biểu mẫu đó với thông tin các biểu mẫu đã được lưu trong cơ sở dữ liệu Dựa vào mức độ tương đồng để xác định được loại biểu mẫu

1.2.4 Nhận dạng dữ liệu viết tay

Sau khi biểu mẫu đã được nhận dạng, bước tiếp theo là diễn dịch dữ liệu cần quan tâm thành những định dạng điện tử quen thuộc (electronic format, computer readableformat)

Thông tin cần trích xuất từ ảnh biểu mẫu thì đa dạng: chữ viết (text), biểu tượng, lưu đồ, biểu đồ, thông tin đánh dấu (checkbox), Nhưng thông dụng nhất vẫn là thông tin chữ viết Nên khi nói đến nhận dạng dữ liệu trích xuất từ biểu mẫu thường được xem là nhận dạng ký tự viết tay

Có hai cách viết ký tự lên biểu mẫu: viết liên tục và viết rời rạc Cách viết rời rạc là mỗi ký tự trong một ô (xem hình 1.4), cách viết này có nhiều ưu điểm hơn cách viết liên tục vì ít sai sót và dể xử lí Tuy nhiên có nhược điểm là viết chậm, thiếu tự nhiên Cách viết liên tục là cách viết tự nhiên, có thể viết nhanh nhưng khó

xử lí

Hình 1.4: Nhận dạng ký tự viết tay.

Trang 17

1.3 Phạm vi của đề tài

Nhiều hệ thống xử lí biểu mẫu tự động chỉ xử lí trên những loại biểu mẫu được thiết kế hướng đến việc xử lí bằng máy tính, chứa nhiều thông tin đặc thù nhưng không cần thiết đối với con người Trong thực tế hầu hết các loại biểu mẫu được thiết kế không nhằm mục đích xử lí bằng máy tính Do đó, bài toán xử lí biểu mẫu tự động được chia thành hai lớp: (1) lớp bài toán xử lí biểu mẫu có chứa nhiều thông tin đánh dấu hướng đến việc xử lí bằng máy tính và (2) lớp bài toán xử lí biểu mẫu tổng quát, tức các biểu mẫu khi xử lí hệ thống không yêu cầu thay đổi hình thức và nội dung có sẵn của nó Giải quyết lớp bài toán (2) là mục đích của đề tài này

Để xử lí loại biểu mẫu tổng quát, đề tài tập trung giải quyết hai mục tiêu chính là: nghiên cứu vấn đề mô hình hóa và nhận dạng biểu mẫu

Bên cạnh đó, để hoàn chỉnh một hệ thống xử lí biểu mẫu, vấn đề nhận dạng

ký tự viết tay cũng được trình bày Sơ đồ hoạt động của hệ thống thể hiện ở hình 1.5

Hình 1.5: Sơ đồ hoạt động của hệ thống.

Xử lí biểu mẫu

Cơ sở dữ liệumẫu biểu mẫuBiểu mẫu trắng Biểu mẫu đã điền

Kết hợp nhãn và thông tin vùng nhập

Nhận dạng biểu mẫu

Trích xuất dữ liệu

Nhận dạng dữ liệu

Cơ sở dữ liệu khai thác

Trích đặc trưng cấu trúc vùng nhập

Trích xuất nhãn

vùng nhập

Tập tin XML

Trang 18

1.3.1 Mô hình hóa biểu mẫu (form modeling)

1.3.1.1 Đăng ký biểu mẫu (form registration)

Các hệ thống xử lí biểu mẫu chỉ có thể xử lí các dạng biểu mẫu biết trước, nên loại biểu mẫu mà mỗi hệ thống có thể xử lí là hữu hạn Một loại biểu mẫu mới muốn được xử lí trong hệ thống thì thông tin của nó cần được “khai báo” Việc này được gọi là đăng ký biểu mẫu với hệ thống hay gọi tắt là đăng ký biểu mẫu

Hiện có hai hình thức đăng ký: thủ công và tự động Với hình thức thủ công, người dùng phải tự xác định các thông tin cần thiết và nhập vào hệ thống Việc này mất nhiều thời gian nhưng vẫn là cách làm khá phổ biến ([2],[5]) Để cải thiện, hình thức đăng ký tự động được đề nghị Với cách mới này, những thông tin có thể xác định tự động sẽ do máy tính đảm nhiệm, ví vụ như vị trí, loại vùng nhập chẳng hạn [6] Tốc độ sẽ nhanh hơn và tiện lợi hơn Kiểu dữ liệu vùng nhập thì do con người xác định Đề tài này chọn cách đăng ký tự động, hoàn thiện hơn [6], đó là việc trích nhãn tự động và ánh xạ vùng nhập với nhãn tương ứng Các thông tin đăng ký sẽ được lưu lại dưới dạng một mô hình biểu mẫu

1.3.1.2 Mô hình biểu mẫu (form template)

Mô hình biểu mẫu chứa các thông tin đặc tả một loại biểu mẫu Mỗi biểu mẫu có một mô hình riêng Mô hình biểu mẫu được dùng trong các tác vụ xử lí biểu

Hình 1.6: Tạo mô hình biểu mẫu

Trang 19

mẫu khác như: nhận dạng, trích xuất dữ liệu, Mỗi ứng dụng sẽ có những yêu cầu

mô hình hóa riêng dựa trên thông tin chứa trong ảnh biểu mẫu Nên công việc quan trọng nhất trong mô hình hóa là phân tích biểu mẫu Phân tích biểu mẫu có nhiệm

vụ trích lọc (extraction) các thông tin cần mô hình hóa

Thường các biểu mẫu trắng (blank form – biểu mẫu chưa được điền thông tin) sẽ được dùng để mô hình hóa

1.3.2 Phân tích biểu mẫu

Phân tích biểu mẫu là quá trình trích xuất các thông tin ghi trên biểu mẫu từ tập ảnh của nó Phân tích là khâu quan trọng nhất của quá trình xử lí biểu mẫu

Mục đích chính của việc phân tích biểu mẫu là trích xuất các thông tin cần quan tâm trên biểu mẫu như: ký tự (nhãn), cấu trúc ô nhập (loại ô nhập) Các thông tin này sẽ được dùng cho giai đoạn mô hình hóa, nhận dạng và trích xuất dữ liệu điền vào biểu mẫu

Trang 20

mẫu Việc bổ sung thông tin đánh dấu làm tăng chi phí việc sử dụng biểu mẫu Phương pháp được dùng là so khớp để nhận dạng biểu mẫu, đặc trưng là bộ từ khóa (keywords) Cách làm này giúp giảm chi phí in biểu mẫu và dể dàng bổ sung một loại biểu mẫu mới vào hệ thống.

Tập hợp các nhãn trích xuất từ biểu mẫu trắng được chọn làm đặc trưng hay được xem như bộ từ khóa của biểu mẫu đó Mỗi biểu mẫu sẽ có bộ từ khóa khác nhau, đặc trưng cho một biểu mẫu Việc nhận dạng dựa trên bộ từ khóa này Quá trình nhận dạng có thể mô tả như sau: biểu mẫu cần nhận dạng sẽ được trích các từ khóa, các từ khóa này được so khớp với bộ từ khóa từng loại biểu mẫu trong cơ sở

dữ liệu biểu mẫu Nếu độ tương đồng lớn hơn một ngưỡng nào đó thì biểu mẫu đó được nhận dạng

Trình nhận dạng ký tự in Tesseract tiếp tục được dùng trong giai đoạn nhận dạng biểu mẫu

1.3.4 Nhận dạng dữ liệu viết tay

Các ký tự của thông tin viết tay đều biểu diễn dưới dạng ảnh Để máy tính có thể “hiểu” được thì các nội dung viết tay trên các vùng ảnh tương ứng của biểu mẫu phải được nhận dạng Tức diễn dịch nội dung viết tay được điền trên biểu mẫu thành các ký tự máy hiểu được (dạng text)

Trong đề tài này, chúng tôi chỉ xử lí dạng ký tự viết tay rời rạc được viết vào các ô nhập dạng chữ nhật liên tục, mỗi ô một ký tự, viết từ trái sang phải, nét viết mỗi ký tự nằm trọn vẹn trong ô

1.4 Bố cục của luận văn

Nội dung luận văn này gồm 6 chương:

Chương 1 – Giới thiệu: trình bày những vấn đề liên quan đến hệ thống xử lí

biểu mẫu tự động và phạm vi của đề tài

Trang 21

Chương 2 – Biểu mẫu và trích xuất đường thẳng trên biểu mẫu: giới

thiệu khái niệm biểu mẫu, phân loại biểu mẫu, các loại thông tin điền trong biểu mẫu Tiếp theo trình bày phương pháp trích xuất đường thẳng từ ảnh biểu mẫu Giới thiệu chi tiết phương pháp Directional Single-Connected Chain (DSCC) để trích xuất các đường thẳng trong ảnh biểu mẫu

Chương 3 – Phân tích biểu mẫu: Trong chương này sẽ giải quyết vấn đề

trích xuất thông tin cấu trúc vùng nhập và nhãn Từ kết quả các đường thẳng được trích xuất ở chương hai, một phương pháp gom nhóm các đường thẳng này thành cấu trúc ô nhập sẽ được trình bày Giới thiệu phương pháp trích xuất nhãn dùng công cụ OCR (Tesseract và VietOCR)

Chương 4 – Mô hình hóa và nhận dạng biểu mẫu: Thông tin về mô hình

biểu mẫu sẽ được trình bày chi tiết: nội dung, cấu trúc, lưu trữ và cách truy xuất Trong chương này một số phương pháp nhận dạng biểu mẫu cũng được giới thiệu

và phương pháp dùng từ khóa để nhận dạng sẽ được trình bày chi tiết

Chương 5 – Nhận dạng ký tự viết tay offline dùng SVM: trình bày về

một mô hình dạng ký tự viết tay dạng offline dùng phương pháp máy học SVM Việc huấn luyện và kiểm tra dựa trên trên tập dữ liệu do chúng tôi tự xây dựng

Chương 6 – Kết luận: đánh giá các kết quả đã đạt được và đề xuất hướng

phát triển của đề tài

Trang 22

Chương 2: BIỂU MẪU VÀ TRÍCH XUẤT ĐƯỜNG

THẲNG TỪ ẢNH BIỂU MẪU

Không có một hệ thống xử lí tất cả các loại biểu mẫu, nên mục tiêu chính của chương này là giới thiệu những loại biểu mẫu được dùng phổ biến nhất và sẽ được nghiên cứu phương pháp xử lí trong đề tài này Chương 2 có hai nội dung chính: tổng quan về biểu mẫu và phương pháp trích xuất đường thẳng từ ảnh biểu mẫu (form frame line extraction)

Trong phần 2.1 tổng quan về biểu mẫu, chúng tôi sẽ trình bày về khái niệm, lợi ích, phân loại biểu mẫu,

Tiếp theo, trong phần 2.2 chúng tôi sẽ giới thiệu một số phương pháp trích xuất đường thẳng từ ảnh biểu mẫu và trình bày chi tiết phương pháp Directional Single-Connected Chain (DSCC)

Cuối cùng là một số kết quả thực nghiệm của phương pháp trích xuất đường thẳng đã chọn

2.1 Tổng quan về biểu mẫu

2.1.1 Khái niệm biểu mẫu

Biểu mẫu là một loại tài liệu chứa những khoảng trống (trường, vùng nhập) cho phép chúng ta chọn lựa hoặc điền thêm thông tin Một loại biểu mẫu thường là một chuỗi tài liệu có nội dung tương tự nhau Nội dung biểu mẫu thường đã được in trước một phần, là các thông tin chung

Chủng loại biểu mẫu rất đa dạng, tùy thuộc vào mục đích sử dụng Nội dung của biểu mẫu thường là: mệnh lệnh, yêu cầu, đơn đặt hàng, bài kiểm tra,

2.1.2 Lợi ích của biểu mẫu

Biểu mẫu là một loại tài liệu đặc biệt, được dùng ngày càng nhiều do một số lợi ích sau:

Trang 23

• Người sử dụng viết ít hơn, do một số thông tin chung được in sẵn trên biểu mẫu, nên chỉ cần điền vào một số thông tin cần thiết là có thể hoàn chỉnh một tài liệu biểu mẫu Ngoài ra, trên biểu mẫu còn có các thông tin chỉ dẫn giúp người điền thông tin dễ dàng và chính xác hơn

• Thông tin thống nhất: do biểu mẫu được thiết kế và in sẵn với cấu trúc xác định nên các thông tin cần thiết điền trên biểu mẫu là thống nhất Dễ dàng kiểm tra tính đúng đắn của thông tin

• Thuận lợi trong việc xử lý: tính xác định về mặt cấu trúc và tính nhất quán về mặt thông tin nên dễ dàng hơn trong việc xử lý kể cả xử lý thủ công và xử

lý tự động Đặc biệt là thuận lợi trong việc xử lý bằng máy tính điện tử

2.1.3 Các kiểu vùng nhập của biểu mẫu

Để đem lại những lợi ích cho việc điền và xử lí, các vùng nhập (input fields) của biểu mẫu được thiết kế với cấu trúc xác định Thông tin điền vào được giới hạn trong các cấu trúc này Việc chứa các cấu trúc vùng nhập là điểm đặc thù của ảnh biểu mẫu so với các loại ảnh tài liệu khác

Cấu trúc vùng nhập rất đa dạng, tùy theo mục đích sử dụng Mỗi cấu trúc được dùng để việc điền và xử lí dể dàng một loại thông tin nào đó Các cấu trúc vùng nhập thường dùng nhất là:

• Kiểu trường nhập theo ô từng ký tự (Textbox Field): cho phép điền thông tin dạng rời rạc theo từng ký tự vào các ô nhập (Boxed Discrete Characters)

Có các dạng như các ô liên tục dính liền nhau, các ô rời nhau hoặc dạng răng cưa

Hình 2.1: Kiểu ô nhập dạng ô ký tự

Trang 24

Mỗi ký tự được viết trong một ô xác định Dạng này thích hợp cho những trường chứa thông tin quan trọng cần có sự phân biệt rõ ràng tránh nhầm lẫn như: họ tên, ngày tháng năm sinh, mã hồ sơ, mã vùng Mỗi trường thường có nhiều ô nhập (InputTextBoxArea)

• Kiểu trường nhập đánh dấu (CheckBox Field): cho phép chọn lựa trong một hoặc thông tin được in sẵn, ví dụ trường giới tính nam/nữ, nghề nghiệp Mỗi trường nhập đánh dấu có thể có một hoặc nhiều ô nhập đánh dấu tương ứng với

số thông tin chọn lựa (InputCheckBoxArea)

• Kiểu trường nhập dạng đường thẳng (Line Field): cho phép điền thông tin dạng chuỗi ký tự liên tục, có cấu trúc liên tục hoặc chấm chấm (Dashed Line) Mỗi trường thường có một hoặc nhiều dòng (InputLineTextArea)

• Kiểu trường nhập dạng bảng (table form): cho phép điền thông tin tổ chức dạng bảng, thường là dạng thông tin liên tục giống dạng đường thẳng Kiểu trường nhập này không thuộc phạm vi nghiên cứu của đề tài này

Hình 2.2: Kiểu ô nhập đánh dấu.

Hình 2.3: Kiểu ô nhập dạng đường thẳng.

Trang 25

• Kiểu trường nhập tự do (free field): cho phép điền thông tin dạng hình ảnh như ảnh chụp, hình vẽ, sơ đồ, chữ ký,

Kiểu trường nhập dạng bảng và tự do không thuộc phạm vi nghiên cứu của

đề tài này

2.1.4 Kiểu dữ liệu chứa trong biểu mẫu

Thông tin trên biểu mẫu gồm 2 phần: phần được in sẵn và phần thông tin được điền vào

2.1.4.1 Thông tin in sẵn

▪ Chữ viết/số: chữ viết dạng in, thường là cùng font, rõ ràng

▪ Hình ảnh: hình logo, mã vạch, màu sắc, kí hiệu đặc biệt, …

2.1.4.2 Thông tin điền vào

▪ Chữ viết/số: chữ/số viết tay

▪ Luận lí: biểu diễn dữ liệu của các ô chọn

▪ Hình ảnh: hình dán vào, chữ ký, sơ đồ,

Việc phân loại kiểu dữ liệu nhập cho các trường có ý nghĩa quan trọng trong việc nhận dạng nội dung viết tay Phạm vi nghiên cứu của đề tài chỉ tập trung nhận dạng chữ viết tay dưới dạng ký tự rời rạc theo từng ô, do đó có thể chia dữ liệu nhập thành các kiểu như sau: kiểu số (Number), kiểu chữ hoa (UpperAlpha), kiểu hỗn hợp chữ hoa-số (UpperAlphaNum), kiểu chữ (Alpha), kiểu hỗn hợp chữ-số (AlphaNum), kiểu khác (các kiểu có thể có còn lại)

2.2 Trích xuất đường thẳng từ biểu mẫu (Line Extraction)

Mục tiêu chính của xử lí biểu mẫu là trích xuất nội dung đã được điền vào các vùng nhập Đa số các vùng nhập có cấu trúc dạng hình chữ nhật (rectangle) giới hạn bởi các đường thẳng ngang (horizontal lines) và đường thẳng dọc (vertical lines) Các đường thẳng này là thành phần cấu trúc cơ sở của cấu trúc vùng nhập Vị trí và sự kết hợp (interlace) của nó tạo nên bố cục (layout) của biểu mẫu, được dùng

để phân tích (analysis) và nhận dạng (recognition) biểu mẫu Do đó việc trích xuất

Trang 26

tất cả các đường thẳng ngang và dọc trong ảnh biểu mẫu là bước quan trọng đầu tiên của hầu hết ứng dụng xử lí biểu mẫu ([3],[10],[12],[16],[17]).

Quy trình chung để tách đường thẳng là tách tuần từ các đường thẳng dọc (horizontal line extraction) và các đường thẳng ngang (vertical line extraction) từ ảnh biểu mẫu Trong ảnh có nhiều đối tượng “tương tự” đường thẳng cũng được tách Trong số đó có nhiều đường thẳng không tạo nên cấu trúc vùng nhập nên cần được loại bỏ (lines emilination) Sau khi loại bỏ những đường thẳng nhận được hầu hết là thành phần của cấu trúc vùng nhập cần trích xuất (xem hình 2.4)

Cấu trúc vùng nhập được trích xuất dựa trên các đường thẳng ngang/dọc Tùy theo loại cấu trúc vùng nhập sẽ có giải thuật trích xuất tương ứng

Hình 2.4: Quy trình trích xuất đường thẳng.

Trang 27

2.2.1 Phương pháp trích đường thẳng

Khái niệm thông thường là mỗi đường thẳng có hai điểm đầu/cuối (start/end point), độ dầy (thickness) bằng một điểm ảnh (pixel), các pixel từ điểm bắt đầu đến điểm cuối là liên tục, hay còn được gọi là đường thẳng lí tưởng Đường thẳng cần trích từ ảnh biểu mẫu có nhiều điểm khác với đường thẳng lí tưởng Nó là một khối các điểm ảnh, có độ dầy lớn hơn một điểm ảnh, có đứt nét và nghiêng một góc Ө nào đó (hình 2.5)

Việc diễn dịch hình 2.5 thành một đường thẳng được gọi là trích xuất đường thẳng Hiện có nhiều phương pháp trích đường thẳng đã được đề xuất, dựa vào hai hướng tiếp cận chính: biến đổi Hough (Hough Transform-based, HT) và vectơ hóa (vectorization)([1],[15],[18]) Trong đó hướng tiếp cận vectơ hóa ảnh có các phương pháp dựa vào: tách biên (contour-based), làm mỏng (thinning-based), (run-graph-based), (mesh-pattern-based) và dãy điểm ảnh (pixel-tracking-based) Hướng tiếp cận vectơ hóa ứng dụng nhiều trong lĩnh vực phân tích và nhận dạng ảnh tài liệu (Document Analysis and Recognition) [18]

Phương pháp dựa vào biến đổi Hough có thể được xem là phương pháp tổng quát, thường được dùng nhất, để trích đường thẳng từ ảnh, đường thẳng có thể không liền nét và nghiêng một góc bất kỳ Khuyết điểm của phương pháp này là tốc

độ chậm và rất khó khăn trong việc chọn ngưỡng (threshold) độ dài của đường thẳng sao cho có thể phân biệt giữa đường thẳng ngắn và nhiễu Để cải thiện tốc độ nhiều cải tiến đã được đề nghị như: gradient-based HT, randomized HT, probabilistic HT và sampling HT [15]

Hình 2.5: Dạng tổng quát của đường thẳng trong ảnh.

Phần đầu Phần cuối

Trang 28

Các phép toán hình học (morphological operations) được dùng để trích xuất đường thẳng đề xuất bởi Li Xingyuanet al.[16] Phương pháp này xử lí khá tốt đối với trường hợp nhiễu và các đường thẳng mất nét Tuy nhiên, đường thẳng kết quả

dể bị lệch so với đường thẳng cần trích Các phép toán mở (opening morphological operation) và đóng (closing morphological operation) thường làm mất thông tin các đường thẳng đứt nét Phương pháp này có tốc độ xử lí khá chậm [15]

Phương pháp chiếu (projection) được đề xuất bởi Jiun-Lin Chen et al [19] Đây là một cải tiến của tiếp cận biến đổi Hough, tốc độ nhanh Ý tưởng của phương pháp là chia ảnh thành các dãi ngang dọc (horizontal/vertical strips) đồng dạng Thực hiện phép chiếu ngang đối với dãi dọc và phép chiếu dọc đối với dãi ngang Đỉnh của kết quả chiếu chỉ ra vị trí của đường thẳng Khuyết điểm của phương pháp này là không xử lí được đường thẳng nghiêng, bị ảnh hưởng bởi các nét viết chồng lên đường thẳng và các đường thẳng gần biên của ảnh dể bị biến dạng Ngoài

ra một vài đường cong cũng được trích xuất như đường thẳng

Trong đề tài này chúng tôi chọn phương pháp dựa vào hướng tiếp cận Directional Single-Connected Chain ([1], [13]) đề xuất bởi Y Zhen et al Ưu điểm của phương pháp được chọn là có thể trích các đường thẳng với góc nghiên bất kỳ, chịu đựng nhiễu tốt và tốc độ khá nhanh

2.2.2 Phương pháp DSCC (Directional Single-Connected Chain)

Đây là một phương pháp dựa trên hướng tiếp cận vectơ hóa ảnh Ý tưởng chính là dùng một thành phần cấu trúc ảnh (image structure element) có tên gọi

“Directional Single-Connected Chain” như một vectơ cơ sở (elementary vector) Mỗi DSCC có kích thước (size) thích hợp và có cấu trúc dể dàng lưu trữ và xử lí Bằng cách ghép (merge) các DSCC lại với nhau (dựa trên một số ràng buộc) ta sẽ lọc ra được các đường thẳng

2.2.2.1 Định nghĩa DSCC

Có hai loại DSCC: DSCC ngang và DSCC dọc, mỗi loại dùng để trích xuất (extract) các đường thẳng ngang và dọc tương ứng Các đường thẳng xéo (diagonal)

Trang 29

vẫn được trích xuất dựa trên DSCC ngang hoặc dọc.

Để tiện cho việc định nghĩa ta chọn DSCC ngang làm ví dụ: DSCC ngang

Ch được tạo bởi một mảng các chuỗi điểm ảnh (run-length) R1R2 R m , trong đó

mỗi R i là một chuỗi điểm ảnh dọc

R ix i , ys i , ye i={x , y ∣∀ p x , y=1, x= x i , y ∈[ ys i , ys e]∧p  x i , ys i−1= p  xi , ye i1=0}

(2.1)

Trong đó:

p(x,y): giá trị của điểm ảnh (x,y), 1: điểm ảnh đen, 0 điểm ảnh trắng.

x i ,ys i ,ye i : toạ độ x, tọa độ y bắt đầu và kết thúc của R i tương ứng.

Mỗi hai chuỗi điểm ảnh R i và R i+1 kề nhau phải thỏa mãn hai điều kiện sau:

1 được kết nối theo chiều dọc: x i+1 = x i + 1 và

2 là kết nối đơn (single connected)

Theo hình 2.6, kết nối đơn là kết nối mà mỗi cạnh của R i (1 < i < m) chỉ có một và chỉ một chuỗi điểm ảnh được kết nối thuộc C h Điều kiện này chỉ đúng đối

Hình 2.6: DSCC ngang (nguồn [13]).

Trang 30

với các chuỗi điểm ảnh bên phải của R 1 và bên trái của R m

Đối với chuỗi bên trái của R 1 và bên phải của R m thì, hoặc không có chuỗi

điểm ảnh nào được kết nối (ví dụ: bên phải R 13), hoặc nhiều hơn một chuỗi điểm

ảnh được kết nối (ví dụ: R 14 , R 15 bên trái R 1), hoặc chỉ một chuỗi điểm ảnh được kết nối nhưng chuỗi điểm ảnh này lại được kết nối với nhiều hơn một chuỗi điểm ảnh

cùng phía với R 1 hoặc R m (ví dụ: R 9) Các chuỗi điểm ảnh

R1R2R3 R7, R11R12R13, R8,R9,R10,R14và R15 là các DSCC ngang

Việc xác định DSCC dọc C v cũng được thực hiện tương tự như chiều ngang

Thuộc tính quan trọng nhất của một đường thẳng là các chuỗi điểm ảnh của

nó kết nối đơn theo hướng (running direction) Một đường thẳng lý tưởng chỉ có một DSCC Thực tế thì nó có thể bị đứt nét, cắt bởi các ký tự và được tạo ra bởi nhiều DSCC gần nhau Dựa theo thuộc tính này, DSCC rất thích hợp để xác định các đường thẳng

2.2.2.2 Nối các DSCC

Rất nhiều đường thẳng được tạo bởi nhiều DSCC, để trích xuất được đường thẳnh mong muốn cần ghép các DSCC lại với nhau Điều kiện ghép dựa vào khái niệm “khoảng cách 2 đường thẳng” (co-line distance)

Hình 2.7: Minh họa việc trích các DSCC ngang

(Nguồn: [13])

Trang 31

Khoảng cách 2 đường thẳng chỉ ra khả năng hai DSCC có thể ghép lại với nhau thành đường thẳng hay không Giả sử ta có một đường thẳng cắt giữa một DSCC C= R1R2 R n là ŷ(x), khoảng cách giữa hai đường thẳng giữa 1 DSCC

• dcc': khoảng cách từ điểm giữa (mid-points) của C' đến phần mở rộng

(2.2)

Hình 2.8: Khoảng cách giữa hai đường thẳng (co-line distance) (Nguồn: [1])

nếunếu

(2.3)

Trang 32

của C Giá trị này càng nhỏ thì khả năng ghép C và C' càng cao

Lưu ý: chỉ những chuỗi điểm ảnh bình thường (normal run-length, chuỗi

điểm ảnh có chiều dài nhỏ hơn hai lần chiều rộng của DSCC, ngược lại là abnormal run-length) mới được xét.

• M: số lượng chuỗi điểm ảnh (bình thường) trong C'

C' có thể ghép với C nếu thỏa mãn các điều kiện sau:

1) Điều kiện mở rộng tuyến tính: d cc 'd xW với W là chiều rộng

trung bình của C

2) Điều kiện khoảng cách: có ba khả năng

(a) Rỗng: nếu dx <= T1 (T1=15), C và C' được ghép Ngược lại, khoảng cách quá lớn nên C' không thể ghép với C

(b) Tồn tại một DSCC khác và nó có chiều rộng nhỏ hơn hai lần chiều rộng trung bình của C: xử lí giống trường hợp (a)

(c) Tồn tại một DSCC khác và nó có chiều rộng lớn hơn hai lần chiều rộng trung bình của C Ở đây đường thẳng ngang bị cắt bởi một đường thẳng dọc Giá trị ngưỡng nhỏ T2 được dùng Nếu dx = T2, C và C' được ghép, ngược lại thì không

Các bước ghép hai DSCC:

1 Tìm chuỗi bắt đầu Cs: là chuỗi dài nhất chưa được ghép

2 Dựa vào một phía của Cs, sắp xếp các chuỗi Ci'(i=1,2, ,n) theo thứ tự tăng dần của “khoảng cách đường thẳng”

3 Dựa vào M (M=3) chuỗi đầu tiên, nếu chúng ta tìm ra chuỗi Ck' có khoảng cách giữa hai đường thẳng nhỏ nhất, thỏa hai điều kiện ghép ở trên, khi đó

sẽ ghép Cs và Ck'

4 Lặp lại hai bước 2 và 3 đối với hai phía (trái/phải) của Cs

5 Nếu tất cả các chuỗi đều được xét thì kết thúc, ngược lại quay lại bước 1

Trang 33

2.2.2.3 Một số phương pháp nâng cao hiệu quả giải thuật

Hiệu quả của giải thuật được đánh giá dựa vào hai yếu tố: tốc độ và tính chính xác Các giải thuật trích xuất đường thẳng dựa theo hướng tiếp cận vectơ hóa

có tốc độ chậm hơn phương pháp chiếu Vì số vectơ tạo ra trong quá trình xử lí rất nhiều [1] Tuy nhiên cũng có một số phương pháp nâng cao tốc độ nhưng vẫn giữ nguyên độ chính xác

Tăng độ liền nét của chuỗi điểm ảnh (Run-Length Smearing)

Do việc in ấn, sao chép và quét, có thể làm xuất hiện những điểm không liền nét nhỏ (small breaks) trên đường thẳng, nguyên do này có thể phát sinh nhiều chuỗi điểm ảnh làm chậm tốc độ của giải thuật Bằng cách “vá” những điểm đứt nét nhỏ (hơn một ngưỡng nào đó – 5 điểm ảnh) hay tăng độ liền nét của chuỗi điểm ảnh

sẽ cải thiện tốc độ của giải thuật Theo [1], số DSCC giảm khoảng 20%

Trong thao tác tăng độ liền nét bổ sung thêm chức năng làm liền nét các đường thẳng dạng chấm chấm (dashed lines) Nên giải thuật này có thể mở rộng trích xuất được đường thẳng dạng chấm chấm với ràng buộc khoảng cách giữa các điểm chấm chấm nhỏ hơn ngưỡng nào đó (5 điểm ảnh)

Xóa các DSCC ngắn (Removal of Small DSCC)

Có hơn 50% DSCC có độ dài nhỏ hơn 3 điểm ảnh Các DSCC này được sinh

ra từ ký tự, nhiễu và một số rất ít là các đường thẳng bị mất nét (broken lines) Việc loại bỏ các DSCC này góp phần cải thiện tốc độ giải thuật Điều kiện loại bỏ là:

• Có chiều dài nhỏ hơn ba điểm ảnh

• Có chiều dài nhỏ hơn năm điểm ảnh có một hoặc hai cạnh kết nối với DSCC khác

Loại bỏ các đường thẳng không tạo nên cấu trúc ô nhập

Rất nhiều đường thẳng sau khi được trích xuất không tạo nên cấu trúc ô nhập Các đường thẳng này thường được tạo ra từ các ký tự trong ảnh biểu mẫu

Trang 34

Các đường thẳng này sẽ được loại bỏ.

Các đường thẳng thỏa mãn điều kiện sau sẽ được loại bỏ:

• Đường thẳng ngang: không giao nhau với đường thẳng dọc nào và có chiều dài nhỏ hơn một ngưỡng nào đó (10 điểm ảnh) hoặc chỉ giao nhau với một đường thẳng dọc

• Đường thẳng dọc: không giao nhau với bất kỳ đường thẳng ngang nào

2.3 Thực nghiệm

Ảnh được chọn trong thực nghiệm là ảnh biểu mẫu thu được từ máy photocopy có chức năng quét ảnh, máy quét và chụp từ màn hình Ảnh thu được sau khi số hóa được xử lí chống nghiên (deskew), xóa khung (remove border) và chuyển về ảnh nhị phân

Mỗi ảnh biểu mẫu dùng làm thực nghiệm chứa nhiều loại thông tin in sẵn như: logo, ký tự (hoa, thường), gồm nhiều loại ô nhập có cấu trúc và kích thước khác nhau

Mục tiêu thực nghiệm nhằm đánh giá ưu/khuyết điểm của giải thuật, ưu điểm thể hiện ở những yêu cầu sau:

• Trích chính xác đường thẳng có vị trí không lệch với vị trí đường thẳng gốc

• Loại bỏ tốt các đối tượng có hình dáng “tương tự” đường thẳng như: như logo, đường cong, ký tự in hoa,

• Đường thẳng có chiều dài ngắn (ô nhập dạng checkbox, “răng cưa”)

Giải thuật trích xuất đường thẳng thỏa mãn tốt những yêu cầu trên Sau đây là một

số hình ảnh minh họa kết quả:

Trang 35

Hình 2.9: Các ô nhập đồng dạng, có kích thước tương đương.

Hình 2.10: Các ô nhập không đồng dạng và có kích thước khác nhau.

Trang 36

Hình 2.11: Các ô nhập đồng dạng có kích thước khác nhau và biểu mẫu chứa

logo.

Hình 2.12: Các ô nhập đồng dạng và có kích thước khác nhau.

Trang 37

Việc trích xuất sai thường do những nguyên nhân chính: đường thẳng bị đứt nét khoảng cách lớn (>10 pixel), phần ký tự nhãn quá gần hoặc đè (overlap) lên đường thẳng hoặc hai đường thẳng song song có nhiều chổ “dính” nhau.

Hình 2.14: Lỗi trích đường thẳng Hình 2.13: Ô nhập dạng đường thẳng không liền nét.

Trang 38

Chương 3: PHÂN TÍCH BIỂU MẪU

Mục tiêu chính của chương III là trình bày phương pháp trích xuất thông tin cấu trúc ô nhập và nhãn của vùng nhập

Phần phương pháp trích xuất xuất cấu trúc ô nhập sẽ giới thiệu một phương pháp trích xuất dựa vào loại giao điểm của các đường thẳng ngang dọc

Phần trích xuất nhãn sẽ dùng phần mềm mã nguồn mở VietOCR (viết dựa vào công cụ Tessseract OCR của Google)

Cuối cùng là phần thực nghiệm kiểm tra hiệu quả của giải thuật trích xuất cấu trúc ô nhập

3.1 Giới thiệu

Phân tích biểu mẫu là một dạng đặc biệt của bài toán Phân tích Ảnh Tài liệu (Document Image Analysis)([11],[27]) Phân tích là khâu quan trọng nhất trong quá trình xử lí biểu mẫu [8] Ở mức toàn cục (global), việc phân tích sẽ xử lí toàn tập tin ảnh biểu mẫu, như chống nghiên (deskew), phân tích hình học (graphical analysis)

và phân tích văn bản (text analysis) chẳng hạn; ở mức cục bộ, đó là trích xuất các thành phần trên biểu mẫu, ví dụ như thông tin người dùng điền vào, đây là việc phân tích ở mức vật lí (physical analysis) Ngoài ra còn có phân tích ở mức luận lí (logic analysis), nhằm chỉ ra ý nghĩa hoặc mối quan hệ của những thành phần trên biểu mẫu

Do vậy, phương pháp phân tích biểu mẫu rất đa dạng, tùy thuộc mức độ, nội dung phân tích và thường xoay quanh việc thực hiện ba chức năng chính [3]:

◦ Gom nhóm và định vị các các thành phần trên biểu mẫu dựa vào kiểu thông tin: nhóm kiểu ô nhập, nhóm chữ viết

◦ Xác định mối liên hệ giữa nhóm ô nhập và chữ viết

◦ Tách chữ viết khỏi ô nhập Chức năng này còn giải quyết vấn đề chữ viết

đè lên ô nhập (chữ mất nét)

Trang 39

Việc phân tích ở mức vật lí tập trung vào phần ảnh có chứa thông tin về vùng nhập (input field) Mỗi vùng gồm hai phần: nhãn và ô nhập có cấu trúc xác định (giới hạn ở dạng cấu trúc vùng nhập tạo bởi các đường thẳng ngang và dọc) Các đường thẳng trong biểu mẫu đã trích xuất sẽ được gom nhóm (lines grouping) tạo nên các cấu trúc ô nhập Trong đề tài này sẽ trình bày cách gom nhóm đường thẳng thành 3 cấu trúc: ô nhập chữ nhật, ô nhập răng cưa và đường thẳng (xem mục 3.2) Nhãn ô nhập được trích xuất bằng chương trình nhận dạng ký tự Tesserract (xem mục 3.3).

Hình 3.1: Phân tích biểu mẫu trắng (blank form)

Trang 40

Có hai hướng phân tích: phân tích cấu trúc vùng nhập và nhãn vùng nhập đối với biểu mẫu trắng hay biểu mẫu chưa điền thông tin(blank form), và phân tích nội dung viết trên biểu mẫu đã điền thông tin (filled form)([4]).

3.1.1 Phân tích biểu mẫu trắng

Mục tiêu chính của giai đoạn này là trích xuất các thông tin về cấu trúc và nhãn vùng nhập in sẵn để tạo mô hình biểu mẫu.Phân tích cấu trúc vùng nhập (input field structure) nhằm trích xuất và xác định các thuộc tính cấu trúc của ô nhập, các thuộc tính này gồm:

◦ Loại: ô ký tự (textbox), đường thẳng (line), ô ký tự dạng răng cưa (tooth structure), ô chọn (checkbox), bảng biểu (table),

◦ Vị trí và kích thước: tọa độ bắt đầu, chiều cao/rộng,

◦ Kiểu dữ liệu: kiểu số, kiểu chuỗi ký tự, kiểu hỗn hợp số chữ, kiểu logic,

Phân tích nhãn vùng nhập (input field label) nhằm trích xuất các thông tin về nhãn của vùng nhập Quá trình này được thực hiện thông qua một chương trình OCR (Optical character recognition) ký tự in và bộ nhận dạng ký tự in Tesseract (tesseract ocr engine)[20] sẽ được dùng Kết quả quá trình này là trích xuất được các chuỗi ký tự là ứng cử viên (candidate) làm nhãn một vùng nhập

Tiếp theo là ánh xạ (mapping) mỗi vùng nhập với một nhãn phù hợp Đây là việc phân tích mức luận lí

Tất cả thao tác trên được thực hiện tự động Và hiệu quả của quá trình phân tích được đánh giá thông qua mức độ tự động cao và tính chính xác

Sau cùng tất cả thông tin về vùng nhập và kích thước ảnh biểu mẫu trắng sẽ được lưu lại thành một tập tin XML Tập tin này là mô hình của một biểu mẫu

Ngày đăng: 15/12/2015, 07:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Y. Zheng, C. Liu, and X. Ding. Form frame line detection with directional single-connected chain. In ICDAR’01: Proceedings of the Sixth International Conference on Document Analysis and Recognition, page 699, Washington, DC, USA. IEEE Computer Society. 2001 Sách, tạp chí
Tiêu đề: Form frame line detection with directional single-connected chain
2. Juan-Carlos Perez-Cortes, Luis Andreu, và Joaquim Arlandis. A Model- Based Field Frame Detection for Handwritten Filled-in Forms. das, pp.362- 368, The Eighth IAPR International Workshop on Document Analysis Systems, Nara, Japan. 2008 Sách, tạp chí
Tiêu đề: A Model-Based Field Frame Detection for Handwritten Filled-in Forms
3. Wang, D. and Srihari, S. N., Analysis of form images, Proc. ICDAR 91, 181- 191, Saint Malo, France, 1991 Sách, tạp chí
Tiêu đề: Analysis of form images
4. Yu, B., Jain A.K. A generic system for form dropout. IEEE Trans. PAMI, 18(11):1127-1132, 1996 Sách, tạp chí
Tiêu đề: A generic system for form dropout
5. R.Casey, D.Ferguson, K.Mohiuddin, and E.Walach. Intelligent forms processing system. Mach. Vision Appl., 5(3): 143-155, 1992 Sách, tạp chí
Tiêu đề: Intelligent forms processing system
6. S. Mandal, S. P. Chowdhury, A. K. Das. Fully automated identification and segmentation of form document Form Processing. Computer Vision and Graphics International Conference, ICCVG 2004, Warsaw, Poland, September 2004, Proceedings. 2004 Sách, tạp chí
Tiêu đề: Fully automated identification and segmentation of form document Form Processing
7. Fan, Kuo-Chin and Chang, Mei-Lin. Form document identification using line structured based features. In 14th Int. Conf. on Pattern Recognition ICPR’98, Brisbane, Australia. 1998 Sách, tạp chí
Tiêu đề: Form document identification using line structured based features
8. D. Niyogi, S. N. Srihari, and V. Govindaraju. Analysis of printed forms. In Handbook of Character Recognition and Document Image Analysis. Chapter 19. World Scientific Publishing Co., Singapore, 1997 Sách, tạp chí
Tiêu đề: Analysis of printed forms. In Handbook of Character Recognition and Document Image Analysis
9. X. Ye, C.Suen and M.Cheriet. A generic system to extract and clean handwritten data from business forms. In Prof. Int. Workshop on Frontiers in handwriting Recognition, pp.63-72, Amsterdam. 2000 Sách, tạp chí
Tiêu đề: A generic system to extract and clean handwritten data from business forms
10. Dipti Deodhare, NNR Ranga Suri R. Amit. Preprocessing and Image Enhancement Algorithms for a Form-based Intelligent Character Recognition System. International Journal of Computer Science and Sách, tạp chí
Tiêu đề: Preprocessing and Image Enhancement Algorithms for a Form-based Intelligent Character Recognition System
11. Trupin E. La Reconnaissance d'Images de Documents : Un Panorama. Revue Traitement du Signal : Traitement automatique des documents, 22,3,159-189. 2005 Sách, tạp chí
Tiêu đề: La Reconnaissance d'Images de Documents : Un Panorama
12. Pei-Yi Wang. Table-Form Classification Using Field Clustering Features and Four Directional Adjacency Trees. Master's Thesis, National Central University, Taiwan, 2000 Sách, tạp chí
Tiêu đề: Table-Form Classification Using Field Clustering Features and Four Directional Adjacency Trees
13. Yefeng Zheng. Handwriting identification, matching, anh indexing in noise documents images. Ph.D Thesis, University of Maryland, 2005 Sách, tạp chí
Tiêu đề: Handwriting identification, matching, anh indexing in noise documents images
14. Yaakov Navon, Ella Barkan and Boaz Ophir. A Generic Form Processing Approach for Large Variant Templates. Proceedings of the 2009 10th International Conference on Document Analysis and Recognition, pp 311- 315, Barcelona. 2009 Sách, tạp chí
Tiêu đề: A Generic Form Processing Approach for Large Variant Templates
15. Abhishek Gattani, Maitrayee Mukerji and Hareish Gur. A Fast Multifunctional Approach for Document Image Analysis. Proceedings of the Seventh International Conference on Document Analysis and Recognition - Volume 2, pp 1178. 2003 Sách, tạp chí
Tiêu đề: A Fast Multifunctional Approach for Document Image Analysis
16. Xingyuan, L., Doermann, D., Oh, W., Gao, W. A robust method for unknown forms analysis. In Proceedings of the 5th ICDAR, Bangalore (India), September 1999. p. 531-534. 1999 Sách, tạp chí
Tiêu đề: A robust method for unknown forms analysis
17. S. Mandal, S. P. Chowdhury, A. K. Das. Fully automated identification and segmentation of form document Form Processing. Computer Vision and Graphics, pp. 953–961, Netherlands, 2006 Sách, tạp chí
Tiêu đề: Fully automated identification and segmentation of form document Form Processing
18. Wenyin Liu and Dov Dori. From Raster to Vectors: Extracting Visual Information from Line Drawings. Pattern Analysis and Application, No.2, pp10-21, 1999 Sách, tạp chí
Tiêu đề: From Raster to Vectors: Extracting Visual Information from Line Drawings
19. Jiun-Lin Chen, Hsi-Jian Lee. An Efficient Algorithm for Form Structure Extraction Using Strip Projection. Pattern Recogniton, Vol.31, No.9, pp.1353-1368, 1998 Sách, tạp chí
Tiêu đề: An Efficient Algorithm for Form Structure Extraction Using Strip Projection
40. Chang, C. C., Lin, C. J., LIBSVM: A library for support vector machines, 2001, http://www.csie.ntu.edu.tw/~cjlin/libsvm Link

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w