苗小愛
(青島酒店管理職業技術學院,山東青島 266100)
企業辦公信息化是構成工業物聯網[1]至關重要的步驟。很多大中型企業已經實現了信息化辦公。發票作為報銷憑據,能夠實現智能識別并且在接入企業辦公的物聯網中具有非常重要的作用。移動設備辦公能方便業務人員隨時隨地處理業務。
基于深度學習的OCR識別技術,在其規模化應用方面具有許多潛在優勢。目前,通用場景OCR技術已十分成熟,發票類識別技術已經廣泛應用各大企業辦公系統中。但隨著技術的發展以及發票數據的復雜性,研究新型智能發票識別[2]勢在必行。
目前,標準導出的發票識別良好,但是對于拍照后有損失的發票識別效果較差。本文為了更符合真實場景,在樹莓派設備上進行試驗,將驗證算法在移動設備上的進行驗證,基于分割和識別算法對發票圖像[3]進行文本識別、信息化管理等工作。
本節設計了一種應用于移動端拍照和PDF 發票識別的算法模型。利用深度學習技術對發票進行識別,主要涉及的技術模塊有數據預處理、數據增強、文本分割、文本識別和后處理模塊。
選取的發票樣本為學校報銷的增值稅發票,如圖1 所示。由于數據量的限制和數據樣本雜亂的限制,在進行文本識別和文本切割之前,使用OpenCV 相關技術對圖像進行預處理,并對圖像進行數據增強[4-5]。

圖1 拍照發票樣例
首先,要構建數據集,本文采用學校留存的發票數據共532份進行訓練、驗證和測試。首先將這些發票的文本進行劃分,用labelme標記出,由于使用的數據有限,本文的模型均是在預訓練好的模型上進行微調。
標記好數據后,對數據進行resize 操作,將所有圖片都設計一個統一的尺寸,本文設計的圖片大小為1 024×1 024,為保證圖像的比例不變,文本不發生形變,對短邊兩側進行0 填充[6]。本文根據不同場景進行直方圖均衡化,并進行灰度變換,從而實現對圖像降維。為了抑制圖像中的噪聲數據,減少文字表示采樣點的數量,提高有效性,本文對圖像進行平滑處理。
最后對圖片進行數據增強,由于拍照發票受到像素、拍攝角度、光照條件、障礙物遮擋等問題的影響,需要對圖片數據進行增強以適應各種情況的影響。調整圖像的亮度、對比度、色調、飽和度和噪聲。然后,添加了隨機縮放、裁剪、翻轉和旋轉等。經過數據增強后,圖片的數量增加到5 320 份。使用這些數據進行模型訓練使識別準確率增加了5.7%。
本文設計的發票智能識別算法主要分為兩部分:一部分是發票圖片的切割算法。DBNet 算法是目前流行且分割準確性很高的算法[7];另一部分是文本識別算法,由于切割文本是一個詞或一個句子,因此使用CRNN進行文本識別,并能夠對其實現一塊文本的識別。
智能識別流程如圖2所示,分為四個模塊:圖像預處理、文字定位、文字識別和接口結構化解析。

圖2 發票識別流程
文本切割算法主要使用的是DBNet,對每一個像素點進行自適應二值化,二值化閾值由網絡學習得到,將二值化過程加入網絡一起訓練,這樣最終的輸出圖對于閾值非常魯棒。
標準二值化計算公式:
二值化計算公式:
其中Pi,j表示當前像素點,t表示預設的閾值,Ti,j表示每個像素值的閾值,是網絡計算的,k是膨脹因子。
目前與兩種分割算法進行對比,一種是字符級切割的craft算法[8];另一種是PANnet算法[9],這兩個算法在工業中使用較多,分割效果好。對比結果表1所示。
在本文使用的數據集上進行分割效果對比,主要的對比標準是召回率(R)、精度(P)和MAP。結果如表1所示:
本文訓練的文本識別算法是一個單行識別算法,多行數據的合并放到了后處理階段(也稱作后校驗階段),由于識別的數據是移動端拍攝的,圖像質量相對較低,因此,本文對CRNN 算法進行了改進,使用Attention 和Cross-Attention 替換了兩層BiLSTM結構,得到更為準確的識別結果。CRNN[11]主要的計算步驟如下:
其中,I表示序列,I*表示預測序列,也表示序列標記,Nδ(I′)表示臨近詞的置信度。在替換RNN結構后,本文設計的識別模型如圖3所示:

圖3 改進模型架構
模型中用于提取特征的主干是mobilenetV3,通過使用可分離卷積提高計算速度,并有不錯的特征提取效果。Attention 機制是通過query 向量與key 向量以乘法的方式判斷向量間的關系,然后作為門控乘以value 得到特征計算結果,對于模糊文本有兩個優勢:(1)作為解碼器自動對齊;(2)能夠聯系上下文替換RNN得到更準確的識別結果。Cross-Attention[10]能夠同時利用編碼器和解碼器的特征,利用不同層次的特征信息。通過實驗驗證發現,Attention 與Cross-Attention相結合的方法能有效地提高識別準確率。在發票識別中,由于識別的條目有限且識別的文本范圍較小,準確度相對較高,實驗對比結果如表2所示:

表2 識別算法結果對比
整合切割算法識別方法提取識別結果的關鍵信息,如名稱、納稅人識別號、地址、電話、開戶行記賬號等關鍵信息設計模板。最終識別結果如圖4所示:

圖4 發票識別結果
由于發票文本中有部分褶皺和污漬的干擾,單純地依靠底層算法模型,無法做到100%的識別準確率。本智能識別系統引入了后驗糾錯技術,該后驗糾錯技術主要包括三部分:一是對多行識別結果根據切割的Box 框坐標與實際發票樣式進行合并;二是由于圖片過于模糊或已訓練的文字過少,導致識別不準確,做了一個文本編輯距離糾正[11],將形近字體與發票文本字典進行匹配,得到糾正結果;三是對表格結構變化的后處理,利用靈活的程序判別方式調整后處理的結構化文本,提高識別準確度可以達到99%以上。
實驗表明:采用相關字符編輯距離匹配的方式,文本的識別率最高,加上多行識別結果合并,能更好地滿足業務實踐,使發票智能識別模塊具備了商業化應用的條件。
發票智能識別在工業互聯網中的應用場景包括自動對接企業SAAS系統、發票信息化管理[12]、系統自動生成報銷信息等。
目前,很多企業普遍都配置了發票管理信息化系統,如SAAS 系統,在實際業務運營過程中,發票的管理是獨立于SAAS系統之外的,要對發票進行管理,就需要建立手工臺賬,導致管理難度增加、可追溯性差等問題[13]。此外,由于線下發票管理與線上報銷信息化管理會存在執行偏差,還會額外增加業務人員的工作量。
本文設計的發票智能化管理系統(如圖5所示),在發票通過智能識別模塊,將發票文本中的信息轉換成系統中的數據,發票信息同步存儲至發票管理模塊。

圖5 財務信息管理系統
在傳統模式下,發票系統都是需要人工錄入數據;當前,OCR識別模塊與報銷流程數據對接后,將與報銷相關的數據傳輸至報銷系統,避免人工操作。同時,發票可以關聯報銷數據,實現了發票與財務數據的對應,便于追溯查詢。
發票報銷智能化[14]管理模塊,可以幫助企業構建企業發票信息化管理體系,實現對發票報銷的規范化、制度化管理,防范風險。
以發票OCR識別技術為基礎,對企業的業務流程進行設計和優化,以提高業務的執行效率和企業的管理效率。引入發票智能識別模塊后,將需要人工線下完成的工作通過系統自動對接完成,實現全流程的系統信息化管理,是工業互聯網的重要組成部分。
本研究的技術創新在于:1)改進了CRNN[4]識別算法,在CNN 之后使用Attention 與Cross-Attention 組合的方式進行對齊解碼,提高模糊文本的;2)在識別結果基礎上增加后驗糾錯技術,使發票的識別率進一步提升,更能滿足用戶的要求;3)設計了智能信息化發票管理系統,目的是實現發票信息的系統管理。
在CRNN 的基礎上改進模型結構,以Attention 與Cross-Attention 相結合的方式提高文本識別準確率。并結合mobilenetV3輕量級架構在樹莓派上應用。
本文針對發票識別樣本構建分割與識別模型,并將之工業化、信息化,服務于工業化物聯網。基于DBNet的分割算法和基于CRNN的識別算法構成算法的核心,通過設計后驗糾錯技術,校驗文本距離、多行信息合并以及結構化處理使發票識別在工業領域得到實際應用。通過發票智能識別系統,設計了發票智能信息化管理系統,有效提升了公司業務的運營效率以及財務信息的可追溯性,為其他人工智能技術的落地提供借鑒意義。