仝明磊, 姚宏揚
(上海電力大學 電子與信息工程學院, 上海 200090)
文字檢測是計算機視覺中的一個重要部分,也是文字識別的必要過程。自然場景下的文字檢測目前依然面臨很大的挑戰(zhàn),主要是因為自然場景圖像中的文字在亮度、模糊、形狀、方向等方面有很高的隨機性,導致文字檢測的難度較大。
近年來,研究者提出了很多的文字檢測方法[1-5]。盡管這些方法提高了檢測結果,但大多還是基于水平的檢測方式,無法有效解決自然場景圖像中文字復雜多變的情況。在實際應用中,大部分圖片中的文字區(qū)域都不是水平的,通過以前的水平候選區(qū)方法來大量訓練并不能得到很高的檢測精度,還會增加大量的計算時間。最近帶有幾何方向性的文字檢測方法被提出[6-7]。該方法主要是通過自底向上的卷積神經網絡(Convolutional Neural Network,CNN)[8-9]進行特征提取來生成文字預測特征圖,再通過計算有傾斜性質和特殊形狀的錨點框與特征圖上網格之間的置信度,使用回歸方法或者其他精細調整方法得到最終的檢測結果。區(qū)域提議網絡(Region Proposal Network,RPN)與Faster-RCNN[10]框架的結合,進一步加快了錨點的提議進程。本文將角度信息和仿射變換信息加入多方向文本檢測的模型中,以期進一步優(yōu)化適應文字區(qū)域的檢測。
RPN可以進一步加速區(qū)域提議的生成過程,采用殘差網絡(Residual Network,ResNet)[11]的一部分作為共享網絡層,通過在最后一層卷積得到特征圖上滑動窗口來生成水平區(qū)域提議。每個滑動窗口得到的特征提取后,被送入回歸層(regression)和分類層(classification)中;回歸層輸出的每個提議框上有4個參數(寬、高、中心位置x坐標和y坐標),另外每個滑動位置的錨點還有2個分數從分類層輸出。
RPN使用尺度和寬高比兩個參數控制錨點的大小和形狀,以便更好地適應不同尺寸的文字。尺度決定錨點的大小,寬高比決定錨點的形狀比例。在文字檢測中,尤其是自然場景下的圖像,文本通常都以非常規(guī)形狀表現,如果只使用RPN產生的水平錨點,對于場景文字檢測來說魯棒性較差。為了提高網絡檢測的魯棒性和準確率,有必要建立一個適應文本形狀的檢測框架。
本文所提網絡的整體框架使用ResNet-101的卷積層進行特征提取,增加仿射變換參數的RPN對最后一層卷積的特征圖進行區(qū)域提議。圖1為仿射變換區(qū)域提議網絡結構。
圖1 仿射變換區(qū)域提議網絡結構
首先,從場景圖像上的預測文本實例中生成適應方向和變換的提議,然后對提議進一步回歸邊界框來適應真實文本區(qū)域。由回歸層和分類層輸出的回歸提議信息和分類分數計算回歸和分類損失,最終匯總為多任務損失。興趣區(qū)域(Region-of-Interest,RoI)池化層將帶有仿射變換的提議映射到特征圖上。最后,通過兩個全連接層組成的分類網絡將RoI特征區(qū)域分為前景文字區(qū)域和背景。
訓練時,圖像上文本實例的位置形狀坐標由標注真值框4個角的坐標(x1,y1,x2,y2,x3,y3,x4,y4)獲得,輸入網絡時通過計算轉換為6個參數(x,y,h,w,θ,trans_x)。坐標(x,y)表示文本邊界框的幾何中心坐標;高度(h)為邊界框的短邊長度;寬度(w)為邊界框的長邊長度;角度(θ)為邊界框長邊與坐標軸x之間的夾角;變換值(trans_x)為長邊方向的仿射變換偏移量。文本框的中心坐標、長寬和角度由文本邊界框真值坐標求出的最小外接矩形得到,仿射變換值由最小外接矩形與邊界框真值的x坐標差值得到。
傳統(tǒng)的水平錨點不能進行很好的文字檢測,因此本文設計了具有仿射變換的旋轉錨點,并且進行了相應的調整和改進。
圖2 網絡中錨點的固定參數
訓練數據經過預處理步驟后,一個提議錨點中有6個參數(x,y,h,w,θ,trans_x)。對于特征圖上的每個點,生成3×3×6×5共270個錨點。在每個滑動窗口經過的位置上分別生成6×270共1 620個輸出,分類層生成2×270共540個輸出。根據仿射變換錨點網絡在寬度為W、高度為H的特征圖上滑動,總共生成H×W×270個錨點。訓練數據所給的坐標真值數量較少,如果直接選擇為訓練結果,容易產生過擬合現象。由于RPN中錨點數量多、形狀變化大,因此將錨點作為RPN的候選框進行正負樣本分類時,網絡會學習這些具有仿射變換屬性的錨點。通過計算文本坐標真值框與仿射變換錨點的面積交并比(Intersection-over-Union,IoU)來判斷檢測效果的好壞。正樣本定義為:最高的交并比或交并比大于0.7,錨點的方向角度與文本坐標真值的旋轉角度小于π/12[12],并且仿射變換的變換值小于2。負樣本定義為:交并比小于0.3,交并比大于0.7,但旋轉角度超過π/12。其余為不參與訓練的多余樣本。
RPN在候選框生成完成后,還需要使用Faster-RCNN的全連接層對這些候選框進行準確檢測。檢測過程分為回歸網絡和分類網絡兩個部分,損失函數分為分類損失和回歸損失:分類損失是指候選框在前景背景分類時的誤差;回歸損失是指候選框與標注真值框的幾何參數的誤差。
對于仿射變換錨點,網絡采用了多任務損失函數,定義為
L(p,l,v*,v)=Lcls(p,l)+λlLreg(v*,v)
(1)
式中:p——softmax函數計算的類的概率,p=(p0,p1);
l——分類標簽的指示符,l=1為文本,l=0為背景,對于背景不進行回歸;
v——文本標簽預測出的參數組,v=(vx,vy,vw,vh,vθ,vtrans_x);
Lcls,Lreg——分類損失和回歸損失;
λ——平衡控制參數。
分類損失與回歸損失之間由λ權衡。其中將分類損失定義為
Lcls(p,l)=-logpl
(2)
對于邊界框回歸,背景RoI被忽略。文字RoI采用了smooth-L1損失函數,即
(3)
(4)
候選框形狀參數元組v和v*的計算方式為
vθ=θ-θa+kπ,
vtransx=transx-transxa
(5)
vθ*=θ*-θa+kπ,
(6)
式中:x,xa,x*——預測框、錨點和標注真值框;
w*,h*——標注框的寬和高;
wa,ha——錨點的寬和高;
k——任意整數。
仿身變換區(qū)域提議網絡可以提供大量不同形狀的錨點,針對任何仿射變換形狀的文本實例都可以在合適范圍內擬合形狀。
由于引入了仿射變換形狀的錨點,在計算IoU時相交面積不再是矩形,因此可能會造成IoU計算不準確,影響網絡訓練學習。針對新的錨點形狀,設計了一種求解任意形狀四邊形相交面積的IoU算法。輸入錨點和標注框的6個坐標形狀參數(x,y,h,w,θ,trans_x)轉化為4個角的點坐標,通過4個角的點坐標求出凸包形狀,即仿射變換錨點和標注框的形狀,通過這兩個圖形分別求出各自的面積和重疊面積,最終可以得到兩個仿射變換形狀的IoU。
本文在文字檢測公共競賽數據集ICDAR2015[13]和ICDAR2017MLT[14]上進行了實驗。這兩個數據集的圖像和標注坐標都具有仿射變換形狀,可以訓練和測試文字檢測網絡的幾何文本檢測能力。ICDAR2015是用于文本檢測的常用數據集,共包含1 500張圖片,其中1 000張用于訓練,其余用于測試。文本區(qū)域由四邊形的4個頂點注釋。ICDAR2017MLT是大規(guī)模的多語言文本數據集,包括7 200個訓練圖像、1 800個驗證圖像和9 000個測試圖像。數據集由來自9種語言的完整場景圖像組成。與ICDAR2015類似,ICDAR2017MLT中的文本區(qū)域也由四邊形的4個頂點注釋。
實驗使用一塊TITAN X顯卡,顯存為12 GB,CPU為Intel Core i5-2320 @3.00GHz×4,內存為15.6 GB。實驗中,網絡在前200 000次迭代中的學習率為10-3,后100 000次迭代中的學習率為10-4,權重衰減為5×10-4,動量為0.9。
訓練時,錨點形狀參數中的傾斜角度(θ)和仿射變換變換值(trans_x)由輸入訓練圖片的標注坐標真值求出。在輸入文本框水平時,當左上點坐標的x坐標值大于文本框最小外接矩形左上點x坐標值,則仿射變換偏移值取正;當右下點坐標的x坐標值小于文本框最小外接矩形右下點x坐標值,則仿射變換偏移值也取正,如圖3所示。圖3中,X是指某一段的偏移量。訓練時生成的仿射變換變換值(trans_x)就由左上點坐標的偏移值與右下點坐標的偏移值取平均值得到。
圖3 仿射變換偏移值
使用ICDAR2015的訓練數據集進行訓練,該數據集包含1 000張圖像和10 886個文本實例。檢測的結果如下:召回率為0.62;準確率為0.81;F1值為0.71。即使給定了270種形狀的錨點,但是一些訓練的文本區(qū)域仍然太小,導致召回率的提升不是很高。
與同類方法在標準數據集上進行了對比,結果如表1所示。
表1 不同文字檢測方法在ICDAR2015上的常用評價指標對比
由表1可以看出,由于本文方法帶有仿射變換屬性,可以更好地檢測到真實場景圖片中的文字目標區(qū)域,檢測出的文字框形狀與文字真實形狀更加貼合。
圖4為檢測過程模擬及檢測結果。由圖4可知,相比水平檢測方法和帶角度的矩形檢測方法,具有仿射變換形狀的檢測方法對于圖片上的文字區(qū)域能夠更好地框選出來,不會像普通檢測算法一樣框選出很多不需要的背景區(qū)域,從而提高了檢測精準度。另外,檢測出來的文字框具有仿射變換參數,可以輕松地將文字區(qū)域反求轉換成矩形正面字體,方便后續(xù)識別等操作。
圖4 檢測過程模擬及檢測結果
針對現實場景圖片中的文字大部分具有仿射變換和多方向的形狀,以及傳統(tǒng)水平錨點檢測無法很好檢測場景圖片中文字的問題,本文設計了一個帶有仿射變換錨點的文本檢測網絡。利用網絡中較高卷積層的文本位置信息,結合具有仿射變換形狀的錨點,生成了具有任意方向和仿射變換形狀文本的檢測網絡。在ICDAR2015和ICDAR2017數據集上進行了實驗比較,結果表明,本文所提出的仿射變換文字檢測網絡在場景文字檢測任務中具有較高的準確率。