Theo như đặc trưng 4 trong phần 3.2 các thành phần tuyến tính của ảnh thường được xác định trước. Khái niệm thành phần tuyến tính (LC) để ám chỉ đến các đối tượng có nét bút là các điểm ảnh đen nằm liên tiếp khi đi theo một hướng nhất định. Trong phần này, thuật toán sẽ duyệt từ trên xuống dưới quét theo từng hàng để tìm các thành phần LC, một LC sẽ được xác định là một đối tượng ảnh khi mà độ dài của nó lớn hơn một tham số T1 được đặt trước. Cũng làm tương tự như vậy nhưng sẽ quét theo chiều thẳng đứng từ trái sang phải để tìm những thành phần LC. Các thành phần LC có góc nghiêng là
±22.5, ±45, ±67.5 cũng sẽ được xác định. Tất cả các đối tượng LC được xác định không phải là văn bản sẽ được đưa vào lớp các đối tượng ảnh.
Trường hợp hình chữ nhật bao của đối tượng văn bản có chiều rộng hẹp xấp xỉ một điểm ảnh thì đối tượng đó được cho là một đường kẻ thẳng đứng hay ngang có độ rộng là 1 điểm ảnh và chúng được coi như là một đối tượng ảnh. Do đó phần lớn các điểm nhiễu (dấu chấm câu) hay các LC ngắn (dấu gạch ngang, gạch nối) sẽ bị coi là những đối tượng ảnh.
Nế u các đối tượng đường thẳng không phải là các đường kẻ ngang hoặc đường kẻ dọc sẽ được minh họa trong Hình 3.5 dướ i đây thì m ột phép toán kéo giãn đơn giản (tương đương với phép quay một góc α) sẽ được thực hiện trên các đối tượng đường thẳng này.
Với một điểm ảnh có toạ độ (i, j) ta tính giá trị B = (tgα*j) trong đó α là góc nghiêng của đường thẳng so với mặt phẳng ngang. Khi đó điểm ảnh có
toạ độ (i, j) sẽ được di chuyển tới toạ độ (i+B, j). Hình 3.5 b là kết quả của phép kéo giãn Hình 3.5 a khi góc α = 22.5 độ.Hình 3.5c với góc α = 45 độ. Hình 3.5d với góc α = 67.5 độ. Rõ ràng rằng đường kẻ có góc nghiêng 22.5 trên Hình 3.5a sẽ chuyển thành đường kẻ ngang trên Hình 3.5 b. Sau khi thực hiện phép kéo giãn ta có thể thực hiện quét từng dòng để xác định các đường kẻ ngang. Tham số để xác định xem đường thẳng có là một đối tượng ảnh hay không khi đó sẽ là T1*cosα, bởi vì sau khi thực hiện phép kéo giãn độ dài của đường thẳng sẽ thay đổi. Cuối cùng là thực hiện phép kéo giãn ngược lại để khởi tạo lại ảnh ban đầu với góc nghiêng là góc đối của phép kéo giãn vừa thực hiện. Hai phép biến đổi trên không làm mất thông tin của ảnh mà chỉ tìm được những đường thẳng thích hợp để xác định chúng là các đối tượng ảnh.
Nếu như một bức ảnh được số hoá chính xác thì phần lớn đường kẻ nằm ngang hoặc nằm thẳng đứng với góc nghiêng là 0 hay 90 độ, hay nghiêng một góc 45 độ. Do đó phần lớn các đường kẻ sẽ được xác định một cách đơn giản chứ không cần phải thực hiện phép biến đổi như ở trên, điều đó sẽ giúp nâng cao tốc độ xử lý của hệ nhận dạng.
3.3.2. Phân tích các thành phần liên thông của nét bút
Khi đã xác định được các thành phần tuyến tính là các đối tượng ảnh ở bước trên thì tài liệu vẫn còn các đối tượng ảnh, là những đối tượng có kích thước khác biệt. Chúng ta sẽ xem xét từng thành phần liên thông bắt gặp khi quét toàn bộ ảnh theo từng dòng. “Thành phần liên thông” (CCs) [4] nghĩa là các điểm ảnh màu đen thuộc về một vùng giới hạn liên thông tám, trong đó mỗi điểm ảnh đen sẽ liên thông tám với một điểm ảnh đen khác trong vùng giới hạn. Trong CCs các điểm ảnh liên thông tám có thể thuộc về đối tượng văn bản hay đối tượng ảnh và nằm trong vùng giới hạn hình chữ nhật. Mỗi một hình bao chữ nhật sẽ là một thành phần CCs. Một thành phần CCs sẽ nắm
giữ các thông tin sau: toạ độ nhỏ nhất và lớn nhất của hình chữ nhật, số lượng điểm ảnh màu đen. Phương pháp phân tích CCs như sau
1. Thành phần CCs được tạo ra sau khi đã xác định được các thành phần LC và xoá chúng khỏi tài liệu.
2. Thứ hai là chúng ta sẽ sử dụng thông tin độ đậm đặc của CCs để xác định các đối tượng ảnh.
Ngay khi CCs được xác định là một đối tượng ảnh, chúng sẽ được đưa vào lớp đối tượng ảnh và xoá chúng khỏi tài liệu ảnh, khi đó tài liệu ảnh chỉ bao gồm các đối tượng văn bản.
Các thành phần liên thông – CCs được tạo ra nhờ sử dụng phương pháp tách cạnh, toạ độ các điểm ảnh của vùng bao giới hạn của một CCs được ký hiệu là (Xi, Yi), i = 1, 2, 3, .., n, trong đó n là tổng số điểm ảnh bao vùng giới hạn. Các thông số quan trọng sau sẽ được tính toán:
1) MaxBox, biểu diễn toạ độ lớn nhất và nhỏ nhất hình bao chữ nhật của CCs
2) WBRatio, biểu diễn độ đậm đặc của các điểm ảnh đen trong vùng giới hạn của MaxBox.
3) HWRatio biểu diễn tỉ lệ giữa hai chiều của vùng giới hạn MaxBox. Nếu HWRatio < 1 thì đặt HWRatio = 1 / HWRatio.
Khi đó CCs sẽ được coi là một đối tượng ảnh nếu các thông số trên thoả mãn 1 trong các điều kiện sau:
A) WBRatio ≤ T2, B) HWRatio ≥ T3, hoặc
C) Độ dài của cạnh dài hơn của MaxBox ≤ T4.
Trong đó T2, T3 và T4 là các tham số được thiết lập trước giống như T1. Điều kiện A để xác định các đường kẻ mà có góc nghiêng không nằm trong các trường hợp 0, ±22.5, ±45, ±67.5 hay ±90, bởi vì số lượng các điểm
ảnh trắng trong MaxBox của các đường kẻ nghiêng sẽ nhiều hơn so với CCs của văn bản. Hơn thế nữa điều kiện A còn để xác định các hình có kích thước lớn và có WBRatio nhỏ. Sử dụng điều kiện B để xác định các hình dài nhưng có bề rộng nhỏ. Sử dụng điều kiện C để xác định các đối tượng ảnh mà nhỏ hơn cả ký tự văn bản, chẳng hạn các điểm nhiễu.
Sau bước này, một số lượng lớn các đối tượng ảnh sẽ được xác định. Tuy nhiên có một số thành phần của văn bản cũng bị xoá đi vì được xác định là đối tượng ảnh, chẳng hạn như dấu chấm câu (.), nét bút của một số ký tự Trung Hoa, dấu chấm trên chữ cái i hay một số dấu trong kiểu chữ Tiếng Việt. Tuy nhiên dấu chấm rất giống như một điểm nhiễu, có thể khôi phục đối tượng này ở những bước xử lý sau nếu như nó nằm trong môi trường văn bản. Việc mất một số nét của ký tự Trung Hoa cũng sẽ được giải quyết ở một số bước sau. Để không làm mất dấu của ký tự Tiếng Việt cần điều chỉnh tham số T4 thích hợp để không loại bỏ dấu của Tiếng Việt.
3.3.3. Kết hợp các nét ký tự tạo thành các chuỗi văn bản
Trong đặc trưng thứ 2 của phần 3.2 độ dài của khoảng trắng giữa các ký tự hay giữa các từ thường là nhỏ, do đó chúng ta có thể nhóm chúng cùng với nhau. Nếu như khoảng cách giữa hai điểm ảnh màu đen là nhỏ, chẳng hạn như số lượng điểm ảnh trắng giữa chúng nhỏ hơn một tham số T5, chúng ta sẽ thay thế các điểm ảnh màu trắng giữa chúng là màu đen. Điều này giống như chúng ta dùng bút tô màu đen để tô lên các điểm ảnh trắng. Hướng của bút lông này là theo chiều ngang hoặc chiều dọc. Hình 3.6 chỉ ra một thí dụ về việc dùng bút để tô các điểm ảnh. Mục đích bước này là xây dụng các thành phần liên thông mới (NCCs) bằng việc kết hợp nét bút của các ký tự, NCCs được xây dựng dựa vào đặc trưng 2 của phần 3.2. Có thể tóm tắt lại mục đích của bước này như sau đây:
1. Những dấu chấm (.), ký hiệu “-“, và một số nét bút bị xoá đi ở bước trước có thể khôi phục lại được.
2. Việc kết hợp các nét bút và các ký tự sẽ giúp dễ dạng nhận dạng vùng văn bản, bởi vì một chuỗi văn bản được kết hợp tạo thành NCCs sẽ thể hiện tính đặc trưng của văn bản rõ rảng hơn.
3. Thao tác dùng bút lông để tô những điểm ảnh thích hợp sẽ giúp phân tách các đối tượng ảnh một cách rõ ràng hơn và giúp các bước xử lý sau này dễ dàng phân tách hai đối tượng văn bản và ảnh.
Hình 3.6 Dùng bút để tô các điểm ảnh thoả mãn (T5 = 12 với kich thước cỡ chữ là 20).
3.3.4. Thực hiện các phép toán hình thái
Thự c hiệ n cá c phé p toá n hì nh thá i nhằ m mục đích loại bỏ khả năng có thể xảy ra khi ký tự tiếp xúc với đối tượng ảnh hay các chuỗi ký tự tiếp xúc với nhau và sau đó xây dựng lại thành phần NCCs mới để cuối cùng phân tách chuỗi văn bản và ảnh. Quá trình này gồm hai thao tác : một thao tác co ảnh và một thao tác giãn ảnh.
3.3.5. Phân tích các thành phần liên thông mới
Bước này thực hiện giống như bước 3.3.2 tuy nhiên nó sẽ làm việc với NCCs thay vì CCs như trong 3.3.2. Một cách tương tự, chúng ta sẽ duyệt qua tất cả các điểm biên của NCCs bằng cách quét ảnh theo từng dòng và lấy ra toạ độ của tất cả các điểm biên. Ba thông số quan trọng, MaxBox2, WBRatio2, HWRatio2 sẽ được tính. Thành phần NCCs sẽ được coi như là một đối tượng ảnh khi các thông số trên thoả mãn 1 trong những điều kiện sau:
• WBRatio2 ≤ T6,
• Độ dài của cạnh dài hơn trong MaxBox2 ≤ T7,
• Độ dài của cạnh nhỏ hơn trong MaxBox2 ≤ T8, hay
• Độ dài của cạnh nhỏ hơn trong MaxBox2 ≤ T7 và HWRatio2 ≥ T9 Trong đó T6, T7, T8 và T9 là các các tham số ngưỡng cho trước .
Trong bước này hướng của chuỗi văn bản cũng sẽ được đánh giá. Trường hợp WBRatio2 không đủ cao, chúng ta sẽ tìm cách thu nhỏ lại hình chữ nhật bao của NCCs. Chính vì lý do đó, các điểm biên trong ảnh của NCCs sẽ được quay để tìm hình bao chữ nhật nhỏ nhất. Trong thuật toán này mỗi lần sẽ được quay 10 độ, vì vậy cần có 8 lần quay cho mỗi NCCs. Sau đó hình bao chữ nhật nhỏ nhất sẽ được quay ngược lại ngần ấy độ, kết quả là hình chữ nhật nghiêng sẽ là hình bao nhỏ nhất của NCCs và khi đó góc của hình chữ nhật nghiêng sẽ là hướng của chuỗi ký tự.
Sau bước này, toàn bộ các đối tượng ảnh được nhận dạng sẽ được đưa vào lớp đối tượng ảnh.
3.3.6. Biểu diễn cấu trúc thông tin của các chuỗi văn bản
Trong 3.3.5, khi một đối tượng NCCs được coi là một chuỗi ký tự, hình bao MaxBox2 sẽ được biểu diễn dưới cấu trúc sau:
Char_Box { double Angle; int Coe;},
Trong đó Angle biểu diễn hướng của chuỗi ký tự. Khi Angle = 0, hình bao là hình chữ nhật và Coe biểu diễn toạ độ góc trên bên trái và góc dưới bên phải của hình bao. Khi Angle > 0, hình bao sẽ là một hình chữ nhật nghiêng và Coe biểu diễn toạ độ góc trên bên trái và góc dưới bên phải. Kết quả của bước này là trích ra được các thông tin từ vùng giới hạn chuỗi ký tự, cũng chính là ghi lại thông tin các vùng bao hình chữ nhật từ tài liệu ảnh ban đầu. Nếu dựa vào các thông tin này chúng ta lấy ra các vùng giới hạn của chuỗi ký tự từ ảnh baban đầu, phần còn lại của ảnh khi đó sẽ là các đối tượng ảnh.
Chương này đã trình bày một thuật toán phân tách văn bản và ảnh một cách hiệu quả. Thuật toán sẽ hoạt động tốt và hiệu quả ở một số khía cạnh sau:
- Nó có thể phân tách ảnh và văn bản trong trường hợp 2 đối tượng này tiếp xúc với nhau, điều này dường như có thể rất khó với các thuật toán khác, chẳng hạn như [3].
- Có thể nhận dạng khá tốt các ký tự của Trung Hoa. - Việc xác định hướng của văn bản là rất dễ dàng.
- Phần lớn các tham số đều được tính qua đại lượng Hav, đại lượng này cho phép có thể thay đổi được. Điều này giúp cho thuật toán khá là thuận tiện. Kết quả ảnh thu được của thuật toán cũng sẽ không bị ảnh hưởng lớn vào Hav
khi mà giá trị Hav nằm trong một khoảng giá trị là độ cao trung bình của một ký tự.
- Thuật toán cũng sẽ không bị ảnh hưởng khi ảnh có nhiều điểm nhiễu.
Mặ t khá c cũ ng sẽ dễ dàng nhận thấy thuật toán cũng còn một số điểm hạn chế. Chúng ta có thể tóm tắt lại các loại lỗi mà thuật toán gặp phải như sau:
- Khi mà độ đậm đặc của đối tượng ảnh quá cao hay độ đậm đặc của vùng văn bản thấp sẽ dẫn đến nhận dạng nhầm đối tượng ảnh là văn bản.
- Một số ký hiệu văn bản đặc biệt như “.”, “1”, “l” hoặc “I” hay các đường kẻ gạch ngang thường cho kết quả không tin cậy.
- Đối với sơ đồ có các hình mũi tên, thông thường thuật toán sẽ không chuyển được các hình mũi tên theo chiều ngang và chiều dọc.
- Nếu hai chuỗi ký tự được đặt song song và đặt quá gần nhau, chúng có thể được nhóm lại như là một chuỗi ký tự. Bởi vì thuật toán sẽ sự dùng hình bao chữ nhật để trích ra các ký tự, vì vậy tất cả các thành phần nằm trong hình
bao sẽ được hiểu là một thành phần văn bản. Lỗi sẽ xảy ra khi có một vài thành phần của đối tượng ảnh nằm trong hình bao đó.
Dù vẫn còn một số hạn chế trong việc nhận dạng một số đối tượng nhưng có thể khắc phục được vấn đề này dựa vào việc điều chỉnh tham số. Hơn thế nữa trong một số tình huống việc thực hiện chuyển tất cả các thành phần tuyến tính thoả mãn điều kiện sang thành đối tượng ảnh có thể để lại những điểm ảnh rời rạc thuộc đối tượng ảnh mà các bước thực hiện sau này không có khả năng nhận dạng chúng là đối tượng ảnh.
Dựa trên sự phân tích những đặc trưng khác nhau của các đối tượng ảnh và văn bản, thuật toán sẽ điều chỉnh với những sự thay đổi về kiểu ký tự, kích thước ký tự, loại ảnh và hướng của chuỗi ký tự trong văn bản. Thuật toán có khả năng nhận dạng các ký tự Trung Hoa, ký tự Phương Tây, ký tự Tiếng Việt và một số ký hiệu đặc biệt khá thành công. Nó có một số hạn chế đối với ảnh có các cấp độ nhiễu khác nhau và có khả năng phân tách với trường hợp văn bản và ảnh tiếp xúc nhau. Nếu được cải tiến ở tốc độ xử lý và xây dựng cách tính tham số hợp lý thì thuật toán sẽ thích hợp trong việc sử dụng để viết những ứng dụng nhận dạng trong văn phòng như OCR, CAD/CAM.
CHƢƠNG 4
PHƢƠNG PHÁ P PHÂN TÍ CH BẢNG T- RECS TRONG TRANG TÀ I LIỆ U Ả NH 4.1.Giới thiệu
Hệ thống nhận dạng quang học (OCR) trướ c đây chỉ là những phép chuyển đổi đơn giản một tài liệu ảnh sang một tài liệu văn bản bao gồm các từ nhưng ngà y nay hệ thố ng OCR đã tiế n xa hơn trướ c , ngoài việc chuyển tài liệ u ả nh sang tà i liệ u văn bả n nó còn tập trung vào việc xác định đúng những cấu trúc đặc trưng trong tài liệu.
Mục đích của những hệ thống nhận dạng cấu trúc không chỉ đơn giản là chuyển một tài liệu in thành một tài liệu điện tử mà hơn thế nữa còn là xây dựng những quá trình xử lý kết hợp chẳng hạn như: tự động chép nội dụng, đánh chỉ mục và phân loại [13]. Do đó việc quan trọng là kèm theo nội dung của tài liệu cũng phải trích chọn ra những cấu trúc đi kèm với từng nội dung đó.
Khi đề cập đến vấn đề nhận dạng cấu trúc trong các tài liệu có chứa dữ liệu bảng biểu sẽ có hai hướng tiếp cận khác nhau: cách tiếp cận thứ nhất đó là xác định chính xác cấu trúc của bảng, bao gồm các ô trong bảng, cách