徐 武 楊昊東 陳盈君 湯弘毅
(云南民族大學電氣信息工程學院 云南 昆明 650500)
自然場景圖像中往往蘊涵著豐富的文本信息,如街道上的標識、商場里的廣告牌、貨柜上的商品等。這些可以幫助人們理解更深層次的語義信息,提高信息利用率[1]。由于信息提取的關(guān)鍵是定位,因而精準的文字定位具有極大的研究價值。
近年來許多國內(nèi)外學者開始對自然場景圖像中文字定位進行研究,方法主要可以歸為三類。(1) 基于滑動窗口的方法[2]。利用文本區(qū)域與非文本區(qū)域不同的紋理特征,結(jié)合邊緣信息實現(xiàn)定位,該方法可以獲得較高的召回率,但其計算時間復雜度高[3]。(2) 基于連通域的方法[4]。利用文本區(qū)域相同的色彩、幾何等特性,通過連通域分析法檢測文字區(qū)域,該方法對光照及噪音敏感,但計算復雜度低。(3) 基于機器學習的方法[5]。利用大量樣本在SVM或神經(jīng)網(wǎng)絡中訓練,提取出文本特征向量后用于分類,但該方法很難訓練出通用的分類器。潘立等[6]將MRSE算法和SWT特征相結(jié)合提取文本區(qū)域,然后根據(jù)規(guī)則濾除非文本域并合并連通區(qū)。該方法具有良好的文字定位效果,但運算的時間復雜度較高。李東勤等[7]通過提取圖像的邊緣特征形成候選文本區(qū)域,然后利用文字筆畫特征區(qū)分文本與背景,進而合并文本區(qū)域。該方法獲得了較低的定位誤差率,但對于文本與背景相似的圖像難以定位。司飛[8]對圖像進行通道分離,分別提取MRSE區(qū)域后合并,然后利用神經(jīng)網(wǎng)絡模型提取文本區(qū)域。該方法具有較高準確率,但由于訓練數(shù)據(jù)不綜合,模型達不到通用的效果。
目前方法大多是針對自然場景中正常亮度的圖像,而很多情況下由于拍攝角度、光照強度等影響導致圖像對比度低。若直接使用上述方法將導致錯檢、漏檢和時間復雜度高等問題,因而提出一種基于對比度增強的自然場景圖像文字定位算法。利用改進自適應子直方圖均衡算法提高對比度;在過濾規(guī)則中加入角點條件,大范圍減少非文本區(qū)域;為減少運算耗時、提高檢測效率,對SWT算法改進。實驗結(jié)果表明,該算法對自然場景中低對比度圖像的文字定位效果較好。
在真實的視覺感知系統(tǒng)中,對比度用來描述圖像光照或亮度的差異。低對比度圖像是指明暗區(qū)域因極亮或極暗而導致前景與背景區(qū)分不明顯的圖像[9]。自然場景中很多拍攝圖像由于光照不足或過強導致對比度低,亮度、灰度范圍較窄,從而很難從中分離出有用的文字信息[10]。
自適應子直方圖均衡算法(ASHE)將原圖像的灰度值進行非線性拉伸,重新分配圖像像素值[11]。為顯示極亮或極暗圖像所隱藏信息,采用自適應伽馬校正算法改善圖像亮度,使圖像中信息達到人眼可見;為改善傳統(tǒng)ASHE算法作用后大量噪聲、信息熵下降的問題,對其子區(qū)域分割方式給予改進,有效地降低無用信息。具體步驟為:首先,在直方圖中搜索全部極大值,如式(1)所示;然后,根據(jù)搜索出的極大值對原直方圖區(qū)間進行劃分,本文采取相鄰峰值點的平均數(shù)計算出子區(qū)間端點,如式(2)所示,利用極大值v=(v1,v2,…,vn,…,vN)、端點值t=(t0,t1,…,tn,…,tN),以及考慮t0=0代表第一個區(qū)間左端點,tN=255代表最后一個區(qū)間的右端點,將原直方圖區(qū)間劃分成子區(qū)間Dn,如式(3)所示;最后,對分割后子圖像進行相應的均衡化。
f(vn)≥f(x)x∈[vn-δ,vn+δ]
(1)
式中:vn為所搜索到的極大值;δ為盡可能小的一個實數(shù)。
Dn=[tn-1,tn]n=1,2,…,N
(3)
從圖1可以看出改進方法在改善對比度的同時減少了大量噪聲,適當保護圖像亮度,并且充分地保護原圖文字信息,為之后的定位打下良好的基礎(chǔ)。
(a) 原圖 (b) ASHE算法
(c) 改進 ASHE算法圖1 對比度增強效果對比
本文文字定位算法設(shè)計如圖2所示。首先采用MSER算法提取文本候選區(qū)域,形態(tài)學運算連接分離的筆畫,通過啟發(fā)式規(guī)則濾除非文字區(qū)域?qū)崿F(xiàn)初步定位;然后采用改進的SWT算法結(jié)合漢字筆畫特征進行精確定位;最后采用文本聚合算法將單個文字合并成文本行,得到文本區(qū)域。
圖2 文本定位流程
最大穩(wěn)定極值區(qū)域(Maximally Stable Extremal Regions,MSER)是一種區(qū)域檢測算法[12]。其實質(zhì)是對圖像二值化,隨著閾值從小到大變化,部分連通域的面積在一定閾值范圍內(nèi)基本上不發(fā)生變化,通過計算|Qi+Δ-Qi-Δ|/|Qi|的局部最小值來獲得最大穩(wěn)定極值區(qū)域[13]。
根據(jù)自然場景圖像中文字與背景的差異,采用MSER處理結(jié)果如圖3所示,可見該方法能得到完整的文字區(qū)域。
圖3 MSER算法
漢字的結(jié)構(gòu)與英文字母有很大不同,各筆畫之間往往是互相分離的,因此,首先對圖像進行膨脹運算,擴大邊緣信息的同時避免文本區(qū)域的筆畫丟失,然后進行閉運算,既能使文字輪廓光滑,又能填充MSER檢測產(chǎn)生的空洞,運算結(jié)果如圖4所示。
(a) 原圖 (b) 形態(tài)學操作圖4 形態(tài)學運算
自然場景中包含許多與文字極其相似的區(qū)域,比如建筑物、樹葉、柵欄等。因此需要過濾掉那些非文本區(qū)域,縮小文字定位的范圍,具體篩選規(guī)則如下:
(1) 自然場景圖像中文字區(qū)域的寬度和高度均不可能太小或太大,太小可能是噪聲點,太大可能是背景物體。所以,通過限制連通域高度和寬度,將不滿足式(4)的連通域濾除。
h>20,w>20,h<0.3×H,w<0.3×W
(4)
式中:w、h為連通區(qū)域的寬、高;W、H為原圖像的寬、高。
(2) 自然場景中的文字區(qū)域類似于正方形,因此,可以通過式(5)限制連通域的寬高比,濾除掉狹長的非文字區(qū)域。
(3) 通常面積太小的連通域是噪聲,如網(wǎng)狀物、樹葉或由光照不均勻引起的黑點等。因此通過式(6)濾除面積小的連通域。
S≥400
(6)
(4) 文字通常具有規(guī)則的形狀,且較少邊緣方向突變,所以具有適當?shù)倪吘壗屈c。對于小的噪聲點,角點數(shù)較少;而對于面積與文字類似的非文本區(qū)域,通常會有許多邊緣刺尖,角點數(shù)較多。因此,對圖像進行角點檢測,濾除掉不滿足式(7)的連通域。
ncorn>4,ncorn<50
(7)
式中:ncorn表示連通域的角點數(shù)量。
經(jīng)過上述規(guī)則篩選,濾除大部分非文本區(qū)域,完成初步定位,如圖5所示。但依然存在部分與文字形狀相似的干擾區(qū)域,需要結(jié)合文字筆畫特征進一步過濾。
圖5 初步定位
2.4.1筆畫寬度變換
筆畫寬度變換(Stroke Width Transform,SWT)是由Epshtein等提出的一種常用于自然場景圖像文本檢測和定位的算法,因文字具有相似的筆畫、邊緣和寬度,故與非文字區(qū)域有很高的區(qū)分度[14]。其核心思想是采用Canny算子檢測邊緣像素點,然后遍歷所有邊緣點沿梯度方向搜索對應點,并計算筆畫寬度值將其賦予像素點,最后聚合筆畫寬度相似的像素點構(gòu)建文本區(qū)域[15]。由于筆畫是文字所獨有的特征,所以該算法對不同類型的文字都具有普適性。
2.4.2改進SWT算法
使用傳統(tǒng)SWT算法可以得到較好的檢測效果,但其運算時間復雜度很高。因為該算法主要針對暗字亮底的圖像,若圖像為亮字暗底,則需要執(zhí)行兩遍,這會使運算時間倍增。其次,在沿梯度方向搜索對應點時,如果筆畫太寬,搜索所消耗的時間也會明顯增長。同時,SWT算法需要遍歷所有邊緣點來計算筆畫寬度值,但隨著圖像連通域數(shù)量增加,其計算的時間復雜度也會隨之成數(shù)量級增加。
基于以上算法缺陷,對傳統(tǒng)SWT做出改進:
(1) 針對兩類圖像運算時間的不同,提出一種候選框像素判別法,使得對任何一類圖像都只需執(zhí)行一遍算法。先提取候選框上邊緣的平均像素值,然后提取候選框內(nèi)中間一行和一列的平均像素值,比較二者平均值的大小。若前者大,則判定為暗底亮字,反之亦然,如式(8)所示。
式中:A=1和A=-1分別表示暗字亮底與亮字暗底;Pr.mid.i和Pc.mid.i分別表示中間行列像素值;Pr.edg.i表示上邊緣行像素值。
(2) 文字的筆畫寬度很大程度影響SWT沿梯度方向的搜索時間。同樣,在Canny算子進行邊緣檢測的過程中,邊緣像素寬度也會影響非最大值抑制的作用時間。因此在不丟失文字信息的前提下,采用形態(tài)學開運算與腐蝕相結(jié)合的方法對圖像進行邊緣細化,如圖6(a)所示,既可以消除邊緣的毛刺,又能減小筆畫寬度,從而有效地降低沿梯度方向的搜索時間和Canny邊緣檢測的時間。
(a) 邊緣細化
(b) 原邊緣結(jié)果 (c) 隔點取邊緣結(jié)果圖6 改進算法示例
(3) 傳統(tǒng)SWT遍歷所有邊緣點進行梯度搜索,若圖像中連通域較多,必將消耗大量的計算時間。為降低沿邊緣方向的搜索時間,將遍歷所有邊緣點改為隔點式搜索,這樣可以有效地降低一半的搜索時間。從圖6(b)、圖6(c)可以看出,隔點式搜索保留了完整的文字信息,對后續(xù)定位結(jié)果不會產(chǎn)生影響。由于隔點搜索會產(chǎn)生許多空洞,導致連通域激增,因此對完成最終梯度搜索的圖像進行閉運算填充空洞,確保連通域數(shù)量與之前相似。改進SWT流程如圖7所示。
圖7 改進SWT流程
2.4.3文字筆畫特征過濾
通常情況下,非文字區(qū)域的筆畫寬度變化幅度較大,并且部分圖像區(qū)域只是孤立的點集合,沒有形成有效的路徑,而文字區(qū)域的筆畫寬度變化比較緩和,且文本像素點占整個文字圖像區(qū)域的比例適中[3]。因此,利用以上特征對候選區(qū)域進一步過濾,通過計算候選區(qū)域內(nèi)筆畫寬度的均值和方差過濾掉筆畫寬度變化較大的非文字區(qū)域,再計算候選區(qū)域內(nèi)文本像素點的占比,將占比太小或太大的區(qū)域濾除。如圖8所示,大小與文字相似的非文字區(qū)域已被濾除,實現(xiàn)文字精確定位。
圖8 精確定位
通過筆畫寬度過濾可以得到單個字符區(qū)域,但依然存在個別漏檢或錯檢區(qū)域。自然場景中文本大都是呈線性存在的,相鄰的連通域具有相似的筆畫寬度、字符間隔與高度等特性[16]。因此,通過設(shè)置相鄰區(qū)域中筆畫寬度中值比小于2、間隔不大于最大字符寬度的2倍、高度比值小于2為條件合并字符區(qū)域,最終定位結(jié)果如圖9所示。
圖9 最終定位
為了驗證改進ASHE算法的有效性,本文采用對比度和信息熵兩個指標對圖1進行評價,對比度越大,圖像層次清晰度越高;信息熵表示信息量大小,其值越大圖像質(zhì)量越高。與文獻[9]中的BPASHE算法對比,由表1可知,本文改進ASHE算法在兩個指標上均有所提升,為文字定位提供良好基礎(chǔ)。
表1 對比度增強算法比較
為了驗證改進SWT算法的有效性,本文采用公開發(fā)表的ICDAR 2015文本定位競賽數(shù)據(jù)集,隨機抽取100幅包含不同場景、不同光照及不同像素大小的圖片進行實驗。由表2可以看出,改進SWT算法有效地改善時間復雜度,降低整體定位時間。
表2 SWT平均耗時比較
本文將BPASHE、SWT及各自改進算法交叉搭配以驗證改進算法的有效性。從表3可知,改進ASHE算法與改進SWT算法實驗的綜合性能最高,且對結(jié)果影響較大的是圖像對比度的提升,這也是未來低對比度圖像提升文字定位準確率的首要問題。
表3 改進算法有效性比較
本文算法還與文獻[17-18]進行比較。文獻[17]通過評估灰度分布和梯度投影的方法改善對比度,采用多通道的MSER檢測,綜合使用筆畫相關(guān)特征結(jié)合多通道融合實現(xiàn)定位。文獻[18]通過尋找筆畫關(guān)鍵點,并根據(jù)筆畫關(guān)鍵點與領(lǐng)域像素的灰度大小關(guān)系,提取文本候選區(qū)域,選取凸包面積比、緊密度、孔洞面積比等連通域特征結(jié)合AdaBoost分類器對候選區(qū)域分類實現(xiàn)定位。
由表4可知,通過增強對比度,結(jié)合多種啟發(fā)式規(guī)則和文字筆畫特征的定位算法優(yōu)于文獻[17]和文獻[18],準確率和綜合性能指標均有提升。說明本文改進算法適用于低對比度圖像進行文字定位,具有可行性。部分文字定位結(jié)果如圖10所示。
表4 改進算法與其他算法比較
(a)
(b)圖10 部分文字定位結(jié)果
本文采用改進的ASHE和SWT算法進行自然場景中低對比度圖像文字定位。利用改進的自適應子直方圖均衡算法提升圖像對比度;然后提取MSER候選區(qū)域,并結(jié)合啟發(fā)式規(guī)則濾除大部分非文本區(qū)域;最后應用改進SWT算法配合筆畫寬度特征實現(xiàn)最終定位。實驗結(jié)果表明,本文算法在性能上優(yōu)于其他算法,準確率和綜合性能均有所提高,證實了本文方法的可行性與有效性。