Xác định vùng nhập liệu dựa trên các mốc quy chiếu

Một phần của tài liệu Tách và nhận dạng số viết tay trong phiếu nhập dữ liệu (Trang 28)

Phân vùng ảnh theo hướng tiếp cận này, ta đặt một hệ trục tọa độ vào ảnh mẫu và tương ứng với nó là một hệ trục tọa độ trên ảnh scan. Sau khi khớp được hai hệ trục tọa độ này cũng như tìm được tỉ lệ chính xác giữa kích thước của hai ảnh, ta sẽ có tương ứng 1:1 giữa một điểm trên ảnh mẫu và một điểm trên ảnh scan.

scale y y scale x x i i i i   ' '

Công thức 2-1: Tọa độ tƣơng ứng giữa 1 điểm trên ảnh scan và 1 điểm trên ảnh gốc trong đó xi,yi làtọa độ của điểm i trong ảnh mẫu, x’i,y’i là tọa độ của điểm tƣơng ứng với nó trong ảnh scan.

Trên cơ sở sự tương ứng này, ta tách được được các vùng cần xử lý trên ảnh scan tương ứng với các vùng đã được xác định trước trên ảnh mẫu.

Để khớp hai hệ trục tọa độ giữa hai ảnh, ta đưa vào ảnh mẫu một số đối tượng đặc biệt( như một đường thẳng dày, khung bao quanh …). Khi nhận dạng được các đối tượng này trên ảnh scan, ta có thể khớp được hai hệ trục tọa độ.

Dưới đây là hình vẽ minh họa ảnh gốc và ảnh scan, sau khi khớp hai hệ trục tọa độ ta tách được vùng cần nhận dạng.

Hình 2-3: (a) ảnh gốc; (b) ảnh scan sau khi tiền xử lý Nhận xét :

 Ưu điểm : đơn giản, dễ hiểu, dễ cài đặt, tính toán đơn giản

 Nhược điểm : độ chính xác không cao nhất là trên những ảnh có kích thước lớn

2.1.3 Xác định vùng dựa vào vị trí tƣơng đối đến các các mốc quy chiếu trên form

Trong phương pháp phân vùng trình bày ở trên, do trong quá trình scan, ảnh có thể bị biến dạng làm cho vị trí các vùng thay đổi. Thêm vào đó, sai số trong việc xác định góc quay và độ dịch của ảnh cũng ảnh hưởng đến vị trí tuyệt đối của các vùng. Theo phương pháp này, các vùng càng xa gốc tọa độ thì sai số về vị trí càng lớn. Tuy nhiên phương pháp này đơn giản và dễ cài đặt.

Để giảm bớt sai số, tách vùng ảnh thường được thực hiện thông qua vị trí tương đối đến các mốc quy chiếu. Việc chọn các đối tượng làm mốc quy chiếu có ảnh hưởng rất lớn đến độ chính xác. Một số phương pháp có thể kể đến như [12] sử dụng chuỗi ký tự được nhận dạng trên form, [27] sử dụng ma trận giao điểm của các đường thẳng, [20] [21] sử dụng danh sách các khối đối tượng( cụm ký tự, ảnh,…). Các phương pháp này một mặt khá nhạy cảm với nhiễu và biến dạng của ảnh, mặt khác có thể kém chính xác khi không xác định được đầy đủ các đối tượng trong danh sách.

Khối lượng tính toán lớn cũng là một trong những vấn đề cần cân nhắc. Tuy nhiên các phương pháp này có thể áp dụng được trên form tổng quát.

Phương pháp tách vùng tôi trình bày trong phần này sử dụng các block là các hộp đen hoặc các ô tròn bên lề form. Đây là các đối tượng bền vững với nhiễu và biến dạng ảnh. Chi phí tính toán nhỏ cùng với độ chính xác cao là lý do tôi lựa chọn phương pháp này.

Theo đó, Vị trí của vùng sẽ được tính thông qua vị trí tương đối, là vị trí tới đối tượng lân cận đã đƣợc phát hiện trên ảnh. Vị trí này thay đổi tùy thuộc vào đối tượng và kết quả xác định những đối tượng trước đó. Những đối tượng đầu tiên cần được phát hiện trên ảnh là những đối tượng có đặc điểm nổi bật nhất - các block đen bên lề của form. Trong phần xác định góc nghiêng ở chương trước, các block đen trên ảnh có một vai trò rất quan trọng, dựa vào các ô này ảnh có thể được khử nghiêng và phát hiện ảnh ngược nhanh hơn rất nhiều so với các phương pháp tổng quát. Bên cạnh đó, ý nghĩa chính của việc sử dụng các ô đen là để cung cấp một mốc quy chiếu từ đó xác định vị trí các vùng nhập dữ liệu.

2.1.3.1 Phát hiện các block đen bên cạnh ảnh

