厙向陽,劉 哲,董立紅
西安科技大學 計算機科學與技術學院,西安 710054
圖像或視頻中文本信息具有高度概括性,能夠準確描述場景內容,對計算機有效理解圖像或視頻內容具有重要的應用價值。場景文本檢測作為視頻和圖像中文字識別的基礎,已經成為該領域的研究熱點,被廣泛應用于智能助盲系統、場景理解和無人駕駛等領域。目前自然場景文本檢測算法可分為:(1)傳統方法;(2)基于深度學習方法。傳統場景文本檢測方法可分為基于連通域分析和基于滑動窗口檢測方法。基于連通域分析的方法通過特定算法進行前背景分類,采用手工設計特征的分類器對具有相似屬性的相鄰正樣本像素進行合并以構成連通區域,能夠有效減少自然場景文本的檢索范圍,適用于復雜場景下的文本目標檢測問題。基于滑動窗口檢測方法通過滑動窗口掃描整幅圖像,在滑動窗口內使用手工提取相關特征并進行前背景分類,通過特定后處理方法獲得最終檢測結果,該類方法采用了多尺度滑動窗口的方式,能夠有效緩解文本尺度變化帶來的影響。傳統方法依賴手工特征提取,光照變化、復雜背景、文字形變等因素都會極大地影響其檢測性能。基于深度學習的自然場景文本檢測算法可分為:(1)基于邊框回歸方法;(2)基于圖像分割方法。基于邊框回歸方法通常使用錨點框篩選潛在的文本區域,然后通過神經網絡直接回歸水平矩形或者任意方向多邊形的文本框頂點坐標,代表性方法有CTPN[1]和EAST[2]。該類方法檢測精度高、速度快、后處理方法簡潔。但是,基于邊框回歸方法大多只能檢測水平或者多方向文本實例,無法檢測任意形狀或感受野較長的文本目標。基于圖像分割方法通常基于全卷積網絡[3]對圖像進行像素級前背景分類,通過像素聚合方法提取文本邊界框作為檢測結果,其代表性方法有Pixel Link[4]和TextField[5]。該類方法后處理比較復雜,在檢測密集文本時目標之間很容易產生粘連,但是對任意形狀的文本檢測具有天然優勢,因此成為了近幾年來的研究重點。
雖然現有的場景文本檢測方法從特征融合、邊框回歸、后處理等方面做出了改進,但是仍然存在以下兩個問題:(1)受限于感受野大小,對長文本檢測容易發生誤檢。(2)特征利用不充分,小尺度文本容易被漏檢。在計算機視覺領域中,感受野能夠決定輸出特征圖上的像素點和原特征圖中的映射關系,感受野越大則輸出特征圖就能夠包含更多原圖中的上下文信息,雖然通過池化操作可以擴大感受野,但會以降低圖像分辨率為代價。Chen 等人[6]提出的空洞卷積網絡結構通過設置不同膨脹系數的空洞卷積,經過多分支特征融合處理,在不降低分辨率的條件下提取注意力特征,擴大網絡感受野。Wang 等人[7]通過監督注意力訓練生成有尺度選擇的注意力熱圖,指導特征金字塔各個層級關注不同尺度的目標,增強了注意力特征的表達能力。近年來,研究表明通過Transformer[8]技術獲取全局感受野,能進一步提升圖像檢測的準確度。Swin_Transformer 算法[9]引入了CNN 中的層次化設計,通過將注意力限制在局部窗口中,利用跨窗口連接進行顯式的特征交互,在對全局信息建模的同時極大地降低了自注意力機制帶來的計算量,可以作為計算機視覺的通用骨干網絡,并且在目標檢測、語義分割等任務上取得了很好的效果。
針對當前場景文本檢測算法在檢測小尺度文本、長文本時發生的錯檢、漏檢問題,本文在Mask R-CNN[10]的基礎上提出了一種基于多尺度注意力特征融合的場景文本檢測算法:為了擴大網絡感受野,提升長文本的檢測性能,引入Swin_Transformer作為骨干網絡提取底層特征;為了提取具有尺度選擇的注意力特征,采用監督注意力訓練方法引導空洞卷積模塊生成多尺度注意力熱圖,并通過二值交叉熵損失函數和Dice損失函數進行優化;為了使特征金字塔不同層級關注特定尺度的目標,將底層特征與注意力熱圖通過殘差連接相融合生成尺度感知特征;為了充分利用有效特征,緩解小尺度文本的漏檢問題,利用相鄰層注意力熱圖之間的交叉關系實現了FPN結構中各層級之間的特征共享,通過從深層篩選出合適的語義特征傳遞給淺層,同時削弱其他特征,增強了對不同尺度文本目標的辨別能力。在多方向文本數據集ICDAR2015[11]、彎曲文本數據集Total-Text[12]和彎曲中文數據集CTW1500[13]上的實驗結果證明:本文算法能夠有效擴大網絡感受野,提升長文本和小尺度文本的檢測精度。
空洞卷積又稱為膨脹卷積,在保證卷積核大小不變的條件下,通過設置膨脹系數來定義卷積核內部的空洞間距,在不降低圖像分辨率的情況下提升網絡感受野。圖1(a)為3×3的標準卷積核,感受野大小等同于膨脹系數r=1 的空洞卷積;圖1(b)為膨脹系數r=2 的空洞卷積,其原始卷積核大小為3×3,通過在卷積核內部進行補零操作將卷積核內部距離由1 增加至2,從而將感受野從3×3提升到5×5;設空洞卷積核大小為k,膨脹系數為r,則空洞卷積感受野大小k′計算公式如下:

圖1 標準卷積核與空洞卷積核Fig.1 Standard convolution kernel and atrous convolution kernel
Mask R-CNN由何凱明等人提出,通過在Faster RCNN[14]中增加掩模預測模塊,在目標檢測的同時實現了實例分割。該算法采用ResNet[15]作為骨干網絡提取基礎特征,并通過FPN 結構進行特征融合,輸出多尺度特征圖以便后續操作。區域候選網絡(region proposal networks,RPN)首先在特征圖中生成候選框并進行前景和背景的二分類操作,然后對候選框進行回歸,最后通過候選區域對齊層(region of interest align,ROI Align)將候選框與特征圖中的像素對齊,并輸入到檢測頭中。檢測頭部分主要包含三個分支:分類模塊、邊框回歸模塊和掩模預測模塊。其中,分類模塊用于判斷目標所屬類別,邊框回歸模塊負責對邊界框位置做進一步的微調,掩模預測模塊為每個對象生成二進制的分割掩模。Mask R-CNN的損失函數L可以表示為:
其中,Lcls和Lbbox分別表示Faster R-CNN 結構中的分類損失和邊框回歸損失;在掩模預測模塊中,若數據集共有k個類別,則每個候選框都對應輸出k×m×m大小的特征圖,Lmask為平均二值交叉熵函數,通過在每一個類別的特征圖中應用Sigmoid函數進行逐像素二分類操作,判斷目標是否屬于該類別。
Swin_Transformer引入CNN中的層次化構建方式,包括Stage1、Stage2、Stage3和Stage4共4個階段,每個階段都會降低輸入特征圖的分辨率,結構如圖2所示。具體處理過程如下:

圖2 Swin_Transformer結構Fig.2 Architecture of Swin_Transformer
(1)首先將輸入維度H×W×3 的圖像(images)經過分塊處理(patch partition)切分成4×4 大小的圖像塊(patch),沿通道方向展平(flatten),則通道大小為4×4×3=48,圖像維度由H×W×3 變為
(2)Stage1通過線性嵌入操作(linear embedding)將每個圖像塊的特征維度統一為C,并輸入到Swin Transformer Block處理。
(3)Stage2~Stage4 的處理流程相同,以Stage2 為例說明其具體處理過程。首先通過圖像塊融合(patch merging)將間隔為2 的相鄰圖像塊拼接,分辨率降低至原來的一半,通道數變為原來的2 倍,得到大小為的特征;然后輸入至2個連續的Swin Transformer Block 中計算自注意力特征;最后通過2C個1×1×4C維卷積核進行降維,將特征通道數減少至2C后輸出至下一階段。
Swin_Transformer 中每個Stage 由多個連續的Swin Transformer Block 串聯構成,如圖3 所示。以2 個連續的Transformer 模塊為例,由層級歸一化(layer norm,LN)、基于窗口的多頭自注意力模塊(window based multi-head self-attention,W_MSA)、基于移動窗口多頭自注意力模塊(shifted window based multi-head selfattention,SW_MSA)和多層感知機(multi-layer perceptron,MLP)通過殘差連接組成。設Zl表示第l層感知機輸出,表示第l層基于窗口的多頭自注意力模塊輸出,LN表示層級歸一化操作,W_MSA表示多頭自注意力操作、SW_MSA表示基于移動窗口的多頭自注意力操作,則該過程可表示為:

圖3 Swin Transformer Block結構Fig.3 Architecture of Swin Transformer Block
當每個局部窗口中所包含圖像塊的數量固定為M×M時,W_MSA通過在局部窗口中計算多頭自注意力,將計算復雜度從O(N2)降低至O(N)。此外,為了提取不重疊的局部窗口間的關聯信息,SW_MSA引入了跨窗口連接,通過與前一層的窗口進行橋接,可以顯著增強特征的表達能力。
AFFNet網絡結構如圖4所示,由(a)骨干網絡、(b)特征金字塔結構、(c)區域候選網絡、(d)邊框分類與回歸模塊和(e)掩模預測模塊5部分組成。

圖4 AFFNet模型結構Fig.4 Architecture of AFFNet model
AFFNet 首先通過隨機縮放、隨機翻轉、隨機裁剪對文本目標區域進行數據增強,然后將圖片大小調整為640×640,并輸入到Swin_Transformer骨干網絡,通過四次2倍下采樣操作生成多尺度特征圖{C2,C3,C4,C5},大小分別為160×160×96,80×80×192,40×40×384,20×20×768。
注意力增強模塊(attention enhancement module,AEM)首先通過雙線性插值方法將多尺度特征圖{C2,C3,C4,C5}的尺寸統一為160×160;然后將多尺度特征圖在通道維度進行串聯,使用具有不同步長的空洞卷積層生成單通道的注意力熱圖{A2,A3,A4,A5}。特征增強模塊(feature enhancement module,FEM)通過殘差連接分別將多尺度特征圖和注意力熱圖對應層級相融合生成尺度感知特征{O2,O3,O4,O5},使各層級更關注潛在的文本區域。尺度匹配模塊(scale matching module,SMM)利用多尺度注意力熱圖相鄰層之間的交叉關系從特征金字塔深層篩選合適的特征輸入下一層,結合尺度感知特征自上而下地生成尺度匹配特征{M2,M3,M4,M5},然后分別經過3×3 的卷積層生成融合特征圖{P2,P3,P4,P5}。區域候選網絡(RPN)根據目標的尺寸分配合適的融合特征圖生成區域候選框(ROIs),然后由感興趣區域對齊操作(ROI Align)將特征融合部分的全局特征轉化為對應候選框內的局部特征,最后分別輸入邊界框分類與回歸模塊和掩模預測模塊。邊界框分類與回歸模塊先將特征展開成一維向量,然后采用全連接層進行邊界框的回歸和分類;掩模預測模塊根據邊界框信息,通過全卷積網絡實現對文本實例的像素級分割,最后經過后處理操作得到文本檢測結果。
特征金字塔結構由注意力增強模塊(AEM)、特征增強模塊(FEM)和尺度匹配模塊(SMM)三個模塊構成。
(1)注意力增強模塊(AEM)。如圖5 所示,該模塊首先將骨干網絡生成的4個多尺度特征圖{C2,C3,C4,C5}通過雙線性插值方法得到與C2尺寸相同的4個層級特征圖,然后采用串聯操作將其在通道維度集成得到C′。其次,選擇不同膨脹系數(rate)和有效感受野的空洞卷積核對C′進行空洞卷積運算。由空洞卷積模塊(atrous spatial pyramid pooling,ASPP)產生的上下文感知特征被傳送到下采樣模塊,該模塊通過4個具有不同步長(stride)的3×3卷積層逐步降低分辨率,最后通過Sigmoid激活層生成多尺度注意力熱圖{A2,A3,A4,A5}。其中,A2~A5尺寸分別與C2~C5保持一致,并通過監督注意力訓練[7]引導注意力熱圖分別關注C2~C5中不同尺度的目標。

圖5 AEM模塊Fig.5 AEM module

圖6 監督注意力熱圖示例Fig.6 Example of supervised attention heat maps
(2)特征增強模塊(FEM)。如圖7 所示,該模塊將骨干網絡生成的多尺度特征{C2,C3,C4,C5}與對應的注意力熱圖{A2,A3,A4,A5}通過殘差連接進行融合,生成尺度感知特征:

圖7 FEM模塊Fig.7 FEM module
其中,k={2,3,4,5};Ck表示骨干網絡第k層特征圖;Ak表示第k層的注意力熱圖;Ok表示輸出的尺度感知特征;⊙表示元素乘法運算符(element-wise multiplication);⊕表示元素加法運算符(element-wise addition)。
(3)尺度匹配模塊(SMM)。如圖8 所示,該模塊利用多尺度注意力熱圖{A2,A3,A4,A5}間的交叉關系從深層向淺層傳遞語義信息,生成尺度匹配特征:

圖8 SMM模塊Fig.8 SMM module
)其中,k={3,4,5};Ak-1和Ak表示相鄰層的注意力熱圖,通過⊙操作求得其交集;fup表示上采樣操作;Mk表示第k層經過SMM模塊處理得到的特征圖;Ok-1表示第k-1 層FEM 模塊的輸出;M5初始特征設置為尺度感知特征O5。
設L表示損失函數,由區域候選網絡損失函數LRPN,檢測頭損失函數LHead和注意力損失函數LA組成。在AFFNet 中,注意力熱圖在特征融合階段具有指導性作用,因此本文將三部分的貢獻度視為同等重要,則損失函數L的計算公式如下:
(1)LRPN損失函數計算公式如下:
其中,i表示每一批數據中錨框的索引;Lcls表示二值交叉熵分類損失函數;Lrpn_reg表示RPN中的Smooth L1回歸損失函數;rci和分別表示RPN 中的預測分類概率和真實類別標簽;rti和分別表示RPN中預測錨框和真實框的參數化坐標;Ncls表示錨框的個數;λrpn_reg表示Lrpn_reg的權重平衡因子,根據基線模型的經驗值設置為1;Nrpn_reg表示錨點位置的數量。
(2)LHead損失函數計算公式如下:
其中,Lce表示交叉熵分類損失函數;Lhead_reg表示檢測頭中的Smooth L1回歸損失函數;Lmask表示掩模預測模塊的二值交叉熵損失函數;λhead_reg表示Lhead_reg的權重平衡因子,參考基線模型設置為1;hci和分別表示預測分類概率值和真實類別標簽;hti和分別表示預測邊界框和真實邊界框的坐標參數;hmi和則分別表示預測掩模圖和真實掩模圖;Nce表示批大小;Nhead_reg表示邊界框位置的數量;Nmask表示像素點個數。
(3)LA損失函數計算公式如下:
其中,Lbce表示二值交叉熵損失函數;Ldice表示Dice損失函數;λa表示超參數,用于平衡Lbce和Ldice的重要性,為了使注意力熱圖更關注前景像素,同時避免Dice損失函數導致梯度消失問題,本文根據文獻[16]的經驗值,將λa設置為0.9。
設Pi表示第i個注意力熱圖,Gi表示第i個監督注意力熱圖,D表示Dice系數,則:
其中,Pi,x,y和Gi,x,y分別表示第i個注意力熱圖和對應監督注意力熱圖中像素點(x,y)的值,i={1,2,3,4},四層注意力熱圖與相應的監督注意力熱圖尺寸相同,分別為160×160,80×80,40×40,20×20。則Dice 損失函數可表示為:
其中,n表示注意力熱圖和監督注意力熱圖數目。
3.1.1 數據集
實驗采用三個通用數據集ICDAR2015、Total-Text和CTW1500。ICDAR2015 數據集包含1 000 幅訓練圖像和500 幅測試圖像,文本目標用任意方向四邊形標注,尺度變化較大。Total-Text數據集包含1 255幅訓練圖像和300幅測試圖像,文本目標為任意方向文本或彎曲文本。CTW1500數據集包含1 000幅訓練圖像和500幅測試圖像,文本目標通過14 個頂點組成多邊形對文本進行包圍標注,包括水平方向文本、任意方向文本和彎曲文本。
3.1.2 評價指標
(1)準確率(Precision)。準確率表示正樣本被預測正確的實例占總正樣本預測個數的比例。計算公式如下:
其中,TP、FP分別表示正確預測的文本區域數、誤判的文本區域數。
(2)召回率(Recall)。召回率為正樣本被預測正確的實例占所有真實正樣本實例數量的比例。計算公式如下:
其中,FN表示漏檢的文本區域數。
(3)綜合評價指標(F-measure)。綜合評價指標表示準確率和召回率的加權調和平均值。計算公式如下:
(4)平均精確度(average precision,AP)。平均精確度表示準確率-召回率(P-R)曲線對召回率0~1 上的積分。AP表示單個類別的模型平均精確度,其值越高代表算法在檢測該類目標時性能越好。
(5)平均召回率AR(average recall)。表示當交并比在區間0.5~1內取10個值時所有召回率的算數平均值。
3.2.1 實驗環境與參數設置
實驗環境為Ubuntu16.04 操作系統,顯卡型號為NVIDIA TITAN XP,顯存12 GB,運行內存64 GB,深度學習框架為Pytorch。Swin_Transformer骨干網絡使用基于ImageNet數據集得到的訓練模型。
參數設置:在訓練階段,初始學習率設置為1×10-3,批大小設置為16,且每訓練40 個Epochs 后學習率將下降1/10,最小學習率為1×10-6,每個數據集共訓練120輪,選擇Adam優化算法。
3.2.2 實驗方案
方案1Swin_Transformer、Swin_Transformer+AEM+FEM、Swin_Transformer+AEM+FEM+SMM(AFFNet)與Mask R-CNN在ICDAR2015數據集上進行實驗對比分析。
方案2借用COCO 數據集[17]對目標大小的定義將文本實例分為大目標、中等目標和小目標(小目標:像素面積小于322;中等目標:像素面積322~962;大目標:像素面積大于962)。經過統計分析,ICDAR2015數據集共包含260 個大目標,2 290 個中等尺度目標和2 680 個小目標。本實驗在ICDAR2015數據集上使用AP和AR作為評估指標,將AFFNet 與基線模型Mask R-CNN 算法進行對比分析。
方案3AFFNet 在ICDAR2015、Total-Text 和CTW1500三個數據集上與目前主流文本檢測算法進行實驗比較。
3.2.3 實驗結果及分析
方案1實驗結果如表1所示,采用Swin_Transformer骨干網絡后準確率、召回率和F值分別提升了0.26、1.92和1.16個百分點;Swin_Transformer+AEM+FEM的準確率、召回率、F值分別提升0.85、2.45、1.71 個百分點;Swin_Transformer+AEM+FEM+SMM(AFFNet)的F值達到85.61%,準確率達到88.3%,召回率達到了83.07%。

表1 方案1的實驗結果Table 1 Experimental results of scheme 1 單位:%
方案1的實驗結果表明使用Swin_Transformer作為骨干網絡提取底層特征可以較好的引入全局信息,能夠減少長文本誤檢問題,有效提升各項指標;通過AEM模塊和FEM 模塊引入空間注意力特征后,增強了上下文信息;SMM 模塊則可以引導相鄰層級針對相同目標進行優化,提升了梯度傳播的一致性。
方案2的實驗結果如表2所示。APsmall、APmedium、APlarge、ARsmall、ARmedium、ARlarge分別表示小目標、中等目標和大目標的AP和AR評估指標。

表2 不同尺度目標的性能分析Table 2 Performance analysis of different scale objects 單位:%
由表2可知,相較于Mask R-CNN,AFFNet在APsmall、APmedium、APlarge評價指標上分別提升了2.5、1.2、5個百分點;在ARsmall、ARmedium、ARlarge評價指標分別提升了3.1、1.1、5.8 個百分點;方案2 的實驗結果表明,改進后的AFFNet 能夠提升不同大小文本目標的檢測性能,有效減少誤檢率和漏檢率,增強檢測多尺度文本目標時的魯棒性。
方案3 在多方向文本數據集ICDAR2015 上的算法對比結果如表3所示。從表3可知:AFFNet相較于CTPN、RRPN[18]等基于回歸的算法有明顯優勢。在準確率和F值上分別超出EAST算法14.8、7.41個百分點,但是召回率降低了0.5 個百分點。SegLink[19]算法由于感受野不足,在一定程度上限制了檢測長文本的能力,在準確率、召回率和F值上,AFFNet分別提升了約15.2、7、10.6個百分點。相較于PSENet-1s[20]方法,AFFNet 的準確率、召回率和F值分別高出6.81、3.39 和5.04 個百分點;相較于TextField 的準確率和F值提升了7.8、3.21 個百分點。實驗結果證明,AFFNet 在多方向文本數據集上表現良好。

