丁 建, 黃陸明, 朱迪鋒, 曹浩楠
(國網(wǎng)浙江省電力有限公司檢修分公司, 浙江 杭州 311200)
為了確保國家電力能源供給的穩(wěn)定可靠,以特高壓技術(shù)為代表的新一代高能效、遠(yuǎn)距離、智能化電網(wǎng)新型基礎(chǔ)設(shè)施建設(shè),已成為未來我國發(fā)展的重要方向。輸電設(shè)備的高頻次、高精度巡檢技術(shù)是電網(wǎng)智能化應(yīng)用優(yōu)先發(fā)展的方向之一。由于我國幅員遼闊,目前在電力的遠(yuǎn)距離傳輸過程中由鳥類活動(dòng)引起的重大電力故障時(shí)有發(fā)生[1]。常見鳥害導(dǎo)致的典型故障包括鳥類直接觸電短路、鳥類筑巢活動(dòng)導(dǎo)致的短路以及鳥糞覆蓋絕緣器件引起的閃絡(luò)等[2]。分析故障原因,鳥類的筑巢習(xí)性導(dǎo)致大量鳥類長期活動(dòng)在電力塔架及線路附近,這給長距離輸電埋下了重大隱患。
為了避免鳥類筑巢引起的故障,輸電的運(yùn)行與維護(hù)規(guī)范要求電力檢修部門指派巡檢員定期對固定線路進(jìn)行人工巡線檢查[3]。由于電力高空塔架常架設(shè)于地形復(fù)雜且位置偏僻的森林及山區(qū),而鳥類筑巢又常位于塔頂及塔架等不易觀測的角落位置,這導(dǎo)致人工巡線對鳥巢檢測的成本高且效率低。近年來,高空塔架的常規(guī)巡檢已逐步擺脫人工方式,基于無人機(jī)視頻的巡檢方式極大地改善了電力巡檢作業(yè)的難度[4]。目前,基于無人機(jī)巡檢視頻的智能故障檢測與識別技術(shù)已成為推動(dòng)智能電網(wǎng)應(yīng)用的研究熱點(diǎn)[5]。受光照條件、拍照角度、拍攝距離、巡線飛行速度以及復(fù)雜地形背景的影響,基于無人機(jī)巡檢視頻的相關(guān)自動(dòng)檢測仍面臨檢測算法精度與魯棒性的挑戰(zhàn)。
由于無人機(jī)巡檢過程中成像端與目標(biāo)物的距離隨拍攝機(jī)位變化而變化,故鳥巢部分細(xì)節(jié)特征隨距離變化表現(xiàn)出不同的尺度特征,如圖1所示。為了對高空塔架存在的鳥巢進(jìn)行準(zhǔn)確檢測,本文提出一種雙尺度YOLOv3(you only look once)網(wǎng)絡(luò)的無人機(jī)視頻學(xué)習(xí)方法,實(shí)現(xiàn)了對電力塔架鳥巢的高精度自動(dòng)檢測。該算法的特點(diǎn)在于,先采用較大尺度圖像進(jìn)行較遠(yuǎn)距離的鳥巢預(yù)檢測,進(jìn)而采用較小尺度圖像對預(yù)檢測所得目標(biāo)進(jìn)行二次細(xì)節(jié)判斷,以得到最終的鳥巢檢測結(jié)果。由于采用雙尺度學(xué)習(xí),該方法在訓(xùn)練階段采用兩種尺度的圖像分別模擬場景中目標(biāo)的深度變化(即鳥巢較遠(yuǎn)以及較近的拍攝結(jié)果)。在此基礎(chǔ)上,本文采用YOLOv3網(wǎng)絡(luò)實(shí)現(xiàn)了基于視頻圖像序列的高空塔架鳥巢目標(biāo)的高精度檢測。相較于常規(guī)算法,本文所提方法能夠有效平衡鳥巢檢測算法的精度與效率。
圖1 無人機(jī)巡檢鳥害示意圖Fig.1 Birds damage inspection by UAV
針對鳥巢檢測問題,段旺旺等[6]通過對關(guān)鍵區(qū)域HOG特征的計(jì)算,實(shí)現(xiàn)了對鐵路接觸網(wǎng)鳥巢的檢測。祝振敏和謝亮凱[7]基于相對位置不變性對鳥巢進(jìn)行了檢測和定位。徐晶等[8]依據(jù)HSV顏色特征對候選區(qū)域進(jìn)行判定,進(jìn)而采用灰度方差和慣性矩特征進(jìn)行鳥巢目標(biāo)檢測。張義蓮等[9]采用由粗到精的搜索策略進(jìn)一步提高了鳥巢檢測精度。為了解決塔架遮擋問題,蔡煒等[10]對塔架塔桿進(jìn)行建模,并以Hough算法檢測圖像中的塔桿,最終采用灰度共生矩陣紋理特征對鳥巢進(jìn)行定位。受到自然場景復(fù)雜紋理、光照、遮擋以及成像質(zhì)量等問題的影響,此類基于傳統(tǒng)圖像特征的方法雖能在特定條件下實(shí)現(xiàn)對鳥巢的檢測和定位,但是此類方法的準(zhǔn)確性和泛用性存在一定局限,其問題的本質(zhì)是特定傳統(tǒng)圖像特征對復(fù)雜場景中鳥巢可區(qū)分性特征的提取與描述能力不足。
隨著深度學(xué)習(xí)技術(shù)的興起與發(fā)展,深度學(xué)習(xí)技術(shù)與計(jì)算機(jī)視覺技術(shù)逐漸融合,并已取得了較多前沿成果,鳥巢目標(biāo)檢測領(lǐng)域也不例外?;陔p判別器對抗生成網(wǎng)絡(luò),金煒東等[11]采用半監(jiān)督學(xué)習(xí)方法實(shí)現(xiàn)了對鳥巢目標(biāo)的有效檢測。王紀(jì)武等[12]改進(jìn)了Faster R-CNN的特征提取與特征增強(qiáng)模塊,實(shí)現(xiàn)了不同尺度下高壓塔鳥巢的較高精度檢測。劉國文等[13]通過改進(jìn)RetinaNet模型對鳥巢進(jìn)行檢測識別。路艷巧等[14]提出一種基于邊緣計(jì)算和深度學(xué)習(xí)的輸電線異物檢測方法,該方法無需將無人機(jī)數(shù)據(jù)傳回服務(wù)器,直接在邊緣設(shè)備上通過改進(jìn)的深度學(xué)習(xí)網(wǎng)絡(luò)實(shí)現(xiàn)對異物目標(biāo)的高效檢測。楊波等[15]采用K-means方法對標(biāo)記樣本進(jìn)行相似性距離度量以改進(jìn)錨點(diǎn)精度,這進(jìn)一步提高了YOLO網(wǎng)絡(luò)對鳥巢的檢測精度。鐘映春等[16]改進(jìn)了YOLOv3網(wǎng)絡(luò)的鳥巢檢測方法,進(jìn)一步提高了鳥巢的檢測精度,并降低了網(wǎng)絡(luò)參數(shù)規(guī)模。上述基于深度學(xué)習(xí)網(wǎng)絡(luò)的鳥巢檢測研究均取得了較大進(jìn)展,但由于視頻圖像尺度隨無人機(jī)拍攝機(jī)位變化明顯,若要同時(shí)兼顧精度和效率,現(xiàn)有算法仍有待改進(jìn)。
受限于訓(xùn)練數(shù)據(jù)的可獲取性以及模型深度問題,支持向量機(jī) (supported vector machine, SVM)[17]、AdaBoost(adaptive boosting)[18]、DPM (deformable part-based model)[19]等淺層機(jī)器學(xué)習(xí)方法難以突破大規(guī)模數(shù)據(jù)目標(biāo)識別的精度瓶頸。隨著深度學(xué)習(xí)方法的興起[20,21],依靠深層網(wǎng)絡(luò)的優(yōu)勢,深度學(xué)習(xí)方法對目標(biāo)物復(fù)雜特征的提取與描述逐漸脫離了人工設(shè)計(jì)模式,此后卷積神經(jīng)網(wǎng)絡(luò)CNN (convolutional neural network)、R-CNN(Region-CNN)、faster R-CNN等一系列基于圖像區(qū)域的目標(biāo)特征學(xué)習(xí)與檢測網(wǎng)絡(luò)突破了傳統(tǒng)淺層學(xué)習(xí)的精度瓶頸[22]。近年來,YOLO網(wǎng)絡(luò)將目標(biāo)檢測問題轉(zhuǎn)化為回歸問題,并能夠采用整圖輸入的訓(xùn)練方式一次預(yù)測多個(gè)目標(biāo)區(qū)域的位置和類別[23]。YOLOv3仍采用端到端的方式,并在YOLO基礎(chǔ)上強(qiáng)化了對中小型目標(biāo)及部分被遮擋目標(biāo)的檢測與識別。
本文以YOLOv3網(wǎng)絡(luò)為基本框架,采用雙尺度圖片作為輸入進(jìn)行訓(xùn)練,以便較好地平衡鳥巢目標(biāo)的檢測精度與效率。本文的主要貢獻(xiàn):①構(gòu)建了針對高空塔架無人機(jī)視頻的鳥巢檢測YOLOv3網(wǎng)絡(luò)及其應(yīng)用框架;②為了兼顧算法的精度與效率,本文采用雙尺度圖像作為YOLOv3的圖像輸入,以實(shí)現(xiàn)重點(diǎn)區(qū)域的重點(diǎn)檢測。本文的總體處理框架如圖2所示。
圖2 本文總體處理框架Fig.2 Overview of the proposed processing pipeline
隨著成像技術(shù)的發(fā)展,無人機(jī)巡檢已普遍實(shí)現(xiàn)了遠(yuǎn)距離高分辨率觀測。對于特定目標(biāo),不同距離的觀測結(jié)果存在尺度差異,因此目標(biāo)的特征也不同,尺度空間差異明顯。對于存在大量尺度變化的圖像數(shù)據(jù)集,目標(biāo)檢測算法的精度往往受到較大影響。針對尺度變化問題,通過分析無人機(jī)巡檢視頻,發(fā)現(xiàn)其中的尺度變化存在明顯的連續(xù)性,且鳥巢在近景和遠(yuǎn)景狀態(tài)的可分辨性不同。因此,為了提高檢測算法精度,本文構(gòu)建了無人機(jī)視頻的雙尺度空間。
同一目標(biāo)的紋理細(xì)節(jié)在不同尺度上差異明顯。采用可變尺度的二維高斯核函數(shù)G(x,y,σ)對視頻Vi(x,y)進(jìn)行卷積操作,以獲得不同尺度的圖像結(jié)果:
Li(x,y,σ)=G(x,y,σ)?Vi(x,y)
(1)
式中:(x,y)為圖像坐標(biāo);i為視頻中的圖像幀號;?表示卷積操作。其中二維高斯核函數(shù)為:
(2)
依據(jù)圖像多尺度理論[24],采用上述公式建立高斯差分金字塔,σ為鄰近尺度的高斯平滑因子。在此基礎(chǔ)上,本文建立視頻的高斯差分雙尺度空間:
Di(x,y,σ)=Li(x,y,kσ)-Li(x,y,σ)
(3)
在高斯差分尺度空間,一組
YOLOv3網(wǎng)絡(luò)采用三種不同尺度(大中小尺度)對目標(biāo)的分類進(jìn)行預(yù)測,網(wǎng)絡(luò)最終輸出同樣也分為三個(gè)尺度1/32、1/16、1/8。當(dāng)尺度越大,代表該尺度下的特征感受野越大。因此,上述三個(gè)尺度依次對大、中、小尺度目標(biāo)進(jìn)行檢測。為了兼顧不同尺度圖像下鳥巢特征的檢測效率與精度,本文在無人機(jī)視頻的
目前,無人機(jī)巡檢視頻的分辨率普遍高于1 920×1 080像素,即使在具有較高計(jì)算性能的通用平臺上(如GTX2080Ti計(jì)算卡),YOLOv3網(wǎng)絡(luò)在處理多目標(biāo)任務(wù)時(shí)效率也常低于10fps。為此,本文提出雙尺度YOLOv3檢測網(wǎng)絡(luò)。首先,在4×降采樣的圖像幀上采用一個(gè)YOLOv3網(wǎng)絡(luò)進(jìn)行預(yù)檢測,其結(jié)果不直接輸出。依據(jù)第一個(gè)YOLOv3網(wǎng)絡(luò)檢測結(jié)果,將疑似區(qū)域所對應(yīng)的1×原始高分辨率圖像區(qū)域作為第二個(gè)YOLOv3網(wǎng)絡(luò)的輸入。在對目標(biāo)區(qū)域進(jìn)行二次檢測后,雙尺度下的最終檢測結(jié)果由聯(lián)合判別函數(shù)得到。改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示(圖中Conv代表網(wǎng)絡(luò)的卷積操作,Stride為步長,Concat代表連接操作)。圖3中檢測部分的具體實(shí)現(xiàn)如表1所示。
表1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)Tab.1 Structure details of YOLOv3 network
圖3 雙尺度YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Structure of the proposed dual-scale YOLOv3 network
對于巡檢視頻的
無人機(jī)巡檢視頻拍攝過程中不可避免地會(huì)受到強(qiáng)光、逆光、反射以及水汽等因素的影響,所拍攝數(shù)據(jù)的平均亮度、對比度與圖像細(xì)節(jié)存在較大差異。由于鳥巢目標(biāo)具有較強(qiáng)的紋理特征,傳統(tǒng)圖像特征檢測方法(如HOG特征、灰度共生矩陣、灰度方差和慣性矩等)常采用相應(yīng)的預(yù)處理來增強(qiáng)待檢測數(shù)據(jù)[6-8]。借鑒此類方法的思想,本文也對輸入數(shù)據(jù)進(jìn)行高通濾波梯度增強(qiáng)處理,增強(qiáng)后的網(wǎng)絡(luò)輸入F(u,v)可由空域高通濾波得到:
(4)
其中,V(x,y)代表視頻中坐標(biāo)為(x,y)的像素位置;H(u-x+1,v-y+1)為沖激響應(yīng);m和k分別表示水平和垂直方向的高通濾波器半徑。本文采用歸一化的沖激響應(yīng)矩陣算子:
(5)
(6)
由此,通過對不同尺度檢測結(jié)果投票策略進(jìn)行聯(lián)合判別,得到最終的鳥巢檢測結(jié)果:
(7)
其中d(·)為網(wǎng)絡(luò)檢測操作。通過FScore判斷,如果投票過半,則認(rèn)為鳥巢存在,反之則判定為無鳥巢。
本文通過手動(dòng)截取真實(shí)高空塔架巡檢視頻中包含鳥巢的1 500張圖像以及不含鳥巢的1 500張圖像用于構(gòu)建檢測實(shí)驗(yàn)數(shù)據(jù)集。為了對鳥巢目標(biāo)進(jìn)行準(zhǔn)確定位和標(biāo)注,本文采用LabelImg標(biāo)注工具對包含鳥巢圖像的鳥巢目標(biāo)和位置進(jìn)行截取和人工標(biāo)注,如圖4所示。在包含鳥巢和不包含鳥巢的數(shù)據(jù)中,本文選取其中80%作為雙尺度YOLOv3網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),另外20%作為測試數(shù)據(jù)。
圖4 部分鳥巢檢測的訓(xùn)練數(shù)據(jù)Fig.4 Partial training datasets of bird’s nest
對數(shù)據(jù)集進(jìn)行整理和標(biāo)注后,訓(xùn)練數(shù)據(jù)集的每組圖像由一個(gè)標(biāo)記圖像和其在對應(yīng)圖像中的位置及.txt文件構(gòu)成。為了加速訓(xùn)練的收斂速度,本文從訓(xùn)練數(shù)據(jù)集中選取50組典型數(shù)據(jù)作為驗(yàn)證數(shù)據(jù)。
為了擴(kuò)大鳥巢訓(xùn)練數(shù)據(jù)的樣本量,使之覆蓋更廣的樣本空間,本文分別采用對圖像旋轉(zhuǎn)90°、180°和270°,水平和垂直翻轉(zhuǎn),亮度直方圖調(diào)整和圖像加噪7種操作,對訓(xùn)練數(shù)據(jù)進(jìn)行增廣。由此,包含和不含鳥巢的圖像訓(xùn)練集(各1 200張)在增廣后樣本量分別擴(kuò)大為原來的8倍,為各9 600張圖像。需要注意的是,測試數(shù)據(jù)集無需進(jìn)行增廣操作,因此,其數(shù)量仍為整體樣本量的20%,即包含和不含鳥巢的圖像測試集各含300張圖像。
本文高空塔架上的鳥巢檢測問題本質(zhì)上是二分類問題。針對YOLOv3網(wǎng)絡(luò),經(jīng)典的交叉熵?fù)p失函數(shù)可以表示為:
(8)
(9)
其中,Pi(I_pst)表示第i幀圖像I_pst為有鳥巢圖像的概率;M代表視頻幀數(shù);label表示是否有鳥巢,label=1表示有鳥巢,label=-1表示無鳥巢。由式(8)可知,當(dāng)目標(biāo)物為鳥巢時(shí),交叉熵計(jì)算結(jié)果接近1,反之則接近-1。
為了加速雙尺度YOLOv3網(wǎng)絡(luò)的收斂,本文先對單一的YOLOv3網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練。當(dāng)YOLOv3網(wǎng)絡(luò)收斂后,采用預(yù)訓(xùn)練網(wǎng)絡(luò)模型作為雙尺度YOLOv3網(wǎng)絡(luò)的初值,再進(jìn)行雙尺度YOLO網(wǎng)絡(luò)的聯(lián)合訓(xùn)練。本文的雙尺度網(wǎng)絡(luò)訓(xùn)練可大致分為以下三個(gè)步驟:
1) 對單一鳥巢檢測YOLOv3網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,得到鳥巢檢測YOLOv3模型初值;
2) 搭建雙尺度YOLOv3網(wǎng)絡(luò),將第一個(gè)YOLOv3網(wǎng)絡(luò)的輸出所對應(yīng)的高分辨率圖像區(qū)域作為第二個(gè)YOLOv3網(wǎng)絡(luò)的輸入;
3) 加載步驟1)中預(yù)訓(xùn)練網(wǎng)絡(luò)的參數(shù),作為雙尺度YOLOv3網(wǎng)絡(luò)兩部分的初值,再次采用增廣后的已標(biāo)注數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直至收斂。
相較于直接采用隨機(jī)初值進(jìn)行雙尺度網(wǎng)絡(luò)聯(lián)合訓(xùn)練,采用上述訓(xùn)練方法能夠更快獲得更優(yōu)的收斂效果。
本實(shí)驗(yàn)采用Window10平臺,處理器Intel i7-8700,內(nèi)存16GB,深度學(xué)習(xí)基本框架為YOLOv3的Darknet-53網(wǎng)絡(luò),計(jì)算設(shè)備為Nvidia GTX-1080Ti顯存11GB。單一YOLOv3網(wǎng)絡(luò)訓(xùn)練時(shí),學(xué)習(xí)率初始值設(shè)置為0.001,每1 000次循環(huán)后衰減為前一次學(xué)習(xí)率的50%。雙尺度YOLOv3網(wǎng)絡(luò)學(xué)習(xí)率初始值設(shè)置為0.000 1,循環(huán)衰減與上述相同。網(wǎng)絡(luò)訓(xùn)練的收斂曲線如圖5所示。
圖5 模型訓(xùn)練的收斂曲線Fig.5 Loss convergence of the model training process
由圖可見,單一YOLOv3模型在訓(xùn)練150次后即快速收斂,而雙尺度YOLOv3模型的收斂速率相對較低,循環(huán)300次后才逐漸趨于收斂。
為了對本文算法的鳥巢檢測精度進(jìn)行分析,設(shè)正確地檢測出存在鳥巢的樣本數(shù)為True Positive(TP)、正確地檢測出不存在鳥巢的樣本數(shù)為True Negative(TN);反之,錯(cuò)誤地檢測出存在鳥巢的樣本數(shù)為False Positive(FP),錯(cuò)誤地檢測出不存在鳥巢的樣本數(shù)為False Negative(FN)。實(shí)驗(yàn)中采用召回率(Recall)和準(zhǔn)確率(Precision)作為評價(jià)指標(biāo),其計(jì)算公式為:
Recall=TP/(TP+FN)
(10)
Precision=TP/(TP+FP)
(11)
在本實(shí)驗(yàn)的測試數(shù)據(jù)集上,將本文算法的召回率和準(zhǔn)確率與紋理特征檢測算法[10]、傳統(tǒng)CNN算法[19]以及單一尺度YOLOv3算法[15]進(jìn)行對比,如表2所示。由表2可知,本文方法的準(zhǔn)確率和召回率均優(yōu)于其他算法;紋理特征檢測算法能夠取得較高的準(zhǔn)確率,但是召回率較低;與單一尺度YOLOv3方法相比,本文方法在準(zhǔn)確率上的提升更為顯著。
為了測試不同算法的抗干擾性能,給圖像中分別加入方差為0.01的高斯噪聲(噪聲1)和方差為0.03的斑點(diǎn)噪聲(噪聲2),檢測結(jié)果如表2后四行所示。在加入噪聲的數(shù)據(jù)集上,本文方法的性能明顯優(yōu)于對比算法。在圖像分辨率為5 472×3 078像素的數(shù)據(jù)集上,統(tǒng)計(jì)不同鳥巢檢測算法的訓(xùn)練時(shí)間和檢測時(shí)間,如表3所示。
表2 各算法準(zhǔn)確率和召回率對比Tab.2 Comparison of precision and recall
表3 各算法運(yùn)行效率對比Tab.3 Runtime comparison
從計(jì)算性能角度分析,CNN網(wǎng)絡(luò)的計(jì)算效率最高,本文由于采用了雙尺度YOLOv3網(wǎng)絡(luò),故所需的訓(xùn)練時(shí)間較長,由于檢測過程中首先要在較大尺度圖像上進(jìn)行預(yù)檢測,故最終網(wǎng)絡(luò)計(jì)算時(shí)間低于傳統(tǒng)YOLOv3網(wǎng)絡(luò)。由表3可知,非深度學(xué)習(xí)的紋理特征法[10]其計(jì)算效率顯著低于深度學(xué)習(xí)類方法,這是由于深度學(xué)習(xí)類方法均采用GPU平臺進(jìn)行運(yùn)算,而GPU基于大流量處理器的并行計(jì)算性能顯著優(yōu)于普通CPU平臺。
如圖6所示,本文所提方法能對高空塔架存在的鳥巢進(jìn)行準(zhǔn)確檢測和定位,在鳥巢受到局部遮擋的情況下,本文方法同樣能夠獲得高精度的鳥巢檢測結(jié)果。目前,受限于鳥巢檢測樣本集的大小,本文算法的測試數(shù)據(jù)集較小,且采樣地區(qū)的地形地貌較為接近,均以農(nóng)田、城鎮(zhèn)及路網(wǎng)為背景,更多復(fù)雜的背景環(huán)境將會(huì)給算法帶來更大挑戰(zhàn)。
圖6 存在局部遮擋情況下的鳥巢檢測結(jié)果Fig.6 Bird’s nest inspection results in partial occlusion
本文提出一種輸入不同尺度圖像的雙尺度YOLOv3網(wǎng)絡(luò)用于鳥巢檢測,其特點(diǎn)在于兼顧了檢測算法的精度和效率,并具有較強(qiáng)的抗噪聲性能。在真實(shí)巡檢數(shù)據(jù)集上,本文算法的測試結(jié)果在召回率上具有明顯優(yōu)勢,同時(shí)也具有較高的準(zhǔn)確率。目前,該算法仍未達(dá)到對鳥巢的實(shí)時(shí)檢測要求,且受限于小樣本測試數(shù)據(jù)集,該算法在更多復(fù)雜背景下的泛用性仍有待進(jìn)一步測試。