劉宗凡
編者按:光學(xué)字符識別(OCR),是將圖像中的文字識別為可編輯的文字的技術(shù)。OCR技術(shù)極大地推動了紙質(zhì)書籍?dāng)?shù)字化的進程,使得浩如煙海的存量書籍轉(zhuǎn)化為數(shù)字版本成為可能,是數(shù)字化圖書館建立過程中當(dāng)之無愧的最大功臣。當(dāng)OCR技術(shù)插上人工智能的翅膀,更是將應(yīng)用拓展到很多行業(yè),如場景文字識別、手寫識別、車牌識別、證件識別、汽車VIN碼識別、發(fā)票識別、智能交通……使相應(yīng)領(lǐng)域的工作方式和效率得到了前所未有的革新。因此,我們將分兩期探討光學(xué)字符識別(OCR)的發(fā)展以及使用。
OCR(Optical Character Recognition,光學(xué)字符識別)是指電子設(shè)備(如掃描儀或數(shù)碼相機)檢查字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計算機文字的過程,即采用光學(xué)的方式將紙質(zhì)文檔中的文字轉(zhuǎn)換成為黑白點陣的圖像文件,并通過識別軟件將圖像中的文字轉(zhuǎn)換成文本格式,供文字處理軟件進一步編輯加工的技術(shù)。傳統(tǒng)的OCR技術(shù)已經(jīng)發(fā)展了幾十年,如今在人工智能(AI)的推動下,OCR技術(shù)又煥發(fā)出了新的活力。
● 漢字OCR發(fā)展沿革
我國使用漢字的歷史源遠流長,漢字的識別遠比數(shù)字、西文要棘手,主要體現(xiàn)在以下三個方面。
1.數(shù)量龐大
和10個數(shù)字、26個英文字母相比較,漢字的數(shù)量可以說是一個天文數(shù)字。1994年出版的《中華字?!肥珍浟?7019個漢字,目前計算機上最全的字庫,收錄了91251個漢字。國標(biāo)GB2312-80字符集有6763個漢字,其中一級漢字3755個,使用頻度已經(jīng)覆蓋99.7%的使用范圍,二級漢字3008個,兩級漢字總使用頻度達到了99.99%。所以,目前主要解決一級漢字的識別。即使這樣,漢字識別也屬于大類別數(shù)的模式識別問題。
2.結(jié)構(gòu)復(fù)雜
漢字的結(jié)構(gòu)性很強。漢字可以看作是部件的組合,稱之為偏旁、部首或字根,是筆畫的有意義的組合。筆畫和部首的排列組合,構(gòu)成了結(jié)構(gòu)異常復(fù)雜的漢字。
3.相似字多
很多漢字之間差別很小,有些僅表現(xiàn)為某一個筆畫位置或形態(tài)的微小變化。這些漢字即使由人來識別也容易出錯,機器識別的難度可想而知。
正是由于這些原因,漢字的識別一直落后于西文。國際上最早展開對漢字識別的研究是在1966年,BIM公司發(fā)表了第一篇關(guān)于印刷體漢字識別的論文,利用簡單的模板匹配法,能夠識別1000個印刷體漢字。
1977年東芝綜合研究所研制出可以識別2000個單體印刷漢字的識別系統(tǒng);20世紀(jì)80年代初期,日本武藏野電氣研究所研制出可以識別2300個多體漢字的印刷體漢字識別系統(tǒng),識別率達到99.88%,識別速度大于100字/秒。
我國對漢字識別的研究主要分為三個階段:①探索階段(1979—1985年)。我國對漢字的識別研究是從20世紀(jì)90年代開始的,研制出了模擬識別軟件和系統(tǒng),發(fā)表了一些論文成果,為漢字的識別打下了堅實的基礎(chǔ)。②研制階段(1986—1988年)。這三年是漢字識別技術(shù)研究的高潮期,總共有11個單位進行了14次印刷體漢字識別的成果鑒定,識別率高達99.5%以上,識別速度達到10~14字/秒。由于印刷體文字形狀發(fā)生了變化,軟件的適應(yīng)性和抗干擾性比較差,實際上識別率是比較差的,還達不到實用的效果。③實用階段(1989年至今)。國家高技術(shù)研究發(fā)展計劃(863計劃)、國家重點科技攻關(guān)計劃、國家自然科學(xué)基金和軍事基礎(chǔ)研究基金都對印刷體漢字識別這一研究課題給予了極大的重視和大力的支持。目前,印刷體漢字識別和聯(lián)機手寫漢字識別走向?qū)嵱没?,其技術(shù)水平和當(dāng)前世界最高水平并駕齊驅(qū)。清華大學(xué)電子工程系研制由清華紫光集團推出的TH-OCR、漢王集團推出的漢王OCR、尚書OCR,是我國印刷體漢字識別領(lǐng)域的翹楚。
2016年,阿爾法狗與世界冠軍李世石在圍棋領(lǐng)域的驚世駭俗的一戰(zhàn),極大地推動了人工智能研究的熱潮,以深度學(xué)習(xí)、卷積神經(jīng)網(wǎng)絡(luò)技術(shù)為代表的人工智能思想,在各個領(lǐng)域都得到了研究和應(yīng)用。OCR技術(shù)在人工智能的推動下,進入了一個新的發(fā)展階段。和傳統(tǒng)OCR聚焦在印刷體漢字識別上不同,人工智能助推下的OCR對手寫體的識別更上一層樓,在各種不同復(fù)雜背景環(huán)境下的文字識別也進入實用階段。iOS15剛剛推出的圖片識別文字(Live Text)功能,就是蘋果公司人工智能研究的成果。我國互聯(lián)網(wǎng)科技公司也扎堆人工智能跑道,百度、搜狗、騰訊、有道等都推出了OCR接口,可供我們使用或軟件調(diào)用??梢灶A(yù)見,類似Live Text功能的軟件將很快普及,各種復(fù)雜環(huán)境下的文字識別(場景文字識別)將不斷提高識別率和識別速度,達到好用、易用的目的。
● 傳統(tǒng)漢字OCR原理
目前現(xiàn)存大量傳統(tǒng)漢字OCR軟件的技術(shù)線路如下圖所示。
1.文件管理
通過掃描儀、手機、相機等儀器采集需要識別的文字圖片。
2.圖像增強
圖像增強即是對圖像的成像進行修正,特別是手機、相機拍攝的圖片,如果不進行修正,將極大地影響文字識別率。處理過程包括灰度化、二值化、幾何變換(透視、扭曲、旋轉(zhuǎn)等)、畸變校正、圖像增強和光線校正、圖像平滑、行字切分等。
(1)灰度化
我們得到的文字圖片大多是彩色的,無疑會有很多干擾信息,對文字識別很不利。通過灰度化處理,將原本由三維描述的像素點映射為一維描述的像素點,可以排除多余的干擾。
(2)二值化
所謂二值化,就是把灰度值圖像信號轉(zhuǎn)化為只有黑和白的二值圖像信號,將漢字從圖像中分離出來。通常先確定像素的閾值,然后用像素的值和閾值比較,確定這個像素點為1或0。如果閾值太小,保留的信息過多,許多無用信息就會干擾以后的處理;如果閾值太大,則會丟失正常的信息,最終使得文字信息不完整,無法準(zhǔn)確識別。
(3)行字切分