王麟琦 何成威
(1.南京烽火天地通信科技有限公司 南京 210019)(2.武漢郵電科學研究院 武漢 430074)(3.國網電力科學研究院武漢南瑞有限責任公司 武漢 430074)
電子商務自從1999 年在中國出現以來,發展迅速。到2017 年年底,中國電子商務市場交易額高達29.16 萬億元,其中網絡零售市場交易規模達到了7 萬億,占據全球網售份額的50%。中國已經成為電子商務規模最大、發展最快的國家之一。如今電商平臺越來越多地采用圖片的方式展示信息,而電商圖片存在背景復雜、水印重疊等問題,這為電子商務的管理帶來了技術上的挑戰。因此,自動讀取商品信息圖片中的文本信息成了熱點問題。
根據不同的實現框架,文本檢測的方法大致可以分為三類:自底向上的生成式方法[1~3];基于滑動窗口的方法[4~5];基于深度學習的檢測方法[6]。隨著深度學習算法的不斷優化和硬件水平的提高,基于深度學習的文本檢測算法已經成為圖像文本檢測領域的主流方法。其中以Faster R-CNN[7~9]系列、MR-CNN[10]以及SPP-NET[11]為主流的基于RP(Re?gion Proposal)的目標檢測算法,由于區域推薦網絡(RPN)結構的存在,雖然檢測結果精度越來越高,但是檢測的速度卻遇到瓶頸,難以滿足有實時性需求的場景。
針對以上問題,為了能檢測電商圖片中的文本,本文實現了一種基于特征融合的文本檢測模型。通過50 層的殘差網絡提取輸入圖像的特征,然后將殘差網絡得到的每一層不同尺寸的特征圖進行特征融合,對特征融合后的特征圖進行回歸和分類,去除候選區域的提取、過濾和融合等步驟,提高模型的效率。通過利用改進后的NMS 將預測的文本框合并,得到最終的檢測結果。為解決非平衡數據的問題以及加快模型的收斂,模型引入了DiceLoss 和實例間平衡的交叉熵損失相結合的損失函數

圖1 特征提取層結構圖
本文通過殘差網絡構建的全卷積網絡文本檢測模型,網絡結構分為以下三個部分:特征提取層、特征融合層、結果輸出層。特征提取層采取殘差網絡來做特征提取。圖1 為特征提取層結構圖,如圖所示,在特征提取步驟中,原圖先經過一層卷積核為7×7,步長為2 的卷積層,輸出的通道數為64。圖中一共有4 個Block 模塊,模塊的中括號里的三位數字分別代表:殘差單元第三層輸出通道數、前兩層輸出通道數、中間層的步長。在本網絡中,每個殘差學習單元里面有三個卷積層,例如[256,64,2]代表構建的殘差學習單元中,第三層輸出通道數為256,前兩層輸出通道數為64,且中間層的步長為2,在Block1 中有3 個殘差學習單元。特征圖每經過一次Block 區域的操作后,得到新的特征圖尺寸變為上一層特征圖的一半,而通道數則增加一倍,達到抽取不同層次的特征圖的目的。因此可以得到不同尺度的特征圖,解決文本行尺度變換劇烈的問題。低層的特征圖尺寸較大,對局部信息較為敏感,可用于預測較小的文本行,高層特征圖尺寸較小,提取的特征更為抽象,可用于檢測較大的文本行。特征提取層得到的特征圖依次為f4、f3、f2、f1。
特征融合層將特征提取層中抽取的特征進行合并,合并的規則采用了U-net[12]的方法。圖2 為特征融合層的結構圖。從圖中可以看出,特征融合層首先從特征提取網絡的頂部特征逐步向下進行合并,在每一個合并階段,從上一個階段來的特征圖先進行反卷積,使得特征圖尺寸增大一倍,然后和當前特征圖級聯。然后,利用一個1×1 的卷積層減少特征圖的通道數,也達到了降低計算量的目的,接著經過一個3×3 的卷積核對特征圖進行卷積,將信息融合,最終產生合并階段的結果。在最后一個合并階段之后,利用一個3×3 卷積層產生最終的歸并部分的特征圖,并輸入到輸出層。

