李 昂,孫士杰,張朝陽,馮明濤,吳成中,李 旺
1.長安大學 信息工程學院,西安 710064
2.西安電子科技大學 計算機科學與技術學院,西安 710064
3.湖南大學 機器人視覺感知與控制技術國家工程實驗室,長沙 410000
4.中車株洲電力機車有限公司,湖南 株洲 412000
隨著社會經濟水平的不斷提高,鐵路運輸由于安全便捷、綠色高效、運量大、成本低等特點,已經成為貨物運輸和人民出行的首選交通方式。列車的全自動駕駛技術已經成為當下研究的熱點,無人駕駛列車更是未來鐵路運營的重要目標。隨著列車行駛速度以及鐵路線路里程的不斷提高,對列車的行駛安全問題提出了重大要求。其中列車行駛軌道中隨機出現的障礙物對列車運行安全的影響最為嚴重,如果高速行駛的列車與障礙物發生碰撞,就會造成重大的安全事故,造成嚴重的國民經濟損失。對列車軌道障礙物的智能檢測與識別一直是人們研究的重點。
傳統的檢測方法主要有接觸式和非接觸式兩大方法[1]。其中接觸式檢測方法的代表為電網檢測法以及傳感器檢測法,這一檢測技術雖然趨于成熟,但是安裝步驟復雜,工程量巨大,且需消耗大量金錢與人力成本,不適合大規模投入使用。基于圖像和雷達的非接觸式檢測方法近年來發展迅速,且成本與效率遠大于接觸式檢測方法。郭雙全等[2]提出了一種基于雷達檢測的檢測方法,該方法可以精準定位到軌道障礙物的位置及大小信息,但無法從中判定障礙物的種類信息,使得工作人員無法采取及時有效的應對措施,有一定局限性。金炳瑞等[3]提出一種基于圖像處理的障礙物檢測方法,但只考慮了天氣、光照、時段等情況良好的場景,對于大霧、大雪等惡劣天氣以及夜晚時段光照不充分的情況具有很大的局限性。2012 年以來隨著深度學習理論的迅速發展,深度卷積神經網絡在目標檢測領域取得了廣泛應用,目標檢測的實時性和精確性都獲得了巨大提升。
目前主流的深度學習檢測網絡主要分為單階段檢測網絡和雙階段檢測網絡兩種。其中以Faster R-CNN[4]為代表的雙階段檢測網絡需要先用特征提取器生成一系列可能包含物體的預選框,然后在預選框上進行進一步的目標檢測,具有較高的檢測精度,但檢測的實時性較差。史紅梅等[5]通過深度學習方法將異物檢測與分類相結合,但檢測精度還有待提升。徐巖等[6]提出了一種基于Faster R-CNN 的鐵路異物侵限檢測方法,但模型體積較大,檢測實時性較差,不利于在移動端及嵌入式設備上部署。以YOLOv4[7]、SSD[8]為代表的單階段檢測網絡只需一次特征提取就可實現目標檢測,速度相比于雙階段檢測網絡更快,但檢測精度會有一定的損失。劉力等[9]提出了一種基于YOLOv4 的鐵路障礙物檢測方法,取得了不錯的檢測效果,但該方法對較小目標的障礙物檢測精度較低,無法準確識別距離較遠的障礙物目標。如何平衡檢測速度與檢測精度這兩個指標也是當下研究的重要問題。目前主流單階段檢測網絡的YOLOv5,在檢測速度及檢測精度上皆有良好的表現,在實際工程應用中取得了廣泛的關注。郭磊等[10]提出了一種針對小目標檢測的YOLOv5算法模型,在小目標物體檢測上具有更強的特征提取能力和更高的檢測精度。邱天衡等[11]提出了一種改進特征融合結構的YOLOv5 算法模型,降低了網絡的參數量和計算量,在提升模型檢測精度的同時保持了模型的輕量化。楊曉玲等[12]將YOLOv5算法應用于路面障礙物目標檢測,在實際的交通場景中取得了良好的效果。本文提出了一種基于改進YOLOv5的列車軌道障礙物檢測模型,通過Mixup數據增強技術對輸入圖像進行預處理,增強了模型的泛化能力。將YOLOv5 網絡中的普通卷積層替換為深度可分離卷積GhostConv卷積模塊,并引入了注意力機制,同時進行了模型剪枝操作,有效減少了參數總量,在大幅提高模型檢測速度的同時提高了檢測精度,在實際應用中取得了良好的檢測效果。
YOLOv5 是YOLO 系列發展至今的第五代檢測算法,它在更加輕量化的同時提供了更高的檢測精度,現已成為該系列中性能最優的算法,在工程應用中取得了出色的效果。YOLOv5根據網絡的深度與寬度可分為四個不同的版本,分別為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,四個版本的檢測精度與模型大小依次提升。本文主要針對高速行駛的列車前方500 m 范圍內隨機出現的軌道障礙物進行檢測,為了滿足對檢測實時性的要求,選用更加輕量化的YOLOv5s作為基準模型,方便后續在嵌入式設備中的應用。YOLOv5s的總體結構如圖1所示,總共由四部分組成。