Trong phần trước, để tìm được góc nghiêng của ảnh, chỉ cần xác thực sự tồn tại của dãy ô đen bên cạnh ảnh. Tuy nhiên để có thể dựa vào các đối tượng này để xác định những vùng nhập liệu thì trước hết phải biết được ảnh là ảnh của form mẫu nào và thứ tự tương ứng của các block so với các block của mẫu.

Trình tự thực hiện như sau :

Bƣớc 1: xác định tất cả các block bên lề của ảnh( thực hiện ở chương trước)

Bƣớc 2: nội suy các ô bị mất

Blocks là những đối tượng có kích thước tương đối, có mức xám bằng không do đó khá bền vững trước những biến dạng của ảnh cũng như không bị ảnh hưởng bởi nhiễu trừ những trường hợp đặc biệt. Tuy nhiên block đầu tiên và cuối cùng có thể bị mất nếu các block đặt quá sát lề và khi scan ảnh bị đặt lệch.

Những block không tìm thấy sẽ được nội suy từ những block khác với khoảng cách đến block gần nhất bằng khoảng cách trung bình giữa các block

Hình 2-4: Nội suy block bị mất

Bƣớc 3: đối chiếu khoảng cách giữa các block này với các block trong mẫu để xác định tỉ lệ co giãn ảnh với giả thiết là ảnh co giãn theo cùng một tỉ lệ ở cả chiều dọc và chiều ngang

Hình 2-5: Khoảng cách các block trong mẫu và trong ảnh scan

Tỉ lệ co giãn giữa ảnh so với mẫu ở trên là

1

H scale

H

Công thức 2-2: độ co giãn của ảnh scan so với ảnh mẫu

Sau các bước trên ta đã có được sự tương ứng 1:1 giữa các block trên ảnh và trên mẫu cũng như tỉ lệ co giãn ảnh. Những thông tin này sẽ được sử dụng để xác định các vùng nhập liệu.

2.1.3.2 Xác định vùng nhập liệu

Như đã phân tích ở trên, khoảng cách của một đối tượng đến một đối tượng khác càng gần thì việc sử dụng đối tượng này để suy ra vị trí của đối tượng kia càng chính xác. Với các thông tin đã biết trước về vị trí tuyệt đối của các vùng nhập liệu và các mốc quy chiếu trong mẫu, ta cần suy ra vị trí tương đối của từng vùng nhập liệu đến mốc quy chiếu gần nhất để tìm vị trí của các vùng này trên ảnh.

Với hướng tiếp cận của giải pháp này, sau tiền xử lý ảnh các mốc quy chiếu đầu tiên là các block đen bên cạnh ảnh. Các vùng nhập liệu tìm được bởi các mốc quy chiếu này sẽ tiếp tục được đưa vào danh sách quy chiếu và có thể được sử dụng để tìm vị trí các vùng nhập liệu khác. Việc xác định các vùng được thực hiện như vậy cho đến khi xác định được tất cả các vùng nhập liệu trên ảnh.

Trình tự thực hiện như sau :

Bƣớc 1: tương ứng các block trên ảnh với các block trong mẫu, đưa vào tập mốc quy chiếu

Giả sử trong mẫu có n blocks : b b1, 2,...,bn, ta tìm được n blocks trong ảnh ' ' '

1, 2,..., n

b b b tương ứng với các blocks trong mẫu. Đưa hai tập này vào hai tập mốc quy chiếu Q và '

Q

Hình 2-6: Tƣơng ứng các mốc quy chiếu trong ảnh scan và trong mẫu

Bƣớc 2: Chọn ra vùng nhập liệu trong mẫu có mốc quy chiếu gần nhất.

Tập vùng nhập liệu được định nghĩa trong mẫu là A, tìm vùng nhập liệu

 

i i

a aA sao cho tồn tại một mốc quy chiếu q qj( jQ) thỏa mãn khoảng cách từ qj

Hình 2-7: Mốc quy chiếu gần nhất đến các vùng nhập liệu

Ví dụ như trong mẫu trên, block 1 là đối tượng mốc quy chiếu gần nhất của vùng 1 và vùng 2. Vùng 1 được chọn do khoảng cách của nó đến mốc quy chiếu là gần nhất.

Bƣớc 3: xác định vùng tìm kiếm cho vùng nhập liệu được chọn ra ở bước 2 được suy ra từ mốc quy chiếu gần vùng này nhất và tỉ lệ co giãn tìm được ở trên.

Trên mẫu vùng aiđược giởi hạn bởi hình bao H Xa( mina ,Ymina ,Xmaxa ,Ymaxa ), qj được giới hạn bởi hình bao Hq(Xminq ,Yminq ,Xmaxq ,Ymaxq ), mốc quy chiếu tương ứng với qj tìm được trên ảnh là '

j

