李瑞辰,姚宇峰,蔣元華
(1.中國鐵道科學(xué)研究院 研究生部,北京 100081;2. 中國鐵道科學(xué)研究院集團(tuán)有限公司 通信信號研究所,北京 100081)
目前,編組站綜合自動(dòng)化系統(tǒng)(SAM)普遍應(yīng)用于我國大中型編組站,通過列車與調(diào)車的綜合管控技術(shù),提高了編組站的自動(dòng)化程度與運(yùn)輸生產(chǎn)效率,最大程度地降低了作業(yè)安全風(fēng)險(xiǎn)[1]。由于無法第一時(shí)間準(zhǔn)確獲得擔(dān)當(dāng)主要牽引任務(wù)的機(jī)車(簡稱:本務(wù)機(jī)車)的信息,本務(wù)機(jī)車的綜合管控技術(shù)一直難以實(shí)現(xiàn)。
國內(nèi)外針對車號識別的研究已取得了諸多重要成果,目前,主要由自動(dòng)識別設(shè)備 (AEI,Automatic Equipment Identification)識別法和圖像識別法兩部分組成[3]。對于AEI識別方法,現(xiàn)階段大多數(shù)站場都配備有AEI車號自動(dòng)識別系統(tǒng),但是由于機(jī)車標(biāo)簽位置較低,維護(hù)困難,而射頻識別(RFID, Radio Frequency Identification)標(biāo)簽容易損壞、丟失,所以機(jī)車AEI系統(tǒng)識別正確率不能保證[2]。近些年來,圖像識別技術(shù)高速發(fā)展,基于圖像識別方法的鐵路車號識別研究也取得了一定的成果?;陬伾臻g及灰度形態(tài)學(xué)的車號定位方法,能有效地自動(dòng)定位、分割和識別鐵路貨車車號[3];針對車號區(qū)在野外使用過程中容易受灰塵或運(yùn)輸貨物的污損,在提高貨車車號識別率方面做了相關(guān)研究[4]。
本文在前人對車號識別研究的基礎(chǔ)上,選擇并改進(jìn)圖像識別算法,同時(shí)設(shè)計(jì)一個(gè)機(jī)車車號識別系統(tǒng),實(shí)時(shí)識別駛?cè)刖幗M站的機(jī)車車號,并將機(jī)車車號識別結(jié)果實(shí)時(shí)共享給車站與機(jī)務(wù)段。
機(jī)車車號識別系統(tǒng)組成,如圖1所示。
圖1 機(jī)車車號識別系統(tǒng)模塊分析圖
通過使用.NET開發(fā)平臺(tái)的WinForm搭建前端圖形化界面,調(diào)用通過Python語言實(shí)現(xiàn)圖像的預(yù)處理、圖形定位切割、識別等算法實(shí)現(xiàn)對機(jī)車車次圖像素材的識別,并通過識別結(jié)果輸出模塊輸出機(jī)車車號與機(jī)車類型,界面如圖2所示。
圖2 機(jī)車車號識別系統(tǒng)主界面
高清攝像頭在鐵路編組站中廣泛應(yīng)用,可實(shí)時(shí)獲取全站站場視頻圖像數(shù)據(jù)。因此,可以利用設(shè)置在咽喉區(qū)與站段交界處的高清圖像數(shù)據(jù),點(diǎn)擊開始識別,系統(tǒng)將自動(dòng)識別經(jīng)過此咽喉處的機(jī)車車號,并通過識別出的機(jī)車型號與數(shù)據(jù)庫內(nèi)機(jī)車類型進(jìn)行對比,推出通過咽喉區(qū)處的機(jī)車類型,系統(tǒng)支持修改機(jī)車車次、修改機(jī)車類型、查詢歷史識別數(shù)據(jù)的功能。
卷積神經(jīng)網(wǎng)絡(luò)是近些年發(fā)展起來的一種高效識別方法,廣泛應(yīng)用于手寫字符識別、行人識別、人臉識別中。卷積神經(jīng)網(wǎng)絡(luò)主要由卷積層與池化層兩部分組成[5]。
卷積層主要是將前一層的特征圖與一個(gè)可學(xué)習(xí)的核進(jìn)行卷積,得到的結(jié)果再通過激活函數(shù)后形成這一層的特征圖,每一個(gè)特征圖都有可能與上一層的幾個(gè)特征圖建立卷積關(guān)系。卷積層數(shù)學(xué)函數(shù)表達(dá)如式(1):
其中,l為層數(shù)為特征響應(yīng)圖為卷積核;Nl-1為l-1層特征圖的個(gè)數(shù);conv2(x,y)為對x,y進(jìn)行卷積操作為輸出圖的偏置。
池化層主要是對輸入的上一層特征圖素材進(jìn)行抽樣操作,經(jīng)過抽樣后的特征圖的圖像大小改變?yōu)樵瓉淼?/2,池化層數(shù)學(xué)函數(shù)表達(dá)如式(2):
其中,down(x)為次抽樣函數(shù),bl
ij為輸出圖的偏置。
卷積神經(jīng)網(wǎng)絡(luò)LeNet-5算法是由Y.LeCun提出的一個(gè)多層的神經(jīng)網(wǎng)絡(luò),對于二維圖像的特征提取有著出色的表現(xiàn)。LeNet-5網(wǎng)絡(luò)模型結(jié)構(gòu),如圖3所示。主要由7層組成,每一層都包括可以訓(xùn)練的參數(shù)。
圖3 LeNet-5神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
該網(wǎng)絡(luò)的輸入是32×32的圖像,其中,C層是由卷積層神經(jīng)元組成的網(wǎng)絡(luò)層,S層是由池化層組成的網(wǎng)絡(luò)層。
(1)輸入圖像后,經(jīng)過6個(gè)可訓(xùn)練的卷積核進(jìn)行卷積操作,在C1層產(chǎn)生6個(gè)28×28的特征響應(yīng)圖;
(2)每個(gè)特征響應(yīng)圖經(jīng)過池化操作后,S2層產(chǎn)生6個(gè)14×14的特征響應(yīng)圖;
(3)經(jīng)過16個(gè)可訓(xùn)練的卷積核進(jìn)行卷積操作得到具有16個(gè)特征響應(yīng)圖的C3層;
(4)經(jīng)過池化操作,S4層產(chǎn)生具有16個(gè)5×5的特征向量圖;
(5)將S4層的所有特征響應(yīng)圖向量化,輸入到全連接神經(jīng)網(wǎng)絡(luò),輸出120個(gè)神經(jīng)元;
(6)經(jīng)過兩個(gè)全連接層,到達(dá)輸出層,輸出層具有10個(gè)神經(jīng)元,每一個(gè)神經(jīng)元代表一個(gè)阿拉伯?dāng)?shù)字。通過得到的一個(gè)長度為10的行矩陣,最終確定屬于哪一個(gè)數(shù)字[6-7]。
LeNet-5最初是用于識別手寫數(shù)字的,輸入的類別數(shù)目為10個(gè),鐵路機(jī)車型號與數(shù)字相比,需要進(jìn)行分類的類別數(shù)目要多很多,除了10個(gè)阿拉伯?dāng)?shù)字組成的機(jī)車號碼外,還包括D、F、C、S、B、H、X、N共8個(gè)英文數(shù)字組成的機(jī)車型號。針對機(jī)車型號字符組成與手寫數(shù)字之間的區(qū)別,對傳統(tǒng)的LeNet-5進(jìn)行改進(jìn),將傳統(tǒng)的LeNet-5的輸出層由10個(gè)神經(jīng)元改為18個(gè)神經(jīng)元。
機(jī)車車號識別模型的訓(xùn)練和識別流程圖,如圖4所示。
圖4 識別與訓(xùn)練流程圖
為了驗(yàn)證改進(jìn)的LeNet-5算法對機(jī)車車號的識別情況,收集了機(jī)車車次圖像數(shù)據(jù)850個(gè),建立了測試與訓(xùn)練使用的數(shù)據(jù)集,每組425個(gè),其中,訓(xùn)練數(shù)據(jù)中有310張圖像含有8個(gè)字符(如SS6B 1079、HXD1 1001),70張含有7個(gè)字符(如DF4 9422、DF7 0031),45張圖片含有 9個(gè)字符(如HXD3C 0822、HXN3B 0030),共3 375個(gè)字符學(xué)習(xí)樣本,測試集與訓(xùn)練集樣本組成相同,且訓(xùn)練集與測試集之間沒有重疊圖像。
為了提高識別效率,濾除掉圖像中與識別無關(guān)的大量特征,對圖像進(jìn)行預(yù)處理,目前常用的圖像灰度化主要有最大值法、平均值法、加權(quán)平均法3種方法,且每種方法都有固定的圖像分量加權(quán)式。如圖5所示,通過對比灰度化的3種方法,使用加權(quán)平均法對圖像進(jìn)行灰度化效果最好,所以按照式(3)將圖像轉(zhuǎn)化為灰度圖像。
其中,I為灰度圖像;R、G、B為紅綠藍(lán)3個(gè)圖像分量。
由于編組站具有全天候作業(yè)的特性,所以咽喉區(qū)攝像頭拍攝的圖像素材由于時(shí)間、天氣、季節(jié)等原因?qū)е滤夭牡谋尘昂蜋C(jī)車車號字符灰度化后會(huì)存在很大差距。為了高效獲取機(jī)車車號信息,減少由于這些原因產(chǎn)生的噪聲影響,我們將對圖像進(jìn)行二值化處理。即通過設(shè)定某一指定閾值,將灰度化后的圖像表示成兩個(gè)灰度值表示的二值圖像。即背景和車號字符素材分別用兩個(gè)灰度值來表示,如圖6所示。
圖5 圖像灰度化處理
圖6 圖像二值化處理
機(jī)車車號區(qū)域定位在機(jī)車號碼識別中最為重要,因?yàn)閰^(qū)域定位準(zhǔn)確與否直接決定后續(xù)工作的開展。采用常用的Sobel邊緣檢測方法進(jìn)行機(jī)車車號區(qū)域的定位,使用Sobel邊緣檢測算子得到機(jī)車車次號碼輪廓。使用圖形學(xué)知識開、閉運(yùn)算,利用小噪聲處理對小塊噪聲進(jìn)行去噪處理,將大塊區(qū)域進(jìn)行連接,定位出機(jī)車車號區(qū)域,如圖7所示。
圖7 圖像定位處理
機(jī)車車號印刷時(shí)彼此之間都留有一定空隙,但是每一個(gè)字符的寬度都大于空隙的寬度,所以可以利用機(jī)車車號排列分布規(guī)律分割法將車號進(jìn)行分割。因?yàn)樗兴夭亩冀?jīng)過了灰度化、二值化處理,所以背景與機(jī)車車號位置灰度值差別明顯,背景灰度值為0,字符處灰度值為255。
先進(jìn)行行分割,通過計(jì)算二值化后標(biāo)準(zhǔn)圖像文件格式(BMP)文件中每行中灰度值為255的像素總數(shù),如果像素總數(shù)超過閾值Q1,則認(rèn)為此行為字符行。如果像素總數(shù)小于閾值Q2,那么認(rèn)為此行為空白行。如式(4)所示。
閾值Q1,Q2的選擇比較重要,如果選擇的過大,會(huì)導(dǎo)致字符被切割,無法識別。如果選擇的過小,會(huì)導(dǎo)致圖像切割不明顯。經(jīng)過多次試驗(yàn),Q1=6,Q2=3效果最為明顯。
將經(jīng)過行分割后的圖像素材進(jìn)行列分割。同樣,計(jì)算二值化后BMP文件中每列中灰度值為255的像素總數(shù),如果像素總數(shù)>閾值Q3,則認(rèn)為此列為字符列。如果像素總數(shù)<閾值Q4,那么認(rèn)為此列為空白列,如式(5)所示。
m為經(jīng)行切割后的起始行;n為經(jīng)行切割后的終止行,經(jīng)過多次試驗(yàn),Q3=2,Q4=3效果最為明顯。
經(jīng)過行切割與列切割后,得到的圖像數(shù)據(jù),如圖8所示。
圖8 圖像分割處理
LeNet-5卷積神經(jīng)網(wǎng)絡(luò)的輸入為32×32的圖像素材。經(jīng)過算法比對,雙三插值算法對于圖像某一區(qū)域的縮小放大有非常好的效果。其思想是在所需插值像素點(diǎn)位置選取周圍16個(gè)像素點(diǎn),對選取的16個(gè)像素點(diǎn)分別進(jìn)行水平與垂直方向的三階插值操作,并將所得結(jié)果賦值給所需插值像素點(diǎn)。進(jìn)行水平與垂直方向插值操作的插值函數(shù)的一般表示形式,如式(6)所示。
使用雙3次插值算法將所有機(jī)車車號字符大小都?xì)w一化為32×32大小的字符素材,以便可以使用LeNet-5算法進(jìn)行分類識別。
卷積神經(jīng)網(wǎng)絡(luò)框架(CAFFE)是一種常用的深度學(xué)習(xí)框架,根據(jù)改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)修改CAFFE平臺(tái)中的網(wǎng)絡(luò)結(jié)構(gòu)文件和網(wǎng)絡(luò)求解文件,通過CAFFE調(diào)用經(jīng)過預(yù)處理后的圖像數(shù)據(jù)進(jìn)行模型訓(xùn)練,最終訓(xùn)練出穩(wěn)定的分類模型,基本步驟為:(1)先進(jìn)行前向傳播,然后經(jīng)過反向傳導(dǎo)和梯度下降法更新卷積核,反復(fù)執(zhí)行前向、反向、更新卷積核,直到滿足結(jié)束條件,此時(shí)CNN訓(xùn)練完成;(2)使用CNN訓(xùn)練得到的特征向量訓(xùn)練SVM支撐向量機(jī)分類器,完成LeNet-5訓(xùn)練。
使用測試集對訓(xùn)練完成的模型進(jìn)行識別檢測,訓(xùn)練次數(shù)與識別正確率之間的關(guān)系,如表1所示。通過識別試驗(yàn)結(jié)果可以發(fā)現(xiàn),隨著訓(xùn)練次數(shù)的增加,識別訓(xùn)練集與測試集的準(zhǔn)確率都在增加。如果訓(xùn)練集的數(shù)據(jù)再豐富一些,準(zhǔn)確率一定會(huì)更高,完全可以達(dá)到準(zhǔn)確識別機(jī)車車次的目的。
表1 訓(xùn)練次數(shù)與測試集識別率的關(guān)系
試驗(yàn)發(fā)現(xiàn),有一些車次號識別效果并不樂觀,主要是機(jī)車車次號被污染腐蝕、不清晰、機(jī)車車號圖像傾斜角度過大、字符分割出現(xiàn)錯(cuò)誤、圖像素材經(jīng)過灰度化后降噪效果不明顯等原因。
通過研究發(fā)現(xiàn),使用改進(jìn)后的LeNet-5算法識別經(jīng)圖片預(yù)處理后的車次圖像素材,識別正確率可高達(dá)94%以上。對于識別效果不樂觀的情況,可以通過Hough變換對傾斜的圖像進(jìn)行矯正,或通過其他行之有效的預(yù)處理方法對素材進(jìn)行進(jìn)一步的處理。增加訓(xùn)練集素材數(shù)量,訓(xùn)練出識別率更高的模型。
目前,機(jī)車車號識別系統(tǒng)已在中國鐵路武漢局集團(tuán)有限公司襄陽北站試驗(yàn),與既有的AEI配合使用。高清圖像素材從車站高清貨檢系統(tǒng)處獲取,識別效果良好,可以滿足對機(jī)車車號識別的需求,對實(shí)現(xiàn)智慧型編組站提供了有力的技術(shù)支撐。