馮雪,杜猛俊,向新宇,錢錦,張敏
(國網浙江省電力有限公司杭州供電公司,杭州 310000)
近年來,隨著中國經濟的飛速發(fā)展,電力建設的規(guī)模也隨之逐年擴大。據國家電網統計,截至2018年底,110 kV 及以上輸電線路長度已達103.34×104km。這對電網運行的穩(wěn)定性和安全性帶來了更高挑戰(zhàn),對變電、輸電、配電等電力系統各環(huán)節(jié)的巡檢提出了更高要求。傳統的人工巡檢方式由于巡檢周期長、效率低、無法覆蓋復雜地形和惡劣環(huán)境等問題,已無法滿足當前電網的巡檢要求。隨著人工智能和計算機視覺領域的蓬勃發(fā)展,智能電力巡檢方式逐漸成為當前電力領域的研究熱點。
事實上,由于輸電線路和桿塔等電力設備長期暴露在戶外,常常受到各種鳥類、風箏、氣球或者空中漂浮塑料袋等移動物體的干擾和威脅,以及工作人員進行維修攀爬等作業(yè)時帶來的安全隱患。因此,對運動目標隱患的檢測和追蹤是電力傳輸系統亟待解決的重要問題?,F有針對電力傳輸系統監(jiān)控視頻流中運動物體的檢測方法主要是基于對固定攝像頭拍攝的視頻幀進行目標檢測,雖然該方法可以取得不錯的準確率,但是存在兩方面局限:①由于需要對各視頻幀進行目標檢測,檢測的實時性無法得到保證。②由于固定攝像頭的視野有限,對于運動物體常常存在追蹤丟失問題,即運動物體移出視野外。因此,為提高目標追蹤的準確率和實時性,本文旨在基于無人機視覺,并結合目標檢測和目標追蹤技術對電力場景中運動目標進行實時追蹤。該方法具有操作靈活、效率高、對環(huán)境要求低等優(yōu)勢,有利于解決電力領域的實際應用問題。
然而,在電力場景下,基于無人機視覺的運動目標追蹤技術的研究存在諸多挑戰(zhàn)。①為了保證方法的實時性,現有基于目標檢測和目標追蹤相結合的方法,通常假設運動目標的移動速度較慢,即目標的前后幀位移較小。因此,如何有效追蹤各種運動速度的物體,降低追蹤丟失的問題是本文工作的首要挑戰(zhàn)。②為提高方法的準確性,保證運動目標始終保持在無人機視野的中心,如何有效控制無人機的飛行速度和方向是另一個重要挑戰(zhàn)。
為了解決以上挑戰(zhàn),本文設計了一個電力場景下基于無人機視覺的運動目標追蹤方法(moving target tracking scheme based on UAV vision for electric scenario,MTTS_UAV),包括追蹤模塊、飛行控制模塊兩部分。對于追蹤模塊,本文基于目標檢測方法YOLOv3[1]和目標追蹤方法核相關濾波(kernel correlation filter,KCF)[2]對隱患目標進行實時低功耗定位與追蹤;對于飛行控制模塊,本文提出了2種解決辦法:啟發(fā)式飛行控制模塊和數據驅動的飛行控制模塊。其中,啟發(fā)式飛行策略旨在針對不同速度的移動物體自適應調節(jié)無人機的飛行速度和方向,進而使隱患目標一直處在畫面中心;數據驅動的飛行策略根據預先提取的無人機追蹤目標位移序列,基于門控循環(huán)神經網絡(gated recurrent neural network,GRU)[3]預測每一幀無人機的位移。
本文提出了一個電力場景下基于無人機視覺的運動目標追蹤方法。所提方法通過結合目標檢測和目標追蹤方法,使用無人機可以對電力場景下的運動目標隱患進行準確地實時追蹤。特別地,本文提出了2種飛行控制模塊:啟發(fā)式飛行控制模塊和數據驅動的飛行控制模塊。這些模塊可以使無人機自適應地調整飛行速度和方向。此外,本文基于電力場景中的真實數據集,開展了大量實驗。相關結果證實了本文所提模型的有效性。
目標檢測任務旨在找出圖像中所有感興趣的目標(物體),確定它們的類別和位置,這是計算機視覺領域的核心問題之一,也是電力場景中智能巡檢的重要組成部分。傳統的目標檢測方法大多基于手工特征所構建。例如,2001年Viola和Jones[4]建立了一種稱為積分圖像的特征,在極為有限的計算資源下第1次實現了人臉的實時檢測,即Viola-Jones目標檢測器,速度是同期檢測方法的幾十甚至上百倍;之后,文獻[5]提出了方向梯度直方圖特征的HOG行人檢測器,為了兼顧速度和性能,采用的分類器通常為線性分類器[6]或級聯決策分類器[7]等。由于深度學習的快速發(fā)展和廣泛運用,許多檢測能力和實時性都很優(yōu)秀的基于深度學習的算法被提出,如 Fast RCNN[8]、Faster R-CNN[9]、YOLOv3[1]、SSD[10]等。面向智能電網領域,這些基于深度學習的目標檢測方法也取得了一些成績。例如,吳冬梅等[11]針對作業(yè)人員不佩戴安全帽、越界操作等違規(guī)行為,提出了一種基于改進的Faster R-CNN的安全帽佩戴檢測及身份識別方法。董召杰[12]針對自動巡檢的精度和速度需求,提出了基于YOLOv3的電力線多種關鍵部件的實時檢測方法,構建了包含5種電力線關鍵部件的數據集,并在該數據集上應用YOLOv3實現了高精度實時檢測。雖然現有方法在面向電力領域的目標檢測任務中取得了一定成功,但是其在電力場景中運動目標追蹤任務中的應用尚未被探索。本文利用目前先進的目標檢測方法糾正目標追蹤過程中的目標丟失或追錯問題,提高了電力系統中運動目標追蹤的準確性和實時性。
目標追蹤任務旨在給定目標的初始位置,計算出后續(xù)每幀圖像中目標的位置信息。國內外的科研工作者對該問題進行了廣泛研究。例如,Xiang[13]提出了一種單PTZ攝像頭下的快速運動物體的實時跟蹤方法,引入了卡爾曼濾波算法和感興趣區(qū)域(region of interest,ROI)來達到跟蹤快速物體的效果。Zhang等[14]提出了一個基于單PTZ攝像頭的視頻監(jiān)控系統,利用背景差分的方法檢測出運動目標。然而這些傳統的靜態(tài)攝像頭下的目標追蹤,受限于攝像頭視角的有限性,難以對感興趣目標進行大范圍和長時間的跟蹤。近年來,隨著無人機技術的發(fā)展,基于無人機進行目標追蹤被廣泛應用于航拍、電力巡檢、物流、軍事偵察、目標打擊等領域。例如,Dong和Zou[15]介紹了基于視覺的無人機目標追蹤方法,采用數傳將攝像機采集到的圖像數據發(fā)送到遠端進行處理后再發(fā)送指令給無人機。林勇等[16]介紹了一種基于合作目標的無人機目標追蹤方法,能夠實現準確跟蹤,主要用于危險物排除。
盡管上述方法取得了突破性進展,但大多只考慮了改進追蹤方法,而沒有采用一定的控制策略以控制無人機飛行,使其達到變速飛行的效果,無法在復雜電力場景中對運動隱患目標進行有效追蹤。因此,本文提出了一種電力場景下基于視覺的運動目標追蹤方法,通過目標檢測和目標追蹤相結合的方式,再引入啟發(fā)式和數據驅動的飛行控制模塊,采用一定的控制策略控制無人機飛行,對電力系統中的運動隱患實時追蹤,保障電力系統安全運行。
假設無人機拍攝的實時視頻流表示為v=[I1,I2,…,IN],Ij表示視頻流中的第j幀圖像,N為視頻的幀數。本文使用t0=(x0,y0,w0,h0)表示待追蹤的運動目標的初始位置,其中,(x0,y0)表示圖像中初始目標框的左上角坐標,w0和h0分別為目標框的寬度和高度。本文所提出的電力場景下基于無人機視覺的運動目標追蹤方法,旨在基于給定的目標初始位置t0,通過實時調整無人機的飛行速度和方向,也就是無人機的幀間位置偏移量,追蹤目標在視頻流中各幀的位置,即tj=(xj,yj,wj,hj),j=1,2,…,N,其中,(xj,yj)表示運動目標框在第j幀圖像中的左上角坐標,wj和hj分別為目標框的寬度和高度。
為了準確實時地對電力場景下運動的隱患目標進行追蹤,本文采用目標追蹤和目標檢測相結合的方式,在目標追蹤方法追錯或追丟的情況下,能夠通過目標檢測方法及時糾正或找回,進而保障追蹤的準確性。具體而言,本文有機結合了簡潔高效的目標追蹤方法KCF和目標檢測方法YOLOv3,其具體模型結構如圖1所示。值得一提的是,本文所提框架也適用于其他的目標檢測和目標追蹤方法。
圖1 電力場景下基于無人機視覺的運動目標追蹤方法結構Fig.1 Framework of UAV-vision-based moving target tracking scheme in electric scenario
2.2.1 KCF目標追蹤
經典的KCF追蹤算法,通過使用循環(huán)移位得到的循環(huán)矩陣來采集正負樣本,利用循環(huán)矩陣在傅里葉空間可對角化的性質,將矩陣的運算轉化為元素的點乘,從而降低了運算量,使得算法滿足實時性要求,在眾多目標追蹤相關任務中取得了出色的效果[17-20]。為了保證追蹤效果,本文選擇KCF常見的提高算法判別能力的高斯核函數[2],其表達式為
式中:x和x′分別為2個任意樣本;σ為標準差;F-1代表傅里葉逆變換;“⊙”表示內積。
根據KCF算法,可以得到待追蹤運動目標在每一幀的坐標位置tj=(xj,yj,wj,hj)。
為了降低追蹤目標丟失的可能性,本文提出采用YOLOv3來重新捕獲可能丟失的運動目標,以提高模型效果。如果基于KCF算法預測的相鄰2幀的目標區(qū)域tj和tj-1之間的顏色直方圖相似性小于一定閾值γ1,或者當前幀未檢測到運動目標,則觸發(fā)目標檢測方法YOLOv3來重新選定目標區(qū)域,以開展后續(xù)的目標追蹤。本文相似性采用最直觀的相鄰幀直方圖相似性。令Hj-1和Hj分別表示第j-1和第j幀的目標區(qū)域tj-1和tj的顏色直方圖向量。當前幀Ij和前一幀Ij-1的目標區(qū)域的直方圖相似性S的計算如下:
此時,根據YOLOv3預測的當前幀目標區(qū)域^tj與KCF追蹤算法預測的前一幀目標區(qū)域tj-1的相似性是否大于閾值γ2,判定當前YOLOv3檢測到的目標區(qū)域^tj是否應當被選作新的目標,供后續(xù)KCF追蹤。為了增強模型的準確性,不僅考慮了基于直方圖的相似度,也考慮了當前幀和前一幀目標框的空間相似度,即交并比IOU,設其閾值為δ,計算公式如下:
基于2.2節(jié)所述追蹤模塊,可以獲得當前幀運動目標的位置。為了增強追蹤效果,使待追蹤目標保持在無人機的視野中心,本文引入了2種飛行控制模塊,以引導無人機以合適的速度和方向追蹤目標,具體為啟發(fā)式飛行控制模塊和數據驅動的飛行控制模塊。
2.3.1 啟發(fā)式飛行控制模塊
很顯然,在控制無人機追蹤時,不能單純地依靠單一速度來追蹤不同的物體。因此,本文提出無人機應能夠自適應地追蹤具有不同速度的運動目標。直觀上說,無人機的速度應當和運動物體的速度保持一致,以防止無人機速度過快帶來的搖擺情況和速度過慢引起的目標丟失等問題。為此,本文首先按照式(5)計算無人機速度vj,即
為全面驗證本文提出的面向電力場景中基于無人機視覺的運動目標追蹤方法的效果和實時性,采用真實變電站的數據集進行了充分實驗,其中,真實變電站數據集共計24個電力場景佩戴安全帽人員追蹤視頻。
為訓練數據驅動的飛行控制模塊,對每個視頻進行100次隨機控制追蹤。每個視頻都可以獲得100個長短不一的目標序列和對應的無人機位置序列。隨后,對所有獲得的視頻序列根據序列長度進行排序,挑選出長度最長的1 000個序列作為訓練樣本。由于視頻序列長度較長,以及考慮無人機控制的穩(wěn)定性,進一步對這些序列進行了截取。具體地,將序列截取成長度為10 s的序列。最終,獲得了1 354個序列數據。
使用的視頻流中的所有圖像幀經過預處理后,大小均為960×540。對于真實變電站安全帽人員數據集進行劃分,其中80%作為訓練集,10%作為驗證集,10%作為測試集。采用網格搜索策略來決定網絡中超參數的最優(yōu)值,同時根據已有經驗,分別設置了追蹤模塊中的顏色直方圖相似性、追蹤目標重定位模塊中的顏色直方圖相似性、追蹤模塊中的空間相似度閾值,即γ1=0.7,γ2=0.1,δ=0.01。通過多次迭代訓練優(yōu)化模型,得到最佳效果的本文方法模型。對于數據驅動的飛行控制模塊,使用PyTorch構建模型并完成訓練。其中,GRU與全連接層的隱含狀態(tài)個數均設置為10,學習效率設置為0.001,優(yōu)化方法使用隨機梯度下降法,通過多次迭代訓練優(yōu)化模型。
為進一步評估本文方法在電力場景中對運動隱患目標的追蹤效果,采用目標追蹤任務中常用的評價指標——平均像素誤差(average pixel error,APE)、平均重疊率(average overlap rate,AOR)、平均重啟次數及平均連續(xù)追蹤幀數。
根據OTB標準[23],平均像素誤差指的是預測目標中心位置與真實目標中心位置的平均歐氏距離,平均重疊率指的是預測目標框和真實目標框面積的平均交并比,其具體計算公式如下:
另外,在視頻跟蹤處理的一段序列中,當目標丟失或者顏色直方圖相似性低于閾值γ1(本文設置的γ1為0.7),則判定為跟蹤失敗,并重新初始化目標框。因此,根據VOT2013[24]標準,本文采用平均重啟次數來評價追蹤器跟蹤目標的穩(wěn)定性。追蹤器的魯棒性定義如下:
式中:F(k)為追蹤器在第k次重復追蹤中失敗的次數;Nrep為重復追蹤次數。
同時,根據VOT2015[25]標準,本文定義了評估指標平均連續(xù)追蹤幀數,即上一次跟蹤失敗后能夠持續(xù)跟蹤的視頻幀的平均數量。
由于控制無人機進行實驗不具備可重復性,本文在視頻追蹤上設置了與真實情況下無人機相對應的感知窗口,對無人機的移動進行模擬實驗。在安全帽數據集上,分別對本文提出的啟發(fā)式飛行控制模塊和數據驅動的飛行控制模塊進行了評估。共有2組對照實驗:實驗1比較了3個不同策略下平均像素誤差和平均重疊率,實驗2比較了啟發(fā)式飛行控制模塊和數據驅動的飛行控制模塊的追蹤效果;實驗3對模型的參數敏感性進行了分析。
3.4.1 實驗1
在本節(jié)實驗中,分別設置了3組對照實驗:目標檢測+啟發(fā)式飛行控制模塊、目標檢測+KCF+啟發(fā)式飛行控制模塊和目標檢測+KCF+數據驅動的飛行控制模塊。
1)目標檢測+啟發(fā)式飛行控制模塊(方法1)。目標檢測采用YOLOv3算法,飛行控制模塊通過對目標檢測中目標移動距離的預測值進行加權,得到窗口移動的位移值。該位移模擬了無人機追蹤場景下無人機的位移。其中無人機的飛行速度由超參w控制。
2)目標檢測+KCF+啟發(fā)式飛行控制模塊(方法2)。在方法1的基礎上,添加KCF算法,旨在當目標丟失時,再啟動目標檢測方法。
3)目標檢測+KCF+數據驅動的飛行控制模塊(本文方法)。在方法2的基礎上,替換啟發(fā)式飛行控制模塊為基于深度學習的數據驅動的飛行控制模塊。
3.4.2 實驗2
本節(jié)實驗中在啟用KCF的平等環(huán)境下,對比啟發(fā)式飛行控制模塊和數據驅動的飛行控制模塊,比較其在追蹤目標時的平均重啟次數與平均連續(xù)追蹤幀數。重啟目標檢測的次數越少,意味著追蹤越不容易丟失目標,越流暢。連續(xù)追蹤幀數越大,代表著追蹤時長越長,追蹤能力越強。
3.4.3 實驗3
為了全面驗證本文模型,對模型的3個重要參數:追蹤中的當前幀和前一幀目標框顏色直方圖相似性閾值γ1、目標重定位中的直方圖相似性閾值γ2、空間相似度閾值δ,分別進行了參數敏感性實驗。將追蹤中的顏色直方圖相似性閾值γ1設置在[0.1,0.9]范圍內,并以0.2為步長進行調節(jié);將目標重定位中的直方圖相似性閾值γ2設置在[0.1,0.5]范圍內,并以0.1為步長進行調節(jié);將空間相似度閾值δ設置在[0.001,0.003,0.01,0.03,0.1]中取值。
3.4.4 實驗結果分析
從實驗1模塊的對比中可以看出,啟發(fā)式飛行控制模塊中超參w的設置對檢測的效果有明顯的影響。隨著啟發(fā)式飛行控制模塊參數w從初始值1開始增加,檢測的效果開始逐漸提升,并在w=2后這種趨勢逐漸放緩。同時,從表1和表2的對比結果可以看出,盡管本文提出的數據驅動的飛行控制方法效果只是接近方法1的最優(yōu)值(w=5),但是由于方法1需要對每一幀進行目標檢測,其時間代價遠遠大于目標檢測與目標追蹤結合的方法2和本文方法。
表1 平均像素誤差結果統計Table 1 Statistical results of average pixel error
表2 平均重疊率結果統計Table 2 Statistical results of average overlap rate
實驗2對比了啟發(fā)式飛行控制模塊和數據驅動的飛行控制模塊的平均重啟次數和平均連續(xù)追蹤幀數。如表3和表4所示,數據驅動的飛行控制模塊平均重啟次數36.70明顯小于啟發(fā)式飛行控制模塊,即在相同的幀數內數據驅動的飛行控制模塊的追蹤效果更好。對比連續(xù)追蹤幀數可以發(fā)現,數據驅動的飛行控制模塊可以連續(xù)追蹤到41幀,也高于啟發(fā)式飛行控制模塊,說明其追蹤效果較強。
表3 平均重啟次數統計Table 3 Statistics of average restart times
表4 平均連續(xù)追蹤幀數統計Table 4 Statistics of the number of average consecutive tracking frames
實驗3對模型進行了參數敏感度分析,分別探索了超參(γ1、γ2和δ)對于目標追蹤效果的影響。如圖2所示,本文模型對于各參數均表現出了良好的魯棒性。當γ1在0.3~0.9之間,γ2在0.1~0.5之間,δ在0.003~0.1之間,模型取得的平均像素誤差和平均重疊率均變化不大。但是當γ1=0.1或者δ=0.001時,模型在平均像素誤差這一評價指標上變化較大。說明當顏色直方圖相似性閾值或者空間相似度閾值過低,可能會造成目標追丟或者追錯問題。因此,合理設置超參對目標追蹤的效果能起到一定的促進作用。
圖2 參數敏感性實驗結果Fig.2 Sensitivity analysis w.r.t.different γ1,γ2 and δ
1)本文方法可實現較為優(yōu)異的電力場景下的運動目標追蹤性能,基于真實數據集,平均像素誤差和平均重疊率分別可達到2.37和0.67,平均重啟次數和平均連續(xù)追蹤幀數分別可達到36.70和41.00,驗證了方法的有效性。
2)通過采用目標檢測和目標追蹤相結合的方式,能夠彌補追丟和追錯目標的不足。
3)引入2種飛行控制模塊,使無人機可以自適應地調節(jié)飛行速度和方向。
本文方法目前著眼于考慮圖像特征。在未來工作中,將引入光流、紅外、聲音等信息,進一步提高電力場景中對運動隱患目標的追蹤效果。