曹 菁,陳 康,齊 寧,夏鵬程,邱 渝
1.江蘇省聯(lián)合征信有限公司,江蘇南京210000
2.南京大學軟件學院,江蘇南京210093
在金融業(yè)務(wù)數(shù)字化的過程中,企業(yè)所提交的蓋章文書圖像是十分重要的。通常,蓋章文書圖像中含有兩種類型的信息,一種是以印章的形式出現(xiàn),一種是以表格文檔[1]的形式出現(xiàn)。相較于一般表格來說,蓋章文書圖像表格的格式更為復(fù)雜,內(nèi)容繁多。隨著金融業(yè)務(wù)數(shù)字化的快速發(fā)展,蓋章文書圖像的數(shù)量快速增加,現(xiàn)有的人工審核方式無法及時處理與日俱增的蓋章文書圖像審核工作,另外由于早期自動審核功能的缺失,蓋章文書圖像審核工作保有很大一部分存量,就江蘇省某項目為例,待審核蓋章文書圖像數(shù)量已達30 萬幅。此外,在對審核人員調(diào)研中了解到長時間重復(fù)性的審核工作,容易出現(xiàn)工作效率降低、審核錯誤率升高等問題,因此提供快速高效且有準確率保障的蓋章文書圖像自動審核線上服務(wù)十分迫切。
隨著人工智能的發(fā)展,蓋章文書圖像審核領(lǐng)域有一定的研究成果,主要應(yīng)用在金融和醫(yī)療領(lǐng)域,但對制式表格蓋章文書圖像自動審核尚無成熟的應(yīng)用。隨著深度學習的興起,自動審核功能主要依托的文字識別(optical character recognition,OCR)[2]和印章識別技術(shù)也得以飛速發(fā)展。目前文字識別應(yīng)用主要有阿里OCR、百度OCR、騰訊OCR、華為OCR 等,均提供不同場景的文字識別接口,主要針對受控場景,如票據(jù)、卡證、車牌等。表格文字識別主要應(yīng)用于無印章的通用表格,針對帶印章制式表格的文字識別效果并不好??紤]到蓋章文書圖像為人為拍攝或掃描上傳,其中存在文字自身的復(fù)雜性問題(非水平、角度傾斜),文本檢測有一定難度,針對此類場景文獻[3] 提出了一種漢字檢測算法(detecting text in natural image with connectionist text proposal network,CTPN)。此算法可以有效地檢測水平或略微傾斜的文本行,但對于一些旋轉(zhuǎn)的文本行,其檢測效果比較一般,并且文本線的構(gòu)造也是局限在矩形,當文本出現(xiàn)傾斜時,文本線的構(gòu)造就不夠精準。文獻[4] 提出了一種適用于自然場景中的短文本的文本檢測算法,對于旋轉(zhuǎn)文本行的檢測效果較好,但對蓋章文書圖像中存在的部分長文本的檢測不夠準確,并且模型的經(jīng)驗相對有限,這直接影響后面文本識別的準確性。目前針對水平文本的識別算法主要分為兩種,一種是文獻[5] 提出的基于attention 機制識別算法,主要應(yīng)用于不規(guī)則排列的文字識別問題;另一種為文獻[6] 提出的端到端的不定長文字識別算法,主要應(yīng)用于不定長的規(guī)則排列的文字識別問題。印章識別包括印章檢測和印章文字識別。隨著深度學習技術(shù)的發(fā)展,識別印章是否存在以及確定印章位置已有大量的研究成果[7],國內(nèi)不少公司也開發(fā)用于公章識別的SDK,例如阿里、易道博識等,但一旦圖像質(zhì)量不高或者有較大的形變,印章文字識別的效果不大理想。
為了解決上述問題,本文結(jié)合文字識別和印章識別技術(shù)設(shè)計和實現(xiàn)了帶印章的蓋章文書圖像自動審核方法。該方法主要包含3 個部分:文字識別、印章識別和表格內(nèi)容審核。其中文字識別部分包括帶有角度的文本檢測算法SegLink[8]以及卷積遞歸神經(jīng)網(wǎng)絡(luò)(convolutional recurrent neural network,CRNN);印章識別部分包括印章識別與提取算法YOLOv3[9]和印章內(nèi)容識別方法極坐標變換法;表格內(nèi)容審核部分根據(jù)預(yù)設(shè)的規(guī)則對表格內(nèi)容進行完備性和正確性檢測。
本文提出的蓋章文書圖像自動審核方法包含3 個部分,分別為文字識別、印章識別和表格內(nèi)容審核,圖1 為蓋章文書圖像樣本;圖2 為該方法的具體流程圖。
圖1 蓋章文書圖像樣本Figure 1 Sample image of stamped document
圖2 自動審核流程圖Figure 2 Process diagram of automated checking
自動審核具體步驟如下:
步驟1判定原始圖像是否含有印章且位置正確,如滿足繼續(xù)進行文字識別;
步驟2根據(jù)預(yù)先設(shè)置的文本檢測算法SegLink 確定文本框位置,然后使用預(yù)先設(shè)置的文字識別算法CRNN 識別文本內(nèi)容;
步驟3對能夠檢測到關(guān)鍵字的圖像再根據(jù)文本框的角度進行微調(diào),至表格橫向框線處于水平位置,然后識別表格所有單元格內(nèi)容,判斷是否完備;
步驟4對于不滿足以上任意一個條件的圖像判為內(nèi)容不完備,并不通過審核;
步驟5比對識別出的單元格內(nèi)容和預(yù)設(shè)值是否相同,若相同,通過卷積神經(jīng)網(wǎng)絡(luò)識別,作極坐標變換,再比對其預(yù)設(shè)內(nèi)容是否一致,若一致,則判斷為通過審核。
首先,根據(jù)預(yù)設(shè)的印章顏色、形狀和位置判定原始圖像是否含有印章且位置正確,如滿足條件則繼續(xù)對蓋章文書圖像進行文字識別,如果其不包含預(yù)定義的內(nèi)容關(guān)鍵字,可能是因為圖像位置不正,則對圖像進行不超過3 次的90?旋轉(zhuǎn),直到能夠識別到關(guān)鍵字;
其次,對能夠檢測到關(guān)鍵字的圖像再根據(jù)文本框的角度進行微調(diào),至表格橫向框線處于水平位置,然后識別表格所有單元格內(nèi)容,根據(jù)預(yù)設(shè)規(guī)則識別表格必填項的名稱和內(nèi)容,判斷是否完備,對于不滿足以上任意一個條件的圖像判為內(nèi)容不完備,并不通過審核;
最后,對內(nèi)容完備的表格進行正確性檢查,包括:比對識別出的單元格內(nèi)容和預(yù)設(shè)值是否相同,若相同,則截取印章,作極坐標變換,再通過文字識別技術(shù)獲取印章內(nèi)容,比對其與預(yù)設(shè)內(nèi)容是否一致,若一致,則判為通過審核。
文字識別方法部分可分為3 個階段:圖像預(yù)處理、文本檢測和文字識別。
在圖像預(yù)處理階段,由于表格蓋章文書圖像模板設(shè)計為上半部分填寫信息,下半部分為權(quán)利、義務(wù)條款,所以在進行文字識別之前會對圖像進行截取上半部分的操作。
在文本檢測階段,針對本項目的實際場景,采用了一種可以檢測任意角度文本的檢測算法SegLink,其主要特點是更改了原先指定一個目標的位置的參數(shù)數(shù)量,由原先的4 個參數(shù)替換為5 個參數(shù),增加了的參數(shù)為文本框的旋轉(zhuǎn)角度。
在文字識別階段,考慮到蓋章文書圖像文字排列規(guī)則且字符數(shù)量不定,選擇端對端的不定長文字識別網(wǎng)絡(luò)CRNN。它借鑒了語音識別中的長短期記憶網(wǎng)絡(luò)(long short term memory,LSTM)[10]結(jié)合聯(lián)接時間分類器(connectionist temporal classifier,CTC)[11]的建模方法,使用CNN 網(wǎng)絡(luò)提取的圖像特征向量代替語音領(lǐng)域的聲學特征作為LSTM 的輸入。LSTM 單元的結(jié)構(gòu)如圖3 所示,主要由3 個部分組成:輸入門(Input Gate)、遺忘門(Forget Gate)和輸出門(Output Gate)。
圖3 LSTM 單元結(jié)構(gòu)Figure 3 LSTM unit structure
由于文字變形或文字間隔不相同等問題,同一段文字可能會出現(xiàn)不同的表現(xiàn)形式,圖4為CTC 識別示意圖,具體的識別步驟如下:
圖4 CTC 識別流程Figure 4 CTC identification process
步驟1將輸入的圖像按照進行分塊,得到屬于某個字符的概率,其中無法識別的特殊字符用“-”標記;
步驟2按照規(guī)則去掉重復(fù)字符和間隔字符,如果同一字符連續(xù)出現(xiàn),則表示字符重復(fù),保留1 個字符,如果中間有間隔字符,則表示該字符不重復(fù),保留所有字符。
印章識別方法部分可分為兩個階段,即印章識別和印章內(nèi)容識別。
在印章識別階段,本項目采用端對端的目標檢測模型YOLOv3。它是目標檢測最經(jīng)典的網(wǎng)絡(luò)之一,相較于之前的版本,它對網(wǎng)絡(luò)結(jié)構(gòu)進行了調(diào)整,借鑒了殘差網(wǎng)絡(luò)結(jié)構(gòu),通過在部分層中間設(shè)置快捷鏈路的方式形成更深的網(wǎng)絡(luò)層次。除此之外,它還增加對象檢測的特征尺度,將對象分類方法由SoftMax 變?yōu)長ogistic,使得小物體檢測效果得到一定提升。
在印章內(nèi)容識別階段,采用極坐標變換法將截取的圓形印章文字拉伸至水平。首先,根據(jù)模型輸出的印章位置確定印章的中心點位置(x,y) 和半徑r,然后將直角坐標系轉(zhuǎn)化為極坐標系,圖5 為具體變換示意圖。
圖5 極坐標變換示意圖Figure 5 Polar coordinate transformation diagram
其中src 為輸入圖像,dst 為輸出圖像,輸入圖像的原點在為圖像正中心,輸出圖像原點為左上角,首先根據(jù)原圖像分別計算出縮放比例
2019年7月9日,萬科物流繼續(xù)開啟并購模式,與太古實業(yè)舉行并購簽約儀式,將太古實業(yè)旗下太古冷鏈物流資產(chǎn)包收入囊中,具體包括上海、廣州、南京、成都、廈門、廊坊、寧波在內(nèi)的7座冷庫。作為可口可樂的冷鏈運營商,太古冷鏈物流成立于2010年,其倉庫設(shè)施基于國際領(lǐng)先的冷庫技術(shù)設(shè)計、并依據(jù)中國有關(guān)技術(shù)標準建設(shè),所有倉庫均能作為區(qū)域倉儲中心,并具備分揀配送服務(wù)功能,設(shè)多溫區(qū)存儲以滿足不同產(chǎn)品對溫控倉儲服務(wù)的需求。
式中:src.cols 為原圖像的長;src.rows 為原圖像的寬;maxRadius 為最大圓半徑。然后根據(jù)縮放比例計算出極坐標系下點的坐標
其中
式中:center.x和center.y為圓中心點坐標。經(jīng)過變換后,印章圖像如圖6 所示。
圖6 極坐標變換后印章示意圖Figure 6 Schematic diagram of seal after polar coordinate transformation
在表格內(nèi)容審核階段,主要是對前面識別出的表格內(nèi)容以及印章內(nèi)容根據(jù)預(yù)先定義的規(guī)則進行完備性和正確性的檢測,具體規(guī)則如表1 所示。
表1 完備性和正確性檢測規(guī)則表Table 1 Completeness and correctness inspection rule table
表格完備性檢測包括表格是否包含印章,表格內(nèi)容是否填寫齊全。使用印章識別模型對圖像進行識別,判斷是否包含印章。一般來說,填寫表格信息只有兩種方式,一種是電腦填寫,一種是手寫,這兩種方式絕大多數(shù)字體都會是黑色,根據(jù)這一顏色特性,使用文字識別模型提取出表格內(nèi)容關(guān)鍵字,如“公司名稱、公司法人統(tǒng)一社會信用代碼”等字樣,獲取其文本框信息,通過設(shè)定的范圍獲取填寫區(qū)域,計算該區(qū)域的黑色像素的數(shù)量,與預(yù)設(shè)的閾值進行比較,大于閾值則表示已填寫。
表格正確性檢測包括印章位置是否正確、印章類型是否正確、表格所填信息是否匹配。印章位置判斷主要是為了審核部分未按規(guī)定將印章蓋至規(guī)定區(qū)域的圖像,由于指定區(qū)域為右上角,首先截取右上角區(qū)域,然后根據(jù)印章的顏色特性,將圖由RGB 模型改為HSV 模型,其中H表示色調(diào)、S表示飽度、V表示亮度,根據(jù)紅色和藍色的取值范圍,確定圖像中是否包含紅色和藍色的區(qū)域,所述紅色取值范圍為H(156~180)、S(43~255)、V(46~255),藍色的取值范圍為H(0~10)、S(43~255)、V(46~255),像素點閾值為100,超過100 個像素點則表示圖像中包含有紅色或藍色的區(qū)域,根據(jù)該區(qū)域紅色像素的數(shù)量進行判斷。印章類型通過印章識別模型輸出的類型進行判斷。表格所填信息的正確性是將表格所填文字的內(nèi)容和印章文字的內(nèi)容與預(yù)設(shè)的正確內(nèi)容進行字符串匹配,然后根據(jù)匹配結(jié)果確定,匹配則正確,不匹配則錯誤。
由于金融業(yè)務(wù)中的蓋章文書圖像屬于企業(yè)經(jīng)營的關(guān)鍵信息,安全管控要求較高,真實樣本數(shù)據(jù)較少,通過網(wǎng)絡(luò)收集、人工模擬和少量真實樣本構(gòu)建一個印章圖像數(shù)據(jù)集。其中真實樣本數(shù)量為20,人工模擬數(shù)量為80,網(wǎng)絡(luò)收集并人工標注數(shù)量為900,總數(shù)量為1 000。該數(shù)據(jù)集包含了印章和法人章兩種類型,其中印章類695 幅,法人類305 幅,印章都為紅色圓形,法人為藍色矩形。隨后,按照Pascal VOC[12]數(shù)據(jù)集的格式對印章圖像數(shù)據(jù)集進行標注,便于后期的網(wǎng)絡(luò)訓練與測試。
為驗證印章識別方法的有效性,在印章圖像數(shù)據(jù)集上進行了訓練與測試。所有網(wǎng)絡(luò)模型的訓練與測試均在服務(wù)器上進行,服務(wù)器配置為CPU: i7-8700/GPU: RTX 2080Ti,使用的操作系統(tǒng)為ubuntu 18.04,采用的深度學習架構(gòu)為Pytorch。因本文構(gòu)建的印章圖像數(shù)據(jù)集中樣本圖像較少,為保證訓練集、驗證集樣本分布一致,將1 000 條數(shù)據(jù)按標簽、類別以0.7/0.3 的比例切分為訓練集與驗證集。為檢驗?zāi)P头夯芰?,將標注?shù)據(jù)按三折交叉檢驗方法,劃分為共3 組訓練集與驗證集。表2 為最終數(shù)據(jù)集分布情況。
表2 數(shù)據(jù)集分布Table 2 Data set distribution
查全率R的計算公式為
F1 分數(shù)的計算公式為
式中:TP(True Positive)為真正例;TN(True Negative)為真負例;FP(False Positive)為假正例;FN(False Negative)為假負例。
本文在印章圖像數(shù)據(jù)集上使用YOLOv3 進行測試,測試結(jié)果如表3 所示。圖7 展示本文印章識別方法YOLOv3 取得的PR 曲線,根據(jù)曲線計算面積得到兩類印章的平均精確度(mAP) 為87.6%,證明了本方法能夠有效地對蓋章文書圖像印章進行提取。
表3 測試結(jié)果Table 3 Test result %
圖7 印章識別方法PR 曲線Figure 7 PR curve of seal recognition method
在進行實驗之前,需要對實驗環(huán)境進行部署,服務(wù)器數(shù)量為10,每臺服務(wù)器配置為6 核,內(nèi)存為8 G,操作系統(tǒng)為CentOS。本文在上述環(huán)境下,對真實蓋章文書圖像數(shù)據(jù)集進行了自動審核,該數(shù)據(jù)集包含130 277 幅蓋章文書圖像,其中審核結(jié)果通過的數(shù)量為42 682,審核結(jié)果不通過的數(shù)量為62 545,審核結(jié)果待定的數(shù)量為25 000。待定主要是指不能保證識別結(jié)果一定正確或者非正確的部分,例如判斷必填項是否缺失,印章中文字是否為公司名稱等誤判率較高的情況。
本文通過準確率(Accuracy)來評估蓋章文書圖像自動審核功能的性能,計算公式為
本文采用隨機分層抽樣方法,對審核結(jié)果為“通過”和“不通過”的蓋章文書圖像從0 開始進行編號,將其各分成1 000 個區(qū)間,在每個區(qū)間利用隨機數(shù)抽取1 個樣本,最終結(jié)果如表4 所示。
表4 隨機分層抽樣結(jié)果表Table 4 Random stratified sampling result table
由隨機分層抽樣結(jié)果計算得到自動審核的準確率為98.3%,本文所提出的自動審核功能的準確率高,能夠滿足自動審核的要求。
早期的蓋章文書全部依靠人工審核,存在效率低下、成本高、長時間審核容易出錯等問題。人工審核效率慢,與蓋章文書增長速率不匹配,導(dǎo)致積壓待審核文書十余萬份。為了解決這個問題,本文提出了一種基于OCR 和圖像檢測的蓋章文書圖像自動審核方法。本文對蓋章文書的特征進行分析,使用目標檢測算法和文字識別技術(shù),實現(xiàn)了蓋章文書的自動審核:1)基于數(shù)字圖像處理的常用方法對蓋章文書圖像進行預(yù)處理,包括截半、旋轉(zhuǎn)等。2)將經(jīng)過預(yù)處理的蓋章文書圖像使用SegLink 模型來確定其文本信息。3)基于深度學習的CRNN 模型對文本信息進行識別,輸出文字內(nèi)容信息。4)通過基于深度學習的YOLOv3 模型對蓋章文書圖像進行印章識別,確定印章類型和位置。5)將提取出的印章使用極坐標變換法使印章文字轉(zhuǎn)為水平,之后通過文字識別模型得到印章內(nèi)容。6)根據(jù)預(yù)設(shè)的內(nèi)容審核規(guī)則對蓋章文書圖像內(nèi)容進行審核,最終輸出審核結(jié)果。
在設(shè)置處理步驟順序過程中,考慮到蓋章文書特性、各步驟性能,將印章檢測步驟放在最前,一方面是因為漏蓋、錯蓋印章的負例比例較大,另一方面YOLOv3 模型檢測印章速率遠大于文本識別速率,因此能夠快速篩選掉不符合要求的蓋章文書。
由于該方法應(yīng)用于金融領(lǐng)域的蓋章文書識別,對于準確率要求較高。因此在審核結(jié)果中設(shè)置了待定選項,例如印章文字識別步驟錯誤率高,如果識別出的文字不能完全對應(yīng)公司名稱,則將審核結(jié)果判別為待定,交由人工審核。這樣能夠保障審核結(jié)果的準確率,符合應(yīng)用領(lǐng)域要求。
目前基于本方法的自動審核功能運行穩(wěn)定,審核方法審核準確率較高。在此基礎(chǔ)上,針對神經(jīng)網(wǎng)絡(luò)模型還將引入學習功能,根據(jù)上傳的蓋章文書圖像文件對文字識別和印章識別網(wǎng)絡(luò)進行訓練,調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)重,進而學習到更準確的特征;在業(yè)務(wù)完善方面,信息比對功能正在開發(fā)中,審核人員可以對上傳的蓋章文書圖像和識別的文字內(nèi)容在界面上進行比對,讓審核人員能在系統(tǒng)中更加直觀地了解審核情況,方便后續(xù)做出相應(yīng)的處理。