池 凱,趙逢禹
(上海理工大學 光電信息與計算機工程學院,上海 200093)
視頻游戲中蘊含著豐富的文本信息,而這些文本信息往往滲透著對游戲制作及全局規劃的理解;因此從游戲場景中提取所包含的文本信息,對視頻游戲的分析與處理都具有重要的意義.
然而游戲場景中圖像變換速率較快,且具有復雜的背景和多樣的特殊字符;相較于自然場景,游戲場景的色彩和光影效果較強,部分場景物體具有虛化現象,容易產生視覺深度;與此同時,游戲場景中長文本較多且文本之間具有聯系性,對檢測算法的感受野要求較高;這一系列的特殊性質給游戲場景文本的檢測造成了較大的困難,使得從游戲場景中提取文本信息具有一定挑戰性.目前眾多學者在場景文本檢測方面做了大量的研究并取得了相應的進展.尹芳等人利用迭代算法(Adaboost)將場景中文本定位問題轉化為二分類問題[1],將多個弱分類器組合成一個強分類器,實現了對場景中文本的定位檢測;王夢迪等人提出了一種基于多方向邊緣檢測和自適應特征融合的自然場景文本定位方法,利用三通道八方向的邊緣檢測通道提取出備選文本域進行特征提取與融合從而定位文本[2];Xiang Bai等人提出由粗到精的方法對自然場景中文本進行檢測,使用全卷積的神經網絡來訓練和預測不同方向的語言和字體,將局部信息和全局信息結合起來[3];而Zhou X等人提出的EAST[4]文本檢測算法在全卷積網絡的基礎上采用了端到端的文本定位方法,使用單個輕量級的神經網絡直接對整個圖片進行高效快速地預測,消除了復雜步驟;并且EAST算法允許端到端的訓練和優化,優化了中間組件也省去了復雜步驟,其中高效的算法和精簡的網絡結構提高了檢測精度與效率.
在上述研究中為了達到較高水準的文本檢測水平,采用了復雜文本檢測通道與文本提取算法,導致文本定位速率較慢、檢測效果不佳.經典的EAST文本檢測算法由于網絡結構的限制導致文本感受野較小,存在對長文本以及復雜背景文本檢測不佳的問題.因此本文針對游戲場景的文本定位識別問題選取EAST 作為基礎文本檢測算法,對EAST算法網絡結構提出了相應的改進,加強了特征篩選并且在網絡結構中加入了BLSTM層,使得EAST文本感受野長增加;同時針對shrink_poly(收縮文本框策略)提出比例權重更改,從而改善了EAST的文本檢測效果,提高了算法性能.
EAST檢測算法采用二階段(two-stage)文本檢測的方法并基于全卷積網絡(FCN)直接對文本內容進行檢測,該算法檢測通道結合了密集檢測框(DenseBox)和分割網絡(Unet)中的特性,利用單個神經網絡進行文本特征提取,并從整幅圖片中預測任意方向的四邊形文本行[4].
EAST神經網絡層采用U-shape的思想逐步合并特征圖,并且每層網絡保持對上層的較少采樣;既利用不同級別的特征值,又節約了一定的計算成本,減少了網絡層中參數的數量[4].EAST整體網絡結構分為3個部分,如圖1所示,分別為特征提取層,特征融合層以及輸出層.

圖1 EAST網絡層的結構Fig.1 Structure of the EAST network layer
特征提取層:采用VGG16模型中pooling-2 - pooling-5階段作為特征提取階段的基礎網絡結構模型[4];首先輸入一張圖片,然后經過四個階段的卷積層處理,并分別從四個階段(stage1,stage2,stage3,stage4)得到f4、f3、f2、f1,每個特征圖大小分別為輸入圖像的1/32,1/16,1/8和1/4.
特征融合層:采取逐層合并的方式從后往前做上采樣,將第一步抽出的特征圖輸入到池化層(unpooling)進行擴展,再使用連接函數(concact)對上下層特征圖(記為hi)進行連接;并通過卷積運算(conv1×1 bottleneck)減少通道數量和計算量,最后將得到的h4特征圖通過三層卷積核運算(conv3×3)生成最終的特征圖.
輸出層:輸出得分圖(score map)和4個旋轉文本框(RBOX)以及文本框角度信息,表示從像素位置到矩形的頂部,右側,底部,左側邊界的4個距離值;或者輸出得分圖和四邊形(QUAD)中8個文本坐標信息,分別表示從矩形的四個頂點到像素位置的坐標偏移.