圖1 YOLOv5網絡結構Fig.1 YOLOv5 network structure
(1)Mosaic 數據增強:Mosaic 數據增強使得模型可以一次性讀入四張圖片,并對其中的每張圖片進行隨機裁剪、色域變換、縮放、翻轉等操作,最后將這些圖片拼接在一起進行處理。這種操作方式豐富了檢測物體的背景,增強了網絡的泛化能力和魯棒性。
(2)自適應圖片縮放:模型在進行運算時需要將輸入的圖片尺寸變為固定大小,如果簡單地使用resize,就會造成圖片的失真。YOLOv5 自適應地對輸入的圖片兩端填充上最少的黑邊,然后再送入神經網絡模型中進行訓練。這種處理方式能夠有效提升模型的運算速度又不會造成過多的信息冗余。
(3)自適應錨框計算:YOLOv5 在訓練之前會采用k-means 算法和遺傳學習算法對數據集進行解析,預先設置固定的Anchor,在網絡訓練中會在初始錨框的基礎上輸出預測框,并且計算和Ground Truth 的差距,再反向更新,迭代網絡參數,降低損失函數。
(1)CBS結構:CBS層由Conv+BN+Silu激活函數組成,輸入的圖像先經過卷積層得到輸入的不同特征,然后經過BN層對特征數據進行歸一化處理,最后再由Silu激活函數處理輸入到下一層卷積中。
(2)C3 結構:YOLOv5_v6.0 在主干網絡Backbone中使用了C3結構代替了原有的BottleneckCSP結構,其結構與CSP結構基本相同,只是在修正單元的選擇上略有不同。C3 結構使得模型更加輕量化,在提高模型學習能力的同時又不會占用大量計算資源。
(3)SPPF結構:SPP結構又被稱為空間金字塔池化,能將任意大小的特征圖轉換成固定大小的特征向量,旨在增強特征圖特征表達能力。在YOLOv5_v6.0中使用了SPPF 結構代替了SPP 結構。SPPF 只指定一個卷積核,每次池化后的輸出會成為下一個池化的輸入,速度相較于SPP更快。
Neck部分采用了FPN+PAN結合的方式,運用自上而下的FPN結構以及自下而上的PAN特征金字塔結構作為網絡的融合部分。該網絡主要用于對提取的特征信息進行堆疊處理并傳送到輸出層,加強了網絡特征融合的能力。
Head 用來完成目標檢測結果的輸出。YOLOv5 通過非極大值抑制(NMS)來篩選出目標框,同時采用GIOU_Loss作為損失函數,進一步提升了算法的檢測精度。Head中的主體部分是三個Detect檢測器,當輸入為608×608時,三個尺度上的特征圖分別為76×76、38×38、19×19,基于網格的Anchor在不同尺度的特征圖上進行目標檢測。
為提升模型在小樣本情況下的泛化能力,引入一種更加輕量化的Mixup 數據增強方式。傳統離線數據增強方式可以一次性擴充較多數據,但是在假定領域內樣本都是同一類,沒有對不同類不同樣本之間領域關系進行建模。而且傳統的數據增強方式會有較大的計算開銷,占據較多的存儲空間。本文采用了Mixup數據增強技術替代了YOLOv5 中的Mosaic 數據增強。Mixup 是一種與數據本身無關的數據增強策略,以線性插值的方式來構建新的訓練樣本和標簽,可以大幅提升模型的泛化能力而只需要引入極小的計算開銷,相較于傳統數據增強方式有更好的適用性。其原理如下所示:
其中,λ是由參數α、β的Beta 分布計算出來的混合系數。batchx1與batchx2分別是兩個batch樣本,batchy1與batchy2是對應的標簽,mixed_batchx是混合后的batch樣本,mixed_batchy是對應的標簽。圖2 為α、β相同時的Beta分布概率密度曲線。

