文/王海軍 何艷 周豪 岳進
鐵路運輸是我國重要的公共運輸方式,保證鐵路軌道處于正常狀態(tài)是至關重要的。因此基于自建數據集,通過YOLOv5網絡模型實現對鐵路軌道的識別,實驗表明,YOLOv5對鐵路軌道檢測召回率達到94.4%,精確率達到62.7%,mAP達到93.1%。具有較好的檢測精度,同時也具有魯棒性。
隨著我國經濟發(fā)展,鐵路已成為不可或缺的交通運輸方式,保證鐵路在運行過程中的安全問題已經成為目前關注的重點[1,2]。我國鐵路具有里程數長,所處環(huán)境復雜等特點。采用傳統(tǒng)的人工巡檢方式無法有效及時發(fā)現鐵路軌道中出現的故障信息,容易出現漏檢的現象。且人工巡檢依賴巡檢人員的經驗,耗費時間長,物資消耗大,已經無法適用于當前鐵路的發(fā)展需要[3]。目前采用智能化算法對鐵路的目標檢測成為當下的研究熱點。文獻[4]采用圖像處理技術對軌道板裂縫進行檢測,首先對圖像預處理,對圖像二值化和裂縫合并等操作實現對裂縫的定位。文獻[5]針對軌道扣件中拍攝環(huán)境和條件的干擾采用深度學習算法YOLO網絡對軌道圖像定位,基本上達到檢測實時性的要求。文獻[5]針對鋼軌的檢測魯棒性和精度較差的問題,采用Hu不變矩陣實現對軌道跟蹤,具有較好的魯棒性。本文采用深度學習算法YOLOv5實現對鐵路軌道的檢測與定位,通過對軌道圖像的標注訓練YOLOv5網絡,最終在測試集上測試軌道檢測定位效果。
YOLOv5是YOLO(YouOnlyLookOnce)系列網絡的延續(xù),是2020年由UltrayticsLLC公司提出的一種高性能目標檢測網絡,其權重文件相比于YOLOv4更小,速度更快[7,8]。其網絡結構如圖1所示。
圖1 YOLOv5網絡結構
在網絡輸入端通過對數據增強增加網絡的自適應能力,更有效地增加網絡對小目標的檢測精度。在網絡輸入之前需要將圖像尺寸固定,本文采用640×640×3的尺寸對圖像輸入,初始錨 框 采 用[10,13,16,30,33,23],[30,61,62,45,59,119],[116,90,156,198,373,326]。在骨干網絡部分包含有Focus操作,該操作可以將圖像切片為幾個部分的堆疊,如將640×640×3的圖像可以變?yōu)?20×320×12的特征圖,隨后對特征圖訓練學習目標特征信息。其中CBL操作由卷積層、歸一化層和Leakyrelu組成,是網絡中的基本單元。YOLOv5借鑒YOLOV4的思想,采用CSP結構。CSP1_x用于骨干網絡中,CSP2_x用于頸部網絡中使用。該結構可以增強網絡學習能力,降低計算成本同時也能保持網絡的輕量性。在網絡輸出端采用GIOU作為邊界框的損失函數,如公式(1)所示:
本實驗在處理器為Intel(R)Core(TM)i3-8100CPU@3.60GHz,運行內存16G,顯卡為NVIDIA1070TI8G,Python3.7下進行。
3.1 圖像標注
使用開源軟件labelimg對采集圖像進行標注,該軟件支持Window系統(tǒng)和linux系統(tǒng)對圖像標注,如圖2所示,通過人工標注方法確定圖像中軌道所在位置信息,并將信息保存為xml格式。
圖2 labelimg標注
標注后的結果如圖3所示,在該XML文件中保存有圖像名稱、圖像格式、圖像所在位置、圖像尺寸和標注的軌道在圖像中x的最大最小值和y坐標下最大最小值。
圖3 標注信息
3.2 網絡訓練。網絡訓練階段設置學習率為0.01,衰減系數為0.0005,迭代次數為300次,動量為0.937。網絡評價指標有召回率(Recall)、精確率(Precision)和mAP。其公式如(2)(3)所示,其中TP代表預測為正類實際為正類的情況,FN代表實際為正類而預測為負類的情況。
采用tensorbox可以查看網絡訓練情況,本文以300epoch作為完整訓練周期。圖4為GIOU_Loss,從圖中可以看到初始訓練階段GIOU_Loss值較高,隨著訓練次數的增加GIOU_Loss不斷減小,當訓練次數達到250次時Loss值逐漸趨于穩(wěn)定,此時網絡模型訓練基本達到最優(yōu),Loss值為0.01182,表明收斂效果較好,訓練完成。
圖4 GIOU_Loss
從圖5中可以看到在0~45次時網絡mAP處于一個增幅振蕩的狀態(tài),說明網絡此時并不穩(wěn)定,需要繼續(xù)學習增強網絡的檢測精度。當迭代次數達到50次時,此時mAP開始趨于穩(wěn)定,并保持在1的附近。當訓練完成后mAP值為1,表明訓練效果顯著,能有效實現對鐵路軌道的目標檢測。圖6中(a)為訓練的精確率,(b)為訓練的召回率。從圖中明顯可以看到精確率在訓練初始階段處于振蕩上升過程,隨著次數的增加,精確率隨之變化較小,伴隨著輕微的振蕩,最終在200個訓練周期后趨于穩(wěn)定,穩(wěn)定后精確率保持在0.95附近,表明此時網絡模型收斂,具有最佳的精度。在(b)中的召回率中可以看到在前50次迭代中網絡振蕩較大,不夠穩(wěn)定。50次迭代后召回率趨于穩(wěn)定,并保持在1附近,說明YOLOv5網絡具有較好的召回率,能夠正確識別鐵路軌道。
圖5 訓練mAP
圖6 精確率與召回率
3.3YOLOv5測試結果
訓練完成后使用test.py文件對網絡模型進行測試。其實驗結果如表1所示,從表格中可以看到,網絡模型中YOLOv5的精確率為62.7%,召回率為94.4%,在IOU為0.5時mAP為93.1%,具有較高的檢測精度,可以滿足鐵路軌道檢測的要求。
表1 實驗結果
圖7為網絡識別結果,(a)為未經過圖像處理的鐵路軌道圖像,(b)為逆時針旋轉后的鐵路軌道圖像,(c)為順時針旋轉后的鐵路軌道圖像,(d)為圖像縮放后的軌道圖像。從圖像中可以看到無論是旋轉還是縮放,訓練后的模型都可以實現對圖像軌道的識別,表明模型檢測效果顯著,具有較好的魯棒性。
圖7 網絡識別結果
本文采用YOLOv5模型對鐵路軌道進行識別,并介紹圖像的標注過程,展示訓練過程中召回率、精確率和mAP的變化曲線,表明網絡能較好用于鐵路中軌道的識別。在測試過程,對圖像翻轉與縮放處理網絡仍能較好地識別軌道,表明YOLOv5在鐵路軌道識別中具有一定的實用價值。C