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