崔曉寧,王起才,2 ,李 盛,代金鵬,2,梁柯鑫,李隆甫
(1.蘭州交通大學 土木工程學院,甘肅 蘭州 730070;2.道橋工程災害防治技術國家地方聯合工程實驗室,甘肅 蘭州 730070;3.中鐵上海設計院集團有限公司, 上海 200070; 4.中建三局集團有限公司,甘肅 蘭州 730000)
截至2020年底,我國高速鐵路運營里程達到3.79萬km,居世界第一,高速鐵路在服務經濟建設和社會發展的過程中扮演著不可或缺的角色[1]。在高速鐵路的運營過程中,由于列車的動荷載、地基不均勻沉降、外界溫度荷載等因素的影響,無砟軌道道床板及軌枕等構件容易出現松動、開裂,嚴重影響高速鐵路的安全運營[2-3]。因此,開展軌枕裂縫相關研究具有較高的科研價值與現實意義。
鑒于軌枕裂縫研究的重大意義,國內外學者針對軌枕的裂縫進行相關研究,也產出豐碩成果。曾志平等[4]基于太陽能輻射及表面換熱理論,建立軌枕的溫度場數值模型,通過研究不同工況下的溫度場變換得到了最不利工況,研究成果為雙塊式軌枕的設計及養護提供了理論支撐。徐凌雁[5]分析雙塊式軌枕成段開裂機制,結合實際工程背景,提出針對雙塊式軌枕成段開裂的病害整治方案。郭潤平等[6]利用三維光學應變測量儀和裂縫檢測儀觀察研究多孔火山巖骨料混凝土軌枕的疲勞裂縫發展規律,結果表明軌枕疲勞裂縫的擴展速率與加載次數呈現明顯的非線性關系。文獻[7]基于斷裂力學研究B70預應力混凝土軌枕的裂紋擴展,研究結果表明:在確定裂紋擴展參數KIC、裂紋長度及CMOD情況下,預應力混凝土軌枕的斷裂行為是可預測的。張景偉[8]基于西北地區的惡劣環境因素,分析了西北地區軌枕裂縫的形成原因,并總結了軌枕開裂寬度對裂縫內部碳化程度的影響規律。以往的研究成果一般基于軌枕裂縫的產生機制和擴展規律展開,然而由于外界荷載、溫度場、不均勻沉降的不間斷性與不可避免性,軌枕的裂縫也隨之不斷產生和發展,為保證高速鐵路的安全運營,需要對軌枕裂縫進行損傷識別以便及時更換不能繼續正常工作的軌枕。因此,開展軌枕的裂縫目標檢測對高速鐵路的安全運營具有很高的科研價值。
基于深度學習的結構損傷智能識別是目前結構健康監測領域的重要研究課題。對于鐵路建筑而言,國內外學者紛紛開展基于深度學習的鐵路損傷識別研究。扣件的定期安全檢測對鐵路安全運營意義重大,為實現軌道扣件的智能安全檢測,文獻[9]建立多尺度深度檢測網絡(MSF-DDN)與區域多分類網絡,實現了鐵路扣件的智能異常檢測。文獻[10]基于Faster R-CNN目標檢測模型實現了扣件的缺陷檢測。文獻[11]以日本高速鐵路線(東海道新干線)鋼筋混凝土鐵路高架橋的局部損傷為研究對象,建立全卷積神經網路進行結構表面剝落的像素級語義分割,進而實現高速鐵路建筑健康狀態的自動化評估。鋼軌表面缺陷的嚴重程度關系鐵路安全運營,文獻[12]基于SqueezeNet和MobileNetV2的融合模型實現了對鋼軌表面缺陷的高精度智能檢測。文獻[13]為實現鐵路接觸網異常檢測,建立基于深度學習的改進視網膜模型,提高了接觸網故障診斷的精度和效率。文獻[14]基于YOLO-v3和RetinaNet的遷移學習模型實現了軌道裂縫的損傷智能檢測。為解決裂縫圖像正負樣本不均衡的難點,文獻[15-16]在Unet語義分割模型上引入注意力機制進行模型改良,并基于改良后的Unet模型進行裂縫語義分割,得到較高的裂縫識別精度。
對于高速鐵路的發展,實現智能化是大勢所趨,人工智能技術在鐵路相關研究中也紛紛開展[10,13,17-18]。由于人工智能在土木工程領域的應用尚處于發展階段,因此,深度學習技術對許多土木工程領域還未涉足,針對軌枕裂縫的目標檢測,目前研究較少。本文采用先進計算機視覺智能識別方法進行軌枕裂縫的目標檢測,將目前先進的目標檢測算法——YOLO-v5[19]應用于研究較少的軌枕裂縫識別,并基于優化后的YOLO-v5模型進行高精度的軌枕裂縫檢測,在實現軌枕裂縫智能識別的同時也為計算機視覺技術在鐵路行業的應用與發展提供一定參考。 目前目標檢測算法的圖像邊界框多是目標整體框選[10,17,20-21],而裂縫圖像具有極強的正負樣本不均衡性,即需要關注的裂縫本身在圖像中占的像素點極少,不需要關注的圖像背景卻占整個圖像的絕大部分。如果裂縫圖像的標注框太大,深度學習模型對于軌枕裂縫的識別結果欠佳;標注框太小,則深度學習模型容易學習到裂縫圖像中的噪點和干擾。因此,本文通過試算采用適度密集標注法制作軌枕裂縫數據集標簽并取得較高的模型預測精度。
本文所用的雙塊式軌枕裂縫數據集來自“智創工程AI挑戰賽”。軌枕裂縫數據集總量為2 532張圖片,每張裂縫圖片的分辨率為1 400×1 200,裂縫數據集在不同光照、不同干擾條件下采集而得,可有效地提高目標檢測模型的魯棒性。數據集按照6∶2∶2劃分為訓練集、驗證集和測試集。訓練集用來訓練擬合模型權重參數,驗證集用來調整模型參數以便得到最優模型,測試集則利用得到的最優模型進行最終輸出預測和評價。圖1呈現的是部分具有代表性的軌枕裂縫照片。