圖2 不同取值情況下Beta分布Fig.2 Beta distribution under different values
在實際應用場景中,深度學習模型的計算能力通常會受到硬件環境以及設備空間布局設計的影響,從而受到較大限制。為適應網絡模型在列車嵌入式設備中的應用,引入專為移動設備設計的GhostNet[13]網絡結構,其核心是利用線性操作來生成豐富的特征圖。在原始的網絡結構中,提取圖片特征的過程中會生成大量冗余特征圖,極大地占用了硬件存儲空間,降低了運算速度,實時性較差,不符合高速運行的列車進行快速檢測的要求。
為了實現網絡的輕量化,使用深度可分離卷積GhostConv 模塊替代了原有的普通卷積層,結構如圖3所示。

圖3 GhostConv網絡結構Fig.3 GhostConv network structure
為了能夠準確獲取特征圖細節信息,分離出多尺度局部特征信息,首先使用CV1實現更深層特征提取,這是一個1×1 大小的普通卷積層。然后把輸出的數據分成若干組特征,經由5×5 大小的卷積核進行線性變換,對特征進行更深層次的提取,最終將變換結果進行堆疊操作,合并輸出。網絡通過分組卷積的方式來平衡分組效果和卷積數量,大大降低了模型的復雜度,減少了網絡參數數量,提升了模型運算速度。
注意力機制是在網絡模型計算能力有限的情況下,為了解決信息超載問題,將計算資源分配給更重要的任務而添加進來的一種增強移動網絡特征表達能力的計算單元,它可以告訴模型需要關注哪些位置和內容,目前已被廣泛使用來加強模型的計算能力。考慮到輕量級網絡受硬件環境的約束以及計算能力有限的問題,目前最廣泛使用的是SE(squeeze-and-excitation)通道注意力機制[14],它的出現是為了解決在卷積池化過程中Feature Map的不同通道所占的重要性不同帶來的損失問題,并且可以在消耗少量計算資源的情況下大幅提升模型的性能。
但是SE 模塊僅僅考慮了通道信息編碼,在后續的稀疏訓練及通道剪枝操作中容易丟失重要的位置信息,為此運用了CA(coordinate attention)空間注意力機制[15]來解決上述問題,在特征編碼的同時還保留了位置信息。SE模塊和CA模塊結構如圖4所示。

圖4 SE模塊與CA模塊結構圖Fig.4 SE module structure and CA module structure
在CA模塊中,使用尺寸為(H,1) 和(1,W)的池化核,沿著水平坐標方向和垂直坐標方向對輸入的數據進行通道編碼。因此高度為h以及寬度為w的第c個通道分別表示為:
通過該變換可以將輸入特征圖分為寬度和高度兩個方向分別進行全局平均池化,獲得在寬度和高度兩個方向的特征圖,對該特征圖進行編碼操作可以生成兩個注意力圖,將生成的注意力圖與特征圖相乘以增強目標表達能力。其公式表示為:
其中,δ表示對提取的特征進行下采樣操作,f表示通過下采樣操作得到的中間特征圖,F1表示1×1 卷積。特征圖沿空間維度切分后可得到兩個單獨張量fh和fw,再利用1×1卷積Fh和Fw進行σ變換,經過Sigmoid激活函數后分別得到特征圖在高度和寬度上的注意力權重gh和在寬度方向的注意力權重gw,將注意力權重加到輸入上,得到最終輸出yc。
與SE模塊只產生一個特征向量不同,CA獲取圖像寬度和高度上的注意力并對精確位置信息進行編碼,既可以獲得沿著一個方向的長程依賴,也可以將位置信息沿著另一個方向保存。本文在網絡結構的最后加入了CA 模塊,不需要過多的計算開銷就可以對目標進行更加精確的定位,彌補了SE 模塊的缺陷。改進后的結構由圖5所示。

