袁 航,胡 偉,趙 龍,琚中超,卜旭輝
(1.河南理工大學(xué),河南焦作 454003;2.鄭州鐵路局鄭州機(jī)務(wù)段,河南鄭州 450053)
鐵路作為國(guó)家經(jīng)濟(jì)發(fā)展的大動(dòng)脈,已經(jīng)成為交通運(yùn)輸不可或缺的一部分。在鐵路運(yùn)行時(shí),常發(fā)生接觸網(wǎng)懸掛異物、異物侵限,甚至地陷等安全隱患。如果可以實(shí)現(xiàn)遠(yuǎn)距離對(duì)侵限異物快速、準(zhǔn)確、高效的檢測(cè),就可以有效減少碰撞異物問題,降低損失。目前,對(duì)侵限異物的檢測(cè)主要分為接觸式和非接觸式兩類[1]。徐偉等[2]提出的高鐵接觸網(wǎng)異物自動(dòng)化智能檢測(cè)方法,通過訓(xùn)練接觸網(wǎng)安全巡檢裝置(2C),采集圖像數(shù)據(jù),并由Softmasx 進(jìn)行目標(biāo)分類,實(shí)現(xiàn)異物識(shí)別。劉力[3]提出的基于YOLOv4 的鐵道侵限障礙物檢測(cè)方法,研究通過改進(jìn)YOLOv4,提高檢測(cè)精度及速度。于晨[4]提出的基于深度學(xué)習(xí)的機(jī)場(chǎng)跑道異物檢測(cè)與識(shí)別技術(shù)研究,通過融合FOD 圖像檢測(cè)算法與多屬性識(shí)別算法,實(shí)現(xiàn)對(duì)FOD目標(biāo)的準(zhǔn)確檢測(cè),再通過對(duì)抗生成網(wǎng)絡(luò)對(duì)樣本進(jìn)行識(shí)別分類。上述研究實(shí)現(xiàn)了異物檢測(cè)功能,但由于攝像頭鋪設(shè)線路費(fèi)用高、維修困難、面對(duì)突發(fā)情況來不及通知司機(jī)等問題,使在列車運(yùn)行中的諸多突發(fā)情況仍需要依靠司機(jī)進(jìn)行判斷并采取措施。
如果可以實(shí)現(xiàn)在列車運(yùn)行中實(shí)時(shí)遠(yuǎn)距離檢測(cè)異物,就可以為司機(jī)留有足夠的判斷時(shí)間,及時(shí)采取停車或者降弓通過等措施規(guī)避異物,避免長(zhǎng)時(shí)間停留而引發(fā)大規(guī)模晚點(diǎn)的事故發(fā)生。
AlexNet 網(wǎng)絡(luò)[5]在ImageNet 大賽中一舉奪冠后,深度卷積神經(jīng)網(wǎng)絡(luò)取得高速發(fā)展,如工程病害檢測(cè)等任務(wù)[6]。主流檢測(cè)網(wǎng)絡(luò)分為單階段檢測(cè)以及以YOLO 為代表的雙階段檢測(cè)[7]。YOLOv5以其簡(jiǎn)潔的網(wǎng)絡(luò)結(jié)構(gòu)、簡(jiǎn)單的環(huán)境配置、較快的檢測(cè)速度以及較好的識(shí)別精度被本次研究所采用。本文將顯示模塊、識(shí)別模塊、語音報(bào)警模塊、視頻傳輸模塊、定位模塊相結(jié)合,構(gòu)建了鐵路遠(yuǎn)距離異物識(shí)別報(bào)警裝置,可以實(shí)現(xiàn)列車在運(yùn)行中遠(yuǎn)距離圖像實(shí)時(shí)傳輸并識(shí)別異物。構(gòu)建鐵路異物數(shù)據(jù)集并進(jìn)行訓(xùn)練,部署YOLOv5 深度學(xué)習(xí)算法,實(shí)現(xiàn)常見異物的檢測(cè)識(shí)別。針對(duì)路外人員配合背景優(yōu)化和離線增廣,探究了背景及數(shù)據(jù)擴(kuò)容對(duì)目標(biāo)檢測(cè)的影響,從而實(shí)現(xiàn)了高精度、高魯棒性的目標(biāo)檢測(cè)。
YOLOv5 權(quán)重訓(xùn)練使用的計(jì)算機(jī)配置如表1 所示。
表1 權(quán)重訓(xùn)練計(jì)算機(jī)配置
語音報(bào)警模塊選用Risym 的MP3 語音播放模塊,定位模塊選用亞博智能的GPS 北斗雙模定位模塊,圖像傳輸模塊選用海康威視DS-2DC4423IW-D 型,顯示模塊選用7″高清觸摸屏,檢測(cè)模塊選用Jetson Nano,具體硬件設(shè)計(jì)如圖1 所示。在接通電源后,通過雙攝像頭模塊進(jìn)行遠(yuǎn)、近圖像傳輸,通過RTSP 推流將視頻送入邊緣計(jì)算設(shè)備進(jìn)行預(yù)測(cè)。由于存在誤判的可能,增設(shè)一個(gè)閾值,在預(yù)測(cè)概率大于閾值時(shí)進(jìn)行報(bào)警。在報(bào)警信號(hào)發(fā)出后,為方便觀察異物,添加延時(shí)程序。由定位模塊進(jìn)行設(shè)備定位,實(shí)現(xiàn)位置信息識(shí)別并判定,通過與預(yù)設(shè)的位置區(qū)間相比較,控制遠(yuǎn)距離傳輸攝像頭云臺(tái)旋轉(zhuǎn)至預(yù)設(shè)位置。
圖1 硬件設(shè)計(jì)
YOLOv5_6.1 網(wǎng)絡(luò)結(jié)構(gòu)主要由輸入端、Backbone(骨干)網(wǎng)絡(luò)、Neck 網(wǎng)絡(luò)、Head 網(wǎng)絡(luò)構(gòu)成(圖2)。
圖2 YOLOv5_6.1 網(wǎng)絡(luò)結(jié)構(gòu)
2.1.1 輸入端
在網(wǎng)絡(luò)訓(xùn)練中,每個(gè)模型文件會(huì)設(shè)定有預(yù)設(shè)框。在YOLOv5 中,將自適應(yīng)錨框計(jì)算融入到代碼中,每次訓(xùn)練時(shí)都會(huì)在初始錨框的基礎(chǔ)上與真實(shí)框進(jìn)行比較,反向迭代網(wǎng)絡(luò)參數(shù),用來計(jì)算數(shù)據(jù)集中最佳錨框值。
2.1.2 Backbone 骨干網(wǎng)絡(luò)
YOLOv5_6.1 骨干網(wǎng)絡(luò)采用New CSP-Darknet53。New CSPDarknet53 相較于YOLOv4 的骨干網(wǎng)絡(luò),將網(wǎng)絡(luò)原本第一層的FOCUS 模塊替換為一個(gè)6×6 的卷積層,兩者在理論及實(shí)際準(zhǔn)確率相同,但隨著GPU 的普及,6×6 的卷積層更加高效。同時(shí)將SPP結(jié)構(gòu)替換為SPPF(圖3)。
圖3 SPP、SPPF 網(wǎng)絡(luò)結(jié)構(gòu)
2.1.3 Neck 網(wǎng)絡(luò)和Head 網(wǎng)絡(luò)
Neck 網(wǎng)絡(luò)位于Head 網(wǎng)絡(luò)與骨干網(wǎng)絡(luò)之間,主要用來特征融合以在不同尺度下都可以獲取豐富的語義信息,在YOLOv5 中采用FPN+PAN 結(jié)構(gòu)。通過FPN(Feature Pyramid Network,特征圖金字塔網(wǎng)絡(luò))可以融合高分辨率的淺層結(jié)構(gòu)和具有豐富語義的深層結(jié)構(gòu);而PAN 自底向上傳達(dá)強(qiáng)定位特征,兩者結(jié)合對(duì)不同分辨率大小的檢測(cè)層進(jìn)行融合,方便實(shí)現(xiàn)各個(gè)尺寸的目標(biāo)檢測(cè)。
2.2.1 鐵路異物數(shù)據(jù)集類別構(gòu)成
在設(shè)計(jì)鐵路異物數(shù)據(jù)集時(shí),通過大量事故案例以及咨詢業(yè)內(nèi)相關(guān)人士,構(gòu)建出鐵路異物數(shù)據(jù)集類別及屬性(表2)。
表2 鐵路異物數(shù)據(jù)集類別及屬性
2.2.2 鐵路異物數(shù)據(jù)集統(tǒng)計(jì)
鐵路異物數(shù)據(jù)集的標(biāo)組工作采用Labelimg 軟件進(jìn)行。在標(biāo)注完成后對(duì)標(biāo)注圖片進(jìn)行篩查、修改等,確保標(biāo)注圖片準(zhǔn)確可靠。鐵路異物數(shù)據(jù)集包括9 類異物,共計(jì)2000 張圖片,選取各類型圖片文件夾前70%作為訓(xùn)練集、后30%作為驗(yàn)證集。
2.2.3 權(quán)重訓(xùn)練
選用yolov5s.pt 作為預(yù)訓(xùn)練權(quán)重,修改類別以及分類個(gè)數(shù),epochs 設(shè)定300 輪,batch_size 為4,輸入圖像分辨率為640×640,訓(xùn)練權(quán)重PR 曲線及各類AP(Average Precision)值如圖4 所示。
圖4 鐵路異物權(quán)重PR 曲線及AP 值
選取數(shù)據(jù)量較大的路外人員為例,選用路外人員數(shù)據(jù)集500 張,采用PS、PPT 分別進(jìn)行更換背景,并通過高斯模糊、銳化、對(duì)比度等方法模擬不同天氣、不同時(shí)間段的圖像情況。每張圖片進(jìn)行離線增廣后為擴(kuò)大5 倍,結(jié)合原圖共計(jì)3000 張,其中訓(xùn)練集2400 張、測(cè)試集600張,增強(qiáng)效果如圖5 所示。
圖5 離線增強(qiáng)示意
在模擬真實(shí)背景的情況下,初始訓(xùn)練集、統(tǒng)一背景、統(tǒng)一背景且離線增廣權(quán)重的AP0.5、AP0.5~0.95 如表3 所示。
表3 不同權(quán)重AP 值
2.2.4 魯棒性測(cè)試
為驗(yàn)證權(quán)重的魯棒性,構(gòu)建圖片包含大、中、小三種目標(biāo)并進(jìn)行檢測(cè)(圖6),分別進(jìn)行遮擋、旋轉(zhuǎn)、模糊、拉伸及高亮度修改,實(shí)驗(yàn)結(jié)果如圖7 所示。圖7a)進(jìn)行隨機(jī)遮擋約1/4,準(zhǔn)確率分別為0.78、0.53、0.80、0.83、0.54;圖7b)為旋轉(zhuǎn),在旋轉(zhuǎn)9%的情況下準(zhǔn)確率分別為0.89、0.78、0.84、0.92、0.93;圖7c)高斯模糊,進(jìn)行三輪高斯模糊半徑為10、閾值20,準(zhǔn)確率為0.90;圖7d)長(zhǎng)度拉伸一倍情況下準(zhǔn)確率分別為0.92、0.80,圖7e)寬度拉伸一倍情況下準(zhǔn)確率分別為0.79、0.92;圖7f)為高亮度,準(zhǔn)確率分別為0.89、0.90、0.80、0.65、0.51。
圖6 原圖測(cè)試
圖7 魯棒性測(cè)試
通過觀察圖7 可以觀測(cè)到,權(quán)重在魯棒性測(cè)試中準(zhǔn)確度分別下降17.9%、-2.8%、-28.6%、1.7%(長(zhǎng)度拉伸)、2.3%(寬度拉伸)、-0.5%,由精度下降可以看出,在進(jìn)行部分遮擋時(shí),精度下降較大,而在其他測(cè)試中精度總保持在較高水平,甚至有提高。為剔除偶然因素,依次構(gòu)建20 張圖片并統(tǒng)計(jì),隨機(jī)遮擋、旋轉(zhuǎn)、模糊、拉伸及高亮度修改平均準(zhǔn)確度下降為19.1%、-1.3%、-5.6%、5.8%(長(zhǎng)度拉伸)、6.1%(寬度拉伸)、1.7%。
將軟件與硬件相結(jié)合后,使用Jetson Nano 調(diào)用YOLOv5,在攝像頭傳輸距離為2~2.5 km 范圍內(nèi)調(diào)用YOLOv5s 權(quán)重,輸入分標(biāo)率為640 情況下,檢測(cè)效果如圖8 所示,基本檢測(cè)出所有待檢測(cè)目標(biāo)。
圖8 遠(yuǎn)距離檢測(cè)效果
截取真實(shí)鐵路運(yùn)行視頻幀,構(gòu)建圖片并檢測(cè),效果如圖9所示。
圖9 模擬鐵路檢測(cè)效果
實(shí)驗(yàn)發(fā)現(xiàn),檢測(cè)時(shí)存在3 s 延時(shí),面對(duì)運(yùn)行的列車,尤其是對(duì)高速列車而言,3 s 可前進(jìn)約290 m,無法達(dá)到實(shí)時(shí)監(jiān)測(cè)的目的。本文采用的Jetson Nano 設(shè)備采用ARM 架構(gòu),經(jīng)查閱資料,其SDK 僅適用于x86 架構(gòu),無法通過官方SDK 調(diào)用rtsp 推流加速。由于無法使用SDK,造成無法通過調(diào)用SDK 控制攝像頭旋轉(zhuǎn)。通過對(duì)檢測(cè)代碼重新梳理并改進(jìn)后,實(shí)現(xiàn)了攝像頭實(shí)時(shí)圖像傳輸,并取消緩存檢測(cè),修改后的延遲約為0.5 s。編寫Python 代碼,通過對(duì)網(wǎng)頁發(fā)出請(qǐng)求實(shí)現(xiàn)攝像頭根據(jù)位置信息,實(shí)現(xiàn)旋轉(zhuǎn)至預(yù)設(shè)點(diǎn),滿足實(shí)時(shí)檢測(cè)條件要求。
(1)構(gòu)建鐵路異物數(shù)據(jù)集平均檢測(cè)精度均值為63.8%,通過離線增廣,可將路外人員平均檢測(cè)精度均值由85.1%提升至93.7%;通過Python 代碼解決在ARM 架構(gòu)下攝像頭無法旋轉(zhuǎn)以及攝像頭延時(shí)的問題,將延遲降低至0.5 s 以內(nèi),滿足實(shí)時(shí)檢測(cè)條件。
(2)構(gòu)建基于YOLOv5 的鐵路遠(yuǎn)距離異物識(shí)別報(bào)警裝置,有效解決了人工瞭望的局限性,通過遠(yuǎn)距離圖像傳輸,實(shí)現(xiàn)提前20 s 發(fā)現(xiàn)異物,留給司機(jī)足夠反應(yīng)時(shí)間,甚至達(dá)到在異物前停車,減弱了異物侵限所成的損害。
(3)以檢測(cè)分辨率640、YOLOv5s 權(quán)重為例,使用NVIDIA GeForce RTX 2060 顯卡,同時(shí)調(diào)用2 個(gè)攝像頭,幀率可達(dá)31 fps,滿足實(shí)時(shí)檢測(cè)需求。而使用入門級(jí)的Jetson Nano 幀率只有6 fps,無法滿足實(shí)時(shí)觀測(cè)的條件,實(shí)際使用中需采用Jetson AGX Orin或Jetson AGX Xavier 版本,以滿足實(shí)時(shí)檢測(cè)的需求。
(4)在天氣不良或瞭望困難的場(chǎng)景下,檢測(cè)距離會(huì)極度縮短。