摘 要:鐵路系統(tǒng)智能化建設(shè)不僅可以提高鐵路的自動化和智能化水平,而且是鐵路現(xiàn)代化發(fā)展中的重要環(huán)節(jié)。機車在正常行駛過程中,如果車頂存在異物,就可能會產(chǎn)生嚴(yán)重不良后果。目前,通常由工人檢修車頂,效率較低,本文針對這個情況提出了一種基于YOLOv5深度學(xué)習(xí)模型的異物檢測算法,將CIoU損失函數(shù)更換為SIoU損失函數(shù),改進原有的YOLOv5模型,能夠有效識別車頂是否存在異物,準(zhǔn)確分類異物,提高車頂檢測精度和檢修效率,保障鐵路行車安全。
關(guān)鍵詞:異物檢測;圖像處理;列車運行安全;損失函數(shù)
中圖分類號:TP 393" " " " " " 文獻標(biāo)志碼:A
在列車車頂上存在車頂異物,其是由不明原因產(chǎn)生的并且可能導(dǎo)致列車無法正常運行的外來異物,以及關(guān)鍵部件脫落或松動導(dǎo)致的異物。當(dāng)列車運行或停車時,這些異物可能與車頂上的受電弓等固有設(shè)備碰撞或者纏繞,導(dǎo)致設(shè)備受到損害,引發(fā)故障。因此,準(zhǔn)確識別機車車頂異物并采取有效的預(yù)防措施十分重要。
車頂異物檢測方法主要有2種,一種是使用雷達(dá)作為傳感器獲取點云數(shù)據(jù)監(jiān)測異物,另一種是用圖像監(jiān)測技術(shù)識別異物。林萍[1]提取圖像閉合區(qū)域邊緣的矩不變特征,利用歐式距離判斷是否有異物,朱韻琳[2]提出了一種基于激光掃描結(jié)合點云處理的異物檢測方法,這種方法使用三維激光掃描儀掃描車頂,重建為三維點云,能夠準(zhǔn)確檢測異物。
筆者自行制作了適用于評估列車車頂異物檢測的數(shù)據(jù)集,對YOLOv5算法模型進行了改進和訓(xùn)練,改進后的模型在車頂異物檢測方面效果良好。對列車車頂異物進行自動化檢測,減少了人工作業(yè)量,保證車輛檢修質(zhì)量。
1 YOLOv5算法的改進
由于YOLOv5算法具有精度高、效率高的優(yōu)點,因此深度學(xué)習(xí)已經(jīng)廣泛應(yīng)用于計算機視覺的各領(lǐng)域,在特征匹配方面也取得了顯著進展。
2020年,BOCHKOVSKIY A等[3]提出了YOLOv4算法,該算法在YOLOv3的基礎(chǔ)上融合并改進了許多先進的學(xué)習(xí)算法。2020 年 6月,ALEXEY B等提出YOLOv5 [4],其核心是將目標(biāo)檢測任務(wù)轉(zhuǎn)化為單一的神經(jīng)網(wǎng)絡(luò)問題,進一步改進了YOLO模型。
改進后的YOLOv5 提高了YOLO模型的速度和準(zhǔn)確度,在YOLOv4的基礎(chǔ)上優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),采用新的訓(xùn)練策略,使模型設(shè)計更高效。
1.1 YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)
研究表明,YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)主要包括3個組件,其特點如下。
1.1.1 Backbone(骨干網(wǎng)絡(luò))
該組件是一個卷積神經(jīng)網(wǎng)絡(luò),其作用為在不同圖像細(xì)粒度上聚合并形成圖像特征。利用卷積運算提取不同層次的特征圖,并跨階段連接來融合這些特征。采用這種策略有助于減少參數(shù)冗余,提高模型精度。
1.1.2 Neck(頸部網(wǎng)絡(luò))
這個組件由一系列具有混合和組合圖像特征的網(wǎng)絡(luò)層組成,其作用為進一步融合和提取特征,以便更好地檢測目標(biāo)。YOLOv5采用路徑閉合網(wǎng)絡(luò)(Path Aggregation Network,PANet ),PANet的主要目標(biāo)是通過在不同的分辨率上聚合特征來擴大感受野,并提升不同尺度目標(biāo)的檢測精度。
1.1.3 Output(輸出層)
該組件的作用是預(yù)測圖像特征、生成邊界框并預(yù)測類別。這個階段的設(shè)計直接影響模型最終的目標(biāo)檢測性能。由于模型的深度和寬度存在差異,YOLOv5模型的精度較低、體積較小并且便于移植,因此采用YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)。
1.2 YOLOv5損失函數(shù)
損失函數(shù)[4]在訓(xùn)練模型過程中十分重要,它能夠量化模型對結(jié)果預(yù)測的準(zhǔn)確度,進而判定模型與實際數(shù)據(jù)之間的差距。YOLOv5采用IoU指標(biāo)來衡量模型預(yù)測的邊界框和實際目標(biāo)邊界框之間的重疊程度。當(dāng)評估目標(biāo)框和預(yù)測框的類別損失以及置信度損失時采用nn.BCEWithLogitsLoss函數(shù)或FocalLoss函數(shù)。YOLOv5代碼通過選擇寬高比匹配其預(yù)測框與相應(yīng)真實框,每個真實框?qū)?yīng)3個預(yù)測框。位置損失詳細(xì)描述如下。
1.2.1 位置損失
為了更準(zhǔn)確地反映位置匹配情況,YOLO使用IoU損失函數(shù)代替均方誤差損失函數(shù),IoU為預(yù)測框與真實框的比值,IoU為預(yù)測框與真實框的比值,其可以衡量預(yù)測框與真實框之間的位置損失。IoU的Loss損失函數(shù)如公式(1)、公式(2)所示。
(1)
(2)
式中:B為預(yù)測框的面積;Bi為真實框的面積;IoU為預(yù)測框和真實框的交并比,即兩者交集與并集的比值,具有非負(fù)性、同一性和對稱性等優(yōu)點。其輸出范圍一直保持在0~1,有效地反映了預(yù)測框與真實框之間的檢測性能。
1.2.2 置信度損失與類損失
在YOLOv5中,采用損失函數(shù)nn.BCEWithLogitsLoss和FocalLoss,它們是2種常用于二分類問題的損失函數(shù),當(dāng)處理類別不平衡問題時,它們表現(xiàn)良好。nn.BCEWithLogitsLoss損失函數(shù)結(jié)合了二元交叉熵?fù)p失(Binary Cross Entropy,BCE)和 Sigmoid 激活函數(shù)。它通常用于解決二分類問題。Focal Loss是一種解決類別不平衡問題的損失函數(shù),它引入1個調(diào)制因子,降低容易分類的樣本的權(quán)重,從而提高該模型在少數(shù)類別中的性能。
在實際應(yīng)用中,使用哪種損失函數(shù)通常取決于具體問題的性質(zhì)。如果問題是二分類并且類別平衡,那么nn.BCEWith-
LogitsLoss 函數(shù)更合適;如果存在類別不平衡問題并且其中一個類別的樣本相對較少,那么使用 Focal Loss 函數(shù)更合適。
1.3 損失函數(shù)改進
本文將YOLOv5原有的損失函數(shù)CIoU改進為EIoU損失函數(shù)和SIoU損失函數(shù),進行對比試驗,分別驗證其性能。
1.3.1 EIoU損失函數(shù)
YOLOv5原函數(shù)采用CIoU[5]損失函數(shù)計算邊框回歸定位損失,計算過程如公式(3)~公式(5)所示。
(3)
(4)
(5)
式中:LCIoU為CIoU的Loss損失函數(shù);ρ2(b,bgt)為2個框中心點的歐式距離;α為調(diào)整形狀相似度來影響損失函數(shù)的權(quán)重系數(shù);c為能同時覆蓋2個框的最小閉包區(qū)域的對角線距離;v為1個關(guān)于長寬比和中心點距離的參數(shù);w、h 和 wgt、hgt分別為預(yù)測框的高度、寬度和真實框的高度、寬度。
在某些情況下,CIoU對寬高比不平衡的邊界框可能表現(xiàn)不佳。對極端寬高比的目標(biāo)來說,當(dāng)預(yù)測框的寬度和高度分別等于真實框的寬度和高度(w=wgt、h=hgt)時,CIoU損失函數(shù)中對長寬比的懲罰項會降至0,CIoU損失函數(shù)的表現(xiàn)可能不如預(yù)期。對公式(5)求偏導(dǎo),如公式(6)、公式(7)所示。
(6)
(7)
根據(jù)公式(6)、公式(7)可知,在回歸過程中,h和w的變化是相反的,難以同時減少。因此,引入了EIoU損失函數(shù)以改進定位回歸損失。與CIoU損失函數(shù)相比,EIoU損失函數(shù)對高度和寬度的差異分別進行懲罰,由于改進了EIoU損失函數(shù),并且改變了寬高比的懲罰機制,因此它可以更好地處理形狀相似、寬高比不同的邊界框,這種改進有助于提高目標(biāo)檢測模型在邊界框回歸任務(wù)中的精度和準(zhǔn)確性。EloU函數(shù)計算過程如公式(8)所示。
(8)
式中:LEIoU為EIOU的LOSS損失函數(shù);ρ為2個中心點之間的歐式距離;ρ2(w,wgt)為預(yù)測框與目標(biāo)框?qū)挾鹊牟钪担沪?(h,hgt)為預(yù)測框與目標(biāo)框高度的差值;cw、ch分別為可以同時覆蓋2個框的最小閉包區(qū)域的高度和寬度最小的差異。EIoU預(yù)測目標(biāo)邊界框和真實邊界框的高度和寬度最小的差異,關(guān)注預(yù)測框和真實框的高寬比,有助于模型更好地適應(yīng)不同形狀的目標(biāo)并定位目標(biāo),提高目標(biāo)檢測的準(zhǔn)確性。
1.3.2 SIoU損失函數(shù)
CIoU Loss函數(shù)側(cè)重于框的位置與形狀的匹配,并沒有直接考慮方向信息,因此收斂速度較慢。針對以上問題,SIoU考慮期望回歸之間向量的角度,重新定義角度懲罰度量,有效降低回歸的自由度,從而加速網(wǎng)絡(luò)收斂,因此本文采用SIoU Loss損失函數(shù)[6]替換CIoU Loss損失函數(shù)。SIoU函數(shù)計算方法如公式(9)所示。
(9)
式中:Ω為形狀成本;Δ為考慮角度成本后重新定義的距離成本,Ω、Δ定義如公式(10)、公式(11)所示。
(10)
(11)
式中:θ為對Ω的關(guān)注程度;x為預(yù)測的邊界框的角度;y為真實的邊界框的角度。γ為敏感性指數(shù),調(diào)整損失函數(shù)對不同尺寸目標(biāo)的敏感性,如公式(12)所示。
(12)
式中:bgt cx、bgt cy、bcx和bcy分別為地面真值框與預(yù)測框的中心點坐標(biāo)。SIoU減少了預(yù)測框邊界效應(yīng),對部分目標(biāo)的重疊區(qū)域更敏感,更準(zhǔn)確地反映了檢測結(jié)果的質(zhì)量,進一步提升了回歸精度。
2 試驗與結(jié)果分析
2.1 數(shù)據(jù)集構(gòu)建
目前,國內(nèi)外沒有公開的列車車頂異物數(shù)據(jù)集,為了驗證車頂異物檢測算法精度,筆者自制適用于車頂異物檢測的數(shù)據(jù)集,通過現(xiàn)場采集,制成訓(xùn)練集圖片1 278張,驗證集圖片670張,包括工人手套、扳手、風(fēng)箏、樹枝和塑料瓶等。
本文采用的標(biāo)注工具為labelimg,使用labelimg在數(shù)據(jù)集圖片中找到車頂會存在的異物并標(biāo)注分類,自動生成文件信息。
2.2 試驗環(huán)境與評估指標(biāo)
本試驗在Linux系統(tǒng)中進行模型訓(xùn)練與測試,模型訓(xùn)練均是在PyTorch框架上進行的,采用YOLOv5模型,計算機使用的CPU為Intel(R) Xeon(R) CPU E5-2683 v4,GPU為4070-12G,顯存12 GB,為提高網(wǎng)絡(luò)訓(xùn)練速度,使用GPU進行加速,CUDA版本為11.8,軟件為Python3.8,所有對比試驗均在相同環(huán)境下運行。試驗迭代時期(epoch)為200,批量處理大小 (batch size)為16,初始學(xué)習(xí)率為0.001,梯度優(yōu)化器為Adam,其動量設(shè)為0.937。
本文的模型性能評價指標(biāo)為均值平均精度(mAP)、平均精度(Average Precision,P)和召回率(Recall,R),模型檢測速度的計算過程如公式(13)~公式(15)所示。
(13)
(14)
(15)
式中:TP為模型正確地將正類別樣本預(yù)測為正類別的數(shù)量,F(xiàn)P為模型錯誤地將負(fù)類別樣本預(yù)測為正類別的數(shù)量,F(xiàn)N 為模型錯誤地將正類別樣本預(yù)測為負(fù)類別的數(shù)量;AP(i)為類別i的平均精度;mAP為所有類別的平均精度。
2.3 試驗結(jié)果
為了驗證3種不同改進方法的有效性,分別驗證YOLOv5原始算法以及改進方法的性能,試驗對比原始網(wǎng)絡(luò)模型和更改損失函數(shù)網(wǎng)絡(luò)模型的性能,利用本文收集的測試數(shù)據(jù)集進行綜合評估,結(jié)果見表1。
從試驗結(jié)果來看,使用SIoU損失函數(shù),mAP從77.3.%提升至77.8%,提升了0.5%,說明替換為SIoU損失函數(shù)使模型更關(guān)注小目標(biāo),試驗結(jié)果也表明檢測精度提升。使用EIoU損失函數(shù)總體性能均有下降,因此選擇SIoU損失函數(shù)識別車頂異物。
改進模型使用SIoU損失函數(shù)評估車頂異物測試數(shù)據(jù)集,部分結(jié)果如圖1所示,較為良好。
3 結(jié)論
高效的目標(biāo)檢測算法對防止異物入侵來說十分重要,本文結(jié)合深度學(xué)習(xí)網(wǎng)絡(luò)模型,考慮了在檢修過程中識別準(zhǔn)確率和模型運行時長的影響,選擇了適用于列車車頂異物識別的YOLOv5算法模型,并對其進行改進。采用SIoU損失函數(shù)替代原有損失函數(shù),以計算預(yù)測框的回歸損失,提高定位精度。與人工檢測相比,這個改進不僅提高了目標(biāo)識別的精確度,還顯著縮短了處理時間。未來將繼續(xù)研究當(dāng)面對不確定形狀時模型的泛化能力,以進一步提高模型的魯棒性。
參考文獻
[1]林萍.機車車頂異物檢測方法研究[D].重慶:西南交通大學(xué),2014.
[2]朱韻琳,徐曉.基于激光掃描系統(tǒng)的機車車頂異物檢測[J].激光雜志,2016,37(5):60-63.
[3]謝俊章,彭輝,唐健峰,等.改進YOLOv4的密集遙感目標(biāo)檢測[J].計算機工程與應(yīng)用,2021,57(22):247-256.
[4]李慶黨,李鐵林.基于改進YoLOv3算法的鋼板缺陷檢測[J].電子測量技術(shù),2021,44(2):104-108.
[5]LIN T Y,GOYAL P,GIRSHICK R,et al. Focal loss for dense"object detection[J].IEEE transactions on pattern analysis and machine intelligence,2020,42(2):318-327.
[6]ZHENG ZHAOHUI,WANG PING,REN DONGWEI,et al."Enhancing geometric factors in model learning and inference for object"detection and instance segmentation[J].IEEE Transactions on Cybernetics,2021,26(8):1-13.
通信作者:谷云龍(2000-),男,山東濰坊人,碩士研究生,研究方向為機器視覺與深度學(xué)習(xí)等。
電子郵箱:1594487127@qq.com。