圖5 改進后的YOLOv5網絡結構Fig.5 Improved YOLOv5 network structure
突觸修剪(synaptic pruning)是許多哺乳動物幼年期和青春期的必經過程,是指軸突和樹突完全衰變和死亡。受啟發于人腦中的突觸修剪,提出了人工神經網絡中的模型剪枝技術,如圖6所示。

圖6 稀疏化神經網絡Fig.6 Sparse neural network
模型剪枝[16-17]可以用來減小模型復雜度,去除多余參數,提升模型泛化性能,從不同剪枝粒度上可分為通道級、權重級或層級,是復雜模型輕量化的一種廣泛使用的方法。粗粒度剪枝只有當網絡層數足夠深時剪枝才有效果,并且要對整層進行修剪,使用非常不靈活。細粒度剪枝如權重級剪枝率較高,且相比于粗粒度剪枝更加靈活,但對硬件設備要求較高,不符合嵌入式設備及移動設備項目的使用需求。通道級別的剪枝[18-22]能夠很好地權衡實現難易程度以及靈活性,能夠應用于任何全連接的網絡,使得傳統CNN 在大部分平臺上快速有效運行。
稀疏訓練利用深層模型的通道稀疏性,獲得重要性較低的通道數量,有利于通道剪枝。首先每個通道引入一個縮放因子γ并與該通道相乘,縮放因子的絕對值即表示通道重要性。將γ正則項與權重損失函數進行稀疏正則化訓練,對網絡本身重要性較低的通道進行剪除,同時不影響其泛化性能。微調剪枝后的模型進行性能評估,再進行修剪迭代,最后實現網絡模型的輕量化。具體實現流程如圖7所示。

圖7 通道剪枝流程Fig.7 Channel pruning process
在細粒度目標檢測任務中,如果模型修剪比例較高,會導致模型一些通道的缺失,降低模型檢測精度。模型微調的過程即對剪枝后模型的再訓練,通過模型微調來彌補精度損失。如式(13)所示,對剪枝后的模型權重參數W1進行微調,在微調過程中設置的學習率learning_rate和迭代次數epoch均比預訓練時小,最后得到更加輕量化的權重參數W2,其中argmin表示使目標函數取最小值時的變量值。
在實際軌道交通場景下,軌道障礙物檢測會存在很多問題,最常見的有如下幾類:
(1)場景變化:由于列車在運行過程中地形、坡度及視野的變化,安裝在火車頭部的攝像機設備所采集到的圖像視角也會存在差異,這種差異會導致圖像中障礙物發生形變,出現大量障礙物目標誤檢,嚴重影響模型檢測的準確率。
(2)時段變化:同一場景在不同時段也存在較大差異,場景受光照影響可見度不同,尤其是夜晚期間的障礙物目標難以獲取,誤檢率較高。本文考慮到此種情況,將夜晚數據集包含在構建過程中,在訓練過程中增強模型的泛化性能。
(3)實際軌道交通中障礙物目標存在隨機性大、交通情況復雜等因素,易存在物體遮擋現象,將多個目標檢測為一個目標,導致漏檢與誤檢。
以上問題的存在使得現有公開數據集如COCO、VOC 等不適用于軌道交通中攝像機所采集到的圖像,容易造成障礙物目標的漏檢和誤檢。
為了提高網絡模型的泛化能力,需要制作場景豐富有效的數據集。本文視頻于2021年11月遠程采集于某集團試驗場地,運用OpenCV來讀取視頻并將視頻進行逐幀保存,幀率選定為5 FPS。本文采集了多種場景下不同時段的軌道列車運行視頻,樣本數據豐富,為建立多樣化數據集奠定了良好基礎。
為解決不同軌道交通場景下目標數據集不匹配導致檢測率低下的問題,本文根據采集到的視頻構建了一個涵蓋多種交通場景及不同時段的多樣化數據集,共20 024張圖片,主要可以劃分為4個子數據集,這4個數據集根據不同應用場景進行劃分。根據光照條件不同分為白天應用數據集、夜晚應用數據集、隧道應用數據集,根據天氣狀況不同分為極端天氣應用數據集,其中包含了大霧、雨雪等極端天氣。構建的數據集如圖8所示。樣本情況如表1所示。

