Các phƣơng pháp tách chữ viết tay ra khỏi khung điền

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 70)

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

3.2.3Các phƣơng pháp tách chữ viết tay ra khỏi khung điền

3.2.3.1.Tìm hiểu các thuật toán tách cơ bản.

2.2.3.1.1 Thuật toán gán nhãn ( Labeling)

Đây là phƣơng pháp tính số điểm đen trong một vùng liên thông của các điểm đen, sau đó các điểm ảnh trong cùng một vùng liên thông sẽ đƣợc gán một nhãn giống nhau, đó là tổng số điểm đen vừa tính đƣợc. Có nhiều phƣơng pháp để thực hiện phƣơng pháp gán nhãn này. Ở đây, chúng tôi lựa chọn thuật toán đệ quy để thực hiện phép gán nhãn. Thuật toán đệ quy giúp tăng tốc độ tính toán đối với các mẫu biểu mẫu động có nhiều khung điền. Trong thuật toán này, nếu mỗi điểm đen đƣợc tìm thấy, nó sẽ tính các điểm đen hàng xóm liên kết với nó. Giá trị trả lại của thuật toán đó là số lƣợng điểm đen của các vệt đen.

2.2.3.1.2 Thuật toán hình thái học (Morphology)

Có hai thuật toán hình thái học để xử lý: phép co (contraction) và phép dãn (expansion)

(1)Có hai thuật toán contraction khác nhau:

a. Nếu một pixel trắng đƣợc tìm thấy thì tất cả 8 hàng xóm hoặc 4 hàng xóm của nó cũng sẽ bị chuyển thành trắng.

b. Nếu một điểm đen đƣợc tìm thấy, thì chúng ta sẽ kiểm tra 8 hàng xóm hoặc 4 hàng xóm của nó. Nếu có ít nhất một một hàng xóm của nó là điểm trắng thì nó sẽ chuyển thành trắng.

(2)Có hai thuật toán expansion khác nhau:

a. Nếu một điểm đen đƣợc tìm thấy, thì tất cả 8 hàng xóm hoặc 4 hàng xóm của nó cũng sẽ chuyển thành đen.

b. Nếu một điểm trắng đƣợc tìm thấy, thì chúng ta sẽ kiểm tra 8 hàng xóm hoặc 4 hàng xóm của nó. Nếu có ít nhất một hàng xóm của nó là đen thì nó sẽ chuyển thành đen.

73

3.2.3.2. Tách chữ viết tay ra khỏi khung điền.

Theo các thuật toán cơ bản đƣợc trình bày ở phần trƣớc, chúng ta có các phƣơng pháp tách khác nhau:

a) Phân tách bằng thuật toán gán nhãn:

Một thuật toán đệ quy được sử dụng để tính các thành phần liên thông đen trong biểu mẫu. Từ đó số lượng điểm đen trong mỗi thành phần liên thông được xác định. Để thu được chữ viết tay mà không còn khung, ta xét các thành phần liên thông : Nếu số điểm đen trong thành phần liên thông bé hơn một ngưỡng cho trước thì toàn bộ thành phần liên thông sẽ bị xoá. Ta biết rằng số lượng điểm đen trong thành phần liên thông của các chấm nhỏ là nhỏ hơn rất nhiều so với số lượng các điểm đen trong thành phần liên thông của chữ viết tay. Do đó qua phép toán này, chúng ta sẽ thu được các chữ viết tay không còn khung điền.

Ngƣợc lại, để thu đƣợc khung điền thông tin mà đã loại bỏ đƣợc chữ viết tay, chúng ta cũng thực hiện tƣơng tự, chỉ khác ở chỗ thành phần liên thông nào có số lƣợng điểm đen lớn hơn ngƣỡng cho trƣớc thì sẽ bị xoá hoàn toàn.

b) Phân tách bằng các thuật toán hình thái học:

Morphology đƣợc sử dụng ở đây gồm có phép cophép dãn

Phép co : Nếu một điểm đen đƣợc tìm thấy, chúng ta sẽ xem xét các 4-hàng xóm hoặc 8-hàng xóm của nó và nó sẽ bị biến đổi thành điểm trắng nếu có ít nhất một hàng xóm của nó là điểm trắng.