圖2 特征融合層結構圖
第三部分為結果輸出層,將特征融合層產生的特征圖進行1×1 的卷積,激活層采用Sigmoid 作為激活函數。輸出的結果分為兩個部分。一個是完成分類任務的輸出,另外一個表示檢測框的輸出,檢測框的輸出有5 個通道,前四個通道分別對應點到邊框的四條邊的距離。最后一個通道表示文本框的旋轉角度。
非極大值抑制算法(Non-maximum suppres?sion,NMS)的本質是通過選擇最具代表性的候選框刪除同一對象的重疊候選框。
物體檢測中應用NMS 算法的主要目的是消除交叉重復的窗口,找到最佳物體檢測位置。通常的流程為以下三步:
1)通過滑動窗口或者其他的目標推薦的方法產生大量的候選窗口;
2)用訓練好的分類器對候選窗口進行分類,類似于打分的過程;
3)使用NMS對檢測結果進行融合。
非極大值抑制算法常用于物體檢測領域,并能取得較好的檢測的結果。物體檢測和文本檢測有很多相同之處,文獻[13]采用NMS 算法作為去掉重復率較大的文本框。NMS算法公式如式(1)所示。

其中M 為當前得分最大的文本框,Nt 為抑制閾值,si為分數。
NMS 這種簡單直接的方法也存在一些不利。假設有兩個物體之間存在遮擋,則后面的物體預測框有可能被NMS 算法誤刪掉,從而導致檢測網絡無法起到作用。為了解決這種hard threshold(硬閾值)問題,遵循IoU 越大,得分越低的原則,對該函數進行平滑處理。平滑函數的選取一般有兩種,一種是線性加權函數,一種是高斯加權函數。兩者的目的都是為了將NMS的函數進行平滑化。

該式滿足了連續的懲罰函數在沒有重疊時沒有懲罰項,而在高度重疊時有非常高的懲罰項。
網絡損失函數由兩個部分構成:分類誤差函數和幾何誤差函數,具體損失函數如式(4)所示。其中,Ls為分類誤差,λg為權重,Lg為幾何誤差。

1)分類誤差函數
文本檢測在文本檢測問題中,文字和背景的比例通常較小,存在數據的不平衡問題。本文采用Dice loss 緩解數據的非平衡問題。Dice loss 是Fausto Milletar[14]等 在V-net 中 提 出 的 損 失 函 數,Dice Loss的本質就是不斷學習,使得交集和并集的比值越來越大。如式(5)所示,DSC 表示兩個輪廓區域的相似的程度,A 和B 分別表示兩個輪廓區域所包含的點集。

當DSC越高,代表分割結果和標準答案相似度越高,但模型是用求最小值的思想進行訓練,因此分類誤差函數如下式所示。

在計算損失函數時,為了避免不同大小的文本框對損失造成的影響不同,較大的文本框造成的影響大,為緩解這個問題,本模型采用了實例間平衡的交叉熵損失[15]。假設圖像中有M 個文本框。Sj代表第j 個文本框的面積,S 表示所有文本框的總面積,則文本框i的損失權重應為

2)幾何誤差函數
文本檢測中的一大挑戰是文本在圖像中的尺寸變化范圍較大。直接用L1 或者L2 損失,會導致文本區域的損失偏差更大。文本檢測需要的是一個不會影響尺寸的回歸損失函數,因此回歸損失采用IoU(Intersection over Union)Loss。IoU Loss 的公式和Dice Loss較為相似,如式(9)所示。

其中,R 代表預測的文本框的幾何位置,R*代表的真實值。
幾何誤差函數除了邊框的回歸損失函數外,還包含角度的誤差損失函數,角度誤差函數如式(10)所示。

其中θ*代表的角度的真實值,θ代表的預測的角度值。完整的幾何誤差函數如式(11)所示。

本文數據集來自天池大賽的ICPR MTWI 挑戰賽。為了豐富圖像數據集,提高模型的泛化能力,本文采用了以下步驟對訓練圖像進行數據增強。設立四種縮放倍數0.5、1、2、3,隨機從中選取一個參數對圖片進行縮放操作,對縮放的圖片進行隨機剪切(不小于原圖的十分之一)并隨機選取一些圖像數據進行旋轉角度處理。處理后的圖片如圖3所示。

圖3 預處理后的圖片數據示例
檢測的任務中,一般會存在正負樣本嚴重失衡的情況,為緩解數據集文字和背景樣本不平衡的問題和增強模型的魯棒性,本文采用均衡采樣的方法,將數據增強后的純背景圖片和包含文字的圖片比例控制在3:5,最后利用雙線性插值法將圖像尺寸改變為模型所需的輸入尺寸。數據集中的四個坐標圍成的文本框并不一定為矩形,因此,需要對文本框坐標進行數據預處理。首先將坐標的方向都改為順時針,以便于模型后續的計算,然后按照增加最小面積的原則,將文本框填補為矩形。在后續的學習過程中,標準的文本框中會存在一些非文本信息,進行適當地縮進可以減少這些信息對最終目標的影響,從而提高網絡的性能。
文本檢測的效果評價共有三個評價指標,分別為精度、召回率以及二者之間的綜合評價因素F-Score(f)。召回率表示圖片中真實存在的文本框被檢測到的比例,代表真實標簽有多大比例被檢測出來,精度表示正確檢測文本定位框與檢測文本框總數的比例,代表檢測出來的結果正確率。實際情況下,算法得到的檢測結果與人工標記的邊界框不可能完全重合,當檢測框與真實框之間的匹配度滿足一定閾值則認為是正確匹配。這三個參數的定義如下所示:

本模型的訓練過程中,基礎模型選用的殘差網絡以及全卷積網絡,采用Adam 算法替代傳統隨機梯度下降算法(Stochastic Gradient Descent,SGD)對訓練參數不斷更新,該算法計算高效,所需的內存少,梯度對角度縮放的不變形,適合解決大規模數據和參數的優化問題。訓練過程中一共迭代了3萬次,初始的學習率為10-4,采用指數衰減法,通過迭代逐步減小學習率,每1 萬次迭代后,縮小0.96。為了使得模型在測試數據上更加健壯,本模型采用滑動平均模型控制參數更新前后的差距,達到減緩參數變化的目的。
算法檢測為正樣本的條件是:
1)預測框和真實1之間的IoU值大于0.5;
2)在條件1)滿足的同時,預測框和真實框之間角度差應小于10°。
圖4 展示了ICPR MTWI 挑戰賽上的正確檢測樣本。圖5 為模型訓練過程中,模型總損失函數的訓練過程。在訓練最開始的5000 次訓練中,模型總損失的下降速度較快,5000 次以后,分類損失逐步下降速度變緩,到30k次后,趨于穩定。

圖4 ICPR MTWI挑戰賽的部分正確檢測結果

圖5 模型總損失的訓練過程
表1 為對本實現模型做的切除實驗的實驗結果,用于分析關鍵步驟對模型表現的影響。

表1 本實驗模型切除實驗結果
實例間平衡的交叉熵損失用于緩解文本實例大小差異過大對模型的影響。實驗3 沒有使用實例間平衡的損失函數,在計算損失函數時,所有像素使用一樣的權重。改進后的NMS 能取得比傳統NMS 更好的性能。對比實驗1 和實驗2,加入改進的NMS 后,可以發現召回率和精準率都提高了三個百分點。同時,可以在高度重疊的環境下取得更大的性能提升,在電商圖片中,存在大量的水印文字和圖片的文字重疊的情況。因此,相比于傳統NMS,改進后的NMS 在文本檢測中具有更好的定位效果。改進后的NMS 對相鄰區域內的檢測框的分數進行調整而不是NMS 方法中的徹底抑制,達到了提高檢測率時準確率的目的。NMS 對相鄰區域的徹底抑制使其在較高重疊環境下更容易發生漏檢文本框的情況,而改進后的NMS 在低檢索率時,仍能提高模型的檢測性能。由實驗4 可以看出,在本模型中使用ResNet 作為基礎網絡,比使用VGG16 作為基礎網絡,性能更好,實驗結果在召回率和精準率都有一定提升。
表2 為本文的檢測方法和其他一些主流的文本檢測算法進行比較的結果。表中其他深度學習的文本檢測算法,都將ICPR MTWI 挑戰賽的數據集作為訓練集。

表2 不同方法文本檢測指標對比
從表中可以看出,在多方向ICPR MTWI 挑戰賽的數據集上,本模型的召回率、精度、F-measuren都達到了較好的評估結果。CTPN在水平方向的文本上的檢測效果較好,而在多方向的文本檢測時,檢測效果差強人意。PixelLink 也是基于全卷積神經網絡的,但它在處理重疊問題時,可能會將兩個有重疊部分的文本框劃分成四個文本框,而ICPR MTWI 挑戰賽的數據集主要為電商圖片,有著大量的水印,因此文本框重疊是很常見的。這個問題使得PixelLink模型對該數據集有著較大的影響。
本文主要完成電商圖片的多方向文本檢測的任務,提出了一種基于全卷積的文本檢測網絡模型,直接產生預測的文本框,免除了中間多個步驟,如候選區域的提取、過濾和融合,以及后處理等。首先通過一個50 層的殘差網絡進行特征抽取,抽取不同尺寸的特征圖,以解決文本行尺度變換劇烈的問題。然后將特征抽取層的不同尺寸的特征進行上采樣后,采用通道數串聯的方式合并,將融合后的特征圖傳到輸出層。最后用改進后的非極大值抑制的方法對上一層結果進行處理,得到最終的預測結果。本節算法在ICPR MTWI 挑戰賽的數據集上進行測試,通過切除實驗,分析了殘差網絡、改善后的NMS 以及實例平衡的交叉熵損失對本算法的影響。最后,將算法測試結果與其他文本檢測的方法進行對比,取得了較好的檢測效果。