王笑冬,林建輝
(西南交通大學 牽引動力國家重點實驗室,四川 成都 610031)
隨著中國鐵路事業(yè)蓬勃發(fā)展,列車運行速度不斷提升,鐵路沿線檢測暴露出來的問題也越來越明顯。在列車行駛過程中,軌道沿線設備最易損壞,而軌道狀態(tài)又與線路安全息息相關。鐵路扣件作為軌道沿線設備之一,起著固定軌道、絕緣減震、軌距與水平調(diào)整等重要作用[1]。由于其眾多的數(shù)量與地域廣泛的檢修范圍,依靠傳統(tǒng)的人工檢測方法不僅耗時耗力,而且由于巡檢基本都在凌晨線路空窗期,存在一定的漏檢率和安全隱患[2];另外也有先通過檢測車拍照再經(jīng)由工作人員通過拍攝圖片來確定扣件狀態(tài)的檢測方法,這種方法明顯降低了工人的工作強度,提高了巡檢的安全性,但是在本質(zhì)上依然屬于人工檢測,不具有較強的客觀性[3]。基于數(shù)字圖像的檢測技術由于自身具備的自動化、智能化以及高精度、高效率和低成本等特點,可以在一些不方便人員進行檢測的實際工作條件下或者人類視覺可能導致較高的漏檢、誤檢的情況下代替人工工作,及時提供檢測維修信息,在鐵路扣件檢測領域有著很好的應用與發(fā)展前景。實現(xiàn)鐵路扣件缺陷檢測首先對拍攝的扣件圖像進行特征提取,而后再進行識別分析。本文通過二維Gabor變換實現(xiàn)對扣件信息的提取,之后進一步介紹用于檢測的卷積神經(jīng)網(wǎng)絡與膠囊網(wǎng)絡的構(gòu)架搭建以及兩者相結(jié)合產(chǎn)生的神經(jīng)網(wǎng)絡對鐵路扣件狀態(tài)識別的檢測研究。
Gabor濾波器是一種線性濾波器,主要用于分析在指定區(qū)域的指定方向上是否有特定的頻率存在,是一種分析紋理特征的重要技術手段。Gabor濾波器對光照信息不敏感,可有效降低強光及陰天對圖像的影響,十分適合在視覺信息的紋理特征表示與分析中應用[4]。其中二維Gabor變換是正弦平面波調(diào)制的高斯核函數(shù),具有良好的空間和方向局部選擇性,其公式如式(1)所示。其由表示正交方向的實部與虛部構(gòu)成,將二維Gabor變換與需要處理的圖像做卷積運算就可以有效地提取圖像的紋理信息。
g(x,y,λ,θ,ψ,σ,γ)=
(1)
式中:x'=xcosθ+ysinθ;y'=-xsinθ+ycosθ;λ是正弦因子的波長,且有效值>2;θ是二維Gabor函數(shù)平行條紋的法線方向,取值范圍為0°~360°;ψ是相位偏移,取值范圍為-180°~180°;σ是Gabor濾波器中高斯函數(shù)標準差;γ是空間寬高比,文中取值為1。二維Gabor濾波器可以在多尺度和多方向下進行圖像特征提取,在人臉識別領域,一般選取5個尺度和8個方向進行分析。圖1所示是在5個尺度和8個方向下的Gabor濾波器模板。
圖1 Gabor濾波器模板示意圖
由扣件圖像本身特征所決定,在檢測中起主導作用的是其橫向紋理特征,縱向基本無特征存在,故對公式(1)進行變換,取x'=x,y'=y,ψ=0,并在公式中取模長進行計算,以減小方向因素的干擾,變換后的二維Gabor變換公式如公式(2)所示。
g(x,y,λ,θ,ψ,σ,γ)=
(2)
使用二維Gabor變換時,采用的窗口大小通常為固定值,可以根據(jù)實際檢測效果選取不同窗口尺寸。二維Gabor變換可以拆分為實部、虛部以及復數(shù)形式。圖2是在5個窗口尺度(1、3、7、13、19)情況下二維Gabor變換的實部、虛部以及復數(shù)檢測效果圖。
由圖2可以看出,由于扣件圖像像素大小為28×28,濾波窗口尺寸過大會使得圖像模糊,尺寸窗口過小會徒增運算量。在使用大量樣本測試綜合對比檢測結(jié)果后,選擇濾波窗口大小為3,相比于虛部變換和復數(shù)變換,實部變換得到的圖像特征更為清晰,故選擇二維Gabor變換中實部形式來進行扣件特征提取。
圖2 二維Gabor變換檢測效果圖
卷積神經(jīng)網(wǎng)絡在圖片檢測領域有著廣泛應用,尤其針對目標的識別與分類有強大的處理功能[5]。卷積神經(jīng)網(wǎng)絡是通過卷積加池化的方式對圖像特征進行提取后放入全連接的神經(jīng)層和分類器進行分類,池化過程是對檢測目標特征概要進行提取的過程,這種機制使圖像在卷積層不進行特征提取而是在池化層完成,可提高神經(jīng)網(wǎng)絡訓練效率,減少運算量。但這種網(wǎng)絡只針對圖像特征進行檢測和分類,會忽略如空間相對位置等信息[6],可以說卷積神經(jīng)網(wǎng)絡是針對圖像特征的標量檢測。
在圖像識別領域HINTON G E于2017年最新提出了膠囊神經(jīng)網(wǎng)絡(CapsuleNet)的概念[7]。膠囊神經(jīng)網(wǎng)絡可以對在不同角度位置拍攝的同一物體都能做到有效檢測,因為在CapsuleNet中聚類思想代替了池化。所謂膠囊就是一個向量,每個膠囊對應的權重值W也是向量,對比全連接神經(jīng)網(wǎng)絡中只是一個值的標量神經(jīng)元膠囊可以包含方向、位置、顏色、紋理等多重信息[7],通過膠囊神經(jīng)網(wǎng)絡的動態(tài)路由算法反復迭代來更新網(wǎng)絡中各個參數(shù),最終模長最大的膠囊即是正確預測的結(jié)果。圖3為針對本文檢測目標所搭建的膠囊網(wǎng)絡框架圖,包含卷積層、主膠囊層(PrimaryCaps)、數(shù)字膠囊層(DigitCaps),處理后的數(shù)據(jù)可繼續(xù)進入編碼層(Masking)與重構(gòu)層(Decoder)進行數(shù)據(jù)的復現(xiàn),網(wǎng)絡總損失則包含了扣件圖像處理過程中的邊際損失與重構(gòu)損失兩部分。
圖3 膠囊網(wǎng)絡模型框架圖
膠囊網(wǎng)絡中膠囊可以理解為一組嵌套的神經(jīng)網(wǎng)絡,膠囊網(wǎng)絡給每層嵌套的膠囊都添加了squash函數(shù)。squash函數(shù)如式(3)所示,這是在膠囊網(wǎng)絡中出現(xiàn)的一個全新的壓縮函數(shù)。其中Vj是capsulej的矢量輸出;Sj是capsulej的總輸入。squash函數(shù)壓縮了輸出向量的長度,輸出介于0~1。
(3)
膠囊網(wǎng)絡通過動態(tài)路由算法實現(xiàn)低層網(wǎng)絡向高層網(wǎng)絡信息傳遞的權重更新,除第1層膠囊外,其他膠囊的輸入都來自下層所有膠囊的“預測矢量”加權和[7],例如一個capsulej的總輸入Sj如式(4)所示。
(4)
其中“預測矢量”uj|i由下層膠囊的輸出ui和權重矩陣Wij相乘獲得。式(4)中的加權系數(shù)cij是取決于動態(tài)路由算法迭代的耦合系數(shù),cij的計算公式如式(5)所示。
(5)
式中bij取決于上、下層膠囊間的位置與類型。隨著動態(tài)路由的迭代而不斷優(yōu)化更新,在本文中設置的迭代次數(shù)為3即可達到較好的輸出預測結(jié)果。低層膠囊與高層膠囊間的信息傳遞如圖4所示,每一個高層膠囊都是所有低層膠囊加上不同權重系數(shù)的集合,可包含扣件所有特征信息,圖4中以一個高層膠囊為例進行連線示意,其他膠囊與之相同。
圖4 膠囊信息傳遞示意圖
在本文搭建的膠囊網(wǎng)絡中輸入圖片大小為28×28,形狀為(128,28,28,1)的矢量,選取卷積核大小為3×3,將經(jīng)卷積層后的矢量輸入主膠囊層,經(jīng)過動態(tài)路由算法進行迭代,在數(shù)字膠囊層的16個膠囊中選取模長最大的矢量為得到的預測矢量,即預測的扣件狀態(tài)。
傳統(tǒng)卷積神經(jīng)網(wǎng)絡的池化機制強調(diào)的是圖像位置的不變性,而膠囊網(wǎng)絡的目的是實現(xiàn)圖像等價性的檢測,因而膠囊神經(jīng)網(wǎng)絡用動態(tài)路由算法取代了池化機制,但池化在對低層特征進行提取時有很好的表現(xiàn),可以有效提取信息,減小運算量。因此本文結(jié)合兩者優(yōu)勢進行扣件檢測神經(jīng)網(wǎng)絡的構(gòu)建實現(xiàn)。圖5為膠囊網(wǎng)絡結(jié)合卷積神經(jīng)網(wǎng)絡模型框架圖,對低層卷積層輸出的形狀為(128,20,20,256)的矢量進行池化(Pooling)處理,輸出形狀為(128,10,10,256)的矢量再送入主膠囊層和數(shù)字膠囊層進行迭代。由于加入了池化處理,在訓練過程中結(jié)合兩種網(wǎng)絡的檢測網(wǎng)絡比單獨的膠囊網(wǎng)絡所需要的訓練時長更短,在采用900張尺寸為28×28的扣件二值圖為訓練數(shù)據(jù)的情況下,兩者結(jié)合的膠囊網(wǎng)絡所需的訓練時長僅僅是膠囊網(wǎng)絡的1/4,并且對CPU的占用率也更低。
圖5 膠囊網(wǎng)絡結(jié)合卷積神經(jīng)網(wǎng)絡框架圖
本文使用的鐵路扣件樣本為工業(yè)相機拍攝所得到的W型彈條鐵軌扣件,從拍攝的圖像中可以看出扣件狀態(tài)可以分為 4種狀態(tài):扣件完整狀態(tài)、扣件缺失狀態(tài)、扣件斷裂狀態(tài)以及扣件遮蓋狀態(tài)。圖6為扣件的4種狀態(tài)示意圖。在進行鐵路扣件狀態(tài)檢測時,首先選用4種不同狀態(tài)的扣件圖共900張,4種分類放入改良的膠囊網(wǎng)絡進行訓練,之后使用另外500張包含4種扣件狀態(tài)的樣本圖進行測試結(jié)果分析。
圖6 鐵路扣件狀態(tài)示意圖
在訓練好改良膠囊網(wǎng)絡的基礎上將測試圖片集的扣件圖片放入其中進行測試,實現(xiàn)扣件狀態(tài)分類識別問題的結(jié)果輸出,對本文提出的檢測方法的實際檢測效果進行驗證。圖7所示為膠囊網(wǎng)絡結(jié)合卷積神經(jīng)網(wǎng)絡在數(shù)據(jù)訓練階段總損失的變化情況,為每隔50個數(shù)據(jù)打印1次總損失變化情況的折線圖。從圖中可以看出,在單次訓練中訓練到400個數(shù)據(jù)時神經(jīng)網(wǎng)絡已經(jīng)表現(xiàn)出較高的訓練水平,實驗總損失已經(jīng)接近0。由于總損失包含重構(gòu)損失,而神經(jīng)網(wǎng)絡在圖像重構(gòu)時不會達到100%的重構(gòu)率,所以對于任何訓練數(shù)據(jù)實驗得到的總損失只會不斷接近0而不會完全無損失。
圖7 膠囊網(wǎng)絡結(jié)合卷積神經(jīng)網(wǎng)絡訓練損失圖
訓練得到的預測標簽與實際圖像標簽的對比結(jié)果如圖8所示,圖中每隔50個數(shù)據(jù)點打印1次預測標簽的準確率。從圖中可以看出,在單次訓練中>200個的數(shù)據(jù)預測結(jié)果已經(jīng)達到了較好的準確率,可以準確地實現(xiàn)對數(shù)據(jù)圖片集的檢測分類。
圖8 膠囊網(wǎng)絡結(jié)合卷積神經(jīng)網(wǎng)絡結(jié)果預測圖
在網(wǎng)絡測試實驗中,本文對比了卷積神經(jīng)網(wǎng)絡、膠囊網(wǎng)絡和膠囊網(wǎng)絡結(jié)合卷積神經(jīng)網(wǎng)絡3種神經(jīng)網(wǎng)絡的檢測結(jié)果,得到的實驗結(jié)果如表1所示。其中正確檢測率為正確實現(xiàn)扣件檢測分類的占比,誤檢率為扣件檢測分類錯誤的占比,漏檢率為未檢測分類出缺失狀態(tài)的扣件的占比。
表1 檢測結(jié)果對比表 單位:%
通過表1的檢測結(jié)果可知,整體上3種神經(jīng)網(wǎng)絡檢測方法在扣件檢測方面都獲得了較好的檢測結(jié)果,膠囊網(wǎng)絡對比卷積神經(jīng)網(wǎng)絡無論在檢測準確率還是漏檢率上都有一定的進步。由于膠囊網(wǎng)絡的聚類特性,在對定位存在部分偏差的扣件圖像檢測上表現(xiàn)出了更好的容錯性,而扣件缺失圖像的特征明顯,所以3種網(wǎng)絡在漏檢率上都有很好的表現(xiàn)。融合兩者優(yōu)勢的CNN+CapsNet檢測方法并未因為被膠囊網(wǎng)絡摒棄的池化算法而出現(xiàn)較大的檢測失誤,在低層進行池化一定程度上幫助了神經(jīng)網(wǎng)絡進行圖片的檢測,并且對比單純的膠囊網(wǎng)絡進一步提升了檢測效率,其中誤檢圖像與漏檢圖像是由于圖像中碎石遮蓋扣件部分過多而被識別為扣件斷裂或未檢測出缺失,此類圖像干擾過多,需要人工進一步核查,且在容錯范圍之內(nèi)。此外,CNN+CapsNet檢測方法在訓練時長和處理器資源占用率都大幅度下降。圖9所示為3種網(wǎng)絡在訓練時CPU的資源占用率,本文訓練所用CPU型號為Core i5-3230M。從圖中可以看出,CNN資源占用率在80%~100%波動,平均在90%左右;CapsNet資源占用率在95%~100%波動,平均在98%左右;CNN+CapsNet資源占用率在60%~100%波動,平均在75%左右,訓練時長上CNN+CapsNet檢測也只需要CapsNet檢測的1/4左右。
圖9 3種網(wǎng)絡訓練時CPU資源占用率
本文提出的鐵路扣件狀態(tài)檢測方法在解決傳統(tǒng)人工檢測、半智能化檢測的低效性及不安全性等方面上做了有益的嘗試和研究。在通過二維Gabor變換提取扣件紋理特征的基礎上進行神經(jīng)網(wǎng)絡智能識別分類扣件的狀態(tài),提出了用結(jié)合膠囊網(wǎng)絡和卷積神經(jīng)網(wǎng)絡兩者優(yōu)勢的神經(jīng)網(wǎng)絡進行扣件分類檢測,對比單一的膠囊網(wǎng)絡和卷積神經(jīng)網(wǎng)絡,不僅保證了檢測的精準性,還提高了檢測效率,為鐵路扣件的智能檢測做出了有益的研究嘗試,為鐵路車輛安全行駛保駕護航。后續(xù)工作將繼續(xù)圍繞特征提取與神經(jīng)網(wǎng)絡模型優(yōu)化進行,不斷增加數(shù)據(jù)集的復雜程度,以便于對網(wǎng)絡進行訓練、檢測與調(diào)整,提升鐵路扣件的智能化檢測水平。