Phép dãn : Nếu một điểm đen đƣợc tìm thấy thì các 4-hàng xóm hoặc 8- hàng xóm của nó sẽ đƣợc chuyển thành các điểm đen.

Đầu tiên, trang biểu mẫu sẽ đƣợc thực hiện nhiều lần phép co cho đến khi các khung điền thông tin bị biến mất. Lúc này trên ảnh chỉ cón lại các chữ viết tay, chúng ta sẽ thực hiện phép dãn để phục hồi lại các chữ viết tay. Phép co thực hiện bao nhiêu lần thì phép dãn cũng sẽ được thực hiện bấy nhiêu lần.

74

Để thu đƣợc chữ viết tay thông qua các biến đổi này, thì độ dày của các chữ viết tay phải dày hơn độ dày của các chấm nhỏ. Bởi vì nếu không có điều kiện này thì chữ viết tay cũng sẽ bị biến mất cùng khung điền thông tin sau một số bƣớc thực hiện phép co. Ngoài ra, sau khi thực hiện phép co, thì các chữ viết tay sẽ bị biến dạng bào mòn, đứt nét. Để khôi phục lại chúng, chúng ta sẽ sử dụng phép dãn. Tuy nhiên thƣờng là các chữ viết tay thu đƣợc sau khi thực hiện phép dãn sẽ dày hơn kích thƣớc thật của nó.

Phân tách sử dụng kết hợp phép gán nhãn và hình thái học

Chúng ta có một nhận xét rằng tốc độ của phép toán gán nhãn phụ thuộc vào số lƣợng điểm đen trong biểu mẫu. Dựa vào nhận xét này, chúng ta có thể tiến hành phân tách nhƣ sau :

Bƣớc 1 :Sử dụng phép toán co (contraction) để giảm bớt số lƣợng điểm đen. Bƣớc 2 : Áp dụng thuật toán gán nhãn để loại bỏ các vệt đen nhỏ.

Hình 3.12 : Khung trước khi tách

Hình 3.13 : Khung sau khi đã tách chữ viết tay

75

3.2.4 Xác định vị trí các khung điền. 3.2.4.1.Phƣơng pháp chiếu. 3.2.4.1.Phƣơng pháp chiếu. (adsbygoogle = window.adsbygoogle || []).push({});

Để xác định vị trí của các khung điền thông tin, chúng ta sẽ sử dụng phép chiếu (projection) theo chiều dọc và chiều ngang.

Thực hiện phép chiếu theo chiều dọc, chúng ta sẽ thu đƣợc các đƣờng thẳng ngang của các khung điền thông tin

Hình 3.15 : Phép chiếu theo chiều ngang

Thực hiện phép chiếu theo chiều ngang, chúng ta sẽ thu đƣợc vị trí của từng ô trong các khung.

76

Chú ý rằng để nâng cao chất lƣợng trong các phép chiếu, chúng ta nên tách bỏ phần chữ viết tay ra khỏi khung điền thông tin trƣớc khi thực hiện các phép chiếu.

3.2.4.2.Phƣơng pháp bỏ qua các khoảng trắng.

Chúng ta có nhận xét rằng: trong một biểu mẫu động, có rất nhiều khoảng trắng giữa các khung điền thông tin và thời gian xử lý biểu mẫu sẽ giảm đi đáng kể nếu chúng ta thực hiện phép toán gán nhãn mà bỏ qua các khoảng trắng này. Do đó, chúng ta sẽ tiến hành so sánh hai thuật toán sau:

(1)Thuật toán không bỏ qua các khoảng trắng:

i) Toàn bộ biểu mẫu đƣợc tiến hành gán nhãn và phân tách khung điền và chữ viết tay.

ii) Sử dụng phép chiếu theo chiều ngang để xác định vị trí các khung điền thông tin.

