现代光学字符识别技术综述
文章目錄
- 摘要
- 1 介紹
- 1.1 OCR是模式識別的一個成功分支
- 1.2 兩類OCR系統
- 1.3 現代OCR的主要趨勢
- 1.4 本報告的主要關注點和動機
- 2 光學字符識別
- 2.1基本ocr技術
- 2.2當前可用的OCR系統
- 2.2.1商用OCR解決方案
- 2.2.2 開源領域OCR資源
- 2.3光學字符識別困難的原因
- 2.4 文檔圖像類型
- 2.4.1掃描文件
- 2.4.2 其他媒體
- 2.5 腳本和語言問題
- 2.5.1 復雜文字(復雜字符腳本)
- 2.5.2 處理各種腳本的技術
- 2.6 語言混合的效果
- 2.7 字符類型
- 2.8 手寫字體識別
- 2.9 靈活性
- 2.10 準確率
- 2.10.1 When ground truth is present
- 2.10.2 When ground truth is absent
- 2.10.3 商用OCR引擎精度
- 2.11 Productivity
- 2.11.1 通用閱讀器
- 2.11.2 任務特定讀卡器
- 3 OCR預處理
- 3.1 文檔圖像缺陷
- 3.3 文檔分割
- 3.3.1文本與其他材料
- 3.3.2 查找文本行
- 3.3.3 文本閱讀順序檢測
- 4 OCR后處理
- 5 總結
- 5.1 結論
- 5.2有前途的方向
摘要
本報告探討了數字文檔識別領域的最新進展。以印刷文檔圖像為重點,討論了光學字符識別(OCR)和文檔圖像增強/恢復在拉丁和非拉丁文字應用中的主要發展。此外,我們還回顧和討論了現有的手寫文檔識別技術。在本報告中,我們還提供了一些公司在現有OCR引擎上積累的基準結果。
1 介紹
光學字符識別(OCR)是將機器打印或手寫文本(數字、字母和符號)掃描圖像轉換為機器可讀字符流、純文本(如文本文件)或格式化(如HTML文件)的過程。如圖1所示,典型OCR系統中的數據路徑包括三個主要階段:
- 文檔數字化
- 字符/單詞識別
- 輸出分布
在第一階段中,掃描器以光學方式捕獲文檔中的文本并生成文檔圖像。掃描儀技術的最新進展使高分辨率文檔掃描得到廣泛應用。與早期的黑白模板匹配方法不同,現代基于特征的光學識別方法要求圖像空間分辨率至少為每英寸200個點(dpi),并且可以從灰度文本圖像中獲益。較低的分辨率和簡單的雙調閾值往往會打斷細線或填補空白,從而扭曲或使識別階段所需的字符特征失效。
第二個(也是最有趣的)階段負責文檔圖像中的字符和/或單詞識別。該過程包括四個操作:
- 可選的圖像分析:圖像質量評估、文本行檢測、文字和字符提取等。
- 可選的圖像增強:去除斑點和其他圖像噪聲,填充孔洞和裂縫等。
- 字符/單詞識別通常基于其形狀和其他特征
- 可選的上下文處理來限制特性搜索空間
在第三(最后)階段,輸出接口將OCR結果傳遞給外部世界。
例如,許多商業系統允許將識別結果直接放入電子表格、數據庫和文字處理程序中。其他商業系統在進一步的自動匹配處理中直接使用識別結果,當處理完成時,識別結果將被丟棄。在任何情況下,輸出接口對OCR系統至關重要,因為它將結果傳遞給OCR系統之外的用戶和程序域。
1.1 OCR是模式識別的一個成功分支
在歷史上,光學字符識別被認為是一種解決特定類型的模式識別問題的技術。的確,要從給定的圖像中識別一個字符,需要(通過一些已知的度量)將這個字符的特征模式與給定字母表中一些非常有限的已知特征模式參考集進行匹配。這顯然是一個典型的模式識別問題。
字符分類一直是模式識別新思想的試驗場,但由于許多此類實驗都是在孤立的字符上進行的,其結果往往不能立即反映在OCR應用中。光學字符識別在其歷史上一直在穩步發展,引發了一系列令人興奮的研究課題,并產生了許多強大的實際應用。目前它被認為是機器視覺的最佳應用和模式識別理論中最成功的研究分支之一。
1.2 兩類OCR系統
自從20世紀50年代引入OCR系統以來,已經開發了數百個OCR系統,其中許多系統在今天已經商業化。商業OCR系統大體上可以分為兩類:任務專用閱讀器和通用頁面閱讀器。
特定于任務的讀取器僅處理特定的文檔類型。一些最常見的任務特定的讀卡器處理標準表單、銀行支票、信用卡單等。這些讀卡器通常使用定制的圖像提升硬件,僅捕獲幾個預定義的文檔區域。例如,銀行支票閱讀器可能只掃描“禮節金額”字段,而郵政OCR系統可能只掃描郵件上的地址塊。這種系統強調高吞吐量和低錯誤率。諸如信件閱讀之類的應用程序的一般吞吐量為每秒12個字母,錯誤率小于
2%。許多特定任務閱讀器中的字符識別器能夠識別手寫文本和機器打印文本。
通用頁面閱讀器設計用于處理更廣泛的文檔,如商業信函、技術文章和報紙。典型的通用閱讀器的工作原理是:捕捉文檔頁面的圖像,將頁面分為文本區域和非文本區域,對文本區域應用OCR,并將非文本區域與輸出文本分開存儲。大多數通用頁面閱讀器可以閱讀機器書寫的文本,但只有少數人能夠閱讀手寫的字母數字。高端頁面閱讀器具有高級識別功能和高數據吞吐量。低端頁面閱讀器通常與一般的平板掃描儀兼容,這些掃描儀主要用于辦公環境中的臺式計算機,而臺式計算機對系統精度或吞吐量的要求較低。一些商業OCR軟件是自適應的,允許用戶根據客戶的數據對光學識別引擎進行微調,以提高識別精度。
1.3 現代OCR的主要趨勢
光學字符識別是一個發展迅速的技術領域,目前已廣泛應用于各種規模的項目中,從偶爾的文檔掃描到創建大量的數字文檔檔案。然而,它仍然是一個活躍的科學研究和創造性工程領域。在現代OCR領域,我們可以發現以下主要的研究趨勢:
自適應OCR旨在通過尋址來對更廣泛的打印文檔圖像進行穩健處理
- 多腳本和多語言識別[17,39,40,56,85]
- 泛字體文本[8,36,49,81,64]
- 自動文檔分割[15,19,41,47,57,63,66]
- 數學符號識別[19,26,35,62,89]
手寫識別[11,85,86]是一種成熟的OCR技術,必須具有非常強大的適應性。總的來說,它仍然是一個被積極研究的開放性問題,對于一些特殊的應用,如
- 表格中手寫文本的識別[16,72,77]
- 個人支票筆跡識別[48]
- 郵政信封和包裹地址閱讀器[46]
- 便攜式和手持設備中的OCR[33,34,60]
文檔圖像增強[12,18,55,88]涉及(自動)選擇并將適當的圖像過濾器應用于源文檔圖像,以幫助給定的OCR引擎更好地識別字符和單詞。
智能后處理[9,13,45,51,73,93]對于提高OCR識別精度和創建健壯的信息檢索(IR)系統具有重要意義,該系統利用智能索引和近似字符串匹配技術來存儲和檢索有噪聲的OCR輸出文本。
多媒體中的OCR[20,50,52,53,54,61,75,90]是一個有趣的發展,它適應了光學字符識別技術,而不是印刷文檔,如照片、視頻和互聯網。
1.4 本報告的主要關注點和動機
這項調查的主要焦點是最新發展的光學字符識別應用于印刷文件圖像。草書和手寫體識別也被討論,但程度較低。在后面的章節中,我們將在上述主題的背景下詳細闡述正在進行的研究以及商業和公共領域的OCR解決方案。
更具體地說,第2節介紹了OCR領域及其主要技術,回顧了當前可用的OCR系統,然后詳細闡述了腳本和語言問題、準確性和性能。第三節討論了文檔圖像的缺陷、文檔圖像預處理和自動頁面分割的重要性。在第4節中,我們將討論在處理噪聲OCR輸出時出現的信息檢索(IR)問題。在報告的最后,我們總結了所討論的OCR問題,并對光學字符識別領域的一些有希望的方向進行了展望。
2 光學字符識別
雖然OCR代表“光學字符識別”,但一些OCR程序不是通過單個字符來識別文本,而是通過字符塊、單詞甚至單詞組來識別文本。因此,為了使討論更一般化,討論識別單元或項目是有意義的。
2.1基本ocr技術
光學字符識別有各種各樣的方法。 其中一些需要預先分割成識別項,其中一些不需要,但我們可以安全地期望任何OCR算法都擁有這兩個基本組件:
- 一個特征提取器
- 一個分類器
給定項目圖像,特征提取器導出項目所擁有的特征(描述符。 然后將導出的特征用作分類器的輸入,該分類器確定(最有可能)已知的項與觀察到的特征相關。 分類器還期望給出一個置信水平數,它告訴分類器對識別項的確定程度。 讓我們簡要描述一些經典的光學字符識別方法。
給定一個項目圖像,特征提取器導出該項目所擁有的特征(描述符)。然后將派生的特征用作分類器的輸入,分類器確定(最有可能)與觀察到的特征相對應的已知項。分類器還需要給出一個置信度,該值表示分類器對已識別項的確定程度。讓我們簡單介紹一些經典的光學字符識別方法。
模板匹配是最常見和最基本的分類方法之一[70,第8.2節]。它也被稱為矩陣匹配。一組所有的字符圖像原型,模板,是收集和已知的先驗知識。特征提取程序使用單個圖像像素作為特征。字符分類是通過將輸入字符圖像與模板數組進行比較來執行的。每次比較都會導致輸入字符和模板之間的相似性度量(由已知的“距離”函數給出)。當觀察到的字符中的一個像素與模板圖像中的相同像素相同(匹配)時,相似度增加。當對應的像素不同(不匹配)時,相似性度量可能降低。結果,角色的身份被指定為模板最相似的那個。
結構分類方法使用結構特征和決策規則對字符進行分類[70,第8.3節]。結構特征可以根據筆劃、字符孔或其他字符屬性(如角和凹面)來定義。例如,字母“P”可以被描述為“在右上側附加有彎曲筆劃的垂直筆劃,形成一個孔”。為了對字符進行分類,提取輸入字符的結構特征,并采用基于規則的系統來計算字符的類別。
請注意,上面的技術都是以它們的標準形式描述的,但是它們有許多方法上的變化和混合的方法。例如,模板匹配不必基于像素,例如可以匹配圖像和模板的小波變換。結構分類并不總是依賴于決策規則,例如,可以使用一個在特征空間中具有適當度量的最近鄰分類器。
許多現代OCR系統都是基于數學形式,以盡量減少一些誤分類的措施。這種字符識別器可以使用基于像素的特征或結構特征。讓我們談談其中的一些:
判別函數分類器利用多維特征空間中的超曲面,將字符的特征描述從不同的語義類中分離出來。這種分類器的目的是減少均方分類誤差。
貝葉斯分類器通過使用概率論尋求最小化與字符誤分類相關的損失函數。
人工神經網絡(ANN)起源于人和動物的感知理論,利用誤差反向傳播技術學習一些非平凡的字符分類圖,并利用數學優化技術來減少可能的分類誤差。
2.2當前可用的OCR系統
自從第一個OCR系統引入以來,商業和公共領域的OCR系統已經有成百上千個了。下面,我們提到并簡要地描述了一些當前可用的OCR引擎。
2.2.1商用OCR解決方案
許多商業OCR系統最初是大學項目、共享軟件或免費軟件程序,后來發展成成熟的高質量OCR引擎、軟件開發工具包(SDK)和隨時可用的軟件產品,以滿足當今OCR市場的高期望。
由ScanSoft提供的捕獲開發系統12(http://www.scansoft.com/)通過提供精確的OCR引擎、先進的圖像增強工具、文檔處理功能和對廣泛的輸入/輸出過濾器(包括PDF)的支持,使軟件開發人員能夠降低開發成本和上市時間,XML和開放電子書標準。標準版本處理歐洲腳本,并有一個擴展分別處理中文、日文和韓文。
ABBYY的FineReader 7.0(http://www.abbyy.com/)是專門為網絡環境設計的OCR應用程序。它將高精度和格式保留與強大的網絡功能相結合,為需要轉換和復制各種紙質文檔和PDF文件以進行編輯和歸檔的公司提供了一個良好的OCR解決方案。FineReader可以閱讀177種語言,包括英語、德語、法語、希臘語、西班牙語、意大利語、葡萄牙語、荷蘭語、瑞典語、芬蘭語、俄語、烏克蘭語、保加利亞語、捷克語、匈牙利語、波蘭語、斯洛伐克語、馬來語、印度尼西亞語等。內置拼寫檢查可用于34種語言。
Sakhr自動閱讀器7.0(http://www.sakhr.com/)是阿拉比克文字的標準OCR閱讀器之一。Sakhr-OCR結合了兩種主要技術:Omni技術(依賴于人工智能的高度先進研究)和提高字符識別精度的訓練技術。它可以通過Xerox文本橋技術實現文檔圖像的自動分割和多個腳本的識別。
諾沃德DX公司(http://www.novodynamics.com/)是一個集成信息檢索(IR)系統,可以準確地處理用目標語言編寫的大量文檔。系統能夠
- 準確處理降級文件
- 處理用亞洲語言編寫的文件,例如阿拉伯語
- 擴展到多種語言
作為國防部項目的一部分,NovoDynamics最初設計此軟件用于某些語言,并通過與In-Q-Tel的業務合作得到增強。
國際神經機器公司的neurtalker可以作為一個“快速、輕量級”的OCR引擎,它通過將圖像復制到剪貼板,然后粘貼為文本來運行。
BBN是一個可訓練的系統,聲稱完全獨立于腳本,而不是訓練和應用程序數據應該明顯匹配。
Prime OCR是一個投票系統,一個人可以獲得多達6個其他商業引擎在里面。
楔形文字被稱為拉丁文字的快速OCR引擎。
Visulata的Visulata OCR軟件在多個LINUX和UNIX平臺上使用了Caere(ScanSoft)OCR技術。
2.2.2 開源領域OCR資源
大多數公開的(免費的)OCR軟件主要是為基于UNIX和LINUX的系統開發的[25]。公有領域OCR程序是用C或C++等最流行的編程語言編寫的,并與源代碼一起分發,因此它們是開源系統。除了免費之外,開源OCR系統非常靈活,而且對軟件開發人員非常友好。開源系統的一個明顯的缺點是需要編譯并使其在用戶的本地平臺上可執行,這需要一個合適的編譯器,而且通常需要軟件開發人員的專業知識。下面我們列出了一些這樣的系統:
NIST基于表單的手印識別系統:[27,28]一個由NIST開發的基于標準參考表單的手印識別系統。識別系統處理與NIST專用數據庫1和3一起分發的手寫樣本表格。系統讀取包含數字、小寫字母、大寫字母的手寫字段,并讀取包含美國憲法序言的文本段落。源代碼用于表單注冊、表單移除、字段隔離、字段分段、字符規范化、特征提取、字符分類和基于字典的后處理。據悉,該系統已在Digital Equipment Corporation(DEC)Alpha、Hewlett-Packard(HP)型號712/80、IBM RS6000、Silicon Graphics Incorporated(SGI)Indigo 2、SGI Onyx、SGI Challenge、Sun Microsystems(Sun)IPC、Sun SPARCstation 2、Sun 4/470和Sun SPARC station 10上成功編譯和測試。
Illuminator:[76]一個開源軟件工具集,用于開發OCR和圖像理解應用程序,由RAF Technology于1999年開發。Illuminator有兩個主要部分:一個用于表示、存儲和檢索OCR信息的庫(稱為DAFSLib)和一個稱為illum的X-Windows“DAFS”文件查看器。
CalPoly OCR:[84]軟件最初是在Clint Staley教授的指導下為加利福尼亞理工州立大學的計算機視覺課程項目編寫的。眾所周知,該系統是字體專用的,可以很好地處理接受培訓的高端HP激光打印機上的字體,但不能保證能在其他打印機上使用。它是加州保利利用大學資源開發的,因此只能用于學術目的,不能用于商業利益。
Xocr:[7]一個共享的OCR軟件,由 Martin Bauer(Martin Bauer@S2.maus.de)r為LINUX系統上的X11編寫。經過一些努力,它可以移植到SunOS。
2.3光學字符識別困難的原因
字符誤分類主要來源于兩個方面:識別單元(項目)圖像質量差和分類器的識別能力不足。有許多因素會導致嘈雜、難以識別的物品圖像:
- 原始文件質量差
- 噪聲、低分辨率、多代圖像掃描
- 圖像預處理不正確或不足
- 項目分割不好
另一方面,字符識別方法本身可能對給定的字符(項)集缺乏適當的響應,從而導致分類錯誤。由于訓練集有限或分類器的學習能力有限,這類錯誤很難處理。
機器印刷字符的典型識別率可以達到99%以上,但手寫字符的識別率卻始終較低,因為每個人的書寫方式不同。這種隨機性通常表現在特征空間中字符的變化更大,從而導致更高的誤分類率。
“困難”字符的一個常見例子是字母“O”很容易與數字“0”混淆。另一個很好的例子是字母“l”與數字“1”混淆,或者被誤認為是字母“I”的嘈雜圖像。
Rice等人。[64,78]討論人類與計算機的字符識別能力,并給出識別錯誤的示例。其錯誤原因分類的頂層包括:
- 由于重/輕打印、雜散標記、彎曲基線等造成的成像缺陷。
- 上述類似符號
- 由逗號和句點、引號、特殊符號等引起的標點符號。
- 由于斜體和間距、下劃線、陰影背景、不尋常字體、非常大/小字體等造成的排版。
對當前系統的優勢和不足之處進行深入分析,為未來系統的發展提供了一個思路。他們得出的結論是,目前的OCR設備即使在7歲兒童的水平上也無法閱讀。作者認為有四個潛在的改進來源:
- 基于對打印、復印和掃描過程更精確的建模,更好地進行圖像處理
- 通過將分類器微調到當前文檔的字體,自適應字符分類
- 利用排版文本中的樣式一致性進行多字符識別
- 根據文檔的語言屬性增加對上下文的使用,并且可能因語言而異
基于他們所遇到的錯誤的多樣性,他們傾向于相信OCR的進一步進展更可能是多種技術組合的結果,而不是任何單一的新的總體原則的發現。
2.4 文檔圖像類型
大多數光學字符識別系統都是為處理白底黑文本的雙色調圖像而設計的。即使在這種看似簡單的成像地形中,由于圖像空間分辨率、顏色編碼方法和壓縮方案的變化,也存在著多種圖像格式。
典型的傳真掃描文檔圖像是雙色調(每像素一位),空間分辨率為每英寸200點(dpi)。對于高質量的OCR,此分辨率可能并不總是足夠的。現代字符識別引擎可以更好地處理掃描速度為300 dpi或更高的文檔。數字圖書館試圖合理地保持原始文檔的質量,通常需要600 dpi的灰度(每像素8位)甚至真彩色(24位/像素)掃描。
然而,高分辨率的彩色圖像會對系統的存儲造成損失,并且會變得非常大,無法大量存儲。智能數字圖書館對文本和非文本內容使用不同的壓縮方案。用于雙色調文本圖像的典型壓縮方法是CCITT Fax Group 3和Group 4[22,23,24],而實際圖像最好使用JPEG技術進行壓縮。下面我們介紹一些最流行的圖像和文件格式及其對OCR的適用性。
TIFF代表標記圖像文件格式(Tagged Image File Format)。它是當前為光柵數據交換而設計的最流行和最靈活的公共領域光柵文件格式之一。TIFF是由Aldus和微軟公司聯合開發的。Adobe Systems收購了Aldus,現在擁有TIFF規范的版權。由于它是由打印機、掃描儀和監視器的開發人員設計的,所以它有一個非常豐富的空間來進行色度校準和色域表。
理論上,TIFF可以支持多波段(最多64K波段)、任意位數的每像素、數據立方體和每個文件多個圖像,包括縮略圖子采樣圖像。支持的顏色空間包括灰度、偽彩色(任意大小)、RGB、YCbCr、CMYK和CIELab。TIFF支持以下壓縮類型:raw uncompressed、PackBits、Lempel Ziv Welch(LZW)、CCITT Fax 3和4、JPEG;以及像素格式:1-64位整數、32或64位IEEE浮點。
TIFF的主要優勢在于,它是一種高度靈活且獨立于平臺的格式,受到眾多圖像處理應用程序的支持。TIFF的一個主要局限性是缺少存儲矢量圖形和文本注釋的任何規定,但這對OCR來說并不是很大的威脅,因為大多數識別引擎都使用光柵圖像表示。
BMP或bitmap,是一種在Windows和OS/2操作系統下廣泛使用的光柵圖像格式。BMP文件以獨立于設備的位圖(DIB)格式存儲,允許操作系統在任何類型的顯示設備上顯示位圖。DIB以獨立于顯示器表示顏色的方法的形式指定像素顏色。
Windows 3.0及更高版本支持運行長度編碼(RLE)格式,用于壓縮每像素使用4或8位的位圖。壓縮減少了位圖所需的磁盤和內存存儲空間。顯然,這種壓縮是以犧牲顏色的多樣性和深度為代價的,但是對于雙色調或基于灰度的OCR系統來說,這并不存在問題。
位圖文件特別適合存儲真實世界的圖像;復雜的圖像可以與視頻、掃描和攝影設備一起柵格化,并以位圖格式存儲。BMP是一種非常適合存儲文檔圖像的直接圖像格式,但它不像TIFF那樣復雜和靈活。
PCX是PC上可用的最古老的光柵格式之一,最初由Z-soft為其基于PC的畫筆軟件建立。因為它已經存在了這么長時間,現在有許多版本的PCX。目前大多數軟件都支持PCX格式的版本5。版本3只支持256種顏色,但不允許自定義調色板。這意味著當您打開一個版本3的PCX文件時,將使用標準的VGA調色板。PCX保留了所有的圖像信息(類似于BMP),但是它不使用壓縮,因此內存效率很低。
JPEG代表聯合攝影專家組(Joint Photographic Experts Group),該委員會的原名是為有損圖像壓縮制定了這一標準,它犧牲了一些圖像質量,以大大縮小文件大小。JPEG是為壓縮自然場景和真實場景的全彩色或灰度圖像而設計的。它在照片、自然藝術和類似材料上都很好地工作;在文字、簡單卡通或線畫方面不太好。JPEG壓縮利用了這樣一個事實:人眼感知到的小顏色變化比亮度的微小變化要精確。因此,JPEG是用來壓縮人類將要看的圖像的。但是,JPEG壓縮引入的小錯誤可能會對機器視覺系統造成問題;而且由于JPEG在雙色調圖像上的性能不足,因此JPEG不是OCR中推薦的圖像文件格式。
GIF代表圖形交換格式(Graphic Interchange Format)。它在20世紀80年代被CompuServe信息服務作為一種在數據網絡上傳輸圖像的有效手段而普及。上世紀90年代初,GIF因其高效性和廣泛的熟悉性而被萬維網采用。今天網絡上絕大多數的圖片都是GIF格式的。GIF文件僅限于支持不超過256種顏色的8位調色板。GIF格式合并了一個壓縮方案,以將文件大小保持在最小值。GIF對于文本和圖表的圖像比對真實世界的圖像更有效。這使得GIF對于處理二級和灰度圖像的OCR系統來說是一個很有吸引力的選擇(通常比TIFF更直接)。然而,TIFF的CCITT傳真壓縮可以產生更緊湊的圖像。
PNG代表便攜式網絡圖形( Portable Network Graphics)。這種格式旨在逐步淘汰舊的和簡單的GIF格式,并為更復雜的TIFF格式提供一種實用的替代方案。
對于Web而言,PNG確實比GIF有三大優勢:alpha通道(可變透明度)、gamma校正(跨平臺控制圖像亮度)和二維隔行掃描(一種漸進式顯示方法)。和GIF一樣,PNG提供了無損壓縮(不犧牲圖像質量以減小文件大小),但在這方面做得更好。與GIF不同,PNG只支持每個文件一個圖像。
與TIFF不同,PNG規范對支持的格式特性的實現非常嚴格,這意味著圖像文件的可移植性比TIFF好得多。然而,對于文本或圖紙的黑白圖像,TIFF的第4組傳真壓縮或JBIG格式通常比1位灰度PNG好得多。
PDF代表可移植文檔格式(Portable Document Format)。它是由Adobe公司開發的,目的是從文檔發布應用程序中獲取精確的模板信息,從而可以交換格式化的文檔,并讓它們顯示在接收者的監視器或打印機上,就像它們在原始應用程序中看到的那樣。
作為PostScript格式的一個緊湊版本,PDF是一種非常先進和精細的文件格式,它支持矢量和光柵圖形,應用各種有損和無損壓縮方案來減小文件大小。盡管這是一種專有的Adobe格式,但文件格式規范和查看器軟件都是免費分發的。PDF圖像大小適中,通常在300 dpi時每頁大約50KB。這種格式的典型應用包括經濟高效的文檔歸檔(不需要文本搜索)和按需打印/傳真。為了處理文本的PDF圖像,OCR軟件需要一個復雜的PDF閱讀器,可以通過免費提供的格式規范購買或構建。
在一個OCR系統中,這種豐富多樣的圖像格式可能難以支持,并且圖像格式轉換器常常必須使用。此類轉換器可用于:
- 獨立(有時是開源)實用程序(例如bmp2tiff)
- 圖形庫的一部分(例如ImageMagick)
- 部分商業圖像處理軟件(如Adobe Photo Shop)
雖然OCR技術主要涉及掃描的紙質文檔,但目前OCR技術在其他媒體(如數字照片、視頻和萬維網)中的適用性正在不斷擴大。這里的主要任務仍然相同:在圖像中查找文本;但是圖像格式不必固定為黑白。在這一具有挑戰性的領域中,研究人員追求的最終目標是建立一個OCR系統,能夠識別以任何格式編碼的任何靜止或動態圖像中的任何文本。
在下面的兩個小節中,我們將討論傳統的OCR(掃描文檔)和非傳統的(其他媒體)圖像格式。
2.4.1掃描文件
由于文檔圖像格式的多樣性,大多數商用現成(COTS)OCR解決方案可以使用不止一種圖像文件格式,并且可以適應各種空間分辨率和像素深度。許多COTS-OCR軟件包都提供了一套豐富的圖像處理實用程序,可以分析輸入圖像并將其轉換為最適合給定OCR引擎的格式。讓我們談談一些流行的商業OCR解決方案以及它們支持的圖像格式。
ScanSoft Capture Development System 12提供多種圖像和應用程序格式支持,包括BMP、GIF、TIF、PDF、HTML、Microsoft Office格式、XML和開放式電子書。
ABBYY Fine Reader 7.0可以處理各種格式的黑白、灰度和彩色圖像,包括BMP、PCX、DCX、JPEG、JPEG 2000、PNG、PDF和TIFF(包括多圖像,采用以下壓縮方法:Unpacked、CCITT Group 3、CCITT Group 4傳真(2D)、CCITT Group4、PackBits、JPEG、ZIP)
Sakhr Automatic Reader 7.0提供了在各種格式(包括TIFF、PCX、BMP、WPG和DCX)中讀寫圖像所需的功能。
大多數消費者級OCR程序都使用雙級圖像,通常希望在白色背景上顯示黑色文本。有些可以導入灰度圖像并在內部將其轉換為黑白圖像,有時使用自適應閾值。只有很少的OCR引擎可以直接處理灰度或彩色圖像,利用多位像素信息。
2.4.2 其他媒體
許多多媒體源提供的圖像和視頻包含可自動檢測、分割和識別的可見文本。這種能力對于創建先進的多媒體信息檢索系統是非常理想的。從多媒體內容中獲取的文本將是索引和檢索的高級語義信息的寶貴來源。
在這個方向上最有趣的研究是由Lienhart等人進行的。[52,53,54]。他們提出了一種有趣的方法來定位和分割復雜圖像和視頻中的文本。文本行的識別是通過使用一個復雜值的多層前饋網絡來識別文本的,該網絡被訓練成在固定的尺度和位置檢測文本。網絡在所有尺度和位置的輸出被集成到一個文本顯著性圖中,作為候選文本行的起點。在視頻的情況下,這些候選文本行是通過利用視頻中文本的時間冗余來細化的。然后將本地化文本行縮放到100像素的固定高度,并將其分割成白底黑字的二值圖像。對于視頻,利用時間冗余來提高分割性能。由于采用了真正的多分辨率方法,輸入圖像和視頻可以是任何大小。該方法為圖像和視頻中的文本定位和文本分割提供了一種通用的、尺度不變的解決方案。在視頻幀和網頁的真實測試集上,69.5%的文本框被正確定位。利用視頻中的時間冗余,性能提高到94.7%。測試視頻集中79.6%的字符能夠正確分割,88%的字符被正確識別。
2.5 腳本和語言問題
我們把腳本定義為用特定語言書寫的方式。多語言共享相同或相似的腳本并不少見,例如。
- 大多數西歐語言都有拉丁語的變體
- 一些東歐語言共享西里爾字母的變體
- 許多伊斯蘭文化語言都有阿拉伯語的變體
因此,為一個腳本開發了一個系統后,就可以很容易地將其應用于整個語言家族。直到20世紀90年代初,光學字符識別技術(極少數例外)都與拉丁文字有關。這就產生了各種各樣的基于拉丁語的OCR系統。隨著信息技術在全球范圍內的擴展,對拉丁語以外的其他文字的識別已經成為一個世界性的興趣。
2.5.1 復雜文字(復雜字符腳本)
正如我們前面提到的,拉丁語類腳本的OCR研究得相當好,并且有許多成功的實現,而大多數亞洲腳本與拉丁語腳本非常不同,因此對OCR社區提出了不同的挑戰。
例如,讓我們考慮一下日語腳本。除了日文漢字(漢字和漢字)外,還使用日文漢字和漢字。因此,可以想象,由于
- 字符集的大小(超過3300個字符),
- 單個字符的復雜性(圖2),以及
- 漢字結構之間的相似性(圖3)。
低數據質量是所有OCR系統中的另一個問題。一個典型的日本OCR系統通常是由兩個獨立的分類器(前分類器和次分類器)組成的級聯結構。預分類器首先執行快速粗分類,將字符集縮減為一個短候選列表(通常包含不超過100個候選字符)。然后,二級分類器使用更復雜的特征來確定列表中哪個候選者與測試模式最匹配。
阿拉伯語字符識別也有它的挑戰。首先,阿拉伯文本是用相互連接的字符塊草草書寫、打字和打印的。一個詞可以由幾個字符塊組成。阿拉伯字符除了其獨立形式外,還可以根據其在字符塊中的位置而采用不同的形狀(如圖4中所示的首字母、中間字母或詞尾)。
阿拉伯字符也可以一個一個地堆疊在另一個上面,這可能導致字符塊有多個基線。此外,阿拉伯語還使用許多外部對象,如點、Hamza和Madda。圖5所示的可選的外部對象也可以添加。
最后,阿拉伯語字體供應商沒有遵循一個共同的標準。鑒于阿拉伯字體的特殊性和阿拉伯語的特點,建立一個全字體的阿拉伯語OCR成為一項艱巨的任務。
2.5.2 處理各種腳本的技術
Steinherz等人。[85]回顧離線草書字識別領域。他們將該領域分為三類:
- 無切分方法:將從單詞圖像中獲得的一系列觀察結果與詞匯表中的相似引用進行比較,
- 基于切分的方法:尋找原語片段的連續序列與可能單詞的字母之間的最佳匹配,
- 感知導向的方法:執行一種類似人類的閱讀技巧,在這個技巧中,在整個單詞中找到的錨定特征被用來引導一些候選者進入最后的評估階段。
在他們看來,該領域還不夠成熟,無法對上述方法進行比較。在他們看來,小詞庫和靜態詞庫的情況下,單詞識別問題基本上得到了解決,但對于有限的和大的詞庫,情況并非如此。他們想指出,目前的系統可能已經接近于獨立單詞識別的極限,應該努力改進利用語法、上下文和其他外部參數的后處理技術。
Khorsheed等人。[42,43,44]回顧阿拉伯語字符識別的各種技術,重點介紹從阿拉伯草書中提取結構特征的基于單詞的技術。他們的方法是對文字圖像進行骨架化,并將其分解成若干段,形成一個特征向量,再利用這些特征向量訓練隱馬爾可夫模型進行識別。這種方法高度依賴于作為查找字典的預定義詞典。通過從各種腳本源獲得的294個單詞詞典中訓練出的實驗單詞模型,他們的系統被宣稱達到了97%的識別率。
Lu等人。[56]提出了一個獨立于語言的OCR系統,他們聲稱能夠識別來自世界上大多數語言的印刷文本。該系統使用隱馬爾可夫模型(HMM)進行字符識別,但不需要對源數據進行字符或單詞的預分割。使用現有的連續語音識別系統進行訓練和識別。該系統使用無監督自適應技術來提高其對傳真等引起的圖像退化的魯棒性。為了證明該系統的語言獨立性,作者對三種語言進行了實驗:阿拉伯語、英語和漢語。中文OCR系統可識別3870個字符,其中簡體中文字符3755個。阿拉伯語和英語系統提供高質量的無限詞匯全向字體識別。作者還證明使用詞典可以顯著提高OCR系統的字符錯誤率。
2.6 語言混合的效果
近年來,人們對多語種、多腳本的OCR技術越來越感興趣。多語種OCR系統的設計很自然,可以讀取同一文檔中的多個腳本,對于歐洲和亞洲許多國家的文檔交換和業務處理尤其重要,因為在這些國家,文檔通常以多種語言打印。
在處理包含多種語言的文檔頁面時,使用最少的文本數據可靠地標識腳本的能力是至關重要的。腳本識別任務有幾個挑戰,例如。
- 意外的腳本或語言總是有可能出現,這在選擇OCR引擎時會出現問題
- 不允許字符識別,因為腳本分析在實際文本識別之前進行
- 手寫體識別的處理時間應該是OCR處理總時間的一小部分
Hochberg等人。[30,31]描述了一個在分析多語言文檔圖像時使用基于聚類的模板的自動腳本識別系統。為文檔中每個連接的組件計算腳本標識向量。該向量表示組件和為13個腳本(阿拉伯語、亞美尼亞語、緬甸語、漢語、西里爾文、德瓦納-加里語、埃塞俄比亞文、希臘語、希伯來語、日語、韓語、羅馬語)開發的模板之間的最近距離,作者計算了每幅圖像在13維空間內的前三個主要成分。通過將這些組件映射到紅色、綠色和藍色,它們將腳本標識向量中包含的信息可視化。多語言圖像的可視化表明,腳本識別向量可以用于將圖像分割成大到幾個段落或小到幾個字符的腳本特定區域。可視化的向量還揭示了腳本內部的區別,比如羅馬文檔中的字體,日語中的漢字與假名。他們的實驗是在200 dpi掃描的有限數量的多腳本文檔上進行的。結果似乎對包含高度不同的腳本(如羅馬和日語)的文檔最好。包含類似文字(如羅馬和西里爾文)的文件上的手寫體標識將需要進一步調查。
當前的腳本識別方法通常依賴于手工選擇的特征,并且通常需要處理文檔的重要部分以實現可靠的標識。Ablavsky和Stevens[1]提出了一種基于形狀的方法,該方法將大量的圖像特征應用于一個小的訓練樣本,并使用子集特征選擇技術自動選擇具有最大識別能力的子集。在運行時,他們使用一個分類器和一個證據積累引擎,一旦達到預設的可能性閾值,就會報告一個腳本標簽。算法驗證在英語和俄語文檔圖像語料庫上進行,共1624行文本。來源是新聞紙和300 dpi掃描的書籍。降級文件是第一代影印件的第一代影印件傳真件(表1)。錯誤產生的主要原因是分區不完善、多欄文本中行提取不準確以及字符合并。腳本分類降級但適當分割字符聲稱是準確的。
Pal等人。[68]給出一個自動識別不同印度文字行的方案。他們的方法根據腳本特征將腳本分成幾個類。它使用各種腳本特征(例如,水庫原理、輪廓跟蹤和字符輪廓)來識別腳本,而不需要任何昂貴的OCR類算法。該方法應用于250幅包含約4000行文本的多腳本文檔圖像。掃描的圖像來自青少年文學、報紙、雜志、書籍、匯款單、計算機打印件、翻譯書籍等。作者報告他們的系統總體準確率約為97.52%。
2.7 字符類型
隨著OCR領域的不斷進步,開發一個能夠對使用復雜字符腳本或各種字體和字體的文檔保持較高識別率的識別系統仍然是一個挑戰。我們可以確定兩種處理多字體文檔的主要方法:
字體抽象。在使用拉丁語的多字體文檔中,可以在OCR系統已知的有限字體范圍內獲得高精度。為了克服識別各種字體文檔的困難,Kahan等人。[37]介紹了一個OCR系統,該系統利用字體的抽象來概括各種字體的個體差異。這種方法被稱為全向字體光學字符識別,它已經有很多或成功的實現。
字體標識。與字體抽象相反–Jung等人。[36]argue–字體識別可以提供有關字符結構和排版設計的詳細信息。此外,利用字體信息,可以使OCR系統以有限的努力來處理文檔以識別字體。換句話說,由各種單色字體分割工具和識別器組成的OCR系統可以執行特定于字體的識別。他們的方法使用從單詞圖像中獲取的排版屬性,如升序、下降和襯線。將屬性作為神經網絡分類器的輸入,產生多字體分類結果。他們聲稱這種方法可以將7種常用字體按7到18的大小進行分類。他們的實驗表明,即使是接觸嚴重的字符,字體分類的準確率也能達到95%左右。
即使是在一個單一的字體中,字符打印也會出現變化(扭曲),給OCR系統帶來困難。這種變化包括使用(有時濫用)黑體、斜體、下劃線或小號大寫字符樣式(字體)。一些OCR系統試圖通過圖像預處理來彌補字體的差異,而另一些系統則簡單地將它們視為不同的字體。
2.8 手寫字體識別
手寫文本的識別或智能字符識別(ICR)是一項比識別打字文本或機器打印文本困難得多的任務。正如Edelman等人。[21]指出,造成困難的兩個主要原因是:
- 字符分割歧義
- 字符形狀變化
圖6是從Pechwitz等人描述的語料庫中提取的阿拉伯筆跡示例。在[71]中。手寫文本通常是草書的,這意味著單詞圖像的很大一部分可能由連接連續字符的連字組成。這些連字通常被解釋為字母的一部分,產生了多個同樣合理的分段。此外,即使是由同一個人書寫,相同的字符不僅可能改變幾何結構(例如,在某些情況下稍微傾斜,在另一些情況下是筆直的),而且拓撲結構也會發生變化(例如,數字“2”在底部有或沒有環)。因此,識別方法往往是調整到一個特定的手寫體風格,必須重新訓練,甚至重新編程時,不同的風格提出。
一個完整的ICR系統的核心是它的識別單元。根據Steinherz等人。[85],分類識別算法的一種方法是根據所涉及詞典的大小和性質,以及是否存在分割階段。詞匯可能是
- 小而具體,大約有100個單詞,
- 有限的,但動態的,最多可達1000個單詞,并且
- 大的或無限的。
基于切分的方法將從一個單詞圖像中派生出的一系列原始片段與一組可能的單詞組合在一起,并嘗試將各個片段連接起來以最佳地匹配候選字符。在沒有分割的情況下,沒有嘗試將圖像分割成與字符相關的片段,盡管仍然可以將圖像分割成更小的片段,然后生成一系列觀察結果。在這兩種情況下,算法都試圖通過以從左到右(或從右到左)的方式識別單詞的組成部分來重現單詞的書寫方式。
另外,還有一類面向感知的方法,通過利用一些穩定的特征可靠地在圖像中的任何地方找到字符,并使用它們引導幾個單詞候選,以進行最終評估階段,從而執行類人閱讀。雖然這類方法沒有其他兩類方法開發得那么多,但是存在一些面向感知的方法,它們看起來很有前途。
到目前為止,大多數的注意力似乎都集中在小而有限的詞匯方法上,尤其是那些應用于拉丁語的方法。文獻中提出了許多不同的方法和一些完整的識別系統。然而,總體而言,手寫文本識別領域尚未成熟[85]。
評論風格的文章相對較少[74,42],嘗試實驗性比較不同方法的嘗試更少。其中一個原因是缺乏足夠大、通用且可公開使用的測試數據集。
此外,一個完整的ICR系統的性能取決于其識別引擎之外的許多其他組件,例如預處理、分割和后處理模塊。據我們所知,幾乎沒有人試圖建立一個共同的框架,以便對不同的引擎或完整的識別系統進行客觀的比較。我們發現的唯一例外是HRE-API,它代表手寫識別引擎應用程序接口。該API于1994年左右由sunmicrosystems發布到互聯網上,希望它能加快商業質量手寫識別引擎和應用程序的可用性,并有助于促進大學對新手寫識別技術的研究。作為一個可完全擴展的開放源碼手寫識別框架,HRE-API旨在:
- 為手寫識別引擎提供功能完整的接口,
- 同時支持多個手寫識別引擎,
- 最小化對特定圖形用戶界面(GUI)的依賴性,以及
- 全面的多語言支持。
最成功的手寫字符和單詞識別方法是基于隱馬爾可夫模型(HMM)的應用。這種方法將印刷體和草書書寫的變化作為一種潛在的概率結構,無法直接觀察到[14]。當涉及到小詞典時,對單個字符進行建模的基本hmm被組合成單個較大的模型-詞典中每個單詞的判別hmm。當一個單詞圖像被呈現給這樣一個系統進行識別時,它會選擇一個單詞解釋,其模型給出的概率最大,因為給定的是由給定圖像生成的一系列觀察值或符號。對于較大的詞庫,只需從字符子HMM中建立一個路徑判別HMM,并通過給定單詞圖像的觀察序列從模型中找到最可能的路徑來進行識別。路徑判別模型比模型判別模型更通用,但精度較低。
基于HMM的方法之所以流行,是因為它們在類似的語音識別問題上表現得相當好,而且它們的數學機制也得到了很好的發展和完善。同時,它們仍然是一個活躍的研究領域。一個原因是隱馬爾可夫模型的性能在很大程度上取決于用于生成觀察序列的特征類型,這些特征既用于模型的訓練,也用于識別。正如[85]所指出的,“理想”特征集還沒有找到,而且可能根本不存在。此外,雖然大多數基于HMM的方法將單詞圖像表示為一維的觀察向量序列,但最近的一種方法是將其推廣到二維Markov模型(也稱為Markov隨機場)[69]。雖然這種方法似乎能提供更好的準確性,但它的計算成本也要高得多,因此需要比傳統的基于HMM的方法更復雜的設計和實現。
2.9 靈活性
早期的光學字符識別系統相當不靈活。它們通常只使用單一字體或嚴格限制的一組字體(如圖8或9中的OCR-a或OCR-B),需要固定的文檔布局,功能擴展選項非常有限,對輸入文檔中出現的任何噪音的容忍度都很低。
目前,一個好的光學字符識別系統要求對用戶的數據和任務具有靈活性。我們確定了OCR系統靈活性的三個共同領域:
- 任務可調整的配置參數,如識別質量和速度、預期的腳本和字體參數以及無法識別的字符標記
- 為特定文檔集優化識別引擎的可訓練性
- 軟件開發工具包(SDK),用于擴展OCR引擎的功能和/或使其成為更復雜的文檔識別系統的一部分
讓我們考慮一下第2.2節中提到的現有OCR解決方案的幾個示例。我們將描述每個解決方案在上述方面的靈活性。
ScanSoft Capture Development System 12是一個靈活的OCR SDK,提供可調節的吞吐量/精度OCR(機器打印)和ICR(手寫打印)引擎,支持字符訓練,以提高精度。
ABBYY FineReader 6.0引擎是另一個靈活的SDK,用于將ABBYY OCR和ICR識別技術集成到Windows應用程序中。為了提高表單和非標準文檔的識別精度,該引擎提供了一個API,用于創建和編輯特殊識別語言,將用戶語言創建為預定義識別語言的副本,并向用戶語言添加新詞。FineReader引擎允許開發人員創建和使用用戶模式,或者從ABBYY FineReader桌面應用程序導入它們。
Sakhr Automatic Reader 7.0 OCR引擎主要用于阿拉伯語機器打印識別,但通過Xerox文本橋技術支持多語言OCR。它有一套豐富的可配置選項,可以區分26種阿拉伯真字體。這個可訓練的OCR引擎提供了一個OCR SDK,包括DLL和ActiveX格式。
我們應該提及其他OCR系統靈活性功能,這些功能很少提供,但通常非常理想:
- 源代碼可用性
- 跨計算平臺的可移植性
- 灰度和彩色圖像支持
你可能會在2.2節提到的開源OCR系統中發現這些特性。
2.10 準確率
基于計算機的光學字符識別(OCR)系統自20世紀50年代初問世以來已經取得了長足的進步,盡管其生產率、魯棒性和準確性都有了很大的提高,但是OCR系統還遠遠不夠完善,尤其是在準確率方面。
給定一個紙質文檔,人們可以掃描它生成一個可以由OCR程序處理的數字圖像,其輸出是以機器可讀形式呈現的文檔文本,例如文本文件。為了估計OCR的準確性,OCR輸出可以與原始文檔的文本進行比較,稱為基本真實。由于有多種方法可以將OCR輸出與實際情況進行比較,因此我們有多種方法來定義OCR的精度。
當原始文檔的文本以電子格式提供時,計算機可以通過將文檔的源文件與OCR輸出文件進行比較來評估OCR的準確性。精度表達式通常考慮
- correct,
- inserted,
- deleted, and
- substituted
當原始文檔的文本以電子格式提供時,計算機可以通過將文檔的源文件與OCR輸出文件進行比較來評估OCR的準確性。準確度表達式通常考慮OCR輸出中相對于源文本的項目數(例如單詞或字符)。參考第2.10.1節了解基于地面真相的精度估計的詳細信息。
當文檔的源文本不可用時,流利的母語使用者可以將正確的文本輸入到文件中,以提供基本的真實性。另一種選擇是,一種方法是讓一個以母語為母語的人看一看并在視覺上比較源文檔和相應的OCR輸出。這個過程可能像識別OCR輸出中拼寫錯誤和丟失的單詞一樣隨意,也可能遵循嚴格的路徑來計算正式的OCR準確度分數。在第2.10.2節中,我們給出了不含文件源文本的近似精度評估的詳細信息。
2.10.1 When ground truth is present
OCR的兩個最常見的準確性度量是精確度和召回率。兩者都是OCR準確度的相對度量,因為它們是以正確輸出與總輸出(精度)或輸入(召回)的比率來計算的。更正式的定義
其中,條目指的是字符或單詞,而基本事實是存儲為例如純文本文件的原始文本。在計算準確度和召回率時,基本事實用于
- 確定正確識別的項目數量
- 提供地面真實項目的總數。
精確性和召回率都是數學上方便的度量,因為它們的數值是0.0到1.0之間的一些小數,因此可以用百分比來表示。例如,recall是OCR引擎正確找到的原始文本中單詞的百分比,而precision是正確找到的單詞占OCR輸出總字數的百分比。請注意,在OCR相關文獻中,術語OCR準確度通常指的是召回率。
考慮一個簡單的例子。假設我們收到的傳真只有一頁,其中大部分是文本。我們運行我們最喜歡的OCR程序將其轉換為純文本文件輸出.txt, 我們的OCR輸出。然后我們收到原始文本文件輸入.txt(我們的基本事實)通過電子郵件。有了這兩份文件,我們發現輸入.txt544個單詞中有3371個字符,而輸出.txt542中包含3374個字符文字。評價顯示出輸出.txt有3350個正確匹配的字符和529個正確匹配的字符文字。那個然后計算精度和召回值,如表2所示。
雖然準確度和召回率是良好的OCR性能指標,但它們仍然是兩個高度相關但又相互獨立的量。OCR軟件用戶通常需要一個單一的精度度量,用字符或單詞的錯誤率來表示。
使用錯誤度量來度量系統性能的原因是,錯誤度量代表了讓系統犯這些錯誤的用戶的成本。例如,將錯誤率降低兩倍,說明用戶的成本也減少了一半,因為如果用戶要糾正這些錯誤,只需投入一半的精力。然后,可以通過測量錯誤率的相對降低來跟蹤系統性能的改進。
Makhoul等人。[59]從項目插入、刪除和替換錯誤的角度提出了精確度和召回率,并分析了幾種OCR錯誤率估計方法。
經典有效性度量[79,p.174]由
其中P為精度,R為召回率,Makhoul表明M低估了插入和刪除錯誤相對于替換錯誤的作用,因此OCR的性能比實際要好。為了避免這個問題,Makhoul提出了項目錯誤率公式:
由于給定測試文檔的分母是固定的,這種錯誤率估計為比較不同OCR系統的性能提供了一種很好的方法。注意,項目錯誤率類似于在語音識別系統中用作主要性能指標的單詞錯誤率,但它也不是完美的:它的數值范圍沒有限制在0.0到1.0之間,主要是因為它沒有考慮OCR輸出大小。
MacKenzie和Soukoreff[58]提出了一個更公平的項目錯誤率估計:
這個誤差率表達式對于插入、刪除和替換是無偏的,其數值范圍限制在0.0到1.0之間,它同時考慮了基本真實尺寸和OCR輸出尺寸。唯一明顯的缺點是,對于給定的輸入文檔,錯誤表達式中的分母在不同的OCR系統中不是固定的,這一事實使得公平比較它們的性能變得復雜。
Nartker等人。[65]試圖將OCR準確性的概念細化為應用于信息檢索(IR)任務。他們定義:
其中TotalCharacters是基本真實中的字符數,CharacterErrors是字符插入、刪除和替換的總數。注意,這樣定義的字符精度可以是負數,這可能會混淆精度的解釋,但是如果我們寫characteraccuracity=1-E,則與等式(4)一致。
Nartker還指出,IR系統忽略了常見的單詞,稱為stopword(如“the”、“or”、“and”)。它們也會忽略標點符號、大多數數字和所有雜散標記。因此,拼寫錯誤的停止字和不正確的數字不是影響檢索性能的錯誤。就從紅外系統檢索文檔的可檢索性而言,非停止字精度是衡量轉換精度的較好方法。非停止字精度定義如下:
這里再次將TotalNonStopwords計算在基本的真實值中,而non-stopword錯誤只解釋了發生在non-stopwords中的錯誤。注意,如等式(6)所示,此處的精度估計值可能為負值。
2.10.2 When ground truth is absent
在許多實際情況下,當源文本不可用,因此不存在基本事實來自動驗證OCR輸出。在這些情況下,我們求助于一個流利的母語者來評估OCR引擎的性能,認為人類的感知系統是最終的光學字符識別系統。不用說,所有這些績效評估都是近似的和有偏見的。下面我們提供了一些指導方針,說明當我們沒有一組文本文件來比較OCR輸出時應該怎么做。
例如,如果頁面有大約300個單詞,并且說話人發現一段大約20個單詞的段落缺失,3個單詞不正確,并且沒有多余的單詞,那么頁面的單詞級準確率約為99%,頁面的單詞級召回率約為92%。
上述OCR評估方法應適用于具有各種噪聲(如復印或傳真)的文檔圖像,以及一些干凈的圖像。這樣,人們就可以了解在不同的情況下出現了什么樣的OCR精度數字。
當大量OCR數據需要驗證時,如果您認為配備了替代OCR系統的計算機,則驗證過程可以自動進行,并且上述方法也適用于此處。當有幾個OCR引擎可用時,可以匹配其輸出,從而檢測可能的錯誤,并根據統計信息和字典提出可能的更正[45]。
2.10.3 商用OCR引擎精度
Summers[87]比較了三種領先的商業OCR軟件包在不同質量的文檔圖像上的性能。包括OCR軟件包
- ScanSoft的Caere Developers Kit 2000版本8,
- Abbyy的FineReader 4.0,以及
- 國際神經機器公司的NeuroTaker4.1。
每個系統的精確性和召回率都是在英國語料庫上進行的,該語料庫包括1147張華盛頓大學語料庫的期刊頁面圖像、946張解密政府文件的頁面圖像和540頁煙草訴訟文件的圖像。在其他統計數據中,計算文檔的精確度和召回率的平均值。如表3所示,Caere Developers Kit(CDK)2000和FineReader 4.0的表現一直優于NeuroTalker,總體而言,CDK 2000比FineReader 4.0更精確。然而,就解密的政府文件而言,FineReader4.0的召回率略高于CDK 2000。
Kanungo等人。[38]提出一種稱為配對模型的統計技術來比較兩種識別系統的準確度得分:Sakhr自動閱讀器3.0和Shonut OmniPage 2.0。他們表明,與未配對的方法相比,成對模型的性能比較方法產生了更緊的置信區間。該方法在DARPA/SAIC數據集上進行了測試,該數據集包含342個原始分辨率為600 dpi的阿拉伯文文檔,人為地分為400、300、200和100 dpi。他們的實驗表明,在300 dpi的SAIC數據集上,Sakhr比OmniPage有更高的精確度,但OmniPage的精確度更好。他們已經注意到,當圖像分辨率超過300 dpi時,Sakhr的精確度會下降。此外,他們還發現,當圖像分辨率從400 dpi增加到600 dpi時,Sakhr到OCR頁面所需的平均時間不會增加。在他們看來,這可能表明Sakhr在識別階段之前,在內部將輸入圖像轉換為某種標準分辨率。
2.11 Productivity
除了識別精度外,生產率(或吞吐量)是OCR系統的另一個重要特性。吞吐量是以每一時間間隔處理的項目數來衡量的,例如每秒的頁數或每分鐘的字數。一般來說,OCR系統的吞吐量受許多因素的影響,這些因素包括:
- 系統采用的字符分類器
- 文檔復雜性取決于每一頁上字體、文本列、非文本項(圖片、繪圖、繪圖)的數量
- 由于原稿質量差或掃描不完善而產生的圖像噪聲
- OCR校正和可靠的文檔索引通常需要后處理
- 涉及輸入圖像預處理和輸出文本格式的接口問題
- 手寫識別選項
毫不奇怪,任務特定的OCR系統通常比通用的OCR系統更精確、更高效,但后者有望處理更多種類的文檔。下面,我們給出了這兩種OCR系統的一些例子,并指出了它們的典型平均吞吐量。
2.11.1 通用閱讀器
由于通用OCR系統設計用于處理范圍廣泛的文檔,因此在識別精度和平均吞吐量方面會有所犧牲。一些高端OCR軟件包允許用戶根據客戶數據調整識別引擎,以提高識別精度。它們還可以檢測字體(如粗體和斜體)并以相應的樣式輸出格式化文本。這種多功能性往往以犧牲系統的生產力為代價。
PrimeRecognition(http://primerecognition.com網站/)聲稱在700MHz的奔騰PC上,OCR引擎的吞吐量是420個字符/秒。OCR的平均準確率為98%。
LeadTools(http://www.leadtools.com/)智能字符識別(ICR)引擎在運行Windows2000的1500MHz奔騰PC機上有256MB的RAM,據稱可以達到280-310個字符/秒的手寫數字識別速度,以及150-220個字符/秒的手寫大小寫文本、數字和符號(混合)。
Sakhr(http://www.sakhr.com/)生產主要用于阿拉伯語OCR的自動閱讀器。阿拉米達(http://aramedia.net/armedia/ocr.htm)聲稱運行在Pentium III Windows 2000下的自動閱讀器7.0每秒可處理800個字符,對阿拉伯語書籍和報紙的識別準確率為99%。
2.11.2 任務特定讀卡器
如前所述,任務特定的讀取器主要用于面向類似結構文檔并需要高系統吞吐量的大容量應用程序。為了幫助提高吞吐量,這些系統將重點放在文檔感興趣的字段上,這些字段是期望獲得所需信息的地方。這種窄聚焦方法可以大大減少圖像處理和文本識別的時間。使用特定任務閱讀器的一些應用領域包括:
- 郵政編碼識別和地址驗證
- 基于表格的文本識別,例如在稅務表格中
- 紙面水電費票據自動核算程序
- 銀行支票處理
- 航空客票核算
- 簽名驗證
更具體地說,讓我們考慮一些任務特定的OCR系統的例子。
(Address readers)地址讀取器幫助自動排序郵件。典型的地址讀取器首先在郵件上找到目標地址塊,然后讀取該地址塊中的郵政編碼。如果地址塊中的其他字段以高置信度讀取,則系統可能會生成一個9位數的郵政編碼。生成的郵政編碼用于生成隨后打印在信封上的條形碼,用于郵件自動分揀。地址讀取器的一個很好的例子是美國郵政局(USPS)使用的多行光學字符讀取器(MLOCR)。它可以識別多達400種字體,系統每小時可處理45000封郵件。
(Form readers)表單閱讀器通過讀取紙質表單中的數據來幫助自動化數據輸入。典型的表格閱讀系統應該能夠區分預打印的表格說明和填寫的數據。這樣的系統首先用一張空白表格訓練,以便在表格上登記數據應該出現的區域。在識別階段,系統需要定位并掃描應該填充數據的區域。一些讀者閱讀手寫數據以及各種機器書寫的文本。通常,表單閱讀器可以以每小時5800個表單的速度處理表單。
如今,幾家航空公司在乘客收入核算系統中使用機票閱讀器(Airline ticket readers )來準確核算乘客收入。為了從客票中獲得收入,航空公司需要有三個匹配的記錄:預訂記錄、旅行社記錄和客票。OCR輔助系統讀取客票上的機票號碼,并將其與航空公司預訂數據庫中的號碼進行匹配。這種系統的典型吞吐量是每天26萬張票,分揀率為每秒17張。
3 OCR預處理
現代OCR引擎被期望處理各種各樣的文檔圖像,這些圖像在圖像質量、噪聲級和頁面布局方面可能有很大的變化。因此,一些文檔圖像過濾和頁面結構分析成為實際識別階段的重要前提。本節介紹了各種文檔圖像缺陷,揭示了它們的潛在原因,并討論了增強OCR文檔圖像的一些技術方法。在這里,我們還討論了一些與預OCR自動頁面和文檔分割有關的有趣問題。
3.1 文檔圖像缺陷
通常情況下,真實的文檔圖像是不完美的。各種文檔圖像缺陷,如
- 白色或黑色斑點,
- 破損或觸動的字符,
- 濃淡印花,
- 迷路的痕跡,
- 曲線基線
在文件打印/掃描期間發生,有許多物理原因,包括
- 臟原稿,如咖啡污漬
- 紙張表面缺陷
- 墨水或墨粉的擴散和剝落
- 光學和機械變形與振動
- 低印刷對比度
- 非均勻照明
- 散焦
- 有限空間采樣分辨率
- 像素傳感器靈敏度和位置的變化
- 電子元件噪聲
- 二值化或固定自適應閾值
- 復制生成上一次掃描和復制產生的噪聲累積
即使輸入的文檔圖像有輕微的退化,文檔識別系統的準確性也會急劇下降。為了克服這些困難,研究人員繼續研究圖像缺陷模型,以幫助控制圖像質量變化的影響,并構造滿足給定精度目標的分類器。這類模型通常用于合成用于OCR訓練的大型真實數據集。
Baird[5]討論了文檔圖像缺陷的模型。他區分了兩種通用的方法來指定這些模型:解釋性和描述性。解釋模型是建立在物理學基礎上的,可以通過引用物理定律部分地加以驗證。這可能導致精確的模型,但它們可能是不必要的具體和復雜的。描述性模型更具經驗性,主要通過統計方法進行驗證,例如產生真實缺陷圖像的重復的概率。一般來說,研究人員同意描述性模型更實用。
Sarkar等人。[80]使用十參數圖像退化模型來近似機器打印和文本成像的某些已知物理特性,包括符號大小、空間采樣率和誤差、仿射空間變形、斑點噪聲、模糊和閾值化。結果表明,即使在訓練數據和測試數據中圖像嚴重退化的情況下,文檔圖像解碼(DID)監督的訓練算法也能以較低的人工工作量獲得高精度。作者描述了在DID訓練中對字符模板、集合寬度和信道(噪聲)模型的改進。他們對文本的綜合退化圖像進行了大規模的實驗,結果表明,即使在相同分布的嚴重退化圖像上,該方法也能達到99%的召回率。這種在低質量圖像上進行可靠訓練的能力,這些圖像受到大量字符碎片和合并的影響,而不需要手動分割和標記字符圖像,這大大減少了DID訓練的人工工作量。
圖像扭曲是一個常見的問題,當掃描或影印一個文件頁從一個厚的裝訂卷,導致陰影和彎曲的文本線裝訂卷。這不僅降低了可讀性,還降低了OCR的準確性。為了解決這一問題,張和譚[91]提出了一種基于連通分量分析和回歸的頁面圖像去扭曲技術。該系統被稱為計算效率和分辨率無關。他們報告說,300幅文檔圖像的總體平均精確度和召回率分別提高了13.6%和14.4%。
3.2 文檔圖像增強
OCR性能對掃描文檔圖像的任何基于文本的處理的有用性設置了一個上限。文檔圖像質量反過來又會極大地影響OCR引擎的準確性和生產率。在處理大量邊緣質量文檔圖像時,OCR文檔圖像的自動增強和恢復是一個難題。
Loce和Dougherty[55]通過非線性圖像濾波算法及其背后的統計優化技術,對數字文檔增強和恢復問題進行了有趣的處理。特別是,這本書描述了優化方法的平行減薄,加厚,和差分過濾器。這些濾波器的統計最優性被描述為相對于文檔的理想形式,最小化被處理文檔的平均絕對誤差。作者描述了如何在退化文檔圖像的恢復方法中使用增加濾波器,這些圖像具有明顯的背景噪聲、過厚的筆劃和參差不齊的邊緣。這本書還討論了一些廣泛使用的空間分辨率和量化范圍增強技術。
讓我們來討論一下OCR相關圖像增強的一些值得注意的論文。Cannon等人。[12] 介紹了QUARC,一個用于增強和恢復打印文檔圖像的系統。他們設計了一套質量評估措施和圖像恢復技術,以自動增強用于OCR處理的打印文檔圖像。他們采用了五種質量標準:
- 小散斑因子
- 白斑因子
- 粘連字符因素
- 斷字因子
- 字體大小因子
利用質量指標對給定的文檔圖像進行優化恢復。這些恢復方法基于以下雙調濾波器:
- 什么都不做
- 在打字機網格上剪切
- 填補漏洞和缺口
- 去斑
- 整體形態閉合
- 全局填充孔和裂縫
- 全局去雜點
- K過濾器
該方法通過質量度量對輸入文檔圖像進行特征化,其值由預先訓練的線性分類器確定最佳圖像恢復濾波器。將分類器訓練到一組“典型”圖像上,這些圖像的“最佳”恢復方法取決于給定的OCR引擎的性能。QUARC聲稱其字符錯誤率提高了38%,單詞錯誤率提高了24%。系統中輸入的字體和地址沒有固定,文檔的字體和地址都沒有固定。
薩默斯等人。在文檔圖像增強軟件imagerefiner中采用了類似的方法[88]。他們改進了QUARC,通過使用非固定字體(例如TrueType)和非拉丁(例如西里爾文)腳本來處理文檔。QUARC質量度量集通過添加連接組件的以下度量進行擴展:尺寸、高度、寬度、面積和縱橫比。同時采用了一套沒有假定打字機網格的恢復方法。與QUARC相似,他們的系統基于文檔圖像質量度量確定了一種最佳的恢復方法,但是他們的分類器使用錯誤傳播神經網絡來學習特征空間(質量度量)和文檔類(恢復方法)之間的最佳分類映射。imagefiniter在處理各種字體和腳本的嘈雜文檔圖像時非常健壯。實驗證明,該方法能夠正確提取76.6%的轉換。目前,他們正在開發imagefiniter的第二階段,該階段預計將使用自適應文檔分區并處理非拉丁語(例如亞洲)腳本。
3.3 文檔分割
為了確保最佳的字符識別、可搜索性和最小失真,在將文檔轉換為電子形式時,通常需要保留文檔的邏輯結構和格式。理想情況下,人們希望文檔識別系統以“掃描的就是得到的”的方式工作。這刺激了一個通常被稱為文檔圖像理解的領域的研究。它包括
- 將文檔分解為其結構和邏輯單元(文本塊、圖形、表格等),
- 標記這些單位,
- 確定他們的閱讀順序
從而最終恢復文檔的結構。此外,還必須進行格式分析,包括字體類型和間距的分析。本節介紹了自動文檔頁面分割、恢復閱讀順序和查找文本行的方法。
3.3.1文本與其他材料
Mukherjee和Acton[63]描述了一種用于文檔頁面分割的多尺度聚類技術。與分層多分辨率方法不同,這種文檔圖像分割技術同時利用原始圖像不同尺度表示的信息。在尺度空間中,通過基于模糊c-均值的向量間相似性度量,實現圖像片段的最終聚類。分割過程被認為是為了減少不重要的細節和噪聲的影響,同時保持對象的完整性。他們的結果表明,尺度空間方法可以有效地對文檔編碼進行有意義的頁面分割。缺點之一是在生成比例空間本身時會產生額外的成本。作者目前正在優化他們的計算速度的方法,并開發基于對象的編碼算法,以補充分割方法。
Andersen和Zhang[3]提出了應用于報紙文檔分割的基于神經網絡的區域識別算法中的幾個關鍵特征。他們的方法被稱為達到了良好的識別準確率(98.09%),特別是考慮到區域過度分割的程度。作者提出了一種進一步提高分割結果的可能性,通過實現一個具有兩個輸出節點(一個節點表示文本,另一個節點表示非文本)的軟決策神經網絡將某些區域劃分為非同質區域,即同時包含文本和非文本。有了這種配置,就可以將這種類型的區域重新劃分為同質的部分,這樣分類過程就有可能糾正初始分割過程中的一些錯誤。他們目前的工作也集中在通過使用上下文信息(來自相鄰區域的信息)以及來自灰度文檔的特征來提高分類精度。初步研究表明,這可以減少高達50%的誤差。
Ma和Doermann[57]提出了一種頁面分割模型的自舉學習方法。他們的想法源于試圖分割具有一致頁面結構的文檔圖像(例如字典),并擴展到更一般的結構化文檔的分割。他們認為,在頁面結構高度規則的情況下,通過先使用少量樣本對系統進行訓練,然后根據訓練結果處理較大的測試集,就可以從僅有幾頁的示例中學習布局。訓練階段可以迭代多次來優化和穩定學習參數。他們將這種分割方法應用于詞典、電話簿、口語成績單等許多結構化文檔中,并取得了令人滿意的分割效果。作者承認,包含圖片、圖表和表格的結構化文檔可能會對當前的方法實現造成問題,因為具有此類非文本元素的頁面通常缺乏一致的結構。
鄭等。[92]提出了一種在噪聲文檔圖像中識別和分割手寫注釋的方法。這種手寫注釋通常作為認證標志出現,它是注釋、更正、澄清、指示或簽名的(一部分)。他們的方法包括兩個過程:
- 頁面分割,將文本按適當的層次劃分為多個區域:字符、單詞或區域
- 分類,識別分割區域為手寫
為了確定能夠可靠地進行分類的近似區域大小,他們在字符、單詞和區域級別進行了實驗。在詞水平上獲得了可靠的分類結果,分類準確率為97.3%。他們的實驗表明,這種方法在噪聲過大的文檔中可能會出現許多錯誤識別。他們在隨后的研究[93]中解決了這個問題,他們使用馬爾可夫隨機場(MRF)來模擬印刷文本的幾何結構,手寫體和噪聲來糾正錯誤的分類。
3.3.2 查找文本行
文本行的精確識別是大多數OCR系統的重要組成部分。它對文檔布局分析也非常有用。對于文本行和基線的查找,已經提出了許多方法。有些方法試圖只找到文本行,例如使用Hough變換[32,83]、投影輪廓和Radon變換。其他人發現文本行是更一般的文檔布局分析任務的一部分,例如XY剪切、空白分割、Voronoi圖和基于距離的分組。通常,這種方法首先對布局進行粗略分析,通常基于連接組件或連接組件本身的邊界框的接近程度。根據需要,在后續步驟中使用更精確的基線和文本線模型[29,67]。
Breuel[10]提出了一種算法,可以精確地找到頁面旋轉并可靠地識別文本行。該方法采用分枝定界法進行全局最優尋線。同時在穩健的最小二乘(或最大似然)模型下對基線和下降線搜索進行了優化。該算法易于實現,自由參數的數量非常有限(誤差范圍、允許的頁面旋轉和下降尺寸的范圍以及數值精度)。該方法顯然對文檔退化非常敏感,因為文檔退化會將大量字符合并到同一個連接組件中。該算法在華盛頓大學數據庫2的英文備忘錄集上進行了測試,該數據庫由62個掃描的備忘錄組成,顯示了各種字體和手動注釋,并呈現出各種各樣的圖像噪聲。當提取的邊界框允許時,文本行擬合算法可以正確識別文檔中的所有行。沒有檢測到虛假的文本行,一些短的單字行被忽略。這個算法的一個特別有趣的特性是它允許文本行方向的變化。這使得該算法可以應用于由照片或攝像機而不是掃描儀捕獲的文檔圖像。
Bai和hou[4]提出了一種從手持式筆式掃描儀捕獲的文檔圖像中提取目標文本行的方法。給定一個二值圖像,一組可能的文本行首先由連接的組件的最近鄰分組形成。然后通過文本行合并和添加缺少的連接組件來優化文本行集。通過基于幾何特征的分數函數識別出可能的目標文本行。OCR引擎讀取此目標行,如果識別的置信度很高,則接受目標文本行,否則,所有剩余的文本行都將輸入OCR引擎,以驗證是否存在替代目標文本行,或者是否應拒絕整個圖像。在由C-Pen和ScanEye筆掃描儀采集的117幅文檔圖像組成的測試數據庫上進行的一系列實驗證實了上述方法的有效性。對于C-Pen,113行中有112行被正確檢測,1行被錯誤分割,沒有一行被錯誤刪除。對于ScanEye,在121行中,120行被正確檢測到,1行被錯誤分割,沒有一行被錯誤刪除。
3.3.3 文本閱讀順序檢測
確定文本塊之間的讀取順序對于創建和維護數字圖書館(DL)的OCR系統至關重要,因為它將允許更完全自動地瀏覽文本圖像。此功能還可以幫助OCR系統利用高級上下文來提高準確性。
根據Baird[6]的觀點,自動閱讀順序檢測通常仍然是一個開放性的問題,因為大量的案例不能僅僅通過文檔布局分析自動消除歧義,而似乎需要語言甚至語義分析。
在一個典型的場景中,當一個頁面上的歧義案例數量很小時,文本排序歧義問題實際上是通過一個精心設計的交互式GUI來解決的,該GUI以一種易于選擇或更正的方式呈現歧義。這種功能存在于專門的高吞吐量掃描和轉換服務局,但在消費者級OCR系統中不常見。
Aiello等人。[2] 提出了一個文檔分析系統,該系統能夠分配邏輯標簽并從大量文檔中提取閱讀順序。他們的文檔分析使用了多種信息源:從幾何特征和空間關系到文本特征和內容。為了有效地處理這些信息源,他們定義了一個通用的、足夠靈活的文檔表示來表示復雜的文檔。分別針對文檔對象類型body和title單獨檢測可能的讀取順序。然后,使用標題正文連接規則將這些閱讀順序組合在一起,該規則將一個標題與位于標題下方的最左側最上面的正文對象連接起來。閱讀順序取決于幾何信息(基于空間關系)和內容(基于詞匯分析)信息。實驗使用兩個文件集進行:華盛頓大學UW-II英文期刊數據庫(623頁)和芬蘭奧盧大學的MTDB(171頁)。圖7顯示了一個文檔的示例,以及空間分析單獨檢測到的可能的讀取順序。基于NLP的詞匯分析模塊發現第一個閱讀順序是正確的。
4 OCR后處理
雖然OCR系統在不太完美的真實世界文檔圖像上使用了不斷提高但卻有限的識別能力,因此OCR系統很容易出錯。因此,預計OCR輸出將包含錯誤:OCR噪聲。有些系統試圖糾正有噪聲的OCR輸出(例如通過拼寫檢查程序),有些系統使用高級上下文(例如詞典)來迭代提高OCR的準確性,而其他系統則只是選擇接受有噪聲的OCR輸出,并在隨后的索引和文本檢索階段(例如,通過模糊字符串匹配)考慮可能的OCR錯誤。無論哪種情況,都必須處理某種OCR后處理。
Spitz[82]描述了一種OCR方法,該方法依賴于將文本圖像轉換為字符形狀代碼、快速和健壯的識別過程,以及包含單詞“形狀”信息和特定單詞形狀分類中存在的字符歧義的特殊詞典。目前,該方法考慮到英語的結構以及形狀代碼和單詞中字符之間的單例映射比例很高。通過查找可以消除相當多的歧義
通過在經過特殊調整和結構化的詞典中查找和逐字符替換來消除相當多的歧義。利用字體、字體、字體和大小以及圖像質量的局部一致性,使用從周圍文本中提取的樣本進行模板匹配,進一步降低了模糊度。
Klein和Kopel[45]提出了一種提高OCR精度的后處理系統。它們描述了如何匹配幾個OCR引擎的輸出,從而檢測出可能的錯誤,并根據統計信息和字典提出可能的更正建議。他們在希伯來語、英語和法語文本集合上測試了他們的系統,每種語言使用兩種不同的OCR引擎。根據他們的測試結果,所提出的系統可以顯著降低錯誤率,同時提高校正過程的效率,使大規模的自動數據采集系統更接近于成為現實。
Beitzel等人。[9] 簡要介紹OCR文本檢索技術。他們將OCR數據檢索問題作為搜索“嘈雜”或錯誤填充的文本來解決。他們討論的技術包括:為OCR文本集合定義IR模型,使用OCR錯誤感知處理組件作為文本分類系統的一部分,自動更正OCR過程中引入的錯誤,以及改進噪聲數據的字符串匹配。
5 總結
本報告旨在回顧現代光學字符識別(OCR)領域的主要趨勢。我們介紹了OCR作為模式識別的一個成功分支(機器視覺中的一個更通用的學科),描述了一個典型的OCR系統及其組成部分,定義了OCR系統的兩個主要類別(通用和特定任務),概述了OCR的基本技術,并提到了許多現有的OCR解決方案(兩者都是商業和公共領域)。
我們還討論了OCR常見的困難,分析了其潛在的原因,并提出了解決這些困難的可能途徑。詳細討論了與
- 文字與語言
- 文檔圖像類型和圖像缺陷
- 文檔分割
- 字符類型
- OCR靈活性、準確性和生產力
- 手寫和印刷
- OCR預處理和后處理
在我們的討論過程中,我們提到了積極研究的領域以及與每個問題相關的現有OCR系統。所有OCR精度和性能數據均取自參考出版物。任何額外的基準測試都不在本次調查的范圍之內。
5.1 結論
光學字符識別技術自20世紀50年代中期商業化以來,取得了令人矚目的進展。經過特別設計的“標準”字體,例如OCR-A和OCR-B(分別見圖8和圖9),出現了對elite和pica固定間距字體的支持(如圖10和11所示),最后是omni字體排版文本(比如你正在閱讀的文檔)。早期的OCR實驗系統通常是基于規則的。到了20世紀80年代,它們已經完全被基于統計模式識別的系統所取代。對于使用歐洲文字的清晰分割印刷材料,這種模式識別技術提供了幾乎沒有錯誤的OCR。自20世紀90年代以來,手寫數字和受限字母數字字段的表單閱讀器(通常以較高的拒絕/錯誤率運行)的接受率顯著提高。目前,許多研究者正致力于離線和在線草書書寫,或致力于多種文字的多語種識別。
當符號數量較多時,如在中文或韓文書寫系統中,或當符號不彼此分離時,如在阿拉伯文或天成文書印刷體中,目前的OCR系統與人類讀者的錯誤率仍相差甚遠,當源圖像質量受到損害時,例如傳真傳輸,OCR的精度會進一步下降。
在手印文本的識別中,目前普遍采用的是具有連續分割、分類和識別(語言建模)階段的算法。基于隱馬爾可夫模型(HMMs)的統計技術在手寫體識別中得到了成功的應用。基于HMM的技術可以并行地進行分割、分類和識別決策,但它們的性能仍有待提高,這主要是因為手寫體的固有可變性大于語音的可變性,在某種程度上,處理難以辨認的筆跡比處理難以辨認的言語更為常見。
OCR系統成本的降低可能比分類方法的范圍和準確性的改進更引人注目。早期的OCR設備都需要昂貴的掃描儀和特殊用途的電子或光學硬件,例如,在社會保障管理局(socialsecurityadministration)使用的ibm1975光學頁面閱讀器(optical Page Reader)的成本超過300萬美元。在1980年前后,個人電腦和電荷耦合陣列掃描器所采用的廉價微處理器,使成本大幅下降,與通用電腦相當。如今,OCR軟件是任何桌面掃描儀的常見附加組件,其成本與打印機或傳真機差不多(如果不低于)的話。
5.2有前途的方向
盡管存在種種挑戰和困難,光學字符識別仍然是機器視覺一個令人興奮的大領域中的一個成功案例,這一領域已經有許多其他成功的人造物體(或模式)識別系統。為了繼續這一令人興奮的成功故事,OCR社區必須強調其技術優勢,通過投資研究尋找新的想法,并遵循最有希望的方向,包括
- 自適應OCR旨在對更廣泛的印刷文檔圖像進行穩健處理
- 作為OCR預處理的一部分的文檔圖像增強
- 對上下文的智能使用為OCR引擎提供了更大的圖片,并使識別任務更加集中和健壯
- 各種形式的手寫體識別,靜態和動態、通用和特定任務等。
- 多語言OCR,包括多個嵌入式腳本
- 多媒體OCR,用于識別任何環境下由任何視覺傳感器捕獲的任何文本
以上的一些OCR主題聽起來有點野心勃勃,但隨著當前信息技術的總體增長率,尤其是OCR,我們相信它們并非遙不可及。
總結
以上是生活随笔為你收集整理的现代光学字符识别技术综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DebugView的使用[通用汇总]
- 下一篇: python类介绍_面向对象 Pytho