圖1 不同條件下軌枕裂縫展示
本文所做的軌枕裂縫智能識別屬于有監督學習的范疇。有監督學習是將具有標簽的數據集輸入深度學習模型,進而使深度學習模型學習到數據集輸入與標簽之間的映射,最后將得到的映射關系應用到測試數據集上,以達到分類或回歸的目的。因此在利用深度學習算法對軌枕裂縫進行智能識別之前,需要對數據集中的每一張軌枕裂縫進行裂縫標簽制作,本文采用的裂縫標簽制作軟件為LabelImg,其標注過程如圖2所示。通過大量試算發現,軌枕裂縫標注框不能過大或過小:標注框太大,深度學習模型對于軌枕裂縫的識別結果欠佳;標注框太小,深度學習模型則容易學習到裂縫圖像中的噪點和干擾。因此,本文通過試算采用適度密集標注法進行軌枕裂縫的標簽制作,為目標檢測算法提供數據基礎。

圖2 LabelImg裂縫標注過程
目標檢測算法可分為兩大類:
(1)一階段目標檢測。一階段目標檢測算法可以一次性預測出目標的類別和位置,這類算法具有識別速度快的特點,但是比兩階段目標檢測算法的識別精度低,一階段目標檢測代表算法有YOLO-v3[22]、SSD[23]等。
(2)兩階段目標檢測。這類目標檢測算法原理如下:首先,通過對輸入模型的圖像進行選擇性搜索,進而得到候選區域;其次,將生成的候選區域輸入卷積神經網絡模型進行特征學習與提取;再次,通過全連接神經網絡進行圖像分類;最后,得到圖像的預測邊界框與置信度。兩階段目標檢測具有精度高的特點,但識別速度較慢,兩階段目標檢測代表算法有Faster-RCNN[24]、Spp-Net[25]等。YOLO系列算法經過不斷的迭代更新,目前已經更新出最新的YOLO-v5算法,YOLO-v5算法結合了目前目標檢測算法領域的眾多先進技術,如Mosaic數據增強技術、自適應錨定框、空間金字塔池化、Head-YOLO等。通過結合以上先進技術,YOLO-v5已成為目標檢測領域性能最好的模型之一,尤其對于小目標的檢測,YOLO-v5體現出了較高的適用性與精確度[26-27],而軌枕裂縫也屬于小目標的范疇,因此,本文基于YOLO-v5進行軌枕裂縫的智能檢測。
YOLO目標檢測算法是將目標檢測任務轉化為回歸與分類的綜合任務,其算法原理為:將輸入的整張圖片分割成S×S網格,對于每一個網格,模型都預測B個預測框,每個預測框包含了預測物的類別和置信度,進而預測得到S×S×B個目標檢測窗口,根據模型預先設定好的閾值,神經網絡模型會先清除置信度比較低的目標窗口,最后根據非極大值抑制算法篩除冗余窗口,即可得到最終的目標檢測結果,該預測結果包含目標物的類別與置信度,YOLO目標檢測算法的原理示意如圖3所示。

