楊鍶齊,易堯華,湯梓偉,王新宇
武漢大學 印刷與包裝系,武漢430079
自然場景圖像含有豐富的文本信息,準確檢測到圖像中的文本信息有助于正確理解圖像內容。傳統文本檢測方法主要基于連通域分析[1]和紋理特征分析[2],人工痕跡較重、適用范圍較窄。近年來,基于深度學習的自然場景文本檢測[3-4]方法發展迅速,廣泛應用于圖像/視頻檢索[5]、智能導航無人駕駛[6]等領域,并成為當下研究熱點之一。自然場景文本檢測方法主要存在以下三方面挑戰:(1)圖像文本形式多樣,具有不同顏色、字體、大小、形狀;(2)自然場景圖像背景復雜,存在類文本目標如柵欄或窗戶等;(3)自然場景圖像中文本上存在光照不均勻、噪聲等干擾因素。
為了應對上述挑戰,大量基于深度學習的自然場景文本檢測方法被提出。其中,基于Faster R-CNN[7]的自然場景文本檢測方法檢測速度快、精度高、具有較好的穩定性。此類方法利用CNN網絡進行特征提取,通過預設數量固定、尺度不同、長寬比不同的anchor,生成包含文本的感興趣區域(ROIs),最后進行回歸和分類計算,得到文本檢測結果。在此基礎上,Tian等[8]提出CTPN自然場景文本檢測方法。首先,由RPN提取固定寬度為16像素的子文本區域,再將子文本區域的特征送入循環神經網絡得到一系列子文本信息,最后合并得到最終文本檢測結果。Prasad等[9]以Faster R-CNN為基礎,串聯文字載體目標檢測網絡與文本檢測網絡,利用文字載體信息輔助定位文字,文本檢測效果達到先進水平。此外,在anchor的研究中,Liao等[10]提出的自然場景文本檢測方法TextBoxes,為適合文本檢測,重新設計anchor的長寬比為1、2、3、5、7、10提高了文本檢測的召回率。雖然上述方法基本解決了圖像文本形式多樣的問題,并且可以從背景中定位文本,但是檢測效果會受到文本圖像中各種噪聲的影響,極易導致檢測文本的內容不完整和漏檢如圖1所示。

圖1 文本檢測中的文本不完整與漏檢Fig.1 Broken results and omissions in text detection
通常情況下,檢測文本的內容不完整可以通過圖像后處理加以減弱,例如按比例擴大檢測框邊界,但是這種方法適用性較差、調參復雜。鑒于目標分類領域的注意力機制,被廣泛地應用于提升CNN模型對圖像中有效區域的感知能力,能夠減少圖像噪聲與背景對分類結果的影響。Woo等[11]提出了一種輕量、通用的注意力機制模塊,分別在空間和通道上對特征賦予注意力權重加成,從而特征具有更好的解釋性,并且更加關注目標物體本身。但是該模塊被運用在每段CNN網絡主干上,導致運算緩慢并不適用于實時性較強的文本檢測任務。為了保證檢測方法的時效性,本文將注意力機制運用到結構簡單的RPN中,從而保留了注意力機制的引導作用。
為了解決檢測文本的內容不完整和漏檢問題,綜上考慮,本文提出嵌入注意力機制的自然場景文本檢測方法,主要內容如下:
(1)使用FPN融合深層、淺層CNN語義信息,兼顧大尺度文本與小尺度文本的檢測,提升了召回率。
(2)設計嵌入注意力機制的RPN(AM-RPN),利用注意力機制增強圖像中文本特征并引導模型的關注方向,提升獲取ROIs的準確性,保證檢測文本的完整,進一步提高召回率。
本文方法共分為三個部分:CNN特征提取、AM-RPN以及后處理模塊,如圖2所示。CNN特征提取在基礎網絡后增加了優化后的FPN結構,最終輸出多層融合深層、淺層特征的特征層。AM-RPN通過引入注意力機制,對輸入的特征層在顏色通道以及空間上增強其文本特征,最后輸出多個包含文本的建議區域。后處理部分將各層檢測得到的文本框進行NMS處理,融合得到最終的文本檢測結果。

圖2 方法流程圖Fig.2 Flow sheet of proposed method
本文方法以Faster R-CNN為基礎網絡架構,ResNet-101為骨干網絡。但隨著網絡模型的不斷加深,特征所具有的深層語義信息更加顯著,淺層顏色紋理等信息逐漸丟失,小尺度文本難以檢測。為了解決該問題,本文在CNN特征提取模塊使用了FPN。如圖3所示。圖中{C2,C3,C4,C5}分別表示ResNet-101中conv2_x、conv3_x、conv4_x、conv5_x層,經FPN處理計算得到特征層集合表示為fi={f2,f3,f4,f5,f6},計算過程如公式(1)所示:

圖3 CNN特征提取模塊Fig.3 CNN feature extraction module

其中,Upsample(·)表示步長為2的上采樣,MaxPool(·)表示最大值池化計算;由于fi的每一層均會作為RPN的輸入并完成回歸與分類的計算,所以Convi(·)為1×1卷積模版的卷積層,并約束fi的通道數均為256。通過深層特征的上采樣與淺層特征進行融合,在顧及小尺度目標檢測同時,增強對大尺度目標的感知,一定程度提升文本檢測召回率。
RPN在生成ROIs以便于進行后續文本檢測任務起到關鍵作用。一般情況下,經RPN生成的得分高的ROIs中存在大量非文本區域即負樣本。因而在對文本/非文本分類同時,更多地過濾非文本的區域,有助于提升正樣本的準確性,生成更準確的ROIs。本文方法利用注意力機制增強圖像中文本特征的特點,提出引入注意力機制的AM-RPN,其中注意力機制包含空間注意力機制和通道注意力機制,如圖4所示。

圖4 AM-RPN模塊Fig.4 AM-RPN module
首先,輸入的特征fi∈RC×H×W經通道注意力模塊得到一維通道注意力權重系數Wc∈RC×1×1,再和原來的特征fi相乘得到加權后的特征如公式(2)所示。其次,′經空間注意力模塊得到的二維空間注意力權重系數,與加權后的特征′相乘即可得到最終輸出的特征,如公式(3)所示:

其中,?表示為對應矩陣元素進行相乘的運算。利用通道注意力權重和空間注意力權重對特征進行加權,達到文本特征加強,非文本特征抑制的效果。
1.2.1 通道注意力權重和空間注意力權重
為有效計算通道注意力權重,本文方法通過利用平均值池化和最大值池化計算挖掘更精確的通道注意力信息,如圖5所示。

圖5 通道注意力方法示意圖Fig.5 Diagram of channel attention
首先,對經FPN輸出的特征fi分別進行平均值池化和最大值池化計算,得到兩組一維通道特征。然后,將所得一維通道特征經“卷積層—RELU激活函數—卷積層”的計算得到新的兩組一維通道特征。最后,將兩組一維特征相加后激活后得到最終通道注意力權重,計算公式如式(4)所示:

其中,⊕為矩陣加法運算符,Sigmoid為Sigmoid激活函數,AvgPool和MaxPool為將特征層fi分別進行平均池化、最大值池化至C×1×1的特征,σ(x)如公式(5)所示,x為函數變量。

σ(x)的計算中,Relu為RELU激活函數;Conv_1為1×1卷積模版的卷積層,其輸入特征的通道數是輸出特征的16倍;Conv_2為1×1卷積模版的卷積層,其輸入特征的通道數是輸出特征的1/16倍。
在利用特征的通道間的信息,由通道注意力模塊生成Wc后,對經Wc加權后的特征fi′送入空間注意力模塊得到Ws。如圖6所示,在空間注意力模塊中,先對輸入的特征fi′沿通道方向進行最大值池化和平均值池化,再對所得二維特征進行卷積,經Sigmoid函數激活后得到最終的空間注意力權重,過程如公式(6)所示:

圖6 空間注意力方法示意圖Fig.6 Diagram of spatial attention

其中,Sigmoid為Sigmoid激活函數,Maxc與Meanc為對特征fi′在通道方向上分別求最大值與平均值,結果均為1×H×W的二維特征,Θ(x,y)如公式(7)所示,(x,y)為函數變量,即任意2個1×H×W的二維特征。

Θ(x,y)公式中,Concat(x,y)表示將特征x與y從通道維度上進行拼接,得到2×H×W的特征;Conv_3為7×7卷積模版的卷積層,輸入2×H×W的特征,輸出為1×H×W的特征。
上述方法,利用特征層的通道以及空間關系得到通道注意力權重和空間注意力權重,能夠增強檢測模型對文本區域的感知,便于ROIs生成。
1.2.2 Anchor的設置
在本文方法中,anchor長寬比設置為1、2、3、5、7、10、1/2、1/3,其中,1、2、3、5、7、10便于水平方向的文本檢測,1/2、1/3便于垂直方向的文本檢測;anchor的單元尺度設置為8;在{f2,f3,f4,f5,f6}上anchor的步長分別設置為{64,32,16,8,4}。
在本文方法中,AM-RPN將產生大量的ROIs,為了便于ROIs進行后續的分類與回歸計算,本文使用ROIAlign[12]對fi(i={2,3,4,5,6})與各層對應的ROIs分別進行處理,得到各層對應的大小統一的特征。
當分類計算完成后,仍然存在大量的候選區域,通過使用NMS,過濾冗余、重疊的檢測結果,簡單高效地獲取最優文本檢測結果。NMS算法原理如下:


經NMS處理后,文本檢測的結果,如圖7所示。圖7(a)為輸入圖像,圖7(b)為候選區域映射在原圖的示意圖,其中紅色框表示文本分類置信度最高的區域,圖7(c)為經NMS處理后文本檢測結果,紅色框表示最終的檢測區域。

圖7 NMS處理效果示意圖Fig.7 Diagram of NMS results
依據Faster R-CNN中損失函數的設計思路,本文方法總損失函數L主要由分類損失和回歸損失兩部分構成,其計算如式(8)所示,λ為權重平衡參數,此處取λ=1。

其中分類損失部分,將原本的多類損失改為“文本”與“非文本”的二分類交叉熵,計算如式(9)所示,當真實文本框與anchor的交并比大于0.7時,anchor為正樣本,小于0.3時,anchor為負樣本,交并比計算如式(10)所示,其中area(G)、area(A)分別為真實文本框與anchor的面積。pi為anchori的預測分類概率,anchori是正樣本時是負樣本時,為最小批尺寸數值。

回歸損失使用的是Smooth L1 loss,其計算如式(11)、(12)所示。分別為anchori利用本文方法實際檢測到的文本框以及真實文本框的參數化坐標,Nreg為生成anchor的數量。

需要說明的是,在訓練過程中AM-RPN將直接由損失函數L進行參數調節。
ICDAR 2013數據集[13]是一個全英文的自然場景文本檢測競賽標準數據集,共含有462張自然場景,其中229張為訓練集,233張為測試集,圖像分辨率不一,圖像中文本為水平文本,且提供單詞級別的文本標注。
本文采用DetEval評價方法[14],檢測匹配順序為一對多、多對一、一對一。主要利用準確率(Precision,P)、召回率(Recall,R)、綜合評價指標(F-measure,F)這個三個評價指標表征結果,如式(13)~(15)。此外,利用表征檢測速度的參數即每秒傳輸幀數(Frames Per Second,FPS)作為效率參考標準。

其中,召回率閾值tr和準確率tp閾值取值范圍為[0,1],依據文獻取值分別為tr=0.8,tp=0.4。G、D分別表示真實文本框與本文方法實際檢測的文本框,MatchG和MatchD是真實文本框和實際文本框的匹配函數,用于區分匹配類型。
本文方法在Linux系統搭建實驗平臺,CPU型號為Xeon?E5-2640 v4、內存為128 GB、GPU型號為Tesla V100。
本文使用ResNet-101作為方法的基礎模型,通過隨機梯度下降的優化方式進行端到端的訓練,學習率(learning rate)初始設置均設置為0.004,迭代500次內逐漸上升到0.01,并設定在第9個迭代輪次(epoch)和第12個迭代輪次分別將學習率調整為0.001與0.000 1。批尺寸均設置為(batchsize)為4,動量(momentum)均設為0.9。
在訓練階段,訓練數據通過以下方法進行數據增強:(1)輸入圖像按照0.5的比例進行左右翻轉;(2)輸入圖像將短邊縮放到800像素且保持原有縱橫比。先利用Synth-1k人工合成數據集進行50個迭代輪次的模型預訓練。再利用ICDAR-2013數據集中229張訓練集,迭代25個迭代輪次進行微調得到最終的檢測模型。
2.3.1 NMS參數分析
在測試階段,AM-RPN模塊與后處理模塊均采用了NMS算法對候選區域進行了篩選,避免文本候選框冗余。本文將對NMS的閾值進行實驗分析,利用ICDAR2013測試集進行測試,為了減小分類置信度對實驗的影響,所以將分類置信度設置為0.1。實驗結果如圖8所示,分別為AM-RPN模塊NMS閾值(ARNMS)與后處理模塊NMS閾值(PPNMS)設置對P、R、F的影響。可以發現AM-RPNNMS∈[0.1,0.3]、PPNMS∈[0.1,0.3]時,P、R、F均可以取得優秀的結果,所以,AM-RPNNMS與PPNMS均設置為0.2。

