熊海朋,陳洋洋,陳春瑋
(杭州電子科技大學 計算機學院,浙江杭州310018)
基于卷積神經(jīng)網(wǎng)絡的場景圖像文本定位研究
熊海朋,陳洋洋,陳春瑋
(杭州電子科技大學 計算機學院,浙江杭州310018)
針對由于自然場景的復雜性,從自然場景圖像中提取出文本信息較困難的問題,文中提出了一種基于深度學習卷積神經(jīng)網(wǎng)絡的文本定位算法。通過對場景圖像進行預處理得到候選文本區(qū)域,在此基礎上結合深度學習中的卷積神經(jīng)網(wǎng)絡來自動提取文本特征進行進一步的定位。通過實驗驗證,定位的準確率可達86%,綜合性能較好。
文本定位;二值化;自然場景圖像;卷積神經(jīng)網(wǎng)絡
自然場景圖像中包含著許多高層次的語義信息,例如交通路標、門牌號、街道名稱等,是對場景內容的重要反映。提取自然場景中的文本信息需要經(jīng)過3個步驟:定位出文本區(qū)域、對文本區(qū)域進行分割,對分割區(qū)域進行識別。文本定位作為提取文本信息的第一步,定位效果至關重要。因為場景圖像自身背景復雜,并且由于光照變換,字體等客觀因素的影響,導致文本定位問題至今仍是一個難題。
目前來說,采用的定位研究方法主要有基于圖像連通區(qū)域[1-3]、基于圖像的紋理特征[4-6]、以及基于圖像中的角點[7-8]這3種方法。以這些基本方法針對具體應用取得了較好的效果,但是在復雜的場景下通常存在虛警率較高的問題,為解決這一問題,把這些基本方法進行合理的組合再結合機器學習進行定位是一種有效的思路[9-12],大幅提高了復雜場景文本定位的魯棒性和效率。但是這些方法都需要人為提取圖像中文本區(qū)域的特征,導致算法性能的優(yōu)劣與人的主觀因素密切相關。通過對上述研究現(xiàn)狀的分析,本文提出了一種基于深度卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)的圖像文本定位算法,首先通過預處理措施得到圖像中的候選文本區(qū)域。然后基于卷積神經(jīng)網(wǎng)絡的自學習特點,準備好訓練樣本集,通過有監(jiān)督的學習自動提取文本特征得到分類模型,最后利用該模型對候選文本區(qū)域進行進一步的定位。在自建圖像數(shù)據(jù)庫上,對本文算法進行了綜合測試。
圖1 說明了本文算法的整體流程,主要包括預處理(灰度化,二值化)、生成候選文本區(qū)域(形態(tài)學運算,連通區(qū)域分析與限制)以及最終使用卷積神經(jīng)網(wǎng)絡進行進一步的分類。
圖1 場景圖像文本定位算法的整體流程
對場景圖像進行一系列的預處理,盡量去除圖像中像素的冗余信息,減少后續(xù)步驟的計算量。
采集自然場景圖像,對其進行灰度化處理,本文采用加權平均法來進行處理,該方法計算方式較合理,灰度化效果較好。
本文對經(jīng)典的自適應二值化算法Niblack進行了改進,為了減少圖像中噪聲的干擾,把灰度圖像分割成n×n個不重疊的子圖像,在計算每個子圖像的像素閾值時,加入整幅場景圖像的像素均值信息,閾值計算方式為
T=k1×Mean+k2×Variance
(1)
其中,k1,k2分別為對應的權值,介于0~1之間;Mean為整幅圖像的像素均值;Variance為子圖像的像素標準差。
根據(jù)式(1)計算出閾值T后,通過觀察發(fā)現(xiàn),場景圖像中背景通常標準差較小,而文本區(qū)域標準差較大,因此按照式(2),將圖像劃分成黑色層,白色層以及灰色層圖像,來加快后續(xù)的處理速度,并且不影響最終的定位結果。
(2)
經(jīng)過多次實驗發(fā)現(xiàn),當K取15而k1,k2分別取0.75和0.8時,圖像二值化效果最好,并且可以有效的抑制噪聲的影響。
由于圖像中文本區(qū)域的標準差較大,所以最終的文本區(qū)域只可能在白色層和黑色層圖像中。接下來分別對得到的白色層和黑色層二值化圖像進行水平和垂直方向的膨脹運算使得同一字符的各個結構連接在一起,然后再進行閉運算,平滑字符的邊界,填充字符內的小空洞,有利于接下來的連通區(qū)域標示與限制分析。
接下來分別對形態(tài)學運算之后的黑色層和白色層圖像進行連通區(qū)域標示與限制分析,本文利用根據(jù)連通體本身計算的形態(tài)特征,包括連通體的寬高比,黑像素密度特征,邊界限制以及根據(jù)待判別的連通體與其他連通體之間的空間排列計算出來的特征來判別文本/非文本連通體,去除明顯不是文本的區(qū)域,得到候選文本區(qū)域。
通過連通區(qū)域標示與限制分析,在保留所有文本區(qū)域的前提下,可以去除掉大量的非文本區(qū)域,便于接下來使用卷積神經(jīng)網(wǎng)絡進行進一步的定位。
經(jīng)過上述步驟處理后,在得到的候選文本區(qū)域中可能仍然存在一些非文本區(qū)塊,特別當圖像中存在一些圖形的特征與文本字符的邊緣、形狀等特征相似時,非文本區(qū)塊可能就更多,所以對得到的候選文本區(qū)域還需要進行更細致的分類。通過對現(xiàn)有分類方法的研究,本文選用卷積神經(jīng)網(wǎng)絡[13]進行進一步分類。
目前來說,常用的深度學習框架有Caffe, CNTK, Theano等,通過對現(xiàn)有的學習框架進行分析比較,選擇了Caffe框架[14]來進行本文所需要的卷積神經(jīng)網(wǎng)絡的搭建。該框架可以通過配置文件對網(wǎng)絡的層數(shù),類型以及卷積核的個數(shù)等進行方便的設置,對訓練過程中的一些必須參數(shù)給出了詳細的說明,使用時根據(jù)實際需要進行相應的初始化即可,簡單高效。
本文使用卷積神經(jīng)網(wǎng)絡的過程如下:(1)基于Caffe學習框架,結合本文的二分類問題確定好網(wǎng)絡結構;(2)對訓練樣本集合中的正負樣本圖像進行標記,正樣本標記為1,負樣本標記為-1,按照需要的數(shù)據(jù)格式準備好訓練與測試數(shù)據(jù),輸入網(wǎng)絡進行訓練;(3)選用適當?shù)臋嘀貐?shù)調節(jié)方法進行參數(shù)調節(jié),最終得到滿足要求的神經(jīng)網(wǎng)絡模型。使用該網(wǎng)絡模型進行進一步的分類。
目前對于自然場景圖像中的文本定位問題來說,沒有統(tǒng)一的標準圖像數(shù)據(jù)庫,所以根據(jù)需要建立了一個由大約900幅數(shù)碼相機拍攝的具有代表性的自然場景圖像測試數(shù)據(jù)庫,盡可能多的的包含了自然場景中文本的各種情況,例如字體大小、排列方式等。ICDAR文本定位競賽采用準確率與召回率[15]作為評價標準,本文采用同樣的標準。
本文基于Caffe深度學習框架搭建了一個8層的深度卷積神經(jīng)網(wǎng)絡,具體結構如圖2所示。
圖2 卷積神經(jīng)網(wǎng)絡結構圖
其中第一層Input為數(shù)據(jù)輸入層,輸入的為灰度化圖像;C1為卷積層,卷積核的個數(shù)為8,卷積核的大小也就是卷積模板為5×5鄰域,通過卷積層C1之后,將會得到原圖像的8個特征圖;S2為下采樣層,選用最大池化算法根據(jù)圖像局部相關性原理對得到的8個特征圖進行下采樣操作,卷積核大小設置為3×3鄰域,池化步長設置為2來保證采樣區(qū)域不重疊,將會得到8個特征映射圖;C3為卷積層,卷積核個數(shù)為16個,卷積核大小為5×5鄰域,通過對得到的8個特征映射圖分別進行組合、卷積之后,將會得到16個特征圖,這樣做來破壞網(wǎng)絡的對稱性,因為不同的特征圖對應的輸入不同,使得抽取的特征可以互補;S4為下采樣層,采用和S2同樣的方法進行下采樣操作,將會得到16個特征圖;C5為卷積層也可以稱為全連接層,卷積核個數(shù)為200個,卷積核大小為5×5鄰域,可以得到200個1×1的特征圖,也就是一個200維的特征向量。本文特別加入了激活層F6,對得到的特征向量進行稀疏變換,使數(shù)據(jù)擁有較好的稀疏性,通過實驗對比,選擇了RELU函數(shù)作為激活函數(shù);最后一層為Softmax層來對輸入樣本進行分類。
本文采用的訓練樣本集中的負樣本是通過對自建圖像庫中的圖像背景通過程序隨機切割得到的,并且為了更有針對性,把獲取候選文本區(qū)域時去除掉的非文本區(qū)域也加入其中。正樣本是通過對圖像中的文本區(qū)域進行手工分割得到的,盡可能的包含文本的各種情況。采集的正負樣本如圖3所示,對正負樣本進行灰度化然后來訓練網(wǎng)絡模型。
圖3 正/負樣本示例
本文分別采集了3 000個正樣本和5 000個負樣本,其中80%作為訓練樣本,20%用于訓練過程中對網(wǎng)絡進行測試。通過觀察與分析,將樣本圖像大小調整為32×32像素大小時,保證字符結構清晰的同時減少計算量。按照Caffe框架要求的訓練數(shù)據(jù)格式準備訓練數(shù)據(jù),其中正樣本打標簽為1,負樣本為-1,訓練數(shù)據(jù)的格式如圖4所示。測試數(shù)據(jù)按照同樣的格式進行準備。
圖4 訓練數(shù)據(jù)格式
準備好訓練數(shù)據(jù)后,需要對網(wǎng)絡模型中重要的權值參數(shù)進行初始化,Caffe框架對整個訓練過程中需要用到的一些重要參數(shù)給出了詳細說明,如表1所示。
表1 實驗所需主要參數(shù)
test_ter: 表示訓練數(shù)據(jù)分多少批次執(zhí)行。對于準備的訓練數(shù)據(jù),一次性全部執(zhí)行效率較低,與配置文件中的batch_size結合起來,test_iter×batch_size=訓練數(shù)據(jù)總量,本文設置batch_size為320,test_iter為20,訓練數(shù)據(jù)總量為6 400。
test_iterval:訓練迭代N次之后對網(wǎng)絡模型進行一次測試。本文將該參數(shù)設置為500,即每迭代500次對網(wǎng)絡模型進行一次測試。
base_lr: 網(wǎng)絡模型的基礎學習率,與選擇的參數(shù)調節(jié)方法相關。本文選擇目前使用較廣泛的SGD(Stochastic Gradient Descent)隨機梯度下降法來對網(wǎng)絡模型的權值參數(shù)進行調節(jié)。通過實驗觀察發(fā)現(xiàn),base_lr的初始值要盡可能小,整個訓練過程才能更快的趨于穩(wěn)定、準確率高,本文設置初始值為0.005。
momentum: 上一次梯度更新的權重,通過實驗發(fā)現(xiàn),當momentum的初始值在0.5~0.99之間時,SGD參數(shù)調節(jié)方法更加的快速穩(wěn)定,因此本文設置momentum為0.85。
type:選擇的參數(shù)調節(jié)方法,可選的參數(shù)有AdaDelta , Adam等6種,本文選擇了SGD參數(shù)調節(jié)方法。
weight_decay:權重衰減項,用來防止網(wǎng)絡模型陷入過擬合,本文設置其初始值為0.0005。
max_iter:網(wǎng)絡模型的最大迭代次數(shù),設置太小,得到的準確率較低,設置太大,會產(chǎn)生振蕩現(xiàn)象,通過實驗,當設置為10 000時,效果較好。
solver_mode:整個學習框架的運行模式,默認為GPU,也可以設置為CPU,本文選擇GPU模式來運行。
上述對本文中用到的一些重要參數(shù)進行了介紹,并對網(wǎng)絡模型的權重參數(shù)通過編程用一些小的不同的隨機數(shù)進行了初始化,初始值小使得網(wǎng)絡模型不會過早的進入飽和狀態(tài),導致訓練失敗;不同的初始值可以保證網(wǎng)絡正常的對訓練樣本進行學習。使用準備好的訓練數(shù)據(jù)對網(wǎng)絡模型進行訓練,最終得到網(wǎng)絡模型,進行進一步分類。
在自建圖像數(shù)據(jù)庫中選取300幅具有代表性的圖像對本文算法進行綜合測試,對于待處理的圖像,先按照預處理的方法從圖像中得到候選文本區(qū)域,其中文本連通區(qū)域有6 352個,非文本連通區(qū)域有16 728個,同時記錄這些區(qū)域在圖像灰度圖上的位置,接下來的處理針對圖像灰度圖上對應的候選文本區(qū)域,以提高卷積神經(jīng)網(wǎng)絡的處理效率。使用訓練得到的網(wǎng)絡模型對候選文本區(qū)域進行進一步分類,分類結果如表2所示。
表2 細分類結果
通過表2可以看出,使用卷積神經(jīng)網(wǎng)絡進行進一步的分類時,能正確分類的區(qū)域個數(shù)為19 848個,其中正確分類的區(qū)域中文本區(qū)域的個數(shù)為5 337個,分類的準確率為86%,召回率為84%,同時可以看出本文算法對于文本的字體、排列方式、中英文語種等有一定的通用性,綜合性能較好。
CART[9]中的整體算法與本文算法相似,首先對圖像進行預處理得到候選文本區(qū)域,然后采用分類器方法對圖像區(qū)域分類。所以在測試時,將本文算法與其方法在自建的圖像測試庫上進行對比測試,實驗結果如表3所示。
表3 與CART[9]比較結果
從表3中可以看出,與CART[9]相比,本文算法定位效果有明顯提高。主要原因是得到候選文本區(qū)域后,CART[9]中需要人為的選擇特征并進行提取,而利用深度學習卷積神經(jīng)網(wǎng)絡自動提取特征,避免了人為因素的干擾,因此可以有效的降低定位虛警率,準確率更高。
通過對現(xiàn)有文本定位方法進行綜合分析后,本文提出了一種結合深度學習卷積神經(jīng)網(wǎng)絡的文本定位方法,通過在自建圖像庫上進行實驗,本文算法的定位準確率較高,有較強的適用性。同時本文還有許多可以改進的地方,例如,改進預處理算法來得到更精確的候選文本區(qū)域,完備的訓練集合使網(wǎng)絡模型的學習更加完善,以及對網(wǎng)絡模型進行進一步優(yōu)化等。
[1] Epshtein B, Ofek E, Wexler Y. Detecting text in natural scenes with stroke width transform[C].MA,USA:IEEE Conference on Computer Vision and Pattern Recognition,IEEE,2013.
[2] Yi C,Tian Y.Text string detection from natural scenes by structure-based partition and grouping[J].IEEE Transactions on Image Processing,2011,20(9):2594-605.
[3] Pan Y F,Hou X,Liu C L.A hybrid approach to detect and localize texts in natural scene images[J]. IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society,2011,20(3):800-13.
[4] Lee J J,Lee P H,Lee S W,et al. AdaBoost for text detection in natural Scene[C].Macro:International Conference on Document Analysis & Recognition, 2011.
[5] Mao W,Chung F L,Lam K K M,et al. Hybrid Chinese/English text detection in images and video frames[C].Hangzhou:International Conference on Pattern Recognition,2002.
[6] 丁亞男.基于圖像分解的車牌定位算法[J].電子科技,2014,27(1):42-46.
[7] Zhao X,Lin K H,Fu Y,et al. Text from corners: a novel approach to detect text and caption in videos[J].IEEE Transactions on Image Processing,2011,20(3):790-799.
[8] Uchida S,Shigeyoshi Y,Kunishige Y,et al. A key point-based approach toward scenery character detection[C]. Beijing:International Conference on Document Analysis & Recognition,2011.
[9] 徐瓊,干宗良,劉峰,等.基于提升樹的自然場景中文文本定位算法研究[J].南京郵電大學學報:自然科學版,2013,33(6):76-82.
[10] Ma Wenping,Lin B Q,Wu Xiaoqiang, et al.Scene text secondary location algorithm based on HOG+SVM mode[J].Video Engineering,2015(6):933-945.
[11] Wang C, Zhou Y.A new approach for text location based on SUSAN and SVM[C].Hong Kong:International Conference on Information Science and Cloud Computing Companion,IEEE Computer Society,2013.
[12] 曾泉,譚北海.基于SVM和BP神經(jīng)網(wǎng)絡的車牌識別系統(tǒng)[J].電子科技,2016,29(1): 98-103.
[13] Schmidhuber J,Meier U,Ciresan D. Multi-column deep neural networks for image classification[C].Soul:Computer Vision and Pattern Recognition,IEEE,2012.
[14] Jia Y,Shelhamer E,Donahue J,et al. Caffe:convolutional architecture for fast feature embedding[C].CA,USA:ACM International Conference on Multimedia,ACM,2014.
[15] Shahab A,Shafait F,Dengel A. ICDAR reading text in scene images[J].Robust Reading Competition Challenge,2011,2(2-3):1491-1496.
Text Location in Image Based on Convolution Neural Network
XIONG Haipeng,CHEN Yangyang,CHEN Chunwei
(School of Computer Science,Hangzhou Dianzi University,Hangzhou 310018,China)
Due to the complexity of the natural scene image, it is still difficult to extract the text information from the image, Based on the research and analysis of image text localization algorithm, a localization algorithm based on convolution neural network is proposed. Firstly, the image is preprocessed to obtain the candidate text region,On this basis, combined with convolution neural network to extract the text features for further positioning automatically。Through the experimental verification, the positioning accuracy can reach %86 and has better performance.
text localization; binarization; natural scene image; convolution neural network
2017- 03- 07
浙江省科技計劃項目(GK090910001)
熊海朋(1991-),男,碩士研究生。研究方向:人工智能與模式識別。陳洋洋(1990-),男,碩士研究生。研究方向:人工智能與模式識別。陳春瑋(1990-),男,碩士研究生。研究方向:人工智能與模式識別。
TN957
A
1007-7820(2018)01-050-04