q được giởi hạn bởi hình bao ' ' ' ' '( minq , minq , maxq , maxq )

q

H X Y X Y . Vùng xác

định để tìm kiếm aitrên ảnh là ' ' ' ' '( mina , mina , maxa , maxa )

a

H X Y X Y được suy ra bởi Ha,Hq, Hq' và tỉ lệ co giãn ảnh scalenhư sau :

Tìm ' min

a

X , giả sử ( mina minq ) ( mina maxq )

abs XXabs XX thì

' '

mina minq ( mina minq )

XXXX scale

Công thức 2-3: Vùng tìm kiếm đƣợc suy ra từ mốc quy chiếu và độ co giãn ảnh

Làm tương tự với các cạnh còn lại ta sẽ xác định được Ha'

Bƣớc 4: Nhận dạng vùng này, đánh dấu vùng này đã được xác định và thêm vùng này vào danh sách quy chiếu. Quay lại bước 2.

Nhận dạng vùng nhập liệu được xác định bởi hình bao Ha' theo các phương pháp được trình bày trong 3.2. Sau khi nhận dạng vùng baoHa' sẽ được chính xác hóa. Ta thêm vùng nhập liệu aivà vùng nhập liệu đã nhận dạng '

i

a vào hai tập mốc quy chiếu Q và '

Q . Hai vùng nhập liệu này có thể được coi là mốc quy chiếu để tìm kiếm các vùng nhập liệu tiếp theo.

Hình 2-9: Vùng nhập liệu đƣợc sử dụng làm mốc quy chiếu

Hình 2-10: Cập nhật khoảng cách đến mốc quy chiếu gần nhất

Kết luận : qua quá trình nghiên cứu, giải pháp này đã chứng minh được tính hiệu quả và thực dụng trong việc nhận dạng form dữ liệu, đặc biệt là trong việc nhận dạng với số lượng lớn. Những ưu điểm và nhược điểm của phương pháp

Ưu điểm :

 Cho độ chính xác cao, thời gian xử lý nhanh  Dễ kiểm soát và bảo trì

Nhược điểm :

 Ảnh buộc phải có các block ở bên lề, có thể tạo ra một số vấn đề về mặt thẩm mỹ

2.1.4 Xác định vùng nhận dạng dựa trên vị trí tƣơng đối đến các đƣờng thẳng

Đặc điểm của kiểu form nhập dữ liệu là dữ liệu được nhập vào các ô trên form, các ô này được bao quanh bởi các đường thẳng, thêm vào đó trên form còn có thể có khung hoặc các đường phân cách khu vực, đường trang trí. Do đó chúng tôi đã đưa ra giải pháp xác định vùng nhập dữ liệu thông qua việc xác định các đường thẳng [3].

Trong phương pháp này, trước tiên ta tìm tất cả các đường thẳng có trong ảnh. Sau đó các đường thẳng này sẽ được đối chiếu với các đường thẳng có trong form mẫu để xác định thứ tự chính xác và khử nhiễu. Cuối cùng sau khi nhận dạng được các đường thẳng, vùng nhập dữ liệu sẽ được tính thông qua tọa độ gián tiếp tới các đường thẳng đó. Và bởi vì các tọa độ gián tiếp này là các tọa độ địa phương nên độ chính xác trong việc xác định các vùng là rất cao.

2.1.4.1 Mô tả thuật toán xác định đƣờng thẳng:

Trong ảnh của văn bản cần xử lý, các đường thẳng thường không phải là các đường thẳng lý tưởng mà chỉ là một tập hợp các điểm ảnh có thể xấp xỉ bởi một đường thẳng. Trong bài toán này, do việc tính toán vị trí các vùng nhận dạng sử dụng hệ tọa độ tương đối theo chiều thẳng đứng và theo chiều ngang nên trong việc xác định đường thẳng không cần xem xét đến các đường thẳng theo các hướng khác.

Theo giả thiết ở trên chúng tôi đưa ra thuật toán xác định đường thẳng dựa vào số lượng các điểm ảnh đen kề nhau liên tiếp theo chiều thẳng đứng và theo chiều ngang( còn gọi là các black run). Một đường thẳng bao gồm một tập các black run liền kề nhau. Ngưỡng nhận dạng cũng được áp dụng để loại bỏ các black run quá ngắn ( các black run thuộc về đường thẳng hay thuộc về chữ hoặc các đối tượng đồ họa khác). Sau khi duyệt toàn bộ ảnh để lọc ra các black run đủ dài, các black run này sẽ được nhóm lại để tạo thành các đường thẳng.

2.1.4.2 Thuật toán xác định đƣờng thẳng

Thuật toán được thực hiện qua bốn bước

Bƣớc 1: Duyệt toàn bộ ảnh, loại bỏ các black run ngắn, chỉ giữ lại các black run đủ dài( lớn hơn ngưỡng)