表1 數據集樣本情況Table 1 Dataset sample situation

圖8 多樣化數據集示意圖Fig.8 Schematic diagram of diverse datasets
數據集使用LabelImg標注工具進行標注。LabelImg是一款常見的深度學習圖像標注軟件,將每張圖片上的障礙物用最小的矩形框標注,使用障礙物名稱作為目標類別,如圖9 所示。將標注好的數據集按照訓練集、測試集、驗證集以8∶1∶1的比例分類。

圖9 自建數據集標注示意圖Fig.9 Schematic diagram of self-built dataset annotation
將標注好的圖片加載進模型并進行Mixup 數據增強,將兩張圖片按比例進行差值來混合數據,為訓練提供不同數據類別之間的連續數據樣本,并因此直接擴大了給定訓練集的分布,從而使網絡在測試階段更加強大。Mixup相比于傳統的數據增強技術更加輕量化,只需占據極小的計算開銷,能顯著提升模型的運算速度。經過數據增強的圖片如圖10所示。

圖10 Mixup數據增強Fig.10 Mixup data enhancement
本文實驗環境為ubuntu20.04系統,硬件配置為Intel?CoreTMi5-10500H CPU@2.50 GHz 2.50 GHz,NVIDIA GeForce RTX3060 顯卡,系統內存為16 GB,CUDA 版本為11.1,利用的深度學習框架為Pytorch1.9.0。
實驗采用準確率(precision,P)、召回率(recall,R)、多個類別平均精度(mean average precision,mAP)、占用存儲空間大小、每秒檢測幀數(frames per second,FPS)幾項性能指標評判算法的性能。其中精度P、召回率R和mAP分別表示為:
其中,TP(true positives)表示被正確檢測出的目標數,FP(false positives)表示被錯誤檢測出的目標數,FN(false negatives)表示未被檢測出的目標數,n表示需要分類的類別數,AP(average precision)表示某個目標類的平均精度。
4.3.1 改進Mixup數據增強的實驗結果分析
為了驗證Mixup數據增強方式的有效性,以YOLOv5s為基礎,將算法中原始的Mosaic 數據增強方式改為Mixup 數據增強方式,其余部分不做改動,改動后的算法稱為YOLOv5s-M。將兩種數據增強方式進行實驗對比,實驗結果如表2所示。

表2 改進Mixup數據增強驗證實驗Table 2 Improved Mixup data enhancement validation experiment
從表2 中可以看出,引入Mixup 數據增強方式使得模型檢測精度提升了1.4 個百分點,模型體積減小了2.3 MB,并小幅提升了檢測速度,證明了改進方法的有效性。
4.3.2 改進GhostNet結構的實驗結果分析
為了驗證改進GhostNet 結構的有效性,將原始YOLOv5s 模型中特征提取網絡、特征融合網絡中的普通卷積層替換為深度可分離卷積GhostConv,其余部分不做改動,改動后的算法稱為YOLOv5s-G。將改進后的網絡結構和原有網絡結構進行實驗對比,實驗結果如表3所示。

表3 改進GhostNet結構驗證實驗Table 3 Improved GhostNet structure validation experiment
從表3中可以看出,改進后的網絡模型極大減小了模型體積,檢測速度上也有很大提升,但檢測精度降低了1.6 個百分點,有較大損失。證明GhostNet 結構雖然能夠有效實現模型輕量化,但是會大大降低模型檢測精度,單純的GhostNet網絡結構不符合使用需求。
4.3.3 改進CA注意力機制的實驗結果分析
為了驗證引入空間注意力模塊的有效性,現以經過上述兩種改進方法的模型為基礎,引入空間注意力機制CA,并與其他常見注意力機制模塊進行對比實驗。現將CA 注意力模塊與SE 注意力模塊、CBAM 注意力模塊[23]、ECA注意力模塊[24]分別嵌入至模型的特征提取網絡中,實驗結果如表4所示。

