行業(yè)應(yīng)用:基于OCR字符識(shí)別技術(shù)的發(fā)票內(nèi)容提取與實(shí)時(shí)識(shí)別
隨著文字識(shí)別技術(shù)的迅速發(fā)展,其相關(guān)領(lǐng)域的應(yīng)用在人們?nèi)粘I钪械玫搅藰O大的認(rèn)可。將紙質(zhì)發(fā)票通過拍照轉(zhuǎn)化成電子圖片,再利用OCR字符識(shí)別技術(shù)識(shí)別圖片中的票據(jù)信息,自動(dòng)錄入到系統(tǒng)中,可有效解決票據(jù)信息人工錄入時(shí)效率低、準(zhǔn)確率低的問題,大幅度提升工作效率。
基于Tesseract-OCR引擎的發(fā)票內(nèi)容提取與實(shí)時(shí)識(shí)別:首先利用OpenCV對(duì)發(fā)票圖像進(jìn)行預(yù)處理濾波、自適應(yīng)閾值等一系列預(yù)處理得到二值圖像;然后利用形態(tài)學(xué)中的開運(yùn)算提取表格全域線段,進(jìn)行表格位置提取,并結(jié)合表格交點(diǎn)坐標(biāo)與自定義模板,實(shí)現(xiàn)表頭與內(nèi)容自適應(yīng)適配;最后利用jTessBoxEditor對(duì)表格區(qū)域內(nèi)容進(jìn)行字庫訓(xùn)練優(yōu)化,最終實(shí)現(xiàn)基于Tesseract-OCR的字符識(shí)別。發(fā)票的OCR識(shí)別主要包括圖像預(yù)處理、表格提取、內(nèi)容匹配、字符識(shí)別4個(gè)模塊:

一、圖像預(yù)處理。預(yù)處理即對(duì)發(fā)票原圖進(jìn)行簡(jiǎn)單的形態(tài)學(xué)操作,獲取最佳的二值圖像。
二、表格提取。對(duì)二值圖像進(jìn)行線段識(shí)別,以實(shí)現(xiàn)表格提取。表格由水平線和垂直線組成,因此需分別在兩個(gè)方向上對(duì)發(fā)票進(jìn)行線段提取,提取線段的形態(tài)學(xué)操作就是通過自定義的結(jié)構(gòu)元素,構(gòu)造對(duì)指定形狀敏感的形態(tài)學(xué)運(yùn)算,再通過膨脹和腐蝕操作處理敏感像素。
提取水平線時(shí)創(chuàng)建自定義內(nèi)核形態(tài)為豎向矩形,此時(shí)的敏感對(duì)象是垂直線段,通過開運(yùn)算腐蝕垂直方向像素,水平線即被保留;提取垂直線段時(shí)創(chuàng)建自定義內(nèi)核形態(tài)為橫向矩形。圖像所有線段均提取后,對(duì)輸出結(jié)果進(jìn)行“與”操作以求得交點(diǎn)坐標(biāo),發(fā)票內(nèi)容通過坐標(biāo)對(duì)進(jìn)行匹配。再對(duì)提取出的水平線圖、垂直線圖做加法合并,即可得到完整的表格框線圖。


三、內(nèi)容匹配。發(fā)票內(nèi)容為多行多列文本,對(duì)發(fā)票先分割再識(shí)別,把含有用信息的表格單獨(dú)切割,每個(gè)表格都是一張圖像,對(duì)于含多行文本的表格,通過算法對(duì)其進(jìn)行再分割,使得到的每張圖像都只含一列文本。
四、字符識(shí)別。發(fā)票文檔由中英文、數(shù)字和特殊符號(hào)共同組成,Tesseract-OCR引擎自帶的字庫識(shí)別準(zhǔn)確率并不高,引入jTessBoxEditor來訓(xùn)練專門針對(duì)發(fā)票識(shí)別的字庫。通過修正坐標(biāo),將內(nèi)容與表格邊框分隔開,使表頭與內(nèi)容精準(zhǔn)匹配,從而實(shí)現(xiàn)任意區(qū)域下對(duì)特定表格進(jìn)行內(nèi)容提取,并高效精準(zhǔn)識(shí)別。


隨著中國(guó)的科技發(fā)展愈來愈好,OCR技術(shù)應(yīng)用越來越廣泛,如證件識(shí)別、銀行卡識(shí)別、車牌識(shí)別、表格識(shí)別、票據(jù)識(shí)別、護(hù)照識(shí)別、名片識(shí)別、人臉識(shí)別、文檔識(shí)別、人證合一、營(yíng)業(yè)執(zhí)照識(shí)別、發(fā)票識(shí)別、VIN碼識(shí)別等各種涵蓋生活、工作的技術(shù)核心,目前包含銀行、保險(xiǎn)、金融、稅務(wù)、海關(guān)、公安、邊檢、物流、電信工商管理、圖書館、戶籍管理、審計(jì)等很多行業(yè)都已經(jīng)應(yīng)用了OCR技術(shù)。
關(guān)于Tesseract:在當(dāng)前主流文字識(shí)別技術(shù)中,Tesseract作為主要被使用的開源引擎之一,是20世紀(jì)80年代中期由惠普實(shí)驗(yàn)室開發(fā)、谷歌公司維護(hù)的開源OCR(Optical Character Recognition,光學(xué)字符識(shí)別)引擎。在這些年Tesseract引擎更新了3.0的版本之后,其與Microsoft Office Document Imaging(MODI)相比,開始支持長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM),可以通過不斷的數(shù)據(jù)集進(jìn)行訓(xùn)練訓(xùn)練,將文字識(shí)別的準(zhǔn)確率不斷提高,現(xiàn)已經(jīng)支持對(duì)一百多門語言的文字進(jìn)行識(shí)別處理。