本發(fā)明涉及一種財務報銷全票據(jù)智能審核系統(tǒng),適用于公司人員的報銷紙介發(fā)票的電子轉換、發(fā)票內控驗證、報銷發(fā)票管理。
背景技術:
企業(yè)中的財務票據(jù)是會計信息的主要的來源,也是會計對企業(yè)財務賬目進行管理的基礎。同時,也是國家有關部門管理、監(jiān)督檢查企業(yè)資金運作的有效方式和重要依據(jù)。因此企業(yè)的財務票據(jù)管理已成為會計管理中的一種重要規(guī)范。在市場經濟快速發(fā)展和市場經濟體制逐步完善的今天,企業(yè)的資金來源呈現(xiàn)出多元化。票據(jù)管理作為資金管理的重要環(huán)節(jié),在財務管理中起著舉足輕重的作用,是能否使企業(yè)內部監(jiān)管得到強化,財務制度得到健全的重要保障。隨著各行業(yè)企事業(yè)單位都在爭相建立財務數(shù)據(jù)共享中心,以期望通過財務數(shù)據(jù)共享完善企業(yè)運營管理,加快發(fā)展步伐,企業(yè)與企業(yè)、企業(yè)與管理機構之間,利用電子數(shù)據(jù)、票據(jù)憑證影像來傳遞貿易信息越來越頻繁,而傳統(tǒng)人工審核發(fā)票、錄入發(fā)票數(shù)據(jù)工作量大,效率低且易出錯,事后查找困難。
傳統(tǒng)數(shù)據(jù)采集是人工整理原始報銷票據(jù),然后進行掃描影像,再到會計人工錄入,再到憑證審核,而智能數(shù)據(jù)采集方式是采用ocr(光學字符識別)掃描識別技術,自動采集發(fā)票上的會計要素,自動對票據(jù)建立索引并歸檔,提高憑證信息查閱的一致性與準確性,與傳統(tǒng)的會計人工錄入數(shù)據(jù)方案相比,ocr掃描識別方案可以減少70%的工作量。
目前,常用的ocr系統(tǒng)只能完成部分類型發(fā)票的掃描錄入,且識別準確率不高,已不能滿足當前財務報銷的需要,更無法為建設財務數(shù)據(jù)共享中心提供有效的、全面的基礎數(shù)據(jù)支撐。
技術實現(xiàn)要素:
本發(fā)明的技術解決問題是:克服現(xiàn)有技術的不足,提出了一種財務報銷全票據(jù)智能審核系統(tǒng),不同類型的發(fā)票可統(tǒng)一掃描錄入財務報銷智能審核系統(tǒng),實現(xiàn)了單位報銷發(fā)票的電子化集中管理;財務工作人員可通過定制化的內控規(guī)則驗證報銷發(fā)票信息是否符合內控標準;提升了財務部門處理財務報銷工作效率和準確性。
本發(fā)明的技術解決方案是:
一種財務報銷全票據(jù)智能審核系統(tǒng),全票據(jù)智能審核系統(tǒng)包括ocr模塊,通過該ocr模塊對掃描為圖像的各種類型發(fā)票進行識別和處理。
全票據(jù)智能審核系統(tǒng)還包括掃描儀接口模塊、發(fā)票驗證模塊、文件上傳處理模塊、外圍財務系統(tǒng)接口模塊、條碼打印控制模塊以及以太網(wǎng)接口模塊;
掃描儀接口模塊實現(xiàn)驅動掃描儀并將掃描儀掃描的發(fā)票圖片發(fā)送給ocr模塊,ocr模塊將識別出的發(fā)票圖片上的信息提供給發(fā)票驗證模塊,同時,將能識別和不能識別的發(fā)票圖片均直接提供給文件上傳處理模塊;
發(fā)票驗證模塊對ocr模塊提供的信息進行內控要求檢驗,將檢驗之后的發(fā)票信息提供給文件上傳處理模塊,將檢驗狀態(tài)信息提供給外圍財務系統(tǒng)接口模塊;
文件上傳處理模塊對所有發(fā)票圖片和所述檢驗之后的發(fā)票信息進行唯一id編號和分類處理,再通過以太網(wǎng)接口模塊存儲到文件服務器中,同時,文件上傳處理模塊將發(fā)票信息在文件服務器中的存儲位置信息提供給外圍財務系統(tǒng)接口模塊,外圍財務系統(tǒng)接口模塊通過以太網(wǎng)模塊與外部財務報銷系統(tǒng)進行通信,外部財務報銷系統(tǒng)通過所述外圍財務系統(tǒng)接口模塊查找定位發(fā)票信息在文件服務器中的位置;外圍財務系統(tǒng)接口模塊將所述檢驗狀態(tài)信息通過以太網(wǎng)接口模塊供外部財務報銷系統(tǒng)查詢;
文件上傳處理模塊還將發(fā)票驗證模塊檢驗通過的發(fā)票信息提供給條碼打印控制模塊,條碼打印控制模塊將所述唯一id編號轉化為條形碼,并通過以太網(wǎng)接口模塊輸出給條碼打印機進行打印。
所述文件上傳處理模塊對不能識別的發(fā)票圖片和所述檢驗之后的發(fā)票信息進行分類處理,具體為:文件上傳處理模塊將不能識別的發(fā)票圖片和所述檢驗之后的發(fā)票信息總計分為5個類別,分別是:無法識別的發(fā)票圖片、驗證不通過的發(fā)票圖片、驗證不通過的發(fā)票圖片上的信息、驗證通過發(fā)票圖片、驗證通過的發(fā)票圖片上的信息。
所述發(fā)票驗證模塊對ocr模塊提供的信息進行內控要求檢驗,具體為:
(4.1)發(fā)票驗證模塊對ocr模塊提供的信息進行發(fā)票連號檢查,如果沒有連號出現(xiàn),則該張發(fā)票的檢驗狀態(tài)為通過驗證,進入步驟(4.2),否則該張發(fā)票的檢驗狀態(tài)為未通過驗證;
(4.2)發(fā)票驗證模塊對ocr模塊提供的信息進行發(fā)票重號檢查,如果沒有重號出現(xiàn),則該張發(fā)票的檢驗狀態(tài)為通過驗證,進入步驟(4.3),否則該張發(fā)票的檢驗狀態(tài)為未通過驗證;
(4.3)發(fā)票驗證模塊對ocr模塊提供的信息進行單張發(fā)票金額上限檢查,如果超過單張金額上限,則該張發(fā)票的檢驗狀態(tài)為通過驗證,進入步驟(4.4),否則該張發(fā)票的檢驗狀態(tài)為未通過驗證;
(4.4)發(fā)票驗證模塊對ocr模塊提供的信息進行關鍵字檢查,在預設關鍵字庫中進行比對,如果沒有出現(xiàn)關鍵字庫中的字段,則該張發(fā)票的檢驗狀態(tài)為通過驗證,否則該張發(fā)票的檢驗狀態(tài)為未通過驗證。
所述關鍵字庫中為單位財務內控要求指定不可報銷的內容信息。
所述檢驗狀態(tài)信息包括通過檢驗和未通過檢驗。
所述所有發(fā)票圖片和所述檢驗之后的發(fā)票信息進行唯一id編號,具體為:不能識別的發(fā)票圖片、能夠識別的發(fā)票圖片以及檢驗之后的發(fā)票信息均進行單獨編號,其中,能夠識別的發(fā)票圖片編號以及檢驗之后的發(fā)票信息編號一一對應。
ocr模塊對發(fā)票圖片進行識別和處理,具體為包括如下步驟:
(8.1)對掃描后的發(fā)票圖片進行色彩預處理,為圖片輪廓預處理提供輸入數(shù)據(jù);
(8.2)對經過色彩預處理的圖片進行輪廓檢測,排除發(fā)票紙張范圍外的像素干擾;
(8.3)對經過輪廓檢測的圖片進行文字預處理,識別發(fā)票上的字符,形成字符集并輸出;
(8.4)對步驟(8.3)輸出的字符集進行圖片識別處理,將識別處理結果按發(fā)票識別的語義組織為具有語義的結果對象,作為最終識別結果。
所述步驟(8.1)對掃描后的發(fā)票圖片進行色彩預處理,包括:
(9.1)將掃描后的發(fā)票圖片進行rgb轉換,生成rgb顏色空間數(shù)據(jù);
(9.2)對所述rgb顏色空間數(shù)據(jù)進行白化二值處理,即識別在rgb顏色空間數(shù)據(jù)中色調為白色的像素,并產生結果掩碼位圖矩陣,作為圖片輪廓預處理的輸入數(shù)據(jù)。
將掃描后的發(fā)票圖片進行rgb轉換,使用png或jpg圖片解析算法解析原始文件,產生內存位圖i(m*n),其中,m為位圖i的行數(shù),n為i的列數(shù),從而轉換為rgb顏色空間數(shù)據(jù),輸出數(shù)據(jù)為m*n的矩陣,矩陣元素為r3={0-255,0-255,0-255},表示為rgb顏色空間的三元組向量。
所述步驟(8.2)對經過色彩預處理的圖片進行輪廓檢測,排除發(fā)票紙張范圍外的像素干擾,具體為:
(11.1)使用canny邊緣檢測算法對結果掩碼位圖矩陣進行輪廓檢測,即對每個多邊形計算環(huán)繞矩形,取面積最大者為環(huán)繞紙張的矩形,其矩形邊緣即為輪廓;
(11.2)根據(jù)進行輪廓檢測后的數(shù)據(jù),對結果掩碼位圖矩陣計算其長邊和水平線的夾角,并對rgb顏色空間數(shù)據(jù)以該角度作旋轉變換,以校正紙張的偏角;
(11.3)對所述旋轉變換后的數(shù)據(jù)進行藍化二值處理,即識別在rgb顏色空間數(shù)據(jù)中色調為藍色的像素,并產生前景矩陣mtext,作為文字預處理的輸入數(shù)據(jù)。
所述步驟(11.2)進行旋轉變換具體為:對產生的紙張輪廓包圍矩形r取其任意三點p1、p2、p3,求點間距離d12=d(p1,p2),d23=d(p2,p3),取長邊,并求其與水平線夾角ap=|atan(x2-x1,y2-y1)|,如果ap小于5度,則變?yōu)?;將位圖矩陣i,即rgb顏色空間數(shù)據(jù)旋轉ap角度,以糾正其偏角;定義旋轉后產生的新位圖矩陣為i’。
所述步驟(8.3)對經過輪廓檢測的圖片進行文字預處理,具體為:
(13.1)對前景矩陣mtext進行逐行掃描,確定行的個數(shù)以及每行的起始和終止位置;
(13.2)進行行內縱掃描以確定文字范圍,從而得到分離后的文字矩形集合;
(13.3)將分離后的文字矩形集合中的文字矩形按照從上到下,從左到右的順序排序,形成字符集并輸出。
所述步驟(13.1)對前景矩陣mtext進行逐行掃描,確定行的個數(shù)以及每行的起始和終止位置,具體為:對掩碼矩陣mtext進行間距為1的橫向掃描線reduction操作,根據(jù)每一行為1的像素數(shù)量,得出自變量為行索引的方波曲線,將每一個方波脈沖的范圍[x0,x1]作為一行的行索引范圍,從而檢測到行的位置。
所述步驟(13.2)進行行內縱掃描以確定文字范圍,從而得到分離后的文字矩形集合,具體為:對每一行進行列間距為1的縱向掃描線操作,得出列索引為自變量的曲線;將曲線范圍正規(guī)化至[0,1]區(qū)間,并將小于0.05的值設置為0,根據(jù)方波脈沖波谷的位置確定文字之間的邊界,從而得到分離后的文字矩形集合。
所述步驟(8.4)對輸出的字符集進行圖片識別處理,將識別處理結果按發(fā)票識別的語義組織為具有語義的結果對象,具體為:
(16.1)構建文字識別所用的神經網(wǎng)絡模型結構;
(16.2)構建訓練模型所用的訓練集和驗證集,訓練集用于更新模型的權重,驗證集用于跟蹤訓練效果;
(16.3)根據(jù)所述訓練集,使用監(jiān)督學習方法對構建的神經網(wǎng)絡模型進行訓練,并使其驗證準確率達到預定標準或訓練輪數(shù)達到預定最大輪數(shù);
(16.4)將訓練后的模型權重進行保存;
(16.5)選用權重最大的模型,對所述輸出的字符集進行文字識別,得到在標簽空間中的概率分布矩陣;
(16.6)按行循環(huán)訪問概率分布矩陣中的每一行,掃描每一行最大峰值處得到其標簽索引,從而轉換為相應的字符,即識別結果;
(16.7)將識別結果按發(fā)票識別的語義組織為具有語義的結果對象,作為最終識別結果。
所述步驟(16.1)構建文字識別所用的神經網(wǎng)絡模型結構,采用深度卷積神經網(wǎng)絡。
所述構建訓練集具體為:使用繪圖指令以制定的字體在32*32位圖中繪制標簽字符;將前景矩陣mtext轉換為32*32的布爾掩碼矩陣m’,將所有數(shù)據(jù)進行序列化。
本發(fā)明與現(xiàn)有技術相比的有益效果是:
(1)本發(fā)明系統(tǒng)支持各種類型的發(fā)票統(tǒng)一掃描錄入識別處理,實現(xiàn)了單位報銷發(fā)票的電子化集中管理;
(2)本發(fā)明針對發(fā)票識別的特定場景做了一些優(yōu)化,擴大發(fā)票識別類型,能識別所有類型的發(fā)票,并且識別更準確、效率更高。與通用ocr相比,特定場景下,本發(fā)明可以根據(jù)圖像特性、文字特性、色彩、清晰度等屬性最大化執(zhí)行效率和準確度;
(3)本發(fā)明系統(tǒng)在訓練模型上采取10種不同的字體對如下字符繪制訓練集:0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz,因此每種字符產生10個樣本。在訓練時隨機應用如下變化,以減少過擬合,提高神經網(wǎng)絡的測試準確率,準確度可以達到95%以上;
(4)本發(fā)明系統(tǒng)在識別模型方面采用深度卷積神經網(wǎng)絡,其準確率遠超過最近鄰分類等傳統(tǒng)統(tǒng)計分類模型。模型可以很好的緩沖輸入圖形的細節(jié)差別和移位問題,因此可以很好的解決文字識別中輸入多變的問題;
(5)本發(fā)明系統(tǒng)基于發(fā)票識別的場景進行建模,在這種模型下,文字分割步驟可以采取相對固定的方式,而無需采用監(jiān)督學習的統(tǒng)計模型,因此無需準備人工標注的訓練集,極大的減少了ocr研發(fā)的前期時間;
(6)本發(fā)明系統(tǒng)可根據(jù)各種類型的發(fā)票內容自動進行基于語義的文本校正,相對上下文無關的ocr算法,可以利用上下文和語境信息最大程度上避免識別錯誤,從而提高準確率;
(7)本發(fā)明系統(tǒng)支持財務工作人員通過定制化的內控規(guī)則,實現(xiàn)驗證系統(tǒng)自動對報銷發(fā)票信息是否符合內控標準進行檢查,例如:發(fā)票連號、重號的檢查,發(fā)票關鍵字的檢查,有效提升了財務部門處理財務報銷工作效率和準確性。
附圖說明
圖1為本發(fā)明系統(tǒng)架構示意圖;
圖2為本發(fā)明發(fā)票驗證模塊流程示意圖;
圖3為本發(fā)明ocr模塊流程示意圖;
圖4為本發(fā)明圖片色彩預處理子模塊流程示意圖;
圖5為本發(fā)明圖片輪廓預處理子模塊流程示意圖;
圖6為本發(fā)明圖片文字預處理子模塊流程示意圖;
圖7為本發(fā)明圖片識別處理子模塊流程示意圖。
具體實施方式
下面結合附圖對本發(fā)明的具體實施方式進行進一步的詳細描述。
如圖1所示,本發(fā)明提出了一種財務報銷全票據(jù)智能審核系統(tǒng),全票據(jù)智能審核系統(tǒng)包括ocr模塊,通過該ocr模塊對掃描為圖像的各種類型發(fā)票進行識別和處理。
全票據(jù)智能審核系統(tǒng)還包括掃描儀接口模塊、發(fā)票驗證模塊、文件上傳處理模塊、外圍財務系統(tǒng)接口模塊、條碼打印控制模塊以及以太網(wǎng)接口模塊;
掃描儀接口模塊實現(xiàn)驅動掃描儀并將掃描儀掃描的發(fā)票圖片發(fā)送給ocr模塊,ocr模塊將識別出的發(fā)票圖片上的信息提供給發(fā)票驗證模塊,同時,將能識別和不能識別的發(fā)票圖片均直接提供給文件上傳處理模塊;
發(fā)票驗證模塊對ocr模塊提供的信息進行內控要求檢驗,將檢驗之后的發(fā)票信息提供給文件上傳處理模塊,將檢驗狀態(tài)信息提供給外圍財務系統(tǒng)接口模塊;
文件上傳處理模塊對所有發(fā)票圖片和所述檢驗之后的發(fā)票信息進行唯一id編號和分類處理,再通過以太網(wǎng)接口模塊存儲到文件服務器中,同時,文件上傳處理模塊將發(fā)票信息在文件服務器中的存儲位置信息提供給外圍財務系統(tǒng)接口模塊,外圍財務系統(tǒng)接口模塊通過以太網(wǎng)模塊與外部財務報銷系統(tǒng)進行通信,外部財務報銷系統(tǒng)通過所述外圍財務系統(tǒng)接口模塊查找定位發(fā)票信息在文件服務器中的位置;外圍財務系統(tǒng)接口模塊將所述檢驗狀態(tài)信息通過以太網(wǎng)接口模塊供外部財務報銷系統(tǒng)查詢;
文件上傳處理模塊還將發(fā)票驗證模塊檢驗通過的發(fā)票信息提供給條碼打印控制模塊,條碼打印控制模塊將所述唯一id編號轉化為條形碼,并通過以太網(wǎng)接口模塊輸出給條碼打印機進行打印。
所述文件上傳處理模塊對不能識別的發(fā)票圖片和所述檢驗之后的發(fā)票信息進行分類處理,具體為:文件上傳處理模塊將不能識別的發(fā)票圖片和所述檢驗之后的發(fā)票信息總計分為5個類別,分別是:無法識別的發(fā)票圖片、驗證不通過的發(fā)票圖片、驗證不通過的發(fā)票圖片上的信息、驗證通過發(fā)票圖片、驗證通過的發(fā)票圖片上的信息。
如圖2所示,所述發(fā)票驗證模塊對ocr模塊提供的信息進行內控要求檢驗,具體為:
(a)發(fā)票驗證模塊對ocr模塊提供的信息進行發(fā)票連號檢查,如果沒有連號出現(xiàn),則該張發(fā)票的檢驗狀態(tài)為通過驗證,進入步驟(b),否則該張發(fā)票的檢驗狀態(tài)為未通過驗證;
(b)發(fā)票驗證模塊對ocr模塊提供的信息進行發(fā)票重號檢查,如果沒有重號出現(xiàn),則該張發(fā)票的檢驗狀態(tài)為通過驗證,進入步驟(c),否則該張發(fā)票的檢驗狀態(tài)為未通過驗證;
(c)發(fā)票驗證模塊對ocr模塊提供的信息進行單張發(fā)票金額上限檢查,如果超過單張金額上限,則該張發(fā)票的檢驗狀態(tài)為通過驗證,進入步驟(d),否則該張發(fā)票的檢驗狀態(tài)為未通過驗證;
(d)發(fā)票驗證模塊對ocr模塊提供的信息進行關鍵字檢查,在預設關鍵字庫中進行比對,如果沒有出現(xiàn)關鍵字庫中的字段,則該張發(fā)票的檢驗狀態(tài)為通過驗證,否則該張發(fā)票的檢驗狀態(tài)為未通過驗證。
關鍵字庫中為單位財務內控要求指定不可報銷的內容信息。
檢驗狀態(tài)信息包括通過檢驗和未通過檢驗。
所有發(fā)票圖片和所述檢驗之后的發(fā)票信息進行唯一id編號,具體為:不能識別的發(fā)票圖片、能夠識別的發(fā)票圖片以及檢驗之后的發(fā)票信息均進行單獨編號,其中,能夠識別的發(fā)票圖片編號以及檢驗之后的發(fā)票信息編號一一對應。
如圖3所示,ocr模塊對發(fā)票圖片進行識別和處理,具體為包括如下步驟:
(1)如圖4所示,對掃描后的發(fā)票圖片進行色彩預處理,為圖片輪廓預處理提供輸入數(shù)據(jù);
所述步驟(1)對掃描后的發(fā)票圖片進行色彩預處理,包括:
(1.1)將掃描后的發(fā)票圖片進行rgb轉換,生成rgb顏色空間數(shù)據(jù);
(1.2)對所述rgb顏色空間數(shù)據(jù)進行白化二值處理,即識別在rgb顏色空間數(shù)據(jù)中色調為白色的像素,并產生結果掩碼位圖矩陣,作為圖片輪廓預處理的輸入數(shù)據(jù)。
將掃描后的發(fā)票圖片進行rgb轉換,使用png或jpg圖片解析算法解析原始文件,產生內存位圖i(m*n),其中,m為位圖i的行數(shù),n為i的列數(shù),從而轉換為rgb顏色空間數(shù)據(jù),輸出數(shù)據(jù)為m*n的矩陣,矩陣元素為r3={0-255,0-255,0-255},表示為rgb顏色空間的三元組向量。
(2)如圖5所示,對經過色彩預處理的圖片進行輪廓檢測,排除發(fā)票紙張范圍外的像素干擾;
所述步驟(2)對經過色彩預處理的圖片進行輪廓檢測,排除發(fā)票紙張范圍外的像素干擾,具體為:
(2.1)使用canny邊緣檢測算法對結果掩碼位圖矩陣進行輪廓檢測,對點圖產生強度為k的高斯模糊拷貝,隨后采取dbscan聚類得到離群點。將離群點從原始點圖中刪除,完成去噪處理過程,對每個多邊形計算環(huán)繞矩形,取面積最大者為環(huán)繞紙張的矩形,其矩形邊緣即為輪廓;
(2.2)根據(jù)進行輪廓檢測后的數(shù)據(jù),對結果掩碼位圖矩陣計算其長邊和水平線的夾角,并對rgb顏色空間數(shù)據(jù)以該角度作旋轉變換,以校正紙張的偏角;
(2.3)對所述旋轉變換后的數(shù)據(jù)進行藍化二值處理,即識別在rgb顏色空間數(shù)據(jù)中色調為藍色的像素,并產生前景矩陣mtext,作為文字預處理的輸入數(shù)據(jù)。
所述步驟(2.2)進行旋轉變換具體為:對產生的紙張輪廓包圍矩形r取其任意三點p1、p2、p3,求點間距離d12=d(p1,p2),d23=d(p2,p3),取長邊,并求其與水平線夾角ap=|atan(x2-x1,y2-y1)|,如果ap小于5度,則變?yōu)?;將位圖矩陣i,即rgb顏色空間數(shù)據(jù)旋轉ap角度,以糾正其偏角;定義旋轉后產生的新位圖矩陣為i’。
(3)如圖6所示,對經過輪廓檢測的圖片進行文字預處理,識別發(fā)票上的字符,形成字符集并輸出;
所述步驟(3)對經過輪廓檢測的圖片進行文字預處理,具體為:
(3.1)對前景矩陣mtext進行逐行掃描,確定行的個數(shù)以及每行的起始和終止位置;
所述步驟(3.1)對前景矩陣mtext進行逐行掃描,確定行的個數(shù)以及每行的起始和終止位置,具體為:對掩碼矩陣mtext進行間距為1的橫向掃描線reduction操作,根據(jù)每一行為1的像素數(shù)量,得出自變量為行索引的方波曲線,將每一個方波脈沖的范圍[x0,x1]作為一行的行索引范圍,從而檢測到行的位置。
(3.2)進行行內縱掃描以確定文字范圍,從而得到分離后的文字矩形集合;所述步驟(3.2)進行行內縱掃描以確定文字范圍,從而得到分離后的文字矩形集合,具體為:對每一行進行列間距為1的縱向掃描線操作,得出列索引為自變量的曲線;將曲線范圍正規(guī)化至[0,1]區(qū)間,并將小于0.05的值設置為0,根據(jù)方波脈沖波谷的位置確定文字之間的邊界,從而得到分離后的文字矩形集合。
(3.3)將分離后的文字矩形集合中的文字矩形按照從上到下,從左到右的順序排序,形成字符集并輸出。文本按照原有順序(即左至右,上至下)進行排序。基本步驟為:
(3.3.1)在矩形集合中選出距離左上角最近的矩形,作為新行的首字符;
(3.3.2)搜索距離行尾字符最近的矩形,要求其x坐標增加,y坐標與行尾矩形相比在某一范圍內,將其加入行尾;
(3.3.3)當無法找到滿足條件的矩形時,該行結束,進入下一行的識別。
(4)如圖7所示,對步驟(3)輸出的字符集進行圖片識別處理,將識別處理結果按發(fā)票識別的語義組織為具有語義的結果對象,作為最終識別結果。
所述步驟(4)對輸出的字符集進行圖片識別處理,將識別處理結果按發(fā)票識別的語義組織為具有語義的結果對象,具體為:
(4.1)構建文字識別所用的神經網(wǎng)絡模型結構;采用深度卷積神經網(wǎng)絡,其準確率遠超過最近鄰分類等傳統(tǒng)統(tǒng)計分類模型,其效果已得到學術界的普遍認可。模型可以很好的緩沖輸入圖形的細節(jié)差別和移位問題,因此可以很好的解決文字識別中輸入多變的問題。;對發(fā)票識別的場景做如下建模:
(4.1.1)文字為打印體,因此相對工整、清晰;
(4.1.2)文字大小基本近似;
(4.1.3)可較容易的區(qū)分前景文字和背景文字;
在這種模型下,文字分割步驟可以采取相對固定的方式,而無需采用監(jiān)督學習的統(tǒng)計模型,因此無需準備人工標注的訓練集,極大的減少了ocr研發(fā)的前期時間。
(4.2)構建訓練模型所用的訓練集和驗證集,訓練集用于更新模型的權重,驗證集用于跟蹤訓練效果;
所述構建訓練集具體為:使用繪圖指令以制定的字體在32*32位圖中繪制標簽字符;將前景矩陣mtext轉換為32*32的布爾掩碼矩陣m’,將所有數(shù)據(jù)進行序列化。在訓練模型上采取10種不同的字體對如下字符繪制訓練集:
0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz,因此每種字符產生10個樣本。在訓練時隨機應用如下變化,以減少過擬合,提高神經網(wǎng)絡的測試準確率,準確度可以達到95%以上。
(4.3)根據(jù)所述訓練集,使用監(jiān)督學習方法對構建的神經網(wǎng)絡模型進行訓練,并使其驗證準確率達到預定標準或訓練輪數(shù)達到預定最大輪數(shù);
(4.4)將訓練后的模型權重進行保存;
(4.5)選用權重最大的模型,對所述輸出的字符集進行文字識別,得到在標簽空間中的概率分布矩陣;
(4.6)按行循環(huán)訪問概率分布矩陣中的每一行,掃描每一行最大峰值處得到其標簽索引,從而轉換為相應的字符,即識別結果;
(4.7)將識別結果按發(fā)票識別的語義組織為具有語義的結果對象,作為最終識別結果。
實施例:
按照本發(fā)明智能審核系統(tǒng)搭建實物平臺,以十種不同格式的發(fā)票為例,通過掃描儀掃描成圖片進入系統(tǒng),掃描成圖片的發(fā)票經過系統(tǒng)識別處理全部識別成功,在通過系統(tǒng)內控檢查后,符合內控要求的發(fā)票,自動生成報銷單二維碼編號。對于比如出租車票連號、重號等問題,都能夠精確的進行識別和篩選,對不同格式、紙張大小的發(fā)票,全兼容,識別率超過現(xiàn)有ocr技術識別率,取得良好的效果。