賈小云, 潘德燃, 趙 曉
(陜西科技大學(xué) 電子信息與人工智能學(xué)院, 陜西 西安 710021)
傳統(tǒng)的版面分析與手工校準等方法難以對具有復(fù)雜排版或是自然場景中的文本進行定位.如今針對復(fù)雜場景進行文本定位的方法,可以分為兩類[1]:一類是基于特征的文本定位方法[2,3],該類方法結(jié)合滑動窗口與多種特征,利用機器學(xué)習(xí)等相關(guān)方法將窗口分為文本窗口與非文本窗口;二類是基于連通域分析的方法,以基于MSER[4,5]和SWT[6]為代表的方法.基于連通域分析的方法依賴于所采用的連通域提取算法,該算法需要能夠?qū)ψ址B通域的提取擁有高召回率,此外設(shè)計一個合理的連通域分析器也是該方法的關(guān)鍵.而基于機器學(xué)習(xí)的方法則需要手工設(shè)計多種特征.單一的特征難以應(yīng)對復(fù)雜的場景,而組合多種特征又會增加特征描述的復(fù)雜度,同時所準備正負樣本的完備性對結(jié)果也有著明顯的影響.另外使用深度學(xué)習(xí)的方法則是通過隱藏層組合多種底層特征形成更加抽象的高層特征來檢測文本區(qū)域.雖然檢測結(jié)果優(yōu)于連通域分析以及手工特征,但是其難以利用文本的上下文信息以及其他知識,同時訓(xùn)練模型也依賴于大量的正確樣本標注.
基于此,本文提出一種綜合 MSER 連通域分析與單一DLBP[7]紋理特征的證件文本定位方法.該方法針對特定的復(fù)雜場景充分利用文本的上下文信息并新設(shè)計了一種連通域分析器,對不同傾斜方向的文本行均可以準確定位,結(jié)合DLBP紋理特征也可以明顯提高定位的準確率.另外該方法結(jié)合了連通域分析以及基于特征的方法并使得兩部分的設(shè)計難度都得以降低.該方法主要包含四個步驟:
首先,是圖像預(yù)處理,對于輸入的圖像進行等寬高比縮放,使其像素總量達到某一預(yù)設(shè)數(shù)量.其次,使用MSER算法對其藍、綠、紅通道以及灰度圖像提取候選區(qū)域并利用簡單區(qū)域特征進行篩選,用篩選后的候選區(qū)域為前景初始化一幅二值圖像使得重疊區(qū)域得以合并.第三,對該二值圖像進行多種形態(tài)學(xué)處理,填補區(qū)域的間斷、裂痕以及空洞并使得邊界變得更加光滑.最后,提取該二值圖像中所有的連通域,并利用本文所提出的文本行合并算法進行連通域合并.最后,利用DLBP 特征結(jié)合SVM分類對合并后的連通域進行紋理檢測從而得到最終的文本定位結(jié)果.
實驗結(jié)果表明:本文所設(shè)計的文本行合并算法具有較高的召回率,而DLBP結(jié)合SVM進行紋理分類也有著良好的準確率,同時該方法對其他不同類型的證件進行文本定位也有著一定的兼容能力.
由于輸入圖像的尺寸不定,字符的像素尺寸也會有較大差異.過大或者過小的文本可能無法被檢測到.同時較大尺寸的圖像也會顯著影響檢測的速度.因此預(yù)處理需要將輸入的圖像縮放到一個合適的大小,本文中將輸入圖像的像素總量控制在400 000像素左右.以身份證圖像為例并對多張證件圖像進行測量可得到目標字符大小集中在16×16到33×33像素之間.對縮放好的圖像分別提取其R、G、B通道以及灰度圖像中的最大極值穩(wěn)定區(qū)域.
MSER算法用于檢測圖像中的最大極值穩(wěn)定區(qū)域.最大極值穩(wěn)定區(qū)域是在一組Q1,Q2,…,Qi,…連續(xù)嵌套的極值區(qū)域中,如果qi=(|Qi+ΔQi-Δ|)/(|Qi|) 取得最小值,那么Qi即為最大極值穩(wěn)定區(qū)域.其中極值區(qū)域Qi是在以i為閾值的二值圖像中的一個連通域.由于文本的顏色通常為單一色且與背景色有較大差異,因此是理想的最大極值穩(wěn)定區(qū)域.并且MSER對旋轉(zhuǎn)、縮放以及仿射變換都有很好的魯棒性,故能夠檢測出大部分的文本區(qū)域.但也存在提取候選區(qū)域過多、區(qū)域重疊以及由于灰度化彩色字體后對比度下降導(dǎo)致部分文本區(qū)域提取不到等問題.這些問題都會對文本區(qū)域檢測造成一定的影響.
因此,本文首先在輸入圖像的紅、綠、藍通道以及灰度圖像中分別提取最大極值穩(wěn)定區(qū)域.然后利用簡單區(qū)域特征排除明顯非文本候選區(qū)域.接著以所得候選區(qū)域為前景構(gòu)建二值圖像以此合并重疊的區(qū)域.最后通過形態(tài)學(xué)處理使得區(qū)域的形態(tài)更加有利于后續(xù)處理.其詳細流程敘述如下:
第一步:利用 MSER算法分別對R、G、B通道以及灰度圖像進行提取得到一組候選區(qū)域.并對每一個候選區(qū)域進行簡單特征篩選,其特征包括區(qū)域面積、邊界長度、寬高比、占空比以及緊密度[8]這五個簡單特征.相關(guān)參數(shù)如表 1所示.用所得候選區(qū)域為前景構(gòu)建一幅二值圖像,將重疊、相交的候選區(qū)域合并為較大的選區(qū).
表1 區(qū)域簡單特征閾值表
第二步:對所得二值圖像中的每一個候選區(qū)域用3×3的結(jié)構(gòu)元素進行腐蝕,消除區(qū)域邊緣細小的突刺.但跳過腐蝕后消失或面積小于原面積1/9的區(qū)域,因為對這些區(qū)域腐蝕會顯著改變區(qū)域的輪廓.
第三步:由于目標字符大小為16×16至33×33像素之間,因此用6×6大小的矩形結(jié)構(gòu)元素對該二值圖像中的每一個面積小于100像素的區(qū)域進行膨脹,增大面積過小的區(qū)域;第四步對二值圖像以3×3的結(jié)構(gòu)元素進行閉運算,填補區(qū)域中的間斷、裂痕、以及空洞,并使得邊界變得更加光滑.對一張居民身份證進行候選區(qū)域提取的結(jié)果如圖 1所示.可在圖 1(b)中看到文字區(qū)域基本上被全部召回.
(a)原圖 (b)MSER提取圖1 MSER候選區(qū)域提取圖示
在上文得到的二值圖像中,通過觀察可知字符區(qū)域的形狀大多呈矩形且排列成行,而非字符區(qū)域多是不規(guī)則形狀且分布零散.因此本文設(shè)計了如下的方法可以將字符區(qū)域合并成文本行.該方法需要對每一個候選區(qū)域計算面積、方向以及寬高比三個屬性,相關(guān)說明如表2所示.
表2 文本行合并所需計算參數(shù)
在進行候選字符區(qū)域合并時,判斷兩個候選區(qū)域是否可以合并需要依賴兩個區(qū)域的重疊率、位置比率、方向、距離的判斷以及策略的選擇,現(xiàn)分別敘述如下:
(1)重疊率α.如果兩個區(qū)域a、b的重疊率大于1/4,那么這兩個區(qū)域可以直接合并.α的值為區(qū)域a、b交集部分的面積除以a、b中面積較小的面積.
(2)位置比率β.位置比率用于評估兩個區(qū)域a、b間的相似性和鄰近度.β的值為區(qū)域a、b的面積和除以包含a、b最小外接矩形的面積.如圖 2所示,圖2(a)的β值的大小明顯大于圖 2 (b).β閾值的取值依據(jù)區(qū)域a、b的情況而定,通過實驗得到如下1個定義,2個規(guī)則,并以此動態(tài)計算閾值.
(a)大小相似,位置相近 (b)大小相似,位置相錯圖2 位置比率圖示
定義1:面積小于1 500像素并且長和寬都要小于60像素的區(qū)域為單字符區(qū)域.
規(guī)則1:在區(qū)域a、b中如果有一個區(qū)域為單字符區(qū)域,那么該區(qū)域的面積通常較小,位置的輕微改變可能會引起明顯的位置比率變動.此時應(yīng)給予較低的閾值,本文設(shè)置為0.6.若單字符區(qū)域?qū)捀弑却笥?.0,表明其更有可能只是偏旁部首應(yīng)當給予更低的閾值0.55.
規(guī)則2:區(qū)域a、b的位置比率會隨著其寬高比的增加而增加.若區(qū)域a、b都不是單個字符區(qū)域,且其中存在較高寬高比的區(qū)域時,即使兩個區(qū)域相距很遠也能夠得到較高的位置比率.所以應(yīng)當提高此種情況的閾值,默認值為0.7,當a或b的寬高比大于3.0時,閾值提高為0.72;大于5.0時為0.76;大于8.0時為0.8.
(3)方向判斷.當兩個區(qū)域滿足位置比率后還需要進行方向判斷,以此區(qū)別是否是同行文本,從而在合并同行文本的同時,能夠有效防止非同行文本的合并.如圖 3(a)、(c)所示為可合并的同行文本,而如圖 3 (b)、(d)所示為不可合并的非同行文本.
(a)同行文本行 (c)文本行與同行單字符
(b)非同行文本行 (d)文本行與行外單字符
圖3 方向判斷圖示
在圖 3中,實線箭頭表示區(qū)域的方向,即一個區(qū)域最小外接矩形的較長邊的方向,而虛線表示兩個區(qū)域中心點連線的方向.通過對這兩種方向進行比較,計算其是否滿足平行或垂直條件來判斷是否是同行文本.當兩個方向的最小夾角(≤90 °)小于閾值時滿足平行條件,大于90 °減去閾值時滿足垂直條件.比較的具體規(guī)則如下:
規(guī)則1:如果區(qū)域a、b都不是單字符區(qū)域,那么a、b的方向需要滿足平行條件并且a、b中心點連線的方向也要與a、b的方向滿足平行條件.
規(guī)則2:如果在區(qū)域a、b中只有一個是單字符區(qū)域,由于單字符區(qū)域的方向具有很大的任意性,所以該情況只需要區(qū)域a、b中心點連線方向與非單字符區(qū)域的方向滿足平行條件.
規(guī)則3:如果區(qū)域a、b都是單個字符區(qū)域,那么忽略方向判斷.
由于區(qū)域的寬高比越小區(qū)域的方向便越不穩(wěn)定,因此閾值也應(yīng)隨之寬松.在本文實驗中,當區(qū)域a或b的寬高比小于2.0時閾值為35 °,當a和b的寬高比都大于2.0時閾值為30 °.
(4)距離判斷.對于寬高比值較高的區(qū)域若在其區(qū)域方向上存在其他單個字符區(qū)域.即使兩區(qū)域相距很遠,也會滿足上述所有條件容易造成誤合并.因此還需要增加對兩個區(qū)域的距離判斷.由于同一行的兩個字符不會相距很遠,因此兩個區(qū)域的最近距離應(yīng)當小于面積較小區(qū)域面積開方的2.6倍.
(5)合并策略.由于在合并時無法判斷文本行的方向,可能會造成歧義.如圖4(a)所示,用淺色方框代表的待合并區(qū)域均可與用深色方框代表的當前候選區(qū)域合并,且它們形狀相似,淺色方框與深色方框的距離相同.此時,無法判斷文本行是如圖4(b)所示的水平文本行,還是如圖4(c)所示的豎排文本行.
所以,本文設(shè)置了三種策略,分別是水平優(yōu)先、垂直優(yōu)先和最優(yōu)策略. 當策略為水平優(yōu)先時,待合并區(qū)域中心點與當前候選區(qū)域中心點的連線在x軸上的投影最長的待合并區(qū)域優(yōu)先.垂直策略則是在y軸上的投影最長的優(yōu)先.最優(yōu)策略則是位置比率最高的優(yōu)先.
因此,對于多行鄰近的文本,當能夠預(yù)見目標文本是水平文本行且傾斜程度不大時使用水平優(yōu)先策略能夠得到最優(yōu)的結(jié)果.同理垂直優(yōu)先策略適合于豎排文本行.但如果錯誤的對豎排文本行使用水平優(yōu)先策略則會完全錯誤的合并結(jié)果如圖4(d)所示.若無法預(yù)知目標文本行方向時,則采用最優(yōu)策略能夠在一定程度上正確合并文本行,包括傾斜的文本行,如圖4(e)所示,優(yōu)于文獻[9]所述的方法,只能對水平文本取得較好的定位結(jié)果.
(a)字符候選區(qū)域 (b)水平文本行 (c)豎排文本行
(d)使用水平策略合并 (e)最優(yōu)策略豎排文本圖4 合并策略示意圖
文本行合并算法如下所示:
輸入:一組待合并的區(qū)域Rs={r1,r2,…,rn};
a)令i=0,j=0,令可合并集合Rcandidate為空;
b)如果i>=length(Rs),那么轉(zhuǎn)至j),其中l(wèi)ength()返回集合中元素的個數(shù);
c)j=i+ 1;
d)如果j>=length(Rs),那么i++,然后轉(zhuǎn)至i);
e)如果ri,rj滿足重疊率的合并條件,那么將rj加入到Rcandidate集合中,j++,轉(zhuǎn)至d);
f)如果ri,rj不滿足位置比率的條件,那么j++,轉(zhuǎn)至d);
g)如果ri,rj滿足方向和距離的合并條件,那么將rj加入到Rcandidate集合中,j++,轉(zhuǎn)至d);
h)j++,轉(zhuǎn)至d);
i)如果Rcandidate不為空,那么根據(jù)文本行合并策略從Rcandidate挑選出一個最優(yōu)合并區(qū)域rk,將ri,rk合并成一個新的區(qū)域rnew,并將ri,rk從Rs中刪除,將rnew添加至Rs中,轉(zhuǎn)至a);否則i++,轉(zhuǎn)至b);
j)輸出Rs;
在進行文本行合并算法后仍然會存在非文本區(qū)域.并且這些非文本區(qū)域已經(jīng)難以通過簡單區(qū)域特征進行篩選.因此,本文從這些候選區(qū)域的紋理特征入手,采用DLBP特征描述區(qū)域紋理并結(jié)合SVM 進行分類檢測從而得到最終的文本區(qū)域.
LBP[10]特征是基于像素編碼的紋理信息.在以中心像素為圓心,半徑為R的圓周上均勻分布m個采樣點.若采樣點的灰度值大于中心像素則為標記為0,小于中心像素則為標記為1.所有標記則構(gòu)成了長度為m的LBP編碼.m為8的LBP編碼一共有256種組合.通過增加旋轉(zhuǎn)不變性和使用uniform模式可以顯著減少LBP編碼的種類數(shù)量.目前有許多關(guān)于應(yīng)用LBP特征進行相關(guān)目標檢測的研究[11,12].
由于在uniform模式的編碼中最多不超過兩次1和0之間的跳變,當紋理大多是由直線或者較少曲線構(gòu)成時,uniform模式可以很好的捕獲其紋理特征.但是對于擁有很多曲線彎折的紋理時,uniform模式則無法很好的代表其紋理特征.DLBP則是通過獲取全部的LBP編碼,根據(jù)不同LBP編碼出現(xiàn)的數(shù)量建立統(tǒng)計直方圖.然后對統(tǒng)計直方圖進行降序排序,將前k個編碼的數(shù)量作為其特征向量.而前k個LBP編碼的數(shù)量大約占據(jù)該圖像全部LBP編碼數(shù)量的80%左右.根據(jù)Liao S等[7]在Brodatz、Meastex、以及CUReT數(shù)據(jù)庫上的測試,此時的編碼的種類大約只占所有編碼種類的20%.因此DLBP特征能夠在較少的增加數(shù)據(jù)維數(shù)的情況下很好的捕獲復(fù)雜的紋理特征.
本文通過提取各個候選文本區(qū)域的DLBP特征,并通過訓(xùn)練數(shù)據(jù)計算k值以及構(gòu)建SVM模型.通過SVM可以有效的依據(jù)紋理特征檢測出文本區(qū)域.如圖5(b)所示,為正確排除在圖5(a)中由于人像所產(chǎn)生的非文本候選區(qū)域.
(a)僅文本行合并 (b)使用DLBP特征過濾圖5 DLBP特征檢測結(jié)果
本文測試數(shù)據(jù)為身份證圖像.測試包含600張圖像,其中隨機選取300張圖像作為訓(xùn)練數(shù)據(jù),300張圖像作為測試數(shù)據(jù).評價方式采用F-measure評價標準,包含準確率(Precision)和召回率(Recall)這兩個度量值.每個樣本包含由本文方法檢測得到文本區(qū)域E和真實標記的文本區(qū)域T.在一幅圖像中,每一個檢測出的文本區(qū)域e和真實標記的文本區(qū)域t都會計算出一個評估值m(e,t),該值為兩個區(qū)域的交集面積除以第一個參數(shù)的區(qū)域面積.值為1代表恰好重疊,值為0代表完全不重疊.準確率P和召回率R的計算方法分別如式(1)、(2)所示:
(1)
(2)
F評價值的計算依賴于準確率和召回率.本文設(shè)置準確率和召回率的權(quán)值各位0.5,因此F的計算方法如式(3)所示:
(3)
分別在僅文本行合并(水平優(yōu)先策略)、合并后再使用DLBP特征檢測、文獻[13]以及文獻[14]四種方法針對實驗數(shù)據(jù)進行文本定位,其結(jié)果如表 3所示.本文所設(shè)計的方法在準確率上要明顯優(yōu)于文獻[13]和文獻[14]中的方法,同時召回率也保持在較高水平.
表3 實驗結(jié)果數(shù)據(jù)
文獻[13]采用對身份證進行版面分塊后再利用字符投影的方式完成文本行定位.其所定位的每一行文本寬度均與所劃分的塊寬度相同.文獻[14]則只對身份證左半部進行水平投影從而完成文本行定位,其所定位的文本行寬度與整個身份證寬度相當.這兩種方法所定位的文本行不僅包含了文本,同時還包含大量空白或是其他區(qū)域.雖然擁有很高的召回率,但是準確率較低,且都針對身份證進行了版面劃分,對其他證件不具有兼容能力.
由于不同證件字符大小存在相似性,文本方法同樣可以對其他證件圖像進行文本定位.對其他證件的文本定位結(jié)果如圖 6所示,包含對車牌、卡號、名片等圖像進行文本定位.
(a)銀行卡 (b)一卡通
(c)車牌 (d)名片
(e)純文本圖6 對其他場景進行文本定位
本文針對證件文本定位問題提出了一種基于MSER和DLBP紋理特征的定位方法,并自行設(shè)計了一種文本行合并算法.區(qū)別于大多數(shù)先分類后合并的流程,本文在使用MSER算法提取出候選區(qū)域后,首先對其進行文本行合并處理,再對合并后的候選區(qū)域進行紋理特征分類.
實驗表明,本文提出的文本行合并算法具有較高的召回率,能夠得到較滿意的文本行.采用DLBP紋理特征結(jié)合SVM對合并后的候選區(qū)域進行分類檢測也能夠使得準確率得到明顯的提高而召回率只有略微降低,顯示了本文所述方法在證件文本定位方面具有一定的能力.
圖6展示了本文所述方法在其他方面的一些潛在應(yīng)用,如車牌檢測、卡號提取以及文檔數(shù)字化等方面.通過調(diào)整本文方法的參數(shù)可以適應(yīng)于不同場景,顯示了本文所述方法在其他應(yīng)用場景同樣具有一定的潛力.