OCR (Optical Character Recognition)軟件是指電子設備(例如掃描儀或數碼相機)檢查紙上打印的字符,通過檢測暗、亮的模式確定其形狀,然後用字符識別方法將形狀翻譯成計算機文字的過程;即,對文本資料進行掃描,然後對圖像文件進行分析處理,獲取文字及版面信息的過程。如何除錯或利用輔助信息提高識別正確率,是OCR最重要的課題,ICR(Intelligent Character Recognition)的名詞也因此而產生。衡量一個OCR系統性能好壞的主要指標有:拒識率、誤識率、識別速度、用戶界面的友好性,產品的穩定性,易用性及可行性等。
光學文字識別的概念是在1929年由德國科學家Tausheck最先提出來的,後來美國科學家Handel也提出了利用技術對文字進行識別的想法。而最早對印刷體漢字識別進行研究的是IBM公司的Casey和Nagy,1966年他們發表了第一篇關於漢字識別的文章,採用了模板匹配法識別了1000個印刷體漢字。
早在60、70年代,世界各國就開始有OCR的研究,而研究的初期,多以文字的識別方法研究為主,且識別的文字僅為0至9的數字。以同樣擁有方塊文字的日本為例,1960年左右開始研究OCR的基本識別理論,初期以數字為對象,直至1965至1970年之間開始有一些簡單的產品,如印刷文字的郵政編碼識別系統,識別郵件上的郵政編碼,幫助郵局作區域分信的作業;也因此至今郵政編碼一直是各國所倡導的地址書寫方式。
20世紀70年代初,日本的學者開始研究漢字識別,並做了大量的工作。中國在OCR技術方面的研究工作起步較晚,在70年代才開始對數字、英文字母及符號的識別進行研究,70年代末開始進行漢字識別的研究,到1986年漢字識別的研究進入一個實質性的階段,不少研究單位相繼推出了中文OCR產品.早期的OCR軟件,由於識別率及產品化等多方面的因素,未能達到實際要求。同時,由於硬件設備成本高,運行速度慢,也沒有達到實用的程度。只有個別部門,如信息部門、新聞出版單位等使用OCR軟件。1986年以後我國的OCR研究有了很大進展,在漢字建模和識別方法上都有所創新,在系統研製和開發應用中都取得了豐碩的成果,不少單位相繼推出了中文OCR產品。進入20世紀90年代以後,隨著平臺式掃描儀的廣泛應用,以及我國信息自動化和辦公自動化的普及,大大推動了OCR技術的進一步發展,使OCR的識別正確率、識別速度滿足了廣大用戶的要求。
編輯本段軟件結構由於掃描儀的普及與廣泛應用,OCR軟件只需提供與掃描儀的接口,利用掃描儀驅動軟件即可。因此,OCR軟件主要是由下面幾個部分組成。
圖像輸入:對於不同的圖像格式,有著不同的存儲格式,不同的壓縮方式,目前有OpenCV,CxImage等開源項目 。預處理:主要包括二值化,噪聲去除,傾斜較正等
二值化:
對攝像頭拍攝的圖片,大多數是彩色圖像,彩色圖像所含信息量巨大,對於圖片的內容,我們可以簡單的分為前景與背景,為了讓計算機更快的,更好的識別文字,我們需要先對彩色圖進行處理,使圖片只前景信息與背景信息,可以簡單的定義前景信息為黑色,背景信息為白色,這就是二值化圖了。
噪聲去除:
對於不同的文檔,我們對燥聲的定義可以不同,根據燥聲的特徵進行去燥,就叫做噪聲去除
傾斜較正:
由於一般用戶,在拍照文檔時,都比較隨意,因此拍照出來的圖片不可避免的產生傾斜,這就需要文字識別軟件進行較正。
版面分析:
將文檔圖片分段落,分行的過程就叫做版面分析,由於實際文檔的多樣性,複雜性,因此,目前還沒有一個固定的,最優的切割模型。
字符切割:
由於拍照條件的限制,經常造成字符粘連,斷筆,因此極大限制了識別系統的性能,這就需要文字識別軟件有字符切割功能。
字符識別:
這一研究,已經是很早的事情了,比較早有模板匹配,後來以特徵提取為主,由於文字的位移,筆畫的粗細,斷筆,粘連,旋轉等因素的影響,極大影響特徵的提取的難度。
版面恢復:
人們希望識別後的文字,仍然像原文檔圖片那樣排列著,段落不變,位置不變,順序不變,的輸出到word文檔,pdf文檔等,這一過程就叫做版面恢復。
後處理、校對:
根據特定的語言上下文的關係,對識別結果進行較正,就是後處理。
編輯本段工作流程一個OCR識別系統,其目的很簡單,只是要把影像作一個轉換,使影像內的圖形繼續保存、有表格則表格內資料及影像內的文字,一律變成計算機文字,使能達到影像資料的儲存量減少、識別出的文字可再使用及分析,當然也可節省因鍵盤輸入的人力與時間。
從影像到結果輸出,須經過影像輸入、影像前處理、文字特徵抽取、比對識別、最後經人工校正將認錯的文字更正,將結果輸出。
影像輸入
欲經過OCR處理的標的物須透過光學儀器,如影像掃描儀、傳真機或任何攝影器材,將影像轉入計算機。科技的進步,掃描儀等的輸入裝置已製作的愈來愈精緻,輕薄短小、品質也高,對OCR有相當大的幫助,掃描儀的分辨率使影像更清晰、掃除速度更增進OCR處理的效率。
影像前處理:影像前處理是OCR系統中,須解決問題最多的一個模塊,從得到一個不是黑就是白的二值化影像,或灰階、彩色的影像,到獨立出一個個的文字影像的過程,都屬於影像前處理。包含了影像正規化、去除噪聲、影像矯正等的影像處理,及圖文分析、文字行與字分離的文件前處理。在影像處理方面,在學理及技術方面都已達成熟階段,因此在市面上或網站上有不少可用的鏈接庫;在文件前處理方面,則憑各家本領了;影像須先將圖片、表格及文字區域分離出來,甚至可將文章的編排方向、文章的提綱及內容主體區分開,而文字的大小及文字的字體亦可如原始文件一樣的判斷出來。
文字特徵抽取:單以識別率而言,特徵抽取可說是 OCR的核心,用什麼特徵、怎麼抽取,直接影響識別的好壞,也所以在OCR研究初期,特徵抽取的研究報告特別的多。而特徵可說是識別的籌碼,簡易的區分可分為兩類:一為統計的特徵,如文字區域內的黑/白點數比,當文字區分成好幾個區域時,這一個個區域黑/白點數比之聯合,就成了空間的一個數值向量,在比對時,基本的數學理論就足以應付了。而另一類特徵為結構的特徵,如文字影像細線化後,取得字的筆劃端點、交叉點之數量及位置,或以筆劃段為特徵,配合特殊的比對方法,進行比對,市面上的線上手寫輸入軟件的識別方法多以此種結構的方法為主。
對比數據庫:當輸入文字算完特徵後,不管是用統計或結構的特徵,都須有一比對數據庫或特徵數據庫來進行比對,數據庫的內容應包含所有欲識別的字集文字,根據與輸入文字一樣的特徵抽取方法所得的特徵群組。
對比識別
這是可充分發揮數學運算理論的一個模塊,根據不同的特徵特性,選用不同的數學距離函數,較有名的比對方法有,歐式空間的比對方法、鬆弛比對法(Relaxation)、動態程序比對法(Dynamic Programming,DP),以及類神經網絡的數據庫建立及比對、HMM(Hidden Markov Model)…等著名的方法,為了使識別的結果更穩定,也有所謂的專家系統(Experts System)被提出,利用各種特徵比對方法的相異互補性,使識別出的結果,其信心度特別的高。
字詞後處理:由於OCR的識別率並無法達到百分之百,或想加強比對的正確性及信心值,一些除錯或甚至幫忙更正的功能,也成為OCR系統中必要的一個模塊。字詞後處理就是一例,利用比對後的識別文字與其可能的相似候選字群中,根據前後的識別文字找出最合乎邏輯的詞,做更正的功能。
字詞數據庫:為字詞後處理所建立的詞庫。
人工校正
OCR最後的關卡,在此之前,使用者可能只是拿支鼠標,跟著軟件設計的節奏操作或僅是觀看,而在此有可能須特別花使用者的精神及時間,去更正甚至找尋可能是OCR出錯的地方。一個好的OCR軟件,除了有一個穩定的影像處理及識別核心,以降低錯誤率外,人工校正的操作流程及其功能,亦影響OCR的處理效率,因此,文字影像與識別文字的對照,及其屏幕信息擺放的位置、還有每一識別文字的候選字功能、拒認字的功能、及字詞後處理後特意標示出可能有問題的字詞,都是為使用者設計儘量少使用鍵盤的一種功能,當然,不是說系統沒顯示出的文字就一定正確,就像完全由鍵盤輸入的工作人員也會有出錯的時候,這時要重新校正一次或能允許些許的錯,就完全看使用單位的需求了。
結果輸出
有人只要文本文件作部份文字的再使用之用,所以只要一般的文字文件、有人要漂漂亮亮的和輸入文件一模一樣,所以有原文重現的功能、有人注重表格內的文字,所以要和Excel等軟件結合。無論怎麼變化,都只是輸出檔案格式的變化而已。如果需要還原成原文一樣格式,則在識別後,需要人工排版,耗時耗力。
編輯本段中文識別資料錄入
文獻資料的數字化錄入,一般分為:
1.純圖像方式。
2.目錄文本、正文圖像方式。
3.全文本方式。
4.全文索引方式。文本方式和圖像方式的混合體。
識別過程
書本級:中文,英文;簡體,繁體;
版式級:豎排,橫排;有無分欄;
行切分 字切分
識別:真正的OCR識別過程,圖像信息還原成文本信息
後處理:人工干預,主要集中在前四個階段。
識別結果決定因素
1.圖片的質量,一般建議150dpi以上
2.顏色,一般對彩色識別很差,黑白的圖片較高,因此建議ocr的為黑白tif格式
3.最重要的就是字體,如果是手寫識別率很低。
國內OCR識別簡體差錯率為萬分之三,如果要求更高的精度需要投入更大的人工干預。繁體識別由於繁體字庫的不統一性(民國時期的字庫和現在繁體字庫不統一),導致識別困難,在人工干預下,精度能達到90%以上(圖文清晰情況下)。
編輯本段識別技巧1.分辨率的設置是文字識別的重要前提。一般來講,掃描儀提供較多的圖像信息,識別軟件比較容易得出識別結果。但也不是掃描分辨率設得越高識別正確率就越高。選擇300dpi或400dpi分辨率,適合大部分文檔掃描。注意文字原稿的掃描識別,設置掃描分辨率時千萬不要超過掃描儀的光學分辨率,不然會得不償失。下面是部分典型設置,僅供參考。
(1)1、2、3號字的文章段,推薦使用200dpi。
(2)4、小4、5號字的文章段,推薦使用300dpl
(3)小5、6號字的文章段,推薦使用400dpl
(4)7、8號字的文章段,推薦使用600dpi。
2. 掃描時適當地調整好亮度和對比度值,使掃描文件黑白分明。這對識別率的影響最為關鍵,掃描亮度和對比度值的設定以觀察掃描後的圖像中漢字的筆畫較細但又不斷開為原則。進行識別前,先看看掃描得到的圖像中文字質量如何,如果圖像存在黑點或黑斑時或文字線條很粗很黑,分不清筆畫時,說明亮度值太小了,應該增加亮度值在試試;如果文字線條凹凸不平,有斷線甚至圖像中漢字輪廓嚴重殘缺時,說明亮度值太大了,應減小亮度後再試試。
3.選好掃描軟件。選一款好的適合自己的OCR軟件是作好文字識別工作的基礎,一般不要使用掃描儀自帶的OEM軟件,OEM的OCR軟件的功能少、效果差,有的甚至沒有中文識別。
再選一個圖像軟件,第一,OCR軟件不能識別所有的掃描儀;第二,也是最關鍵的,利用圖像軟件的掃描接口掃描出來的圖像便於處理。
4.如果要進行的文本是帶有格式的,如粗體、斜體、首行縮進等,部分OCR軟件識別不出來,會丟失格式或出現亂碼。如果必須掃描帶有格式的文本,事先要確保使用的識別軟件是否支持文字格式的掃描。也可以關閉樣式識別系統,使軟件集中注意力查找正確的字符,不再顧及字體和字體格式。
5.在掃描識別報紙或其他半透明文稿時,背面的文字透過紙張混淆文字字形,對識別會造成很大的障礙。遇到該類掃描,只要在掃描原稿的背面附。蓋一張黑紙,掃描時,增加掃描對比度,即可減少背面模糊字體的影響,提高識別正確率,
6.一般文本掃描原稿都為黑、白兩色原稿,但是在掃描設置時卻常將掃描模式設為灰度模式。特別是在原稿質量較差時,使用灰度模式掃描,並在掃描軟件處理完後再繼續識別,這樣會得到較好的識別正確率。值得注意的是OCR識別軟件可以自己確定閥值,幾個百分點的閥值差異,可能就會影響識別的正常進行。當然,得到的圖像文件的大小會比黑白文件大很多。在進行大批量文稿掃描時,必須對原稿進行測試,找到最佳的閥值百分比。
7.遇到圖文混排的掃描原稿,首先明確使用的識別軟件是否支持自動分析圖文這一功能。如果支持的話,在進行這類掃描識別時,OCR軟件會自動計算出文本的內容、位置和先後順序。文字部分可以按照標示順序正常識別。
8.手動選取掃描區域會有更好識別效果。設置好參數後,先預覽一下,然後開始選取掃描區域。不要將要用的文章一股腦兒選在一個區域內,因為現在的文章排版為了追求更好的視覺效果,使用圖文混排的較多,掃成一幅圖像會影響OCR識別。因此,要根據實際情況將版面分成N個區域,怎麼劃分區域呢?每一區域內的文字字體、字號最好一致,沒有圖形、圖像,每一行的寬度一致,遇到長短不一,再細分,一般一次最多可掃描10個選區。根據不同情況,合理地設置識別區域的順序。不要嫌這個過程太煩,那可是提高識別率的有效手段。注意各識別區域不能有交叉,做到一切覺得完好以後再進行識別。這樣一般的識別率會在95%以上,對於識別不正確的文字進行校對後,就可以進入相應的文字處理軟件進行所需的處理了。
9.在放置掃描原稿時,把掃描的文字材料一定要擺放在掃描起始線正中,以最大限度地減小由於光學透鏡導致的失真。同時應保護掃描儀玻璃的乾淨和不受損害。文字有一定角度的傾斜,或者是原稿文字部分為不正規排版,必須在掃描後使用旋轉工具,進行糾正;否則OCR識別軟件會將水平筆劃當做斜筆劃處理,識別正確率會下降很多。建議用戶儘量將掃描原稿放正,用工具旋轉糾正會降低圖像質量,使字符識別更加困難。
10.先"預覽"整體版面,選定要掃描的區域,再用"放大預覽"工具,選擇一小塊進行放大顯示到全屏幕,觀察其文字的對比度,文字的深淺濃度,據情況調整"閥值"的大小,最終要求文字清晰,不濃(文字成團),不淡(文字斷筆伐),一般在"閥值"80左右為宜,最後再掃描。
11.用工具擦掉圖像汙點,包括原來版面中的不需要識別的插圖、分隔線等,使文字圖像中除了文字沒有一點多餘的東西;這可以大提高識別率並減少識別後的修改工作。
12.如果要掃描印刷質量稍微差一些的文章,比如說報紙,掃描的結果將不會黑白分明,會出現大量的黑點,而且在字體的筆畫上也會出現粘連現象,這兩項可是漢字識別的大忌,將嚴重影響漢字識別的正確率。為獲得較好的識別結果,必須仔細進行色調調節,反覆掃描多次才能獲得比較理想的結果。另外由於報紙很薄且大部分紙質不高,導致掃描儀上蓋板不能完全壓住報紙(有縫隙),所以一般情況下報紙的掃描識別效果沒有雜誌的效果好。解決辦法是在報紙上壓一至兩本16K的雜誌,效果還是不錯的。
目前國內最有實力的OCR公司有:雲脈, 漢王, 文通;
其中雲脈OCR文字識別軟件及雲脈名片識別軟件識別率最高
雲脈OCR文字識別軟件更好。可識別各種文檔、名片、證件、商品標籤、車牌等。識別率很高。還有OCR雲識別雲管理,支持安卓、IPHONE等許多手機平臺。