劉 欣, 張 瑤, 熊新娟
(南京工程學(xué)院 工業(yè)中心,南京 211167)
鐵路扣件是鐵路軌道系統(tǒng)的重要部件,是鐵路軌道安全的重要保障,運(yùn)行過程中扣件損壞或缺失會(huì)造成巨大安全隱患甚至釀成重大事故。目前我國主要是采用人工巡檢的方式檢測(cè)軌道扣件狀態(tài),效率和準(zhǔn)確率低,已難以適應(yīng)我國軌道交通事業(yè)的快速發(fā)展。
隨著計(jì)算機(jī)圖像技術(shù)的發(fā)展,國內(nèi)外開始研究基于機(jī)器視覺的扣件狀態(tài)檢測(cè)系統(tǒng),通過人工特征提取或特征學(xué)習(xí)方法對(duì)軌道扣件圖像進(jìn)行描述,然后使用分類器判別軌道扣件的使用工況。文獻(xiàn)[1-2]中采用尺度不變特征轉(zhuǎn)換(Scale Invariant Feature Transform, SIFT)、方向梯度直方圖(Histogram of Oriented Gradient, HOG)等局部特征提取方法,然后結(jié)合支持向量機(jī)(Support Vector Machine, SVM)、近鄰算法(K-Nearest Neighbor, KNN)等機(jī)器學(xué)習(xí)算法進(jìn)行軌道扣件圖像的狀態(tài)識(shí)別,取得了不錯(cuò)的成果。然而,由于原始圖像很難通過直觀的理解提取出豐富且有效的特征,底層特征提取往往需要大量數(shù)據(jù)預(yù)處理工作,難以通過人工的方式設(shè)計(jì)有效的特征集合。
近年來,基于深度學(xué)習(xí)(Deep Learning)[3-4]以及卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的圖像分類方法成為圖像識(shí)別領(lǐng)域的熱點(diǎn),可以通過有監(jiān)督或無監(jiān)督的方式學(xué)習(xí)層次化的特征描述,能夠有效降低對(duì)圖像數(shù)據(jù)處理的要求,避免復(fù)雜的特征提取工作,從而取代手工設(shè)計(jì)或選擇圖像特征的工作。本文將深度學(xué)習(xí)技術(shù)引入鐵路軌道安全檢測(cè)領(lǐng)域,提出基于CNN的軌道扣件檢測(cè)算法,以提高扣件狀態(tài)檢測(cè)的效率和準(zhǔn)確率。
CNN是一種多層神經(jīng)網(wǎng)絡(luò),目前已成功應(yīng)用于手寫字符識(shí)別[5]、視覺追蹤[6]、圖像分類[7]等機(jī)器視覺領(lǐng)域,它直接利用圖像像素信息作為輸入,通過多層卷積操作進(jìn)行特征的提取和高層抽象,最大程度上保留了輸入圖像的所有信息,并且能夠容許圖像的畸變。
一個(gè)典型的用于圖像分類的CNN[8]如圖1所示,其中,輸入層為圖像的像素矩陣;卷積層中的神經(jīng)元只與上一層相連接,提取其局部的特征,卷積層通常設(shè)多個(gè)節(jié)點(diǎn),通過卷積層處理后數(shù)據(jù)矩陣的深度會(huì)增加;池化層是把輸入信號(hào)分割成不重疊的區(qū)域,通過池化操作過濾掉一些不重要的高頻信息,有效地縮小矩陣的尺寸,加快運(yùn)行速度;卷積層和池化層可以均設(shè)置多個(gè)交替進(jìn)行,經(jīng)過多輪的卷積和池化操作后,圖像特征提取的過程基本完成;最后再經(jīng)過1~2層全連接和Softmax處理完成最終的分類任務(wù)。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)的特征提取算法和一般神經(jīng)網(wǎng)絡(luò)在圖像處理方面具有如下優(yōu)點(diǎn)[9]:① 特征提取和模式分類同時(shí)進(jìn)行,不需要對(duì)圖像進(jìn)行預(yù)處理。② 輸入圖像和網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)能很好地吻合,該網(wǎng)絡(luò)結(jié)構(gòu)對(duì)平移、比例縮放、傾斜或者其他形式的變形具有高度不變性。③ 利用卷積的權(quán)值共享方法,大幅減少了網(wǎng)絡(luò)的訓(xùn)練參數(shù),防止過擬合的同時(shí)又降低了神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度。
本文基于CNN建立了一種軌道扣件檢測(cè)算法,其網(wǎng)絡(luò)框架由6層構(gòu)成,在典型CNN的基礎(chǔ)上,引入了激活函數(shù)(Rectified Linear Units,ReLU)[10]和棄權(quán)技術(shù)[11-12],基本框架如圖2所示。
圖中:Input為輸入層,為軌道扣件的圖像數(shù)據(jù)。原始圖片是由高速巡檢列車上CCD相機(jī)采集,每張?jiān)紙D片一般包含多個(gè)扣件,經(jīng)過扣件定位及圖像分割等預(yù)處理后,將每個(gè)扣件區(qū)域的圖像提取出來,并調(diào)整成64×96(rows×cols)像素大小統(tǒng)一的灰度圖像。通常將輸入層視為第0層,表示為a,a0∈R64×96×1。
圖2 本文扣件檢測(cè)算法框架
此處,將卷積結(jié)果經(jīng)過激活函數(shù)(Activation Function)后的輸出作為本層的特征圖(Feature maps),實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的非線性,激活函數(shù)采用ReLU函數(shù)。第1層的輸出表示為a1,a1∈R64×96×8。
其中,Bernoulli函數(shù)是以概率P隨機(jī)生成一個(gè)0或1的向量,此處取P=0.5。
全連接層2為第2個(gè)全連接層,乘以權(quán)重W6(W6∈R512×3)并附加偏置b6,F(xiàn)6的長度為3的向量,采用Softmax分類器處理之后就得到了最終的分類結(jié)果a6
神經(jīng)網(wǎng)絡(luò)模型的效果以及優(yōu)化的目標(biāo)是通過損失函數(shù)來定義的。損失函數(shù)刻畫了神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果和真實(shí)結(jié)果之間的差距,對(duì)于分類問題,交叉熵是其中使用最廣得一種損失函數(shù)。
(18)
CNN利用鏈?zhǔn)角髮?dǎo)計(jì)算損失函數(shù)對(duì)每個(gè)權(quán)重的偏導(dǎo)數(shù)(梯度),通過反向傳播算法[13-14],根據(jù)定義好的損失函數(shù)調(diào)整和優(yōu)化網(wǎng)絡(luò)中參數(shù)的取值,從而使網(wǎng)絡(luò)模型在訓(xùn)練數(shù)據(jù)集上的損函數(shù)達(dá)到一個(gè)較小值。
常見的軌道扣件狀態(tài)如圖3所示。通過對(duì)預(yù)處理后的軌道扣件圖像的篩選對(duì)比,分別選出具有代表性的圖像1 842個(gè)作為本算法的樣本集,其中正常扣件的圖像902個(gè),扣件部分?jǐn)嗔训?82個(gè),扣件丟失的圖像458個(gè),像素大小均為96×64 pixel。
相比傳統(tǒng)圖像識(shí)別算法,CNN是許多節(jié)點(diǎn)層組成的復(fù)雜架構(gòu),訓(xùn)練時(shí)有大量需要評(píng)估的參數(shù),如權(quán)重、偏差等,因此需要更多的訓(xùn)練數(shù)據(jù)滿足適當(dāng)?shù)氖諗俊?/p>
鑒于軌道扣件的樣本數(shù)量較少且存在不均衡,對(duì)樣本集的圖像進(jìn)行圖像數(shù)據(jù)增強(qiáng)處理[15]。通過對(duì)圖像進(jìn)行垂直或水平的翻轉(zhuǎn)變換、局部高斯模糊、對(duì)比度變換、縮放、旋轉(zhuǎn)、平移、尺度變換、添加噪聲擾動(dòng)等隨機(jī)處理。經(jīng)過增強(qiáng)處理之后,樣本集數(shù)量增加5倍,達(dá)到9 210個(gè),將其中約80%的圖像作為訓(xùn)練集進(jìn)行訓(xùn)練,剩余約20%的圖像作為測(cè)試集用于測(cè)試。經(jīng)過數(shù)據(jù)增強(qiáng)后的圖像如圖4所示。
(a) 正常扣件(b) 扣件部分?jǐn)嗔?/p>
(c) 扣件丟失
圖3 常見的軌道扣件狀態(tài)
圖4 數(shù)據(jù)增強(qiáng)后的扣件圖像
實(shí)驗(yàn)采用本算法對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,學(xué)習(xí)率設(shè)為0.000 1,迭代次數(shù)為6 000,批數(shù)據(jù)量為50,完成訓(xùn)練后,用測(cè)試數(shù)據(jù)集驗(yàn)證學(xué)習(xí)模型的準(zhǔn)確率。為了進(jìn)行對(duì)比,本文還采用了典型CNN算法,在相同的神經(jīng)網(wǎng)絡(luò)參數(shù)下,分別引入不同的優(yōu)化方法:ReLU+Dropout、Data Augmentation進(jìn)行訓(xùn)練和測(cè)試,結(jié)果如圖5所示。
圖5 不同優(yōu)化方法的CNN正確率
從圖5可以看出,采用典型CNN算法的扣件狀態(tài)識(shí)別正確率可以達(dá)到91.6%,引入ReLU+Dropout后的CNN算法正確率可以達(dá)到96.7%;對(duì)樣本進(jìn)行圖像數(shù)據(jù)增強(qiáng)處理后,典型CNN算法正確率達(dá)到93.8%,引入ReLU+Dropout后的CNN算法正確率可達(dá)到98.1%。近鄰算法、融合PHOG和MSLBP特征的準(zhǔn)確率分別為95.3%和97.7%。
本文將深度學(xué)習(xí)技術(shù)引入鐵路軌道安全檢測(cè)領(lǐng)域,提出了基于CNN的軌道扣件檢測(cè)算法,通過在CNN基礎(chǔ)上使用ReLU激活函數(shù),引入Dropout棄權(quán)技術(shù),以及對(duì)原始圖像采用圖像數(shù)據(jù)增強(qiáng)技術(shù),對(duì)識(shí)別算法進(jìn)行了優(yōu)化。經(jīng)過對(duì)軌道扣件圖像識(shí)別的實(shí)驗(yàn)驗(yàn)證和對(duì)比,結(jié)果表明本算法不需要進(jìn)行特征提取等預(yù)處理操作,且準(zhǔn)確率優(yōu)于傳統(tǒng)算法,在軌道扣件圖像的狀態(tài)識(shí)別上有一定優(yōu)勢(shì),有望在鐵路巡檢系統(tǒng)上推廣使用。