38
2.1.2. Hướng tiếp cận Bottom-up
a) Tổng quan
Bottom-up bắt đầu với những phần nhỏ và tìm cách nhóm chúng vào những phần lớn hơn, liên tiếp tới khi mọi khối trên trang được xác định. Thực hiện phép nhóm bottom-up các phần văn bản nhờ một loạt thao tác làm trơn theo loạt, theo các hướng. Kết quả thu được là các vùng ON và ta phân tích các vùng liên thông trên đó. Tính toán một vài số liệu trên những vùng liên thông này, ví dụ khoảng chiều cao và chiều dài các từ. Những thông tin đặc trưng này được dùng để phân biệt các khối văn bản và phân biệt phần văn bản và phần đồ họa. Esposito đã dùng cách tiếp cận tương tự, nhưng trước hết xác định hợp biên của từng ký tự, sau đó thao tác trên hợp biên này, thay vì trên từng pixel nhằm giảm lượng tính toán. Một số thuật toán tiêu biểu cho hướng tiếp cận này là Smearing[15], Docstrum[14], Voronoi[16].
Phương pháp Docstrum bó cụm khác thực hiện với k lân cận gần nhất để nhóm các ký tự và các dòng văn bản và các khối cấu trúc (Hình 2.8). Trước tiên, với mỗi phần tài liệu, xác định các đường nối k lân cận gần nhất với các phần xung quanh. Khoảng cách và góc của các đường nối này được vẽ trên các biểu đồ. Vì hầu hết các đường nối được tạo giữa các ký tự cùng dòng, góc tối đa sẽ chỉ ra góc nghiêng và khoảng cách tối đa sẽ là khoảng cách giữa các ký tự. Sử dụng các ước lượng này, các dòng văn bản được xác định như nhóm các ký tự và các từ dọc theo hướng của trang. Các dòng văn bản được nhóm thành các khối sử dụng đặc tính của tài liệu là các dòng cùng khối thường gần nhau hơn các dòng khác khối.
39
Hình 2.8: Phương pháp Dostrum cho phân tích định dạng trang (a) Một phần của nội dung văn bản gốc. (b) Các thành phần lân cận gần nhất được
xác định. (c) Các hình chữ nhật tối thiểu tạo nên nhóm láng giềng gần nhất từ đó xác định được dòng văn bản.
40
b) Thuật toán Smearing
Thuật toán Smearing Còn gọi là RLSA(The run-length smearing algorithm)[15], thuật toán này dựa trên việc làm nhòe/mờ các ảnh điểm đen trên một hình ảnh nhị phân. Quá trình này sẽ làm mờ các điểm ảnh đen trên một trang mà theo đó các điểm ảnh trắng nhỏ sẽ bị làm đen.
Thuật toán được mô tả cụ thể như sau: Input: Ảnh sau khi được quét: I
Output: Ảnh J chứa các vùng thông tin được xác định.
Bước 1: Nhị phân ảnh đầu vào.
+ Các điểm trắng (white pixels) được thể hiện bằng giá trị 0. + Các điểm đen (black pixels) được thể hiện bằng giá trị 1.
Bước 2: I1 Ảnh I được làm mờ theo phương ngang với giá trị ngưỡng Th.
Bước 3: I2 Ảnh I được làm mờ theo phương thẳng đứng với ngưỡng Tv.
Bước 4: J I1AND I2.
Bước 5: Làm mờ ảnh J theo phương ngang với ngưỡng Ts .
Bước 6: Liên kết các các thành phần liên thông thành các vùng văn bản.
Việc làm mờ sẽ được thực hiện dựa trên 2 quy tắc đơn giản:
Quy tắc 1: Bit 0 sẽ được chuyển thành 1 nếu số liền sát 0 nhỏ hơn hoặc bằng
với ngưỡng C nhất định (nếu độ dài một chuỗi của 0 nhỏ hơn hoặc bằng với một ngưỡng, thì 0 sẽ được đổi thành 1).
Quy tắc 2: Bit 1 không đổi.
Xem xét ví dụ dưới đây, khi 0 tượng trưng cho điểm ảnh trắng và 1 tượng trưng cho điểm ảnh đen, dòng đầu tiên thể hiện chuỗi điểm ảnh nguyên bản và dòng thứ 2 là kết quả thu được sau khi sử dụng phương pháp làm mờ.
41
Ngưỡng làm mờ C=4
0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1
Đầu tiên, toàn bộ dữ liệu hình ảnh sẽ được làm mờ theo phương ngang với ngưỡng Th=300 cho ra hình ảnh làm mờ đầu tiên. Thực hiện quá trình tương tự theo phương thẳng đứng với ngưỡng Tv=500. Các ngưỡng này đã được cố định qua kinh nghiệm thực hành. Sau đó, 2 hình ảnh nhị phân này sẽ được kết nối lại bởi phép toán điểm ảnh thông minh AND. Sau đó hình ảnh nhị phân này sau đó sẽ được làm trơn một lần nữa bằng thuật toán làm mờ với ngưỡng Ts=300. Sau đó ta sẽ thu được hình ảnh cuối cùng như sau: