張 魁 仝明磊 施漪涵 唐 麗
(上海電力大學電子與信息工程學院 上海 200090)
定位自然場景中的文本是文本分析領域中的必要條件[1-7],也是最困難和最具有挑戰性的計算機視覺任務之一,在場景理解,機器人自主導航以及文字圖像檢索等領域具有潛在的應用價值。通常閱讀自然圖像文本包括兩個子任務[8]:文本檢測和文本識別。在文本檢測中,使用卷積神經網絡對圖像進行特征提取,然后利用不同的解碼器對區域詳細信息,比如位置、角度和形狀進行解碼。在計算機視覺領域,傳統的檢測方法[9]已經在該領域的基準數據集上取得了較好的性能,但是由于室外場景中的文本模式具有很大的差異性以及文本的背景高度雜亂性,準確定位室外文字仍然是一項具有挑戰性的研究。
現有的文本定位方法主要分為兩種,一種是傳統方法,另一種是基于深度學習的方法。早期的傳統方法分為兩大類,一類是基于滑動窗口的方法[10],一類是基于連通域的方法[11]。基于滑動窗口的方法利用不同尺度的窗口在圖像上進行滑動,提取出文字候選區域,進而檢測出文字。Kim等[12]利用不同尺度的窗口在圖像上進行滑動,提取出文字候選區域,之后在文本候選區域投入支持向量機,得出文本區域。基于連通域的方法利用自然場景文字在顏色、光照等低級特征上呈現一定的相似性這一性質,通過某些算法對相似像素進行聚合,找出文字的連通域進而進行文字檢測。Huang等[13]提出筆畫特征轉換(Stroke Feature Transform,SFT)低級特征提取器,用于文本區域候選區的提取,之后訓練兩個分類器,一個用于單詞粒度的分類,一個用于文本線的分類。基于滑動窗口的方法雖然簡單,但滑動窗口的位置固定,無法覆蓋全部位置,對于位置的定位不夠準確。基于連通域的方法雖然速度快,定位位置精準,但無法囊括復雜場景文字的變化。傳統的計算機視覺方法將背景和文本進行分割,然后提取文本特征,最后使用分類器定位文本,常用的特征包括筆劃寬度和密度特征[14]、關鍵點特征[15]等。傳統的方法在一些特定場景如文本密度較低情形下擁有較好的效果。但是,對于高密度的文本場景,由于文本分布不均導致透視失真等干擾因素,這些傳統方法并不合適。
隨著深度學習的快速發展,出現了以卷積神經網絡作為回歸預測模型的文本定位方法。Liao等[5]提出一個基于端到端的文本定位方法TextBoxes,利用多尺度融合進一步提升了檢測精度。在此基礎上,文獻[2]提出一種連接成分進行多方向場景文字檢測的方法。該方法檢測出文字的Segment,再利用卷積神經網絡自動學習出Segment之間的連接信息,最終用結合算法將Segment連接起來得到最終結果。Zhou等[1]提出一種既高效又精確的文本檢測器,該方法利用多通道的特征融合豐富語義信息,在網絡的最后利用全卷積網絡來區分文本和非文本區域,用旋轉的矩形來對文本進行檢測。雖然這些方法表現出對尺度變化的魯棒性,但它們仍然無法很好地適用文字在各種情況下的變化,因為受限于卷積神經網絡的結構。
為解決上述問題,本文選擇目前檢測算法較好的EAST算法作為基礎算法,改進神經網絡結構,使特征圖信息更加完善,解決樣本不均衡問題,從而改進文本檢測算法的性能。
EAST算法的高層語義特征信息和底層語義特征信息對特征融合起著很重要的作用。原始模型如圖1所示利用Conv stage 4層輸出經過反池化和前一層輸出融合方式,逐層進行融合,最后得到輸出,然而這樣使得融合的特征信息不夠完整。

