孫次鎖,劉 軍,秦 勇,張玉華
(1.北京交通大學 交通運輸學院,北京 100044;2.中國鐵道科學研究院集團有限公司 基礎設施檢測研究所,北京 100081)
超聲波探傷在鐵路領域有著廣泛的應用[1],鋼軌探傷車采用超聲波檢測原理對在役鋼軌內部傷損進行檢測,通過對檢測數據進行分析以判斷鋼軌中是否存在傷損。目前既有探傷車檢測數據分析軟件(既有系統)對檢測數據進行自動分析存在誤報率高的問題,而且存在傷損漏報。為確保不發生傷損漏報、降低誤報率,需要在既有系統分析基礎上再次進行人工分析,即需對檢測數據進行2次分析,存在效率太低的問題。
為提高數據分析軟件對鋼軌傷損識別的準確率、降低誤報率,現有的方法主要是人工選取檢測數據的分類特征,再設計分類器進行鋼軌傷損分類。如文獻[2]利用“不同類型的傷損超聲回波信號中的頻率成分的能量不同”特點,對超聲波回波信號的頻帶特征進行提取,對發現的裂紋、氣孔、縮松、夾渣進行分類。文獻[3]提出“譜分析處理技術”的改進算法,采用非監督機器學習方法,分析每個類別的缺陷概率和假象概率,降低數據中虛假信號的影響。文獻[4]采用神經網絡算法對檢測數據的處理進行了研究,通過通道信息、閘門信息、對象位置、對象長度、開始深度、截止深度、返回信號的幅值7個特征訓練10個神經網絡,以對10種鋼軌缺陷類型(包括無缺陷)進行傷損識別與分類。文獻[5—8]采用人工選取分類特征的方式對鋼軌傷損進行分類,在這種方式中,鋼軌傷損識別的效果依賴于特征選取的準確、全面程度,對認識不足的傷損特征會有遺漏,存在傷損漏判和誤判率高等問題。
近年來,深度學習技術由于具有自動特征提取特性而受到越來越多的關注,如文獻[9]將深度學習技術應用于鐵道塞釘的自動檢測,以相機獲取的圖像作為輸入。而鋼軌探傷車檢測數據與傳統圖像特點不同,無法直接應用。
本文將檢測數據視為由16個通道二進制矩陣疊加而成的圖像,通過預處理,將“物體檢測”問題轉換為“分類”問題。設計了基于深度學習的鋼軌傷損智能識別模型,并將其識別結果與鋼軌探傷車既有系統識別和人工分析結果進行對比,以驗證智能識別的有效性。
在鋼軌探傷車每側鋼軌處設置有3個超聲波探輪、共16個超聲波閘門,每個閘門視為檢測數據的1個通道,如圖1所示。圖中:閘門編號為1—16,每個閘門名稱由“前/后+外/中/內/斜+角度+檢測部位”組成,其中列車前進方向為“前”,前進方向的反方向為“后”,遠離軌道中心線的方向為“外”,靠近軌道中心線的方向為“內”,“內”“外”之間的為“中”,傾斜安裝,貫穿“中”和“內”的為“斜”;檢測軌腰和軌底的超聲波閘門沒有“內/外”之分,僅有“前/后”。如“前外70°軌頭”代表“鋼軌探傷車前進方向、外側、70°檢測軌頭的超聲波閘門”。各閘門編號及名稱說明見表1。

圖1 鋼軌探傷車單側超聲波閘門位置示意圖

