人工智能這個(gè)詞可謂是耳熟能詳,近幾年人工智能熱潮再次席卷而來(lái),引起轟動(dòng)的要數(shù)google的AlphaGo,相繼打敗了圍棋界的韓國(guó)選手李世石以及世界冠軍柯潔,見(jiàn)證了人工智能發(fā)展的里程碑式的變革,人工智能再度引起了眾人的關(guān)注。
人工智能當(dāng)然不止會(huì)下棋這么簡(jiǎn)單,其實(shí)在20年前,智能家居的開(kāi)發(fā)就有不少團(tuán)隊(duì)在進(jìn)行,只是切入點(diǎn)不對(duì),所以一直沒(méi)有什么起色,現(xiàn)在大家都以語(yǔ)音為切入點(diǎn),使得人工智能開(kāi)始步入正軌,亞馬遜的智能音箱echo就是代表產(chǎn)品,自然語(yǔ)言互動(dòng)會(huì)逐漸擺脫人對(duì)著屏幕互動(dòng)的束縛,其最大的價(jià)值就是回歸人生,在未來(lái)就會(huì)遷就人類,語(yǔ)音交互就是這樣一個(gè)在各個(gè)場(chǎng)景中都可以嵌入的技術(shù)。
目前我國(guó)的語(yǔ)音識(shí)別技術(shù)也已經(jīng)從進(jìn)場(chǎng)發(fā)展到遠(yuǎn)場(chǎng),如果要實(shí)現(xiàn)人工智能,OCR技術(shù)則是必不可少的基石,智能文字識(shí)別的主要依據(jù)就是OCR技術(shù)識(shí)別原理,現(xiàn)在也有許多智能產(chǎn)品加入了人臉識(shí)別的項(xiàng)目。
OCR英文全稱是Optical Character Recognition,中文叫做光學(xué)字符識(shí)別。它是利用光學(xué)技術(shù)和計(jì)算機(jī)技術(shù)把印在或?qū)懺诩埳系奈淖肿x取出來(lái),并轉(zhuǎn)換成一種計(jì)算機(jī)能夠接受、人又可以理解的格式。文字識(shí)別是計(jì)算機(jī)視覺(jué)研究領(lǐng)域的分支之一,而且這個(gè)課題已經(jīng)是比較成熟了,并且在商業(yè)中已經(jīng)有很多落地項(xiàng)目了。比如漢王OCR,百度OCR,阿里OCR等等,很多企業(yè)都有能力都是拿OCR技術(shù)開(kāi)始掙錢了。其實(shí)我們自己也能感受到,OCR技術(shù)確實(shí)也在改變著我們的生活:比如一個(gè)手機(jī)APP就能幫忙掃描名片、身份證,并識(shí)別出里面的信息;汽車進(jìn)入停車場(chǎng)、收費(fèi)站都不需要人工登記了,都是用車牌識(shí)別技術(shù);我們看書(shū)時(shí)看到不懂的題,拿個(gè)手機(jī)一掃,APP就能在網(wǎng)上幫你找到這題的答案。太多太多的應(yīng)用了,OCR的應(yīng)用在當(dāng)今時(shí)代確實(shí)是百花齊放啊。
OCR概念的產(chǎn)生是在1929年,德國(guó)的科學(xué)家Tausheck首先提出了OCR的概念,并且申請(qǐng)了專利。幾年后,美國(guó)科學(xué)家Handel也提出了利用技術(shù)對(duì)文字進(jìn)行識(shí)別的想法。但這種夢(mèng)想直到計(jì)算機(jī)的誕生才變成了現(xiàn)實(shí)?,F(xiàn)在這一技術(shù)已經(jīng)由計(jì)算機(jī)來(lái)實(shí)現(xiàn),OCR的意思就演變成為利用光學(xué)技術(shù)對(duì)文字和字符進(jìn)行掃描識(shí)別,轉(zhuǎn)化成計(jì)算機(jī)內(nèi)碼。
我國(guó)在OCR技術(shù)方面的研究工作起步較晚,在70年代才開(kāi)始對(duì)數(shù)字、英文字母及符號(hào)的識(shí)別進(jìn)行研究,70年代末開(kāi)始進(jìn)行漢字識(shí)別的研究,到1986年漢字識(shí)別的研究進(jìn)入一個(gè)實(shí)質(zhì)性的階段,取得了較大的成果,不少研究單位相繼推出了中文OCR產(chǎn)品。我國(guó)OCR都是有 OMR演變過(guò)來(lái)的,我國(guó)的一些研究部門(mén)在 80年代初就開(kāi)始對(duì)OCR識(shí)別進(jìn)行研究,如:清華的吳估壽教授、丁曉青教授、夏瑩教授、北大的顧小鳳教授、北信的張昕中教授、中科院的劉品平博士、李明敬博士可以稱作我國(guó)OCR研究開(kāi)發(fā)隊(duì)伍中的導(dǎo)航人,為此付出了不懈努力。二十多年的研究開(kāi)發(fā)積累了大量人才,專家就有上百人。在中關(guān)村的硅谷地帶,我國(guó)的OCR專家多達(dá)20多位,他們也為我國(guó)的信息領(lǐng)域留下了自己奮斗的足跡。我國(guó)目前使用的文本型OCR軟件主要有清華文通TH-OCR、北信BI-OCR、中自ICR、沈陽(yáng)自動(dòng)化所SY-OCR、北京曙光公司NI-OCR(已被中自漢王并購(gòu))等,匹配的掃描儀則使用市面上的平板掃描儀。中文OCR即采用掃描儀、數(shù)碼相機(jī)等輸入設(shè)備,把中文印刷體的文稿送入計(jì)算機(jī)并以計(jì)算機(jī)文檔表示出來(lái)的高新技術(shù)。中文印刷體識(shí)別技術(shù)(OCR)主要用于文字和表格輸入,可以用掃描儀將整頁(yè)的印刷文稿或者表格輸入計(jì)算機(jī),由計(jì)算機(jī)上的識(shí)別系統(tǒng)自動(dòng)生成漢字文件,替代人工鍵入漢字和表格的工作。中文OCR有普及版和專業(yè)版之分,現(xiàn)在市場(chǎng)上掃描儀捆綁的OCR軟件均為普及版。目前印刷體OCR的識(shí)別技術(shù)已經(jīng)達(dá)到可以實(shí)用的程度,即使對(duì)印刷質(zhì)量較差的文字的識(shí)別率也達(dá)到95%以上。由于手寫(xiě)體OCR技術(shù)的限制,專業(yè)型OCR系統(tǒng)的產(chǎn)品多是面向特定的行業(yè),即適用于每天需處理大量表格信息錄入的部門(mén),如郵政、稅務(wù)、海關(guān)、統(tǒng)計(jì)等等。這種面向特定行業(yè)的專業(yè)型OCR系統(tǒng)信息格式較為固定,識(shí)別的字符集相對(duì)小,經(jīng)常與專用的輸入設(shè)備結(jié)合使用,因此具有速度快、效率高等特點(diǎn)。在國(guó)外已經(jīng)被廣泛地應(yīng)用,充分發(fā)揮著作用。在我國(guó)隨著計(jì)算機(jī)應(yīng)用的深入,這方面的需求已經(jīng)出現(xiàn)。專業(yè)版 OCR有批處理功能,性能更加優(yōu)化,識(shí)別率也不同于普通版OCR。國(guó)家的"863計(jì)劃"對(duì)OCR技術(shù)的研究給予了很大的資助,促進(jìn)了OCR的重大成果的取得。如"863"項(xiàng)目的啟用者漢王最新推出的專業(yè)版"新世紀(jì)OCR",將我國(guó)當(dāng)今的OCR技術(shù)推進(jìn)了新的巔峰。它的特點(diǎn)主要是:識(shí)別率大幅度提高,尤其是對(duì)中英文混排文稿,識(shí)別率為99%??勺R(shí)別宋、仿宋、楷、隸、行等八種印刷字體,對(duì)數(shù)字、標(biāo)點(diǎn)符號(hào)的識(shí)別也可點(diǎn)可圈;對(duì)表格識(shí)別也有了一定的突破,無(wú)論橫版、豎版、中文表格、圖文混排文件都能識(shí)別,自動(dòng)版面分析和識(shí)別功能也大大加強(qiáng)。從80年代開(kāi)始,OCR的研究開(kāi)發(fā)就一直受到國(guó)家"863"計(jì)劃的資助,我國(guó)在信息技術(shù)領(lǐng)域付出的努力,已經(jīng)有了初步的回報(bào)。目前我們正在實(shí)現(xiàn)將OCR軟件針對(duì)表格形式的特征設(shè)計(jì)了大量的優(yōu)化功能,使得識(shí)別精度更高、識(shí)別速度更快,并且為適應(yīng)不同環(huán)境的使用提供了多種識(shí)別方式選項(xiàng),支持單機(jī)和網(wǎng)絡(luò)操作,極大地方便了使用,使應(yīng)用范圍更加廣泛,能達(dá)到各種不同用戶的應(yīng)用要求。我們相信經(jīng)過(guò)眾多專家或?qū)I(yè)人士的努力,及國(guó)家在信息產(chǎn)業(yè)領(lǐng)域的大力資助,使OCR進(jìn)入到網(wǎng)絡(luò)的各個(gè)領(lǐng)域,會(huì)有更多的新品種奉獻(xiàn)給我們的用戶,OCR技術(shù)將會(huì)有一個(gè)質(zhì)的飛躍。
光學(xué)字符識(shí)別(英語(yǔ) :Optical Character Recognition)是指電子設(shè)備(例如掃描儀或數(shù)碼相機(jī))檢查紙上打印的字符,通過(guò)檢測(cè)暗、亮的模式確定其形狀,然后用字符識(shí)別方法將形狀翻譯成計(jì)算機(jī)文字的過(guò)程;即,針對(duì)印刷體字符,采用光學(xué)的方式將紙質(zhì)文檔中的文字轉(zhuǎn)換成為黑白點(diǎn)陣的圖像文件,并通過(guò)識(shí)別軟件將圖像中的文字轉(zhuǎn)換成文本格式,供文字處理軟件進(jìn)一步編輯加工的技術(shù)。如何除錯(cuò)或利用輔助信息提高識(shí)別正確率,是OCR最重要的課題,ICR(Intelligent Character Recognition)的名詞也因此而產(chǎn)生。衡量一個(gè)OCR系統(tǒng)性能好壞的主要指標(biāo)有:拒識(shí)率、誤識(shí)率、識(shí)別速度、用戶界面的友好性,產(chǎn)品的穩(wěn)定性,易用性及可行性等。
OCR技術(shù)的興起便是從印刷體識(shí)別開(kāi)始的,印刷體識(shí)別的成功為了以后手寫(xiě)體的發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ),一般處理圖片的步驟包括以下幾個(gè):圖像輸入,圖像前處理,預(yù)識(shí)別,圖像切分,特征提取,匹配及模型訓(xùn)練,識(shí)別后處理。
對(duì)不同的圖像格式,有著不同的存儲(chǔ)格式,不同的壓縮方式,目前有OpenCV,CxImage等開(kāi)源項(xiàng)目。
輸入文本經(jīng)過(guò)掃描儀進(jìn)入計(jì)算機(jī)后,由于紙張的厚薄、光潔度和印刷質(zhì)量都會(huì)造成文字畸變,產(chǎn)生斷筆、粘連和污點(diǎn)等干擾,所以在進(jìn)行文字識(shí)別之前,要對(duì)帶有噪聲的文字圖像進(jìn)行處理。由于這種處理工作是在文字識(shí)別之前,所以被稱為預(yù)處理。預(yù)處理一般包括灰度化、二值化,傾斜檢測(cè)與校正,行、字切分,平滑,規(guī)范化等等。
3.2.1 灰度化:
通過(guò)外設(shè)采集的圖像通常為彩色圖像,彩色圖像會(huì)夾雜一些干擾信息,灰度化處理的主要目的就是濾除這些信息,灰度化的實(shí)質(zhì)其實(shí)就是將原本由三維描述的像素點(diǎn),映射為一維描述的像素點(diǎn)。轉(zhuǎn)換的方式和規(guī)則有很多,在這里不詳細(xì)介紹。
3.2.2 二值化處理:
對(duì)攝像頭拍攝的圖片,大多數(shù)是彩色圖片,彩色圖像所含的信息量巨大,對(duì)于圖片的內(nèi)容,我們可以簡(jiǎn)單的分為前景和背景,為了讓計(jì)算機(jī)更快的,更好的識(shí)別文字,我們可以簡(jiǎn)單地分為前景和背景,為了讓計(jì)算機(jī)更快的,更好的識(shí)別文字,我們需要對(duì)彩色圖進(jìn)行處理,使圖片只剩下前景信息和背景信息,可以簡(jiǎn)單的定義前景信息為黑色,背景信息為白色,這就是二值化圖。
3.2.3 噪聲去除
對(duì)于不同的文檔,我們對(duì)噪聲的定義可以不同,根據(jù)噪聲的特征進(jìn)行去噪,就叫做噪聲去除。
3.2.4 傾斜校正
由于一般的用戶,在拍攝文檔時(shí)候,都比較隨意,因此拍出來(lái)的圖片不可避免的產(chǎn)生傾斜,這就需要文字識(shí)別軟件進(jìn)行矯正。
印刷體文本資料大多是由平行于頁(yè)面邊緣的水平(或者垂直)的文本行(或者列)組成的,即傾斜角度為零度。然而在文本頁(yè)面掃描過(guò)程中,不論是手工掃描還是機(jī)器掃描,都不可避免地會(huì)出現(xiàn)圖像傾斜現(xiàn)象。而傾斜的文檔圖像對(duì)后期的字符分割、識(shí)別和圖像壓縮等工作將產(chǎn)生很大影響。為了保證后續(xù)處理的正確性,對(duì)文本圖像進(jìn)行傾斜檢測(cè)和校正是十分必要的。
文本圖像的傾斜校正分為手動(dòng)校正和自動(dòng)校正兩種。手動(dòng)校正,是指識(shí)別系統(tǒng)提供某種人機(jī)交互手段,實(shí)現(xiàn)文本圖像的傾斜校正。自動(dòng)校正,是指由計(jì)算機(jī)自動(dòng)分析文本圖像的版面特征,估計(jì)圖像的傾斜角度,并根據(jù)傾斜角度對(duì)文本圖像進(jìn)行校正。
目前,文本圖像的傾斜檢測(cè)方法有許多種,主要可以劃分為以下五類:基于投影圖的方法,基于Houhg變換的方法,基于交叉相關(guān)性的方法,基于Fourier變換的方法和基于最近鄰聚類方法。
最簡(jiǎn)單的基于投影圖的方法是將文本圖像沿不同方向進(jìn)行投影。當(dāng)投影方向和文字行方向一致時(shí),文字行在投影圖上的峰值最大,并且投影圖存在明顯的峰谷,此時(shí)的投影方向就是傾斜角度。
Huogh變換也是一種最常用的傾斜檢測(cè)方法,它是利用Hough變換的特性,將圖像中的前景像素映射到極坐標(biāo)空間,通過(guò)統(tǒng)計(jì)極坐標(biāo)空間各點(diǎn)的累加值得到文檔圖像的傾斜角度。
Fourier變換的方法是利用頁(yè)面傾角對(duì)應(yīng)于使Fourier空間密度最大的方向角的特性,將文檔圖像的所有像素點(diǎn)進(jìn)行Fourier變換。這種方法的計(jì)算量非常大,目前很少采用。
基于最近鄰聚類方法,取文本圖像的某個(gè)子區(qū)域中字符連通域的中心點(diǎn)作為特征點(diǎn),利用基線上的點(diǎn)的連續(xù)性,計(jì)算出對(duì)應(yīng)的文本行的方向角,從而得到整個(gè)頁(yè)面的傾斜角
3.2.5 版面分析
將文檔圖片分段落,分行的過(guò)程就叫做版面分析,由于實(shí)際文檔的多樣性,復(fù)雜性,因此,目前還沒(méi)有一個(gè)固定的,最優(yōu)化的切割模型。
由于拍照條件的限制,經(jīng)常造成字符粘連,斷筆,因此極大限制了識(shí)別系統(tǒng)的性能。
這一研究很早了,比較早有模板匹配,后來(lái)以特征提取為主,由于文字的位移,筆畫(huà)的粗細(xì),斷筆,粘連,旋轉(zhuǎn)等因素的影響,極大影響特征的提取的難度。
人們希望識(shí)別后的文字,任然像源文檔圖片那樣排列著,段落不變,位置不變,順序不變地輸出到Word文檔,PDF文檔等,這一過(guò)程就叫做版面還原。
將文本圖像分割為不同部分,并標(biāo)定各部分屬性,如:文本、圖像、表格。目前在版面分析方面的工作核心思想都是基于連通域分析法,后衍生出的基于神經(jīng)網(wǎng)絡(luò)的版面分析法等也都是以連通域?yàn)榛A(chǔ)進(jìn)行的。連通域是指將圖像經(jīng)過(guò)二值化后轉(zhuǎn)為的二值矩陣中任選一個(gè)像素點(diǎn),若包圍其的所有像素點(diǎn)中存在相同像素值的像素點(diǎn)則視為兩點(diǎn)連通,以此類推,這樣的像素點(diǎn)構(gòu)成的一個(gè)集合在圖像中所在的區(qū)域即一個(gè)連通域。根據(jù)連通域大小或像素點(diǎn)分布等特征可以將連通域的屬性標(biāo)記出來(lái),用作進(jìn)一步處理的依據(jù)。
根據(jù)特定的語(yǔ)言上下文的關(guān)系,對(duì)識(shí)別結(jié)果進(jìn)行校正,就是后處理。
如果要給OCR進(jìn)行分類,我覺(jué)得可以分為兩類:手寫(xiě)體識(shí)別和印刷體識(shí)別。這兩個(gè)可以認(rèn)為是OCR領(lǐng)域兩個(gè)大主題了,當(dāng)然印刷體識(shí)別較手寫(xiě)體識(shí)別要簡(jiǎn)單得多,我們也能從直觀上理解,印刷體大多都是規(guī)則的字體,因?yàn)檫@些字體都是計(jì)算機(jī)自己生成再通過(guò)打印技術(shù)印刷到紙上。在印刷體的識(shí)別上有其獨(dú)特的干擾:在印刷過(guò)程中字體很可能變得斷裂或者墨水粘連,使得OCR識(shí)別異常困難。當(dāng)然這些都可以通過(guò)一些圖像處理的技術(shù)幫他盡可能的還原,進(jìn)而提高識(shí)別率??偟膩?lái)說(shuō),單純的印刷體識(shí)別在業(yè)界已經(jīng)能做到很不錯(cuò)了,但說(shuō)100%識(shí)別是肯定不可能的,但是說(shuō)識(shí)別得不錯(cuò)那是沒(méi)毛病。
印刷體已經(jīng)識(shí)別得不錯(cuò)了,那么手寫(xiě)體呢?手寫(xiě)體識(shí)別一直是OCR界一直想攻克的難關(guān),但是時(shí)至今天,感覺(jué)這個(gè)難關(guān)還沒(méi)攻破,還有很多學(xué)者和公司在研究。為什么手寫(xiě)體識(shí)別這么難識(shí)別?因?yàn)槿祟愂謱?xiě)的字往往帶有個(gè)人特色,每個(gè)人寫(xiě)字的風(fēng)格基本不一樣,雖然人類可以讀懂你寫(xiě)的文字,但是機(jī)器缺很難。那為什么機(jī)器能讀懂印刷體?因?yàn)橛∷Ⅲw是機(jī)器造出來(lái)的啊,那機(jī)器當(dāng)然能讀懂自己造的字體啦哈哈~其實(shí)上面也提到了,印刷體一般都比較規(guī)則,字體都基本就那幾十種,機(jī)器學(xué)習(xí)這幾十種字體并不是一件難事,但是手寫(xiě)體,每個(gè)人都有一種字體的話,那機(jī)器該學(xué)習(xí)多少字體?。窟@就是難度所在。
如果按識(shí)別的內(nèi)容來(lái)分類,也就是按照識(shí)別的語(yǔ)言的分類的話,那么要識(shí)別的內(nèi)容將是人類的所有語(yǔ)言(漢語(yǔ)、英語(yǔ)、德語(yǔ)、法語(yǔ)等)。如果僅按照我們國(guó)人的需求,那識(shí)別的內(nèi)容就包括:漢字、英文字母、阿拉伯?dāng)?shù)字、常用標(biāo)點(diǎn)符號(hào)。根據(jù)要識(shí)別的內(nèi)容不同,識(shí)別的難度也各不相同。簡(jiǎn)單而言,識(shí)別數(shù)字是最簡(jiǎn)單了,畢竟要識(shí)別的字符只有0~9,而英文字母識(shí)別要識(shí)別的字符有26個(gè)(如果算上大小寫(xiě)的話那就52個(gè)),而中文識(shí)別,要識(shí)別的字符高達(dá)數(shù)千個(gè)(二級(jí)漢字一共6763個(gè))!因?yàn)闈h字的字形各不相同,結(jié)構(gòu)非常復(fù)雜(比如帶偏旁的漢字)如果要將這些字符都比較準(zhǔn)確地識(shí)別出來(lái),是一件相當(dāng)具有挑戰(zhàn)性的事情。但是,并不是所有應(yīng)用都需要識(shí)別如此龐大的漢字集,比如車牌識(shí)別,我們的識(shí)別目標(biāo)僅僅是數(shù)十個(gè)中國(guó)各省和直轄市的簡(jiǎn)稱,難度就大大減少了。當(dāng)然,在一些文檔自動(dòng)識(shí)別的應(yīng)用是需要識(shí)別整個(gè)漢字集的,所以要保證識(shí)別的整體的識(shí)別還是很困難的。
現(xiàn)在我們只想單純地想對(duì)字符進(jìn)行識(shí)別,那方法會(huì)有哪些呢?我列了一下可以采取的策略:
上面提到的OCR方法都有其有點(diǎn)和缺點(diǎn),也正如此,他們也有各自特別適合的應(yīng)用場(chǎng)景。
首先說(shuō)開(kāi)源OCR引擎Tesseract。搞字符識(shí)別的童鞋應(yīng)該都聽(tīng)說(shuō)過(guò)Tesseract這個(gè)東西,這是谷歌維護(hù)的一個(gè)OCR引擎,它已經(jīng)有一段相當(dāng)悠久的歷史了。Tesseract現(xiàn)在的版本已經(jīng)支持識(shí)別很多種語(yǔ)言了,當(dāng)然也包括漢字的識(shí)別。畢竟Tesseract是外國(guó)人搞得一個(gè)東西,所以在漢字識(shí)別的精度上還是不能擺上臺(tái)面,不過(guò)還是自己去改善。但是Tesseract在阿拉伯?dāng)?shù)字和英文字母上的識(shí)別還是可以的,如果你要做的應(yīng)用是要識(shí)別英文或者數(shù)字,不妨考慮一下使用Tesseract,畢竟拿來(lái)就能得到不錯(cuò)的結(jié)果。當(dāng)然啦,要做到你想要的識(shí)別率,后期微調(diào)或者優(yōu)化肯定要多下功夫的。
接下來(lái)說(shuō)一下借用OCR開(kāi)放平臺(tái)做文字識(shí)別?,F(xiàn)在很多大公司都開(kāi)放了OCR的API供開(kāi)發(fā)者調(diào)用,當(dāng)然啦,小量調(diào)用是不收費(fèi)的,但是大量調(diào)用就要收費(fèi)了。最近我也在百度開(kāi)放平臺(tái)上調(diào)用OCR的API做一些識(shí)別的工作,說(shuō)實(shí)話,在漢字的識(shí)別上,我們中國(guó)公司的技術(shù)還是頂尖的,在漢字識(shí)別的準(zhǔn)確率上已經(jīng)讓人很滿意了。比如我要識(shí)別一些文本,自己寫(xiě)個(gè)python腳本,調(diào)用開(kāi)放平臺(tái)的服務(wù),返回的就是識(shí)別結(jié)果了。這種模式有啥不好的地方嗎?首先是需要錢(當(dāng)然每天小批量識(shí)別一下是不用錢的),第二是自己的控制程度不足,我們想要提升識(shí)別精度,我們不可以從OCR識(shí)別上做改進(jìn)(畢竟別人的東西,我們改不了),能做只是預(yù)處理和后期矯正,能做的還是比較有限的。但是,如果自己不想花大量時(shí)間做OCR模型并且手上有錢的話,這種識(shí)別方法還是OK的。
上面提到的都是用的是別人的東西,那我們想從頭自己做,咋辦?
那就自己做吧!先談一談字符模板那匹配法。暴力的字符模板匹配法看起來(lái)很蠢,但是在一些應(yīng)用上可能卻很湊效。比如在對(duì)電表數(shù)字進(jìn)行識(shí)別時(shí),考慮到電表上的字體較少(可能就只有阿拉伯?dāng)?shù)字),而且字體很統(tǒng)一,清晰度也很高,所以識(shí)別難度不高。針對(duì)這種簡(jiǎn)單的識(shí)別場(chǎng)景,我們首先考慮的識(shí)別策略當(dāng)然是最為簡(jiǎn)單和暴力的模板匹配法。我們首先定義出數(shù)字模板(0~9),然后用該模板滑動(dòng)匹配電表上的字符,這種策略雖然簡(jiǎn)單但是相當(dāng)有效。我們不需要左思右想去建模,訓(xùn)練模型,只需要識(shí)別前做好模板庫(kù)就可以了。
模板匹配法只限于一些很簡(jiǎn)單的場(chǎng)景,但對(duì)于稍微復(fù)雜的場(chǎng)景,那就不太實(shí)用了。那此時(shí)我們可以采取OCR的一般方法,即特征設(shè)計(jì)、特征提取、分類得出結(jié)果的計(jì)算機(jī)視覺(jué)通用的技巧。在深度學(xué)習(xí)大放異彩之前,OCR的方法基本都是這種方法,其效果嘛,并不算特別好。在這里簡(jiǎn)單說(shuō)一下這里常見(jiàn)的方法。第一步是特征設(shè)計(jì)和提取,特征設(shè)計(jì)是一件很煩人的事情,做過(guò)模式識(shí)別相關(guān)項(xiàng)目的童鞋也深有體會(huì),我們現(xiàn)在識(shí)別的目標(biāo)是字符,所以我們要為字符設(shè)計(jì)它獨(dú)有的的特征,來(lái)為后面的特征分類做好準(zhǔn)備。字符有啥特征呢?有結(jié)構(gòu)特征,即字符的端點(diǎn)、交叉點(diǎn)、圈的個(gè)數(shù)、橫線豎線條數(shù)等等,都是可以利用的字符特征。比如“品”字,它的特征就是它有3個(gè)圈,6條橫線,6條豎線。除了結(jié)構(gòu)特征,還有大量人工專門(mén)設(shè)計(jì)的字符特征,據(jù)說(shuō)都能得到不錯(cuò)的效果。最后再將這些特征送入分類器(SVM)做分類,得出識(shí)別結(jié)果。這種方式最大的缺點(diǎn)就是,人們需要花費(fèi)大量時(shí)間做特征的設(shè)計(jì),這是一件相當(dāng)費(fèi)工夫的事情。通過(guò)人工設(shè)計(jì)的特征(例如HOG)來(lái)訓(xùn)練字符識(shí)別模型,此類單一的特征在字體變化,模糊或背景干擾時(shí)泛化能力迅速下降。而且過(guò)度依賴字符切分的結(jié)果,在字符扭曲、粘連、噪聲干擾的情況下,切分的錯(cuò)誤傳播尤其突出。針對(duì)傳統(tǒng)OCR解決方案的不足,學(xué)界業(yè)界紛紛擁抱基于深度學(xué)習(xí)的OCR。
這些年深度學(xué)習(xí)的出現(xiàn),讓OCR技術(shù)煥發(fā)第二春?,F(xiàn)在OCR基本都用卷積神經(jīng)網(wǎng)絡(luò)來(lái)做了,而且識(shí)別率也是驚人的好,人們也不再需要花大量時(shí)間去設(shè)計(jì)字符特征了。在OCR系統(tǒng)中,人工神經(jīng)網(wǎng)絡(luò)主要充當(dāng)特征提取器和分類器的功能,輸入是字符圖像,輸出是識(shí)別結(jié)果,一氣呵成。當(dāng)然用深度學(xué)習(xí)做OCR并不是在每個(gè)方面都很優(yōu)秀,因?yàn)樯窠?jīng)網(wǎng)絡(luò)的訓(xùn)練需要大量的訓(xùn)練數(shù)據(jù),那么如果我們沒(méi)有辦法得到大量訓(xùn)練數(shù)據(jù)時(shí),這種方法很可能就不奏效了。其次,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要花費(fèi)大量的時(shí)間,并且需要用到的硬件資源一般都比較多,這幾個(gè)都是需要考慮的問(wèn)題。
在一些簡(jiǎn)單環(huán)境下OCR的準(zhǔn)確度已經(jīng)比較高了(比如電子文檔),但是在一些復(fù)雜環(huán)境下的字符識(shí)別,在當(dāng)今還沒(méi)有人敢說(shuō)自己能做的很好?,F(xiàn)在大家都很少會(huì)把目光還放在如何對(duì)電子文檔的文字識(shí)別該怎么進(jìn)一步提高準(zhǔn)確率了,因?yàn)樗麄儼涯抗夥旁诟刑魬?zhàn)性的領(lǐng)域。OCR傳統(tǒng)方法在應(yīng)對(duì)復(fù)雜圖文場(chǎng)景的文字識(shí)別顯得力不從心,越來(lái)越多人把精力都放在研究如何把文字在復(fù)雜場(chǎng)景讀出來(lái),并且讀得準(zhǔn)確作為研究課題,用學(xué)界術(shù)語(yǔ)來(lái)說(shuō),就是場(chǎng)景文本識(shí)別(文字檢測(cè)+文字識(shí)別)。
1) 辦公自動(dòng)化 工廠企業(yè)、公司及事業(yè)單位的日常辦公用文件及資料等需要輸入計(jì)算機(jī)存儲(chǔ)檢索。使用OCR,既比存儲(chǔ)圖像文件大大地節(jié)省存儲(chǔ)量,又不需要專職錄入人員,是減輕勞動(dòng)量、節(jié)約資金、提高辦公效率的最好措施。
2) 建立中文資料庫(kù) 要大量輸入各種文書(shū)、刊、報(bào)及文件,使用OCR可以縮短建庫(kù)時(shí)間,減輕勞動(dòng)強(qiáng)度,降低費(fèi)用。
3) 打字公司、書(shū)刊出版社、報(bào)社等 使用OCR可以自動(dòng)錄入已經(jīng)出版的文章和打印文件,稍加修改編輯成新文章或再版己有書(shū)刊。OCR輸出的標(biāo)準(zhǔn)漢字代碼文件可為大多數(shù)中文處理系統(tǒng)、輕印刷系統(tǒng)、照排系統(tǒng)所接受,可重新打印、印刷輸出。
4) 圖書(shū)館、文獻(xiàn)中心 用本系統(tǒng)自動(dòng)錄入圖書(shū)有關(guān)信息,可建立書(shū)目數(shù)據(jù)庫(kù)自動(dòng)錄入經(jīng)典圖書(shū)全文,將紙上文字轉(zhuǎn)移到計(jì)算機(jī)內(nèi),便于保存、查找、檢索,更大的好處可以提供給專家用計(jì)算機(jī)對(duì)書(shū)籍內(nèi)容進(jìn)行研究。
5) 機(jī)器翻譯機(jī)器翻譯的第一步是將全文輸入計(jì)算機(jī)。利用OCR可以將機(jī)器自動(dòng)翻譯相匹配,實(shí)現(xiàn)高速自動(dòng)翻譯。
6) 個(gè)人使用 當(dāng)您閱讀資料時(shí),可用OCR將您感興趣的段落自動(dòng)錄入。特別是作家,利用本軟件可以將一些書(shū)載歷史資料或文獻(xiàn)快速錄入到計(jì)算機(jī)內(nèi)。
聯(lián)系客服