劉宗凡
編者按:光學字符識別(OCR),是將圖像中的文字識別為可編輯的文字的技術(shù)。OCR技術(shù)極大地推動了紙質(zhì)書籍數(shù)字化的進程,使得浩如煙海的存量書籍轉(zhuǎn)化為數(shù)字版本成為可能,是數(shù)字化圖書館建立過程中當之無愧的最大功臣。當OCR技術(shù)插上人工智能的翅膀,更是將應(yīng)用拓展到很多行業(yè),如場景文字識別、手寫識別、車牌識別、證件識別、汽車VIN碼識別、發(fā)票識別、智能交通……使相應(yīng)領(lǐng)域的工作方式和效率得到了前所未有的革新。因此,我們將分兩期探討光學字符識別(OCR)的發(fā)展以及使用。
OCR(Optical Character Recognition,光學字符識別)是指電子設(shè)備(如掃描儀或數(shù)碼相機)檢查字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別方法將形狀翻譯成計算機文字的過程,即采用光學的方式將紙質(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年出版的《中華字海》收錄了87019個漢字,目前計算機上最全的字庫,收錄了91251個漢字。國標GB2312-80字符集有6763個漢字,其中一級漢字3755個,使用頻度已經(jīng)覆蓋99.7%的使用范圍,二級漢字3008個,兩級漢字總使用頻度達到了99.99%。所以,目前主要解決一級漢字的識別。即使這樣,漢字識別也屬于大類別數(shù)的模式識別問題。
2.結(jié)構(gòu)復雜
漢字的結(jié)構(gòu)性很強。漢字可以看作是部件的組合,稱之為偏旁、部首或字根,是筆畫的有意義的組合。筆畫和部首的排列組合,構(gòu)成了結(jié)構(gòu)異常復雜的漢字。
3.相似字多
很多漢字之間差別很小,有些僅表現(xiàn)為某一個筆畫位置或形態(tài)的微小變化。這些漢字即使由人來識別也容易出錯,機器識別的難度可想而知。
正是由于這些原因,漢字的識別一直落后于西文。國際上最早展開對漢字識別的研究是在1966年,BIM公司發(fā)表了第一篇關(guān)于印刷體漢字識別的論文,利用簡單的模板匹配法,能夠識別1000個印刷體漢字。
1977年東芝綜合研究所研制出可以識別2000個單體印刷漢字的識別系統(tǒng);20世紀80年代初期,日本武藏野電氣研究所研制出可以識別2300個多體漢字的印刷體漢字識別系統(tǒng),識別率達到99.88%,識別速度大于100字/秒。
我國對漢字識別的研究主要分為三個階段:①探索階段(1979—1985年)。我國對漢字的識別研究是從20世紀90年代開始的,研制出了模擬識別軟件和系統(tǒng),發(fā)表了一些論文成果,為漢字的識別打下了堅實的基礎(chǔ)。②研制階段(1986—1988年)。這三年是漢字識別技術(shù)研究的高潮期,總共有11個單位進行了14次印刷體漢字識別的成果鑒定,識別率高達99.5%以上,識別速度達到10~14字/秒。由于印刷體文字形狀發(fā)生了變化,軟件的適應(yīng)性和抗干擾性比較差,實際上識別率是比較差的,還達不到實用的效果。③實用階段(1989年至今)。國家高技術(shù)研究發(fā)展計劃(863計劃)、國家重點科技攻關(guān)計劃、國家自然科學基金和軍事基礎(chǔ)研究基金都對印刷體漢字識別這一研究課題給予了極大的重視和大力的支持。目前,印刷體漢字識別和聯(lián)機手寫漢字識別走向?qū)嵱没?,其技術(shù)水平和當前世界最高水平并駕齊驅(qū)。清華大學電子工程系研制由清華紫光集團推出的TH-OCR、漢王集團推出的漢王OCR、尚書OCR,是我國印刷體漢字識別領(lǐng)域的翹楚。
2016年,阿爾法狗與世界冠軍李世石在圍棋領(lǐng)域的驚世駭俗的一戰(zhàn),極大地推動了人工智能研究的熱潮,以深度學習、卷積神經(jīng)網(wǎng)絡(luò)技術(shù)為代表的人工智能思想,在各個領(lǐng)域都得到了研究和應(yīng)用。OCR技術(shù)在人工智能的推動下,進入了一個新的發(fā)展階段。和傳統(tǒng)OCR聚焦在印刷體漢字識別上不同,人工智能助推下的OCR對手寫體的識別更上一層樓,在各種不同復雜背景環(huán)境下的文字識別也進入實用階段。iOS15剛剛推出的圖片識別文字(Live Text)功能,就是蘋果公司人工智能研究的成果。我國互聯(lián)網(wǎng)科技公司也扎堆人工智能跑道,百度、搜狗、騰訊、有道等都推出了OCR接口,可供我們使用或軟件調(diào)用??梢灶A(yù)見,類似Live Text功能的軟件將很快普及,各種復雜環(huán)境下的文字識別(場景文字識別)將不斷提高識別率和識別速度,達到好用、易用的目的。
● 傳統(tǒng)漢字OCR原理
目前現(xiàn)存大量傳統(tǒng)漢字OCR軟件的技術(shù)線路如下圖所示。
1.文件管理
通過掃描儀、手機、相機等儀器采集需要識別的文字圖片。
2.圖像增強
圖像增強即是對圖像的成像進行修正,特別是手機、相機拍攝的圖片,如果不進行修正,將極大地影響文字識別率。處理過程包括灰度化、二值化、幾何變換(透視、扭曲、旋轉(zhuǎn)等)、畸變校正、圖像增強和光線校正、圖像平滑、行字切分等。
(1)灰度化
我們得到的文字圖片大多是彩色的,無疑會有很多干擾信息,對文字識別很不利。通過灰度化處理,將原本由三維描述的像素點映射為一維描述的像素點,可以排除多余的干擾。
(2)二值化
所謂二值化,就是把灰度值圖像信號轉(zhuǎn)化為只有黑和白的二值圖像信號,將漢字從圖像中分離出來。通常先確定像素的閾值,然后用像素的值和閾值比較,確定這個像素點為1或0。如果閾值太小,保留的信息過多,許多無用信息就會干擾以后的處理;如果閾值太大,則會丟失正常的信息,最終使得文字信息不完整,無法準確識別。
(3)行字切分
傳統(tǒng)OCR主要采用模式匹配來進行漢字識別,所以要將圖像中的文字首先切分成行(列),再將單個漢字摳出來,以和模式庫中的文字進行比對。
3.漢字識別
漢字識別的關(guān)鍵是建立一個科學的特征庫,通過圖像預(yù)處理后,提取出漢字的特征,再和特征庫進行比對,匹配上就完成了漢字的識別。漢字有哪些特征可供提取呢?
(1)結(jié)構(gòu)特征
結(jié)構(gòu)特征包括抽取筆畫法和松弛匹配法。抽取筆畫法是利用漢字的結(jié)構(gòu)信息來進行漢字的聯(lián)機識別;松弛匹配法是基于全局特征的匹配方法,抽取邊界線段,將這些邊界線段組成臨近線段表,然后用松弛匹配操作,完成邊與邊的匹配。
(2)統(tǒng)計特征
①特征點:主要是利用字符點陣中一些有代表性的黑點、白點作為特征來區(qū)分不同的字符。特征點包括筆畫骨架線的端點、折點、歧點和交點。這個方法能壓縮特征庫的容量,識別的適應(yīng)性強、直觀性好。
②筆段特征:漢字筆畫由筆段組成,筆段可以看作是一定方向、長度和寬度的矩形段。利用筆段之間的關(guān)系組成特征對漢字進行識別,對多體漢字的識別效果較好。
當然,漢字的多樣性和圖像的不同特點決定了在漢字識別過程中,提取特征要根據(jù)實際情況來選擇或者組合幾個特征,以達到更好的效果。
4.編輯
目前的OCR都無法達到百分之百正確識別,通常識別完以后,都要提供一些方法對文字進行編輯修改。一般OCR軟件都會提供對照修改或自動修改功能。對照修改就是觀察識別錯誤的文字,將光標定位到錯誤處,界面會同時顯示對應(yīng)的圖像位置,從而根據(jù)圖像來修改文字。自動修改則是基于語義理解,結(jié)合上下文信息進行校正。語義理解是人工智能領(lǐng)域一個亟待突破的難點,目前的自動修改還只能作為一個參考來使用。
通過編輯的文字最終可以導出到文本文件(TXT)或RTF文檔中。如果只需要文字進行排版,可以導出到文本文件中,如果想保留更多的格式信息,則RTF文檔是一個不錯的選擇,從而可以在Word等軟件中進一步編輯。
● PC機實用OCR軟件指南
傳統(tǒng)漢字OCR軟件,大多是收費軟件,或者隨掃描儀隨機提供。其中清華文通TH-OCR、漢王PDF OCR是國產(chǎn)掃描儀自帶得最多的OCR軟件。需要注意的是,對傳統(tǒng)漢字OCR技術(shù)的研究從20世紀80年代末開始已經(jīng)非常成熟,文字識別率已經(jīng)非常高,所以,這些軟件已經(jīng)長期沒有得到更新,但不影響它的實用性。在國際上聲譽最高的是ABBYY FineReader,它是一款功能最強大的OCR軟件,能將紙質(zhì)文檔、掃描件和PDF精確轉(zhuǎn)換為Word、Excel。在處理PDF文檔時,與數(shù)字方式生成的PDF文檔相同,使用內(nèi)嵌的OCR功能,可以無差別處理包含掃描件在內(nèi)的任何PDF文檔。它可以在同一工作流程中對各種文檔進行數(shù)字化檢索、編輯、保護,共享和協(xié)作變得更加容易,已經(jīng)超出了普通OCR軟件的范疇。
隨著人工智能技術(shù)在OCR領(lǐng)域的普及,深度學習使得OCR從傳統(tǒng)的印刷體光學字符識別走向了場景文字識別。一些開源小軟件通過調(diào)用互聯(lián)網(wǎng)大公司提供的接口提供OCR服務(wù),能非常方便地解決某些領(lǐng)域的難題。
1.漢王PDF OCR
漢王集團除了OCR搭上了人工智能的快車,在手寫識別、自然語言識別、人臉及生物特征識別等方面也得到了很大的發(fā)展。OCR方面,除了印刷體字符識別外,還在手寫體字符識別、自然場景拍照識別、公式字符識別、復雜表格識別、卡片識別、票據(jù)識別等方面具有一定的優(yōu)勢。
如果我們需要把大量紙質(zhì)文件數(shù)字化,漢王PDF OCR還是非??旖莘奖愕?。
①輸入:點擊“文件”菜單,可以直接打開圖像文件,或者選擇聯(lián)機的掃描儀掃描紙質(zhì)文件。
②圖像增強:如果掃描或拍照的文件有傾斜現(xiàn)象,可以在“編輯”菜單的“自動傾斜校正”中進行校正。如果效果不理想,“編輯”菜單下還提供“手工傾斜校正”。因為軟件多年沒有更新,圖像增強方面提供的功能非常有限,特別是手機拍照產(chǎn)生的畸變無法校正,是這款軟件的遺憾。
③版面分析:在“識別”菜單下有“版面分析”功能(快捷鍵F5),對圖像中的文字進行切片。如果識別有錯誤,可以手工拖動紅框進行修改。如果版面比較復雜,可以點擊選中相應(yīng)的板塊,在“識別-修改欄屬性”中設(shè)置相應(yīng)的欄目為圖像、表格、橫排、豎排,為接下來的文字識別提供更好的識別率。
④文字識別:單擊菜單“識別-開始識別”(快捷鍵F8),就會在中間欄顯示識別結(jié)果,速度很快。
⑤文字編輯:在識別結(jié)果中,系統(tǒng)判定可能有錯誤的文字會用紅色顯示。點擊識別錯誤的地方,相應(yīng)文字的上面一行會用黃色顯示掃描的這一行文字以作為對照,同時圖像也會自動定位到相應(yīng)的位置,并用紅框框出正在修改的文字,以供修改時參考。同時,文本欄上方還會對光標所在文字提供修改意見,如果有正確的字,單擊鼠標可以將文本修改過來,非常方便、直觀。
⑥輸出:點擊“輸出-到指定格式文件”,有TXT、RTF、HTML、XLS四種格式可以選。如果要保留原來的排版,輸出成RTF格式,然后就可以用Word打開,繼續(xù)完成排版工作。比較遺憾的是,雖然版式能大體保留下來,但每一行文字會作為一個段落??梢赃x中一個自然段,通過Word的“替換”功能(組合鍵Ctrl+H),在“查找內(nèi)容”輸入“^p”(或在下面的“特殊格式”中選中“段落標記”,會自動輸入“^p”),讓“替換為”留空,單擊“全部替換”,就會把本段中多余的換行去掉。
漢王PDF OCR雖然較長時間沒有更新,但還是能滿足大量掃描文件識別的要求,如教材的數(shù)字化等。同時,軟件還提供直接打開PDF文件,并能直接將文字化的PDF轉(zhuǎn)化為RTF文件的功能,除了每行后會有一個段落標記外基本上能比較完美地復原PDF文檔的版式。
2.天若OCR
天若OCR是一款開源軟件,它本身并不具備OCR功能,而是通過調(diào)用各大OCR公司提供的接口來進行文字識別。因為要調(diào)用網(wǎng)絡(luò)上提供的接口才能識別文字,所以它必須聯(lián)網(wǎng)才能工作。它的最大用處是將計算機屏幕上能顯示的文字識別出來,而不管這些文字是真正的文字(如各種網(wǎng)文、文庫)還是圖片、PDF文檔,只要屏幕上能顯示,都可以將其變?yōu)榭删庉嫷奈淖帧?/p>
天若OCR軟件非常簡潔,啟動后只有一個浮動工具欄和一個類似空白記事本的界面。按“F4”鍵(或單擊浮動工具欄的“T”),鼠標變成一個“十”字,右下將放大鼠標所在位置的圖像。按下鼠標左鍵,拖動鼠標選中需要識別的文字,松開鼠標以后,識別結(jié)果就出現(xiàn)在主界面中,可以進一步修改。最后點擊“docx”按鈕,就能將文字導出到一個Word文檔中,印刷體的識別率幾乎達到百分之百。和漢王等傳統(tǒng)OCR軟件相比,天若能準確進行段落識別,再也不會在每行后面多出一個段落標記。它的缺點是對排版格式保留得不是很好,不適合于紙質(zhì)文檔數(shù)字化。
有了這款軟件,我們可以解決幾個主要問題:
①復制某些不方便復制的文檔。我們在網(wǎng)上找到某些有用的文字時,經(jīng)常被限制復制,需要注冊會員、VIP等。有了這款軟件,可以輕松完成復制文字任務(wù)。
②PDF轉(zhuǎn)文字。微軟Office 2013以后的版本都支持編輯PDF,可很多計算機還停留在Office 2007甚至Office 2003的版本。通過這款軟件,不管是文字還是圖片格式的PDF文檔,都可以輕松轉(zhuǎn)換成可編輯文本。
③圖片文字識別。這個是OCR軟件的基本功能,可以直接打開圖片進行識別。
④表格、公式、豎排文本等復雜文本識別。復雜文本識別需調(diào)用收費接口或?qū)S媒涌冢枰螺d天若專業(yè)版,收費使用。
隨著人工智能技術(shù)的發(fā)展,深度學習和神經(jīng)網(wǎng)絡(luò)的研究與各行各業(yè)的結(jié)合,OCR也插上了飛翔的翅膀。從傳統(tǒng)的漢字識別,到現(xiàn)在的圖文混排和多語種混排的版面分析、版面理解和版面恢復,復雜場景下文字的識別等,都得到了極大的發(fā)展。多種多樣專用識別系統(tǒng)的出現(xiàn),標志著印刷體漢字識別技術(shù)的應(yīng)用領(lǐng)域得到了廣闊的擴展。