閘門編號閘門名稱閘門編號閘門名稱1前外70°軌頭9后外70°軌頭2前中70°軌頭10后中70°軌頭3前內70°軌頭11后內70°軌頭4前45°軌腰12后45°軌腰5前45°軌底13后45°軌底6前0°軌腰14后0°軌腰7前0°軌底15后0°軌底8前斜70°軌頭16后斜70°軌頭
以前0°軌腰閘門檢測鋼軌軌腰螺孔為例,其B顯數據生成原理如圖2所示。圖2(a)中,灰色箭頭表示超聲波遇到軌腰螺孔后發射,反射信號被超聲波傳感器接收放大,與前0°軌腰閘門閾值進行比較,反射信號的電壓幅值若超過前0°軌腰閘門閾值,反射信號會被記錄,并顯示在B顯圖像中。由于軌腰螺孔阻擋,前0°軌底閘門內的反射波電壓幅值將小于前0°軌底閘門閾值,在鋼軌底部形成底波消失,螺孔反射的前0°軌腰閘門與前0°軌底閘門B型圖像如圖2(c)所示,在進行人工分析時,依據此超聲波B顯圖像進行分析。分析后的B顯數據的數據格式如圖2(d)所示,圖中表格的“行”代表超聲波回波信號在鋼軌中的深度,每行高度為鋼軌軌高的1/128;表格的“列”代表鋼軌里程片段,每列寬度代表0.8 mm。
從圖2(d)看出,在前0°軌腰閘門螺孔發射信號和前0°軌底閘門底波消失信號所在位置的數據為“1”,其他無超聲反射信號位置的數據為“0”(圖中未顯示)。因此對于每個鋼軌探傷車檢測數據文件,B顯數據用二進制稀疏矩陣表示,矩陣行數l為128,列數c為
(1)
式中:d為每個超聲波檢測文件中檢測的公里數。
將每個超聲波閘門看作B顯圖像中的1個通道,則每個鋼軌探傷車檢測數據文件可以看做是由16個通道的二進制矩陣疊加而成。

圖2 B顯數據生成原理
參照既有的鋼軌探傷車檢測數據分析軟件中劃分的鋼軌傷損類別,將鋼軌傷損類別分為12類,各類別依次為無傷(含正常螺孔、導線孔)、內側軌頭核傷、外側軌頭核傷、內中外軌頭核傷、內中軌頭核傷、中外側軌頭核傷、軌底中心區傷損、螺孔裂紋(含斜裂、水平裂)、軌頭垂直劈裂、軌腰分離、軌腰裂紋、其他傷損。鋼軌探傷車檢測數據(簡稱B顯數據)以B顯圖像的形式顯示,如圖3所示。其中圖的橫軸為檢測里程,縱軸為電壓幅值超過閘門閾值時超聲波回波信號在鋼軌中的深度。

圖3 12類鋼軌傷損B顯圖像
圖3中藍色橫線代表軌面、軌鄂、軌底、軌腰軌底結合部。正常鋼軌中,鋼軌各部分材質均勻連續,各個超聲波閘門均無反射信號,因此B顯數據中各超聲波閘門值均為“0”。從圖3(a)看出,螺孔狀態正常、無傷,由于螺孔的存在,前45°軌腰閘門、后45°軌腰閘門、前0度軌腰閘門、后0度軌腰閘門存在反射點,它們的超聲波閘門值為“1”,但螺孔為有縫線路中正常結構,并非鋼軌傷損;從圖3 (b)—(l)看出,鋼軌中均存在傷損,相應的超聲波閘門值為“1”,需要報警,提示鋼軌維修部門進行及時維修。各超聲波閘門為便于操作員進行傷損識別,采用不同顏色、不同方向的圖標表示。
B顯數據可以看做16通道的B顯圖像,則圖像大小為16×l×c,與普通圖像分類相比具有如下特點。
(1) 普通圖像一般為3個通道,B顯圖像為16個通道,圖像通道數目多。
(2) 普通圖像中特征會旋轉、縮放,像素值隨光線變化,B顯圖像中特征無旋轉、無縮放,像素不隨光線變化,但受電信號噪聲影響,且噪聲信號與檢測速度、檢測參數設置等多種因素影響,無明顯規律可循。
(3) 在鋼軌中的固定特征如螺孔、導線孔等,僅從單幅圖像無法識別,需要從圖像與圖像間距(在鋼軌中的距離特征)中尋找規律。
(4) 受超聲傳感器安裝位置影響,B顯圖像各通道間相對距離與具體傳感器安裝位置相關,會影響鋼軌傷損識別。
(5) 圖像識別中訓練集和預訓練的網絡模型可免費下載使用,B顯圖像中鋼軌傷損識別需要自行建立擴展訓練集。
從上述特點來看,B顯圖像識別并不是簡化了的普通圖像識別,B顯圖像獨特的特點使普通圖像識別算法無法直接應用。
深度學習因其可以自動對特征進行逐層抽象學習的特點而受到越來越多的關注,下文將深度卷積神經網絡應用于B顯圖像的傷損識別,設計了傷損識別網絡架構,并針對該架構進行訓練和精調。
基于AlexNet卷積神經網絡架構,針對B顯圖像特點進行修改設計,得到的鋼軌傷損智能識別網絡架構如圖4所示。