圖3 YOLO算法目標檢測原理示意
軌枕裂縫目標檢測任務的最終目的是用先進的計算機視覺技術來代替傳統的人工檢測,因此,裂縫的檢測算法最終要部署在移動端進行裂縫智能識別[21],這就要求裂縫識別的模型滿足實時識別與檢測精度的要求,YOLO系列算法識別速度快,實時性強,目標檢測識別精度高。這與軌枕裂縫的智能識別任務契合度較高,因此,本文采取YOLO-v5[13]算法作為軌枕的裂縫識別模型,YOLO-v5算法總體結構如圖4所示。
從圖4可以看出:YOLO-v5算法結構由四部分組成,分別為輸入端、主干網絡、瓶頸塊、預測。輸入端主要完成Mosaic數據增強和自適應錨框計算;主干網絡結構主要對圖片進行特征提取,需要特別指出的是,Focus算法塊首次出現在v5版本中,該算法塊用于對608×608×3的輸入圖片進行切片和卷積,進而得到304×304×32的特征圖;瓶頸塊結構采用FPN+PAN網絡,實現對不同等級特征的融合;預測部分完成對輸入圖像的預測。YOLO-v5用到的算法塊運算原理如圖5所示。
圖4中所示的YOLO-v5算法整體由圖5中的細部算法基本塊堆疊而成,圖5中的算法基本塊由以下單元組成:

圖4 YOLO-v5算法結構

圖5 YOLO-v5細部算法塊
(1)ConV層,又稱卷積層,其作用是提取輸入圖像的特征信息。
(2)BN層,又稱批標準化層,其作用是對輸入進行標準化處理,從而極大地抑制神經網絡模型出現的過擬合與梯度彌散問題。
(3)LeakyRelu激活函數,其作用主要為在神經網絡模型中引入非線性因素,使神經網絡模型可以執行非線性任務。
(4)Concat層,又稱拼接層,其作用主要是將兩個及兩個以上的特征圖在通道維度進行拼接,以實現不同層次的特征信息融合。
(5)Slice運算,對輸入圖像進行切片操作,使Focus模塊能在信息不丟失的情況下實現二倍下采樣。
(6)Maxpool層,又稱池化層,其作用是提高神經網絡訓練速度且有效防止過擬合現象發生。
根據YOLO-v5目標檢測原理與算法結構分析,YOLO-v5目標檢測模型在得到最終的預測結果前,需要完成三個任務:目標物的分類、目標物預測框位置回歸、目標物的置信度回歸預測。因此,基于以上三個任務,YOLO-v5目標檢測任務用到三種損失函數,最終的損失函數為三者之和。
2.4.1 目標分類損失函數
軌枕裂縫的目標檢測模型的分類任務就是區分輸入圖片中的裂縫和背景,屬于二分類任務,因此,本文的目標分類損失函數為BinaryCrossEntropy損失函數,其計算公式為[17]
L(f(x),y)=-[yln(f(x))+(1-y)ln(1-f(x))]
(1)
式中:f(x)為預測結果類別y的概率;y為預測的類別。
2.4.2 IoU、GIoU及CIoU原理
根據IoU、GIoU、CIoU三者的特點,同時結合軌枕裂縫目標檢測的任務需要,對于預測框位置的回歸任務選用CIoU為損失函數,對于預測目標置信度的回歸任務選用GIoU為損失函數。GIoU、CIoU均由IoU改良而來,三者的原理及特點如表1所示。

表1 IoU、GIoU及CIoU原理匯總
軌枕裂縫的目標檢測數據量較大,且數據格式為RGB圖像,因此,為加速YOLO-v5神經網絡模型的訓練與收斂,使用GPU對模型計算進行加速,YOLO-v5目標檢測模型搭建與訓練所需的操作環境和依賴庫如表2所示。

表2 計算機參數
軌枕裂縫目標檢測超參數設置如下:本文YOLO-v5模型的初始學習率為0.001,學習率調整策略選取余弦退火算法[28],優化器選用Adam優化器,圖像輸入批大小為16,通過Mosaic數據增強技術[29]對輸入的每一批次數據進行數據增強處理,以便生成更多的訓練樣本,提升模型的魯棒性和準確率。
圖6、圖7為模型的運算過程曲線,由圖6可得:訓練集正確率最終收斂于98.75%,驗證集正確率收斂于98.36%,兩者的最終收斂值都較高且兩者非常接近,說明軌枕裂縫目標檢測模型沒有發生過擬合或欠擬合現象,模型的目標預測結果準確可靠。由圖7可得:訓練集的損失收斂速度較快,訓練集的損失值提前收斂于0.12,驗證集的損失收斂速度較慢,其損失值最終也收斂于0.12附近,兩者的損失最終收斂值基本一致,這也說明了本文的目標檢測模型參數設置合理,預測結果準確。

