方承志,火興龍,程宥鋮
南京郵電大學 電子與光學工程學院,南京210023
文本作為人類溝通和信息交流的主要載體,廣泛地存在于自然場景圖像中,例如商鋪招牌、道路標志、產品包裝等都含有大量文本。相較于圖像中的其他自然場景內容,例如樹木、行人、建筑等,自然場景文本(scene text)具有更豐富且明確的高層語義信息和更強的描述能力,因而準確地檢測并識別圖像中的文本將有助于場景內容的分析與理解。隨著計算機圖形處理能力的顯著提升和互聯網的高速發展,自然場景文本檢測技術在許多場景中都有著廣泛的應用,例如文檔分析[1]、圖像檢索[2-3]、智能交通[4-5]等,因而該技術在計算機視覺領域正逐漸成為近年研究與應用的熱點。
目前自然場景文本檢測算法大致可分為兩類,一類是基于字符檢測的傳統算法,另一類算法則基于近年來興起的深度學習。傳統算法主要沿用兩條技術路線,基于連通成分(connected component)分析的算法和基于滑動窗口(sliding window)分類的算法。傳統算法一般涉及多個處理步驟,為了讓各部分相互協同工作,需要在參數調整和啟發式規則(heuristic rules)設計方面付出大量努力。此外,步驟較多且計算量大導致其速度較慢,效率不高。基于深度學習的算法也主要沿用兩條技術路線,基于位置回歸(location regression based)的算法和基于分割(segmentation based)的算法。不同于傳統算法的手工設計特征(handcraft feature),深度學習網絡組合淺層特征形成抽象深層特征,特征語義信息豐富且表達力強。此外,端到端的模型結構訓練過程簡單高效且檢測效率高。
基于深度學習,目前性能較好的算法包括CTPN[6]、TextBoxes[7]、SegLink[8]、EAST[9]、PixelLink[10]等,它們都借鑒了通用目標檢測(general object detection)的思路。然而,把自然場景文本檢測看作是通用目標檢測的特例時,它也有自身的特殊點和難點。具體如圖1 所示,一是文本對象的長寬比(aspect ratio)范圍很大,而在通用目標檢測中,目標對象的長寬比一般在3以內[11];二是通用目標檢測中的邊界框(bounding box)是水平矩形,而文本對象是有方向的,其邊界框需要用旋轉矩形或四邊形來表示。