圖4 鋼軌傷損智能識別網絡架構(單位:像素)
鋼軌傷損智能識別網絡架構共10層,包括1個輸入層,3個卷積層,3個池化層,2個全連接層, 1個輸出層。在該網絡架構中,進行了如下改進。
(1) 輸入圖片為從整個檢測文件中滑動取出,大小為128×128×16像素,滑動步長為42像素,該大小可確保單個超聲波回波群都能夠完整輸入到傷損識別網絡架構中。
(2) C1卷積層通道數為50個通道,其中有48個通道為全連接通道。第49個通道為部分連接通道,由輸入層的前0°軌腰、前0°軌底、后0°軌腰、后0°軌底閘門共4個輸入通道卷積而成,此4個通道實際為對鋼軌進行了2次檢測,數據具有強相關性;第50個通道為部分連接通道,由輸入層的前45°軌腰、后45°軌腰共2個通道卷積而成;這2個通道在軌頭接縫由于接頭原因而相互轉換。
(3) 池化層采用均值池化方法,均值池化方法可以有效消除由于耦合不良造成的超聲波雜散點。
(4) 輸出層輸出鋼軌傷損類別,除無傷外,其他鋼軌傷損類別均需使用方框將B顯圖像中相關像素框出,并在鋼軌下方顯示類別符號。
(5) 分類輸出采用softmax函數進行輸出得分的歸一化。softmax函數為
(2)
式中:pi為輸入B顯圖像屬于第i類的預測概率;ai為輸入B顯圖像屬于第i類的得分;aj為輸入B顯圖像屬于第j類的得分。
鋼軌傷損智能識別可看作是“物體檢測”問題,即在給定的B顯示數據中精確找到鋼軌傷損所在位置,并標注出鋼軌傷損的類型。在1張B顯圖像中,可能在不同位置存在多個類型的鋼軌傷損。
B顯數據預處理包括噪聲預處理和通道預處理。檢測中的噪聲來源主要為耦合不良、電子電路干擾噪聲、鋼軌中粗大晶粒等,在B顯圖像上噪聲表現為單點雜波或與超聲波傳感器角度不符的多點連續圖形。在鋼軌傷損檢測中,對于少于3個反射回波點的小傷損可以忽略,采用“8鄰域點連續性判斷”方法可以將單點雜波、與超聲傳感器角度不符的多點連續波形、可能為小傷損的B顯圖像中的噪聲等進行屏蔽。
鋼軌探傷采用不同的超聲波閘門檢測不同類型的傷損,因此,將不相關的超聲波閘門可以進行通道預處理,將相關聯的超聲波閘門信號進行提取,不相關聯的超聲波閘門信號進行屏蔽,B顯數據通道預處理如圖5所示。圖中處理前后的數據均為128×128像素。由圖5看出,可將1幅16個通道的B顯圖像依照相關性處理為4幅16個通道的B顯圖像,并針對每1幅處理后B顯圖像中的鄰域點進行超聲波回波信號群劃分,確保預處理后的每1幅B顯圖像中僅含有1種傷損類型,傷損數量為1個, 通過B顯圖像通道預處理,將“物體檢測”問題轉換為“分類”問題。

圖5 B顯數據通道預處理(單位:像素)
基于鋼軌傷損智能識別的網絡架構建立深度卷積網絡模型,其訓練采用深度學習框架TensorFlow實現,硬件環境為i5-6500 CPU(頻率為3.20GHz),64位操作系統,NVIDIA GeForce GTX780Ti臺式機,安裝了CUDA9.0和cuDnn8.4.0系統。
訓練B顯圖像采用鋼軌探傷車在某地的人工傷損標定線上的檢測得到的B顯數據作為訓練樣本集。人工傷損標定線單側鋼軌中,人工傷損布置如圖6中紅色圖形所示。該人工傷損標定線依照標準GB/T 28426—2012 《大型超聲波鋼軌探傷車》[10]要求,設置人工傷損24處,每側12處。