iii) Đối với mỗi khung điền đã xác định ở bƣớc trƣớc, chúng ta sử dụng phép chiếu theo chiều dọc để xác định vị trí các cột trong khung. Trong thuật toán này, chúng ta đã sử dụng hai phép chiếu theo chiều dọc và chiều ngang để xác định khung điền. Do đã phân tách chữ viết tay ra khỏi khung điền nên quá trình tiến hành phép chiếu sẽ không bị ảnh hƣởng của các chữ viết tay. Do đó độ chính xác khi xác định khung điền sẽ tăng lên nhƣng tốc độ xử lý sẽ bị chậm đi.

(2)Thuật toán có bỏ qua các khoảng trắng:

i) Sử dụng phép chiếu theo chiều ngang để xác định vị trí của các khung điền thông tin.

ii) Đối với từng khung điền thông tin vừa xác định đƣợc, chúng ta tiến hành sử dụng phép gán nhãn để phân tách chữ viết tay và khung điền. iii) Đối với mỗi khung điền, sau khi loại bỏ chữ viết tay, chúng ta sẽ tiến

hành chiếu theo chiều dọc để xác định vị trí chính xác của từng cột trong khung.

77

Nhận xét: Mặc dù các chữ viết tay trong khung điền có thể gây ra nhiễu đối với quá trình nhận dạng vị trí của các khung điền, đặc biệt là trong phép chiếu theo chiều dọc để xác định các cột trong khung điền thông tin. Tuy nhiên chúng sẽ không gây ảnh hƣởng gì nhiều đối với phép chiếu theo chiều ngang để xác định vị trí của các khung. Do đó phép chiếu theo chiều ngang có thể đƣợc tiến hành đầu tiên để xác định vị trí các khung điền. Sau đó, chúng ta mới tiến hành phép gán nhãn đối với mỗi khung để phân tách chữ viết tay và khung điền. Và nhƣ thế là chúng ta đã bỏ qua đƣợc các khoảng trắng giữa các khung trong quá trình xử lý mà độ chính xác của thuật toán vẫn đạt cao.

3.2.5 Xác định thông tin ẩn chứa trong các khung điền.

Sau khi đã xác định đƣợc vị trí các khung, chúng ta sẽ tiến hành nhận dạng phân tích cấu trúc các chấm nhỏ của từng khung. Để xác định cấu trúc tổ chức của các chấm nhỏ, chúng ta sẽ thực hiện phép chiếu theo chiều dọc. Phân tích hình phổ của phép chiếu sẽ cho chúng ta cấu trúc sắp xếp của các chấm nhỏ.

Hình 3.17 : Phép chiếu theo chiều dọc các điểm ảnh

3.3 Các thuật toán khác áp dụng cho biểu mẫu động

Ở phần trên, chúng tôi đã trình bày các kỹ thuật cơ bản để áp dụng nhận dạng cho biểu mẫu động. Tuy nhiên, ở phần này chúng tôi xin trình bày thêm một số kỹ thuật nhận dạng khác để nâng cao hiệu quả trong quá trình nhận dạng biểu mẫu động.

78

3.3.1 Thuật toán bóc viền

Có một thực tế mà chúng ta găp phải là các ảnh scan vào không chỉ có đƣờng biên là màu trắng, mà có thể có các đƣờng biên là màu đen, và chúng có thể gây ảnh hƣởng rất lớn đến quá trình nhận dạng ảnh.

Hình 3.18: Ảnh scan có đường viền màu đen

Để khắc phục trƣờng hợp này, trƣớc tiên chúng ta phải khử các đƣờng viền đen này. Thực tế nghiên cứu nhiều ảnh scan khác nhau chúng tôi nhận thấy rằng các điểm đen trên đƣờng viền phân bố một cách rời rạc, không liên tục, có xen kẽ các điểm trắng (hoặc cụm điểm trắng), và có các hình dạng rất khác nhau tùy thuộc vào chất lƣợng máy Scan và góc nghiêng của ảnh.

Do vậy để khử đƣờng các đƣờng viền đen này chúng tôi đề xuất giải pháp khử đƣờng viền bằng cách dựa vào phƣơng pháp phân cụm có tính đến mật độ (Density-Based Clusturing). Đặc điểm của phƣơng pháp phân cụm :