L=LS+λgLg
(1)
(2)
Lg=LAABB+λθLθ
(3)
(4)
Lθ(θa,θb)=1-cos (θa-θb)
(5)
在LS與Lg的計算中,以平衡交叉熵函數(cross_entrop)作為 score map損失函數來解決樣本不平衡分布的問題,既避免了復雜參數也對目標數據進行了分布處理,提高了網絡性能.通過交叉熵函數盡可能地使模型輸出的分布與訓練樣本的分布一致;交叉熵(cross_entrop)主要呈現出的是實際輸出(概率)與期望輸出(概率)的差距,兩個概率分布越接近則交叉熵的值就越小.假設H(p,q)為交叉熵,p為期望輸出概率分布,實際模型輸出概率分布為q,則:

(6)
EAST原始網絡模型為了擴大輸出單元的感受野在池化層階段采用了大量計算復雜度較小的下采樣,然而較多池化層提取使得特征樣本尺寸減少,使得上采樣階段回復分辨率的難度增加,導致部分輸出特征映射感受野較小,不能編碼更多尺度信息;因而存在實際檢測中長段落邊緣檢測效果略差的問題.因此本文針對EAST段落邊界檢測不佳的問題,簡化卷積層結構并擴大了卷積核通道數從而加強了對特征值的提取篩選,在特征融合的基礎上加強了對特征樣本的序列化處理,在EAST原先網絡模型中加入BLSTM[5](Bi-directional Long Short-Term Memory)神經網絡層,改進過的網絡結構如圖2所示.

圖2 改進EAST網絡層的結構Fig.2 Improved structure of the EAST network layer
EAST在基于VGG16的基礎上提取了四個級別的特征圖,分別為輸入圖像的1/32,1/16,1/8,1/4;考慮到原先網絡感受野較小的問題以及游戲場景的特殊性(無旋轉字體以及較小文本),在本文中修只改為提取三個階段的特征圖,在保持參數數量的基礎上增加卷積核的通道數從而大量有效地篩選的更多特征,使得特征層輸出更大尺度的有效感受野.
本文加入的BLSTM是一種特殊的循環長短期記憶神經網絡,由雙向LSTM[6]神經網絡組成;BLSTM具有學習長期依賴的能力,能將每個特征的前后序列呈現為兩個單獨的隱藏狀態,以分別捕獲序列過去和未來的信息,然后再將兩個隱藏的特征序列連接起來形成一個新的特征樣本進行最終輸出[7](如圖3所示).本文將經過特征融合所得到的序列樣本(feature map)放入BLSTM中進行循環特征連接,使得到新的序列樣本更加合理均勻且具有聯系性;然后再經過1*1的卷積輸出ROI(region of interest-proposal)所對應的score map和相應的幾何信息.