圖6 某地人工傷損標定線單側鋼軌人工傷損布置
圖6中的人工傷損標定線也作為鋼軌探傷車年檢標定線使用,因此積累了不同鋼軌探傷車標定時采集到的大量B顯數據。同時,對每個B顯數據樣本中傷損回波數據在橫向方向位置移動擴充樣本數據,得到螺孔裂紋類B顯數據樣本共79 200個,軌頭核傷B顯數據樣本數92 400個,軌底中心傷B顯數據樣本數42 240個,其他傷損B顯數據樣本數13 200個,其他無傷B顯數據樣本數92 400個。因為每類B顯數據樣本數不均衡,采用smote算法進行過采樣,使任意兩類B顯數據樣本數比例接近1∶1。
將各類B顯數據樣本集隨機選取80%作為訓練集,剩余20%作為測試集。訓練過程中采取Early Stopping和dropout方法防止過擬合。在訓練集上訓練每5輪后計算驗證集的準確性,連續15輪后準確性不再提高則停止迭代。在Fc1和Fc2全連接層采用dropout方法,在訓練過程中全連接層的某些神經元按50%的概率進行關閉連接。
每種類別下都可得到測試樣本為該類的得分值,可繪制出12條受試者工作特征曲線(ROC曲線),最后對12條ROC曲線取均值,經過對鋼軌傷損智能識別模型的參數進行精調,選擇了曲線下面積(AUC)為0.927的ROC曲線代表的模型作為最終模型,最終模型的ROC曲線如圖7所示。

圖7 深度卷積網絡模型ROC曲線
為進一步驗證深度卷積網絡模型的分類性能,在設置于另一地點的人工傷損試驗線連續采集了10次檢測數據。人工傷損試驗線上每側鋼軌設置6段,各段人工傷損布置如圖8中紅色圖形所示。每段鋼軌長6.25 m,均鉆標準螺孔,共加工軌頭、軌腰、軌底各類人工傷損數量106個,兩側鋼軌人工傷損數量合計212個。對該線路連續進行10次檢測,人工傷損數量共2120個。深度卷積網絡模型識別出的螺孔裂紋類傷損識別結果如圖9所示,圖中用紅色矩形框框出部分為1個螺孔裂紋類傷損,兩側鋼軌各識別出10處螺孔裂紋類傷損。

圖8 人工傷損試驗線各段鋼軌人工傷損布置圖

圖9 深度卷積網絡模型鋼軌傷損識別結果
結果統計中,深度卷積網絡模型對檢出的人工傷損分類正確,視為“傷損識別”; 對檢出的人工傷損分類錯誤,視為“傷損誤報”。鋼軌傷損識別率TP和誤報率FP分別為

(3)

(4)
式中:nr為第r類人工傷損中系統識別且分類正確的傷損數量,r=1,2,…,12;N為人工傷損試驗線路上的人工傷損總數;fr為人工傷損試驗線路上的第r類人工傷損中系統分類錯誤傷損數量;f0為人工傷損試驗線路上的識別出的非人工傷損數量。
采用既有系統、設計的深度卷積網絡模型、人工識別3種方式對傷損試驗線檢測得到的B顯數據進行識別,各類鋼軌傷損識別準確率與誤報率對比結果如圖10、圖11所示。由圖10和圖11看出,設計的深度卷積網絡模型在傷損準確率指標、誤報率指標上總體識別結果優于既有系統,與人工判別結果接近,僅通過模型識別即接近既有系統分析后再進行人工分析的結果,提高了檢測數據分析效率,具有實用性。

圖10 12類傷損的準確率

圖11 12類傷損的誤報率
通過分析B顯圖像識別與傳統圖像識別的特點,將超聲波B顯圖像看作是16個通道圖像,并通過B顯圖像通道預處理,將“物體檢測”問題轉化為“分類”問題,設計了基于AlexNet框架的深度卷積網絡架構,并依照B顯圖像特點,確定了各層深度卷積網絡的具體參數組成;建立了B顯圖像訓練樣本庫和驗證樣本庫,采用Early Stopping和dropout方法對深度卷積網絡架構進行訓練精調,建立了深度卷積網絡模型;并將基于該模型的傷損識別與人工判別、既有系統識別進行對比。結果表明,基于深度學習的鋼軌傷損智能識別模型在準確率、誤報率指標上均優于既有系統,達到人工分析的指標,驗證了提出的深度卷積網絡模型的有效性。