楊 晨, 邵麗麗, ?;勖? 李 婷, 王 濤, 鞏秀鋼
(1 山東理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 山東 淄博255049; 2 山東萬騰電子科技有限公司, 濟南250101)
隨著我國經(jīng)濟的快速發(fā)展,國民生產(chǎn)總值不斷增長,鐵路作為國家經(jīng)濟的動脈,其發(fā)展牽動著經(jīng)濟增長,所以各大城市大規(guī)模建設(shè)鐵路網(wǎng)以此帶動經(jīng)濟發(fā)展[1]。 當前,我國高鐵以平均300km/h 的速度穩(wěn)定運行在縱橫交錯的鐵路網(wǎng)上。 列車以如此之快的速度穩(wěn)定運行,動力獲取是關(guān)鍵,而動力是由電力牽引機車從接觸網(wǎng)取得電能的設(shè)備得到的,把這種傳送電能的電氣設(shè)備稱之為受電弓[2]。 列車行駛中受電弓和羊角的正常狀態(tài)如圖1、圖2 所示。
受電弓是城市軌道車輛從電網(wǎng)中獲取電能的關(guān)鍵設(shè)備,其質(zhì)量決定著列車的電能傳輸和運行安全[3]。 由國家運輸局公布的資料顯示,在列車運行中由供電系統(tǒng)造成的故障是當年鐵路故障的三分之一甚至更高[4],由此可見,對受電弓進行實時的故障檢測是至關(guān)重要的。 對受電弓進行快速而準確的故障檢測,以此來減少鐵路事故的發(fā)生[5]。 受電弓故障的類型如圖3、圖4 所示,圖3 為受電弓因電弧打火而脫離高壓線使火車失去動力,圖4 為受電弓羊角缺失。
圖1 受電弓正常運行圖Fig. 1 Normal operation diagram of pantograph
圖2 羊角正常示意圖Fig. 2 Schematic diagram of normal ram horn
圖3 受電弓脫落Fig. 3 The pantograph falls off
圖4 羊角缺失Fig. 4 Ram horns are missing
目前,受電弓檢測技術(shù)主要有接觸式和非接觸式兩種檢測方式[6]。 人工檢測受電弓故障是接觸式傳統(tǒng)的檢測方式,見圖5。 該方法不但效率低,精度差, 檢測時還要占用線路,干擾正常行車,而且屬于高空作業(yè),存在著誤判和安全問題。 隨著科技的不斷發(fā)展,非接觸式檢測技術(shù)也越來越成熟,針對列車的檢測也逐漸向自動化、智能化的在線檢測方向發(fā)展,即通過相關(guān)設(shè)備以及圖像對受電弓進行故障檢測。 近幾年,受電弓故障檢測技術(shù)也在不斷提升,各種針對受電弓故障檢測的方法中,基于圖像邊緣檢測方法應(yīng)用最為普遍。 采用邊緣檢測來檢測受電弓圖像,并對圖片進行霍夫變換分析的方法,分析判斷受電弓是否存在故障[7],但該方法的精確度不夠高,對于復(fù)雜背景只通過圖像來檢測會造成疏漏;采用紫外光的方法對受電弓進行故障檢測[8],但該方法需要改造裝置并額外配備專業(yè)的設(shè)備去進行檢測,這樣不僅耗費人力物力,還使成本的增加;采用圖像預(yù)處理和圖像邊緣提取的方法對受電弓進行檢測[9],利用傳統(tǒng)算法對圖片中受電弓上下邊緣的距離進行比較,從而來判斷受電弓的磨損程度,但傳統(tǒng)圖像算法精度低,會出現(xiàn)誤判的情況;利用小波變換的基于邊緣檢測方法來對受電弓進行檢測,實驗表明利用小波變換的邊緣檢測方法相對于傳統(tǒng)圖像的邊緣檢測算法更不容易受外界干擾,但是該方法針對復(fù)雜的圖像,處理效果不如深度學(xué)習(xí)[10]。
深度學(xué)習(xí)相關(guān)算法由于其較高的精確度以及較好的魯棒性被廣泛的應(yīng)用在各個領(lǐng)域。 基于深度學(xué)習(xí)的追蹤算法在追蹤算法的基礎(chǔ)上加入一種檢測機制,在精確的追蹤到目標的同時保證了追蹤的實時性。 目標追蹤保證了實時性,其網(wǎng)絡(luò)結(jié)構(gòu)較淺,追蹤目標丟失不易找回是該類算法的一大缺點。 為了既能精確追蹤目標又能保證實時性,本文選擇KCF 追蹤算法,并在KCF 算法的基礎(chǔ)上引入了YOLOv3-tiny檢測算法,對獲取的受電弓圖像進行處理,對受電弓故障進行實時的檢測和故障報警。
本文所提出的基于YOLOv3-tiny 檢測和KCF追蹤算法的受電弓故障檢測主要包括目標追蹤和目標檢測兩個部分,目標追蹤完成對受電弓和羊角的追蹤檢測,當追蹤目標丟失時,目標檢測會通過對當前幀的檢測,完成對目標的找回。
目標追蹤是機器視覺的一個重要研究方向,有著廣泛的應(yīng)用,比如:無人駕駛,視頻監(jiān)控等。 從粒子濾波算法[11-12],均值漂移算法[13-14],光流法[15]等經(jīng)典追蹤方法,到相關(guān)濾波的算法,再到最近三幾年來出現(xiàn)的深度學(xué)習(xí)的相關(guān)算法,方法越來越多。 由于經(jīng)典方法無法處理和適應(yīng)復(fù)雜的跟蹤變化,其魯棒性和準確度都不能滿足現(xiàn)在的要求,所以深度學(xué)習(xí)和相關(guān)濾波追蹤算法得到越來越多的應(yīng)用。
相關(guān)濾波器算法,簡稱KCF 算法,該算法是一種基于循環(huán)矩陣的核跟蹤算法,解決了密集采樣的問題,利用傅里葉變換快速實現(xiàn)檢測的過程,從而降低了運算量,提高了運算速度。 在訓(xùn)練分類器的時,一般以離目標較近的為正樣本,離目標較遠的為負樣本,這樣就能夠?qū)W習(xí)到一個區(qū)域內(nèi)所有的圖像塊特征。 KCF 算法針對線性不可分的情況,引入核技巧映射到高維之后線性可分,其中高斯核函數(shù)表達式[16]為
式中:σ 為函數(shù)的寬度參數(shù),即標準差; u 和v表示兩個樣本;和是指樣本在第c 個通道的傅里葉變換形式;F-1為逆傅里葉變換;是的復(fù)數(shù)共軛矩陣;“· ”為點乘操作[16]。
KCF 算法將目標區(qū)域進行循環(huán)位移采集正負樣本,目的是為了訓(xùn)練一個判別函數(shù)f(t) = wTt, 即嶺回歸判別函數(shù),這樣就最小化了樣本xi和回歸目標yi的平方誤差權(quán)值wi。 最小代價函數(shù)表示為
其中,λ 是正則化參數(shù),目的是防止過度擬合。
引入高斯核函k(u,v)=〈φ(u),φ(v)〉 ,將解w映射到高維空間后表示樣本的線性組合為w =aiφ(ui),a 是對偶空間, w 是原始空間,變量優(yōu)化在a,所以(2)式中需要將優(yōu)化的變量由w 轉(zhuǎn)變?yōu)閍,表示為
正負樣本對分類器進行訓(xùn)練,通過訓(xùn)練分類器會得到一個響應(yīng)結(jié)果,即為
其中,z 為輸入的圖像,響應(yīng)矩陣的最大值即為該圖像的目標位置。
近年來,在計算機視覺領(lǐng)域中,目標檢測算法有著廣泛的應(yīng)用,比如:人臉識別、面部檢測等。 YOLO系列算法是目前目標檢測領(lǐng)域中的經(jīng)典算法,算法的思想為:特性圖中的每個元素也是對應(yīng)原始圖片的一個小方塊,利用每個元素預(yù)測中心點在該小方格內(nèi)的目標。
YOLOv3 是目前YOLO 系列應(yīng)用最廣泛的算法,其性能和魯棒性較YOLOv1 和YOLOv2 都有較好的提升,很多工程項目都會用到Y(jié)OLO v3。 YOLO v3 的算法原理也很簡單,引入了Darknet-53 殘差模型和FPN 架構(gòu),YOLOv3 有三個輸出,維度分別是:(52*52*75)、(26*26*75)和(13*13*75)。 其中,最后一個維度75 代表3*(20+5),20 表示VOC數(shù)據(jù)集的類別數(shù),5 表示每個目標預(yù)測框的tx,ty,tw,th,to,3 表示某一特征圖的先驗框的數(shù)目,因為YOLO v3 只有針對每一個特征層存在3 個先驗框,這也使得YOLO v3 可以實現(xiàn)多尺度檢測。
YOLOv3-tiny 是YOLO 系列中輕量級的目標檢測算法,相對于YOLO 系列,輕量級的速度有了很大的提升。 對于速度要求比較高的,YOLOv3-tiny 是首要選擇,具體的結(jié)構(gòu)如圖6 所示。
圖6 YOLOv3-tiny 的網(wǎng)絡(luò)結(jié)構(gòu)Fig. 6 YOLOv3-tiny network structure
YOLOv3-tiny 作為YOLO 系列目標檢測算法的輕量級算法,在YOLOv3 算法的基礎(chǔ)上去掉一些特征層,保留了2 個獨立預(yù)測分支。 主干網(wǎng)絡(luò)具有7個3*3 的卷積層[18],6 個池化層,前5 個池化層步長為2,最后一個池化層步長為1。 模型輸入圖片尺寸為416*416,經(jīng)過前5 個池化層后,得到特征圖的大小為13*13。
卷積神經(jīng)網(wǎng)絡(luò)包括淺層網(wǎng)絡(luò)和深層網(wǎng)絡(luò)[19]。 目標追蹤對于實時性的要求較高,為了達到實時性的需求,淺層網(wǎng)絡(luò)更加適合本文算法的要求,所以本文選擇YOLOv3-tiny 檢測算法對KCF 算法進行矯正。
本文所研究的基于YOLOv3-tiny 和KCF 算法的火車受電弓故障檢測,利用安裝在火車頂部的工業(yè)攝像機采集的視頻圖像作為輸入,用邊框標注要追蹤檢測的受電弓易出現(xiàn)故障的部分,利用KCF 算法對受電弓進行實時追蹤,采用幀差法對追蹤目標丟失現(xiàn)象進行檢測。 對于追蹤過程中出現(xiàn)的目標丟失現(xiàn)象,利用YOLOv3-tiny 進行檢測找回,并判斷是否因出現(xiàn)故障而導(dǎo)致追蹤失敗,受電弓故障檢測流程如圖7 所示。
圖7 受電弓故障檢測流程圖Fig. 7 Flowchart of pantograph fault detection
采用KCF 和YOLOv3-tiny 結(jié)合的算法模型進行羊角缺失檢測。 首先利用KCF 算法對視頻圖像進行追蹤,并利用幀差法對每兩幀圖像進行比較,檢測是否追蹤目標丟失,若目標丟失,則用YOLOv3-tiny 檢測算法對當前幀的視頻圖像進行檢測,檢測到目標后則繼續(xù)追蹤,檢測失敗則表示目標發(fā)生形變,即出現(xiàn)了故障現(xiàn)象,立即啟動預(yù)警裝置并報警。對視頻圖像采取每隔若干幀(如50 幀)檢測一次,若未檢測到目標則立即啟動預(yù)警裝置。
在受電弓脫落故障檢測時,首先利用KCF 追蹤算法實時追蹤火車受電弓,記錄受電弓標注框初始四個關(guān)鍵點坐標,在跟蹤受電弓的過程中,更新受電弓標注框的坐標,設(shè)定一個閾值(本文設(shè)置為15,可以調(diào)整),當跟蹤的幀數(shù)大于設(shè)定的閾值,計算當前受電弓四個關(guān)鍵點的坐標與其初始坐標所產(chǎn)生的位移,判斷總位移是否超過設(shè)定的閾值,若超過則啟動YOLOv3-tiny 檢測算法對當前幀進行目標檢測,目標是否因發(fā)生形變或者發(fā)生故障而導(dǎo)致追蹤失敗,檢測失敗則啟動預(yù)警裝置。
為了檢測本文提出的受電弓追蹤檢測故障方法的性能,選取了不同環(huán)境下的列車運行時受電弓狀態(tài)的500 張圖片作為測試集。
平均精度均值(mAP)是預(yù)測目標位置以及類別的相關(guān)算法的性能評價標準。 針對受電弓追蹤檢測故障方法的性能評價,本文采用平均精度均值(mAP),來檢測算法的性能。 mAP 對于評估目標定位模型、目標檢測模型非常適用,反映了算法的查準率(Precision)、召回率(Recall)的平均性能。 查準率是識別正確的結(jié)果在所識別的結(jié)果中所占的比率,即分對正樣本的概率;召回率是識別正確的結(jié)果占數(shù)據(jù)集中所有要識別出的總數(shù)的比率,即能將負樣本錯分為正樣本的概率。 其查準率和召回率的計算公式(5)如下:
其中:tp表示正確預(yù)測包含該類別的數(shù)量,即將正樣本識別為正樣本的數(shù)量;fp表示錯誤預(yù)測的不包含該類別目標數(shù)量,即將負樣本識別為正樣本的數(shù)量; tp+fp表示識別出該類別目標圖像數(shù)量; fn表示錯誤預(yù)測該類別目標的數(shù)量,即將正樣本識別為負樣本的數(shù)量; tp+fp表示含有該類別目標的圖像數(shù)量。利用IOU 來分辨檢測結(jié)果是否正確,通常閾值選為0.5。 對所有類別的平均精度值計算其均值,即平均精度均值mAP,計算公式(6),用平均精度值來表示模型的性能。
其中,Precision 表示查準率, N 為全部圖像數(shù)量,即測試集的數(shù)量。
表1 中給出了本文算法、YOLO-tiny 檢測算法和YOLOv2-tiny 檢測算法在同一數(shù)據(jù)集中的檢測性能對比。。
表1 數(shù)據(jù)集上的測試結(jié)果Tab. 1 Test results on the dataset
通過表1 可以看到,在同一數(shù)據(jù)集上,本文算法得到的mAP 是0.91,召回率是0.93,優(yōu)于YOLO-tiny和YOLOv2-tiny,具有較高的檢測精度和召回率。
本文所提出的算法對羊角的檢測畫面如圖8 所示。 在各種電線交錯的復(fù)雜背景下,本算法可以對羊角進行準確識別。
圖8 羊角檢測結(jié)果展示Fig. 8 Display of horn detection results
本算法對受電弓的檢測畫面如圖9 所示。 不論是在電線交錯的復(fù)雜背景下,還是在光線較暗的隧道里,還是在光照強度較大的情況下,本算法都能夠?qū)κ茈姽M行準確識別。
圖9 受電弓檢測結(jié)果展示Fig. 9 Display results of pantograph detection
當發(fā)生受電弓斷裂和脫落以及羊角缺失的故障時,算法能夠檢測到故障并及時預(yù)警,如圖10 所示,以此來保障行車的安全。
圖10 異常情況預(yù)警Fig.10 Early warning of abnormal conditions
本文利用YOLOv3-tiny 檢測算法和KCF 追蹤算法來檢測列車行駛中受電弓的狀態(tài),對監(jiān)控視頻進行實時的追蹤檢測。 當發(fā)現(xiàn)受電弓出現(xiàn)故障時系統(tǒng)會自動預(yù)警,以便工作人員做出相應(yīng)的解決措施。該算法在數(shù)據(jù)集上進行實驗驗證后發(fā)現(xiàn),受電弓追蹤檢測的精確達到了91%,召回率達到了93%,保障了受電弓追蹤檢測實時性。