楊旭生,江現(xiàn)昌,敖斌,范英芝,鄧春林
(南昌軌道交通集團有限公司運營分公司,江西 南昌 330038)
目前,車輛受電弓異常狀態(tài)的檢測方法仍然停留在人工檢測階段,該方式存在效率低下、無客觀檢測標準等諸多問題。針對目前軌道交通車輛日常檢修作業(yè)的需求,本文設(shè)計了基于軌旁相機軌道交通車輛受電弓缺陷智能檢測系統(tǒng),利用軌旁高清成像與機器學習相結(jié)合實現(xiàn)的列車受電弓異常狀態(tài)的自動化檢測,可大幅降低人工作業(yè)量,保障車輛檢修質(zhì)量,進而實現(xiàn)軌道交通車輛檢修的減員增效。
軌旁相機在接收到觸發(fā)信號時,對列車受電弓區(qū)域進行圖像采集,并將采集的圖像傳輸?shù)降孛娣?wù)器中,通過服務(wù)器中已部署的缺陷智能識別算法檢測受電弓區(qū)域是否存在異常。軌旁相機采集到的受電弓區(qū)域圖像如圖1所示。
受電弓缺陷智能識別算法可概括為2大步:(1)利用改進的Yolov5目標檢測算法對受電弓精確定位;(2)通過歷史圖像對比方法判定受電弓是否存在異常。具體流程圖如圖2。
受電弓精確定位是實現(xiàn)受電弓缺陷檢測的前提。通過基于Yolov5n的圖像目標檢測網(wǎng)絡(luò)作為算法模型實現(xiàn)對受電弓目標定位,本文在引入該模型時,進行了部分改進,提高了定位精度,并在項目應(yīng)用中達到了較好的結(jié)果。
(1)mosaic-9數(shù)據(jù)增強。為進一步提升定位精確性,本文Yolov5n中除了使用傳統(tǒng)數(shù)據(jù)增強方式外,還用了Mosaic-4數(shù)據(jù)增強。采用Mosaic-9方式對原始訓練數(shù)據(jù)進行增強,也就是對9張圖像進行縮放、裁剪、排布,其增強流程如圖3所示,Mosaic-9增強細節(jié)如圖4所示。
(2)FReLU激活函數(shù)。為了更好地完成圖像識別任務(wù),解決自適應(yīng)獲取空間相關(guān)性難的問題,引入了FReLU(Funnel Active)激活函數(shù)。該激活函數(shù)通過增加微小計算成本,重新設(shè)置了一個空間條件,將ReLU和PReLU轉(zhuǎn)化為二維視覺激活函數(shù)。
ReLU激活函數(shù)如下式。
PReLU激活函數(shù)如下式。
FReLU激活函數(shù)如下式。
其中,T(■)表示二維空間條件??臻g條件用較為簡單的形式實現(xiàn)像素級建模,并用正則卷積獲得復雜的可視化布局。本文通過引入FReLU激活函數(shù)可進一步提升受電弓定位精度及定位魯棒性。
(3)損失函數(shù)改進。Yolov5n原始模型中使用的損失函數(shù)為GIou,增加了對錯誤候選框的懲罰,檢測效果較好,GIoU具體形式如下。
但是,GIoU依然會有定位框回歸不穩(wěn)定的情況,對于復雜近距離環(huán)境中的檢測目標仍然難以應(yīng)對,存在檢測魯棒性差及收斂速度慢等問題,為了應(yīng)對該問題,本文引入了一個連續(xù)可導的損失函數(shù)PIoU,以此優(yōu)化IoU的定位精度。該損失函數(shù)通過引入一個旋轉(zhuǎn)參數(shù),便讓之前的訓練標注框能夠更加緊湊的定位目標。為了精確地獲取OBB間的IoU,通過累積內(nèi)部重疊像素進行統(tǒng)計的凡世計算IoU。PIoU函數(shù)通過IoU度量導出,其形式為像素級,方法比較簡單且適用于水平和垂直方向定位邊界框,其具體形式如下。
其中,M為所有正樣本數(shù)據(jù)集,|M|為正樣本數(shù),真實目標b和b′目標框的b∩b′和b∪b′分別表示兩者的交集區(qū)域和并集區(qū)域。
通過前述受電弓定位過程,便可在原始圖像中得到受電弓精確的ROI,進一步利用滑動窗口在受電弓ROI中進行滑動,同時,在同一相機同一受電弓的歷史圖像ROI中以相同的方式相同的窗口進行滑動,并在窗口滑動至相同位置時計算兩窗口內(nèi)的結(jié)構(gòu)相似度,在窗口滑動過程中,只要存在某一結(jié)構(gòu)相似度小于設(shè)定相似度閾值,即可判定該受電弓存在異常。
(1)滑動窗口(如圖5)。本文采用的缺陷檢測思路是通過采集圖像與歷史基準圖像相似度對比,若相似度小于某一閾值則判定為異常。若在對比過程中直接使用原始ROI大小,當異常較大時可以準確地判定,但是,當異常部分只占原始ROI很小一部分時,整體ROI的相似度仍然會很大,從而會導致漏判。因此,本文在判定過程中引入滑動窗口的思想,通過遍歷的方式對受電弓ROI是否異常進行精確判定。
在實際應(yīng)用過程中,根據(jù)受電弓ROI的實際大小設(shè)置滑動窗口的大小,本文使用的窗口大小為128×128,從ROI的左上角開始,先向右滑動,再向下滑動,滑動步長均設(shè)置為3。
(2)結(jié)構(gòu)相似度。給定兩個圖像x和y,其結(jié)構(gòu)相似性可按照以下表達式求出。
其中μx是x的平均值,μy是y平均值,σx2是x的方差,σy2是y的方差,σxy是x和y的協(xié)方差。C1=(k1L)2,C2=(k2L)2是兩個常數(shù),用來維持穩(wěn)定。L是像素值的動態(tài)范圍。k1=0.01,k2=0.03。
結(jié)構(gòu)相似性的范圍在-1~1,當兩張圖一模一樣時,SSIM=1。在判定當前圖像受電弓ROI是否異常時,需要設(shè)定一個相似性閾值t,當結(jié)構(gòu)相似性指數(shù)大于該閾值時,認為當前圖像正常,反之,則判定為異常,并進行報警。該閾值設(shè)定時,可通過統(tǒng)計方式獲得,即通過正常樣本與異常樣本分別與對應(yīng)的歷史基準圖像計算相關(guān)性,可獲得一個相關(guān)性指數(shù)分布,示意如圖6。
最終,判定規(guī)則具體形式如下。
本文中實驗所設(shè)計的硬件配置,GPU為NVIDIA GeForce GTX 750Ti,cuda 10.2,CPU為Intel i7-9000,主頻3G,RAM16G。
在受電弓定位過程中,訓練階段使用pytorch訓練Yolov5n定位模型,并將模型轉(zhuǎn)化為onnx格式,最終通過opencv454中DNN模塊調(diào)用部署進行測試。本文在訓練受電弓定位模型時共標注樣本3000張,其中2600張作為訓練集,400張作為驗證集。網(wǎng)絡(luò)輸入層大小調(diào)整為512,batchsize設(shè)置為16,并采用coco預訓練模型。在訓練過程中,其模型損失值變化過程如圖7所示,從圖中可以看出,在經(jīng)過大約800次epoch后,損失值基本不再降低,說明模型已趨于收斂。受電弓ROI定位效果示意圖如圖8。
在測試受電弓定位模型時,使用了108251張圖像,定位準確率可達到99.98%,具體如表1。
表1 受電弓定位準確率統(tǒng)計表
在定位到受電弓后,便截取處受電弓ROI圖像,按照上述方式進行窗口滑動并計算結(jié)構(gòu)相似度,最終判定是否存在異常。其中,相似度閾值t設(shè)定為0.83。
受電弓異常檢出率統(tǒng)計結(jié)果如表2,受電弓異物檢出率可達到97%以上,值得說明的是,受電弓異常檢測實驗中漏檢樣本全是極微小變形及異物,若要對該類異常準確判定,可在滑動窗口設(shè)計時引入金字塔思想,這是本文后續(xù)研究的方向。在受電弓缺陷檢測時,從輸入圖像至判定結(jié)果輸出視為一次計算,一次計算算法平均耗時為21.33ms。
表2 受電弓異常檢測統(tǒng)計結(jié)果
本文對軌道列車受電弓缺陷智能檢測技術(shù)進行了研究,提出了一種基于深度學習與圖像對比的軌旁受電弓缺陷智能檢測方法。實驗結(jié)果表明,該方法對受電弓異常具有較高的檢出率,并且誤檢和漏檢相對較少,但是,對極小的異常仍然無法達到較好的檢出效果,這仍是本文后續(xù)研究努力的方向。