表3 ICDAR2015數據集上的實驗結果Table 3 Experimental results on ICDAR2015 data set 單位:%
方案3 在CTW1500 彎曲文本數據集上的結果如表4 所示。從表4 可知:AFFNet 相較于CTPN,準確率、召回率和F值分別提升了23.1、17.35、19.93 個百分點。相較于SegLink 算法,準確率、召回率和F值分別提升41.2、31.15 和36.03 個百分點。相較于EAST 算法,AFFNet準確率和F值分別有34.2、16.13個百分點的提升,但是召回率有所下降。由于CTW1500 數據集多是彎曲型文本,基于回歸的方法很難準確地定位文本位置,而基于分割方法的AFFNet 對任意形狀的文本都可以進行較好的檢測。相較于TextSnake,本文準確率較高,召回率較低,F值得到了1.22個百分點的提升。相較于TextField 和PSENet-1s 算法,本文方法的準確率有較大提升,但是召回率稍低,這是由于該數據集中部分文本目標間隔較近,部分文本甚至重疊在一起,檢測難度較大。在體現綜合檢測能力的F值上,AFFNet 可以達到76.83%,表明本算法可以較好地檢測出彎曲型文本目標。

表4 CTW-1500數據集上的實驗結果Table 4 Experimental results on CTW-1500 data set 單位:%
方案3在Total-Text數據集上的結果如表5所示。從表5 可知:AFFNet 相較于TextField 準確率提升了1.53個百分點,但召回率和F值略有下降。相比于TextSnake、PSENet-1s 和TextSpotter[22]算法,AFFNet 能夠表現出相當的水平。而相較于MaskR-CNN 算法,召回率有所下降,但是準確率和F值分別提升9.9、2.39 個百分點,進一步驗證了多尺度注意力特征融合方法對檢測彎曲型文本的有效性。

表5 Total-Text數據集上的實驗結果Table 5 Experimental results on Total-Text data set 單位:%
圖9 篩選出三個測試數據集上具有代表性的圖片進行檢測,從圖中可以看出,在檢測包含長文本和小尺度文本的圖像時,本文方法表現出較高的魯棒性和定位準確度,且對自然場景中不同大小的任意形狀文本目標具有良好的辨別能力。

圖9 不同數據集的檢測結果Fig.9 Detection results on different datasets
針對檢測小尺度文本和長文本時出現的錯檢、漏檢問題,本文引入了Swin_Transformer骨干網絡提取底層特征,通過擴大網絡感受野以提取全局信息。在特征增強模塊中,利用監督注意力機制生成具有尺度選擇的注意力熱圖,并結合BCE 和Dice 損失函數以提升熱圖的表示能力。在特征金字塔中,使用殘差連接將注意力熱圖與全局信息相融合,使各層級關注不同尺度的目標,并通過尺度匹配模塊實現不同層級間的特征共享,充分利用有效特征。實驗結果表明,AFFNet 在三個公開數據集上均有良好表現,改進后的算法能夠提升網絡感受野,增強檢測小尺度文本和長文本時的魯棒性。將網絡進一步擴展,構建端到端的場景文本檢測識別方法將是下一步努力的方向。