靳延偉,董 昱,張曉麗
(蘭州交通大學(xué) 自動化與電氣工程學(xué)院,蘭州 730070)
近年來,隨著鐵路建設(shè)信息化的發(fā)展,面向圖像的鐵路貨車車號識別問題受到了諸多研究學(xué)者的關(guān)注。目前,鐵路貨車車號的定位問題已經(jīng)發(fā)展得比較成熟,但識別準(zhǔn)確率還有待提高,在進(jìn)行調(diào)研之后,車號的識別主要分為2種模式:一種是基于整個車號字符的識別,另一種是基于單個字符的識別。前者對定位后的結(jié)果進(jìn)行直接識別,省略了分割的步驟。目前比較成熟的整體識別算法有卷積循環(huán)神經(jīng)網(wǎng)絡(luò)(CRNN,convolutional recurrent neural network)及系列變種等[1-3]。傳統(tǒng)CRNN模型是由基于卷積神經(jīng)網(wǎng)絡(luò)組成的特征提取層、由循環(huán)神經(jīng)網(wǎng)絡(luò)構(gòu)成的預(yù)測層及轉(zhuǎn)錄層構(gòu)成,相比傳統(tǒng)網(wǎng)絡(luò)有諸多優(yōu)勢,但存在訓(xùn)練網(wǎng)絡(luò)需求數(shù)據(jù)量巨大、訓(xùn)練時間長且易產(chǎn)生梯度消失等問題?;趩蝹€車號字符識別的分割算法需要預(yù)先將車號字符分割成單個字符,對分割后的單個字符進(jìn)行識別??梢钥闯?這種方式分割結(jié)果的好壞會直接影響到識別準(zhǔn)確率的高低。因此,文中針對鐵路車號分割的問題展開研究。
貨車車號字符分割問題與汽車車牌類似,同屬于文本分割問題。現(xiàn)有字符分割方式主要有2種:1)基于投影的方法[4-8]。該方法主要是利用字符間距中沒有文本,沿著文本行的垂直方向及水平方向進(jìn)行投影,僅針對正平行或近似正平行的圖像文本,但對于透視變形、傾斜的文本需要預(yù)先校正,直接處理效果不理想。2)基于連通域的方法[9-11]。通過聚類算法獲取文本連通區(qū)域,利用矩形包圍框的相鄰關(guān)系進(jìn)行區(qū)域合并或分裂。但矩形包圍框均是正平行的矩形框,應(yīng)用于曲線排列、傾斜及存在透視變形情況的字符很難精確描述單個字符位置和大小。另外,基于形態(tài)學(xué)和基于神經(jīng)網(wǎng)絡(luò)的方法也被應(yīng)用到字符的分割問題中。
從現(xiàn)有采集數(shù)據(jù)來看,定位后的車號區(qū)域字符具有以下幾點特征:1)鐵路貨車車號一般漆刷在車身左上角和中間下端邊緣處,圖像是在車輛運(yùn)行情況下拍攝采集,字符普遍會出現(xiàn)傾斜問題;2)拍攝裝置硬件原因會導(dǎo)致采集圖像變形,字符出現(xiàn)扭曲排列現(xiàn)象;3)鐵路貨車長年在野外行駛,環(huán)境惡劣,車號字符局部顏色淡化導(dǎo)致字符部分缺失;4)車號漆刷的樣式多變,有單雙行2種方式,漆刷位置易受到車號柵欄結(jié)構(gòu)的影響。
基于以上特征的考慮,文中針對貨車車號字符的特點,采用自適應(yīng)游程平滑算法對雙行車號進(jìn)行行分割,重新設(shè)置算法參數(shù),對單行的字符進(jìn)行區(qū)域合并,消除或減小字符的斷裂程度,再利用文獻(xiàn)[12]的思路進(jìn)行單個字符分割。為驗證算法的有效性和魯棒性,文中收集貨車車號數(shù)據(jù)圖像集500張進(jìn)行算法驗證,實驗結(jié)果表明,文中所提出的算法可以實現(xiàn)鐵路貨車車號字符的準(zhǔn)確分割,具有良好的實際應(yīng)用價值。
鐵路貨車車號存在單行車號、雙行車號2種類別,在進(jìn)行車號字符分割之前,預(yù)先需要將雙行字符分割成2個單行字符。文中采用自適應(yīng)游程算法(ARLSA,adaptive run length smoothing algorithm)進(jìn)行鐵路貨車車號的行間隙判斷。自適應(yīng)游程平滑算法[13]是由Nikolaou等提出,廣泛應(yīng)用于版面分割。利用對二值化圖像同一水平行的背景像素點進(jìn)行距離計算,將位于同一行的單個字符連通域進(jìn)行合并,不同連通域之間以空白區(qū)域隔開,實現(xiàn)文本行分割的目的。此算法對圖片質(zhì)量要求比較低,在圖片有陰影、光照不均、低對比度及污損等情況也可以實現(xiàn)文本行的精確分割。
自適應(yīng)游程算法本質(zhì)上是對將背景區(qū)域像素點進(jìn)行前景化處理,所以需要將原始三通道圖像轉(zhuǎn)化成二值化圖像。因此,文中采用改進(jìn)最大類間方差算法(OTSU)[14]進(jìn)行圖像處理,處理結(jié)果如圖1所示。但二值化圖像中存在較多由于貨車車身柵欄結(jié)構(gòu)引起的長條狀、線段等背景干擾信息,可近似看作多條直線段構(gòu)成,由此,文中采用霍夫直線檢測算法[15]進(jìn)行直線檢測經(jīng)過直線擬合得到圖像I2,并與原二值化圖像I1作“同或”運(yùn)算,得到消除背景干擾后的圖像I3。相同位置像素點進(jìn)行“同或”處理,如圖1中c列所示,圖中紅色像素點為經(jīng)霍夫檢測算法計算出的直線區(qū)域,與圖I1相比,圖I2中的直線區(qū)域的像素值不同,因此,選擇進(jìn)行“同或”運(yùn)算,對檢測出的直線進(jìn)行濾除,以此達(dá)到消除直線的目的。
圖1 預(yù)處理結(jié)果部分示例圖Fig.1 Some examples of preprocessing results
1.2.1 自適應(yīng)游程算法原理簡介
在列車運(yùn)行過程中,相機(jī)拍攝角度不當(dāng)、車號字符漆刷方式、鐵路貨車車身復(fù)雜的柵欄結(jié)構(gòu)等原因會導(dǎo)致圖像傾斜、字符出現(xiàn)斷裂以及出現(xiàn)大量干擾信息等問題,傳統(tǒng)的直線分割法已經(jīng)不能正確將雙行車號進(jìn)行正確分割,自適應(yīng)游程算法是現(xiàn)有頁面布局分析和分割技術(shù)中最常用的算法之一,目的是將同一個文本區(qū)域重新組合在一起,可以將同一字符的各斷裂部分重新連接,根據(jù)以上特點分析,文中參照文獻(xiàn)[13]的思路建立的雙車號分割模型。
在應(yīng)用之前,需要進(jìn)行連通分量分析??紤]了2種背景像素(白色)序列。第一種類型涉及發(fā)生在屬于同一字符的2個前景像素(黑色)之間的序列,在這種情況下,將序列的所有背景像素替換為前景像素。第二種類型的背景像素序列發(fā)生在2個不同相鄰字符之間,在這種情況下,針對連接字符的幾何特性設(shè)置約束,并且在滿足約束條件時執(zhí)行前景像素替換。
自適應(yīng)游程算法中,設(shè)定Ci、Cj是圖像第i、j個文本連通域,如圖2所示。
圖2 文本連通域示意圖Fig.2 Connected domain of the text
S(i,j)表示文本連通域Ci、Cj之間背景像素的水平序列,相關(guān)參數(shù)如下所示:
1)L(S)是序列的長度,表示背景像素點的個數(shù)。
2)HR(S)表示連通域Ci、Cj包圍矩形框的高度比為
式中:hi、hj表示連通域Ci、Cj包圍框的高度值。
3)OH(S)表示2個文本連通域Ci、Cj包圍框之間的寬度交疊值為
式中:(Xli,Yli)、(Xri,Yri)分別表示連通域Ci的左上角坐標(biāo)和右下角坐標(biāo)。當(dāng)OH(S)<0時,表示兩連通域水平方向有背景重疊部分存在。
4)N(S)是一種二值化的輸出函數(shù),若文本連通域Ci與Cj之間的背景水平像素序列S(i,j)的3×3鄰域的像素均僅介于Ci與Cj之間,沒有第三個文本連通域存在,則N(S)的值置為1。否則,N(S)置為0。背景像素平滑示意如圖3所示。
圖3 背景像素平滑示意圖Fig.3 Background pixel smoothing diagram
基于以上指標(biāo)的分析,背景像素點僅在滿足以下條件的情況下才能轉(zhuǎn)換成前景像素點。判斷條件為
式中:從兩文本連通域之間連續(xù)背景像素點數(shù)目L(S)、文本連通域包圍框的高度比、寬度交疊比,Tl、Th、To為預(yù)先設(shè)定閾值,其中,Tl和To為
式中:閾值Th被設(shè)置為1.7是基于鐵路標(biāo)準(zhǔn)TB/T1.1對于鐵路車列字符漆刷的字體要求,雙行漆刷的車號下標(biāo)字符的高度為120 mm,正常字符高度為200 mm,單行車號的下標(biāo)字符漆刷高度為120 mm,正常字符漆刷高度為70 mm。從已收集的數(shù)據(jù)來看,字符高度比集中在1.6~1.7之間,因此,將Th的值設(shè)為2,為同一文本行的字符之間的字體大小變化提供了足夠的公差。
自適應(yīng)游程算法實現(xiàn)雙行車號分割以及單個字符的分割算法優(yōu)化,因此,結(jié)合貨車車號字符特征,對算法參數(shù)進(jìn)行討論。參照鐵道車輛標(biāo)記規(guī)范TB/T1.1文件,規(guī)定車號相鄰較小字符高度與字符間隔比值為4~10。因此,實現(xiàn)雙行車號分割時,應(yīng)盡可能將同行的所有字符重組成一個連通域,設(shè)定α值取最大值10作為初始值討論;實現(xiàn)單個字符分割時,應(yīng)將同一字符的各連通域進(jìn)行組合,不同字符連通域之間避免組合,α值應(yīng)取小于最小值,因此,文中將α設(shè)定為3.5作為初始值進(jìn)行討論,c值設(shè)定0.4進(jìn)行討論。雙行車號的分割實驗結(jié)果如圖4所示,可以看出,實現(xiàn)α=12、c=0.4時,雙行車號的分割精度最優(yōu),重新組合后的連通域具有更光滑的邊緣。
圖4 參數(shù)α對雙行車號分割結(jié)果的影響Fig.4 Influence of parameterαon segmentation result of double line vehicle number
對于車號字符分割,應(yīng)用算法的結(jié)果如圖5所示??梢钥闯?自適應(yīng)游程算法可以很好地解決字符斷裂問題,當(dāng)α>3時,下標(biāo)字符出現(xiàn)了過填充的情況,會將相鄰字符重新組合成一個連通域,造成誤分割;當(dāng)α=3時,可以將同一字符組合成一個連通域,避免了將相鄰字符組合,實現(xiàn)了字符內(nèi)部斷裂消除,分隔開相鄰字符。因此,在實現(xiàn)單個字符分割時,將α設(shè)定為3,c設(shè)定為0.4作為優(yōu)化算法的參數(shù)。
圖5 參數(shù)α車號字符分割結(jié)果的影響Fig.5 Influence of parameterαon segmentation result of vehicle number character
1.2.2 算法應(yīng)用
自適應(yīng)游程算法將同一行的字符重新組合在一起,同時檢測出雙行字符之間的間隙作為行障礙物。將行障礙物的位置作為雙行車號字符的分割點,實現(xiàn)分割目標(biāo)。在應(yīng)用游程算法之后,垂直白游程直方圖hv(w),對于行障礙物的檢測,將值小于Mv=argmaxhv(w)的白色游程序列作為文本行障礙物,其中Mv表示不同車號字符行之間的白色像素游程距離。圖6所示為車號障礙物檢測結(jié)果部分示例。其中,藍(lán)色表示行障礙物,綠色表示不同行之間可能的水平連接。所有連接屬于不同車號行的對象都被障礙物隔開。
圖6 車號分割結(jié)果部分示例Fig.6 Some examples of vehicle number segmentation results
從圖6可以看出,文中采用的自適應(yīng)游程算法可以準(zhǔn)確檢測出不同行車號字符之間的間隔,實現(xiàn)雙行車號的準(zhǔn)確分割。
圖像采集于貨車運(yùn)行過程中,圖像采集設(shè)備和貨車車號位置不是正對關(guān)系,并且由于安裝相機(jī)不夠平穩(wěn)、車號字符出現(xiàn)斷裂等原因造成拍攝車號圖像出現(xiàn)非水平排列或有透視變形的問題,考慮到車號字符排布的多樣性,會出現(xiàn)透視變形、字符斷裂的特征以及包圍圓的無向性等問題。筆者參照文獻(xiàn)[12],選擇圓代替?zhèn)鹘y(tǒng)矩形框作為字符連通域的外接形狀,通過確定包圍圓的幾何參數(shù)作為車號字符的位置,從而達(dá)到分割點目的,但以往成果研究結(jié)果表明,基于包圍圓的方法對相鄰字符字體斷裂的情況下會出現(xiàn)錯分情況。
包圍圓的構(gòu)建方式為
式中:(ui,vi)表示第i個文本連通區(qū)域的第j個前景像素點的坐標(biāo);Ni、(ui,vi)及Ri分別代表第i個連通區(qū)域的像素數(shù)目、包圍圓圓心和半徑。并由式(6)得出各連通域的包圍圓參數(shù)。
鐵路貨車車號字符在漆刷時候有垂直方向的斷裂現(xiàn)象,單個字符的各個斷裂部分并不是在同一個連通域中,為了準(zhǔn)確合并同一字符的各個部分,設(shè)立相交比原則、互相交原則進(jìn)行區(qū)域合并。相交比定義為
式中:A(.)表示面積;ci和cj分別表示第i個、第j個文本連通域的包圍圓。相交比原則是根據(jù)式(7)求出兩文本連通域的兩相交比,并根據(jù)設(shè)定閾值s比較是否需要合并。由式(7)確定兩圓的相交比,若其大于指定閾值U,則合并對應(yīng)的連通區(qū)域。
不同貨車號字符的字符連通域的包圍圓的結(jié)構(gòu)如圖7所示。其中,p1和p2的相交比接近1,確定為同一字符區(qū)域,進(jìn)行區(qū)域綁定;p2和p3包圍圓面積交疊比為0,確定為不同字符區(qū)域。以上是對相交比原則的綁定結(jié)果體現(xiàn),由于字符本來漆刷特點以及后期處理后出現(xiàn)局部斷裂問題,造成車號字符有幾塊區(qū)域構(gòu)成,所以設(shè)定互相交原則進(jìn)行連通域的綁定。如圖7所示,p5與p3相交、p3與p4相交、p4與p5相交,構(gòu)成一個封閉環(huán),根據(jù)互相交原則,將p3、p4、p5綁定位同一區(qū)域。
圖7 不同連通域的位置關(guān)系示意圖Fig.7 Schematic diagram of location relationship of different connected domains
經(jīng)過實驗仿真,在相交比原則的閾值設(shè)定為0.4、互相交原則閾值設(shè)定為0.04時,分割效果精度最優(yōu),分割示例如圖8所示??梢钥闯?在出現(xiàn)字符斷裂或相鄰字符字體差異較大或的情況下,會出現(xiàn)錯分情況。因此,文中利用自適應(yīng)游程算法對字符預(yù)先進(jìn)行連通域重組,將同一字符不同連通域進(jìn)行合并重組,減小字符斷裂及字符差異對分割精度的影響。
圖8 貨車車號分割過程示例Fig.8 Example of freight train number segmentation process
經(jīng)過大量實驗發(fā)現(xiàn),鑒于包圍圓分割方式字符斷裂的情況下會出現(xiàn)錯誤合并,如圖8(d)所示。因此,利用1.2.1小節(jié)預(yù)先采用自適應(yīng)游程算法進(jìn)行連通域重組,減小或消除字符斷裂,再利用包圍圓算法進(jìn)行字符分割,實驗結(jié)果如圖9所示,圖9(a)列為分割算法輸入原圖像,圖9(b)是僅適用包圍圓算法進(jìn)行字符分割結(jié)果,圖9(c)為在分割前預(yù)先使用自適應(yīng)游程算法進(jìn)行字符區(qū)域重組,將統(tǒng)一字符的斷裂部分有效重新拼接在一起后再使用包圍圓算法進(jìn)行分割,可以看出,算法優(yōu)化后的分割結(jié)果明顯優(yōu)于中間側(cè)的分割精度,可以達(dá)到鐵路貨車車號字符的分割要求。
圖9 算法應(yīng)用結(jié)果比較Fig.9 Comparison of algorithm application results
為了驗證文中方法的有效性和魯棒性,在Matlab仿真軟件中,選取蘭州北編組場采集的圖像作為算法輸入。整個實驗是在操作系統(tǒng)為Windows10,編程軟件為Matlab R2014b。為使對比效果更為明顯,對原始貨車圖像加入噪聲作為實驗的測試對象,對文中提出的分割節(jié)識別方法進(jìn)行驗證,采用字符分割準(zhǔn)確率、車號分割準(zhǔn)確率作為評價指標(biāo)。
分割準(zhǔn)確的評價標(biāo)準(zhǔn)是觀察分割之后字符的完整性。若字符輪廓完整,沒有出現(xiàn)缺失也沒有增加多余部分,則認(rèn)為是正確分割的字符,字符分割準(zhǔn)確率定義為Ac。一個車號的所有字符分割準(zhǔn)確,沒有多余部分,則認(rèn)為車號分割準(zhǔn)確率,定義為An。
式中:Ncc為正確分割字符的個數(shù);Nc為測試圖像中車號字符總數(shù);Npc為正確分割車號圖像數(shù);Np為測試圖像總數(shù)。
為了驗證文中提出分割模型的優(yōu)越性,實驗中將對4種分割過程進(jìn)行效果評估,分別是:投影算法[16]、連通域算法[17]、包圍圈分割算法和文中所提的自適應(yīng)游程處理后的包圍圈分割算法。比較結(jié)果如圖10和圖11所示,文中優(yōu)化組合的分割算法在字符出現(xiàn)輕度斷裂、重度斷裂及傾斜、變形等情況下分割準(zhǔn)確率優(yōu)于其他3種分割算法,證明文中提出方法具有較好的魯棒性和更高的實際應(yīng)用價值。
圖10 字符分割效果對比Fig.10 Comparison of character segmentation effect of different methods
圖11 車號分割效果對比Fig.11 Comparison of vehicle number segmentation effect of different methods
使用以上3種算法對車號圖像進(jìn)行分割,最終實驗結(jié)果如圖12所示。可以看出,基于投影法的分割算法和基于連通域(矩形包圍框)的分割算法對于傾斜圖像的分割準(zhǔn)確率較低,且均對于斷裂字符具有較低的分割準(zhǔn)確率,受鐵路貨車車號的斷裂特征影響較大。同時,水平放置的矩形框不能精確表達(dá)出字符的位置和大小,相對于包圍圓算法,會出現(xiàn)更多的背景像素點,影響字符的識別效率。因此,文中方法具有更高的分割準(zhǔn)確率和魯棒性。
圖12 部分車號圖像分割結(jié)果對比圖Fig.12 Comparison of segmentation results of some vehicle number images with different methods
1)文章提出一種基于包圍圓的字符分割方法,利用自適應(yīng)游程算法填充像素,結(jié)合貨車車號斷裂、傾斜、變形等特點進(jìn)行預(yù)處理,實現(xiàn)雙行車號的分割和字符斷裂消除,并使用包圍圓分割方法進(jìn)行分割。大量實驗表明,文中算法相比傳統(tǒng)算法具有更優(yōu)的分割精度和魯棒性。
2)自適應(yīng)游程算法可有效解決圖像中字符斷裂問題,但因鐵路貨車車號的斷裂程度不一,如何選擇一個動態(tài)參數(shù)既能消除輕度斷裂和重度斷裂又不出現(xiàn)粘連成為下一步研究重點。