圖1 原始特征融合方式
本文將原先EAST網絡結構特征合并層的融合方式改成RefineNet網絡結構。RefineNet網絡使用較多residual connection,與ResNet殘差網絡形成long-range連接,梯度能夠傳遞到整個網絡中,網絡結構如圖2所示。ResNet50殘差網絡提取出的2-5層4種分辨率特征圖,經過3×3卷積和線性修正單元輸出后,再經過3×3卷積和上采樣,將特征恢復至最大尺寸,然后進行加權輸出,最后在通過池化、卷積和加權操作輸出傳遞給后續處理。

圖2 RefineNet網絡結構
整體網絡結構如圖3所示,網絡輸入圖像大小為512×512。首先經過ResNet50殘差網絡,提取四個級別的特征圖f1、f2、f3和f4,大小分別為輸入圖像的1/32、1/16、1/8和1/4;之后每個輸入路徑都經過RCU,在RCU中,分為兩路,一路經過2個3×3卷積,一路不進行任何操作,兩路進行加權輸出;隨后所有路徑輸出都通過MRF(Multi-Residual Fusion)融合為高分辨率特征圖,該模塊將3×3卷積應用于輸入自適應,生成具有相同尺寸的特征圖,所有特征圖經過上采樣將特征恢復至最大尺寸后進行加權輸出。從MRF輸出的特征圖通過CRP(Chained Residual Pooling)模塊,該模塊由3個池塊組成,每個池塊由一個最大池化層和一個卷積層組成,一個池塊將前一個池塊的輸出作為輸入,通過合并殘差連接,將所有池塊的輸出特征圖與輸入特征圖融合在一起。輸出后再經過RCU,目的是在多路徑融合特征圖上采用非線性運算。最后,通過3個3×3卷積,使其維度變為32。此外,每個最大值池化核大小為5×5,每個卷積核大小為3×3,卷積之后使用修正線性單元ReLU(Rectified Linear Units)作為激活函數。

圖3 整體網絡結構
這樣設計網絡的優點是網絡結構中使用多個identity mapping 連接,梯度可以傳遞到整個網絡中。在網絡深層,其輸入為融合后的特征,經過卷積縮減特征維度,然后使用全局平均池化,這樣能夠減少網絡參數,最后使用softmax分類器輸出分類結果。
在大多數文本檢測算法中,訓練圖像都是通過平衡采樣處理以應對文本的不平衡分布,雖然會改善網絡性能,但會引入更多的參數來進行調整,所以本文采用類平衡交叉熵作為文本框置信度的損失函數,其計算式表示為:
(1)

(2)
自然場景圖像中文本的大小變化較大,直接使用L1或L2損失進行回歸將引導損失偏向于更大的文本區域,需要為文本區域生成精確的文本框預測,文本框包括文本旋轉角度和文本位置信息兩部分,因此,本文在文本位置部分采用IOU(Intersection Over Union)損失函數,其計算式表示為:
(3)

文本旋轉角度損失計算式表示為:
(4)

Lg=LAABB+μθLθ
(5)
式中:Lg代表整體幾何圖損失;μθ取值為10。
得到文本框置信度和幾何圖形的損失后,需要將二者融合為一個新的損失以便神經網絡訓練并更新參數,該函數表達式為:
L=Ls+λgLg
(6)
式中:L代表總的損失。由于損失函數不同,實際實驗中得到的損失值有很大差別,因此,λg作為超參數用于平衡兩個損失,在實驗中,λg取值為1。
實驗設備為配置TITAN XPascal的Ubuntu16.04系統,12 GB內存。深度學習框架為Tensorflow。采用公共數據集ICDAR 2015和MSRA-TD500,ICDAR 2015包含1 000幅訓練圖像和500幅測試圖像,MSRA-TD500包含300幅訓練圖像和200幅測試圖像,拍攝這些圖像時,由于沒有考慮位置,所以場景中的文本是任意方向的。檢測數據集的難點在于文字的旋轉性。
采用準確率(Precision)、召回率(Recall)和F1-score作為算法性能的評價指標,定義如下:
(7)
(8)
(9)
式中:TP是指正樣本被預測為正;FP是指負樣本被預測為正;FN是指正樣本被預測為負;P是指準確率,R是指召回率。
數據預處理:在訓練樣本較少的情況下,數據擴增的方法有利于提升網絡性能,將訓練集的原始圖像剪裁、翻轉以擴增訓練樣本。
參數設置:為了更好地訓練網絡收斂,本文使用Adam優化器,具體訓練參數配置如表1所示,訓練網絡總耗時約144 h。

