?

基于優化錨點的細粒度文本檢測與識別

2022-05-30 02:51王漳梁祖紅羅孝波
電腦知識與技術 2022年10期
關鍵詞:細粒度深度學習

王漳 梁祖紅 羅孝波

摘要:CTPN文本檢測模型在細粒度文本檢測過程中會出現斷連、漏檢的情況,尤其是在細粒度的文本場景下。針對以上問題,提出了一種細粒度文本檢測算法。該算法基于CTPN模型網絡進行改進,重新設計了垂直錨點尺度,以適應細粒度文本的特征;同時調整主干網絡的結構適應錨點的尺度。在anchor的連接過程中采用了自適應間隔的連接方式,從而保留水平語義信息的完整性。文本識別階段采用CRNN方式進行識別。通過PyTorch環境驗證細粒度的發票數據集,所提方法相比于原CTPN文本定位方法效果顯著提高。

關鍵詞:文本檢測;細粒度;錨點機制;文本識別;深度學習

中圖分類號:TP18? ? ? 文獻標識碼:A

文章編號:1009-3044(2022)10-0009-06

隨著社會經濟的發展,票據的重要性越來越被人們重視,尤其是在各個企業中使用增值稅發票報賬的人數日益劇增[1],財務管理人員錄入發票的工作量大幅度提高。而傳統人工錄入票據內容的方式,工作強度高、效率低下,很容易導致工作人員在疲憊狀態下疏忽出錯。如能實現自動化地從圖像上提取文字信息,會大大降低企業的人力和物力,為企業帶來極大的便利。

使用電子設備將紙質中的字符翻譯成計算機文字的過程被稱為光學字符識別[2](Optical Chatacter Recognition,OCR)技術。OCR技術核心在于文本的檢測和文本識別兩部分。傳統的文本檢測包含基于連通域的方法[3-4]和基于滑動窗口(Sliding-window Method)的方法[5-6]?;谶B通域的方法利用圖像的形態學的特征,通過二值化、膨脹、腐蝕等一系列形態學操作將連通域找出來作為文本位置的候選集,通過人為設計特征規則過濾候選集,粗略定位圖像中文本的位置。但若圖像中存在背景噪聲就可能造成連通錯誤的情況;其次,人為設定的過濾規則并不能有效區分文本與非文本區域?;诨瑒哟翱诘姆椒ㄔO計多尺度的窗口大小,從左到右、從上到下依次掃描圖像,通過分類器對窗口滑到的位置做是文本和非文本的判別。該類方法的不足在于對窗口的依賴難以把握,窗口的尺度、滑窗步長設置較為困難。

近幾年,隨著深度學習的發展,研究者們對于自然場景文本的檢測有了大量的研究,成了當下的研究熱點。文字檢測在一定程度上是一種特殊的目標檢測任務,從2014年開始,用于目標檢測的R-CNN[7-9]系列論文被提出。該方法是基于RPN (Regions with Convolutional Neural Network)網絡進行運作的;首先做特征提取工作,通過主干網絡獲取輸入圖像的特征圖;然后通過錨點機制,計算錨點對應的置信度;對初步結果篩選并做出細致調整,最后得到檢測結果。在國內,鄭祖兵等人[10]將醫療票據的信息分為出廠印刷的內容和后期打印的內容,利用Faster RCNN[9]算法完成后期打印內容的定位,再將文本分割開來進行單字符的識別,總體準確率達到95.4%。何鎏一等人[11]使用連通域分析方法完成整個增值稅發票版面文本的檢測;連通域最優閾值的大小很難確定,可能會存在斷連情況,同時也不利于文本的篩選,魯棒性較差?;赗PN的思想,Tian等人[12]提出了專門用于文本檢測的開山之作CTPN(Connectionist Text Proposal Network)算法。隨后,EAST[13]、TextBox++[14]等系列場景文本檢測算法相繼提出。