圖6 模型正確率曲線

圖7 模型損失函數曲線
根據目標真實標注框和模型預測框的相對關系,目標檢測模型的預測結果分為四種:真陽性(TP)、假陽性(FP)、真陰性(TN)、假陰性(FN)。為了評價模型裂縫檢測能力的優劣,引入了模型的評價指標:PA(目標檢測正確率)、mAP(平均精度)和Recall(回調),在訓練YOLO-v5目標檢測模型的同時,YOLO-v2、YOLO-v3、Faster R-CNN等目標檢測模型也在同一數據集上進行訓練,以便橫向比較采用YOLO-v5的目標檢測效果。
(2)
(3)
(4)
(5)
式中:p為查總率;C為目標檢測任務中的類別數量;k為圖片數目;N為圖片總數。
YOLO-v2、YOLO-v3、Faster R-CNN及YOLO-v5在軌枕裂縫數據集上的模型性能評價結果如表3所示。由表3可得:在軌枕裂縫的目標檢測任務中YOLO-v5模型表現出良好的裂縫檢測能力,各項評價指標都是最優,其中PA為98.35%,mAP為48.72%,Recall為90.32%;在單張圖片平均識別時間方面,由于YOLO-v5算法模型較為復雜,模型參數較多,使得YOLO-v5模型的單張圖片處理時間為0.01 s,考慮YOLO-v5模型的裂縫監測結果更準確,運算時間略長在可接受范圍內。

表3 目標檢測模型評價分析
前文從模型訓練過程的正確率與損失函數變化規律的角度分析,得出了模型參數設置合理、預測結果準確的結論,本節將對軌枕裂縫目標檢測模型的預測結果可視化,以更加直觀的方式展現YOLO-v5的裂縫目標檢測結果。為體現模型的泛化能力和強魯棒性,選取不同條件下軌枕裂縫的智能識別結果進行展示。軌枕裂縫可視化結果如圖8所示。
由圖8可得:對于正常光照、暗光線、微裂紋等不同條件下的原始裂縫圖片,YOLO-v5軌枕裂縫目標檢測模型都預測出了準確的目標檢測框,這體現了YOLO-v5模型良好的泛化能力和魯棒性,同時模型的準確預測結果可為實際鐵路工程的軌枕裂縫檢測與智能識別提供理論參考和算法支撐。在此需要特別說明的是:軌枕裂縫的目標檢測置信度普遍不高,置信度最大為0.92,置信度最小為0.26,這一結果相較文獻[22,24,30]低。事實上出現這樣的結果是合理的,原因在于:本文YOLO-v5模型執行的目標檢測任務為軌枕裂縫識別,而裂縫本身狹長,在整張圖片中所占像素點極少,圖片中模型不關注的背景反而占據絕大部分的像素點,造成裂縫圖像正負樣本極不均衡,裂縫檢測較為困難;本文所用的裂縫數據集存在光照差、裂縫不明顯、環境干擾較多等諸多問題,這些因素也會降低裂縫置信度的預測值。因此,本文的裂縫目標檢測置信度較低。

圖8 軌枕裂縫智能識別結果
基于YOLO-v5目標檢測算法,建立了軌枕裂縫的目標檢測模型,完成了軌枕裂縫的智能識別。主要結論如下:
(1) 將YOLO-v5目標檢測模型應用到雙塊式軌枕裂縫的智能識別中,通過數據集標注、模型構建、參數調整、模型訓練和結果預測等步驟,實現了軌枕裂縫的高精度智能識別。
(2) 通過合理的參數選取與調試,YOLO-v5軌枕裂縫目標檢測的訓練集與驗證集準確率接近并各自收斂,模型沒有發生過擬合或欠擬合現象,模型目標檢測正確率為98.35%,mAP值為48.72%,Recall值為90.32%,單張圖片識別速度為0.01 s,模型預測結果精確度高且裂縫實時識別性能良好。
(3) 對YOLO-v5軌枕裂縫目標檢測模型在測試集上的預測結果進行可視化,結果表明:針對正常光照、暗光線及微裂紋等不同條件下的裂縫圖像,YOLO-v5都能實現高精度的智能識別,YOLO-v5軌枕裂縫目標檢測模型可滿足實際工程中復雜工況的要求。