圖3 BLSTM網絡傳輸結構Fig.3 BLSTM network transmission structure
EAST在制作預測四邊形文本框(polygon)時采用了收縮矩陣(shrink_poly)的策略,而收縮矩陣在一定程度上能夠減少人工標注帶來的誤差.
ri=min(D(pi,p(imod4)+1),D(pi,p((i+2)mod4)+1
其中pi表示4個頂點,ri表示矩形4條邊的長度,i=0,1,2,3;并直接計算出矩形相鄰兩點之間的L2距離,取其中較小的一個.實際計算矩形邊長時,通過求取向量范數計算相鄰兩點距離(L2 norm).
考慮到使得收縮更加優化,在計算過程中嘗試增加對于特殊邊長的權重收縮,并賦予相應的數值權重.其中對于較短的矩形邊可以取正常固定值的距離收縮(shrink);而對于較長的矩形邊則要采取減少收縮的策略.當矩形長邊和短邊在相同倍數收縮時會導致訓練完成后的四邊形矩形框整體收縮過度,出現長邊邊界預測不準的情況,導致邊界效果檢測較差.這里對于矩形長邊嘗試采取0.1倍固定值的收縮,從而改善邊界的檢測效果,如算法1所示.
算法 1.shrink_poly 策略改進
輸入:Four vertices p1 p2 p3 p4
輸出:Shrunk vector
1.functionshrink_poly(p1,p2,p3,p4)
2.if np.l.n((p1-p2)+(p2-p3))>np.l.n((p1-p4)+(p2-p3)))
3. np.arctan2((p1,p2),(p3,p4))
4. [ p1,p2]←0.1shrink
5. [ p3,p4]←0.1shrink
6. np.arctan2((p1,p4),(p2,p3))
7. [ p1,p4]←0.3shrink
8. [ p2,p3]←0.3shrink
9. return shrink_poly
10.Else np.arctan2((p1,p2),(p3,p4))
11. [ p1,p4]←0.1shrink
12. [ p2,p3]←0.1shrink
13. np.arctan2((p1,p4),(p2,p3))
14. [ p1,p2]←0.3shrink
15. [ p3,p4]←0.3shrink
16. return shrink_poly
17.End if
18.end function
為了更好地驗證本次算法的性能,并對實驗數據有較好地分析,本次實驗平臺選擇為Matlab 2012b,PyCharm,計算機配置為windows與Linux雙系統,處理器Intel corei7,主頻3.10GHz,內存16GB,顯卡為GTX1070.
本次實驗主要分為兩個個步驟:構建圖像數據集、文本定位訓練與驗證,流程如圖4所示.

圖4 模型訓練與驗證實驗流程圖Fig.4 Model training and verification experiment flowchart
本次實驗首先從游戲視頻中通過人工逐幀截取的方式獲取大量場景圖像[8],由于游戲場景中的文本信息較少,不利于制作游戲場景訓練集,因此需要對游戲場景進行人工填充數據,而人工合成數據可以準確知道文本的標簽(label)信息,省去了人工標注數據的時間;采用VGG提出的Synthetic Data[9]技術將數據自然排列進游戲場景空白處,從而快速生成大量符合有利于實驗要求的標簽化數據,制作出游戲場景專屬的訓練集.
游戲場景(pubg)中的大部分文本是集中在區域內出現的,因此要把背景圖像分割成連續的區域,再將要填入的游戲文本字體嵌入其中相應區域.當放入文本的位置、方向確定后,再對文本賦予一些相應的顏色.Synthetic Data會把文字和背景圖像的像素分為兩個集合,其中一個集合是文字的顏色,另外一個則是背景的顏色,因此數據填充會根據游戲場景的設定,設置相匹配的顏色.由于游戲場景中的文字浮于圖像的表面,所以無需進行太多的深度測試和篩選,因此在這里將深度篩選部分設為固定值,將文字更符合要求地排入游戲場景中,從而滿足游戲場景的特殊性質.數據填充流程如表1所示.
經過人工合成數據后,游戲場景圖像中的文本得到了有效地填充,其中效果如圖5所示.
本次實驗使用經過resnet-50網絡模型[10]訓練后的模型作為實驗預訓練模型,將游戲場景圖像經過降噪,平移等處理后,將每個bitch size設置為50進行訓練;其中模型的初始學習率設為0.001,衰減率為1000倍,并經過對比訓練篩選取得較優模型.

表1 數據填充流程Table 1 Data population process

圖5 場景數據填充圖Fig.5 Scene data fill map
實驗中改進EAST算法網絡模型是基于VGG-16框架進行構建的,網絡模型主要由輸入層,特征提取層,融合層,BLSTM層以及輸出層組成.配置如表2所示,f表示卷積核的數量,k表示卷積核尺寸,s表示步長,p表示填充尺寸,其中池化層階段采用了2*2的池化窗口來擴增感受野,而BLSTM層中加入了256個隱藏單元.

表2 網絡參數表Table 2 Network parameter table
為了進一步驗證改進EAST算法的性能,本次的實驗利用nvdia gtx1080ti顯卡在游戲場景的專屬訓練集上對原EAST算法與改進EAST算法的文本定位效果進行了檢測和比較.如表3所示,表中數據顯示本文改進算法平均召回率為77.89%,準確率為85.17%,平均F-score為82.76%;從表2中可以看出,本文算法的召回率要優于原EAST算法,比EAST檢測算法準確率高;而改進EAST算法的F-score也有所提升,在兩個算法執行速度上相差無幾的情況下,改進EAST算法在游戲場景上的文本檢測性能要優于原EAST算法.其中圖6為EAST算法和改進EAST算法在實際游戲場景中的檢測效果對比,從圖中對比可以看出,EAST算法整體檢測效果較好,但是對于長文本的檢測有略微缺陷,對長文本檢測不夠完整;而改進EAST算法對于長文本的檢測效果較好,能夠較為完整地檢測長文本.

表3 改進EAST性能表現Table 3 Improved EAST performance

圖6 原EAST算法與改進EAST檢測效果對比圖Fig.6 Comparison of original EAST algorithm and improved EAST detection effect
在上述實驗的基礎上,本文選取CTPN等一些優秀的文本定位算法與改進EAST算法在游戲場景數據集中進行比較驗證.CTPN算法結合RNN與CNN的特點直接利用卷積在特征圖上生成文本區域并進行快速檢測[12];PixelLink算法利用像素分割出文本實例并提取文本預測框,處理文字特征上效果明顯,具有較好的定位精度[13];MSER算法具有良好的抗噪性和實用性被廣泛運用于自然場景的文本檢測[14,15];EAST+PVANET是原論文作者對EAST的強化改進,并在ESAT算法中引入了改進的NMS[4];SegLink算法能夠快速地對多方向任意長度文本進行檢測[7];Wordsup算法能夠在文本行和單詞標注的數據集上訓練出檢測模型[5];而TextBoxes算法具有較好的文本感受野,檢測速度較快[16].其中在游戲場景數據集上對這幾種算法的比較如表4所示.
由表4可以看出,改進EAST算法文本檢測的準確率和檢測速度要優于其他的對比算法,而在召回率上改進EAST算法略低于處理文字特征較強的PixelLink算法和EAST+PVA算法,同時在F-score上改進EAST算法與pixelLink算法領先于其他算法.可以很直觀地感受到改進EAST算法在游戲場景的各項數據中性能表現都是較為出色的,對游戲場景文本檢測較快,綜合性能與其他算法相比具有一定的優勢.這一結果證明了改進EAST算法能夠有效地提取游戲場中的景特征值且具有出色的文本感受野,對背景較為復雜的游戲場景圖像檢測效果相較于其他算法更好[17-19].

表4 改進EAST與其他方法在游戲場景性能對比Table 4 Improved EAST and other methods in game scene performance comparison
為了進一步驗證改進EAST算法的性能,本文選取在上述游戲場景數據集表現較好的算法在ICDAR 2015數據集上進行了對比實驗.ICDAR 2015數據集包含1000張訓練圖和500張測試圖,其中文本具有旋轉性質和噪聲干擾,給檢測帶來了和很大難度.實驗中隨機選取了ICDAR 2015的200張圖像,其中結果如表5所示.

表5 改進EAST與其他方法在ICDAR 2015上性能對比Table 5 Performance comparison between improved EAST and other methods at ICDAR 2015
從表5中可以看出,改進EAST算法在ICDAR 2015數據上的表現也是較為出色的.對比在游戲場景數據集上表現,改進EAST算法在ICDAR 2015數據上檢測準確率有所下降,但是仍是最為優秀的;在算法執行速度上領先于檢測精準的PixelLink算法.綜合而言,改進EAST算法展現出了良好的檢測性能,準確率較高.
本文在EAST算法的基礎上提出了改進,加入了BLSTM 網絡,優化了shrink_poly權重策略,提升了EAST算法的性能.在游戲場景和ICDAR2105數據集上做了大量的對比實驗,從而驗證了方法的有效性.該方案還仍有提高的可行性,在實驗流程上還能對圖像預處理的部分再進一步提高完善,加強對圖像二值化以及降噪方面的細致處理.同時還要加強數據樣本收集,增加數據訓練,以達到更好的訓練效果.針對以上兩個問題,在后續實驗研究中將會加大數據預處理的力度,努力搜集樣本數據,從而再次提高檢測準確率.