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