公認的自然場景文本檢測任務是國際文檔分析與識別國際會議(International Conference on Document Analysis and Recognition,ICDAR)舉辦的比賽。以ICDAR2015[15]文本檢測任務為例,比賽所用數據集圖像像素規格為1280×720,其單個文字的高度從50px到80px,甚至達到100px,占比高達近14%。票據識別隸屬于自然場景文本檢測的子類任務,不同于自然場景文本字體大的特點,票據圖像文字排列分散、字體較小,在一張圖上的文字規格基本統一,文字高度占比通常在20px左右,高度占比僅為3%左右。如果不對圖像做任何處理就直接使用傳統OCR技術進行識別;或是直接用自然場景文本檢測模型對其進行檢測和識別,往往會出現漏檢斷檢,效果不好、魯棒性差等問題。

針對自然場景文本檢測模型在細粒度的文本上出現的斷檢漏檢情況,本文搭建一種面向漏檢斷連的細粒度票據文本檢測與識別方法,該方法的文本檢測階段和文本識別部分均由深度學習模型實現,兩者模型串聯起來形成端到端的完整架構。文本定位模型采用改進的CTPN網絡,主要改進在:(1)調整CTPN主干網絡池化層和卷積層,更少的最大池化層使得Anchor在特征圖上的移動對應原圖更短的步長,即捕捉更精細的文字特征;(2)針對細粒度的文本,重新設計CTPN模型中的Anchor尺度和數量;(3)對于生成一系列文本建議區域,采取了自適應間距解決了文本的斷連問題,提高文本行檢測的完整性。文本識別模型采用CRNN模型[16]。對比實驗結果表明,自制的細粒度票據數據集上,效果顯著。

1 本文方法

本文提出的面向漏檢斷連的細粒度票據文本檢測與識別主要由圖像采集模塊、圖像預處理模塊、文本檢測網絡模塊、文本識別網絡模塊、文本輸出模塊等5個主要模塊組成,該算法的整體設計流程圖如圖1所示。

1.1 圖像采集與圖像處理

隨著電子設備的層出不窮,圖像采集的方式也有許多可選的操作——掃描儀、智能手機、攝像機、高拍儀等。大多數人往往更傾向于手機移動端便捷的拍照方式,本文所采用的發票數據集是由高拍儀完成。為了后期能夠更好地進行文本的區域劃分、文本檢測和文本識別,需要將采集到的傾斜圖像進行仿射變換或者水平校正的操作。一般對于傾斜圖像的矯正需要借助于Hough變換[17],其主要是利用圖片所在的笛卡爾空間和霍夫空間之間的變換。在Hough變換中,常用式(1)表示直線:

[ρ=xcosθ+ysinθ] (1)

其中,ρ為點到直線的距離,θ為直線與X軸正向的夾角度數;在Hough空間中(ρ,θ)為已知量,(ρ,θ)為未知量。笛卡爾空間上一個點的n個方向映射到Hough空間中為一條正弦曲線,當多個共線的點在多個方向上的映射就會交于一個(ρ,θ);在霍夫空間圖像上,具有最多交線的點具有便是一條直線,此時可以求出傾斜角度θ完成圖像的水平矯正。

1.2 文本區域劃分

基對文本區域進行劃分的依據是發票的尺寸規格為國家稅務局統一規定大小,通過等比例縮放可以將輸入的圖像進行文本區域的粗劃分。文本區域通常包含購買方信息、銷售方信息、銷售明細、密碼區和備注等信息區域。增值稅票據的模板樣式如圖2所示,其信息框的高H、寬W及任何一個小框的位置信息(x,y,h,w)都可以先驗測出。

假設給定一張票據圖,通過openCV直線檢測將票據中信息框主體裁出來,測得其尺寸為H’×W’,通過公式(2)可以得到輸入圖像與標準模板的縮放比例α。輸入圖像中每一小框的位置信息(x’,y’,h’,w’)可以按照公式(3)進行線性變換。分割出的小區域信息示例如圖3所示。