Bƣớc 2 : Hợp các black run gần nhau lại để tạo thành đường thẳng.

Bƣớc 3 : Sau khi hợp các black run lại thành đường thẳng, thực hiện lại bước lọc với ngưỡng nhận dạng lớn hơn để giữ lại các đường thẳng đủ dài.

Bƣớc 4 : Lọc các đường thẳng còn lại dựa theo tỉ lệ giữa độ rộng và độ cao của đường. Các đường thẳng đạt tiêu chẩn là các đường thẳng có tỉ lê : độ rộng/độ cao > 10 hoặc độ cao/độ rộng > 10 ( bởi vì các đường thẳng của ta có đặc điểm là dài và hẹp). Bước này sẽ lọc được chữ hoặc hình ảnh có kích cỡ lớn trong văn bản.

Kết quả của việc lọc các đường thẳng :

Hình 2-11: (a)ảnh sau khi tiền xử lý; (b)ảnh sau khi lọc các black run ngắn theo chiều ngang (c) ảnh sau khi hợp cách black run dài theo chiều ngang;

(d) ảnh sau khi lọc các black run ngắn theo chiều thẳng đứng (e)ảnh sau khi hợp các black run dài theo chiều thẳng đứng

(f)các đƣờng thẳng xác định đƣợc trên ảnh

Trong việc lọc các đường thẳng, nếu lấy ngưỡng nhận dạng quá lớn thì các đường thẳng thu được sẽ không đầy đủ, ngược lại nếu lấy ngưỡng quá nhỏ thì sẽ còn lại rất nhiều nhiễu do chữ và các đối tượng đồ họa. Khi xử lý với những ảnh chứa các

đường thẳng có độ dày ≥ 2 pixel, ta có thể lấy ngưỡng tương đối lớn mà không làm mất thông tin trong việc nhận dạng đường. Tuy nhiên, bởi vì chúng ta phải xử lý với cả những ảnh scan có chất lượng kém nên cần tìm ra giải pháp để khắc phục việc mất thông tin.

2.1.4.3 Biện pháp khắc phục việc xác định các đƣờng thẳng mờ hoặc đứt đoạn

Theo trên, ta đã coi đường thẳng như một tập các điểm đen kề nhau. Để giảm bớt việc mất thông tin trong những trường hợp đường thẳng bị đứt đoạn hoặc quá mờ, ta có thể xem xét lại đường thẳng như là một tập các điểm đen có thể rời rạc, tuy nhiên phải thỏa mãn điều kiện : mật độ điểm đen trên một đường phải lớn hơn một ngưỡng α xác định ( trong bài toán này chúng tôi lấy là 0.7).

Kết quả của việc xác định đường thẳng có tính đến mật độ :

Hình 2-12: (a) đƣờng thẳng mờ và bị đứt doạn (b) đƣờng thẳng xác định đƣợc khi tính đến mật độ

Việc tính đến mật độ của đường thẳng có thể dẫn đến việc nhận dạng lầm một số dòng chữ đậm hoặc viết sát là đường thẳng. Do đó sau khi xác định các đường thẳng theo thuật toán ở trên (mục 2.2.1.1) với ngưỡng nhận dạng tương đối lớn để lọc hết các đối tượng chữ và đồ họa ta mới áp dụng biện pháp này trên các đường thẳng xác định được để giảm bớt mức độ mất mát thông tin.

Một vấn đề nữa trong việc tính đến mật độ của đường thẳng đó là việc dồn cục không đồng đều về mật độ dẫn đến việc xác định nhầm độ dài đường thẳng. Như hình dưới, số đường thẳng cần xác định là hai đường mặc dù mật độ điểm giữa điểm đầu và điểm cuối của đường thẳng xác định được vẫn lớn hơn ngưỡng.

Hình 2-13: xác định nhầm đƣờng thẳng do phân bố không đều trên đƣờng

Để giải quyết vấn đề này, ta chỉ xét mật độ trên các đoạn ngắn, sau đó ghép các đoạn ngắn đó lại với nhau để tạo thành đường. Như vậy, theo cách này thì: một đường được coi là đường thẳng nếu nó là tập hợp các điểm đen theo chiều thẳng đứng

hay theo chiều ngang với một độ dài đủ lớn, các điểm đen này có thể không cần chạm nhau tuy nhiên phải đảm bảo mật độ của đường và của từng phần cục bộ trên đường lớn hơn một ngưỡng xác định.

Hình 2-14: chia đƣờng thẳng thành các đoạn ngắn rồi tính mật độ trên các đoạn này 2.1.4.4 Đối chiếu các đƣờng thẳng xác định đƣợc với Form mẫu.

Một phần của tài liệu Tách và nhận dạng số viết tay trong phiếu nhập dữ liệu (Trang 28)

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

(94 trang)