王志學(xué),彭朝勇,羅 林,宋文偉
(西南交通大學(xué) 物理科學(xué)與技術(shù)學(xué)院,四川 成都 610031)
目前國內(nèi)外針對列車車身安全檢測的方法主要分為三類,分別是人工檢測法、基于機(jī)器視覺的關(guān)鍵部件檢測法和基于機(jī)器視覺的整體比對法[1]。人工檢測方法效率低下,而且受檢測人員狀態(tài)影響較大。關(guān)鍵部件檢測法則是針對機(jī)車運(yùn)行起關(guān)鍵作用的部件進(jìn)行檢測,如吊桿、軸報箱、緊固螺栓和芯盤等。文獻(xiàn)[2]利用小波變換技術(shù)檢測緊固螺栓的安全狀態(tài);文獻(xiàn)[3]研究出一套實(shí)時的螺栓檢測系統(tǒng),用于代替人工檢測。同樣,在文獻(xiàn)[4-5]中,分別對緊固螺栓和制動蹄片這兩種關(guān)鍵部件進(jìn)行安全檢測。這種檢測方法只對關(guān)鍵部件進(jìn)行檢測,無法覆蓋整個車體。整體比對法是以整個車體圖像作為檢測對象,利用結(jié)構(gòu)相似性[6],將當(dāng)前過車車體圖像與歷史過車車體圖像(無異常的標(biāo)準(zhǔn)圖)進(jìn)行比對,從而檢測出兩次過車車體上的差異,然后將差異作為安全隱患向檢測人員報警,檢測人員再進(jìn)行最后的異常判斷。
雖然整體比對法可以對整輛列車進(jìn)行監(jiān)測,但是無法克服由水漬、油漬、標(biāo)記等非危險差異引起的大量誤報警,這嚴(yán)重降低了整體比對法的檢測效率。在鐵路運(yùn)輸高速發(fā)展的今天,為保障列車運(yùn)行安全,適應(yīng)繁重的檢測任務(wù),急需一種高效且精準(zhǔn)的自動化檢測方式,以替代傳統(tǒng)的人工檢測,能對差異進(jìn)行自動識別。
近年來,深度學(xué)習(xí)[7]的方法得益于其強(qiáng)大的非線性表達(dá)能力,在圖像處理領(lǐng)域得到了廣泛的應(yīng)用。相比于傳統(tǒng)特征提取方法在復(fù)雜背景下難以提取有效特征的缺點(diǎn),如SIFT[8-9]、SURF[10]和HOG[11]等,應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法強(qiáng)大的特征提取能力使它在圖像分類、識別領(lǐng)域取得了矚目的成就。因此本文將深度學(xué)習(xí)的方法引入列車圖像異常識別系統(tǒng)中。
調(diào)研文獻(xiàn)發(fā)現(xiàn),現(xiàn)在已經(jīng)有部分研究將深度學(xué)習(xí)方法運(yùn)用在鐵路相關(guān)領(lǐng)域。文獻(xiàn)[12]利用Faster R-CNN目標(biāo)識別網(wǎng)絡(luò)對高速鐵路接觸網(wǎng)承力索座進(jìn)行了目標(biāo)定位,然后檢測承力索座上的裂紋信息,實(shí)現(xiàn)了對承力索座裂紋故障的可靠診斷。文獻(xiàn)[13]提出一種級聯(lián)Faster R-CNN網(wǎng)絡(luò)用于檢測高速鐵路接觸網(wǎng)支撐與懸掛裝置中等電位線的散股故障。文獻(xiàn)[14]建立了一個基于卷積神經(jīng)網(wǎng)絡(luò)的多故障判別模型,主要用于檢測邊框架螺栓和軸螺栓區(qū)域的一些故障。但是,以上研究都是針對列車車體關(guān)鍵部件的檢測,無法覆蓋整個車體。
基于以上原因,本文建立一個基于并聯(lián)卷積神經(jīng)網(wǎng)絡(luò)[15]的列車車體異常檢測模型,見圖1。此模型包含兩個CNNs結(jié)構(gòu),是一種并聯(lián)模型。與傳統(tǒng)分類任務(wù)不同的是,差異分類網(wǎng)絡(luò)的輸入為兩幅圖像,即歷史圖和當(dāng)前圖。神經(jīng)網(wǎng)絡(luò)首先需要檢測出兩幅圖像的差異信息,然后進(jìn)一步識別此差異信息是否存在安全隱患。根據(jù)調(diào)研所知,目前還沒有將卷積神經(jīng)網(wǎng)絡(luò)運(yùn)用在差異分類上,但是有些相似工作。在遙感信息處理領(lǐng)域,并聯(lián)卷積神經(jīng)網(wǎng)絡(luò)被廣泛地運(yùn)用在了變化檢測[16-18]上,通過輸入兩幅不同時期同一地點(diǎn)嚴(yán)格配準(zhǔn)的遙感圖,輸出變化情況,其為一種圖像分割任務(wù),這和差異分類任務(wù)相比有較大的不同。另外,雖然差異分類只采用一個神經(jīng)網(wǎng)絡(luò)單階段完成,但是網(wǎng)絡(luò)內(nèi)部卻分為兩步:差異信息檢測和差異分類。同時,為了提升網(wǎng)絡(luò)的性能,本文提出一種多形狀訓(xùn)練方法,并且設(shè)計了一種加入距離度量限制項(xiàng)的損失函數(shù)。最后,在以上優(yōu)化的基礎(chǔ)上建立一個復(fù)合并聯(lián)模型,進(jìn)一步提升網(wǎng)絡(luò)性能。
圖1 并聯(lián)模型
針對列車車體差異分類任務(wù),考慮樣本是當(dāng)前圖和歷史圖構(gòu)成的圖片對,首先建立一個并聯(lián)網(wǎng)絡(luò)模型,見圖1。模型主要由兩個結(jié)構(gòu)相同的CNNs模型并聯(lián)組成,兩個CNNs分支分別接收當(dāng)前圖和歷史圖作為輸入,經(jīng)過一系列卷積池化操作后,輸出兩幅圖的特征向量Fw,b(Curri)和Fw,b(Histi)。為了獲得更好的分類結(jié)果,在兩個CNNs分支的輸出端,將兩幅圖的特征向量相減得到差分特征圖fend,再送進(jìn)全連接層和softmax層進(jìn)行分類。值得注意的是,為了讓兩個CNNs分支能更好地提取圖片對的差異信息,兩個CNNs分支之間進(jìn)行權(quán)值共享。這種權(quán)值共享的方式也保證了兩個CNNs分支提取到的圖像特征在特征空間中的分布不會有較大的差異。
為使此分類模型具有良好的性能,本文創(chuàng)新性地提出兩種改進(jìn)方式:①在訓(xùn)練中加入多形狀訓(xùn)練方法;②改進(jìn)損失函數(shù),加入圖片對的距離度量限制項(xiàng)。
在圖1建立的并聯(lián)卷積神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ)上,本文還創(chuàng)新性地建立了一種復(fù)合并聯(lián)模型,見圖2,此復(fù)合并聯(lián)模型較圖1所示的并聯(lián)模型,增加了一個串聯(lián)分支一,并聯(lián)分支二與圖1模型結(jié)構(gòu)相同。串聯(lián)分支一與并聯(lián)分支二屬于并聯(lián)結(jié)構(gòu),而并聯(lián)分支二內(nèi)部也是一個并聯(lián)結(jié)構(gòu),分支一與分支二共同構(gòu)成了復(fù)合并聯(lián)模型。為了組合兩個分支的特征,在兩個分支的輸出端進(jìn)行了特征拼接,即將分支一的融合特征和分支二的差分特征在通道維度上進(jìn)行拼接,將拼接之后的特征輸入全連接層和softmax層進(jìn)行最后的分類。
圖2 復(fù)合并聯(lián)模型
首先,圖片對在輸入分支一之前被合成一幅二通道的圖片,雖然二通道的圖片在自然圖像中不存在,但這里人為地將它們拼接起來。較分支二中兩個并聯(lián)CNNs獨(dú)立提取兩張圖片的特征,分支一通過對組合成的二通道圖片進(jìn)行卷積池化操作,能夠提取到兩張圖片的融合特征。即分支一提取到的特征是模型通過結(jié)合兩張圖片對應(yīng)位置的信息而得到的。一方面,對于模型來說,可用于判斷的特征更加豐富;另一方面,分支一提取的特征是建立在網(wǎng)絡(luò)綜合考量兩張圖片差異信息的基礎(chǔ)之上的,而分支二提取到的特征是網(wǎng)絡(luò)在兩張圖片上獨(dú)立提取出來的,兩種特征是互補(bǔ)的。考慮并聯(lián)分支二兩個CNNs之間權(quán)值共享,在提取特征的時候也會綜合考量兩個圖片之間的信息,但更多地是為了避免兩個CNNs提取到的特征在特征空間中的分布相差太大。因此,串聯(lián)分支一提取的圖片對之間的融合特征還是較并聯(lián)分支二提取的更加豐富和全面。試驗(yàn)證明,這種模型進(jìn)一步提升了網(wǎng)絡(luò)的性能。
由于本文所采用的數(shù)據(jù)集中的圖片形狀是無規(guī)則的,即長寬比是任意的,所以差異分類網(wǎng)絡(luò)也應(yīng)該適應(yīng)不同的形狀。為了解決不同形狀的問題,本研究提出了多形狀訓(xùn)練方法。主要采用了5種不同的形狀:90×180、180×90、128×128、90×90、180×180。對于90×180、180×90、128×128三種尺寸,它們有近似的像素點(diǎn),所以計算量也大致相同。對于90×90、180×180兩種尺度的加入,是因?yàn)榭紤]神經(jīng)網(wǎng)絡(luò)的感受野,即卷積神經(jīng)網(wǎng)絡(luò)每一層輸出的特征圖上的像素點(diǎn)在輸入圖片上映射的區(qū)域大小。在CNNs模型結(jié)構(gòu)固定的情況下,其感受野也固定。因此,加入兩種尺度的圖片訓(xùn)練,希望模型在大尺度(180×180)下能夠提取到圖片對的小差異,在小尺度(90×90)下能夠提取到圖片對大的差異信息,即不同的尺度大小下,網(wǎng)絡(luò)“注意”到的圖片差異信息是不一樣的。同時,為了使5種尺寸的輸出向量可以轉(zhuǎn)化為相同的長度以進(jìn)行最后的分類,本模型在進(jìn)行全連接前采用了全局平均池化。
在訓(xùn)練時,5種尺寸的形狀交替進(jìn)行訓(xùn)練。測試時,圖像采用3種形狀(90×180、180×90、128×128)最接近的一個形狀變形,然后推理出差異的類別。通過這種方式,數(shù)據(jù)集在一定程度上得到了擴(kuò)充,主要有兩方面的優(yōu)點(diǎn):①由于樣本數(shù)量的增加,網(wǎng)絡(luò)性能得到了提升;②采用變形的策略有利于網(wǎng)絡(luò)專注于變化信息,而不是背景類的類別信息。雖然在之前的一些工作中,如在RCNN[15]網(wǎng)絡(luò)中,為防止網(wǎng)絡(luò)失真,變形都是應(yīng)該盡量避免的。但是差異分類任務(wù)不是去識別圖像是什么,而是兩幅圖片之間的差異是什么類別。采用多形狀訓(xùn)練策略,會使原始圖像變形為多種形狀,這樣圖片的背景信息會因?yàn)樽冃味д妫遣町愋畔缀鯖]有變化。尤其是像污漬、亮度和異物這些沒有固定特征的差異,即使圖像更改了形狀,背景失真了,但是上述差異依舊十分真實(shí),見圖3。這種策略會促使網(wǎng)絡(luò)更好的學(xué)習(xí)差異信息。
圖3 形狀變化
為使模型針對差異分類任務(wù)有更好的分類效果,需要設(shè)計一個合適的損失函數(shù)。通過最小化損失函數(shù),訓(xùn)練出一個能夠準(zhǔn)確提取圖片對差異特征的CNNs參數(shù)模型Fw,b,其中下角w和b分別代表模型的權(quán)重和偏置參數(shù)。此參數(shù)模型提取到圖片對的特征后,在特征空間中,正樣本(有異常)對應(yīng)的特征點(diǎn)之間的距離更加靠近,負(fù)樣本(無異常)對應(yīng)的特征點(diǎn)之間的距離更加遠(yuǎn)離,從而分離開了正負(fù)樣本。
令Curri和Histi分別表示輸入模型的第i對列車當(dāng)前圖和歷史圖,F(xiàn)w,b(Curri)、Fw,b(Histi)表示模型輸出的當(dāng)前圖和歷史圖的特征向量。
1.4.1 分類損失函數(shù)
采用交叉熵作為樣本類別標(biāo)簽的預(yù)測,因此分類損失函數(shù)可以表示為
fend=abs[Fw,b(Curri)-Fw,b(Histi)]
( 1 )
( 2 )
因此,模型的分類損失表示為
( 3 )
1.4.2 距離損失函數(shù)
在距離損失函數(shù)中,模型需要學(xué)習(xí)優(yōu)化的距離度量可以表示為Dw,b(Curri,Histi),它表示圖像對特征向量之間的距離。本文主要采用余弦距離Dcos作為距離的衡量,Dcos∈[1,0]。
基于余弦距離的圖片對特征向量之間的距離可以表示為
( 4 )
令
Dw,b(Curri,Histi)=Dcos(Curri,Histi)
( 5 )
則距離損失函數(shù)設(shè)置為
(1-yi)[1-Dw,b(Curri,Histi)]}
( 6 )
對式( 6 )的直觀理解是:實(shí)際中,不論是有異常的正樣本還是無異常的負(fù)樣本,圖片對之間的相似性都是介于(0,1)之間,只有完全相同的兩幅圖片,其相似性才為1。在此差異分類模型中,認(rèn)為有異常的正樣本是完全不相似的,其相似性為0;而無異常的負(fù)樣本是完全一樣的,相似性為1。這樣,優(yōu)化的目標(biāo)就是令正樣本的特征距離趨近于0,負(fù)樣本的特征距離趨近于1,即
( 7 )
這樣設(shè)置的好處是,使模型能夠減少或者避免受光照、污漬、標(biāo)記等偽報警差異的影響,更加專注于提取圖片對中真正引起正報警的危險差異。同時,在優(yōu)化損失函數(shù)后,正樣本(有異常)對應(yīng)的特征點(diǎn)之間的距離更近,負(fù)樣本(無異常)對應(yīng)的特征點(diǎn)之間的距離更遠(yuǎn),正負(fù)樣本在特征空間中被更好地分隔開來。
因此,模型訓(xùn)練的損失函數(shù)設(shè)置為
Loss=(1-λ)Lossclass(fend,y)+
λLossdis(Dw,b,y)
( 8 )
式中:λ為一個超參數(shù),λ∈(0,1),用于權(quán)衡分類的損失和距離的損失,以讓模型性能達(dá)到最優(yōu)。
本文試驗(yàn)的數(shù)據(jù)集總共包括16 625對圖片,其中正樣本(正確報警異常)8 355對,負(fù)樣本(偽報警異常)8 270對。隨機(jī)挑選15 625對樣本用于訓(xùn)練,1 000對樣本用于測試。正樣本主要包括因異物、丟失、松動造成的差異。這類差異會影響列車的運(yùn)行安全,比如異物出現(xiàn)在動力裝置上,會影響機(jī)車的正常運(yùn)行。而負(fù)樣本主要是由污漬、標(biāo)記、亮度等引起的差異,這類差異是非異常的,因?yàn)樗鼈儾粫α熊囘\(yùn)行安全造成影響。樣本集的部分實(shí)例見圖4,樣本集分配詳情如表1所示。
圖4 正負(fù)樣本實(shí)例
表1 差異分類樣本分配情況
在網(wǎng)絡(luò)訓(xùn)練時,采用的是Adam優(yōu)化器進(jìn)行梯度下降。由于采用了反向傳播算法,初始學(xué)習(xí)率被設(shè)置為0.01,衰減率被設(shè)置為0.99。除了第一卷積層外,在進(jìn)行卷積操作前都會首先依次執(zhí)行Batch Normalization(BN)算法和ReLU非線性激活。卷積神經(jīng)網(wǎng)絡(luò)的批大小為48,迭代次數(shù)為100 000次。為了避免過擬合,網(wǎng)絡(luò)還采用了L2正則化。網(wǎng)絡(luò)權(quán)值的初始化采用的是Xavier初始化器。所有試驗(yàn)都是基于TensorFlow深度學(xué)習(xí)框架編寫,試驗(yàn)平臺的GPU和CPU配置分別為Nvidia RTX2070 GPU和Intel i7-8700 CPU,試驗(yàn)結(jié)果都是6次重復(fù)性試驗(yàn)得出的平均值。損失函數(shù)權(quán)重λ在0到1之間以0.1為步長試驗(yàn),如表2所示,最后確定在λ取值為0.1的時候模型性能最優(yōu),因此本文中所有試驗(yàn)都將損失函數(shù)權(quán)重λ設(shè)為0.1。所有圖片在訓(xùn)練前都會進(jìn)行歸一化和隨機(jī)的翻轉(zhuǎn)。試驗(yàn)結(jié)果如表3所示。
表2 損失函數(shù)權(quán)重對模型的影響
表3 試驗(yàn)結(jié)果
如表3所示,試驗(yàn)逐一驗(yàn)證了優(yōu)化策略的性能提升,本文中網(wǎng)絡(luò)性能的提升由準(zhǔn)確率、精確率、召回率和F1指標(biāo)來評價,其中提升項(xiàng)使用F1綜合評價指標(biāo)衡量。從試驗(yàn)1、2可知,網(wǎng)絡(luò)加入距離度量之后,雖然精確率有所下降,但準(zhǔn)確率和召回率都有提升,因此綜合評價指數(shù)F1由84.22%提升到87.51%,提升了3.29%。由試驗(yàn)1、3可知,加入3種尺寸(180×90、90×180、128×128)訓(xùn)練后,網(wǎng)絡(luò)F1較未優(yōu)化的試驗(yàn)1模型提升至90.42%,提升6.20%,其他3項(xiàng)指標(biāo)也都有提升。由試驗(yàn)1、4可知,加入3種尺寸2種尺度,即5種尺寸訓(xùn)練之后,網(wǎng)絡(luò)性能提升至91.35%,提升了7.13%,其他三項(xiàng)也都有提升;而且,由試驗(yàn)3、4可知,在3種尺寸的基礎(chǔ)上加入2種尺度的訓(xùn)練,網(wǎng)絡(luò)性能也有提升,本試驗(yàn)中網(wǎng)絡(luò)F1指標(biāo)從90.42%提升至91.35%,提升了0.93%,其他3項(xiàng)性能也都有所提升;這也驗(yàn)證了前面的猜想,即加入多尺度訓(xùn)練能夠提升網(wǎng)絡(luò)性能。最后,為了獲得最優(yōu)模型,將3種優(yōu)化策略全都應(yīng)用于網(wǎng)絡(luò),訓(xùn)練獲得了F1指標(biāo)為92.42%的性能,較未優(yōu)化網(wǎng)絡(luò)提升了8.20%。同時,準(zhǔn)確率與召回率由85.10%、80.60%提升到至92.60%、90.20%。在復(fù)合并聯(lián)模型試驗(yàn)中,模型提升規(guī)律同并聯(lián)模型,最后復(fù)合并聯(lián)模型的F1性能達(dá)到95.03%。而且,由試驗(yàn)1、6和5、10可以看到,復(fù)合并聯(lián)模型的性能總體優(yōu)于并聯(lián)模型。
為進(jìn)一步證明模型能夠準(zhǔn)確提取到差異信息,挑選了6對代表性的樣本圖片,將復(fù)合并聯(lián)模型兩個分支提取到的圖片特征進(jìn)行可視化,并與傳統(tǒng)的LBP算法提取的特征進(jìn)行比較,見圖5。
圖5 模型特征可視化
圖5(a)、5(b)、5(c)是正樣本圖片對,圖5(d)、5(e)、5(f)是負(fù)樣本圖片對。每組圖片對中,第一行分別表示當(dāng)前圖和歷史圖的原始圖片;第二、三行是復(fù)合模型中并聯(lián)分支提取到的當(dāng)前圖和歷史圖的特征;最后一行前兩張是復(fù)合模型中串聯(lián)分支提取到的特征,后兩張是利用LBP算法提取到的特征。由于深層網(wǎng)絡(luò)提取的特征太抽象難以理解,這里展示的只是第一層卷積后的特征圖中有代表性的10幅。
由圖5可以看出,復(fù)合并聯(lián)模型不僅能夠提取基本的邊緣信息,還可以檢測到兩幅圖像之間的差異。首先,對于并聯(lián)分支,它能夠分別提取兩幅圖片的差異信息,圖5(a)中第a2、a3行分別提取到了異物和背景的特征;圖5(b)、圖5(c)中,部件的轉(zhuǎn)動被檢測了出來;圖5(d)中有污漬部分和無污漬部分的特征都能準(zhǔn)確地提取。對于串聯(lián)分支,由于輸入是二通道圖像,它可以很好地兼顧兩幅圖像之間的差異信息。如在a4、d4,差異信息異物和污漬被分割開來,e4中第2張對光照部分有較強(qiáng)的響應(yīng)。同時,在與LBP算法提取到的特征進(jìn)行對比時我們發(fā)現(xiàn),雖然LBP算法也能夠提取基本的邊緣輪廓信息,但是對于污漬、光照,不能有效地提取到差異特征。如d4中第3、4張,污漬特征并沒有被提取到,同樣e4中第3、4張也沒有提取到光照差異。可以看到,本復(fù)合模型中,并聯(lián)部分能夠獨(dú)立提取兩幅圖像的差異信息,而串聯(lián)部分綜合考量兩幅圖像的差異信息,兩部分提取的特征進(jìn)行融合,從而提升了模型的性能。
針對列車車體的差異分類任務(wù),本文建立了兩種網(wǎng)絡(luò)模型,分別是并聯(lián)模型以及改進(jìn)的復(fù)合并聯(lián)模型。通過可視化卷積特征,發(fā)現(xiàn)并聯(lián)部分能夠獨(dú)立提取到圖片對的差異信息,而串聯(lián)部分可以兼顧兩張圖片信息提取到差異信息,通過兩部分特征的融合,提升了網(wǎng)絡(luò)的性能。同時,為了提升差異分類網(wǎng)絡(luò)的性能,本文提出了多形狀訓(xùn)練方法以及加入距離度量的損失函數(shù)。試驗(yàn)結(jié)果表明,這兩種優(yōu)化方法都能夠提升網(wǎng)絡(luò)的分類性能。而且,本文建立的網(wǎng)絡(luò)模型不僅具有較高的檢測準(zhǔn)確率,對光照、水漬和油漬等偽報警也具有良好的魯棒性。
因此,本模型的提出,能夠有效彌補(bǔ)人工判斷差異效率低下、成本較高的不足,有一定的實(shí)際應(yīng)用價值。