Hình 2.1. Kiến trúc Tesseract [11,12]
Quá trình làm việc của Tesseract [11,12] được mô tả tóm tắt như sau: - Adapting thresholding:: thực hiện việc nhị phân hóa ảnh đầu vào (ảnh
màu hoặc ảnh xám...) dựa trên việc xác định ngưỡng xám tương thích. Tesseract cung cấp 2 phương pháp xác định ngưỡng xám: ngưỡng otsu, ngưỡng tương thích cục bộ isodata.
- Page layout analysis: thuật toán phân tích bố cục trang qua việc dò tab- stop [13] được đề xuất và cài đặt trong Tesseract bởi Ray Smith nhằm xác định các block text, vùng ảnh....
Hình 2.2. Ảnh trước và sau phân tích bố cục [13]
- Text-line finding: Thuật toán tìm dòng text [10] được thiết kế dò các dòng text trong block mà không phụ thuộc vào độ nghiêng của ảnh tài liệu ban đầu. Khi đó các block text được tổ chức thành các dòng text.
- Baseline fitting: Với mỗi dòng text tìm được, Tesseract xem xét và ước lượng để tìm ra các đường cap line, mean line, baseline, descent line thích hợp.
Hình 2.3. Fitting cap line, mean line, baseline, descent line
- Fixed pitch detection and chopping: Trên mỗi dòng text, Tesseract kiểm tra để xác định có phải là fixed pitch text (phần text mà mỗi ký tự có độ rộng không đổi) hay không. Tại những nơi xác định được fixed pitch text, Tesseract sẽ bổ các từ thành các ký tự.
Hình 2.4. Ví dụ bổ fixed pitch thành các ký tự
- Proportional (non-fixed pitch) word finding: Chữ in nghiêng, chữ số, dấu chấm câu...là những yếu tố tạo ra các trường hợp đặc biệt về khoảng cách giữa các ký tự cũng như giữa các từ trên các dòng text. Ví dụ khoảng trống giữa hàng chục và hàng đơn vị trong “11.9%” bằng khoảng trống chung nhưng lại lớn hơn khoảng cách hai từ “erated” và “junk”. Hay là hầu như không có khoảng trống giữa các ký tự trong các từ “of” và “financial”. Việc bổ các proportional text thành các từ sử dụng tính chất khoảng cách và khoảng cách mờ.
Hình 2.5. Sự khác nhau trong khoảng các từ
- Word recognition: Các khối được chia cắt nhỏ nhất ở bước trên được gọi là blod. Quá trình nhận dạng từ trải qua 2 pha. Pha đầu tiên của quá trình nhận dạng cố gắng nhận dạng lần lượt từng blod. Với mỗi blod thỏa mãn sẽ được chuyển đến một phân lớp tương thích (adaptive classifier) như là dữ liệu tập huấn. Phân lớp tương thích được tăng thêm khả năng làm cho việc nhận dạng chính xác hơn cho những phần text phía sau. Các từ không được nhận dạng tốt ở pha thứ nhất sẽ được nhận dạng lại ở pha thứ hai bằng cách bổ các từ này thành các ký tự nhỏ hơn, nhận dạng và kết hợp lại. Trong quá trình nhận dạng từ, kết hợp với việc phân tích ngữ cảnh và cú pháp để cho ra kết quả chính xác hơn.