Trong thực tế không phải quá trình nhận dạng nào cũng chỉ trải qua hai bướcnhư trên, bởi vì có rất nhiều tham số ảnh hưởng đến kết quả của các chương trìnhnhận dạng, như nhiễu, Font chữ,
Trang 1Mục lục
Mục lục i
Danh mục các hình ảnh iii
I Đặt vấn đề 1
II Nội dung nghiên cứu 2
III Bố cục của luận văn 4
Chương I TỔNG QUAN VỀ NHẬN DẠNG CHỮ VIẾT 5 VÀ PHÂN TÍCH TRANG TÀI LIỆU 5 I.1 Ảnh tài liệu và nhận dạng ảnh tài liệu 5
I.1.1 Tổng quan về ảnh tài liệu 5
I.1.2 Nhận dạng tài liệu và vai trò của phân tích ảnh tài liệu 6
I.2 Cấu trúc của ảnh tài liệu 7
I.2.1 Cấu trúc vật lý 7
I.2.2 Cấu trúc logic 10
I.3 Quá trình phân tích tài liệu 10
I.3.1 Tiền xử lý(preprocessing): 11
I.3.2 Phân tích cấu trúc vật lý 12
I.3.3 Phân tích cấu trúc logic 13
I.4 Một số hệ thống phân tích tài liệu hiện nay 14
I.4.1 VnDOCR 14
I.4.2 OminiPage 18
I.4.3 Finereader 20
I.5 Kết luận 22
Chương II: CÁC PHƯƠNG PHÁP TIẾP CẬN 23 ĐỂ PHÂN TÍCH TRANG TÀI LIỆU 23 II.1 Các phương pháp phân tích định dạng trang tài liệu 23
II.1.1 Top-down 23
II.1.2 Bottom-up 29
Trang 2II.1.3 Phương pháp Tách và Nối thích nghi (Adaptive Split – and – Merge) 31
II.1.4 Fractal Signature (FS) 33
II.2 Lựa chọn giải pháp 37
II.3 Thiết kế hệ thống 38
II.3.1 Sơ đồ khối 38
II.3.2 Ảnh đầu vào 38
II.3.3 Module Tiền xử lý 39
II.3.4 Phân tích sử dụng giả pháp Fractal Signature 40
II.4 Kết luận 43
Chương III: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM44 III.1 Yêu cầu hệ thống 44
III.2 Thiết kế chương trình 44
III.2.1 Cấu trúc dữ liệu 44
III.2.2 Module chuẩn hóa ảnh 46
III.2.3 Module giao diện chính 48
III.2.4 Module phân tích Top-down (TD) 49
III.2.5 Module phân tích Fractal Signature 52
III.2.6 Module lọc và làm trơn nhiễu 54
III.2.7 Module mô phỏng thuật toán FS 54
III.2.8 Các hàm chức năng chính của image processing tool trong matlab sử dụng trong chương trình 57
III.3 Kết luận và đánh giá kết quả 59
Kết luận 71 TÀI LIỆU THAM KHẢO 72 Phục Lục 73 A Mã nguồn đầy đủ của chương trình 73
A.1 Danh mục các chương trình con trong chương trình 73
A.2 Sơ khối liên kết giữa các thủ tục trong chương trình 74
A.3 Mã nguồn các module 74
Trang 3Danh mục các hình ảnh
Hình 1: Sơ đồ tổng quan quá trình tạo ảnh tài liệu 5
Hình 2: Ví dụ ảnh tài liệu 5
Hình 3: Sơ đồ OCR cơ bản 7
Hình 4: b-Cấu trúc vật lý: c,d-Cấu trúc logic của một tài liệu[4] 9
Hình 5: Ví dụ loại tài liệu có bố cục phức tap 10
Hình 6: Sơ đồ nguyên lý hệ thống xử lý tài liệu[6] 11
Hình 7: a - Ảnh gốc b - Ảnh sau khi tách nền 12
Hình 8: Ví dụ một ảnh tài liệu bị nghiêng một góc 5 độ 13
Hình 9: Ví dụ một cây mô tả cấu trúc logic của một trang tài liệu[5] 14
Hình 10: VnDOCR và một ví dụ nhận dạng 15
Hình 11: Ảnh mẫu có cấu trúc vật lý phức tạp 16
Hình 12: Kết quả ra hai vùng ảnh với ảnh mẫu 11 16
Hình 13: Mẫu ảnh có cấu trúc vật lý phức tạp, nhưng các khối bao bởi hình chữ nhật 17
Hình 14: Kết quả phân tích với ảnh 13 18
Hình 15: Đầu ra phân vùng chỉ có 1 vùng văn bản 19
Hình 16: Đầu ra có vùng chứa cả ảnh và text 19
Hình 17: Với ảnh 13 đạt hiệu quả 90% 20
Hình 18 Với ảnh I-15 hiệu quả đạt 100% 21
Hình 19: Với mẫu phức tạp hơn Finereader cho kết quả 95% 21
Hình 20: Kết quả chiếu nghiêng theo phương ngang và phương thẳng đứng của một trang tài liệu 24
Hình 21: Phân tách cột dựa vào phép chiếu nghiêng theo phương ngang 25
Hình 22: Phép chiếu nghiêng theo phương ngang để phân đoạn ký tự hoặc từ 25
Hình 23: Lược đồ chiếu ngang của một dòng chữ nghiêng - rất khó phân đoạn ký tự 26
Hình 24: Lược đồ chiếu đứng của trang tài liệu bị nghiêng 27
Hình 25: Lược đồ chiếu đứng của một bài báo 28 Hình 26: Phương pháp Dostrum cho phân tích định dạng trang từ dưới lên (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
Trang 4(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 30
Hình 27: Mô tả thuật toán Tách và Nối thích nghi 32
Hình 28: Mô tả thuật toán FS 34
Hình 29: Sơ đồ khối hệ thống phân tích tài liệu trong phạm vi đề tài 38
Hình 30: Ví dụ một bolck chuyển sang dạng bề mặt trong không gian 3D 39
Hình 31: Ví dụ chuyển ảnh chữ "c" sang dạng bề mặt trong không gian 3D 39
Hình 32: (a) Ảnh một tài liệu gốc, (b) kết quả sau khi áp dụng FS 42
Hình 33: Giao diện chính 48
Hình 34: Kết quả phân tích của top-down trên tài liệu có cấu trúc đơn giản 60
Hình 35: Kết quả phân tích của top-down trên tài liệu có cấu trúc bảng 61
Hình 36: : Kết quả phân tích của top-down trên tài liệu thuần văn bản 62
Hình 37: : Kết quả phân tích của top-down trên tài liệu có cấu trúc phức tạp (trang tạp trí) 63
Hình 38 : Kết quả phân tích của top-down trên một tờ quảng cáo 64
Hình 39: Kết quả phân tích của top-down trên tài liệu có cấu trúc phức tạp 65
Hình 40: Kết quả phân tích của top-down trên tài liệu bị nghiêng 66
Hình 41: Kết quả phân tích của FS trên tài liệu bị nghiêng 67
Hình 42: Kết quả phân tích của FS trên tài có cấu trúc phức tạp 68
Hình 43: Kết quả phân tích của FS trên một trang quảng cáo 69
Hình 44: Kết quả phân tích của FS trên tài liệu đơn giản 70
Trang 5MỞ ĐẦU
I Đặt vấn đề
Ngày nay việc sử dụng máy tính để lưu trữ tài liệu không còn là vấn đề mới
mẻ và cần phải chứng minh tính an toàn, thuận tiện của nó Tuy nhiên việc sử dụnggiấy để lưu trữ tài liệu trong một số mục đích vẫn không thể thay thế được (nhưbáo, sách, công văn,…) Hơn nữa lượng tài liệu được tạo ra từ nhiều năm trước vẫncòn rất nhiều mà không thể bỏ đi được vì tính quan trọng của chúng
Chúng ta mong muốn có thể điện tử hóa hàng tỉ trang tài liệu đó và cất chúngchỉ trong một ổ cứng kích thước bằng một cuốn sách nhỏ, tìm kiếm thông tin mà chỉcần tốn vài giây với một cái gõ phím Enter Giải pháp là gì?
Thông thường người ta sẽ phải thuê người cùng với việc tốn hàng tháng,hàng năm mới có thể nhập vào máy tính được hết lượng tài liệu đó Hiện nay chúng
ta đã có các máy Scan với tốc độ cao, công nghệ xử lý của máy tính ngày càng siêuviệt với tốc độ tính toán vượt cả tốc độ ánh sáng, vậy tại sao chúng ta không quéttoàn bộ các trang tài liệu vào và chuyển chúng thành văn bản một cách tự động?
Bằng cách đó tốc độ và tính chính xác sẽ tăng hàng trăm lần trong khi chi phílại là cực tiểu Vấn đề là khi quét vào máy tính chúng ta không thu được ngay cácdòng văn bản từ các trang tài liệu kia, để có thể soạn thảo, sửa chữa và tìm kiếmnhư làm trên Office Tất cả những gì thu được chỉ là các tấm ảnh của các trang vănbản, máy tính lại đối xử công bằng như nhau với mọi điểm ảnh, máy tính không có
“mắt” như chúng ta để biết đâu là điểm ảnh của chữ, đâu là điểm ảnh của đối tượng
đồ họa
Một giải pháp được nghĩ đến ngay đó là đó là xây dựng các hệ thống nhậndạng chữ, trong tấm ảnh chứa cả chữ và đối tượng đồ họa cần tách và chuyển thànhdạng trang văn bản, từ đó có thể mở và soạn thảo được trên các trình soạn thảo vănbản
Một cách tổng quát thì cách thức làm việc của một hệ thống nhận dạng chữnhư sau[5]:
1 Chụp ảnh các trang tài liệu trên giấy và lưu lại trong máy tính dưới dạng hìnhảnh
2 Sử dụng một chương trình xử lý ảnh để phân tích hình ảnh sau khi quét, đọcđược ký tự trên hình ảnh đó và ghi lại vào máy tính theo cách mà máy tínhquản lý được thông tin dữ liệu đó
Trang 6a Bước 1 là phân tích cấu trúc của ảnh tài liệu, từ đó xác định đâu làphần chứa chữ, đâu là phần chứa cả ảnh lẫn ký tự và đâu chỉ chứahình ảnh Bước này thực sự quan trọng cho bước nhận dạng Bởi nóđịnh vị chính xác cho việc áp dụng các thuật toán nhận dạng lên vùng
đã xác định tính chất, nếu bước này chính xác trước tiên nó hạn chếthời gian cho việc nhận dạng, sau là tăng ngữ nghĩa bổ sung cho việcnhận dạng
b Bước 2 nhận dạng ký tự dựa vào các tính chất của ký tự, ví dụ như sắpxếp theo dòng, khoảng cách giữa 2 từ lớn hơn khoảng cách giữa 2 ký
tự, dùng trí tuệ nhân tạo để dự đoán các ký tự kề nhau phải như thếnào, các từ trong câu phải như thế nào để câu có nghĩa Từ đó có nộidung đúng để lưu trữ, quản lý…
Trong thực tế không phải quá trình nhận dạng nào cũng chỉ trải qua hai bướcnhư trên, bởi vì có rất nhiều tham số ảnh hưởng đến kết quả của các chương trìnhnhận dạng, như nhiễu, Font chữ, kích thước chữ, kiểu chữ nghiêng, đậm, gạch dưới.Ngoài ra các dòng chữ cũng có thể trộn lẫn với các đối tượng đồ họa, vì thế trướckhi nhận dạng chữ, một số thao tác tiền xử lý sẽ được tác động lên ảnh như, lọcnhiễu, chỉnh góc nghiêng và đặc biệt quan trọng là phân tích trang tài liệu để xácđịnh cấu trúc của trang văn bản đồng thời tách biệt hai thành phần là chữ và các đốitượng đồ họa (phi chữ)
II Nội dung nghiên cứu
1 Mục tiêu nghiên cứu chính của đề tài
Tìm hiểu cấu trúc trang tài liệu (cấu trúc vật lý, logic)?
Tìm hiểu một số kỹ thuật phân tích trang tài liệu (phân vùng, phân đoạn,
…)
Cài đặt thử nghiệm một giải pháp phân tích có hiệu quả cao so với các
phương pháp truyền thống như top-down hay bottom-up trên ảnh vào là ảnh đa cấp xám có cấu trúc phức tạp.
Từ kết quả nghiên cứu có một sự chuẩn bị kiến thức đẩy đủ cho bướcnghiên cứu tiếp theo là nhận dạng ký tự quang
2 Ý nghĩa khoa học của đề tài
Giải quyết được vấn đề về học thuật: đề tài sẽ mang ý nghĩa cung cấp vềmặt lý thuyết để làm rõ về các phương pháp phân tích trang tài liệu
Trang 7 Đáp ứng được yêu cầu của thực tiễn: từ các lý thuyết đã được nghiên cứu,
từ đó liên hệ và gắn vào thực tiễn để có thể áp dụng vào các lĩnh vựcnhư: Lưu trữ thư viện, điện tử hóa văn phòng, nhận dạng và xử lý ảnh, …
3 Nhiệm vụ nghiên cứu
Mục đích của luận văn đề cập được đến hai phần:
Phần lý thuyết: Nắm rõ và trình bày những cơ sở lý thuyết liên quan đếncấu trúc trang tài liệu, một số kỹ thuật phân tích trang tài liệu, từ đó có để
có thể xác định tính quan trọng của bước này trong nhận dạng ký tự, đồngthời hiểu các công việc kế tiếp cần làm trong bước nhận dạng ký tự
Phần phát triển ứng dụng: Áp dụng các thuật toán đã trình bày ở phần lýthuyết từ đó lựa chọn một giải pháp tối ưu và cài đặt thử nghiệm chươngtrình phân tích trang tài liệu
4 Phương pháp nghiên cứu
Tìm kiếm, tham khảo, tổng hợp tài liệu từ các nguồn khác nhau để xâydựng phần lý thuyết cho luận văn
Sử dụng các kỹ thuật được áp dụng phân tích trang tài liệu để làm rõ bảnchất của các vấn đề được đưa ra trong phần lý thuyết
Xây dựng chương trình Demo
5 Phạm vi nghiên cứu
Bài toán nhận dạng và xử lý ảnh tài liệu đã được phát triển với nhiều thành tựutrong thực tế, có rất nhiều thuật toán tối ưu đã được các nhà khoa học đề nghị Tuynhiên có thể nói chưa có một chương trình nào có thể “đọc” một ảnh văn bản nhưcon người, vì thực tế có rất nhiều kiểu trang văn bản khác nhau, khác nhau về cấutrúc trình bày, ngôn ngữ, kiểu font, chữ viết tay,… Đây thực sự là một bài toán lớn,chính vì thế trong phạm vi của luận văn chỉ tìm hiểu một số kỹ thuật phân tích trangvăn bản tiêu biểu với mục đích để so sánh và một thuật toán mới chưa được đưa ra
ở các đề tài trước Cuối cùng, dựa vào đó để xây dựng Demo cho một ứngdụng
Các kết quả nghiên cứu dự kiến cần đạt được:
Tìm hiểu tài liệu liên quan đến lĩnh vực quan tâm để nắm bắt được bảnchất vấn đề đặt ra
Báo cáo lý thuyết
Chương trình Demo
Trang 8III Bố cục của luận văn
Nội dung của luận văn được trình bày trong ba chương với nội dung chínhsau
Chương 1: Trình bày các khái niệm và mô hình tổng quát của hệ thống nhận dạng
chữ viết, cùng với một số phần mềm nhận dạng tiêu biểu hiện nay
Chương 2: Trình bày một số phương pháp phân tích trang tài liệu, từ đó đánh giá
ưu nhược điểm để lựa chọn phương pháp Fractal Signature cho chương trình thửnghiệm Trình bày về thiết kế cho chương trình demo
Chương 3: Trình bày chi tiết về việc cài đặt chương trình cũng như các thủ tục sử
dụng trong chương trình với phương pháp phân tích Fractal Signature và ảnh đầuvào là ảnh đa cấp xám có độ phức tạp cao
Trang 9Chương I TỔNG QUAN VỀ NHẬN DẠNG CHỮ VIẾT
VÀ PHÂN TÍCH TRANG TÀI LIỆU
Chương này đưa ra các khái niệm về đối tượng làm việc của đề tài là ảnh tàiliệu, khái niệm về cấu trúc vật lý và cấu trúc logic Giới thiệu các khâu trong một hệthống nhận dạng chữ viết hoàn chỉnh Đồng thời đưa ra một số phần mềm nhậndạng của Việt Nam và Thế giới cùng với các mẫu kết quả phân tích của nó nhàmmục đích so sánh và xác định phạm vi cho đề tài
I.1 Ảnh tài liệu và nhận dạng ảnh tài liệu
I.1.1 Tổng quan về ảnh tài liệu
Trang ảnh tài liệu được đề cập ở đây là các file ảnh số hoá thu được bằngcách quét các trang tài liệu dùng máy scanner, máy ảnh số, hay nhận từ một máy fax(Hình 1), file ảnh này được lưu giữ trong máy tính Ảnh tài liệu có nhiều loại: ảnhđen trắng, ảnh màu, ảnh đa cấp xám với các phần mở rộng như TIF, BMP, PCX, …
(Hình 2) và ảnh tài liệu được đưa ra trong luận văn này là ảnh đa cấp xám.
Ảnh số
Tài liệu Thiết bị thu nhận ảnh Anh số tài liệu
Hình 1: Sơ đồ tổng quan quá trình tạo ảnh tài liệu
Trang 10I.1.2 Nhận dạng tài liệu và vai trò của phân tích ảnh tài liệu
Ngày nay, máy tính đang phát triển mạnh mẽ, tốc độ xử lý không ngừngđược nâng lên Cùng với nó là sự ra đời của các phần mềm thông minh đã khiếnmáy tính ngày một gần gũi với con người hơn Một trong các khả năng tuyệt vờicủa con người mà các nhà khoa học máy tính muốn đạt được đó là khả năng nhậndạng và lĩnh vực nhận dạng thu được nhiều thành công nhất là nhận dạng ký tựquang OCR–Optical Character Recognition OCR có thể được hiểu là quá trìnhchuyển đổi tài liệu dưới dạng file ảnh số hoá (là dạng chỉ có người đọc được) thànhtài liệu dưới dạng file văn bản (là tài liệu mà cả người và máy đều có thể đọc được)
OCR có rất nhiều ứng dụng hữu ích trong cuộc sống như:
- Sắp xếp thư tín, dựa vào việc nhận dạng mã bưu chính (Zipcode) hay địachỉ gửi tới
- Tự động thu thập dữ liệu từ các mẫu đơn/báo biểu hay từ các hồ sơ laođộng
- Hệ thống tự động kiểm tra trong ngân hàng (tự động xác nhận chữ ký)
- Tự động xử lý các hóa đơn hay các yêu cầu thanh toán
- Hệ thống tự động đọc và kiểm tra passport
- Tự động phục hồi và copy tài liệu từ các ảnh quét
- Máy đọc cho những người khiếm thính
Trang 11- OCR hardware/software:
o Document analysis: Phân tích tài liệu
o Character recognition: Nhận dạng ký tự
o Contexttual processor: Xử lý văn cảnh
- Output interface: Đầu ra
Như vậy vai trò chính của khâu phân tích ảnh tài liệu là việc phân đoạn trang,tách vùng văn bản ra khỏi nền và đồ họa tạo mẫu chuẩn cho khâu nhận dạng Rõdàng là kết quả của khâu phân tích này ảnh hưởng rất lớn đến hiệu của của khâunhận dạng nếu sử dụng mẫu hay các chuỗi văn bản đầu ra của nó
Hình 1: Sơ đồ OCR cơ bản
I.2 Cấu trúc của ảnh tài liệu
Một khái niệm mấu chốt trong xử lý tài liệu đó là cấu trúc của tài liệu Cấutrúc tài liệu thu được từ việc liên tiếp chia nhỏ nội dung của tài liệu thành các phầnnhỏ đơn vị (tức không thể phân chia được nữa) và chúng được gọi là các đối tượng
cơ sở (basic objects) Còn tất cả các đối tượng khác được gọi là các đối tượng hỗnhợp
Trang 12Có hai loại cấu trúc của tài liệu được quan tâm ở đây đó là cấu trúc vật lý(hay bố cục vật lý) và cấu trúc logic mô tả mối quan hệ logic giữa các vùng đốitượng trong tài liệu.
I.2.1 Cấu trúc vật lý
Bố cục vật lý của một tài liệu mô tả vị trí và các đường danh giới giữa cácvùng có nội dung khác nhau trong một trang tài liệu[6] Quá trình phân tích bố cụctài liệu là thực hiện việc tách từ một trang tài liệu ban đầu thành các vùng có nộidung cơ sở như hình ảnh nền, vùng văn bản,…
Để mô tả bố cục vật lý của tài liệu người ta sử dụng một cấu trúc hình họcvới mỗi đối tượng trong cấu trúc là một phần tử chỉ chứa nội dung đồng nhất Cáckiểu đối tượng hình học được định nghĩa như sau[4]:
Block là đối tượng cơ sở tương ứng với một vùng hình chữ nhật chứa một phầnnội dụng của tài liệu
Frame một đối tượng hỗn hợp tương ứng với một hình chữ nhật bao gồm mộthoặc nhiều block hoặc bao gồm các frame
Page là đối tượng hình học hoặc hỗn hợp các thành phần cơ sở tương ứng vớimột vùng hình chữ nhật, nếu là đối tượng hỗn hợp nó chứa một hoặc nhiềublock, một hoặc nhiều frame
Page set (tập trang) là một tập của một hoặc nhiều page
Điểm gốc của cấu trúc (hay nút gốc) là một đối tượng ở mức cao nhất trong sơ
đồ phân cấp của cấu trúc hình học tài liệu Hình 4(b) cho ví dụ một cấu trúc hìnhhọc mô tả bố cục vật lý của trang tài liệu tương ứng
Các thuật toán phân tích bố cục tài liệu có thể được chia làm ba loại chínhdựa theo phương pháp thực hiện của nó
- Bottom-up: Ý tưởng chính của các thuật toán loại này là bắt đầu từ nhữngphần tử nhỏ nhất (như từ các pixel hay các phần tử liên thông) sau đó liêntục nhóm chúng lại thành các vùng lớn hơn
- Top-down: Thuật toán này bắt đầu từ vùng lớn nhất chứa cả trang tài liệusau đó liên tục phân chia thành các vùng nhỏ hơn
- Các thuật toán không theo thứ bậc: như Fractal Signature, Adaptive and-merge …
Trang 13split-Hình 4: b-Cấu trúc vật lý: c,d-Cấu trúc logic của một tài liệu[4]
Trang 14I.2.2 Cấu trúc logic
Ngoài bố cục vật lý, các trang tài liệu còn chứa đựng nhiều thông tin về ngữ cảnh
và nội dung như các tiêu đề, đoạn văn, đề mục, …và mỗi vùng nội dung này lại được gáncác nhãn logic hay nhãn theo chức năng tương ứng, khác biệt hoàn toàn với các nhãntrong bố cục vật lý Hầu hết các tài liệu đều có một quy tắc đọc để có thể hiểu hết nộidung của tài liệu Với một số ngôn ngữ đặc biệt như tiếng Trung, tiếng Ả rập lại có quycách đọc khác biệt (như đọc từ phải qua trái, trên xuống) Tập hợp tất cả các yếu tố logic
và chức năng trong một tài liệu và mối quan hệ giữa chúng được gọi là cấu trúc logic củatài liệu[6] Thông thường pha phân tích cấu trúc logic của tài liệu được thực hiện trên kếtquả của bước phân tích bố cục vật lý Tuy nhiên với một số loại tài liệu phức tạp, thì phaphân tích bố cục vật lý lại cần thêm một số thông tin logic liên quan đến các vùng để cóthể phân đoạn một cách chính xác Hình 4(c,d) mô tả một ví dụ cấu trúc logic của tài liệu
I.3 Quá trình phân tích tài liệu
Ảnh tài liệu chứa rất nhiều loại vùng thông tin khác nhau như các block, lines,words, figures, tables và background Ta có thể gọi các vùng này theo chức năng của nótrong tài liệu hoặc gán cho nó các nhãn logic như sentences, titles, captions, address,…Quá trình phân tích tài liệu là thực hiện việc tách một tài liệu thành các vùng theo mộttiêu chuẩn hay mối quan hệ lẫn nhau nào đấy Công việc này được thực hiện qua nhiềubước như tiền xử lý, tách vùng, lặp cấu trúc tài liệu,…
Một số loại tài liệu như báo, tạp chí, sách quảng cáo, chúng có cấu trúc và bố cụcrất phức tạp và không có một form chung nào cả (Hình 5) Với con người để có thể đọchiểu được một trang tài liệu còn cần thêm nhiều kiến thức bổ sung như ngôn ngữ, hoàncảnh, các luật ngầm định, vì thế việc tự động phân tích các trang tài liệu một cách tổngquát là một việc rất khó khăn thậm chí là không khả thi ngay cả với các hệ thống phântích tài liệu tiên tiến nhất[6]
Hình 2: Ví dụ loại tài liệu có bố cục phức tap
Sơ đồ nguyên lý của một hệ thống tự động phân tích tài liệu như sau:
Trang 15Hình 3: Sơ đồ nguyên lý hệ thống xử lý tài liệu[6]
I.3.1 Tiền xử lý(preprocessing):
Hầu hết các ảnh tài liệu đều có nhiễu do quá trình thu nhận ảnh gây ra (môitrường, chất lượng máy quét), vì thế trong quá trình xây dựng các thuật toán phân tíchcần loại bỏ các nhiễu này và công việc này thường được tiến hành trước khi bắt đầu phântích bố cục hay cấu trúc và gọi là Tiền xử lý Nhiệm vụ chính của bước này là loại bỏnhiễu, tách nền ra khỏi nội dung, phát hiện và xoay góc nghiêng,…
Lọc nhiễu(noise removal):
Nhiễu luôn là một vấn đề trong hầu hết các bài toán đọc hiểu tài liệu Nhiễu sinh
ra không chỉ do quá trình scan ảnh mà còn bao gồm cả các nhiễu trắng gây ra từ chínhsensor hay các mạch thu nhận trong các máy thu nhận ảnh số Nhiễu có thể được loại bớt
sử dụng một số các kỹ thuật như lọc trung bình, lọc trung vị, lọc thông thấp,…
Tách nền (Background separation):
Đây là một vấn đề rất quan trọng ảnh hưởng trực tiếp đến hiệu quả của các thuậttoán phân tích tài liệu Nếu đối với các loại tài liệu có nền đồng nhất màu trắng hoặc đenthì việc tách có thể thực hiện đơn giản bằng phép phân ngưỡng, tuy nhiên trong thực tếrất nhiều ảnh tài liệu có nền rất phức tạp như ảnh hay đồ họa (Hình 7) thì việc xác địnhcác pixell nào thực sự thuộc về “phần nổi” là một công việc khó khăn
Ta có thể tách nền bằng một số kỹ thuật như sau:
- Gán mỗi điểm ảnh vào “phần nổi” hay phần nền dựa theo một tiêu chí nào đấy(như ngưỡng mức xám, …)
- Dựa theo độ đo xác suất xuất hiện của mỗi điểm ảnh mà phân lớp nó vào nềnhay phần nổi
Trang 16- Dựa vào các pixel liên thông kết hợp với mạng noron để phân tách.
Hình 4: a - Ảnh gốc b - Ảnh sau khi tách nền
Xác định góc nghiêng:
Do quá trình thu nhận ảnh (như đặt lệch tài liệu khi scan,…) ảnh tài liệu thu đượcrất có thể bị nghiêng, tức trục của các dòng văn bản không song song với trục ngang(Hình 8) Việc xác định được góc nghiêng và xoay lại tài liệu là một khâu rất quan trọngảnh hưởng đến hiệu quả trong một số thuật toán phân tích Ví dụ như các thuật toán dựatheo biểu đồ sau phép chiếu nghiêng để tiến hành phân tích thì sẽ hoàn toàn thất bại nếuvăn bản bị nghiêng Tuy nhiên việc có thể tự động ước lượng được chính xác gócnghiêng của ảnh tài liệu là một bài toán khó
Có nhiều kỹ thuật để có thể xác định được góc nghiêng của tài liệu, điểm chungtrong hầu hết các thuật toán là xác định góc nghiêng bằng việc xác định hướng của cácdòng văn bản dựa vào vị trí một số ký tự trong tài liệu
I.3.2 Phân tích cấu trúc vật lý
Phân tích tài liệu được định nghĩa là quá trình xác định cấu trúc vật lý của một tàiliệu Trong khâu này thì từ một ảnh tài liệu đầu vào sẽ được chia thành một số khối(block) chứa các nội dung thành phần của tài liệu như các dòng văn bản, tiêu đề, đồhọa, cùng với có hoặc không các tri thức biết trước về định dạng của nó[6]
Có một số phương pháp phân tích và được phân ra làm hai loại như sau:
Các phương thức có thứ bậc: Trong quá trình chia tài liệu thành các blockchúng ta quan tâm đến mối quan hệ về mặt hình học giữa các block Có baphương pháp thuộc loại này là:
o Phân tích top-down (trên xuống)
o Phân tích buttom-up (dưới lên)
o Phân tích kiểu Adaptive split-and-merge (tách và nối thích nghi)
Các phương pháp không có thứ bậc: Trong quá trình chia tài liệu thành cáckhối chúng ta không quan tâm đến mối quan hệ hình học giữa các block
Trang 17Hình 5: Ví dụ một ảnh tài liệu bị nghiêng một góc 5 độ
I.3.3 Phân tích cấu trúc logic
Từ kết quả của pha phân tích cấu trúc vật lý, phân tích cấu trúc logic sẽ đi xácđịnh mối quan hệ logic giữa các vùng đã được gắn nhãn như tiêu đề, văn bản, đề mục,hearder,… Bước này là cơ sở cho việc nhận dạng ký tự
- Việc xác định được vị trí chính xác của mỗi vùng trong cấu trúc logic sẽ tăngthêm thông tin cho quá trình nhận dạng như thông tin về ngữ cảnh, đoán nhậnđược kiểu font và kích thước chữ nếu biết nó thuộc vùng tiêu đề, đề mục haytrong đoạn văn,… (Hình 9)
Trang 18I.4 Một số hệ thống phân tích tài liệu hiện nay
I.4.1 VnDOCR
Vndocr phần mềm nhận dạng tiếng Việt là một sản phẩm của Viện công Nghệthông tin VnDOCR thu thập thông tin nhờ quá trình quét các loại sách báo thông quamáy quét thành các tệp ảnh và chuyển đổi thành các tệp có định dạng *.doc, *.xls, *.txt,
*.rtf, có thể đọc và chỉnh sửa được trên các phần mềm soạn thảo văn bản thông dụngnhư Office, Wordpad,… (Hình 10)
Môi trường
PC với hệ điều hành Windows 9x, ME, 2000, XP, NT,… Tiện ích: Bộ gõ chữ Việt,
bộ font ABC, VNI, Unicode,
Thông tin đưa vào
Quét trực tiếp các loại sách báo, văn bản qua máy quét (Scanner)
Đọc và xử lý hơn 30 dạng tệp tin ảnh phổ dụng nhất như PCX, BMP, TIF, GIF,JPG,
Có thể nhận dạng trực tiếp tài liệu quét qua Scanner không cần lưu trữ dưới dạng tệpảnh trung gian Các trang tài liệu có thể được quét và lưu trữ dưới dạng tệp tin nhiềutrang
Các chức năng chính:
- Phân tích cấu trúc vật lý của tài liệu và đưa ra cấu trúc phần vùng
- Phân tích và nhận dạng chữ đầu ra là text có thể copy hay lưu trữ và soạn thảolại được
Trang 19Hình 6: VnDOCR và một ví dụ nhận dạng 1
Một số hạn chế: Tính đến phiên bản 4.0
- VnDOCR chỉ làm việc với ảnh đen trắng
- Với các ảnh có cấu trúc vật lý phức tạp VnDOCR cho kết quả phân tích vớihiệu quả chưa cao (Hinh 11, 12)
Thí nghiệm 1:
- Với ảnh đầu vào như sau:
1 Nguồn từ www.vndocr.com
Trang 21Với ảnh đầu vào có cấu trúc vật lý đơn giản hơn (các vùng cơ sở có bao là hìnhchữ nhật – Hình 13).
Hình 9: Mẫu ảnh có cấu trúc vật lý phức tạp, nhưng các khối bao bởi hình chữ nhật
Kết quả phân tích bởi VnDOCR bỏ sót một vùng văn bản và gồm nhầm 2 vùngảnh vào vùng văn bản số 1 (Hình 14)
Trang 22Hình 10: Kết quả phân tích với ảnh 13 I.4.2 OminiPage
OmniPage là phần mềm nhận dạng văn bản của NUANCE Nó có thể chuyển đổicác file ảnh tài liệu hay file PDF sang dạng file văn bản có thể đọc được bởi các phầnmềm soạn thảo như Office, với khả năng nhận dạng các ký tự la tinh chính xác tới 99%.Một số đặc tính chính2:
- Nhận dạng chính xác tới 99% trên 119 ngôn ngữ khác nhau
Trang 23Hình 11: Đầu ra phân vùng chỉ có 1 vùng văn bản
Vùng lỗi
Hình 12: Đầu ra có vùng chứa cả ảnh và text
Trang 24I.4.3 Finereader
Finereader là một sản phẩm ORC của ABBYY với một số tính năng chính sau3:
- Cho phép kết nối và nhận dạng ảnh trực tiếp từ Camera
- Nhận dạng được 38 ngôn ngữ khác nhau
- Nhận dạng cả text trong đồ họa
- Với 2 mẫu văn bản có cấu trúc phức tạp như trên thì Finereader đều cho hiệuquả cao, nói chung Fineread đều có hiệu quả cao với các tài liệu có bố cụcphức tạp
Hình 13: Với ảnh 13 đạt hiệu quả 90%
3 Nguồn từ nhà sản xuất http://finereader.abbyy.com/full_feature_list
Trang 25Hình 14 Với ảnh I-15 hiệu quả đạt 100%
Hình 15: Với mẫu phức tạp hơn Finereader cho kết quả 95%
Trang 26Hạn chế chính của Finereader là tốc độ làm việc chậm so với 2 phần mềm kể trên.
I.5 Kết luận
Từ những kết quả ở trên phạm vi đề tài ở đây sẽ chỉ tập trung vào việc phân tíchcấu trúc vậy lý của một trang tài liệu(trình bày chi tiết ở chương 2) Để cải tiến hơn sovới VNDocr đối tượng của đề tài sẽ là ảnh đa cấp xám có độ phức tạp cao
Trang 27Chương II: CÁC PHƯƠNG PHÁP TIẾP CẬN
ĐỂ PHÂN TÍCH TRANG TÀI LIỆU
Với phạm vi đặt ra ở chương một và phần mở đầu là đề tài sẽ tập trung vào giảipháp phân tích cấu trúc vật lý của trang tài liệu, chương 2 sẽ giới thiệu một số phươngpháp phân tích hiện nay, từ đó đưa ra và đánh giá được ưu nhược điểm của mỗi phươngpháp đó Sau đó sẽ tập trung phân tích kỹ một phương pháp mới chưa được trình bày ởcác đề tài trước đó là Fractal Signature với những ưu điểm vượt trội của nó là hiệu quảcao với tài liệu phức tạp, không phân biệt góc nghiêng Đồng thời thiết kế hệ thống demovới giải pháp mới này
II.1 Các phương pháp phân tích định dạng trang tài liệu
II.1.1 Top-down
a) Tổng quan
Ý tưởng chính của thuật toán là phân tách liên tiếp từ một trang ban đầu thành cácvùng cơ sở nhỏ hơn Các khối cơ sở ở đây là các khối như đoạn văn, tiêu đề, đồ họa,…Việc phân tách chúng thành các vùng riêng biệt dựa trên tiêu chí về ngưỡng khoảng cách
mà phương pháp phổ thông nhất là xác định thông qua kết quả của phép chiếu nghiêng
Phép chiếu nghiêng theo hướng x bất kỳ: Thực chất là đi xác định lược đồ xám bằngcách tính tổng các điểm ảnh màu đen (hoặc trắng) theo phương vuông góc với x dọctheo trục x Trong thực tế x thường là phương nằm ngang hay phương thẳng đứng sovới trang văn bản
Một ví dụ về phép chiếu nghiêng với một trang tài liệu cho ở Hình-20:
Trên lược đồ xám của phép chiếu nghiêng sẽ xuất hiện các điểm cực trị, với phépchiếu nghiêng theo phương thẳng đứng ta dễ nhận thấy độ rộng của các đáy chính làkhoảng cách giữa hai dòng, với các độ rộng của đáy nào đó mà tần suất xuất hiện ít hoặcvượt quá một ngưỡng chính là khoảng các giữa hai vùng văn bản Còn tại vị trí các đỉnh
là trục của mỗi dòng văn bản
Với phép chiếu nghiêng theo phương ngang ta có thể phân tách được các cột haycác vùng cơ sở dựa vào ngưỡng khoảng cách của đáy (Hình-20) Cũng theo nguyên tắcnày nếu áp dụng phe chiếu nghiêng trên mỗi dòng văn bản ta cũng có thể phân đoạn đượccác ký tự hoặc các từ dựa vào khoảng cách của đáy (ví dụ như Hình-21)
Trang 28Hình 16: Kết quả chiếu nghiêng theo phương ngang và phương thẳng đứng của một trang tài liệu 4
4 (Anoop M Namboodiri and Anil K Jain)
Trang 29Hình 17: Phân tách cột dựa vào phép chiếu nghiêng theo phương ngang 5
5 Serban Iliescu PATTERN RECOGNITION lecture Concordia University, Montreal, Canada (p 8)
Hình 18: Phép chiếu nghiêng theo phương ngang để phân đoạn ký tự hoặc từ
Trang 30b) Hạn chế:
Phân tích top-down tồn tại nhiều hạn chế như:
- Kém hiệu quả với các loại tài liệu có bố cục phức tạp (hình 25)
- Cần xoay ảnh về đúng vị trí ngang nếu ảnh bị nghiêng (hình 23, 24)
- Làm việc tốt chỉ với ảnh nhị phân
- Kém hiệu quả với các trang tài liệu sử dụng nhiều loại font và size khác nhau
- Thông thường top-down được sử dụng cho các loại tài liệu biết trước form bốcục, và có bố cục vật lý đơn giản
Hình 19: Lược đồ chiếu ngang của một dòng chữ nghiêng - rất khó phân đoạn ký tự
Trang 31Hình 24: Lược đồ chiếu đứng của trang tài liệu bị nghiêng
Trang 32Hình 25: Lược đồ chiếu đứng của một bài báo
Trang 33II.1.2 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ầnlớn hơn, liên tiếp tới khi mọi khối trên trang được xác định Trong phạm vi luận văn này,chỉ giới thiệu một số cách tiếp cận được coi là bottom-up nhưng sử dụng những phươngpháp trực tiếp rất khác nhau nhằm đạt cùng mục đích
Môt giải pháp được mô tả với các bước như sau:
1 Xác định góc nghiêng thông qua phép biến đổi Hough
2 Xác định khoảng cách giữa các dòng thông qua việc xác định khoảng cáchgiữa các đỉnh của phép chiếu nghiêng cố định bằng góc nghiêng tìm được
3 Làm trơn theo loạt (run-length-smothing), sau đó thực hiện tách các từ hoặc ký
tự dựa vào việc xác định các khoảng trắng trong dòng thông qua việc tìm đỉnhtrên biểu đồ chiếu nghiêng và các độ dài vùng đen (các từ)
4 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àmtrơn theo loạt, theo các hướng Kết quả thu được là các vùng ON và ta phântí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ùngliê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ănbản và phần đồ họa Esposito6 đã dùng cách tiếp cận tương tự, nhưng trước hếtxá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 phương pháp Dostrum bó cụm khác thực hiện với k lân cận gần nhất để nhómcác ký tự và các dòng văn bản và các khối cấu trúc (Hình 26)
- 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ấtvớ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ữacá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
6 Floriana Esposito, Dipartimento di Informatica, Università degli Studi di Bari, Italy
Trang 34nhó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ốithường gần nhau hơn các dòng khác khối
b) Hạn chế
Phương pháp phân tích Bottom-Up cũng tồn tại nhiều hạn chế như sau:
- Cần phải phân đoạn để xác định các thành phần cơ sở trước khi có thể nhómlại
- Tốc độ thực hiện chậm và phụ thuộc vào số thành phần trong trang tài liệu
Hình 26: Phương pháp Dostrum cho phân tích định dạng trang từ dưới lên (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.
Trang 35góc nghiêng của tài liệu, vì khoảng cách dòng và từ chỉ xác định chính xácđược nếu góc nhiêng của tài liệu ≈00
- Kém hiệu quả với những trang tài liệu có cấu trúc phức tạp (nhiều bảng, tỷ lệ
đồ họa lớn hơn văn bản)
- Kém hiệu quả với loại trang tài liệu có nhiều loại Font chữ (chứa nhiều sizechữ khác nhau), vì với các trang chứa nhiều font có size khác nhau hoặc loạifont chữ nghiêng đặc biêt với chữ viết tay thì chương trình rất khó có thể tínhđược chiều cao chữ hay độ rộng giữa hai dòng thông qua biểu đồ chiếunghiêng
II.1.3 Phương pháp Tách và Nối thích nghi (Adaptive Split – and – Merge)
a) Tổng quan
Phương pháp phân tích Adaptive Split – and – Merge được Lui, Tang và Suenthiết kế với ý tưởng chính từ một trang tài liệu ban đầu và coi đó như một vùng chưađồng nhất, từ đó liên tiếp chia mỗi vùng thành các vùng nhỏ hơn, tại mỗi bước chia thựchiện nối các vùng đồng nhất và chia tiếp các vùng không đồng nhất
Để có thể mô tả được thuật toán một cấu trúc cây tứ phân phân lớp được sử dụng
để biểu diễn quá trình tách và nối của thuật toán Trong đó nút ở đỉnh tương ứng vớitrang tài liệu ban đầu và là gọi là lớp cao nhất, các nút con tiếp theo là các vùng contương ứng với lớp thứ k của bước chia thứ k các vùng không đồng nhất (mô tả ở hình)
Các bước của thuật toán[7]:
B1: Tại lớp thứ K nếu tìm thấy một vùng không đồng nhất thì tiến hànhchia vùng đó thành 4 vùng nhỏ hơn
B2: Nếu thấy ít nhất 2 vùng trong 4 vùng vừa tách là đồng nhất thì tiếnhành nối chúng lại, còn các vùng không đồng nhất ta qua lại B1 và táchchúng thành các vùng ở lớp thứ K+1
Trang 36 Tiêu chuẩn xác định vùng đồng nhất để nối ghép[7]
Hai vùng tương ứng rm và rn được coi là đồng nhất nếu chúng thảo mãn điều kiệnsau:
Trang 37Trong đó: Nm và Nn biểu thị số vùng con trong mỗi vùng tương ứng rm và rn và biểu thị giá trị trung bình của mỗi vùng tương ứng rm và rn
b) Ưu điểm
- Có thể áp dụng với các loại trang tài liệu có cấu trúc phức tạp vì thuật toán nàykhông quan tâm đến việc phân đoạn các thành phần cơ sở, mà chỉ chia trang tàiliệu thành các vùng hình chữ nhật và xem xét giá trị trung bình của nó Nhưvậy các trang tài liệu có thể bỏ qua khâu xác định và hiệu chỉnh độ nghiêng
- Có thể áp dụng cho các loại trang tài liệu có nhiều loại font chữ khác nhau
- Tốc độ thực hiện nhanh hơn so với Top-down và Bottom-up
c) Hạn chế
- Hiệu quả của thuật toán phụ thuộc vào giá trị trung bình của vùng được xét,trong một số tình huống thì giá trị trung bình của vùng văn bản và vùng đồ họa
là như nhau Cho nên thuật toán này vẫn có thể phân đoạn nhầm
- Không có một giá trị hằng số τ cho mọi trang tài liệu vì thế việc xác định giá τ
Trang 38 Cơ sở toán học tính Fractal Signature[1]
Cho F{Xi,j}, với i=0,1,…,K và j=0,1,…,L là một ảnh tài liệu đa cấp xám, trong đó
Xi,j là giá trị cấp xám của điểm ảnh thứ (i,j) Trong một dải đo nào đấy thì bề mặt tạo bởicác độ xám của các điểm ảnh có thể xem như một phần tử hình học (Fractal) Vùng bềmặt này có thể được dùng để xác định gần đúng hướng hình học của nó (Fractaldimension) Cho một đơn vị đo , khi đó thể tích của một vùng A( ) có thể được tínhxấp xỉ như sau:
B3: Phân đoạn dựa vào FS
Hình 28: Mô tả thuật toán FS
Trang 39(1)trong đó là một hằng số, D là fractal dimension có thể tính được từ A( ) Đểchính xác hơn ta logarithm hai vế của phương trình (1) ta được:
Để tính fractal dimension, chúng ta cần đo được vùng bề mặt mức xám, trong giảithuật này sử dụng đối tượng là một “lớp” (blanket) để tính Ý tướng tưởng của kỹ thuật
sử dụng “blanket” dựa theo định nghĩa về -parallel body F δ ” như sau:
Trong kỹ thuật “blanket” tất cả các điểm trong không gian 3 chiều trong phạm vi tính từ bề mặt mức xám được xét đến Các điểm này tạo thành một “blanket” (lớp) baobọc với độ dầy là của bề mặt đang xét Một ảnh tài liệu được biểu thị qua một hàmmức xám g(i,j) Khối “Blanket” bao bọc được định nghĩa chính là lớp phía trên uδ(i,j) vàlớp phía dưới bδ(i,j) của g(i,j) Và thể tích Volδ của khối blanket được tính như sau:
Định nghĩa: Thể tích Volδ của một Blanket tính được quá bán kính δ, tứ đó ta có thể tínhđược cho một vùng bề mặt hình học (area of a fractal surface) và chúng ta gọi nó là đặctrưng hình học (FS – Fractal Signature):
Theo công thức (1) ta có một vùng bề mặt hình học như sau:
Trang 40Theo đó hướng hình học D có thể được tính, để xác định hướng ta chỉ cần đến 2 điểm vìvậy ta sẽ phải dùng 2 giá trị δ để tính hướng hình học, khi đó ta cho δ = δ1 và δ2, sau đótính:
Ta lấy biểu thức (5) chia cho biểu thức (6) được:
Tiến hành logarithm hai vế ta được:
Vậy D đã được tính:
Ứng dụng phân tích tài liệu dựa vào FS[1]
FS được sử dụng để xác định cấu trúc hình học của một tài liệu Một bề mặt thuđược từ việc ánh xạ hàm mức xám của một ảnh tài liệu, do đó FS phản ánh các đặc tínhchính cần một ảnh tài liệu
Xét một trang tài liệu F, giải thiết nó có một số vùng với các nội dung như văn bản(Texts), đò họa (Graphics) hay nền (Background)
Trong đó:
là tập các vùng văn bản
là tập các vùng đồ họa
tập các vùng nền