Chương 1: Trình bày kiến thức tổng quan về lĩnh vực OCR làm nền tảng cho các nghiên cứu về sau. Chương 2: Trình bày nội dung tìm hiểu về công nghệ mã nguồn mở Tesseract OCR, công nghệ Android, mô hình client/server, công nghệ dịch Google Translate. Các công nghệ, mô hình này được sử dụng để xây dựng hệ thống. Chương 3: Giới thiệu kiến trúc và các thành phần cơ bản của hệ thống nhận dạng và dịch trên thiết bị di động đã xây dựng.
Chương 4: Trình bày kết quả thực nghiệm chức năng rút trích thông tin từ ảnh của hệ thống cũng như so sánh một sách tương đối kết quả OCR với một số hệ thống khác. TIEU LUAN MOI download : skknchat@gmail.com 8 CHƢƠNG 1 – TỔNG QUAN VỀ OCR 1. Giới thiệu về OCR Hình 1. Ứng dụng OCR[21] 1.
OCR là gì OCR (optical character recognition)[7] là lĩnh vực nhận dạng ký tự quang học. Kỹ thuật này cho phép máy tính tự động nhận dạng ký tự thông qua cơ chế quang học. Đối tượng của OCR là ảnh scan các tài liệu, sách, hoặc các video liên quan. Mục tiêu của OCR là chuyển các nguồn tài liệu này sang các định dạng có thể chỉnh sửa và tìm kiếm được.
Vào những những năm đầu của thế kỷ 20, các nhà khoa học đã quan tâm nghiên cứu trong lĩnh vực OCR. Tuy nhiên kết quả lúc bấy giờ vẫn còn rất hạn chế. Từ những năm 90 đến nay, OCR có những nghiên cứu mang tính đột phá, kết hợp với những công nghệ tiến tiến của thời đại đã cho ra đời những hệ thống OCR mạnh mẽ và hiệu suất cao. TIEU LUAN MOI download : skknchat@gmail.com 9 Năm 1929, đã xuất hiện chiếc máy nhận dạng chữ số.
Đến những năm đầu của thập niên 1950, chiếc máy đầu tiên có khả năng chuyển tài liệu bản in thành ngôn ngữ trên máy tính được phát minh bởi David Shepard, một chuyên gia về giải mã làm việc cho cơ quan An Ninh quốc gia Hoa Kỳ. Năm 1955 khi Reader‟s Digest mua lại công nghệ này, sản phẩm từ công nghệ OCR được đưa ra thương mại hóa lần đầu tiên. Tuy nhiên mãi đến năm 1978, phiên bản OCR cho máy tính mới được ra đời; ứng dụng đầu tiên của nó là dùng để tải những văn bản luật và tin tức lên cơ sở dữ liệu trực tuyến. Ngày nay, công nghệ OCR được kết hợp với máy scan tốc độ cao và những thuật toán máy tính phức hợp đã làm gia tăng tốc độ xử lý cũng như sự chính xác của dữ liệu.
Những công nghệ OCR hiện tại đều có thể nhận dạng hầu hết các font chữ với độ chính xác cao, một số còn hỗ trợ khả năng kết xuất ra những đoạn văn bản có định dạng gần giống hoàn toàn với bản gốc[21]. Ngoài công nghệ nhận dạng ký tự quang học OCR thì hiện nay còn có thêm nhiều cơ chế nhận dạng tiêu biểu khác[9] được ứng dụng vào thực tế như: nhận dạng ký tự thông minh ICR (Intelligent Character Recognition), nhận dạng vùng đánh dấu OMR (Optical Mark Recognition), nhận dạng chữ mực từ MICR (Magnetic Ink Character Recognition) và cơ chế nhận dạng mã vạch (barcode). Các công nghệ tiên tiến này đã hỗ trợ rất nhiều cho các tổ chức và doanh nghiệp trong việc xử lý thông tin phát sinh xuyên suốt quá trình hoạt động. Những lĩnh vực thường được ứng dụng các công nghệ nhận dạng trên là giáo dục, tài chính, y tế, bảo hiểm, giao vận và ngay cả trong các tổ chức của chính phủ như thuế, hải quan[21].
Công nghệ nhận dạng OCR đã tạo ra sự ảnh hưởng to lớn trong việc lưu trữ, chia sẻ và chỉnh sửa thông tin. Trước đây, nếu chúng ta muốn chuyển một quyển sách từ bản in sang bản điện tử thì cách duy nhất là ngồi nhập thủ công toàn bộ quyển sách vào máy tính thông qua chương trình soạn thảo văn bản, và điều này buộc chúng ta phải trả giá với một khoảng thời không nhỏ. Tuy nhiên, ngày nay với sự phát triển vượt bậc của công nghệ thông tin, chỉ cần một máy scan kết nối với một máy tính tích hợp sẵn phần mềm nhận dạng OCR, bằng một vài thao tác đơn giản, toàn bộ quyển sách sẽ được chuyển thành tập tin đúng như mong muốn của người sử dụng. Do đó có thể nói, công nghệ OCR đã giúp người ta đến gần với nhiều dạng thông tin hơn, xóa bỏ nhiều rào cản về việc chia sẻ nguồn tri thức của nhân loại.
Mặc dù không được sử dụng phổ biến và nhắc đến nhiều như các ngành công nghiệp viễn thông, phần cứng hay phần mềm nhưng ngành công nghiệp TIEU LUAN MOI download : skknchat@gmail.com 10 nhận dạng lại mang đến hiệu quả rõ ràng nhất khi được đưa vào ứng dụng trong thực tế. Việc chuyển đổi thông tin từ tài liệu giấy sang tài liệu điện tử giúp nhiều người dùng có thể truy cập thông tin một cách dễ dàng, cùng một lúc dù ở bất cứ đâu mà không phải chờ đợi hoặc mất quá nhiều thời gian cho việc tìm kiếm. Điều này cũng tạo cho công tác quản lý và bảo mật thông tin trở nên đơn giản hơn khi tất cả những thay đổi hoặc ngày giờ truy cập thông tin đều được kiểm soát chặt chẽ. Đối với các doanh nghiệp, các tổ chức, các cơ quan hành chính, công nghệ OCR mang lại nhiều lợi ích kinh tế, tiết kiệm được những khoảng chi phí không nhỏ như giảm thiểu không gian lưu trữ, giảm tối đa nguồn nhân lực trong công tác quản lý thông tin.
Hiện nay nhiều ứng dụng OCR được đưa ra sử dụng dưới dạng offline trên máy tính hoặc tích hợp và chạy online trên các thiết bị OCR chuyên dụng. Đặc biệt các hệ thống OCR thời gian thực được chú trọng phát triển. Các kỹ thuật nhận dạng hiện nay kết hợp rất hiệu quả với một số phương pháp luận trong lĩnh vực học máy (machine learning) như mạng nơ ron, mô hình Markov ẩn, SVM (supper vector machines), xử lý ngôn ngữ tự nhiên. Mặc dù được phát triển mạnh mẽ, nhưng kết quả nghiên cứu trong lĩnh vực OCR cũng gặp phải những trở ngại nhất định.
OCR không bao giờ đạt tới tỷ lệ chính xác 100% trong nhiều trường hợp. Các yếu tố ảnh hưởng nhiều đến kết quả OCR như chất lượng ảnh đầu vào, bố cục ảnh, loại font chữ, các ký tự đặc biệt (ví dụ công thức toán học), các dạng chữ viết phức tạp (như chữ Trung Quốc) và một số yếu tố khác. Một số công nghệ, phần mềm OCR tiêu biểu Lĩnh vực OCR hiện nay được rất nhiều cá nhân, tổ chức quan tâm nghiên cứu, nhiều công nghệ OCR ra đời và được ứng dụng rộng rãi trong nhiều lĩnh vực liên quan đến nhận dạng. Dưới đây liệt kê danh sách một số phần mềm OCR tiêu biểu[17]: Tên Giấy phép ABBYY FineReader Proprietary AnyDoc Software Proprietary Brainware Proprietary CuneiForm/OpenOCR BSD variant ExperVision TypeReader & RTK Proprietary GOCR GPL Image to OCR Converter Proprietary LEADTOOLS Proprietary Microsoft Office Document Imaging Proprietary TIEU LUAN MOI download : skknchat@gmail.com 11 Microsoft Office OneNote 2007 Proprietary Nicomsoft CrystalOCR Proprietary Ocrad GPL OCRopus GPL OCRopus Apache OmniPage Proprietary Puma.NET BSD Readiris Proprietary ReadSoft Proprietary RelayFax Proprietary Scan2CAD Proprietary Scantron Proprietary SimpleOCR Freeware and Commercial SmartScore Proprietary Tesseract Apache Transym OCR Proprietary 1.
Một số khái niệm cơ bản Pixel (Picture element)[2] : Ảnh trong thực tế là một ảnh liên tục về không gian và giá trị về độ sáng. Ảnh cần phải số hóa để có thể xử lý ảnh bằng máy tính. Trong quá trình số hóa ảnh người ta biến đổi tín hiệu liên tục thành tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng hóa thành phần giá trị mà nguyên tắc mắt thường không phân biệt được hai điểm kề nhau. Khái niệm Picture Element (ta quen gọi hay viết là pixel - phần tử ảnh, điểm ảnh) được sử dụng trong quá trình này.
Do vậy một ảnh có thể coi là một tập các pixel. Ở đây cũng cần phân biệt khái niệm pixel hay đề cập đến trong các hệ thống đồ họa máy tính. Để tránh nhầm lẫn ta tạm gọi khái niệm pixel này là pixel thiết bị. Khái niệm pixel thiết bị có thể xem xét như sau: khi ta quan sát màn hình (chế độ đồ họa), màn hình không liên tục mà gồm nhiều điểm nhỏ, gọi là pixel.
Trong ảnh 2 chiều, mỗi pixel gồm một cặp tọa độ x, y và màu. Độ phân giải của ảnh(Resolution)[2]: chính là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị. Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được bố trí theo hai trục x, y trong không gian hai chiều.
Đơn vị cho độ phân giải là dpi (dots per inch). TIEU LUAN MOI download : skknchat@gmail.com 12 Mức xám của ảnh: Mỗi điểm ảnh đều có một cường độ sáng. Mỗi mức xám là kết quả của sự mã hóa tương ứng một cường độ sáng của mỗi điểm ảnh với một giá trị số - kết quả của quá trình lượng hóa. Các thang giá trị mức xám thông thường là 16, 32, 64, 128, 256, trong đó mức thông dụng nhất là 256, mỗi pixel được mã hóa bởi 8 bit.
Ảnh nhị phân: Tùy theo giá trị mức xám của điểm ảnh mà các ảnh được phân chia ra thành ảnh màu, ảnh xám hay ảnh nhị phân. Khi trên một ảnh chỉ có giá trị 0 hoặc 1 thì ta nói đó là một ảnh nhị phân hay một ảnh đen trắng và các điểm ảnh của nó gọi là điểm ảnh nhị phân. Ảnh màu: hay còn gọi là ảnh RGB. Cách biểu diễn cũng tương tự như ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba màu riêng lẻ gồm: đỏ (Red), lục (Green), lam (Blue).
Để biểu diễn cho một điểm ảnh màu cần 24 bit, 24 bit này chia thành 3 khoảng 8 bit. Mỗi khoảng này biểu diễn cho cường độ sáng của một trong các màu chính tổ hợp của các màu ta được nhiều mức biểu diễn, như vậy mỗi điểm ảnh có thể được mô tả rõ giá trị màu tự nhiên của nó (true color). Ảnh đa cấp xám: là ảnh có nhiều mức xám khác nhau. Thực tế chỉ ra rằng bất cứ ứng dụng nào trên ảnh mức xám cũng được ứng dụng trên ảnh màu.
Ta có thể biến đổi ảnh màu về ảnh xám. Mỗi điểm ảnh màu gồm 3 giá trị (Red, Green, Blue), nếu 3 giá trị này bằng nhau thì ta có ảnh xám (grey). Khi đó mỗi điểm ảnh ta chỉ cần lưu 1 giá trị. Các đường cơ bản trong dòng text Hình 1.