表4 改進CA注意力機制驗證實驗Table 4 Improved CA attention mechanism validation experiment
從表4中可以看出,四種注意力機制都會帶來一定的檢測速度損失,并且會不同程度增大模型體積。四種注意力機制對檢測精度分別提升了0.7個百分點、0.6個百分點、1.0個百分點、0.6個百分點,其中CBAM注意力機制帶來的精度提升效果最為明顯,但是使得模型檢測速度損失較大。其余三種注意力機制對模型精度提升相差不大,但CA注意力機制帶來的檢測速度損失最小。綜上所述,本文引入的CA注意力機制在本模型中的應用更具有優越性。改動后的算法稱為YOLOv5s-MGC。
4.3.4 稀疏訓練與通道剪枝
通過常規訓練得到權重模型后,將權重文件輸入到模型中進行稀疏訓練,稀疏訓練批次與常規訓練保持一致設置為300,設置尺度稀疏率為0.002,聚合模型中的參數,使得模型便于剪枝。
將經過稀疏訓練的模型進行通道剪枝,為保證模型在修剪過程中不會被過度修剪,分別設置全局通道修剪率為50%,60%,70%,80%,輸入圖像尺寸為608×608,分別測試四種通道剪枝后的模型,以尋求最為合適的剪枝率。現調整剪枝率對改進后的模型進行通道剪枝,剪枝結果如表5。

表5 通道剪枝驗證實驗Table 5 Channel pruning validation experiment
由表5可得,經過通道剪枝操作后模型檢測精度會出現不同程度的下降。當剪枝率為50%時,由于剪枝率最小,有較多對模型精度影響不大的通道仍然被保留,對模型大小及檢測速度的提升有限,但檢測精度損失最小,下降了0.6個百分點。當剪枝率為80%時,由于剪枝率最大,其模型大小達到了3.1 MB,檢測速度也達到了107 FPS,但剪去了模型中較為重要的通道和卷積層,使得模型檢測精度損失較大,下降了14.1個百分點。綜上所述,當剪枝率為60%時,能在較大程度壓縮模型大小的同時又能保持原有檢測精度,使得模型便于部署,檢測效果更好,性價比更高。
最后微調剪枝后的模型,并采用知識蒸餾的方式重新訓練剪枝后的模型,設置訓練批次為300,提升剪枝后模型的檢測精度。微調后的模型訓練得到的Loss 曲線如圖11 所示,并與原始YOLOv5s 模型進行對比。改進后的算法稱為YOLOv5s-MGCT。

圖11 Loss曲線圖Fig.11 Loss curves
4.3.5 消融實驗
本文提出的四種改進方法分別為M(Mixup數據增強)、G(GhostNet)、C(CA 注意力機制)、T(通道剪枝處理)。為了驗證四種不同改進方法的有效性,在所應用數據集上設計了消融實驗。為了驗證四種不同改進方法的有效性,從以下兩方面設計消融實驗:(1)以原始YOLOv5s算法為基礎,分別只增加一種改進方法,以驗證每種改進方法對原算法的改進效果;(2)以最終YOLOv5s-MGCT 算法為基礎,分別只消除一種改進方法,以驗證每種改進方法對最終算法的影響程度。
“√”表示引入該方法,從表6 中可以看出,相比于原始YOLOv5s算法,引入CA注意力機制對檢測精度的提升最為明顯,檢測精度提升了1.5個百分點,但對檢測速度有較大影響,模型體積增大了3.2 MB,檢測速度降低了31 FPS。引入GhostNet結構對檢測速度提升最為明顯,模型大小減小了7.3 MB,檢測速度提高了11 FPS,但對檢測精度有較大影響,檢測精度降低了1.6 個百分點。而相比于最終YOLOv5s-MGCT 算法,消除CA 注意力機制對檢測精度影響最大,檢測精度降低了4.4 個百分點。消除通道剪枝處理對檢測速度影響最大,模型體積增大了6 MB,檢測速度降低了15 FPS。同時,本文提出的最終YOLOv5s-MGCT算法相較于原始YOLOv5s,在所應用數據集上檢測精度提升了1.0 個百分點,模型體積減小了9.7 MB,檢測速度提高了14 FPS,能夠在保持算法實時性的同時有著更高的檢測精度。

