苗小愛
(青島酒店管理職業(yè)技術(shù)學(xué)院,山東青島 266100)
企業(yè)辦公信息化是構(gòu)成工業(yè)物聯(lián)網(wǎng)[1]至關(guān)重要的步驟。很多大中型企業(yè)已經(jīng)實現(xiàn)了信息化辦公。發(fā)票作為報銷憑據(jù),能夠?qū)崿F(xiàn)智能識別并且在接入企業(yè)辦公的物聯(lián)網(wǎng)中具有非常重要的作用。移動設(shè)備辦公能方便業(yè)務(wù)人員隨時隨地處理業(yè)務(wù)。
基于深度學(xué)習(xí)的OCR識別技術(shù),在其規(guī)?;瘧?yīng)用方面具有許多潛在優(yōu)勢。目前,通用場景OCR技術(shù)已十分成熟,發(fā)票類識別技術(shù)已經(jīng)廣泛應(yīng)用各大企業(yè)辦公系統(tǒng)中。但隨著技術(shù)的發(fā)展以及發(fā)票數(shù)據(jù)的復(fù)雜性,研究新型智能發(fā)票識別[2]勢在必行。
目前,標準導(dǎo)出的發(fā)票識別良好,但是對于拍照后有損失的發(fā)票識別效果較差。本文為了更符合真實場景,在樹莓派設(shè)備上進行試驗,將驗證算法在移動設(shè)備上的進行驗證,基于分割和識別算法對發(fā)票圖像[3]進行文本識別、信息化管理等工作。
本節(jié)設(shè)計了一種應(yīng)用于移動端拍照和PDF 發(fā)票識別的算法模型。利用深度學(xué)習(xí)技術(shù)對發(fā)票進行識別,主要涉及的技術(shù)模塊有數(shù)據(jù)預(yù)處理、數(shù)據(jù)增強、文本分割、文本識別和后處理模塊。
選取的發(fā)票樣本為學(xué)校報銷的增值稅發(fā)票,如圖1 所示。由于數(shù)據(jù)量的限制和數(shù)據(jù)樣本雜亂的限制,在進行文本識別和文本切割之前,使用OpenCV 相關(guān)技術(shù)對圖像進行預(yù)處理,并對圖像進行數(shù)據(jù)增強[4-5]。
圖1 拍照發(fā)票樣例
首先,要構(gòu)建數(shù)據(jù)集,本文采用學(xué)校留存的發(fā)票數(shù)據(jù)共532份進行訓(xùn)練、驗證和測試。首先將這些發(fā)票的文本進行劃分,用labelme標記出,由于使用的數(shù)據(jù)有限,本文的模型均是在預(yù)訓(xùn)練好的模型上進行微調(diào)。
標記好數(shù)據(jù)后,對數(shù)據(jù)進行resize 操作,將所有圖片都設(shè)計一個統(tǒng)一的尺寸,本文設(shè)計的圖片大小為1 024×1 024,為保證圖像的比例不變,文本不發(fā)生形變,對短邊兩側(cè)進行0 填充[6]。本文根據(jù)不同場景進行直方圖均衡化,并進行灰度變換,從而實現(xiàn)對圖像降維。為了抑制圖像中的噪聲數(shù)據(jù),減少文字表示采樣點的數(shù)量,提高有效性,本文對圖像進行平滑處理。
最后對圖片進行數(shù)據(jù)增強,由于拍照發(fā)票受到像素、拍攝角度、光照條件、障礙物遮擋等問題的影響,需要對圖片數(shù)據(jù)進行增強以適應(yīng)各種情況的影響。調(diào)整圖像的亮度、對比度、色調(diào)、飽和度和噪聲。然后,添加了隨機縮放、裁剪、翻轉(zhuǎn)和旋轉(zhuǎn)等。經(jīng)過數(shù)據(jù)增強后,圖片的數(shù)量增加到5 320 份。使用這些數(shù)據(jù)進行模型訓(xùn)練使識別準確率增加了5.7%。
本文設(shè)計的發(fā)票智能識別算法主要分為兩部分:一部分是發(fā)票圖片的切割算法。DBNet 算法是目前流行且分割準確性很高的算法[7];另一部分是文本識別算法,由于切割文本是一個詞或一個句子,因此使用CRNN進行文本識別,并能夠?qū)ζ鋵崿F(xiàn)一塊文本的識別。
智能識別流程如圖2所示,分為四個模塊:圖像預(yù)處理、文字定位、文字識別和接口結(jié)構(gòu)化解析。
圖2 發(fā)票識別流程
文本切割算法主要使用的是DBNet,對每一個像素點進行自適應(yīng)二值化,二值化閾值由網(wǎng)絡(luò)學(xué)習(xí)得到,將二值化過程加入網(wǎng)絡(luò)一起訓(xùn)練,這樣最終的輸出圖對于閾值非常魯棒。
標準二值化計算公式:
二值化計算公式:
其中Pi,j表示當前像素點,t表示預(yù)設(shè)的閾值,Ti,j表示每個像素值的閾值,是網(wǎng)絡(luò)計算的,k是膨脹因子。
目前與兩種分割算法進行對比,一種是字符級切割的craft算法[8];另一種是PANnet算法[9],這兩個算法在工業(yè)中使用較多,分割效果好。對比結(jié)果表1所示。
在本文使用的數(shù)據(jù)集上進行分割效果對比,主要的對比標準是召回率(R)、精度(P)和MAP。結(jié)果如表1所示:
本文訓(xùn)練的文本識別算法是一個單行識別算法,多行數(shù)據(jù)的合并放到了后處理階段(也稱作后校驗階段),由于識別的數(shù)據(jù)是移動端拍攝的,圖像質(zhì)量相對較低,因此,本文對CRNN 算法進行了改進,使用Attention 和Cross-Attention 替換了兩層BiLSTM結(jié)構(gòu),得到更為準確的識別結(jié)果。CRNN[11]主要的計算步驟如下:
其中,I表示序列,I*表示預(yù)測序列,也表示序列標記,Nδ(I′)表示臨近詞的置信度。在替換RNN結(jié)構(gòu)后,本文設(shè)計的識別模型如圖3所示:
圖3 改進模型架構(gòu)
模型中用于提取特征的主干是mobilenetV3,通過使用可分離卷積提高計算速度,并有不錯的特征提取效果。Attention 機制是通過query 向量與key 向量以乘法的方式判斷向量間的關(guān)系,然后作為門控乘以value 得到特征計算結(jié)果,對于模糊文本有兩個優(yōu)勢:(1)作為解碼器自動對齊;(2)能夠聯(lián)系上下文替換RNN得到更準確的識別結(jié)果。Cross-Attention[10]能夠同時利用編碼器和解碼器的特征,利用不同層次的特征信息。通過實驗驗證發(fā)現(xiàn),Attention 與Cross-Attention相結(jié)合的方法能有效地提高識別準確率。在發(fā)票識別中,由于識別的條目有限且識別的文本范圍較小,準確度相對較高,實驗對比結(jié)果如表2所示:
表2 識別算法結(jié)果對比
整合切割算法識別方法提取識別結(jié)果的關(guān)鍵信息,如名稱、納稅人識別號、地址、電話、開戶行記賬號等關(guān)鍵信息設(shè)計模板。最終識別結(jié)果如圖4所示:
圖4 發(fā)票識別結(jié)果
由于發(fā)票文本中有部分褶皺和污漬的干擾,單純地依靠底層算法模型,無法做到100%的識別準確率。本智能識別系統(tǒng)引入了后驗糾錯技術(shù),該后驗糾錯技術(shù)主要包括三部分:一是對多行識別結(jié)果根據(jù)切割的Box 框坐標與實際發(fā)票樣式進行合并;二是由于圖片過于模糊或已訓(xùn)練的文字過少,導(dǎo)致識別不準確,做了一個文本編輯距離糾正[11],將形近字體與發(fā)票文本字典進行匹配,得到糾正結(jié)果;三是對表格結(jié)構(gòu)變化的后處理,利用靈活的程序判別方式調(diào)整后處理的結(jié)構(gòu)化文本,提高識別準確度可以達到99%以上。
實驗表明:采用相關(guān)字符編輯距離匹配的方式,文本的識別率最高,加上多行識別結(jié)果合并,能更好地滿足業(yè)務(wù)實踐,使發(fā)票智能識別模塊具備了商業(yè)化應(yīng)用的條件。
發(fā)票智能識別在工業(yè)互聯(lián)網(wǎng)中的應(yīng)用場景包括自動對接企業(yè)SAAS系統(tǒng)、發(fā)票信息化管理[12]、系統(tǒng)自動生成報銷信息等。
目前,很多企業(yè)普遍都配置了發(fā)票管理信息化系統(tǒng),如SAAS 系統(tǒng),在實際業(yè)務(wù)運營過程中,發(fā)票的管理是獨立于SAAS系統(tǒng)之外的,要對發(fā)票進行管理,就需要建立手工臺賬,導(dǎo)致管理難度增加、可追溯性差等問題[13]。此外,由于線下發(fā)票管理與線上報銷信息化管理會存在執(zhí)行偏差,還會額外增加業(yè)務(wù)人員的工作量。
本文設(shè)計的發(fā)票智能化管理系統(tǒng)(如圖5所示),在發(fā)票通過智能識別模塊,將發(fā)票文本中的信息轉(zhuǎn)換成系統(tǒng)中的數(shù)據(jù),發(fā)票信息同步存儲至發(fā)票管理模塊。
圖5 財務(wù)信息管理系統(tǒng)
在傳統(tǒng)模式下,發(fā)票系統(tǒng)都是需要人工錄入數(shù)據(jù);當前,OCR識別模塊與報銷流程數(shù)據(jù)對接后,將與報銷相關(guān)的數(shù)據(jù)傳輸至報銷系統(tǒng),避免人工操作。同時,發(fā)票可以關(guān)聯(lián)報銷數(shù)據(jù),實現(xiàn)了發(fā)票與財務(wù)數(shù)據(jù)的對應(yīng),便于追溯查詢。
發(fā)票報銷智能化[14]管理模塊,可以幫助企業(yè)構(gòu)建企業(yè)發(fā)票信息化管理體系,實現(xiàn)對發(fā)票報銷的規(guī)范化、制度化管理,防范風(fēng)險。
以發(fā)票O(jiān)CR識別技術(shù)為基礎(chǔ),對企業(yè)的業(yè)務(wù)流程進行設(shè)計和優(yōu)化,以提高業(yè)務(wù)的執(zhí)行效率和企業(yè)的管理效率。引入發(fā)票智能識別模塊后,將需要人工線下完成的工作通過系統(tǒng)自動對接完成,實現(xiàn)全流程的系統(tǒng)信息化管理,是工業(yè)互聯(lián)網(wǎng)的重要組成部分。
本研究的技術(shù)創(chuàng)新在于:1)改進了CRNN[4]識別算法,在CNN 之后使用Attention 與Cross-Attention 組合的方式進行對齊解碼,提高模糊文本的;2)在識別結(jié)果基礎(chǔ)上增加后驗糾錯技術(shù),使發(fā)票的識別率進一步提升,更能滿足用戶的要求;3)設(shè)計了智能信息化發(fā)票管理系統(tǒng),目的是實現(xiàn)發(fā)票信息的系統(tǒng)管理。
在CRNN 的基礎(chǔ)上改進模型結(jié)構(gòu),以Attention 與Cross-Attention 相結(jié)合的方式提高文本識別準確率。并結(jié)合mobilenetV3輕量級架構(gòu)在樹莓派上應(yīng)用。
本文針對發(fā)票識別樣本構(gòu)建分割與識別模型,并將之工業(yè)化、信息化,服務(wù)于工業(yè)化物聯(lián)網(wǎng)?;贒BNet的分割算法和基于CRNN的識別算法構(gòu)成算法的核心,通過設(shè)計后驗糾錯技術(shù),校驗文本距離、多行信息合并以及結(jié)構(gòu)化處理使發(fā)票識別在工業(yè)領(lǐng)域得到實際應(yīng)用。通過發(fā)票智能識別系統(tǒng),設(shè)計了發(fā)票智能信息化管理系統(tǒng),有效提升了公司業(yè)務(wù)的運營效率以及財務(wù)信息的可追溯性,為其他人工智能技術(shù)的落地提供借鑒意義。