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