楊捷 劉進鋒
摘要:圖像的文本識別問題引起了人們越來越多的關注,電影海報中除了圖像信息以外還蘊含著非常豐富的文本信息。本文利用一種CTPN(Connectionist Text Proposal Network)的方法對電影海報中的文本進行檢測,與以往基于自底而上的方法不同,CTPN開發(fā)了一種垂直錨機制并且利用RNN和CNN無縫結合的方法提高了檢測精度。論文首先介紹了CTPN的原理,然后通過實驗,檢測電影海報中的文本信息,實驗結果表明,CTPN方法能得到比以往方法更好的檢測結果。
關鍵詞:文本檢測; CTPN; 垂直錨
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2018)25-0213-03
Use CTPN to Detect Text Messages in Movie Posters
YANG Jie,LIU Jin-feng
(School of Information Engineering, Ningxia University, Yinchuan 750000,China)
Abstract: The problem of text recognition of images has attracted more and more attention. In addition to image information, movie posters also contain very rich text information. This paper uses a method of CTPN(Connectionist Text Proposal Network) to detect text in movie posters. Unlike previous methods based on bottom-up approach, CTPN has developed a vertical anchor mechanism and improved the detection accuracy by using RNN and CNN seamlessly. First of all, we introduce the principle of CTPN and then tests the text information in the movie poster through experiments. The experimental results show that the CTPN method can obtain better detection results than the previous methods.
Key words: Text detection; CTPN; Vertical Anchor
1 引言
圖像中的文本可以大致分為兩類:人工文本(artifical text) 和場景文本(scene text) 。人工文本是指通過圖像處理工具對圖像進行編輯,在圖像上人工標注的文本。這類文本的內容意義性極強,對圖像的檢索有重要的作用。電影海報中蘊含著豐富的信息,如導演名稱、演員名稱、電影描述、上映時間等。如果能將這些文本檢測并識別,則對圖像高層語義的自動理解、索引和檢索都有非常大的價值。
文本的特征主要包括顏色特征、字符大小、字符邊緣、字符間距及紋理特征。對于文本定位來說,主要有基于區(qū)域、基于邊緣及基于紋理的技術方法[1] 。這些一般的方法大多都是自底而上的,并且這些方法產(chǎn)生的候選區(qū)域往往比較多,后處理較復雜,需要很多人工規(guī)劃,且參數(shù)不通用,多個步驟容易造成誤差累計,魯棒性也較差。本文采用Zhi Tian等人提出的CTPN(Connectionist Text Proposal Network)文本定位方法,做了對比實驗,從實驗結果來看,比傳統(tǒng)的方法提高明顯且魯棒性更好,更加適用于多語言環(huán)境的檢測。
2 CTPN原理
CTPN網(wǎng)絡結構是基于VGG16模型建立的[3]。CTPN首先運用VGG16模型的前5層卷積層,在第5層基礎上用一個3×3的空間窗口密集地進行滑動。每行中的順序窗口通過BLSTM(Bi-directional long short-term memory)循環(huán)連接,其中每個窗口的卷積特征(3×3×C)被用作256維 BLSTM(包括兩個128維 LSTM)的輸入。BLSTM層連接到512維完全連接層,接著是輸出層,它預測k個錨的文本/非文本分數(shù)、y軸坐標以及側向細化偏移量(如圖1所示)。
Ren等人提出了一種有效的錨點回歸機制[4],在該機制中,單個窗口通過使用多個靈活的錨點來預測多尺度和多縱橫比的對象,區(qū)域文本框網(wǎng)絡(RPN)和CTPN都采用了錨點回歸機制。CTPN類似于RPN,允許輸入任意大小的圖像。CTPN使用一個小的3×3空間窗口在VGG16的conv5進行滑動,conv5特征圖的大小由輸入的圖像大小來決定,但總步長和滑動區(qū)域分別固定為16和228像素。RPN直接訓練來定位圖像中的文本行,但是通過文本行來預測圖像中的文本出現(xiàn)錯誤的可能性很大,因為文本是一個沒有明確的封閉邊界的序列(例如單詞中大小寫邊界不同)。CTPN不同于RPN的地方是CTPN使用文本列來定位圖像中的文本,如圖2所示,左側為RPN行機制劃分情況,右側為CTPN列機制劃分情況。
CTPN中的預測窗口在輸入圖像中設置為16像素的固定寬度,隨后設計k個垂直錨來預測每個窗口的y坐標。這k個錨具有固定的寬度,在垂直位置則有k個不同的高度。在預測進程中,每個滑動窗口使用10個錨(即k=10),其錨的高度從11到273像素之間(每次÷0.7)變化。
[vc=(cy-cay)/ha], [vh=log(h/ha)] (1)
[v*c=(c*y-cay)/ha], [v*h=log(h*/ha)] (2)
我們計算錨點邊界框位置相對預測的垂直坐標(v),其中[v=vc,vh][v*=v*c,v*h]分別是是相對預測坐標和真實坐標,[vc]和[vh]分別是錨箱的橫坐標與縱坐標(相對預測值)。[cay]和[ha]是y軸中心和錨箱的高度,[c*y]和[h*]為實際坐標。每個預測窗口都有一個尺寸為h×16的邊界框。
檢測待處理圖像中的文本過程如下。首先給定一個輸入圖像,通過使用VGG16模型,得到一個具有W×H×C的conv5特征圖(C是特征圖或者通道數(shù)量,W×H為圖像大?。?。當預測窗口(大小為3×3)在conv5上密集地滑動時,每個滑動窗口具有3×3×C的卷積特征用于產(chǎn)生預測。在每個預測中,水平位置([x]坐標)和k個錨點位置是固定的。預測窗口在每個窗口位置輸出k個錨點的文本/非文本分數(shù)和預測的[y]坐標(v)。通過設計的垂直錨點和精細尺度檢測策略,該預測窗口能夠通過使用單尺度圖像處理各種尺度和寬高比的文本線。
在conv5上又設計一個RNN層,將每個窗口的卷積特征作為連續(xù)輸入,并在隱藏層[Ht]中循環(huán)更新其狀態(tài)。
[Ht=?(Ht-1,Xt),] [t=1,2,...,W] (3)
其中[Xt∈R3×3×C]是第[t]個滑動窗口([3×3])的輸入conv5特征,[W]是conv5的寬度,[Ht]是由當前輸入[Xt]和前一個狀態(tài)[Ht-1]在一個非線性函數(shù)[φ]的作用下計算出的。將LSTM(long short-term memory)引用于RNN層來解決梯度消失問題,并且使用BLSTM來進一步擴展RNN層,使其能在兩個方向上對文本上下文進行編碼,從而使鏈接受測區(qū)域能覆蓋整個圖像寬度。對每個LSTM使用128維隱藏層,使RNN具有256維隱藏層,[Ht]是以256維隱藏層的一個子集,[Ht]的內部狀態(tài)映射到FC層和輸出層,用于計算第[t]個預測窗口。使用RNN能大大減少檢測錯誤,恢復許多遺漏文本,其中包括非常不明顯的文字信息,如圖3中間圖例所示,在沒有加入RNN網(wǎng)絡下,圖像中最后文本信息較加入RNN相比缺少部分信息。在圖3右側圖所示,文本信息“software”在加入RNN后能形成一個連貫的文本線。
2 實驗結果及其對比
2.1 模型訓練及數(shù)據(jù)集
用隨機梯度下降(SGD)對CTPN進行訓練。與RPN相同,CTPN的訓練樣本為錨點,其位置可以在輸入圖像中預先計算。CTPN模型用3000幅自然圖像進行訓練,其中229幅圖像來自ICDAR 2013,剩余為Zhi Tian等人自行收集并用文本行邊界框手動標記[5]。對于文本/非文本分類,將二元標簽分配給每個正(文本)錨或負(非文本)錨。 它通過計算與實際邊界框(GT箱)的IoU(Intersection over Union)重疊(除以錨位置)來定義。 正錨定義為:(i)與任何GT箱具有> 0.7個IoU重疊的錨; 或者(ii)具有最高IoU的錨與GT箱重疊。 由條件(ii),即使一個非常小的文本模式也可以分配一個正錨,負錨定義為小于0.5個IoU重疊的錨,這對于檢測小規(guī)模文本模式至關重要,是CTPN的主要優(yōu)勢之一[5]。
2.2 實驗結果
為了測試CTPN的性能,實驗選取多張多語言電影海報。我們以其中三個樣本為例(樣本分辨率為1920×1080像素)進行深入研究。首先我們先選取三個樣本中文字信息較少的一個樣本進行實驗,結果如圖4所示。在這張海報中,利用CTPN可以精準地檢測到圖像中的文本信息,盡管文本信息是以藝術字的形式展現(xiàn)。其次,選取一張?zhí)N含文本信息較多的海報,其結果如圖5所示。從結果來看,圖像中很大部分的文本可以被檢測出,但海報中的關鍵信息(電影名)卻沒有檢測出。該結果出現(xiàn)一種有趣的現(xiàn)象,即右下角的大部分文本信息只檢測出一部分,但在人物身體部分(薄弱文本信息)卻檢測出來文本信息。
前兩個樣本只是基于英文電影海報的文本信息檢測。在最后一個樣本中,我們選取一張中文電影海報進行實驗,其結果如圖6所示。此結果可以很好地展示CTPN在多語言環(huán)境下的性能,在該圖像中電影名稱用中文和英文進行標識。在圖像的上部分,背景色和文本色在一定程度上很接近,CTPN依然能夠準確地檢測出文本信息。但該結果又暴露出另一個缺點,演員名稱是以豎直方式排版,檢測結果卻顯示出兩個豎直排版的文本信息的交集(即上一文本信息的最后一行與下一文本信息第一行出現(xiàn)在同一行)。對于以上問題,還需要進一步研究,才能完全了解該現(xiàn)象的形成原因。
2.3 實驗對比
在實驗對比方面,CTPN與基于MSER的方法和Xinyu Zhou等人提出的EAST方法進行對比。[6]在進行多次實驗后,本文選取其中一個樣本進行分析,其實驗結果如圖7所示。
由于該選取樣本的背景信息復雜,基于MSER的方法很顯然已經(jīng)不適用于該場景下的檢測。對于基于EAST方法的檢測結果,其圖像信息中最上層的文本信息(由藝術字體展示)沒有檢測到,丟失了對電影海報中的關鍵信息檢測(例如電影名和演員名)。進一步分析,基于EAST的方法對藝術字的檢測不具有良好的魯棒性,并且對一些細節(jié)信息的檢測有所丟失(例如海報下部文本信息),多語言背景下性能有所下降。而對于基于CTPN的方法,雖然對圖像下半部分的細節(jié)有損失,但是在圖像中間卻檢測到了肉眼難以檢測的信息(圖7左圖中間出現(xiàn)的檢測框)。
3 結論
CTPN的基本原理是預測文本的豎直方向上的位置,水平方向的位置不預測。首先對待定圖像進行文本檢測,用CNN得到深度特征,其次用固定的錨來檢測文本線。與Faster RCNN中的錨類似,但不同的是,垂直錨的寬度是預先設置好的,在CTPN方法中大小為16個像素,而高度則從11像素到273像素變化,總共10個錨。隨后,把同一行的錨對應的特征串成序列,輸入到RNN中,最后用全連接層來分類或回歸,并將正確的部分文本線合并成整體文本線。
CTPN利用RNN和CNN無縫結合的方法提高了檢測精度。對于電影海報中的文本識別,CTPN能夠在背景復雜的情況下提高檢測精度。對比以前的方法(基于自底而上的方法),CTPN有更加優(yōu)秀的魯棒性并且在多語言環(huán)境方面表現(xiàn)優(yōu)異。
參考文獻:
[1] 晉瑾,平西建,張濤,等. 圖像中的文本定位技術研究綜述[J].計算機應用研究,2017(6).
[2] 楊飛.自然場景圖像中的文字檢測綜述[J].電子設計工程,2016(12).
[3] Epshtein B, Ofek E, Wexler Y.Detecting text in natural scenes with stroke width transform (2010), in IEEE Computer Vision and Pattern Recognition (CVPR)
[4] Girshick, R.: Fast r-cnn (2015), in IEEE International Conference on Computer Vision (ICCV)
[5] Tian Z, Huang W, He T, et al. (2016) Detecting Text in Natural Image with Connectionist Text Proposal Network. In: Leibe B., Matas J., Sebe N., Welling M. (eds) Computer Vision – ECCV 2016. ECCV 2016. Lecture Notes in Computer Science, 9912. Springer, Cham
[6] Xinyu Zhou, Cong Yao, He Wen,et al. EAST: An Efficient and Accurate Scene Text Detector. Computer Vision and Pattern Recognition arXiv:1704.03155 [cs.CV].2017.10
【通聯(lián)編輯:唐一東】