Phát hiện ký tự quang học (OCR) là một công nghệ thuộc lĩnh vực nhận dạng, công nghệ này được áp dụng để nhận dạng các chuỗi kỹ tự dựa trên cơ sở là các bảng chữ cái. Trên thực tế các nước lại có một kiểu chữ khác nhau, các ký tự trong bảng chữ cái cũng thường có các kiểu viết khác nhau. Do đó có sự đa dạng của các nét chữ viết tay, của các kiểu phông chữ, kích thước chữ khác nhau. Vì thế để nhận dạng ra các chuỗi ký tự đa dạng như vậy người ta phải xây
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
dựng các quy tắc xác định để nhận biết từng ký tự. Theo đó OCR luôn cố gắng tích hợp cả kỹ thuật, thuật toán và xây dựng hệ thống phần mềm để từng bước nhận dạng được chữ viết với khả năng ngày một giống như con người hơn. Tuy nhiên, với dữ liệu đầu vào là các chữ viết, nó được tạo ra tự do, không theo một quy tắc xác định, một sự ràng buộc nào đó về độ lớn, đường nét, độ đậm nhạt, các nét đứt… khi chúng ta viết chữ. Ngay cả khi chúng ta đánh máy thì mỗi loại văn bản lại có quy định bởi các phông chữ, cỡ chữ và cách trình bày khác nhau. Đây chính là khó khăn rất lớn cho OCR trong khi nhận dạng nếu gặp phải tài liệu chữ viết có nhiều điểm nhiễu, các nét đứt, các chữ viết không được nắn nót. Ví dụ như số “ 6 “ và số “ 0 “ rất dễ nhầm lẫn nhau, chữ “ u” giống chữ “ v” khi chữ viết không được nắn nót. Và trên thực tế sẽ càng khó khăn hơn khi các từ ngữ lại thường được xây dựng cả con số lẫn các chữ cái ví dụ như số tài khoản ngân hàng do máy tính tạo ra hoặc khi người ta viết tay các ký tự dính nét nhau khi tạo thành một từ.
Hình 1.9: Để phân tách và nhận dạng hai số 4,2 có các nét nối liền nhau như trên dễ gây nhầm lẫn. Nguồn Dengel (2001)
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 1.10: Các ký tự viết bằng tay sẽ rất dễ nhầm lẫn (Nguồn Dengel 2001)
Thuật toán OCR thường có hai phần chính: trích chọn đặc trưng và phân loại.
Một cách cơ bản, quá trình OCR gán một ảnh ký tự vào một lớp bằng cách sử dụng thuật toán phân loại dựa trên những đặc trưng được trích chọn và mối liên hệ giữa các đặc trưng đó. Độ đo tương tự là cơ sở để xác định một đối tượng có thuộc một lớp ký tự hay không. Thông thường sẽ có một thành phần thứ ba đó là
quá trình xử lý dựa trên ngữ cảnh để sửa lại những lỗi của OCR. Dưới đây sẽ trình bày ngắn gọn ba thành phần của OCR.
1.1.5.1. Trích chọn đặc trƣng
Các tính năng của đối tượng được trích xuất và sắp xếp dưới dạng những độ đo. Song song với quá trình này, người ta xây dựng các lớp dữ liệu chứa các ký tự bằng cách tạo ra một mô hình chung nhất cho các lớp đó. Từ đó tiếp tục thực hiện quá trình chọn lựa tính năng đặc trưng bằng cách tìm kiếm và so sánh các
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
thuộc tính của từ ngữ nhận dạng trên cơ sở các lớp đã được xây dựng trước đó. Và do đó quá trình trích chọn đặc trưng sẽ cố gắng tìm ra các thuộc tính dựa trên nguyên mẫu đã xây dựng cho các lớp. Các đặc trưng chung như, số lượng các lỗ hổng trong ký tự, mặt lõm của đường viền bên ngoài, sự nhô ra của điểm cao nhất và các đặc trưng nội tại, các điểm cắt ngang, các điểm kết thúc, các góc .v.v.. sẽ được sử dụng. Mỗi ảnh ký tự sẽ trích ra các đặc trưng trên và phân loại chúng vào lớp tương ứng.
1.1.5.2. Phân loại
Trong phương pháp phân loại dựa trên thống kê, những mẫu ảnh ký tự được biểu diễn bằng các điểm trong không gian đặc trưng đa chiều. Mỗi một thành phần trong không gian đa chiều biểu diễn cho một độ đo đặc trưng. Quá trình phân loại sẽ chia không gian đa chiều thành các vùng tương ứng với các lớp ký tự và chúng được gán nhãn tương ứng.
Một thí dụ về không gian đặc trưng được sử dụng để phân loại 50 ký tự vào 5 lớp khác nhau {C, E, T, X, Y} được chỉ ra trên hình 1.11. Không gian đặc trưng dựa trên hai thuộc tính, phần trăm của các điểm ảnh màu đen nằm trên nét dọc (SV) và nét ngang (SH) của ký tự. Nét bút của ký tự được tách ra thành các nét ngang và nét dọc. Một điểm ảnh có thể thuộc một hoặc cả hai nét trên, do đó
SV + SH có thể lớn hơn 100%. Ký tự E và T có thể coi là có giá trị SV và SH lớn nhất; ký tự C có giá trị SV và SH xấp xỉ 50%; ký tự X và Y có giá trị SH được coi như là nhỏ nhất. Khi đó phân loại các ảnh ký tự sẽ dựa vào độ đo khoảng cách từ nó đến các lớp đã được huấn luyện.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 1.11: Các cấu trúc đặc trưng nét, tính lõm, lỗ hổng, các điểm cắt ngang và kết thúc có thể được sử dụng làm các chiều của không gian đặc trưng để phân loại ký tự. Nguồn Dengel (2001)
Đối sánh với giá trị tập huấn luyện là một phương pháp thuần tuý dùng để phân loại và nó cũng được coi là một phương pháp phổ biến nhất. Các điểm ảnh riêng rẽ sẽ được sử dụng trực tiếp như là những đặc trưng. Độ đo tương tự sẽ được thay thế cho độ đo khoảng cách. Độ đo sẽ được tính dựa trên việc đếm số lượng điểm ảnh thoả mãn một tính chất nào đó (số lượng điểm ảnh đen và trắng của ảnh dữ liệu trùng với số lượng điểm ảnh đen và trắng tương ứng nằm trên tập huấn luyện). Phương pháp đối sánh với giá trị tập huấn luyện còn có cách gọi khác là cực đại hoá sự tương quan. Tương tự như vậy, chúng ta cũng đếm số điểm ảnh không thoả mãn (số lượng điểm ảnh đen của ảnh dữ liệu trùng với số lượng điểm ảnh trắng nằm trên tập huấn luyện và ngược lại). Lớp với số lượng
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
điểm ảnh không thoả mãn là ít nhất sẽ được chọn làm lớp cho đối tượng kiểm tra. Phương pháp như vậy gọi là cực tiểu hoá độ lệch. Số lượng điểm ảnh thoả mãn và không thoả mãn có thể quy đổi được và từ đó tính ra được độ tương tự của đối tượng so với tập huấn luyện. Đối sánh với tập huấn luyện là một phương pháp hiệu quả khi mà sự thay đổi trong một lớp đối tượng là do các điểm nhiễu thêm vào.
Hình 1.12: Các đặc trưng của ảnh ký tự được trích ra
Quy tắc K láng giềng gần nhất (K – Nearest Neighbor Rule )(K – NNR) là một luật quyết định nổi tiếng được sử dụng rộng rãi trong bài toán phân loại của nhận dạng. Tỉ lệ lỗi khi phân loại dùng K – NNR đảm bảo cho ra tỉ lệ lỗi không vượt quá hai lần tỉ lệ lỗi Bayes (tỉ lệ lỗi đạt được tối thiểu khi biết sự phân bố dữ liệu) và sẽ tiến tới tỉ lệ lỗi Bayes với một giá trị nào đó của K. Quy tắc K – NNR
sẽ đặc biệt hiệu quả khi mà phân bố xác suất của các biến đặc trưng là chưa xác định. Chọn lọc các tập huấn luyện là một phần quan trọng của quy tắc láng giềng gần nhất (1 – NNR).
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Mặc dù nhiều vấn đề đã được giải quyết một cách thành công nhờ sử dụng phương pháp thống kê, nhưng vẫn có những cách biểu diễn các mẫu hiệu quả dưới dạng cấu trúc hay sắp xếp các thành phần như là định nghĩa các thuộc tính của mẫu. Phương pháp biểu diễn cấu trúc trong OCR biểu diễn các mô hình ký tự dưới dạng các mẫu và mối quan hệ giữa các mẫu để mô tả cấu trúc mô hình một cách rõ ràng [1].
Khi được yêu cầu mô tả ký tự trong bảng chữ cái, mọi người thường biểu diễn chúng dưới dạng cấu trúc các đặc trưng (Hình 1.12).
Chẳng hạn như: chữ cái hoa „A‟ có hai đường kẻ thẳng (nét bút) dưới chân, có một điểm kết thúc nằm trên đỉnh và một đường kẻ ngang cắt hai điểm giữa, có một lỗ hổng ở phía trên. Tư tưởng cốt lõi của phương pháp cấu trúc đó là biểu diễn mô hình dưới dạng tập các thuộc tính đặc trưng mà có khả năng mô tả bất kỳ một đối tượng thuộc lớp đối tượng đang xét và có khả năng phân biệt các lớp đối tượng khác nhau.
1.1.5.3. Nhận dạng ký tự dựa trên ngữ cảnh
Một trong những phương pháp hữu hiệu để cải thiện tính chính xác và nâng cao hiệu suất của công nghệ OCR là việc áp dụng một thứ tự từ điển trong mỗi ngôn ngữ để nhận định và phân biệt giữa những ký tự ghép lại thành từ (word) là có nghĩa hay không có nghĩa. Người ta lập một hệ các nhãn để lần lượt thay thế cho các ký tự trong quá trình tạo thành một từ nào đó. Những kết hợp của các ký tự mà tạo thành một từ không có ý nghĩa (theo cách là từ này chưa hoặc không tồn tại trong từ điển trước đó) thì được loại bỏ. Thực tế cho thấy có thể gán nhãn đúng cho các ký tự ngay cả khi không thiết lập một hệ thống danh sách các nhãn ban đầu cho các ký tự. Trong trường hợp này thì đơn giản chỉ thực hiện việc nhóm tất cả các ký tự trong các tài liệu có hình dạng tương tự nhau. Theo đó, một hệ thống từ điển với kích thước nhỏ sẽ được sử
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
dụng để thay thế các biểu tượng trong mỗi nhóm với một ký tự duy nhất.
Như vậy, cách thức xử lý này căn cứ vào ngữ nghĩa của từ trong từ điển để khắc phục một số lỗi mà chính bản thân OCR chưa thể khắc phục được. Người ta lắp ráp các ký tự để hình thành nên các từ trên cơ sở trích chọn những thông tin của các ký tự khác nhau được phát hiện trong một từ nhờ vào sự có nghĩa của từ đó. Việc đánh giá xem một từ là có nghĩa hay không thì cách tốt nhất là so khớp từ đó với các từ đã có trong từ điển hoặc tập các từ vựng của một ngôn ngữ đặc thù nào đó. Như đã trình bày trong phần 1.5, rằng chữ u rất giống với chữ v nên trong quá trình nhận dạng đặc trưng rất khó để phân biệt được hai chữ này. Giả sử bài toán nhận dạng yêu cầu nhận ra ký tự x là ký tự gì khi nó đã được phân bổ nằm trong một dãy nhãn ký tự gồm các ký tự
qxeen. Theo đó, việc nhận dạng dựa trên ngữ cảnh có ứng dụng từ điển Tiếng
Anh sẽ xác định rằng ký tự x là ký tự u chứ không phải ký tự v bởi vì về quy tắc từ vựng trong Anh ngữ thì chỉ có gần như duy nhất ký tự u là đi liền sau ký tự q và cũng trong từ điển tiếng Anh không có từ qveen mà lại có từ queen
(Ngô Quốc Tạo - 2007).
Đã có những nghiên cứu một cách hệ thống kết quả nhận dạng thu được từ OCR trên Tiếng Anh. Một báo cáo đầy đủ kết quả từ những sản phẩm OCR trên tài liệu được in bằng máy được công bố bởi trường đại học Nevada [11]. Với những tài liệu đạt tiêu chuẩn, kết quả nhận dạng chính xác từ 99.13% tới 99.77%. Với những tài liệu có chất lượng kém, độ chính xác của nhận dạng cũng đạt từ 89.34% tới 97.01%. Kết quả nhận dạng giảm đi đối với những tài liệu chất lượng kém chủ yếu là do các nét ký tự bị đứt và các ký tự liền kề nối liền nét. Thời gian gần đây, phương pháp OCR nhận dạng ảnh trong tài liệu phức tạp cũng được Wilson [4] công bố một báo cáo toàn diện trong việc sử dụng và đánh giá phương pháp OCR cho những ứng dụng xử lý biểu mẫu.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.2.1. Mô tả bài toán
Phát hiện, phân tích và nhận dạng bảng trong các trang ảnh tài liệu – (document images) là một trong số các vấn đề chính của phân tích và nhận dạng tài liệu. Phát hiện bảng là bài toán phát hiện ra các cột, các hàng, các ô có trong bảng. Vấn đề này đã được nghiên cứu trong nhiều năm và đã có hàng trăm bài báo khoa học được công bố, đặc biệt trong những năm gần đây được nhiều nhà khoa học quan tâm tập trung nghiên cứu. Năm 2013, hội nghị quốc tế hàng đầu về phân tích và nhận dạng tài liệu (ICDAR‟13) đã khởi xướng và tổ chức cuộc thi nhận dạng bảng trong tài liệu [2]. Bài toán nhận biết bảng được chia thành các bài thành các nhiệm vụ như sau (theo từng bước/mức độ hiểu biết khác nhau về bảng):
+ Định vị bảng (table location) hay còn gọi là phát hiện bảng (table detection): xác định các vùng trong tài liệu có chứa nội dung là bảng.
+ Nhận dạng cấu trúc bảng (table structure recognition) hay còn gọi là phân đoạn/phân tích bảng (table segmentation/analysis): xây dựng lại cấu trúc các thành phần của bảng (các hàng, các cột, các ô – rows, columns, cells).
+ Diễn giải bảng (table interpretation): giải thích ý nghĩa của cấu trúc bảng, bao gồm:
- Phân tích chức năng (functional analysis): xác định chức năng của các ô và quan hệ logic trừu tượng giữa chúng (xác định đâu là phần tiêu đề, đâu là phần nội dung,…).
- Giải thích ngữ nghĩa (semantic interpretation): hiểu ngữ nghĩa của bảng dựa vào các thực thể trong bảng, các thuộc tính với các giá trị tương ứng và mối quan hệ giữa các thực thể trong bảng (xác định xem bảng mô tả về nội dung gì, cột/hàng chứa nội dung dạng gì,…).
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Trong đó, phát hiện và phân tích cấu trúc bảng là quan trọng nhưng cũng khó khăn hơn cả, mang tính tổng quát hơn, được tập trung nghiên cứu nhiều hơn. Những khó khăn trong nhận dạng bảng là do bản chất bảng là một cấu trúc phức tạp và khi đặt trong ngữ cảnh của tài liệu thì dễ gây nhầm lẫn với các đối tượng khác trong tài liệu (Hình 1.13).
Hình 1.13: Một số nhầm lẫn giữa bảng và đối tượng khác
Ngoài ra chúng ta cũng thấy sự đa dạng của các thành phần của bảng, bao gồm các hàng và các cột tạo thành các ô, trong các ô có hoặc không có đường bao của ô (đường phân tách các hàng và các cột), một ô có thể bị bỏ trống thông tin hoặc gộp (merge) với các ô khác,…
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 1.14. Khái niệm các thành phần trong bảng [3]
Các ứng dụng chủ yếu của phát hiện, nhận dạng bảng là được sử dụng trong các hệ thống nhận dạng ký tự quang học (OCR) như FineReader của ABBYY hay VnDOCR của Viện Công nghệ thông tin… Một số khác được ứng dụng trong các hệ thống nhập liệu tự động (kết hợp với kỹ thuật nhận dạng biểu mẫu).
1.2.2. Một số hƣớng tiếp cận
Có rất nhiều hướng tiếp cận khác nhau trong phát hiện và phân tích cấu trúc bảng. Hướng tiếp cận thường được nghĩ ngay đến là tìm các đường kẻ có thể có của bảng (các đường phân tách hàng/cột của bảng, có thể là đường liền nét hoặc đứt nét), sau đó tìm các điểm giao của các đường kẻ ngang và dọc để xây dựng lại cấu trúc bảng dưới dạng lưới (grid), cuối cùng phân tích sự hợp nhất của các ô (merge cell) dựa trên một số luật [5], [7] mô tả một số bước trong thuật toán. Với hướng tiếp cận này thì việc phát hiện đường kẻ là quan trọng nhất, chỉ cần một lỗi nhỏ trong phát hiện đường kẻ thì cũng làm sai toàn bộ thuật toán. Có nhiều kỹ thuật để phát hiện đường kẻ như dựa vào biến đổi Hough… Tuy nhiên
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
các kỹ thuật thường rất nhạy cảm với độ nghiêng của trang, nên cần các thao tác tiền xử lý để căn chỉnh độ nghiêng của tài liệu. Hạn chế của hướng tiếp cận này