[α=H / H'] (2)

[x' =α×xy' =α×yh' =α×hw' =α×w] (3)

2 基于CTPN的文本位置檢測

本文檢測方法在CTPN基礎上做出了3個改進:(1) 重新設置Anchor的尺度,以適應票據細粒度的特點;(2)調整特征提取的主干網絡,即減少原VGG的Conv5階段(包含一個最大池化層),使得Anchor的每一次移動都對應原圖更小尺度的移動,以適應Anchor的尺度;(3)在Anchor的合成階段摒棄了固定閾值的做法,先對行進行聚類,再自動計算Anchor的最大間隔,并將其設為閾值,使得間隔過長的Anchor也能得以連上。

2.1 CTPN算法

由于發票中的文本具有較好的水平性質,本文提出的票據文本定位方法是基于CTPN算法的,其結合了卷積神經網絡和循環神經網絡,如圖4所示。

首先通過主干網絡VGG16[18]進行卷積操作,得到conv5的特征圖。為了得到基于時序的特征,在特征圖上以3×3的窗口進行滑窗拆分特征圖,得到基于序列的特征后將其輸入到BiLSTM[19]中。通過BiLSTM輸出的特征轉換成向量的形式輸入到全連接層(Fully connected layer,FC)后準備輸出。輸出層主要有三個部分,2k個anchor的位置信息、2k個文本與非文本的得分和k個anchor的水平偏移量。獲取文本建議框以后將得分較低的候選框剔除,并使用NMS過濾多余候選框。

CTPN的思想是基于固定錨點機制的,在特征圖上每個像素點的垂直方向上設置了[k]個不同高度的anchor,在[y]方向上從11px~273px(依次除以0.7),在[x]方向上固定尺寸(16px)?;貧w層的輸出是預測anchor的中心位置高度y軸坐標和矩形框的高度h值,每個anchor的位置信息由兩部分組成,[k]個anchor對應[2k]個值。關于anchor垂直坐標的計算如公式(4)所示。

[VC=(Cy-Cay)/haVh=log (h/ha)V*C=(C*y-Cay)/haV*h=log (h*/ha)] (4)

其中,[{vc,vh}]和[{v*c,v*h}]分別是預測坐標和真實坐標。[{cay,ha}]是anchor的y軸坐標和高度,[{cy,h}]是預測出來的y軸坐標和高度,[{c*y,h*}]是真實的y軸坐標和高度。

在正負樣本分類問題上,其本質是一個二分類問題,采用softmax損失作為損失函數,對應的輸出為文本的得分和非文本的得分,[k]個Anchor對應[2k]個值。在[x]方向上的回歸任務,主要用來精修文本行的兩個端點,表示每個Anchor的水平偏移量,其計算如公式(5)所示。

[o=(Xside- CαX) / Wαo*=(X*side- CαX) / Wα] (5)

以上三個分支對應三部分的學習任務,其損失函數是分類損失和回歸損失的和,如公式(6)所示。

[L(si,vj,ok)=1NsiLcls(si,s*i)+λ1NvjLrev(vj,v*j)+λ2NokLreo(ok,o*k)] (6)

其中,[Lcls]為分類損失,采用softmax loss;[{Lrev,Lreo}]為垂直方向上和水平方向上的回歸損失,使用Smooth L1 loss。[{Si,Vj,Ok}]為網絡預測輸出,[{S*i,V*j,O*k}]代表真值標簽。[{λ1,λ2}]為權重系數,用于平衡各學習任務的損失。[{Ns,Nv,No}]為歸一化參數,表示對應任務的樣本數量。

2.2 調整特征提取的主干網

VGG16包含了13個卷積層和3個全連接層,其網絡如圖5所示。CTPN算法選取Stage1至Stage5的卷積層用來提取輸入圖像的特征,conv5_3層的特征圖經歷了4次Max-pooling Layer,特征圖上的感受野對應原圖的1/16,在特征圖上移動1個像素對應原圖移動16個像素。對于自然場景文本數據集而言,街景文字的尺度普遍較大,對于這樣的感受野,CTPN算法中的anchor檢測級別仍能夠對應到文字的一部分,獲得部分文字特征。

而本文使用的數據集圖像尺寸為1024×768,略小于ICDAR2015數據集的尺度,對比圖如圖6所示。此外,本文數據集中文字的尺度遠不及自然場景中文本的尺度,若經過原始的CTPN卷積層后,Anchor所對應原圖的感受野區域包含多個文字,檢測級別不夠精細。為了適應這種小尺度的文本、捕捉更精細的特征,本文算法將卷積操作進行到Stage4即可。輸入的圖像經歷3次Max-pooling Layer,特征圖上的感受野對應原圖的1/8,在特征圖上移動1個像素對應原圖移動8個像素,從而Anchor可以獲得更細的特性表征。

2.3 小尺度錨點策略

CTPN針對不同尺度的自然場景文本,設置了不同尺寸的Anchor。如圖7(a)所示,其中,在x方向上的尺度固定(16px),在[y]方向上設置了10個不同尺度,從11px(依次除以0.7)直到283px。本文數據集中的文字,其規格較為統一,每一行文本字體大小一致;最高的文字為中間標題,其像素值在25px左右。針對細粒度的文本,從優化anchor的思想出發,本文設計了更少、更小尺度的anchor。如圖7(b)所示,在[x]方向將anchor的尺度縮小為原來的一半(8px),適應減少1個Max-pooling Layer的改變所帶來的影響,即anchor覆蓋原圖每個點且不相互重疊;同時能將anchor檢測的級別精確到文字更細的特征上。在y方向上設置了5個不同尺度{7px,10px,14px,20px,29px},滿足本文數據在y方向上的最大需求。

2.4 自適應間距的文本行構造算法

在獲得一系列的text proposal之后,需要將建議框連接成文本線。CTPN先將分類得分低的Anchor判定為非文本并將其剔除,然后使用非極大值抑制,將剩下的anchor中重疊程度大的Anchor進行合并。

CTPN中按照水平[x]坐標排序Anchor, 將水平距離小于固定閾值(50px)和垂直方向上重合度大于0.7的篩選出,再挑出分類得分最大的anchor。如此依次篩選,將符合的Anchor組成一個系列,如圖8所示。最后將此系列的Anchor合并成語句獲得最終的文本檢測框。由于票據數據集有良好的分行特征,基于該思想在對[x]排序之前對[y]左邊進行聚類,類別數N即為文本區域的行數。

在每一行上分別計算最大的Anchor間隔,將其作為閾值;這種動態設置閾值的方式,將一行的文本框連接起來,保證間隔較大的文字也能被連接起來,便于后續字符識別網絡的使用。

3 基于CRNN的文本識別

字符文本識別是將圖像中的文字序列轉換成計算機語言描述字符的序列。目前,在文字識別上的深度學習方法主要有兩種實現方式:一是基于Attention注意力機制[20],二是基于CRNN實現。本文采用的CRNN是一種端到端的卷積循環神經網絡模型,它采用了“CNN+LSTM+CTC”的網絡結構,如圖9所示。網絡具體的詳細參數如表1所示。

識別流程包含了三部分,自底向上依次是:(1)卷積層由固定的卷積層和最大池化層組成,主要是從輸入的圖像中完成文本特征序列的提取;(2)循環層作為一個序列建模,由一個雙向的LSTM組成完成,從卷積層獲取的特征序列分析過程;(3)轉錄層把從循環層獲取的標簽分布通過去重整合等操作轉換成最終的識別結果。

4 實驗與結果

4.1 實驗環境

本文實驗硬件平臺的CPU型號為Intel Xeon E5-2620 v4,GPU為NVIDIA Corporation GP100GL,16G顯存,詳細實驗環境如表2所示。

4.2 數據集

本文從細粒度票據文本檢測和識別兩個方面進行測試分析。在財務部門共隨機采集330幅圖像用于文本檢測和識別,其中300張用于訓練文本定位模型,測試采用與訓練樣本無交集的30張數據集。將采集處理的圖像通過Labelimg標注工具進行標注,樣例如圖10所示。得到對應PascalVOC數據格式的文件,如圖11(a)所示,每個標注框都對應一個Object標簽,編寫腳本將其中bndbox標簽和name標簽的內容提取出來制作為icdar數據集格式如圖11(b)所示。

4.3 評價指標

本文的文本檢測采用ICDRA大賽常用的評價指標:準確率(Pression)、召回率(Recall)和F1值;準確率可以反映識別錯和多識別的情況,召回率可以反映識別錯和漏識別的情況;其表達式如公式(7)~(9)。

[Pression= NTPNTP+NFP] (7)

[Recall=NTPNTP+NFN] (8)

[F1=2×Pression×RecallPression+Recall] (9)

其中,[NTP]表示將正樣本預測為正樣本的數量,[NFP]表示將負樣本預測為正樣本的數量,[NFN]表示將正樣本預測為負樣本的數量。

4.4 實驗結果

在訓練CTPN模型時,采用SGD隨機梯度下降法,超參數Momentum為0.9,學習率多次對比測試最終設置為0.003,batchsize設置為128,在此基礎上迭代30輪,共60000次,間隔采取20000次繪圖如圖12所示。

CRNN模型訓練圖像的高度歸一化到32像素;訓練采用Adam優化器,自適應動態調整學習率。初始化學習率為0.0001,BatchSize為256,當進行不同次數的迭代時,模型識別的準確率必定也會有所影響。理論上迭代次數越多,模型的準確率越高,最終趨于收斂。由表3可知,當迭代6個Epoch后,網絡的損失維持在0.03左右,準確率維持在97%上下幾乎不再變化,趨于收斂。

將CTPN用于細粒度文本的圖像檢測任務上,改進策略主要基于調整其Anchor的尺寸,以適應小尺度的文本圖像。抽取5張票據,將票據主體的信息框作為輸入,分別用CTPN模型和本文改進Anchor機制的CTPN模型做對比實驗,在產生Anchor的數量上,結果如表4所示??梢园l現在同樣的輸入上,本文改進的模型產生的候選Anchor遠大于原文方案,并且本文方法產生Anchor的數量近似為原文的2倍,主要是因為改進的錨點在x方向上的尺寸減小一半。

為了驗證本文改進的文本檢測方法在細粒度文本上的優越性,將本文模型和原ctpn模型分別在icdar2015數據集上和細粒度票據數據集的測試集上進行測試驗證,最終結果如圖13所示。從圖中可以看出,本文方法在準確率、召回率和F值上對icdar數據集的適應性都不如原ctpn模型,精度分別降低了3.6%、2.1%和2.7%。但是在細粒度的發票數據集上,準確率、召回率和F值上都高于原ctpn模型的效果,精度分別高出了2.7%、2.3%和2.5%。相比較之下,本文方法有效地提高了細粒度文本場景的檢測精度。

將分割出的購買方、銷售方和詳細信息區域分別送入兩個檢測模型中,得到檢測出的位置信息后再還原到票據圖中,測試的結果如圖14所示。在ctpn檢測模型中,出現的“名”字漏檢,“合計”“稅額”斷檢等問題,在筆者所提算法中均被很好地解決。

為了進一步驗證對本文細粒度文本檢測改進的有效性,在上述兩種不同算法的文本檢測后,接上同一CRNN文字識別模型進行字符識別。識別的結果如表5所示,本文改進的檢測算法接上CRNN模型方式優于CTPN接上CRNN模型的方式,在準確率、召回率和F值分別高出1.3%、1.1%和1.2%,間接證明了本文所提算法能檢測出漏檢的文字。

5 結論

本文針對CPTN網絡用于細粒度的文本檢測任務中出現的漏檢和斷連情況,提出了一種適合細粒度文本檢測的方法。針對細粒度的圖像文本,重新設計ctpn網絡中的錨點機制,在x方向上縮小步長提取更細的特征信息,在y方向上減少不必要的尺寸、減少計算的代價,并減少主干網絡中的一個最大池化層適應Anchor寬度的改變。通過對所提的算法進行評估,從各項指標的結果表明,本文提出的算法能夠比原模型更好地適應細粒度場景文本的檢測,為類似細粒度的場景文本檢測提供了新思路。

參考文獻:

[1] 何文琦.基于OCR技術的高校財務報銷新探索[J].商業會計,2020(10):79-81.

[2] Govindan V K,Shivaprasad A P.Character recognition—A review[J].Pattern Recognition,1990,23(7):671-683.

[3] Matas J,Chum O,Urban M,et al.Robust wide-baseline stereo from maximally stable extremal regions[J].Image and Vision Computing,2004,22(10):761-767.

[4] Chen H Z,Tsai S S,Schroth G,et al.Robust text detection in natural images with edge-enhanced Maximally Stable Extremal Regions[C]//2011 18th IEEE International Conference on Image Processing.September 11-14,2011,Brussels,Belgium.IEEE,2011:2609-2612.

[5] Chen X R,Yuille A L.Detecting and reading text in natural scenes[C]//Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2004.CVPR 2004.June 27 - July 2,2004,Washington,DC,USA.IEEE,2004:II.

[6] Lee J J,Lee P H,Lee S W,et al.AdaBoost for text detection in natural scene[C]//2011 International Conference on Document Analysis and Recognition.September 18-21,2011,Beijing,China.IEEE,2011:429-434.

[7] Girshick R,Donahue J,Darrell T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition.June 23-28,2014,Columbus,OH,USA.IEEE,2014:580-587.

[8] Girshick R.Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision.December 7-13,2015,Santiago,Chile.IEEE,2015:1440-1448.

[9] Ren S Q,He K M,Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.

[10] 鄭祖兵,盛冠群,謝凱,等.雙網絡模型下的智能醫療票據識別方法[J].計算機工程與應用,2020,56(12):141-148.

[11] 何鎏一,楊國為.基于深度學習的光照不均勻文本圖像的識別系統[J].計算機應用與軟件,2020,37(6):184-190,217.

[12] Tian Z,Huang W L,He T,et al.Detecting text in natural image with connectionist text proposal network[C]//Computer Vision – ECCV 2016,2016:56-72.

[13] Zhou X Y,Yao C,Wen H,et al.EAST:an efficient and accurate scene text detector[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition.July 21-26,2017,Honolulu,HI,USA.IEEE,2017:2642-2651.

[14] Liao M H,Shi B G,Bai X.TextBoxes:a single-shot oriented scene text detector[J].IEEE Transactions on Image Processing,2018,27(8):3676-3690.

[15] Karatzas D,Gomez-Bigorda L,Nicolaou A,et al.ICDAR 2015 competition on robust reading[C]//2015 13th International Conference on Document Analysis and Recognition (ICDAR).August 23-26,2015,Tunis,Tunisia.IEEE,2015:1156-1160.

[16] Shi B G,Bai X,Yao C.An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(11):2298-2304.

[17] Srihari S N,Govindaraju V.Analysis of textual images using the Hough transform[J].Machine Vision and Applications,1989,2(3):141-153.

[18] Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[J].CoRR,2014,abs/1409.1556.

[19] Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997,9(8):1735-1780.

[20] Bahdanau D,Cho K,Bengio Y.Neural machine translation by jointly learning to align and translate[J].CoRR,2014,abs/1409.0473.

【通聯編輯:唐一東】

收稿日期:2021-12-15

基金項目:國家基金:單元流水車間雙重資源優化配置(項目編號:71402033)

作者簡介:王漳(1996—) ,男,湖北襄陽人,碩士,研究方向為計算機視覺;梁祖紅(1980—) ,男,廣東惠陽人,教授,博士研究生,研究方向為深度學習;羅孝波(1997—) ,男,湖南婁底人,碩士,研究方向為文本數據挖掘。

猜你喜歡
細粒度深度學習
細粒度云數據自適應去重方法研究
融合判別性與細粒度特征的抗遮擋紅外目標跟蹤算法
細粒度的流計算執行效率優化方法
基于SVM多分類的超分辨圖像細粒度分類方法
基于雙線性卷積網絡的細粒度圖像定位
有體驗的學習才是有意義的學習
電子商務中基于深度學習的虛假交易識別研究
MOOC與翻轉課堂融合的深度學習場域建構
大數據技術在反恐怖主義中的應用展望
支持細粒度權限控制且可搜索的PHR云服務系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合