姚宗偉,楊宏飛,胡際勇,黃秋萍,王 震,畢秋實
(1.吉林大學(xué) 機械與航空航天工程學(xué)院,吉林 長春 130025;2.數(shù)控裝備可靠性教育部重點實驗室,吉林 長春 130025;3.一汽-大眾汽車有限公司,吉林 長春 130011)
高速鐵路鋼軌的質(zhì)量是影響高鐵列車運行安全的關(guān)鍵因素,實時準(zhǔn)確檢測軌道表面缺陷,對于及時排除軌道的潛在風(fēng)險至關(guān)重要。軌道缺陷檢測方法主要分為以下三類:一是人工應(yīng)用工具敲打和裸眼目測的方法,具有較大的主觀性;二是借助于激光[1]、超聲波[2-3]、紅外線[4]和渦流[5]等傳感器的檢測方法,此類方法對傳感器本身的可靠性和精度要求較高;三是基于傳統(tǒng)的圖像處理和機器視覺方法[6],此類方法的主要關(guān)注點在于異常對象的定位,其中圖像處理過程占用了大量的計算時間[7]。
除此以外,隨著計算機和信息技術(shù)的發(fā)展,出現(xiàn)了利用機器視覺和基于神經(jīng)網(wǎng)絡(luò)的檢測方法[8-10]。該方法可以較好地降低檢測人員的主觀影響,文獻(xiàn)[9]應(yīng)用該方法對軌道表面質(zhì)量進(jìn)行了檢測,但查準(zhǔn)率和召回率不夠高,距離實際應(yīng)用相差較遠(yuǎn)。
本文提出一種基于機器視覺和卷積神經(jīng)網(wǎng)絡(luò)的軌道表面缺陷檢測方法。首先應(yīng)用灰度化、分割ROI(Region of Interest)、圖像形態(tài)學(xué)變換以及概率霍夫變換等機器視覺方法對圖像中的軌道進(jìn)行智能識別;然后通過中值濾波[11]和雙邊濾波[12]剔除圖像中的噪聲信息,并結(jié)合Canny算法[13],順次應(yīng)用閾值法和離散法去除偽邊緣,提取軌道的真正邊緣;最后,基于卷積神經(jīng)網(wǎng)絡(luò)建立高效的軌道表面形態(tài)分類器[14],完成對軌道表面特征的自動提取,從而將軌道分成完好和有缺陷兩類。軌道表面缺陷檢測方法流程見圖1。
圖1 軌道表面缺陷檢測方法流程
在此部分,需要依次對圖像進(jìn)行灰度化、分割ROI、形態(tài)學(xué)變換和概率霍夫變換4個預(yù)處理步驟,具體流程見圖2。
圖2 軌道識別算法流程
采用灰度加權(quán)法,將原始RGB圖像轉(zhuǎn)化為易于識別的灰度圖像??紤]到軌道和路基有較大色差,用矩形滑動檢測窗口遍歷,進(jìn)行模板匹配,識別出ROI區(qū)域。在ROI區(qū)域,計算各像素點灰度的均值μf和方差σf,根據(jù)式(1)計算出分割閾值IT,以此為據(jù)對灰度圖進(jìn)行分割,得到二值圖像。
IT=μf+3σf
(1)
將ROI區(qū)域分為左右兩個部分,分別記為LD和RD。將LD和RD區(qū)域內(nèi)的有效像素點分別按列放入集合D中,再進(jìn)行后續(xù)的處理。
為了消除噪聲的影響以尋找圖像中明顯的極大值區(qū)域,應(yīng)用形態(tài)學(xué)膨脹和腐蝕作差的方法進(jìn)行處理。
(2)
(3)
(4)
為了降低運算時間,采用概率霍夫變換方法,只需要操作平面內(nèi)部分點即可完成檢測。
分別采用經(jīng)典霍夫變換和結(jié)合形態(tài)學(xué)濾波的改進(jìn)霍夫變換的方法對軌道進(jìn)行識別,軌道識別精度與用時對比如表1所示,對軌道進(jìn)行識別的結(jié)果見圖3。在所有識別的8 523張軌道圖像中,識別軌道的軌跡與人工標(biāo)記相同為正確識別,經(jīng)典霍夫變換方法正確識別到8 152張軌道圖像,改進(jìn)霍夫變換正確識別到8 431張軌道圖像。根據(jù)軌道識別結(jié)果,經(jīng)典霍夫變換精度為95.65%,10次識別平均時間為131 ms;而采用改進(jìn)霍夫變換相結(jié)合的方法精度為98.92%,10次識別平均時間為25 ms。
表1 兩種方法精度、用時對比
圖3 軌道識別
經(jīng)過前文的處理,已經(jīng)識別到了圖像中的軌道,但還需要進(jìn)行精確定位。
首先采用中值濾波,再進(jìn)行雙邊濾波,消除圖像中的噪聲,經(jīng)過Canny算法對邊緣進(jìn)行檢測。軌道原圖及其順次處理結(jié)果見圖4,軌道原圖像見圖4(a),邊緣檢測后的結(jié)果見圖4(b)。可以看到,檢測的結(jié)果包含了大量偽邊緣,需要進(jìn)行偽邊緣處理。
圖4 軌道原圖及其順次處理結(jié)果
對軌道位置進(jìn)行檢測,若檢測到軌道垂直放置,則對像素值矩形進(jìn)行轉(zhuǎn)置處理;若檢測到軌道水平放置,則不進(jìn)行處理。
偽邊緣初步處理,將待檢測圖像第i行像素進(jìn)行加和得到Si,然后將Si與閾值ST進(jìn)行比較,如果Si>ST則保留為邊緣,否則跳過,進(jìn)行第i+1行像素的加和、比較,直到找到滿足條件的像素行,并將其所在行數(shù)記為L1,作為軌道的一側(cè)邊緣界限。同理,可以找到軌道另外一側(cè)的邊緣界限L2。此算法關(guān)鍵在于閾值ST的選擇上,其值會直接影響算法的效果和分割的準(zhǔn)確性。經(jīng)過大量試驗,提取效果較好的閾值ST為
(5)
式中:n為圖像總列數(shù);Imax為最大像素值;Is為像素縮小倍數(shù),取Is=5。
偽邊緣初步去除程序流程見圖5。
圖5 偽邊緣初步去除程序流程
此時得到的邊緣并不僅有L1和L2兩條,只是初步去除了Canny算法檢測得到的一些具有較大偏差的偽邊緣。偽邊緣初步處理效果見圖4(c)。
由圖4(c)可知,圖像中連續(xù)性最好的兩條邊緣為真正的邊緣,其各像素點的像素值與算術(shù)平均數(shù)的差異程度較??;其他各像素點的像素值跳躍性較大為偽邊緣。因此,應(yīng)用每條邊緣的離散程度判斷其是否為偽邊緣,取其中標(biāo)準(zhǔn)差最小的兩條作為真正的邊緣保留,其他作為偽邊緣去除。根據(jù)以上分析,應(yīng)用約束條件式(6)對偽邊緣進(jìn)行去除。
(6)
式中:STDi為軌道圖像第i行的像素值標(biāo)準(zhǔn)差,i=0,1,2,…,m-1;n為輸入圖像的總列數(shù);m為輸入圖像的總行數(shù);c為可以調(diào)整的動態(tài)因子,其對結(jié)果的影響將在試驗部分給出。偽邊緣二次去除效果見圖4(d)。
由于除去偽邊緣的操作可能對真實邊緣造成影響,從而需要進(jìn)一步恢復(fù)。將偽邊緣清理后保留下的兩組邊緣點進(jìn)行線性擬合,得到兩直線的截距和斜率后可以近似恢復(fù)實際邊緣。邊緣擬合結(jié)果見圖4(e),軌道最終定位結(jié)果見圖4(f)。
經(jīng)上文處理已經(jīng)得到了軌道的精確圖像,可以輸入到卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行模型訓(xùn)練。
由于鐵路安全的特殊性對查準(zhǔn)率和召回率的要求有別于其他案例,所以需要定義一個能用于權(quán)衡查準(zhǔn)率和召回率的損失函數(shù)。
在機器學(xué)習(xí)中,一般根據(jù)查準(zhǔn)率P和召回率R來評價檢測與識別效果,應(yīng)用交叉熵代價函數(shù)C(r)來衡量神經(jīng)網(wǎng)絡(luò)預(yù)測值與實際值的接近程度以促進(jìn)模型的訓(xùn)練,其定義分別如式(7)~式(9)所示。
(7)
(8)
(9)
式中:TP為準(zhǔn)確檢測出的缺陷軌道數(shù)量;FP為錯誤檢測出的缺陷軌道數(shù)量(即實際為完好軌道卻錯誤檢測為缺陷軌道);FN為實際為缺陷軌道卻檢測為完好軌道的數(shù)量;M為樣本總數(shù);yr為樣本r的實際值;y(r)為樣本r的預(yù)測值。
由于在常規(guī)卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用的交叉熵代價函數(shù)與召回率沒有直接關(guān)系,所以引入變量K(r)來平衡查準(zhǔn)率和召回率,以滿足軌道缺陷檢測的特殊要求。K(r)的定義為
(10)
式中:ω為權(quán)重,其對結(jié)果的影響將在試驗部分進(jìn)行具體分析。
由于訓(xùn)練期間的當(dāng)前樣本的參數(shù)對現(xiàn)階段的結(jié)果影響最大,所以需要關(guān)注其變化趨勢。用t和s分別表示中間迭代次數(shù)和當(dāng)前迭代次數(shù),當(dāng)前樣本的查準(zhǔn)率和召回率可表示為
(11)
(12)
為了便于后續(xù)的計算,將變量K(r)和交叉熵C(r)進(jìn)行均值標(biāo)準(zhǔn)化[10]
(13)
(14)
式中:μK、σK為K(r)的平均值和方差;μC、σC為交叉熵函數(shù)C(r)的平均值和方差。進(jìn)一步,提出新的代價函數(shù)為
(15)
從式(15)可以看出,變量K(r)對查準(zhǔn)率、召回率和損失函數(shù)都有比較強的約束,可以使分類器向最優(yōu)化的方向運行。
建立Orbitcnn網(wǎng)絡(luò)進(jìn)行軌道表面分類,Orbitcnn網(wǎng)絡(luò)[15]結(jié)構(gòu)見圖6。該網(wǎng)絡(luò)由47層網(wǎng)絡(luò)構(gòu)成,可將大卷積核分解為幾個小卷積核,包含11個Inception-v3原始模型[16]和96個并行卷積層,并將原Inception-v3網(wǎng)絡(luò)的第3個池化層后的最終層替換為2個神經(jīng)元。較早層采用5個模塊A,見圖7,主要將一些較大的卷積核分解成幾個較小的卷積,比如可將5×5的卷積分解為兩個3×3的卷積,參數(shù)量減少了28%,但是兩者感受野是等價的,中間層是采用4個模塊B,圖8是將n×n的卷積分解成1×n和n×1卷積,同樣地這種分解在保證相同效果下降低了參數(shù)量。后面層采用了2個模塊C,見圖9,其特點是卷積組被擴(kuò)展以產(chǎn)生更多不一樣的特征,為了防止直接使用max pool層進(jìn)行采樣從而導(dǎo)致信息損失較大,該網(wǎng)絡(luò)采用一個池化層和一個卷積層[17],最后將兩者的結(jié)果連接在一起,這樣可以防止特性數(shù)量的減少,從而在較小的計算量情形下避免瓶頸層。
圖6 Orbitcnn網(wǎng)絡(luò)結(jié)構(gòu)
圖7 模塊A
圖8 模塊B
圖9 模塊C
為了防止出現(xiàn)過擬合現(xiàn)象,在網(wǎng)絡(luò)中增加一個dropout層,并將其值設(shè)為0.7。將軌道數(shù)據(jù)分成72批進(jìn)行處理,迭代次數(shù)為6 000次。輸入的預(yù)處理軌道圖像大小720×960,與25×25×265卷積核進(jìn)行特征提取后進(jìn)入6×6×265池化層進(jìn)一步壓縮特征數(shù)據(jù),最后進(jìn)入到1×1×2 048的全連接層進(jìn)行參數(shù)訓(xùn)練,學(xué)習(xí)率設(shè)置為0.000 1。
模塊A是輸入被復(fù)制為4份不同的層使用,即圖中3個1×1卷積層和1個最大池化層組成。第2層為2個3×3的卷積層,1個1×1的卷積層。第3層的1個卷積層為3×3。
模塊B是輸入被復(fù)制為4份不同的層使用,即圖中3個1×1卷積層和1個池化層組成。第2層為2個1×n的卷積層,1個1×1的卷積層。第3層的2個卷積層為n×1,第4層的一個卷積層為1×n,第5層的一個卷積層為n×1。
模塊C是輸入被復(fù)制為4份不同的層使用,即圖中3個1×1卷積層和1個池化層組成。第2層的4個卷積層為3×3、1×3、3×1、1×1。第3層的2個卷積層為3×1、1×3。
所采用的軌道圖像數(shù)據(jù)集,是從安裝于沿軌道行駛的測量車上的攝像機俯視拍攝軌道視頻中,截取了軌道圖像8 253張,其中7 123張為完好軌道圖像,1 130張含有缺陷軌道;訓(xùn)練集中軌道圖像3 521張,其中完好軌道圖像3 134張,缺陷軌道圖像387張;其余圖像匯集在測試集中,對訓(xùn)練的模型進(jìn)行測試。
4.1.1 權(quán)重值ω對查準(zhǔn)率和召回率的影響
由于引入了新的損失函數(shù),從而對網(wǎng)絡(luò)優(yōu)化方向產(chǎn)生了影響,需要分析ω值對網(wǎng)絡(luò)召回率和查準(zhǔn)率的影響。權(quán)重值ω對召回率的影響見圖10,當(dāng)ω≥3時召回率有大幅增加;權(quán)重值ω對查準(zhǔn)率的影響見圖11,當(dāng)ω≥2的時候查準(zhǔn)率有大幅度增加;由圖10和圖11可知,隨著ω的增加,召回率和查準(zhǔn)率有所升高,為了同時確保較高的召回率和查準(zhǔn)率,確定ω≥3。
圖10 權(quán)重值ω對召回率的影響
圖11 權(quán)重值ω對查準(zhǔn)率的影響
4.1.2 動態(tài)因子c對召回率和查準(zhǔn)率的影響
為盡量避免缺陷軌道漏檢的情況出現(xiàn),要求有較高的召回率,所以應(yīng)用不同優(yōu)化器和動態(tài)因子c進(jìn)行網(wǎng)絡(luò)訓(xùn)練,從而獲得較高的召回率和查準(zhǔn)率。在保持ω=3不變時對c取不同值,查看Orbitcnn網(wǎng)絡(luò)的性能表現(xiàn),不同優(yōu)化器和動態(tài)因子c對召回率的影響見圖12,不同優(yōu)化器和動態(tài)因子c對查準(zhǔn)率的影響見圖13。由圖12和圖13可知,當(dāng)c增加時不同優(yōu)化器的響應(yīng)不盡相同,但在c=8 時,均方根算法RMS(Root Mean Square)召回率和查準(zhǔn)率均達(dá)到最高,此時其召回率分別比隨機梯度下降算法SGD(Stochastic Gradient Descent)和自適應(yīng)梯度算法Adagrad(Adaptive Gradient Algorithm)高3%和5%,查準(zhǔn)率分別比SGD優(yōu)化器和Adgrad優(yōu)化器高1.5%和3.5%。因此可以認(rèn)為,c=8時的RMS為較高性能的優(yōu)化器。
圖12 不同優(yōu)化器和動態(tài)因子c對召回率的影響
圖13 不同優(yōu)化器和動態(tài)因子c對查準(zhǔn)率的影響
將訓(xùn)練好的Orbitcnn與原始Inception-v3、MLC以及Cropimagecnn[18]分類器進(jìn)行比較,結(jié)果如表2所示。Orbitcnn在召回率和查準(zhǔn)率方面比MLC模型分別高了1.02%和15%,比原始inception-v3網(wǎng)絡(luò)分別提高了2.38%和4.75%,比Cropimagecnn分別提高了1.02%和1.06%,在算法運行時間上Orbitcnn比Inception-v3節(jié)約63 ms,比Cropimagecnn節(jié)約16 ms,雖然相比MLC方法有7 ms的落后,但依然能滿足實時性的要求,同時其在查準(zhǔn)率方面相對MLC方法有大幅領(lǐng)先。綜上可知,Orbitcnn在軌道缺陷檢測上的綜合性能表現(xiàn)優(yōu)于其他模型。
表2 四種模型的比較
(1)應(yīng)用加權(quán)法對圖像進(jìn)行灰度化,將感興趣區(qū)域從圖像中分離,采用形態(tài)學(xué)濾波與概率霍夫變換相結(jié)合的方法進(jìn)行圖像形態(tài)學(xué)變換;采用閾值法去除明顯不能形成連續(xù)邊緣的噪聲,應(yīng)用離散法去除存在較多斷續(xù)且離散性較大的偽邊緣,得到了軌道的真正邊緣;應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)的大卷積核分解成多個小卷積核的特性來降低特征圖像的維度,提高網(wǎng)絡(luò)的非線性以節(jié)約計算成本;構(gòu)建了改進(jìn)交叉熵?fù)p失函數(shù),并對Inception-v3神經(jīng)網(wǎng)絡(luò)進(jìn)行有針對性地調(diào)整,得到了軌道表面分類器Orbitcnn。
(2)采用對實拍軌道圖像進(jìn)行分類試驗,結(jié)果表明:該方法可以在保證精度的同時,在極短的時間(平均單次識別時間為25 ms)內(nèi)高效完成識別任務(wù);在查準(zhǔn)率、召回率和檢測效率三方面綜合表現(xiàn)優(yōu)于MLC、Inception-v3和Cropimagecnn三種方法;為了最終實現(xiàn)軌道質(zhì)量在線實時檢測,尚需對軌道表面缺陷和內(nèi)部結(jié)構(gòu)之間的關(guān)系、分類器的在線學(xué)習(xí)以及軌道缺陷的物理定位等問題進(jìn)行深入研究。