圖8 NMS參數實驗結果圖Fig.8 Presentation for NMS parameters selection
2.3.2 消融實驗對比分析
為了說明方法設計的每個模塊對最終結果是否為正相關,本文將進行消融實驗加以驗證。本文以Faster-RCNN為基礎框架,引入并優化了FPN以滿足適合各尺度文本檢測要求;針對自然場景中文本內容檢測不完整、漏檢的問題,提出AM-RPN。消融實驗在ICDAR2013數據集進行,從Faster-RCNN開始逐步融合各個模塊并計算出對應的準確率、召回率與F值,實驗結果如表1所示。實驗過程其他參數均保持一致,Faster-RCNN選取Resnet-101的conv4_x最后一層作為RPN的輸入。

表1 消融實驗結果Table 1 Ablation experiment results
通過表1發現,{P6}層的使用召回率和F值分別提高了0.024和0.006但準確率下降了0.014,經分析由于{P6}層的增加擴大了模型的感受野,使得更多較大的文本得到檢測,但{P6}也會相對應地增加干擾區域導致準確率下降;在Faster-RCNN與FPN融合的基礎上,單獨使用通道注意力對RPN進行優化,通道注意力加強了文本區域在各個通道里的權重,但也丟失了一些難例文本區域,因此準確率提高了0.028,但是召回率下降了0.02;最后完整地使用AM-RPN,通過利用空間注意力使得文本區域更加顯著并減少了各種因素的干擾,召回率、準確率和F值分別達到0.845、0.880和0.862。此外,本文對Faster R-CNN與AM-RPN融合進行了實驗召回率、準確率和F值分別為0.595、0.835、0.695,由于AM-RPN的輸入為ResNet-101的深層特征導致模型難以捕捉到小文本造成了召回率下降。
2.3.3 實驗結果對比
本文在ICDAR-2013數據集上進行方法性能驗證的實驗。用召回率、準確率、F值和檢測時間(frame/s,FPS)評價方法的性能,實驗結果如表2所示。

表2 ICDAR-2013數據集評估結果Table 2 Evaluation results on ICDAR-2013 dataset
與近幾年的自然場景文本檢測方法相比,本文方法得到了較高的召回率、準確率和F值分別為0.845、0.880和0.862。在保證了檢測效果的同時,本文方法的時間損耗同樣良好,FPS為6.5。與文獻[18]對比,本文在召回率、F值和FPS分別提升了0.028、0.015和3.5;與文獻[20]相比,本文召回率提升了0.015,準確率落后了0.02,F值提升了0.002。
2.3.4 檢測結果分析
本文提出嵌入注意力機制的自然場景文本檢測方法。使用優化了FPN結構使得小文本得到一定程度檢測,同時提出AM-RPN,有效地提高了檢測文本的完整度和召回率,檢測結果與對比如圖9所示。

圖9 本文方法檢測效果示意圖Fig.9 Diagram of detection results
圖9 (a)為文獻[15-16,19-20]檢測效果圖;圖9(b)是(a)的本文方法檢測效果圖,圖9(c)為圖1的對比樣本展示。可以發現本文方法可以完整地檢測到文本區域,且未出現漏檢;對比其他文獻的結果,本文檢測到的文本區域更加精準、更加貼合實際的文本邊界;此外,從圖9(c)的檢測結果中可以發現本文方法對小目標文本和干擾環境下文本的檢測也具有一定的魯棒性。
本文提出了嵌入注意力機制的自然場景文本檢測方法。該方法主要解決自然場景文本檢測內容不完整和漏檢的問題。通過在主干網絡中增加FPN,利用多尺度特征融合的方法將待檢測圖像輸入CNN特征提取網絡,再利用嵌入注意力機制的區域建議網絡結合CNN提取的區域特征,經端到端的訓練,生成高質量的區域候選框,最后IoU設定為0.2的NMS后處理篩選得到檢測結果。本文方法在ICDAR-2013數據集測試實驗結果的召回率、準確率、F值以及FPS分別為0.845、0.880、0.862和6.5。
與最新的方法相比,本文在保證檢測速度的同時提高了召回率、準確率,顯著改善了自然場景文本檢測的效果。但是本文方法對類文本目標的誤檢和多方向文本的檢測處理效果不佳,后續擬分別通過級聯文本識別模塊和設置多方向、多角度的anchor加以解決。