表6 消融實驗結果Table 6 Ablation experiment results
4.3.6 場景對比實驗
為了驗證所提出算法在不同場景數據集上的泛化性和適用性,現將本文算法模型與原始YOLOv5算法模型在不同場景數據集上進行對比實驗,比較在不同交通場景下的檢測性能,結果如表7與表8所示。

表7 YOLOv5s在不同場景數據集上的檢測結果Table 7 Detection results of YOLOv5s on different scene datasets
對比表7和表8中實驗結果可得,原始YOLOv5s算法與本文所提出的YOLOv5s-MGCT算法均在白天場景數據集上的檢測精度最高,分別為95.2%與95.5%,在極端天氣場景數據集上的檢測精度最低,分別為92.7%與94.1%。總體來說,在四種不同場景數據集上本文所提出的YOLOv5s-MGCT 算法在檢測精度上均高于原始YOLOv5s算法,證明本文算法具有一定的泛化性,能夠適應在不同交通場景下的障礙物檢測。

表8 YOLOv5s-MGCT在不同場景數據集上的檢測結果Table 8 Detection results of YOLOv5s-MGCT on different scene datasets
4.3.7 方法對比實驗
為了進一步證實本文算法的有效性和優越性,現將本文算法模型與當前主流算法模型在同一場景下進行對比實驗。本文算法與YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x、Faster R-CNN、SSD、YOLOX-tiny、YOLOXs、YOLOv4-tiny[25]、YOLOv4 算法進行實驗對比,結果如表9所示。

表9 與當前主流方法的對比實驗Table 9 Comparative experiment with current mainstream methods
對比表9中實驗結果可得,本文算法相比于其他主流檢測模型,有最小的模型體積,同時保持了較高的檢測精度。相比于原始YOLOv5s 模型檢測精度提高了1.0個百分點,比YOLOv5m高0.9個百分點,比YOLOv5l高0.4 個百分點,比YOLOv5x 高0.1 個百分點。與傳統的two-stage算法Faster R-CNN相比具有較大的檢測速度優勢,檢測精度也有極大提升,精度提升了10.6個百分點,模型體積減小了104.2 MB,檢測速度提升了78 FPS。改進后的模型相比于SSD、YOLOX-tiny、YOLOXs、YOLOv4-tiny、YOLOv4 算法在檢測精度上也有較大提升。綜上所述,本文提出的YOLOv5s-MGCT 算法在保持輕量化的同時,有著最高的檢測精度,保持了較好實時性,整體表現較為突出,證明了本文算法的可行性與優越性。本文對改進后算法的效果在不同光照條件的場景下進行了對比展示,如圖12所示。

圖12 不同光照條件下檢測結果Fig.12 Detection results under different lighting conditions
同時對改進后的算法效果在不同種類的極端天氣場景下進行了對比展示,如大霧、大雪天氣等,如圖13所示。

圖13 不同天氣條件下檢測結果Fig.13 Detection results under different weather conditions
針對復雜軌道交通環境下傳統目標檢測算法檢測精度不足、檢測實時性較差等特點,本文通過引入Mixup數據增強方式、改進GhostNet 網絡結構、增加CA 空間注意力機制、稀疏訓練和通道剪枝等方法的集成,來優化YOLOv5這一典型的one-stage檢測算法。
實驗結果表明,改進后的YOLOv5s-MGCT 算法在自制的軌道交通數據集上相較于原始YOLOv5s算法檢測精度提高了1.0 個百分點,模型體積減小了9.7 MB,檢測速度提高了14 FPS,在保持輕量化的同時小幅提高了檢測精度。相比于其他主流檢測算法,在具有一定的速度和體量優勢的同時保持了較高的檢測精度。綜上所述,本文提出的算法適合復雜軌道交通環境下的目標檢測,具有一定的可行性與優越性。