劉偉銘,鄒星宇
(華南理工大學(xué)土木與交通學(xué)院,廣州 510640)
自2007年國內(nèi)第一列動車組投入運(yùn)營,鐵路事業(yè)蓬勃發(fā)展,截至2020年7月底,全國鐵路營運(yùn)總里程達(dá)14.14萬km,高鐵線路占3.6萬km,國內(nèi)已建成世界最大的高鐵網(wǎng)[1]。動車組高速運(yùn)行過程中,任何細(xì)微的故障都有可能造成很大的安全隱患,雖然國內(nèi)極少出現(xiàn)動車組運(yùn)營過程中的重大安全事故,但因故障導(dǎo)致的列車緊急停車與晚點(diǎn)卻時有發(fā)生[2]。隨著動車組每日發(fā)行量的增加,以智能化與信息化為主導(dǎo)的高速鐵路安全防護(hù)技術(shù)成為動車組安全運(yùn)行的重要保障[3]。動車組運(yùn)行故障檢測系統(tǒng)(Trouble of moving EMU Detection System,TEDS)是一套對動車組運(yùn)行狀態(tài)圖像進(jìn)行實(shí)時監(jiān)控的聯(lián)網(wǎng)監(jiān)控系統(tǒng),減少了傳統(tǒng)人工列檢的壓力,充分提高了列檢效率。該系統(tǒng)利用高速線陣相機(jī)采集運(yùn)行中的動車組車身、底板圖像,通過網(wǎng)絡(luò)傳輸至數(shù)據(jù)分析中心,供室內(nèi)分析員分析列車關(guān)鍵部位的狀況[4]。圖1為動車組運(yùn)行故障動態(tài)圖像檢測系統(tǒng)概覽。
圖1 動車組運(yùn)行故障檢測系統(tǒng)概覽
動車組結(jié)構(gòu)復(fù)雜,零部件多,其中螺栓起著固定車身以及零部件的作用,高速運(yùn)行的動車組難免出現(xiàn)因振動等原因?qū)е碌穆菟▉G失情況。圖2為系統(tǒng)傳回的一張裙板掃描圖像,其中,綠框標(biāo)注的為螺栓區(qū)域,圖像中多個螺栓均為尺寸近似的小目標(biāo)。TEDS系統(tǒng)中4枚線陣相機(jī)負(fù)責(zé)掃描動車組車身,動車組經(jīng)過時,以8編組動車組為例,每一枚相機(jī)可以捕獲200多張掃描圖像,TEDS分析員需在15 min完成動車組掃描圖像的分析,包括判別800多張裙板圖像中螺栓正?;騺G失的狀態(tài)。
圖2 裙板掃描圖像示例
短時間內(nèi)依靠人工識別大量的圖像,不僅費(fèi)時費(fèi)力,還難以保證準(zhǔn)確率,因此,亟需一套智能的目標(biāo)檢測算法提升TEDS系統(tǒng)圖像處理能力,保障動車組運(yùn)行安全。
目標(biāo)檢測主要分為基于手工特征和卷積神經(jīng)網(wǎng)絡(luò)的方法,隨著深度學(xué)習(xí)的不斷發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的目標(biāo)檢測算法逐漸發(fā)展為TWO-STAGE和ONE-STAGE方法[5]。TWO-STAGE方法先提取圖片中目標(biāo)的候選區(qū)域,再利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行檢測,該方法檢測精度高,抗干擾能力強(qiáng),但速度較慢,主要有Fast R-CNN[6]、Faster R-CNN[7]等算法。ONE-STAGE方法對整張圖像進(jìn)行卷積,直接預(yù)測出圖像中的位置與分類信息,該方法結(jié)構(gòu)簡單,檢測速度快,但精度與魯棒性較差,主要有YOLO系列[8-11],SSD[12]等算法。
目前,已有學(xué)者將卷積神經(jīng)網(wǎng)絡(luò)用于鐵路圖像的處理[13-15],運(yùn)行列車關(guān)鍵部位的檢測[16-21]。由于運(yùn)行動車組裙板螺栓丟失樣本過少,對TEDS系統(tǒng)采集的裙板螺栓丟失圖像進(jìn)行平移,旋轉(zhuǎn)以及縮放操作,擴(kuò)充成裙板螺栓缺陷數(shù)據(jù)集。為保證實(shí)時的檢測效果,選取ONE-STAGE算法中具有代表性的YOLOv2、YOLOv3、YOLOV4進(jìn)行實(shí)驗(yàn)。
YOLOv2在YOLO的基礎(chǔ)上提高了定位的準(zhǔn)確度與召回率,同時對檢測速度進(jìn)行了提升。YOLOv2采用Darknet-19作為骨干網(wǎng)絡(luò),圖3為Darknet-19的網(wǎng)絡(luò)結(jié)構(gòu)。
圖3 Darknet-19網(wǎng)絡(luò)結(jié)構(gòu)
該網(wǎng)絡(luò)去除了全連接層,使用全局平均池化的方法得到固定長度的特征向量,從而可以輸入高分辨率的圖像進(jìn)行訓(xùn)練和檢測。為獲得更豐富的特征信息,YOLOv2輸入尺寸為416×416,經(jīng)過5次降采樣后,得到13×13的特征圖,通過分類器進(jìn)行目標(biāo)檢測與分類。算法處理過程中,首先將圖片劃分成13×13的網(wǎng)格,當(dāng)目標(biāo)的中心落在單元格的中心時,由該單元格預(yù)測目標(biāo)的邊界框與種類。每個單元格預(yù)測的位置信息為(tx,ty,tw,th),但與YOLO不同,輸出的位置信息是相對該單元格坐標(biāo)(cx,cy),寬高(pw,ph)的偏移量,因此,目標(biāo)邊界框可表示為
(1)
另外,與YOLO中手工選取待檢測目標(biāo)先驗(yàn)框不同,YOLOv2使用K-Means對訓(xùn)練數(shù)據(jù)集的目標(biāo)邊界框進(jìn)行聚類,使訓(xùn)練過程中預(yù)設(shè)的先驗(yàn)框與真實(shí)的目標(biāo)邊界框能有更高的交并比(IOU),從而提高訓(xùn)練速度,提升模型穩(wěn)定性及檢測精度。IOU計(jì)算公式如式(2)所示,當(dāng)IOU=1時,表示先驗(yàn)框與目標(biāo)邊界框重合。
(2)
式中,btrue為真實(shí)的標(biāo)注框;bpred為算法初始的候選框。先驗(yàn)框與目標(biāo)邊界框的距離函數(shù)定義為
d(box,centroid)=1-IOU(box,centroid)
(3)
相比較傳統(tǒng)的歐式距離,這種表示方法使得誤差與邊界框的絕對大小無關(guān)。box與centroid分別表示訓(xùn)練數(shù)據(jù)集標(biāo)注的邊框與聚類算法計(jì)算得出的邊框。
YOLOv3采用Darknet-53作為骨干網(wǎng)絡(luò),利用殘差網(wǎng)絡(luò)(Residual Network,ResNet)[22],解決了隨網(wǎng)絡(luò)深度增加產(chǎn)生的模型退化問題,有效避免訓(xùn)練過程中梯度消失和梯度爆炸的情況,提高了模型的特征學(xué)習(xí)能力。但更深層的網(wǎng)絡(luò)結(jié)構(gòu)相應(yīng)增加了計(jì)算量,相對YOLOv2,YOLOv3檢測速度有明顯的下降。圖4為YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)示意。
圖4 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)示意
圖4中左側(cè)虛線框?yàn)镈arknet-53網(wǎng)絡(luò),輸入圖像為416×416分辨率時,經(jīng)過8倍,16倍以及32倍下采樣,輸出13×13,26×26,52×52的特征圖。同時,YOLOv3借鑒了特征金字塔網(wǎng)絡(luò)(Feature pyramid networks,F(xiàn)PN)[23],融合多尺度特征進(jìn)行目標(biāo)檢測,通過卷積與上采樣將不同尺度的特征圖融合,得到13×13,26×26,52×52的特征輸出,將輸出特征圖上分別做獨(dú)立檢測,提升小目標(biāo)的檢測能力。
YOLOv4采用CSPDarknet53作為骨干網(wǎng)絡(luò),使用CSP(Cross Stage Partial)結(jié)構(gòu)可在保持準(zhǔn)確率的同時,輕量化卷積神經(jīng)網(wǎng)絡(luò),減少內(nèi)存使用,降低計(jì)算瓶頸。隨后通過空間金字塔池化(Spatial Pyramid Pooling,SPP)[24]擴(kuò)大網(wǎng)絡(luò)感受野,使用路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PANet)[25]進(jìn)行特征融合,最后使用與YOLOv3相同的分類回歸層,同樣在3個不同尺度的特征圖進(jìn)行分類檢測。
文中待檢測的目標(biāo)為動車組裙板螺栓以及螺栓丟失區(qū)域,此類目標(biāo)在整張裙板掃描圖像中所占比重較小,需著重考慮算法小目標(biāo)檢測的性能。在TEDS系統(tǒng)中,由于線陣相機(jī)相對動車組運(yùn)動方向垂直固定安裝,各個相機(jī)拍攝的裙板螺栓圖像均可近似視為從螺栓正上方拍攝。從提高感受野,改善小目標(biāo)的角度出發(fā),對YOLOv2進(jìn)行改進(jìn),提出了適應(yīng)小目標(biāo)檢測的YOLOv2-SPP。
YOLOv2-SPP在YOLOv2第17層卷積層后引入SPP模塊,融合多重感受野,提高小目標(biāo)的檢測能力,圖5展示了SPP模塊結(jié)構(gòu)示意。
圖5 SPP結(jié)構(gòu)示意
YOLOv2第17層卷積層的輸出特征圖尺寸為13×13×512,引入的SPP模塊分別對其進(jìn)行步長為1,采樣核為5×5,9×9以及13×13的最大池化(MaxPooling),將得到的3個池化特征圖依次與原輸入的特征圖進(jìn)行疊加融合,得到13×13×2048的特征圖,最后通過1×1卷積層降維至13×13×512的特征圖。圖6展示了加入SPP模塊的YOLOv2-SPP結(jié)構(gòu)示意。加入SPP模塊的YOLOv2-SPP最終輸出的檢測結(jié)果向量為K×(5+C),其中,K為設(shè)置的預(yù)選框個數(shù);C為待分類的檢測目標(biāo)種類。
圖6 YOLOv2-SPP結(jié)構(gòu)示意
表1列出了實(shí)驗(yàn)的硬件配置,對應(yīng)的運(yùn)行環(huán)境為Ubuntu 18.04,CUDA10.2,深度學(xué)習(xí)框架采用Darknet。
表1 實(shí)驗(yàn)硬件配置
實(shí)驗(yàn)數(shù)據(jù)源自TEDS系統(tǒng)捕獲的裙板掃描圖像,原始圖像分辨率為2048×1400,單個待檢測的螺栓區(qū)域所占像素約為125×125。污漬,磨損,反光,拍攝過程中運(yùn)動變形及復(fù)雜光照環(huán)境的影響下,待檢測的樣本之間存在明顯的差異。圖7展示了部分待檢測螺栓區(qū)域樣本,圖(a)~圖(c)為正常狀態(tài)的螺栓,圖(d)~圖(f)為螺栓脫落的區(qū)域。因此,算法應(yīng)當(dāng)具有強(qiáng)大的小目標(biāo)特征提取能力和抗干擾能力。由于螺栓丟失的缺陷樣本相對稀缺,對螺栓丟失圖片中的螺栓丟失區(qū)域即缺陷樣本采取平移、旋轉(zhuǎn)、鏡像等數(shù)據(jù)增強(qiáng)的方法進(jìn)行擴(kuò)充,得到正常狀態(tài)螺栓的訓(xùn)練樣本850個,螺栓丟失狀態(tài)即缺陷樣本850個的訓(xùn)練數(shù)據(jù)集。測試數(shù)據(jù)集與訓(xùn)練數(shù)據(jù)集相互獨(dú)立,采用相同的數(shù)據(jù)增強(qiáng)方法得到2種樣本分別220個的測試集。
圖7 待檢測螺栓區(qū)域樣本
首先,通過K-Means對訓(xùn)練數(shù)據(jù)集中標(biāo)注的目標(biāo)邊界框進(jìn)行聚類,圖8展示了3個聚類中心時,訓(xùn)練樣本標(biāo)注框尺寸的歸類情況,候選框大小設(shè)置為[133,109],[82,72]和[115,84]。
圖8 目標(biāo)框尺寸K-Means聚類分布
本文任務(wù)為檢測并標(biāo)識動車組裙板正常螺栓及螺栓丟失區(qū)域,即2種檢測分類對象。完成候選框設(shè)定后,應(yīng)用YOLOv2、YOLOv2-SPP分別對訓(xùn)練集訓(xùn)練6 000次,批大小設(shè)置為64,衰減系數(shù)為0.000 5,初始學(xué)習(xí)率為0.001,隨機(jī)梯度下降動量為0.9,置信度閾值選取為0.25,表2、表3分別展示了算法改進(jìn)前后的檢測指標(biāo)。
表2 YOLOv2檢測結(jié)果
表3 YOLOv2-SPP檢測結(jié)果
表2、表3中,TP為算法正確識別的正樣本數(shù);NP為誤識別為正樣本的負(fù)樣本數(shù);FN為誤識別為負(fù)樣本的正樣本數(shù)。所得精確率P(Precision)和召回率R(Recall)計(jì)算公式如下
(4)
(5)
對于待檢測的正常螺栓與螺栓丟失區(qū)域,改進(jìn)后的YOLOv2-SPP相比YOLOv2在精確率與查全率均有提升。增加的SPP模塊擴(kuò)大了網(wǎng)絡(luò)的感受野,提高了小目標(biāo)的檢測能力。為更好地描述多標(biāo)簽圖像分類算法的目標(biāo)檢測性能,使用平均精度均值(mean Average Precision,mAP)作為性能指標(biāo),每秒處理的圖片幀數(shù)(Frame Per Second,F(xiàn)PS)作為速度指標(biāo)。表4對比了YOLOv2、YOLOv2-SPP、YOLOv3、YOLOv4的性能。
表4 算法檢測性能對比
改進(jìn)后的YOLOv2-SPP速度略有下降,但算法平均精度均值相對YOLOv2提升了1.71%,達(dá)到95.83%,與YOLOv3,YOLOv4的檢測準(zhǔn)確度基本一致。得益于更輕量的網(wǎng)絡(luò)結(jié)構(gòu),YOLOv2-SPP每秒檢測圖片的幀數(shù)達(dá)到了73.6FPS,是YOLOv3的2.3倍,YOLOv4的3倍,更適用于TEDS系統(tǒng)中動車組實(shí)時圖像檢測的任務(wù)。
針對人工識別動車組關(guān)鍵部位圖像效率低下的問題,提出了小目標(biāo)檢測性能更強(qiáng)的改進(jìn)YOLOv2算法,并將其應(yīng)用于動車組裙板螺栓檢測。在YOLOv2模型中增加SPP模塊,擴(kuò)大了模型網(wǎng)絡(luò)感受野,提高了小目標(biāo)檢測的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的YOLOv2-SPP算法平均精度均值由94.12%提升至95.83%,相同實(shí)驗(yàn)環(huán)境下檢測速度達(dá)到Y(jié)OLOv3的2.5倍,YOLOv4的3.3倍。提出的YOLOv2-SPP算法滿足高準(zhǔn)確率,快速檢測的要求,更適用于TEDS系統(tǒng)實(shí)時檢測運(yùn)行動車組裙板螺栓狀態(tài)的任務(wù)。然而,由于裙板螺栓丟失的缺陷數(shù)據(jù)集稀缺,該算法投入實(shí)際運(yùn)用之前仍需經(jīng)過更多真實(shí)缺陷數(shù)據(jù)樣本的考驗(yàn),如何進(jìn)一步改進(jìn)算法,提高真實(shí)場景下動車組裙板螺栓狀態(tài)檢測的準(zhǔn)確率將成為未來研究的方向。