圖1 自然場景文本檢測與通用目標檢測的比較
面對上述問題,CTPN 引入類似“微分”的思想,利用修改過的錨框(Anchor)機制和LSTM[12]網絡檢測一個個小的、固定寬度的文本片段,通過規則將文本片段連接成文本對象。TextBoxes 錨框長寬比最大可到10,并用長條形(1×5)卷積核替代傳統方形(3×3)卷積核。TextBoxes++[13]作為TextBoxes 的改進,增加了縱向錨框且卷積核形狀變更為3×5。SegLink 既融入了CTPN 小尺度錨框的思想又借鑒了SSD[11]算法,同時預測文本片段及片段間的連接關系。EAST 沒有錨框機制,每個文本像素直接預測自身所在文本對象的坐標和旋轉角度。區別于上述基于位置回歸的算法,PixelLink則是基于分割的算法,其Link思想來源于SegLink,但存在質的不同:SegLink 連接對象是文本片段,而PixelLink 連接對象是文本像素。
通常,基于錨框機制的文本檢測算法會設計較多錨框以覆蓋文本對象不同的方向和長寬比。隨著錨框增多,采樣密度增大,負樣本所占比例也相應升高,導致訓練時正負樣本類別失衡愈發嚴重,進而影響模型學習過程。對此,本文設計錨框時剝離錨框的方向特征但保留其長寬比特征,在模型訓練的正負樣本判定階段,錨框與真值(ground truth)做匹配計算時,同樣先剝離真值的方向特征,然后將其與無方向特征的錨框按中心點對齊,最后進行IoU(Intersection over Union)計算。如此,在覆蓋相同的錨框長寬比范圍時,錨框的數量相對較少,從而在一定程度上減輕了正負樣本類別失衡的影響。同時,每個網格(Grid)的所有錨框共享旋轉角度偏移量的回歸值,相對于直接回歸旋轉角度偏移量,本文以一種不同的形式實現,即通過獨立的子網預測均勻分割的角度區間概率值,選取概率值最高的角度區間量化值作為所屬網格的共享旋轉角度偏移量。當然,量化的旋轉角度偏移量勢必帶來一定的角度偏差,如果預測的邊界框不能準確且緊致地框住文本對象,必然影響到后續文本識別的精確率。針對于此,本文提出一種邊界框校準算法,作為模型后處理層的最后一個步驟。該算法利用MSER[14]獲取字符邊緣信息,通過基于規則的邏輯判斷,對邊界框進行收縮或膨脹操作,從而達到邊界框校準目的。綜上所述,本文的主要貢獻如下:
(1)設計錨框時剝離錨框的方向特征但保留其長寬比特征,在覆蓋相同長寬比范圍時,錨框設計數量減少,從而緩解采樣密集時正負樣本類別失衡的影響。
(2)每個網格的所有錨框共享旋轉角度偏移量的回歸值,并且以一種不同的形式實現其回歸。
(3)提出一種邊界框校準算法,作為模型后處理層的最后一個步驟。
本文模型以基于位置回歸的一階段通用目標檢測框架為基礎,模型結構如圖2 所示,按照功能的不同分為四個部分:特征提取層、特征融合層、文本預測層和后處理層。首先,原始圖像經過縮放處理轉為輸入圖像,輸入圖像饋入特征提取層,經由連續的卷積和下采樣(downsample)操作,以旁路的方式得到三個不同尺度與抽象層級的特征圖。然后,通過特征融合層,不同尺度的特征圖自頂向下進行融合,使得深層語義特征與淺層紋理特征相融合。接著,文本預測層用三個相互獨立的子網分別輸出置信度(confidence)、邊界框坐標偏移量和旋轉角度偏移量。最后,后處理層包含三個步驟:(1)置信度閾值操作,濾除非文本對象;(2)非極大值抑制(Non-Maximum Suppression,NMS),去除冗余文本對象;(3)對最終篩選出的文本對象進行邊界框校準。
特征提取層以修改過的Darknet-53[15]為框架,去除后部的全連接層,保留前部連續的卷積結構,并以歸一化尺寸(608×608)的三通道彩色圖像作為輸入。Darknet-53 采用殘差結構,如圖3 所示,殘差塊(residual block)包含兩個分支:恒等分支和殘差分支,其公式定義如下:

其中,xt和xt+1分別是第t個殘差塊的輸入與輸出。Ft(xt) 為變換函數,對應殘差分支,xt則對應恒等分支。激活函數采用LReLU[16](Leaky Rectified Linear Unit),負值部分的斜率α設為0.1,其表達式如下:

同時,下采樣不采用池化(pooling)操作,而是采用步長(stride)為2 的卷積操作替代。具體網絡結構如表1所示。

圖2 模型結構

圖3 殘差塊結構

