張慧源,孫木蘭,陳 豪
(株洲中車時代電氣股份有限公司, 湖南 株洲 412001)
吊弦是高速鐵路弓網(wǎng)的重要組成部分之一,它連接著承力索和接觸線,通過調(diào)節(jié)吊弦可以保證接觸線與軌面間距離的一致性,改善接觸懸掛的彈性,使得接觸線與受電弓良好滑擦,從而提高電力機車的取流質(zhì)量[1]。目前國內(nèi)的吊弦主要分為可調(diào)式整體吊弦和整體吊弦(剛性/柔性)兩大種類。剛性整體吊弦由尼龍?zhí)住~棒(吊弦本體)和吊弦線夾等構(gòu)成,其中尼龍?zhí)子兄乐钩辛λ鬏d流的作用,這種類型的吊弦被廣泛應用于廣佛肇、廣深港高鐵線路。在高鐵運行過程中,吊弦既要承受列車高速運行時的沖擊、振動和電流的熱侵蝕,又要經(jīng)受日曬、酸堿環(huán)境等惡劣條件的考驗,導致吊弦尼龍?zhí)子袝r會出現(xiàn)破損和缺失的現(xiàn)象,致使吊弦與承力索載流而形成電位差,存在重大安全隱患,甚至可能導致承力索燒損[2]。
剛性整體吊弦的故障模式主要分為3種:剛性吊弦斷裂、剛性吊弦脫落和絕緣套磨損丟失[3]。長期以來,吊弦異常都是通過人工巡視的方法進行檢測,存在巡檢周期長、效率低下、容易漏檢等問題[4]。隨著列車攝像頭應用的普及,基于圖像處理技術(shù)的非接觸巡檢方法也應運而生[5]。文獻[6]從時頻分析角度提取統(tǒng)計特征,再利用分類算法對接觸網(wǎng)吊弦進行故障檢測。文獻[7]以接觸網(wǎng)系統(tǒng)圖像為研究對象,提出了一種將深度可分卷積與目標檢測網(wǎng)絡相結(jié)合的吊弦故障檢測方法。文獻[8]提出一種長短時記憶卷積神經(jīng)網(wǎng)絡(convolutional neural network-long short-term memory, CNN-LSTM) 和CNN-LSTM-Attention相融合的網(wǎng)絡模型,并在網(wǎng)絡訓練過程中使用貝葉斯優(yōu)化方法進行超參數(shù)選擇,從而實現(xiàn)對吊弦斷裂和松弛故障的檢測。文獻[9]提出通過Faster R-CNN方法定位吊弦位置后再利用傳統(tǒng)圖像識別算法對吊弦狀態(tài)進行檢測。文獻[10]利用膠囊網(wǎng)絡模型和Chan-Vese(簡稱“CV”)模型對吊弦和絕緣子進行識別定位和故障分類。文獻[11-12]利用YOLOv3定位吊弦并通過SqueezeNet對吊弦松弛、斷裂的異常狀態(tài)進行判斷。文獻[13]通過基于卷積神經(jīng)網(wǎng)絡的端點定位算法對吊弦兩端進行定位,然后利用直線檢測算法實現(xiàn)吊弦斷裂故障的檢測。
隨著檢測數(shù)據(jù)暴發(fā)式增長以及計算機硬件和卷積神經(jīng)網(wǎng)絡技術(shù)的發(fā)展,基于深度學習的計算機視覺技術(shù)逐漸受到鐵路科研工作者的關注,也被廣泛地應用到弓網(wǎng)智能檢測系統(tǒng)中,如吊弦松脫檢測和定位器檢測[14]。然而大多數(shù)關注點都側(cè)重于吊弦整體,對吊弦尼龍?zhí)椎年P注甚少。這一方面主要是因為“尼龍?zhí)兹笔А边@種小目標往往依賴于精妙的算子,需要開發(fā)者具有豐富的技術(shù)積累以及大量的開發(fā)時間來進行嘗試,而且高速列車上鏡頭抖動造成的圖像模糊以及接觸網(wǎng)所處的復雜背景也會引起算法魯棒性不夠的問題;另一方面,由于尼龍?zhí)兹笔颖据^少、單一深度學習的卷積神經(jīng)網(wǎng)絡推理的局限性等原因,采用深度學習方法同樣沒能很好地解決類似尼龍?zhí)走@樣的小目標檢測問題。為此,本文采用“先檢測,再分類”的方法構(gòu)建了一種吊弦尼龍?zhí)兹笔z測模型,介紹了尼龍?zhí)兹笔z測方案框架,詳細描述方案中所述吊弦定位、小目標尼龍?zhí)讌^(qū)域檢測以及尼龍?zhí)谞顟B(tài)識別算法原理和檢測過程,并采用真實樣本驗證方案的可行性和準確性。通過這種方法,可以避免單一目標檢測算法對小目標檢測識別率低的缺陷,并且通過簡單的分類網(wǎng)絡,在避免人工提取分類算子復雜性的同時也能保證算法的計算效率,滿足實際運用中的實時性要求。
為了實現(xiàn)尼龍?zhí)讌^(qū)域定位,本文首先使用YOLOv4目標檢測網(wǎng)絡對吊弦這一較大目標進行檢測,然后利用吊弦與尼龍?zhí)孜锢砦恢霉潭ㄟ@一特點計算出尼龍?zhí)讌^(qū)域,再將裁剪出的尼龍?zhí)讌^(qū)域使用數(shù)據(jù)增強方法提高數(shù)據(jù)質(zhì)量,最后利用AlexNet分類算法來判斷尼龍?zhí)谞顟B(tài),從而實現(xiàn)尼龍?zhí)椎娜笔z測(圖1)。
圖1 尼龍?zhí)兹笔z測流程Fig.1 Flow chart of missing nylon bush detection
YOLO算法由Joseph Redmon于2015年提出,2020年4月已發(fā)展到v4版本,其網(wǎng)絡模型結(jié)構(gòu)如圖2所示。
圖2 YOLOv4 網(wǎng)絡結(jié)構(gòu)[15]Fig.2 Structure of YOLOv4[15]
YOLOv4[15]由 Alexey Bochkovskiy 提出,其使用跨階段部分鏈接網(wǎng)絡CSPDarknet53[16]作為骨架網(wǎng)絡(backbone),“SSP+PAN”作為特征增強器(neck),并沿用YOLOv3[17]的頭部網(wǎng)絡(head)。其中,CSPDarknet53是具有更大感受野、更大參數(shù)的模型,可以更好地提取目標特征;而“SSP+PAN”特征增強器可以更好地放大由backbone提取出的特征;YOLOv3的head可以精確地對目標進行種類分類和區(qū)域回歸。除了使用更加先進的整體網(wǎng)絡,YOLOv4中還添加了許多小技巧來增加目標檢測的準確率,如CutMix和馬賽克數(shù)據(jù)增強的外在引入技巧,Mish激活函數(shù)、跨階段部分鏈接(cross stage partial,CSP)等網(wǎng)絡改進技巧,CIoU損失函數(shù)、DropBlock正則化等外在檢測器引入技巧,空間金字塔池化(spatial pyramid pooling,SPP)模板等檢測器網(wǎng)絡改進技巧。
吊弦檢測過程包括視頻抽幀、圖像預處理、圖像標注以及基于YOLOv4的模型訓練和目標檢測,如圖3所示。
圖3 吊弦檢測流程Fig.3 Flow chart of dropper detection
根據(jù)吊弦檢測模型,檢測吊弦位置以及吊弦和尼龍?zhí)椎膸缀侮P系,定位尼龍?zhí)孜恢茫纱说玫侥猃執(zhí)讌^(qū)域的左上(L,U)和右下(D,R)兩個對角坐標。為提高數(shù)據(jù)的多樣性,在感興趣區(qū)域(region of interest,ROI)提取過程中進行隨機裁剪,如式(1)~式(4)所示。圖4為隨機截取的尼龍?zhí)讌^(qū)域示意圖。
圖4 尼龍?zhí)讌^(qū)域示意圖Fig.4 Illustration of nylon brush
式中:(L,U)——尼龍?zhí)讌^(qū)域的左上角位置坐標;(D,R)——尼龍?zhí)讌^(qū)域的右下角位置坐標;(x,y)——吊弦矩形框的中心點坐標;h和w——吊弦矩形框的長和寬;γ——在一定范圍內(nèi)隨機生成的浮點數(shù)。
在深度學習技術(shù)發(fā)展過程中,出現(xiàn)了很多經(jīng)典的分類網(wǎng)絡,如首個卷積神經(jīng)網(wǎng)絡LeNet[18]、標志現(xiàn)代圖像分類技術(shù)開始的AlexNet[19]以及通過將網(wǎng)絡之間前面所有層與后面層密集連接來提高分類性能的DenseNet[20]等。本文根據(jù)吊弦與尼龍?zhí)椎膸缀侮P系定位尼龍?zhí)讌^(qū)域,通過隨機截取、旋轉(zhuǎn)和縮放等方法進行數(shù)據(jù)增強,以此提高數(shù)據(jù)量和數(shù)據(jù)多元性,解決數(shù)據(jù)不平衡和單一性問題,然后利用AlexNet網(wǎng)絡建立二分類模型,判斷尼龍?zhí)资欠袢笔А?/p>
AlexNet是2012年由Alex Krizhevsky和Ilya Sutskever等人提出的一種卷積神經(jīng)網(wǎng)絡。AlexNet網(wǎng)絡共有5層卷積層及3層全連接層,網(wǎng)絡結(jié)構(gòu)如圖5所示。該算法創(chuàng)新地在第一層優(yōu)化了傳統(tǒng)的卷積神經(jīng)網(wǎng)絡,使用11×11大卷積核代替了5×5小卷積核,這樣可以更快地縮小圖像尺寸和獲得尺度合適的特征圖;在激勵函數(shù)上首次使用了ReLU函數(shù),其收斂速度會比Sigmoid/tanh函數(shù)的快很多;使用了重疊池化技術(shù),有效避免了過擬合。
圖5 AlexNet結(jié)構(gòu)圖[19]Fig.5 Structure of AlexNet[19]
本實驗首先對吊弦尼龍?zhí)渍?、負樣本進行清洗和標注,然后選取不同的網(wǎng)絡參數(shù)對YOLOv4網(wǎng)絡進行訓練和測試,得到最佳的吊弦尼龍?zhí)讌^(qū)域定位模型。除此之外,還詳細描述了數(shù)據(jù)增強的過程及其對分類效果的提升程度,并對經(jīng)典分類網(wǎng)絡LeNet、DenseNet與AlexNet的實驗結(jié)果進行了分析比對,從而得到最有效的分類模型。
本文應用GeForce RTX 2080Ti顯卡進行加速計算,YOLOv4及AlexNet依賴的軟件環(huán)境中跨平臺計算機視覺和機器學習軟件庫OpenCV[21]的版本為3.4.0,運算平臺CUDA版本為10.0,深度神經(jīng)網(wǎng)絡庫CUDNN[22]的版本為7.5.0。
2.1.1 吊弦檢測圖像預處理及標注
本次實驗數(shù)據(jù)來自2017年到2020年的CRH車型的3C弓網(wǎng)檢測視頻,共750 000幀圖像,其中尼龍?zhí)兹笔У呢摌颖?3幀。
由于圖像存在著冗余性高、環(huán)境復雜甚至多余的因素,需要對圖像進行預處理。本文采用感知哈希值來對圖片進行去重處理,具體如下:
(1)縮小尺寸。將圖片尺寸縮小到8×8,總共64個像素;去除細節(jié)信息,只保留結(jié)構(gòu)、明暗等基本信息。
(2)簡化色彩。將縮小后的圖片轉(zhuǎn)為64級灰度。
(3)計算平均值并比較像素的灰度。計算所有像素(64個)的灰度平均值,將每個像素的灰度與平均值進行比較,大于或等于平均值記為1,否則記為0。
(4)計算哈希值。將第三步的比較結(jié)果組合在一起,就構(gòu)成了一個64位、由0和1組成的整數(shù)。這串64位的整數(shù)就是圖片的哈希值。
(5)篩選圖片。根據(jù)哈希值開始篩選圖片,具體方法是看64位中有多少位是不一樣的。在理論上,這等同于計算漢明距離[23]。不相同數(shù)據(jù)位的數(shù)量如果未超過閾值,說明兩張圖片很相似;如果大于閾值的兩倍,則判斷為兩張不同的圖片。閾值在一般情況下設定為5。
(6)剔除遮擋場景。為了保證訓練圖片具有足夠的弓網(wǎng)信息量,訓練集和測試集還需要剔除列車經(jīng)過隧道、站臺等地方時接觸網(wǎng)被遮擋的場景。
經(jīng)篩選,最終得到10 000幀有效數(shù)據(jù)。本次實驗從有效數(shù)據(jù)中隨機選取8 000幀作為訓練集,2 000幀為測試集。
2.1.2 吊弦檢測模型訓練
本實驗YOLOv4網(wǎng)絡的總訓練次數(shù)為8 000次。隨著訓練次數(shù)的增加,損失函數(shù)逐漸變小,如圖6所示。大約訓練到1 600次時,下降速率減少并開始逐漸收斂。損失函數(shù)平均值在0.309 0,訓練時間為7.92 h。
圖6 YOLOv4訓練損失函數(shù)Fig.6 Loss function of train based on YOLOv4
2.1.3 吊弦檢測測試結(jié)果
隨著置信度的提高,接觸網(wǎng)吊弦檢測準確率逐漸提高,召回率逐漸降低,基于YOLOv4的吊弦檢測效果見表1。考慮到精確度和召回率的均衡,選擇0.1作為模型的置信度閾值,網(wǎng)絡訓練模型的超參數(shù)batch,width,height,channels,momentum,decay,learning_rate,max_batches分別為64,416,416,3,0.949,0.000 5,0.001,12 000。
表1 基于YOLOv4的吊弦檢測效果Tab.1 Results of the dropper detection based on YOLOv4
平均精度(average precision,AP)是反映吊弦坐標檢測值與真實值之間差距的評價指標。由表2可以看到,在交并比(intersection over union,IoU)閾值為0.5時,AP為0.82,這說明吊弦坐標的位置準確率較高。如圖7所示,該模型能較精確地識別出圖像中所有未被遮擋的吊弦,保證了尼龍?zhí)讌^(qū)域分類模塊輸入的準確性。
表2 基于YOLOv4的吊弦檢測AP指標Tab.2 AP of the YOLOv4 based dropper detection
圖7 吊弦檢測結(jié)果示意圖Fig.7 Illustration of dropper detection
由于正、負樣本數(shù)量嚴重不均衡,為提高模型的準確度和魯棒性,需要進行數(shù)據(jù)增強處理。本文使用的數(shù)據(jù)增強方法包括幾何變換、旋轉(zhuǎn)變換、縮放變換、翻轉(zhuǎn)變換和注入噪聲等,效果如圖8所示??梢钥闯觯瑪?shù)據(jù)增強后,尼龍?zhí)兹笔^(qū)域的形狀、尺寸和清晰度的多樣性有所增強,有效模擬了實際故障的形態(tài)。經(jīng)過數(shù)據(jù)增強后樣本量的變化如圖9所示。
圖8 數(shù)據(jù)增強示意Fig.8 Illustration of data augmentation
圖9 數(shù)據(jù)增強前后樣本數(shù)量對比Fig.9 Comparison of sample size before and after data augmentation
為檢驗數(shù)據(jù)增強的效果,基于AlexNet分類網(wǎng)絡對樣本增強前后的分類結(jié)果進行了比較。同時,還對經(jīng)典網(wǎng)絡LeNet、DenseNet與AlexNet的分類結(jié)果進行了分析比對。表3示出數(shù)據(jù)增強前后的AlexNet分類網(wǎng)絡性能的變化。經(jīng)對比分析發(fā)現(xiàn),數(shù)據(jù)增強后AlexNet分類準確率為84.1%,準確率提高了約21%,而尼龍?zhí)兹笔z測準確率更是提高了約55%。
表3 數(shù)據(jù)增強前后性能對比Tab.3 Characteristic comparison before and after data augmentation
本文還對LeNet,DenseNet與AlexNet分類網(wǎng)絡在尼龍?zhí)兹笔z測中的性能進行了比較。在相同參數(shù)下,3種分類網(wǎng)絡的測試結(jié)果如表4所示,其中batch_size,input_size,max_epoch,GPU,weight_decay,learning_rate參數(shù)分別設為32,64,80,1,0.000 5,0.01??梢钥闯觯啾戎翧lexNet有著更高的準確率和更為簡單的網(wǎng)絡結(jié)構(gòu)。
表4 AlexNet,LeNet與DenseNet分類網(wǎng)絡的性能對比Tab.4 Characteristic comparison among AlexNet,LeNet and DenseNet
為解決3C弓網(wǎng)檢測中尼龍?zhí)兹笔н@種小目標檢測難度過大、精度不高的問題,本文提出一種將YOLOv4目標檢測算法和AlexNet圖像分類算法相結(jié)合的接觸網(wǎng)吊弦尼龍?zhí)兹笔z測方案。其通過3C弓網(wǎng)檢測裝置獲取視頻數(shù)據(jù)并訓練YOLOv4模型,以識別出圖像中吊弦的位置,之后通過AlexNet算法對尼龍?zhí)资欠袢笔нM行分類。實驗結(jié)果顯示,采用這種先檢測再分類的方法,能有效解決尼龍?zhí)兹笔z測過程中存在的誤判、漏判問題。
目前可以用來訓練和測試模型的負樣本都過少,在實際運用中可能會遇到訓練模型中沒有的復雜情況,由此導致誤報的發(fā)生。后續(xù),一方面希望可以通過擴充負樣本的數(shù)量,探索出更好的數(shù)據(jù)增強方法來提高算法的魯棒性和穩(wěn)定性;另一方面希望樣本多元化,以此提高識別場景的廣泛性,使模型可以識別如夜間道路、隧道等更加復雜的場景。