表1 訓練網絡的參數配置
為了驗證本算法的性能,選取現有幾種優秀的文本檢測算法與本文算法進行實驗對比。CTPN算法是Tian等[3]提出的,它采用了數學上“微分”的思想,將文本檢測任務進行拆分,轉化為多個小尺度文本框的檢測,并結合CNN與RNN,形成一個端到端的訓練模型,不僅提升了文本定位的效果,還提升了精準度。SegLink[2]算法是2017年發表的文本檢測算法,該算法能夠檢測任意角度的文本,融入了CTPN小尺度候選框的思路又加入了SSD算法的思路。主要思想是將文本進行分解,得到兩個局部可檢測的元素,即segment和link,segment是對字符或單詞的方框,覆蓋文本的一部分,link用來連接方框,最后檢測是通過連接片段產生,并且該算法還可以檢測非拉丁文。經實驗,該算法使定位的準確率和訓練效率得到了很大的提高。TexeBoxes++算法是Liao等[16]在2018年提出的文本定位算法,該算法是在SSD的基礎上進行改進的,能夠檢測任意方向的文本。其核心是通過四邊形或傾斜的矩形來表示文本區域。Pixel-Link算法是Deng等[17]在2018年提出的文本定位算法,該算法放棄了邊框回歸的思想,采用實例分割的方法,將同一個實例中的像素連接在一起,之后進行分割,然后從分割結果中得到文本邊界框,這大大提升了文本定位的效果。
在TITAN X顯卡上進行訓練和測試,上述幾種算法在ICDAR2015數據集上的結果如表2所示,本文算法召回率為81.61,準確率為85.51,F1-score為83.51。

表2 不同算法在ICDAR 2015數據集上的表現(%)
通過表2能夠看出,本文算法的準確率和召回率均遠高于CTPN算法,與Seglink算法對比,召回率高5%,準確率高12%,和TextBoxes++算法進行比較,本文算法在召回率上提升了4%,和Pixel-Link算法相比,在準確率上高將近3%,與EAST算法相比,準確率和召回率均有所提高,并且在實驗過程中,所用的訓練時間也少于EAST算法,說明本文算法檢測任意文本更準確。此外,通過比較能夠看出,F1-score是上述算法中最優的,表明本文的算法綜合性能最好。
在MSRA-TD500數據集上的結果如表3所示。

表3 不同算法在MSRA-TD500數據集上的表現(%)
通過表3能夠看出,所改進方法的三個值均取得了優異的效果,表明了該方法在處理不同長度的文本行方面的卓越能力。具體來說,本文算法的F1-score略高于文獻[21],與文獻[20]方法相比,本文算法在F1-score上提高2.29%,在召回率上提高8.25%。
為了將實驗結果直觀表現出來,將真實標簽值與預測值標注在圖像上,如圖4所示,第一組為ICDAR 2015中圖像,后一組為MSRA-TD500中圖像,(a)為經典EAST算法預測結果,(b)為本文算法預測結果,從圖中能夠看出,本文算法檢測長文本效果優于經典EAST算法。

(a) EAST預測

(b) 本文算法預測圖4 效果圖
針對特征融合過程中特征信息的丟失,本文提出利用RefineNet網絡改進EAST算法用于文本檢測,并優化損失函數,使算法在處理樣本不平衡問題上更加合理。該網絡在ICDAR 2015數據集取得較好的準確率和召回率,實驗表明完善特征信息有效地幫助深度卷積網絡提升文本定位效果。
本文還未將注意力機制,數據增強納入網絡,也未采用多尺度訓練,此外,本文方法僅對水平文字檢測效果好,對于彎曲文本有待深入研究。