79 (adsbygoogle = window.adsbygoogle || []).push({});

 Có thể phân cụm với nhiều hình dạng khác nhau, kể các các hình dạng bất thƣờng

 Chấp nhận nhiễu

 Chỉ thực hiện duyệt một lần

 Cần tham số mật độ cho điều kiện kết thúc

Hình 3.19: Các kiểu hình dạng khác nhau của cụm, mỗi màu tương ứng với một cụm

Trƣớc khi đi vào thuật toán khử đƣờng viền đen, chúng ta có thể hiểu một cách khái quát về phƣơng pháp phân cụm dựa trên mật độ nhƣ sau:

- Tham số mật độ cho điều kiện kết thúc

Eps: là bán kính lớn nhất của cụm

MinPts: số điểm tối thiểu trong một cụm. - Tập hàng xóm:  Eps q p dist D q q N( ) {  ( , )  Trong đó

 D: Cơ sở dữ liệu điểm

80

- Điểm lân cận trực tiếp (Direct density – reachable): một điểm p là điểm lân cận trực tiếp từ điểm q với Eps và MinPts, nếu p thuộc vào NEps(q) và |NEps(q)|

>= MinPts.

Hình 3.20: Mô tả điểm lân cận trực tiếp

- Điểm lân cận (Density – reachable): một điểm p là điểm lân cận từ một điểm q với Eps và MinPts, nếu tồn tại một chuỗi các điểm p1,p2,…, pn sao cho p1= q, pn= p và pi+1 là điểm lân cận trực tiếp từ pi.

Hình 3.21: Mô tả điểm lân cận

- Điểm nối (Density – connected): Một điểm p là điểm nối tới điểm q với Eps và MinPts, nếu tồn tại một điểm o sao cho cả p và q đều có thể là điểm lân cận với điểm o

81

Hình 3.22: Mô tả điểm nối

- Quy ƣớc một cụm (cluster): một cụm đƣợc định nghĩa là một tập hợp lớn nhất các điểm nối

Áp dụng phƣơng pháp phân cụm, chúng tôi đề xuất phƣơng pháp khử đƣờng viền đen có thể thực hiện các bƣớc chính sau:

Bước 1: Xuất phát từ điểm p ta đi tìm một cụm, sao cho p thuộc vào cụm đấy Bước 2: Đặt tất cả các điểm trong cụm của p là điểm trắng

Bước 3: Lặp lại bước 1 cho tới khi không còn tồn tại cụm nào.

Chú ý : Thuật toán này chỉ áp dụng với các điểm gần viền là màu đen, không áp dụng với các điểm đen bên trong

82

Hình 3.23: Ảnh scan có đường viền màu đen và ảnh sau khi đã bóc viền đen

Nhận xét: Dựa trên kết quả thực nghiệm sau khi áp dụng thuật toán đối với 60 biểu mẫu văn bản thuộc về 4 loại khác nhau, chúng tôi thấy rằng kết quả thu đƣợc hoàn toàn có thể so sánh với kết quả của các thuật toán khác. Thời gian để nhị phân hóa ảnh có độ phân giải là 300 DPI với 10 lần lặp chỉ là 25ms. Điều này chứng minh rằng thuật toán có thể áp dụng rất hiệu quả khi ta cần xử lý văn bản với số lƣợng lớn.

3.3.2 Thuật toán xác định góc nghiêng 3.3.2.1.Thuật toán sử dụng phép chiếu 3.3.2.1.Thuật toán sử dụng phép chiếu

Trong phần nay chúng tôi không đi sâu vào giải thích về phƣơng pháp phép chiếu mà chỉ nêu tóm tắt các bƣớc chính cần thực hiện: (adsbygoogle = window.adsbygoogle || []).push({});

– Các điểm đen trên hình ảnh sẽ đƣợc chiếu theo các đƣờng thẳng song song vào một mảng tích lũy (A). Mỗi phần tử của mảng tƣơng ứng với

83

một đƣờng chiếu và giá trị của nó là số điểm đen nằm trên đƣờng chiếu đó.

– Sử dụng phép chiếu đối với mỗi góc nghiêng giả định, ta thu đƣợc một tập các mảng tích lũy (Aθ). Dựa vào hàm đánh giá F(Aθ) với MINANGLE ≤ θ ≤ MAXANGLE, ta tìm đƣợc góc nghiêng chính xác θ của ảnh là góc làm cho giá trị của hàm đánh giá F(Aθ) đạt cực đại Dựa trên các đặc trƣng của văn bản ta có hai hàm đánh giá :

     n i i A i A A F 1 2 1(  ) ( [ ] [ 1])

Áp dụng phƣơng pháp phép chiếu, ta thử với từng góc θ nằm trong khoảng ( MINANGLE, MAXANGLE). Góc θ tìm đƣợc là góc có hàm đánh giá tƣơng ứng đạt giá trị cực đại.

Tối ƣu thuật toán

Từ thực tế nghiên các loại biểu mẫu khác nhau, chúng tôi nhận thấy các văn bản dạng biểu mẫu có nhiều đƣờng thẳng, nhiều hình chữ nhật song song với hƣớng của văn bản; khi văn bản bị nghiêng với một góc θ, thì các hình này không bị biến dạng nhiều. Cùng với cách làm trên, chi phí tính toán tập trung nhiều vào việc tính tổng số điểm đen trên đƣờng chiếu. Để khắc phục nhƣợc điểm này chúng ta có thể không cần tính đến tất cả các điểm đen trên đƣờng chiếu mà chỉ xét xem đƣờng chiếu đƣờng chiếu thuộc về kiểu nào trong hai loại: đƣờng chiếu có chứa ít nhất một điểm đen (gọi là đƣờng chiếu đen – gọi tắt là đƣờng đen) và đƣờng chiếu không có chứa điểm đen (gọi là đƣờng chiếu trắng – gọi tắt là đƣờng trắng).

Theo cách này, chúng ta sẽ phân tích ảnh ở tất cả các góc nghiêng θ có thể bằng cách vẽ các đƣờng chiếu song song trên ảnh ở các góc nghiêng này, và xác định các đƣờng các đƣờng đen và các đƣờng trắng. Theo đó các đối tƣợng (nhƣ textline, đƣờng thẳng, hình chữ nhật, bảng…) có thể đƣợc xấp xỉ bằng các hình bình

84

hành. Việc ƣớc lƣợng góc nghiêng của ảnh dựa trên diện tích các hình bình hành hoặc phần bù của các hình bình hành đó.

Hình 3.24: (a) Ảnh scan, các đường màu đỏ là các đường chiếu ở góc nghiêng θ. (b) Ảnh được xấp xỉ bởi các hình bình hành

Để tăng cƣờng độ chính xác chúng ta có thể chia nhỏ đƣờng chiếu bằng cách chia ảnh thành các vùng có độ rộng nhƣ nhau. Ta coi mỗi vùng nhƣ là một ảnh con, và việc phân tích ảnh đƣợc áp dụng trên mỗi một ảnh con này.

85

Hình 3.25: (a) Ảnh scan. (b) (c) (d) Ảnh các đường chiếu đen và trắng ở các góc nghiêng -2.50, -3.50, 20

Đặt A(θ) là diện tích các hình bình hành tƣơng ứng với góc nghiêng θ, T là tổng diện tích của toàn bộ ảnh và B(θ) = T - A(θ) là diện tích phần bù của các hình bình hành. Khi đó góc nghiêng của ảnh sẽ đƣợc ƣớc lƣợng bởi giá trị lớn nhất của tất cả các B(θ ) hay θ* = Max{ B(θ)} [12].

Để tính đƣợc kích thƣớc của vùng trắng, đơn giản chúng ta chỉ việc đếm số điểm ảnh trên đƣờng trắng. Với mỗi một đƣờng chiếu ta làm nhƣ sau:

IF nếu là điểm ảnh màu đen THEN

Chúng ta dừng lại, trả lại giá trị 0, và chuyển sang duyệt đƣờng chiếu tiếp theo

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 70)