吳 捷
(上海地鐵維護保障有限公司供電分公司,上海 201106)
作為軌道交通列車主要的供電方式之一,接觸軌是弓網(wǎng)系統(tǒng)的重要組成設備,用于將電能傳輸?shù)杰壍澜煌ㄏ到y(tǒng)電力牽引車輛。處于服役狀態(tài)的接觸軌長期與集電靴摩擦接觸,容易產(chǎn)生軌面擦傷、腐蝕、疤痕等表面缺陷。這些表面缺陷的產(chǎn)生會對供電的穩(wěn)定性產(chǎn)生嚴重影響,而穩(wěn)定的電源供應是保證列車運行的必要條件之一,因此如何及時、準確的發(fā)現(xiàn)接觸軌表面缺陷是一個亟須解決的問題[1]。目前全國使用接觸軌供電的地鐵線路中,接觸軌的缺陷檢測主要依靠相關(guān)工作人員在線路上使用照明工具和反光鏡通過目視檢查的方法進行,該方法存在效率低、勞動強度大、方便性差、檢測周期長等問題[2]。
近年來,基于機器視覺的缺陷檢測技術(shù)在工業(yè)中得到廣泛的應用,文獻[3-6]利用利用深度學習網(wǎng)絡實現(xiàn)鋼軌表面缺陷檢測、螺釘定位、扣件檢測等。接觸軌表面缺陷具有類型多、尺寸跨度大等特點,為了實現(xiàn)接觸軌表面缺陷的高效自動化檢測,本文在經(jīng)典目標檢測模型YOLOv3 的基礎上對特征提取網(wǎng)絡和損失函數(shù)進行了改進,設計了一個基于改進YOLOv3 模型的接觸軌表面缺陷檢測方法。該方法使用Ghost 組件代替Darknet-53 中的殘差模塊來減少模型尺寸、提高參數(shù)利用率、方便模型在低性能的設備上進行部署,采用GIoU 作為邊界框回歸的損失函數(shù)對YOLOv3 的損失函數(shù)進行優(yōu)化,提高模型的收斂速度。
YOLOv3 模型的主要使用Darknet-53 作為新的主干網(wǎng)絡以及采用了特征金字塔網(wǎng)絡FPN[7,8]。YOLOv3 模型將輸入圖像劃分為S×S 網(wǎng)格,在主干網(wǎng)絡中使用殘差模塊來增加網(wǎng)絡深度并執(zhí)行全卷積操作提取圖像特征,同時使用類似FPN 的上采樣和融合方式以實現(xiàn)多尺度檢測,提高了對小目標物體的檢測能力(圖1)。
YOLOv3 模型使用Darknet-53 作為特征提取網(wǎng)絡。該網(wǎng)絡由53 個1×1 和3×3 的卷積層組成,每個卷積層之后是一個BN層和一個LeakyReLU 層,這3 個層組成了1 個CBL 模塊。從圖1 中可以看出,CBL 模塊是YOLOv3 模型的重要組成部分,模型在原始Darknet-53 的基礎上添加了連接層和下采樣層使得一共由75 個卷積層。為了解決網(wǎng)絡深度加深帶來的梯度發(fā)散問題,Darknet-53 使用了殘差模塊。每個殘差模塊中包括兩個卷積層,第一個卷積層卷積核的大小為1×1,第二個卷積層卷積核大小為3×3,在輸入和第二個卷積層之后添加了一個短連接路徑,使用ReLU 函數(shù)作為模塊輸出的激活函數(shù)。這樣的結(jié)構(gòu)設計可以保證在網(wǎng)絡層數(shù)增加的時候模型可以繼續(xù)保持收斂和訓練。隨著網(wǎng)絡深度的增加,可以提取到接觸軌表面更深層次的語義特征,使得識別精度可以提高。同時,在殘差模塊中使用1×1 卷積減少了卷積層的通道數(shù),這可以大大減少模型的參數(shù)數(shù)量。此外,殘差模塊的使用使得網(wǎng)絡的計算量在一定程度上得到了減少,加快了模型的收斂速度。
圖1 原始的YOLOv3 模型結(jié)構(gòu)
選用輕量化的Ghost 組件來代替原始網(wǎng)絡中的殘差模塊,可以減少模型的大小并且增加網(wǎng)絡的推理速度。Ghost 組件包含兩個Ghost 模塊,網(wǎng)絡首先經(jīng)過一個Ghost 模塊來增加通道數(shù)量,然后通過深度可分離卷積對輸入圖像的特征進行重新整合,最后再經(jīng)過一個Ghost 模塊使得通道數(shù)量與短連接路徑進行匹配,兩者相加得到最后的輸出。改進后的特征提取網(wǎng)絡如圖2 所示。
圖2 改進后的特征提取網(wǎng)絡
模型采用均方誤差作為邊界框回歸的損失函數(shù),使用物體真值框和模型預測框的交并比(IoU)作為距離度量。為解決IoU梯度為零無法利用反向傳播進行優(yōu)化[9,10]的缺陷,提高接觸軌表面缺陷檢測的精度,本文使用廣義交并比GIoU 損失作為邊界框回歸損失:
式(1)中,C 表示同時包含A 和B 的最小矩形框。使用GIoU損失代替均方誤差來對參數(shù)進行調(diào)整,模型的總損失函數(shù)為:
其中,Lcls和Lconf分別為接觸軌表面缺陷分類損失和缺陷判斷置信度損失,均使用交叉熵誤差作為損失函數(shù)。
本文實驗用到的接觸軌表面圖像數(shù)據(jù)集來源于上海地鐵16 號線。對采集到的接觸軌表面圖像進行篩選選出536 張圖像作為實驗數(shù)據(jù)集,每張圖像中至少包含1 個缺陷。接觸軌表面缺陷檢測實驗在Windows10 環(huán)境下使用Pycharm 程序進行,深度學習模型搭建使用PyTorch 框架。硬件設備包括:Intel Xeon Silver 4214 處理器,RTX2080Ti 顯卡,32G 運行內(nèi)存。挑選375張作為訓練數(shù)據(jù)集,剩下的161 張作為測試集。訓練時將輸入圖像調(diào)整到416×416 pixels,初始學習率設置為0.01,batch-size為6,最大迭代次數(shù)為300 次。
改進后的模型對接觸軌表面缺陷的檢測結(jié)果如圖3 所示??梢钥闯觯P蛯? 種不同類型的接觸軌表面缺陷均能有效識別。
圖3 不同類型接觸軌表面缺陷檢測結(jié)果
為了進一步定量驗證模型的有效性,選用3 種目標檢測模型進行比較,包括原始的YOLOv3、Tiny-YOLOv3 和SSD。其中,SSD 模型的特征提取網(wǎng)絡選擇VGG16。本實驗從模型的精確率(Precision)、召回率(Recall)、檢測速度(f/s)和尺寸方面進行比較。
其中,TP 表示人工標注為缺陷的樣本被正確識別的個數(shù),F(xiàn)P 表示被模型錯誤識別為缺陷的樣本個數(shù),F(xiàn)N 表示未被檢測出來的缺陷個數(shù);TP+FP 為被正確識別的樣本總數(shù),TP+FN 為樣本總數(shù)。
實驗結(jié)果如表1 所示,Tiny-YOLOv3 在模型大小和檢測速度上有明顯優(yōu)勢,但精確率和召回率較低,只有72.52%和68.29%,難以達到滿意的檢測結(jié)果。本文方法對YOLOv3 的特征提取網(wǎng)絡和損失函數(shù)進行了優(yōu)化,使精確率和召回率提升了1.74%和0.47%。另外,使用了更輕量級的Ghost 組件代替殘差模塊將模型大小壓縮到了59.5 MB,同時檢測速度提升了16.7%。因此,比較3 種方法,本文方法最適合用于接觸軌表面的缺陷檢測。
表1 不同接觸軌表面缺陷檢測方法性能對比
針對接觸軌表面缺陷類型繁多、尺寸跨度大等問題,提出了一種基于改進YOLOv3 模型的接觸軌表面缺陷檢測算法:一方面,采用輕量化的Ghost 組件代替原始YOLOv3 模型特征提取網(wǎng)絡中的殘差模塊,來減少模型的尺寸以及提高參數(shù)利用率;另一方面,使用GIoU 解決IoU 在檢測框和真值框不相交時損失函數(shù)無法反向傳播的問題,并使用GIoU 損失作為邊界框損失加快模型收斂速度。在自制的接觸軌表面圖像數(shù)據(jù)集上進行實驗,精確率和召回率達到90.21%和89.64%,檢測速度達到每張圖片0.015 s。與其他YOLOv3 系列模型進行對比,實驗結(jié)果表明,本文方法在維持高準確率和召回率的同時,大幅減小模型尺寸,提高檢測速率。因此,本文設計的檢測模型有較強的實用價值,未來可靈活部署在性能較弱的軌檢車等檢測設備。