堯新亮,柯 堅
(西南交通大學機械工程學院,成都 610031)
KJ系列接觸網(wǎng)絕緣子帶電水沖洗裝置是用于電氣化鐵路中絕緣子防污的設(shè)備,裝置作業(yè)需要人工輔助,勞動強度大且有一定的危險性。在對裝置基于圖像的視覺伺服(IBVS)控制系統(tǒng)研究中,如圖1所示,IBVS需要連續(xù)獲得視頻幀中絕緣子的圖像坐標y,這要求系統(tǒng)能夠?qū)^緣子目標進行檢測定位。
圖1 裝置IBVS控制系統(tǒng)結(jié)構(gòu)
現(xiàn)有的目標檢測算法分成傳統(tǒng)和基于深度學習兩類,后者檢測精度遠遠超過前者。傳統(tǒng)目標檢測算法通過滑動不同尺度窗口得到候選區(qū)域,提取其中的圖像特征進行分類器訓練,并利用得到的訓練模型完成檢測。基于深度學習的檢測算法可以分為兩階段和一階段檢測。前者依次進行目標候選區(qū)域的生成與分類校準,檢測精度較高。后者則直接得到檢測物體的類別概率與坐標,檢測速度更快。針對絕緣子的目標檢測,已有相關(guān)學者進行了研究。游誠曦[1]利用SVM+HOG圖像特征的組合,對接觸網(wǎng)成像數(shù)據(jù)中的絕緣子進行檢測定位研究;劉建宏[2]研究比較了SVM+SURF和Adaboost+HOG兩種組合的絕緣子檢測定位效果;苗向鵬[3]采用caffe開源框架,搭建CaffeNet網(wǎng)絡(luò)對絕緣子進行檢測定位;張子健[4]使用深度學習目標檢測算法RRPN完成對絕緣子有角度的檢測定位。
由于光照條件變化、目標遮擋或相機抖動等狀況,實際工作中目標檢測算法的結(jié)果并不穩(wěn)定。為減少目標檢測中錯檢、漏檢等狀況,工程實際中通常會使用多目標跟蹤(MOT)來改善檢測結(jié)果,以便為進一步的分析提供基礎(chǔ)。MOT的主要任務(wù)是在連續(xù)的圖像序列中同時追蹤多個目標,得到目標的運動軌跡。按照初始化方法,MOT算法可以分為DBT(Detection-Based Tracking)和DFT(Detection-Free Tracking)。DBT為主流研究方向,需要對每一幀圖像進行目標檢測,代表算法包括SORT[5]、DeepSORT[6]等。DFT在初始幀需人工標定邊界框,利用單目標跟蹤器在后續(xù)幀跟蹤定位,無需進行目標檢測。
DFT中使用的跟蹤器屬于單目標跟蹤(SOT),其主流算法為判別模型類。該類算法將當前幀目標和其他區(qū)域分為正、負樣本,通過使用機器學習訓練的分類器來尋找下一幀最優(yōu)區(qū)域。近幾年,判別模型中的相關(guān)濾波類和基于深度學習類成為SOT算法的主流。相關(guān)濾波類代表算法有KCF[7]、FDDST[8]、Staple[9]、BACF[10]等,基于深度學習類的代表算法有MDNet[11]、SiamFC[12]、A3CTD[13]等。SOT除了短期跟蹤,也包括長期跟蹤。長期跟蹤算法中包含目標檢測,能夠在目標跟丟的情況下重新檢測找回。因此,正確判斷跟蹤器的跟蹤狀態(tài)和準確的目標檢測是長期跟蹤算法的關(guān)鍵。MA等[14-15]提出的LCT算法中通過學習兩個相關(guān)濾波器同時完成目標跟蹤及狀態(tài)估計;LUKE?I等[16]提出的FuCoLoT算法中則利用CSRDCF跟蹤器同時完成平移、尺度估計與目標置信度計算。在目標的找回檢測中,前者使用隨機簇檢測,后者使用不同時間尺度上的跟蹤器進行檢測,兩者的檢測都只針對同一目標。
沖洗裝置的沖洗對象為鐵路沿線接觸網(wǎng)立柱上的絕緣子,因此裝置需要沿著線路不斷運動,絕緣子在相機視野中會周期性的出現(xiàn)與消失。這要求裝置控制系統(tǒng)能夠準確檢測絕緣子目標。從圖1可以看出,裝置采用的IBVS控制系統(tǒng)的控制周期為控制外環(huán)(圖像環(huán))的采樣周期,這主要取決于相機采樣和圖像處理速度。同時,為保證裝置的沖洗效果,高壓射流需要沿著絕緣子軸線移動。所以,裝置控制系統(tǒng)要求絕緣子目標檢測跟蹤算法具有較高的檢測速度與精度、跟蹤速度、目標定位精度和尺寸估計精度。
綜合考慮沖洗裝置控制系統(tǒng)硬件的局限、目標檢測算法的復雜性、系統(tǒng)對絕緣子檢測跟蹤的技術(shù)要求以及裝置在絕緣子出現(xiàn)的單個周期時間內(nèi)能完成沖洗的數(shù)目(1~2),參考DFT和長期跟蹤算法,提出使用YOLOv3目標檢測器+多線程ECO單目標跟蹤器結(jié)合,組成絕緣子的目標檢測跟蹤一體化算法。該算法利用YOLOv3完成初始幀的邊界框標定,借助多線程ECO-HC跟蹤器進行后續(xù)幀目標跟蹤定位,避免了對多目標跟蹤過程中每一幀圖像的大量檢測計算。針對絕緣子在伺服系統(tǒng)圖像的周期性消失、出現(xiàn)和絕緣子外觀的變化狀況,引入響應(yīng)質(zhì)量分數(shù)來評估跟蹤器的跟蹤狀態(tài),利用響應(yīng)質(zhì)量分數(shù)完成一體化算法的檢測器在目標丟失時的重新調(diào)用。
YOLO[17-19]系列算法作為一階段基于深度學習的目標檢測算法,基本思想是通過卷積神經(jīng)網(wǎng)絡(luò)一次性預(yù)測邊界框的尺寸、坐標和物體的分類。算法的損失函數(shù)為
(1)
對于YOLO系列算法,算法性能的提升主要決定于骨干網(wǎng)絡(luò),YOLOv3算法中采用的是Darknet-53。網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 Darknet-53網(wǎng)絡(luò)結(jié)構(gòu)
如圖3所示,接觸網(wǎng)絕緣子圖像數(shù)據(jù)來源于網(wǎng)絡(luò)和沖洗裝置工作實地拍攝,一共1 000張RGB圖像。利用圖片標注工具labeling對數(shù)據(jù)集進行標注。模型利用谷歌的云計算平臺Google Colab提供的GPU在線資源進行訓練,顯卡為Tesla P4,顯存容量7611MiB,CUDA版本為10.1。
圖3 接觸網(wǎng)絕緣子圖像(已標注)
選取100張1 000×1 000的絕緣子圖像用于模型測試,這些圖像中一共包含336個絕緣子目標。為有效評價算法的性能,相關(guān)參數(shù)計算如下
(2)
式中,NTP為正確檢測的目標數(shù)目;NFP為錯誤檢測的目標數(shù)目;NFN為遺漏檢測的目標數(shù)目。使用精確度RP、召回率RR等對訓練好的模型進行評估,相關(guān)檢測結(jié)果見表1。
表1 檢測結(jié)果
在部分針對行人等較大目標的檢測算法性能對比中,專注于單類檢測問題的DPM算法檢測精度往往高于YOLOv3,這是由于后者優(yōu)勢在于多分類問題。針對接觸網(wǎng)絕緣子,由于目標在圖像中較小,從表1可以看出,YOLOv3算法相較于傳統(tǒng)目標檢算法DPM,漏檢和錯檢數(shù)目更少,檢測精度更高。兩種算法的檢測結(jié)果圖像如圖4所示,第一行圖像為YOLOv3算法的結(jié)果,第二行圖像為DPM算法的檢測結(jié)果。
圖4 絕緣子圖像目標檢測結(jié)果
ECO[21]屬于相關(guān)濾波類目標跟蹤算法,該算法以C-COT[22]為基礎(chǔ),通過引入因式分解卷積、滿足樣本分布的簡潔生成模型和稀疏的更新策略等方法加快跟蹤速度。其中,使用手工特征的版本為ECO-HC(HOG+CN特征),在單個CPU上有60fps的速度。下面為算法的模型理論公式。
(3)
式中,bd∈L2(T)為插值函數(shù);Nd為特征通道采樣數(shù);xd[n]為平移后的函數(shù)權(quán)值。
算法目標是學習一個連續(xù)的線性卷積算子,通過該算子將樣本x映射到目標置信分數(shù)。實踐中,算法引入投影矩陣,對卷積操作進一步分解,從而降低數(shù)據(jù)維度,減少計算時間。連續(xù)卷積算子為
(4)
關(guān)于投影矩陣中各個元素的物理意義,可以將其視為原濾波器集合中各通道濾波器對新集合中各濾波器的支持度或相關(guān)度。相對于傳統(tǒng)判別濾波算法,ECO需要共同學習濾波器f和投影矩陣P,最小化分類損失函數(shù)。
ECO使用概率生成模型對樣本集進行簡化,假設(shè)樣本x和高斯標簽y的聯(lián)合概率分布P(x,y)。同時為提高樣本的多樣性,ECO利用高斯混合模型(GMM)生成不同的組件,每個組件包含相似的訓練樣本。在簡化聯(lián)合概率分布后,ECO將目標函數(shù)完善為
(5)
式中,l為組件范圍;L為組件數(shù);πl(wèi)為組件權(quán)重;μl為組件期望。
絕緣子水沖洗裝置視覺伺服控制系統(tǒng)設(shè)計要求能夠自動完成裝置作業(yè)時絕緣子目標的檢測跟蹤。目標檢測器除了進行每個跟蹤周期初始絕緣子的檢測定位,也需要在跟蹤器丟失目標時找回絕緣子。因此,算法需要有效評估跟蹤器的跟蹤狀態(tài),以此決定是否調(diào)用檢測器進行目標檢測。同時,在檢測器檢測到目標后,算法需要正確分辨其中是否包含新目標。
跟蹤不確定性評估對于單個立柱上絕緣子目標發(fā)生跟丟、跟蹤結(jié)束等事件后啟動檢測器再檢測至關(guān)重要。使用基于最大響應(yīng)值的響應(yīng)質(zhì)量來評估跟蹤不確定性,響應(yīng)質(zhì)量的計算公式如下
(6)
式中,s為跟蹤器中的目標置信分數(shù);pslr(peak-to-sidelobe ratio,峰值旁瓣比)為主瓣峰值強度與最強旁瓣的峰值強度之比;μ為置信分數(shù)圖均值;σ為標準差。
當檢測器檢測到目標后,算法需要正確分辨出當中的新目標。對于算法而言,檢測器的檢測結(jié)果為一系列邊界框。判斷檢測邊界框中是否包含新目標最簡單的方法是計算檢測邊界框與已有目標邊界框的IOU(交并比)或中心坐標的歐式距離,通過設(shè)定閾值進行甄別。
比如學校可以定期開展文明班級、文明寢室、文明先進個人等活動,并在此制度上設(shè)立相關(guān)的獎勵制度,可以是獎金,也可以是學習用具。通過這種式讓方學生自發(fā)參與到文明活動之中,培養(yǎng)學生精神文明建設(shè)?;蛘邔W??梢越⑼ㄟ^廣播、校園公告欄、報紙、海報等形式來進行核心價值觀和精神文明建設(shè)宣傳的制度,加強推進精神文明建設(shè)的腳步。
(7)
式中,A、B為目標邊界框;(x,y)為中心坐標;ρ為歐式距離。
接觸網(wǎng)絕緣子目標檢測跟蹤一體化算法結(jié)構(gòu)如圖5所示,算法使用ECO-HC作為短期跟蹤器,YOLOv3算法為檢測器。在單個立柱上絕緣子跟蹤過程中,算法利用檢測器得到的目標框作為短期跟蹤器的初始邊界框,同時檢測器在目標跟丟(跟蹤失敗)和跟蹤結(jié)束時(跟蹤器數(shù)目為0)將再次啟動。對于YOLOv3檢測器的深度學習框架,算法采用OpenCV,要求OpenCV版本在3.4.2以上,只能配合CPU進行計算。
圖5 絕緣子目標檢測跟蹤一體化算法結(jié)構(gòu)
實踐中,當檢測器發(fā)現(xiàn)未跟蹤目標時,算法會相應(yīng)地學習一個新的跟蹤器,并為其分配線程。該線程會在當前已有跟蹤器完成更新計算后進行添加,在下一幀圖像輸入后進行計算。各個線程的跟蹤器輸入為相機視頻幀,輸出為響應(yīng)質(zhì)量、邊界框和目標跟蹤狀態(tài)。根據(jù)目標跟蹤狀態(tài),當跟蹤器丟失目標時,算法自動清除該跟蹤器及其線程。
實際工作中絕緣子帶電水沖洗裝置搭載在平車上進行沖洗作業(yè),單個立柱上絕緣子的有效沖洗距離約8 m。平車運動速度為5~10 km/h,單側(cè)的沖洗時間約4 s。選取了成灌線上拍攝的圖像序列進行絕緣子目標檢測跟蹤實驗,一共1 200幀,圖像尺寸為1 000×1 000。該圖像中列車的運動速度高于沖洗裝置搭載的平車移動速度。由于該段圖像中絕緣子的移動速度較高,這對算法的檢測與跟蹤提出了更高要求。
圖6為算法檢測跟蹤的結(jié)果圖像。實驗中,一體化算法的檢測器能夠較為準確的檢測定位絕緣子,并在后續(xù)幀中進行連續(xù)跟蹤。當絕緣子目標離開圖像區(qū)域和跟蹤器跟蹤失敗時,算法能夠準確評估當前跟蹤目標的外觀變化,重新調(diào)用檢測器。圖6(a)中,第17、18幀兩個絕緣子目標接連離開視野,算法調(diào)用檢測器開始檢測,并在第88幀成功檢測到下一立柱的絕緣子目標。圖6(b)中,在第117幀之后連續(xù)丟失全部目標,并在第130幀找回其中兩個目標重新跟蹤。算法在單個CPU(i7)平臺下進行跟蹤測試,同時跟蹤兩個目標的跟蹤平均速度為30.9 fps,檢測階段平均速度為2 fps。
圖7、圖8分別為絕緣子目標檢測跟蹤一體化算法的單個跟蹤器在跟蹤階段的平均像素誤差和重疊率成功率圖。平均像素誤差成功率圖橫軸代表跟蹤結(jié)果邊界框中心與目標真實位置的像素距離平方,平均重疊率成功率圖橫軸代表跟蹤結(jié)果邊界框與目標真實邊界框的IOU。圖中實線為算法利用檢測器得到的目標初始邊界框進行跟蹤,跟蹤過程中算法跟蹤器平均像素誤差(20 px)成功率為44.8%,平均重疊率(0.5)成功率為49.7%。
相比使用人工標定邊界框進行跟蹤,算法跟蹤器的平均像素誤差成功率與平均重疊率成功率都有所下降。這是由檢測器的精度所決定,檢測結(jié)果的精度越高,跟蹤效果越好。
圖9為圖6(b)中第88幀5號絕緣子(綠色)跟蹤過程中響應(yīng)質(zhì)量的變化。在跟蹤器開始跟蹤的初始階段,響應(yīng)質(zhì)量q變化不大;但是隨著5號絕緣子不斷靠近,絕緣子的外形不斷發(fā)生變化,跟蹤器計算的響應(yīng)質(zhì)量q急劇下降。直到第120幀,5號絕緣子目標跟丟,響應(yīng)質(zhì)量的數(shù)值相比初始幀已經(jīng)下降了一個數(shù)量級。實驗中,算法通過計算響應(yīng)質(zhì)量分數(shù)s,利用閾值τ準確判斷跟蹤狀態(tài),決定是否調(diào)用檢測器。
圖6 絕緣子圖像的檢測和跟蹤
圖7 算法跟蹤器平均像素誤差成功率
圖8 算法跟蹤器平均重疊率成功率
圖9 目標跟蹤過程響應(yīng)質(zhì)量
關(guān)于一體化算法的性能,使用MOT17行人跟蹤數(shù)據(jù)集進行評價,該基準分別包含7個具有挑戰(zhàn)性的測試和訓練的圖像序列。為保障結(jié)果的公正,使用數(shù)據(jù)集提供的公共檢測器(SDP)的檢測結(jié)果。算法的測試結(jié)果見表2,關(guān)于各指標的含義如下。
表2 MOT17跟蹤結(jié)果
(1)MOTA:多目標跟蹤準確度
(2)MOTP:多目標跟蹤精度
(3)MT:主要跟蹤目標
(4)ML:主要丟失目標
(5)IDs:身份切換數(shù)
(6)FM:跟蹤軌跡中斷次數(shù)
(7)FP:錯誤檢測目標數(shù)
(8)FN:未檢測目標數(shù)
從跟蹤結(jié)果可以看出,一體化算法的跟蹤準確度和精度都明顯低于一般的MOT算法。該差異主要是由于一體化算法沒有對每一幀圖像進行檢測,僅依靠單目標跟蹤器完成目標跟蹤定位。同時由于數(shù)據(jù)集目標數(shù)量多,需進行大量的跟蹤計算,一體化算法的跟蹤速度并無優(yōu)勢。對于絕緣子裝置控制系統(tǒng)而言,在保障清洗效果的前提下需要進行跟蹤的絕緣子數(shù)目較少(1~2)。同時,由于絕緣子之間的較大間隔,相互遮擋的情況較少。此種情況下,在裝置有限的系統(tǒng)硬件資源下,檢測器只完成初始和找回檢測計算的一體化算法,對于少量目標進行跟蹤更具優(yōu)勢。
針對KJ系列電氣化鐵路絕緣子帶電水沖洗裝置視覺伺服系統(tǒng)的控制問題,提出了一種絕緣子目標的檢測跟蹤一體化算法。該算法利用YOLOv3檢測器完成目標的初始檢測與ECO-HC跟蹤器的學習,并在后續(xù)幀使用跟蹤器完成目標的跟蹤定位。為有效評估算法中各跟蹤器狀態(tài),引入了響應(yīng)質(zhì)量分數(shù),通過設(shè)置閾值進行檢測器的自動調(diào)用,并利用IOU等指標綜合分析檢測結(jié)果。該算法的優(yōu)點在于利用多線程跟蹤器就能進行多個目標的跟蹤定位,無需對每一幀圖像做大量的檢測計算,為硬件資源有限的計算平臺上完成多個目標的自動檢測跟蹤任務(wù)提供一條可行的策略。試驗結(jié)果表明,一體化算法能夠在單個CPU平臺上對鐵路沿線多個絕緣子進行連續(xù)檢測跟蹤。跟蹤器同時跟蹤兩個目標的平均速度為30.9 fps,平均像素誤差成功率44.8%,平均重疊率成功率49.7%,滿足絕緣子水沖洗裝置視覺伺服控制系統(tǒng)實時性、準確性等要求,具有工程實際應(yīng)用價值。