表1 特征提取層網絡結構
在CNN(Convolutional Neural Networks)網絡中,靠近輸入的卷積層負責提取保留了很多細節但缺少語義信息的淺層特征,而靠近輸出的卷積層負責提取有很強語義信息但缺少細節的深層特征。通過特征融合,高分辨率的淺層特征圖將包含深層語義信息,使網絡綜合考慮深層特征與淺層特征,從而提高了預測的準確率。
本文特征融合層主要包含上采樣(upsample)和融合(fusion)兩個步驟。首先,在特征提取層的最后三個卷積階段加入旁路,輸出三個不同分辨率的特征圖。然后,通過采用最近鄰插值(nearest neighbor interpolation)的上采樣操作,由深層至淺層,使相鄰卷積階段的特征圖分辨率相一致。最后,將兩個相同分辨率的特征圖以拼接(concat)的方式相融合。具體過程見圖2特征融合層描述,其中卷積塊(Conv Block 5L)表示Conv 1×1和Conv 3×3交替執行且總共5層(5L)卷積。
1.3.1 錨框設計
在TextBoxes++里,為應對多方向文本,額外增加了縱向的錨框,致使錨框數量變多。與其不同,本文設計錨框時剝離錨框的方向特征但保留其長寬比特征,即錨框只有寬和高兩個屬性,同時也剝離真值的方向屬性,使其只具有其最小外接矩形寬和高兩個屬性。在模型訓練過程的正負樣本判定階段,真值中心點所在網格的錨框與真值做匹配計算時,先將已無方向屬性的錨框和真值按中心點對齊,接著進行IoU計算,最后將IoU值最大且大于0.5的錨框判定為正樣本,小于0.4的錨框判定為負樣本,其余錨框則被忽略。如此,在覆蓋相同的錨框長寬比范圍時,可避免錨框數量過多的問題,從而在一定程度上減輕了正負樣本類別失衡對學習過程的影響。
感受野(receptive field)指的是神經元在輸入圖像上可感知的區域,隨著網絡由淺到深,神經元感受野逐漸擴大,所以設計錨框尺度時,從淺層特征圖到深層特征圖,其相關聯的錨框尺度將逐漸變大。本文錨框設計借鑒了SSD 中方法,每個特征圖關聯兩個尺度的錨框,尺度總范圍從23至28,長寬比范圍覆蓋{1∶1,3∶1,5∶1,7∶1,9∶1}。但由于輸入圖像尺寸為608×608,所以與最頂層特征圖相關聯的錨框并不包含長寬比{7∶1,9∶1},錨框邊長計算公式如下:

其中,s表示尺度,a表示長寬比。另外,每個尺度都有一大一小兩個正方形錨框,小的邊長為s,大的邊長為。
1.3.2 子網設計
如圖2 文本預測層所示,本文采用三個相互平行且獨立的子網分別輸出置信度、邊界框坐標偏移量和旋轉角度偏移量。圖2 中Conv Block×4 表示卷積塊(Conv 3×3,256;Conv 1×1,128)執行4次,其中最后一次Conv 1×1 操作的通道(Channel)數目根據子網的不同分別為2A、4A和18,而A表示特征圖上每個網格所屬錨框的數量。另外,置信度和旋轉角度子網后接Softmax激活函數,邊界框坐標子網只有x和y兩個通道后接Sigmoid激活函數,而w和h兩個通道則不接激活函數。
在自然場景中,位于同一區域的文本對象往往具有一致的方向性。利用此特性,在回歸錨框旋轉角度偏移量的方式上,本文以一種不同的形式實現。首先,本文假設同一網格中的所有錨框具有相同的旋轉角度偏移量,因此每個網格只輸出一個旋轉角度偏移量,供網格內所有錨框共享。其次,旋轉角度偏移量并非直接回歸的連續值,而是角度區間量化值,即將0°至180°均勻地分割為18 個角度區間,每個區間的量化值為區間中間值,但量化值為0°的區間較為特殊,其由[0°,5°]和[175°,180°]兩個子區間共同組成。最后,旋轉角度子網輸出特征圖的18 個通道分別依次代表每個角度區間。具體描述如圖4 所示,其中θ為實際值,而Θ為相應的量化值。
1.3.3 損失函數
本文以加權和的形式定義多任務損失函數L,其表達式如下:

圖4 旋轉角度偏移量量化值

其中,Lconf、Lcoord和Langle分別表示置信度、邊界框坐標偏移量和旋轉角度偏移量的損失函數。Nc表示判定為正樣本的錨框數量,用于損失函數標準化。α1=10和α2=1 用于平衡任務間損失。{1.0,0.1}用于平衡正負樣本置信度損失,正樣本設為1.0,負樣本設為0.1。{1.0,0.9,0.8}用于平衡旋轉角度偏移量損失,18 個角度區間依序設為{0.8,0.8,0.9,0.9,1.0,1.0,1.0,1.0,0.9,0.9,0.9,1.0,1.0,1.0,1.0,0.9,0.9,0.8}。)用于平衡不同尺度邊界框坐標偏移量損失,為歸一化的真值w和h。
1.3.4 坐標計算
文本預測層輸出相對于錨框的邊界框坐標偏移量和旋轉角度偏移量,即(Δx,Δy,Δw,Δh,Δθ),分別表示中心點、寬高和旋轉角度的偏移量。在模型評價階段,輸出的邊界框為文本對象的最小外接矩形,表示形式為其四個頂點的坐標,即(x1,y1,x2,y2,x3,y3,x4,y4),相應的坐標轉換計算如下所示。首先由偏移量計算出絕對量:

其中,xg和yg為錨框所屬網格的左上角坐標,wa和ha為錨框的寬高。接著:

其中,()為邊界框水平狀態時4個頂點的坐標。最后,引入旋轉角度的邊界框頂點坐標由以下計算得出:

1.4.1 置信度閾值操作
本文實驗數據集采用ICDAR2015[17],在其訓練集中,只有1%的文本對象邊界框短邊長度小于10或面積小于300。結合此特性,本文在執行完閾值為0.5的置信度閾值操作后,便將具有上述特征的文本對象邊界框全部拋棄。
1.4.2 非極大值抑制
在通用目標檢測任務中,大尺度目標的邊界框中往往會含有同類別或不同類別的小尺度目標,如圖5(a)所示。因此,標準的非極大值抑制利用IoU 閾值操作去除冗余邊界框時,可以保留大尺度邊界框中包含的小尺度邊界框。然而,在文本檢測任務中,本文采用的ICDAR2015 數據集以單詞為標注單位,從而在模型的輸出中,框住單詞的大尺度邊界框中經常包含了框住若干字母的小尺度邊界框,如圖5(b)所示。

圖5 不同尺度邊界框包含關系
針對于此,本文使用另一種指示量來替代IoU,其目的在于抑制如上所述的小尺度邊界框。指示量定義如下:

其中,Area(bi)表示邊界框bi的面積,Inter(b1,b2)表示邊界框b1與b2“交”的面積,指示量閾值為0.4。
1.4.3 邊界框校準
給定三通道彩色圖像后,先將其轉換為單通道灰度圖像,接著利用MSER算法得到圖像中的所有MSER區域,最后將MSER區域的表示形式由輪廓轉換為最小外接矩形。在邊界框校準執行邏輯中,優先考慮收縮操作,其次考慮膨脹操作,偽代碼見算法1。
算法1 邊界框校準算法
輸入:未校準預測框集合P,MSER區域集合的集合R
輸出:已校準預測框集合P′
1. forrs∈R,p∈Pdo //rs包含中心點在p內的所有區域
2. ifrs=? then
3. 將p加入P′ //p不做校準
4. else
5.rs1 ←rs中與p的面積比大于等于0.8 且小于等于1.2的區域所組成的集合
6.rs2 ←rs中與p的面積比大于0.05 且小于0.8的區域所組成的集合
7.rs3 ←rs中與p的面積比大于1.2 的區域所組成的集合
8.flag←False//邊界框校準標志
9. 將rs1 中區域按面積升序排列
10. forr∈rs1 do
11. ifr與p的中心間距小于p短邊長度的0.3倍then
12. 將r加入P′
13.flag←True
14. break
15. end if
16. end for
17. ifflag=Falsethen
18. 對rs2 進行過濾操作 //按1.4.2小節中定義的指示量濾除rs2 中指示量小于0.6 的區域,指示量中b1為rs2 中區域,b2為p
19. ifrs2 與p的中心間距小于p短邊長度的0.5倍andrs2 與p的面積比大于0.2且小于1.5 then
20. 將rs2 的最小外接矩形加入P′
21.flag←True
22. end if
23. end if
24. ifflag=Falsethen
25. 將rs3 中區域按面積升序排列
26. forr∈rs3 do
27. ifr與p的中心間距小于p短邊長度的0.5倍then
28. 將r加入P′
29.flag←True
30. break
31. end if
32. end for
33. end if
34. ifflag=Falsethen
35. 將p加入P′ //p不做校準
36. end if
37. end if
38. end for
本文僅在公開數據集ICDAR2015 上評價模型性能,具體為其第四個挑戰的第一個任務。數據集共包含1 500 張圖像,其中1 000 張用于訓練,500 張用于測試。圖像通過可穿戴設備隨機拍攝,尺寸統一為1 280×760。由于拍攝時并未聚焦于文本內容,所以文本對象會出現在圖像的任意位置,且伴隨對焦模糊、顏色失真和扭曲變形等情況。另外,文本對象在圖像中還具有占比較小、大小不一、方向隨機等特征,從而相較于以往其他數據集,檢測難度大大提升。
ICDAR2015 數據集以單詞為標注單位,所有單詞和文本區域都會被標注出來,真值的表示形式為其四邊形邊界框四個頂點的坐標。在模型的訓練階段,為了適應文本預測層的邏輯結構,真值的表示需要做轉換計算,(x,y,w,h,Θ)為其轉換后的表示形式,分別為真值最小外接矩形的中心點坐標、寬高和以中心點為旋轉中心的旋轉角度偏移量。其中,中心點坐標和寬高均為歸一化值,旋轉角度偏移量則為所在角度區間的量化值。
在文本檢測任務中,評價標準包含召回率(Recall)、精確率(Precision)和F分數(F-Score)三個常用評價指標,其定義分別如下:

其中,D為預測框集合,G為真值框集合,Match(Xi,Y)為一對一匹配函數,表示當X中元素Xi與Y中任意元素相匹配時,函數值為1,否則為0。匹配程度以IoU衡量,當IoU 值大于0.5 時,即表示匹配成功,否則匹配失敗。
本文僅通過ICDAR2015 訓練集中的1 000 張圖像進行模型訓練,采用自適應矩估計[18](Adaptive Moment Eestimation,ADAM)優化器優化模型,權值衰減系數(weight decay)為1E-4,學習率為1E-3,圖像由原始尺寸縮放至統一尺寸608×608,使用在公開數據集ImageNet[19]上預訓練的參數值初始化特征提取層參數,模型訓練階段并未采用數據增強(data augmentation)、多尺度訓練(multi-scale training)、在線難例挖掘[20](Online Hard negative Example Mining,OHEM)等技術,整個算法使用Python3.6同Pytorch0.4實現。
本文在ICDAR2015 測試集上的檢測結果如圖6 所示,圖中綠色框和紅色框分別表示檢測正確和檢測錯誤的預測框。其中,圖6(a)為邊界框未校準的檢測結果,可以看到部分預測框旋轉角度有偏差,同時框體相比于對應的文本對象存在過大或過小的現象。相對的,圖6(b)為邊界框已校準的檢測結果,可以看到圖6(a)中存在的問題在圖6(b)中得到了一定程度的改善,使得邊界框能夠相對準確且緊致地框住文本對象。

圖6 ICDAR2015測試集檢測結果
如表2,同時列出了近年來提出的幾種基于位置回歸的文本檢測算法以及本文算法在ICDAR2015測試集上取得的客觀指標。可以看出,在僅使用單一數據集進行訓練且訓練階段未使用數據增強等附加技術的情況下,本文算法取得了與其他算法可比較的檢測結果。同時,相比于本文算法邊界框未校準時的指標,邊界框已校準時的召回率、精確率、F分數分別高出1.4、1.6、1.4個百分點,從而驗證了本文邊界框校準算法的有效性。

表2 ICDAR2015數據集檢測結果
基于深度學習,針對自然場景下多方向文本對象檢測任務,本文模型以基于位置回歸的一階段通用目標檢測框架為基礎,通過設計錨框時剝離錨框的方向特征但保留其長寬比特征,在覆蓋相同長寬比范圍時,錨框設計數量減少,從而緩解采樣密集時正負樣本類別失衡的影響。同時,每個網格的所有錨框共享旋轉角度偏移量的回歸值,并且以一種不同的形式實現其回歸。另外,本文提出一種邊界框校準算法,作為模型后處理層的最后一個步驟,該算法利用MSER 獲取字符邊緣信息,通過基于規則的邏輯判斷,對邊界框進行收縮或膨脹操作,從而使邊界框能夠相對準確且緊致地框住文本對象。通過在公開數據集ICDAR2015 上的測試與比較,驗證了所提邊界框校準算法的有效性。本文未來的研究將專注于以下兩個方面:(1)檢測算法魯棒性的增強;(2)多語種共存的文本檢測。