張 劍,王等準,莫光健,謝本亮*
(1.貴州大學 大數據與信息工程學院 半導體功率器件可靠性教育部工程研究中心 微納電子與軟件技術重點實驗室,貴州 貴陽 550025;2.成都鐵路公安局貴陽公安處,貴州 貴陽 550025)
高速鐵路的運行速度很快,一旦在運行的過程中發生碰撞,必然導致嚴重的鐵路事故,造成巨大的生命財產損失。針對這一問題,中國已在高鐵沿線搭建了一套綜合視頻檢測系統,通過沿線安裝防護網,設置各種傳感器檢測裝置配合沿路監控攝像頭對高鐵線路進行監控。這種傳統的“防護網+視頻監控”的方法能夠較大地提升高鐵行駛時的安全性,但是其主體仍是依靠人工進行監控和巡查。這種檢測方式耗費了大量的人力資源且效果欠佳,不符合當前智慧交通的理念。
近年來,深度學習模型由于使用多個處理層來學習原始數據的多級抽象表示,在圖像識別、語音識別等領域取得了重大進展。不少學者也將深度學習應用在鐵路檢測中。同時在目標檢測算法方面新的算法不斷涌現,如RCNN、Fast-RCNN、Faster-RCNN、YOLO、SDD等算法在檢測目標時都取得了較好的效果。目標檢測主要分為兩類算法:兩階段檢測算法,如Faster-RCNN、DCNv2、M2Det等,首先產生目標候選區域,然后對候選區域進行分類和回歸。該類算法在檢測速度上較慢,達不到實時檢測需求;單階段算法,如SSD、DSSD、RetinaNet、FCOS等,則是直接對目標的種類和位置進行預測,故檢測速度較快,但是精度與兩階段檢測算法相比較低。
為滿足高鐵異物檢測的實時性需求,該文以單階段檢測網絡中的YOLOv3網絡為主網絡,提出一種改進的YOLOv3網絡來實現高鐵線路異物的檢測。首先使用可切換空洞卷積替換原YOLOv3特征提取網絡中的前四個3×3卷積,SAC以不同的膨脹率對輸入進行卷積,自適應選擇更有效的卷積結果。其次,將Darknet-53中第二次下采樣得到的特征圖,與Darknet-53中第三個尺度得到的特征圖上采樣后的特征層進行融合,然后輸入到檢測層,輸出尺度為104×104的預測特征層,加上原來的三個預測特征層,共輸出四個尺度的預測結果。最后使用自制的數據集對不同改進的網絡進行對比。
YOLO(you only look once)是由Redmon等在2016年提出的一種目標檢測算法。YOLO系列算法將目標檢測重新定義為回歸問題,檢測時首先將圖像劃分為大小不同的網格,當物體的中心落在網格內,這個網格便負責這個物體的檢測。2018年Joseph等人為改善YOLO算法中的缺陷提出YOLOv3目標檢測算法。為獲得更好的檢測效果,其骨干網絡由YOLOv2的Darknet-19替換為Darknet-53,包含53個卷積層。主要特點是在網絡中添加了殘差網絡Residual,殘差網絡內部的殘差塊使用跳躍鏈接,能夠有效緩解深度神經網絡中由于增加深度帶來的梯度消失問題。同時,Darknet-53中每一個卷積使用DarknetConv2D結構,在每次卷積時進行L2正則化,卷積完成后進行標準化和激活函數(leaky ReLU)激活。卷積、標準化和激活函數構成了YOLOv3骨干網絡中的最小網絡單元DBL。在特征利用方面,YOLOv3共提取三個特征層,分別位于Darknet-53中間層,中下層和底層。中間層提取的特征圖感受野較小,主要負責小目標的檢測。而中下層和底層得到的特征圖感受野較大,主要負責大目標的檢測。三個特征層在經過采樣和張量拼接后最終輸出13×13,26×26,52×52三種尺度的預測結果。YOLOv3網絡框架如圖1所示。

圖1 YOLOv3網絡模型及DBL模塊
由于YOLOv3網絡檢測速度快,對于不同尺度的目標都能有效檢測,故該文將YOLOv3網絡應用于高鐵異物入侵檢測場景。
YOLOv3網絡中,預測層分為三個特征層,對應每個特征層有大、中、小三個不同的先驗框。先驗框由數據集聚類而來,能夠加快檢測模型的收斂速度。而YOLOv3模型原始先驗框是由coco數據集聚類得到,并不適合高鐵異物檢測數據集。因此,該文使用k-means聚類算法對高鐵異物數據集進行聚類分析,重新調整先驗框的寬和高。在目標檢測任務中,當先驗框(anchor box)與真實框(ground truth)的交并比IOU越大時,模型收斂速度越快,因此以交并比IOU為度量標準,定義下面的距離函數:
d
(box,centroid)=1-IOU(box,centroid)(1)
式中,box表示先驗框的坐標,centroid表示聚類的中心點。最終得到適用于文中數據集的先驗框,針對輸入尺寸為416×416的圖片設置寬和高[8×31,17×66,23×23,51×47,65×135,112×90,153×210,275×280]。
空洞卷積(atrous convolution)是在標準卷積中以添加空洞的方式來有效提高卷積的感受野,DR(dilation rate)膨脹率是控制空洞卷積中空洞數量的超參數。但是特征圖中不同的位置可能需要不同的DR從而獲得合適感受野來完成檢測任務,可切換空洞卷積,通過訓練一個轉換函數,自適應輸出具有合適感受野的卷積結果,從而提升檢測精度。SAC結構如圖2所示。

圖2 可切換卷積SAC
SAC由上下文全局模塊和核心SAC組件組成,將輸入定義為x
,輸出定義為y
,SAC運算表示為:
(2)
其中,Δw
為可訓練的權重,S
(x
)為轉換函數,由一個5×5內核的平均池化層和一個1×1的卷積組成。輸入x
首先通過全局平均池化,再送到SAC中進行DR分別為1和3的空洞卷積,并與轉換函數相乘,最后再經過一個全局平均池化進行輸出。該文采用SAC來替代YOLOv3骨干網絡中前四個3×3卷積,通過對轉換函數進行訓練,SAC能夠輸出特征圖不同位置自適應的空洞卷積結果,特征圖每個位置都獲得了合適的感受野,從而有效提升了檢測模型的性能。文中高鐵異物檢測數據集由高鐵路線沿路高清攝像頭拍攝視頻得來,包含行人、車輛和動物多種小目標。為充分利用YOLOv3骨干網絡中淺層所包含的小目標信息,提升對小目標檢測的精度,將Darknet-53中第二次下采樣得到的特征圖,與Darknet-53中第三個尺度得到的特征圖上采樣后的特征層進行融合,輸出第四個尺度為104×104的預測特征層。
原YOLOv3網絡中輸出大、中、小三個預測特征層,其尺寸分別為13×13,26×26,52×52,其中52×52的特征層用來預測圖片中的小目標。YOLOv3模型輸入圖片尺寸為416×416,當圖片劃分為52×52個網格時,每個網格單元的尺寸為8×8。而高鐵沿路攝像頭往往高架于鐵路兩邊的高桿上,當有行人、動物和車輛侵入高鐵線路時,拍攝于攝像頭內往往尺寸小于8×8。同時淺層骨干網絡中由于沒有經過更多的下采樣,往往包含很多未被利用的小目標信息,于是利用Darknet-53中第二次下采樣得到的特征圖,與原52×52尺度的特征圖進行融合,輸出尺寸104×104尺度的預測特征層。此特征層包含更多小目標信息,對小目標有更好的檢測效果。改進后的YOLOv3網絡結構如圖3所示。

圖3 改進YOLOv3網絡模型
為驗證提出的改進YOLOv3高鐵異物入侵檢測算法的正確性與有效性,利用自制的高鐵異物檢測數據集進行兩個實驗,一是對不同改進策略的YOLOv3算法進行對比;二是使用其他目標檢測算法與文中改進算法進行對比。
算法于深度學習服務器上進行訓練和測試,訓練和測試環境見表1。

表1 網絡模型訓練與測試環境
為保證改進YOLOv3高鐵異物入侵檢測算法的有效性,利用貴陽高鐵監控視頻為素材,使用Labelimg標注工具按照YOLO網絡所需格式進行標注,得到2 774張異物入侵檢測圖片。由于高鐵異物侵限視頻資料較少,于是挑選UA-DETRAC,Animals-10數據集中的合適圖片對數據集進行補充,其中Animals-10數據集1 500張,UA-DETRAC數據集800張,最終獲得的數據集包含人、車、火車、狗、牛、羊,共5 074張圖片,其中3 552張圖片用于訓練,1 522張圖片用于測試。
對不同改進策略的YOLOv3算法及其他目標檢測算法,均使用相同的訓練設置進行訓練。設置初始學習率為0.001,batch_size為8,迭代次數最大為300 epoch。當迭代次數達到75 epoch,150 epoch,225 epoch時衰減為上一學習率的十分之一。訓練過程中采用翻轉、平移變化等方法對輸入圖片進行數據增強。
目標檢測中通常使用每秒檢測幀數(FPS)、平均檢測精度(mAP)作為評價標準。其中mAP的計算需要計算精確度(precision)和召回率(recall),利用這兩個參數構建準確率-召回率曲線,從而計算出mAP,mAP越大表示整體檢測精度越高。精確度與召回率的計算公式分別為:

(3)

(4)
式中,TP為檢測網絡分類正確的正樣本,FP為分類錯誤的正樣本,FN為分類錯誤的負樣本。
3.4.1 改進YOLOv3網絡對比實驗
分別對使用SAC替換骨干網絡中前四個3×3卷積的YOLOv3網絡(命名YOLOv3-1),改進FPN結構的YOLOv3網絡(YOLOv3-2),及同時加入以上兩個改進的YOLOv3網絡(YOLOv3-3),在圖片尺寸416×416的高鐵異物檢測數據集上進行訓練和測試,與YOLOv3原網絡訓練結果進行對比,實驗結果如表2所示。

表2 改進YOLOv3和YOLOv3檢測結果
如表2所示,改進的YOLOv3網絡相比于原YOLOv3網絡提升了檢測效果。其中YOLOv3-1網絡相比于未改進的YOLOv3網絡mAP有所提升,表明通過將可切換空洞卷積替換原骨干網絡中的前四個3×3卷積能夠有效地提升卷積時的感受野,從而提高檢測精度。而YOLOv3-2網絡相比于原YOLOv3網絡mAP提升更多,表明改進的FPN結構由于融合了來自淺層網絡生成的特征層,獲得了更多的小目標信息,通過對這些信息的利用,使得網絡對小目標的檢測精度有所提升。最后,加入兩種改進的YOLOv3-3網絡平均檢測精度達到79.1%,相較于原YOLOv3網絡mAP增加了4.3%。同時可以看到,三種改進網絡的FPS相較于原YOLOv3網絡都有所下降,分別下降5.5 FPS,7.2 FPS和8.8 FPS。這是由于改進網絡在原網絡上添加了額外的參數,從而導致檢測速度的下降,但是達到最高精度的YOLOv3-3網絡仍有30.9 FPS的檢測速度,能夠滿足實時性的需求。
3.4.2 不同尺度檢測結果分析
為進一步體現改進YOLOv3網絡中可切換空洞卷積SAC和改進FPN結構在提升檢測精度中的作用,挑選大、中、小三種尺度目標train、car、person的AP值進行對比分析,如圖4所示。

圖4 不同尺度目標檢測精度對比
其中A代表未改進的YOLOv3網絡,而B、C、D分別代表YOLOv3-1網絡、YOLOv3-2網絡和YOLOv3-3網絡。通過對比可以看出,B網絡相較于A網絡在train和car上的檢測精度均有提升,表明SAC由于能夠自適應擴大卷積的感受野,可提高網絡對大、中型目標的檢測精度。C網絡與A網絡相比,三種尺度目標的檢測精度均有提升,對小尺度目標person尤為明顯,AP值增加了14%。表明改進FPN結構的YOLOV3網絡更能夠利用網絡中的小目標信息,極大地提升對小目標的檢測效果。而最后加入兩種改進的D網絡相比于A網絡,對大、中、小三種尺度的目標檢測精度均有較大提升,證明了改進YOLOv3的高鐵異物檢測網絡的有效性。
3.4.3 改進YOLOv3算法與其他算法對比
為驗證改進YOLOv3算法的有效性,在相同的實驗環境下利用高鐵異物檢測數據集對DSSD、Faster-RCNN、RetinaNet和CornerNet四種目標檢測算法進行訓練、測試。實驗結果對比如表3所示。

表3 不同算法檢測結果對比
由表3可知,在檢測精度方面,提出的改進YOLOv3高鐵異物檢測網絡模型最高為79.1%。而在檢測速度方面,與其他目標檢測網絡相比,YOLOv3-3網絡同樣有優秀的表現。綜上所述,改進YOLOv3高鐵異物檢測網絡模型擁有更好的檢測精度,雖然檢測速度相對原YOLOv3網絡有所降低,但是仍達到了30.9 FPS,可以滿足實時性檢測的需求。
3.4.4 圖片檢測結果
從數據集中隨機抽取一張圖片驗證改進YOLOv3高鐵異物檢測網絡的有效性,檢測效果如圖5所示。

圖5 改進YOLOv3網絡檢測效果
圖5中(a)、(b)、(c)、(d)分別表示原YOLOv3網絡、YOLOv3-1網絡、YOLOv3-2網絡及YOLOv3-3網絡對同一輸入圖片的檢測結果。其中圖5(a)中誤將右下角的目標train識別為目標dog。圖5(b)相較于圖5(a),三個大目標train的種類預測及位置預測都更為準確,但是對于小目標person的位置預測卻有偏差,體現了SAC增大卷積感受野從而提升檢測性能。圖5(c)中對小目標person的檢測精度較圖5(a)更準確,表明改進FPN提升了對小目標的檢測性能。圖5(d)中對四種目標的種類及位置都預測很準確,證明了改進YOLOv3高鐵異物檢測網絡模型的正確性和有效性。
該文提出一種基于YOLOv3網絡的改進高鐵異物入侵檢測算法,利用可切換空洞卷積替換骨干網絡中的前四個3×3卷積,自適應增加卷積的感受野,提高了對中、大型目標的檢測精度。同時改進FPN結構,利用淺網絡層中的小目標信息,融合輸出尺度為104×104的小尺度預測,提高了小目標的檢測精度。改進YOLOv3高鐵異物檢測網絡在滿足實時性檢測的要求下,平均檢測精度有較大提升,如何提升檢測速度將是后續研究的方向。同時高鐵異物侵限相關數據缺乏也阻礙了高鐵異物入侵檢測的發展,加快相關數據集的建立,也將有效提升目標檢測算法對于高鐵異物入侵的檢測效果。