周仿榮,方明,馬御棠,潘浩
(1.云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,昆明 650217;2.云南電網(wǎng)有限責(zé)任公司,昆明 650051)
隨著電網(wǎng)規(guī)模的不斷擴(kuò)大,巡線(xiàn)的工作量增加,傳統(tǒng)的人工巡檢方式成本高,效率低,且實(shí)施具有一定的危險(xiǎn)性。近年來(lái),國(guó)家電網(wǎng)以及各個(gè)電力研究機(jī)構(gòu)投入了大量的人力物力進(jìn)行無(wú)人機(jī)電力巡檢的研究,包括無(wú)人機(jī)飛控技術(shù)以及輸電線(xiàn)路巡檢航拍圖像的目標(biāo)識(shí)別及故障檢測(cè)技術(shù)研究。采用無(wú)人機(jī)巡檢具有低成本、高效率、適應(yīng)復(fù)雜環(huán)境的能力更強(qiáng)的優(yōu)點(diǎn),能快速采集輸電線(xiàn)路的圖像和視頻信息,大大降低巡線(xiàn)工作的難度和危險(xiǎn)性,在輸電線(xiàn)路巡檢中有著廣闊的應(yīng)用前景[1,2]。基于深度學(xué)習(xí)的缺陷識(shí)別方法能自動(dòng)對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行有效地分析,利用深度學(xué)習(xí)算法對(duì)巡檢采集的圖片進(jìn)行快速處理,實(shí)現(xiàn)輸電線(xiàn)路設(shè)備異常狀態(tài)的自動(dòng)檢測(cè)與識(shí)別,這對(duì)于提升電網(wǎng)智能化具有重要意義[3]。
無(wú)人機(jī)通過(guò)搭載攝像頭采集輸電線(xiàn)路的狀態(tài)信息,但仍需要人工對(duì)采集的影像進(jìn)行辨識(shí)。為了進(jìn)一步提高機(jī)巡的自動(dòng)化程度,許多學(xué)者提出了基于圖像的輸電線(xiàn)路設(shè)備和缺陷的識(shí)別方法。目前應(yīng)用于輸電線(xiàn)路目標(biāo)檢測(cè)的算法大多數(shù)需要依賴(lài)于人工提取圖像特征,再通過(guò)Hough 變換、Canny 算子、Gabor 算子等方法來(lái)分割出圖像中的目標(biāo)[4-6]。這些算法的效果取決于特征的提取情況,一方面,特征提取是一項(xiàng)復(fù)雜的工作,需要很強(qiáng)的專(zhuān)業(yè)知識(shí);另一方面,輸電線(xiàn)路缺陷繁多,人工提取的特征不足以表達(dá),導(dǎo)致傳統(tǒng)算法的檢測(cè)目標(biāo)類(lèi)型單一。一些算法采取了支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等淺層學(xué)習(xí)算法配合預(yù)測(cè)目標(biāo)類(lèi)型[7-9],但仍需要先對(duì)圖像特征進(jìn)行提取。
近年來(lái),基于深度學(xué)習(xí)的機(jī)器視覺(jué)技術(shù)得到了極大的發(fā)展,相應(yīng)的圖像目標(biāo)檢測(cè)算法也取得了很好的表現(xiàn)。2012 年AlexNet 在圖像識(shí)別大賽中取得不凡的表現(xiàn)之后,以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為核心的深度學(xué)習(xí)算法成為圖像分類(lèi)和目標(biāo)檢測(cè)的主要研究方向[10]。基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法可分為“雙階法”和“單階法”,“雙階法”準(zhǔn)確率高,代表算法有SPP Net[11]和Faster R-CNN[12];“單階法”速度快,代表算法有YOLO[13-14]和SSD[15]。“雙階法”在電力系統(tǒng)設(shè)備的圖像檢測(cè)中已經(jīng)有一定的研究[16-18],但仍處于理論研究階段,且其檢測(cè)速度慢,不能滿(mǎn)足實(shí)時(shí)檢測(cè)的需求。而在日常無(wú)人機(jī)巡檢工作中,會(huì)產(chǎn)生大量圖像和視頻數(shù)據(jù),這對(duì)于目標(biāo)檢測(cè)算法的速度要求非常高[3,19]。因此,本文建立基于YOLO 算法的輸電線(xiàn)路機(jī)巡影像缺陷識(shí)別模型,利用實(shí)際工程運(yùn)維中得到的巡檢圖像進(jìn)行訓(xùn)練,并通過(guò)參數(shù)調(diào)整提高缺陷檢測(cè)模型的實(shí)際應(yīng)用能力,能夠?qū)崿F(xiàn)輸電線(xiàn)路機(jī)巡影像的缺陷實(shí)時(shí)檢測(cè),具有較高的工程實(shí)用性。
YOLO 算法直接在輸出層回歸目標(biāo)位置和目標(biāo)類(lèi)別,實(shí)現(xiàn)端到端的訓(xùn)練與檢測(cè),這與最初基于區(qū)域建議的雙階目標(biāo)檢測(cè)方法不同。YOLO v3 增加了多尺度預(yù)測(cè),使得網(wǎng)絡(luò)對(duì)于尺寸變化范圍大的目標(biāo)檢測(cè)能力更強(qiáng),具有較高的檢測(cè)速度與識(shí)別精度[14]。本文基于YOLO v3模型對(duì)輸電線(xiàn)路巡檢圖像中的設(shè)備缺陷進(jìn)行檢測(cè)與識(shí)別,模型框架如圖1 所示。
對(duì)于任意一張機(jī)巡圖片,首先將尺寸調(diào)整到統(tǒng)一大小,并將圖片劃分為S×S 個(gè)區(qū)域,再通過(guò)多個(gè)卷積層提取圖片特征,對(duì)于每一個(gè)區(qū)域,如果一個(gè)電力設(shè)備缺陷的中心落在這個(gè)區(qū)域內(nèi),則該區(qū)域負(fù)責(zé)預(yù)測(cè)這個(gè)缺陷,隨后通過(guò)回歸調(diào)整該設(shè)備缺陷的中心位置以及缺陷的大小,模型預(yù)測(cè)的輸出結(jié)果為S×S×(B×5+C),即S×S 個(gè)區(qū)域,每個(gè)區(qū)域輸出B 個(gè)不同尺寸的缺陷預(yù)測(cè)選框的位置和C 個(gè)缺陷類(lèi)型信息,而對(duì)于每個(gè)缺陷預(yù)測(cè)選框有4 個(gè)坐標(biāo)值以及1 個(gè)置信度值。最后,模型采用極大值抑制以去除重復(fù)的選框,最終預(yù)測(cè)得到巡檢圖片中實(shí)際包含的電力設(shè)備缺陷類(lèi)型及位置。

圖1 YOLO v3模型框架
本模型首先將輸入的巡檢圖像按照三個(gè)尺度劃分檢測(cè)區(qū)域,分別有19×19,38×38,76×76 個(gè)檢測(cè)區(qū)域。隨后將樣本庫(kù)中獲得的9個(gè)缺陷先驗(yàn)尺寸按照大小分配給三個(gè)尺度的檢測(cè)區(qū)域,即每個(gè)區(qū)域內(nèi)有3 個(gè)先驗(yàn)缺陷檢測(cè)錨框。對(duì)于每一個(gè)尺度的檢測(cè)區(qū)域,如果缺陷的中心落在一個(gè)區(qū)域內(nèi),則該區(qū)域就負(fù)責(zé)預(yù)測(cè)這個(gè)物體,如圖2 所示。

圖2 目標(biāo)預(yù)測(cè)
模型直接對(duì)整張輸入圖片進(jìn)行特征提取,對(duì)大目標(biāo)和小目標(biāo)都能實(shí)現(xiàn)較好的檢測(cè)效果。本文采用DarkNet-53 卷積神經(jīng)網(wǎng)絡(luò)框架來(lái)提取巡檢圖像的特征,該框架由53 個(gè)卷積層組成,每個(gè)卷積層后都有帶泄露的線(xiàn)性分段函數(shù)(Leaky ReLu)作為激活函數(shù)以適應(yīng)非線(xiàn)性情況,其中有5 個(gè)卷積核的步長(zhǎng)為2,對(duì)卷積結(jié)果進(jìn)行上采樣得到多尺度的特征圖。特征提取模型如圖3 所示。

圖3 特征提取網(wǎng)絡(luò)
模型輸入一張任意RGB 色彩模式的巡檢圖像,對(duì)于卷積層,第l 個(gè)層卷積操作后輸出的特征向量可由公式(1)表示:

其中:xil-1為第l-1 層的第i 個(gè)特征圖,為第j 個(gè)卷積核,*表示卷積操作,為偏置項(xiàng),f(*)表示激活函數(shù),此處選擇Leaky ReLu 函數(shù)作為卷積層激活函數(shù),即:

本模型不采用池化層,而是在部分卷積層采用步長(zhǎng)為2 的卷積核,與這些卷積核進(jìn)行卷積操作之后,圖片的特征向量大小變?yōu)樵瓉?lái)的1/4,特征向量的深度隨著卷積窗口的增加而逐漸加深。
本模型在訓(xùn)練前首先對(duì)樣本的缺陷大小進(jìn)行聚類(lèi),得到9 個(gè)先驗(yàn)錨框,每個(gè)尺度的特征圖負(fù)責(zé)檢測(cè)3 個(gè)尺度的錨框。將DarkNet-53 卷積神經(jīng)網(wǎng)絡(luò)提取得到的圖像特征向量輸入到全連接層,由全連接層進(jìn)行邏輯回歸,最終輸出維度為N×N×(3×(4+1+20))的預(yù)測(cè)向量,即對(duì)于三個(gè)尺度的特征圖,每個(gè)有N×N 個(gè)區(qū)域,每個(gè)區(qū)域3 個(gè)預(yù)測(cè)框的位置信息和置信度以及缺陷類(lèi)型信息組成一個(gè)105 維的特征向量。
1.3.1 缺陷類(lèi)型預(yù)測(cè)
本文共設(shè)計(jì)了20 種設(shè)備缺陷類(lèi)型,每一個(gè)框都采用一組20 維的向量來(lái)表示缺陷類(lèi)型,若預(yù)測(cè)為第n 種缺陷,則向量中的第n 個(gè)值為1,其余的值為0。每一個(gè)預(yù)測(cè)框都有一個(gè)置信度,包括該區(qū)域內(nèi)有目標(biāo)的可能性、缺陷類(lèi)型和IOU 值三個(gè)部分,如公式(3):

本模型根據(jù)Darknet 網(wǎng)絡(luò)提取到的特征來(lái)判斷一個(gè)區(qū)域內(nèi)有第l 類(lèi)故障的可能性為P(Classi),預(yù)測(cè)區(qū)域面積與實(shí)際區(qū)域面積的交并比為

式中:A 和B 分別表示設(shè)備缺陷的實(shí)際區(qū)域和預(yù)測(cè)區(qū)域的面積,交并比即為預(yù)測(cè)區(qū)域和實(shí)際區(qū)域的交集與其并集的比值。
為了克服直接預(yù)測(cè)的不穩(wěn)定問(wèn)題,本模型采用相對(duì)位置來(lái)預(yù)測(cè)缺陷的位置,即預(yù)測(cè)缺陷中心相對(duì)于區(qū)域左上角頂點(diǎn)的偏移來(lái)進(jìn)行定位,如圖4。

圖4 目標(biāo)定位方法
中心點(diǎn)位置的學(xué)習(xí)公式為:

其中,(cx,cy)為區(qū)域左上角的位置坐標(biāo),(tx,ty)為預(yù)測(cè)位置與實(shí)際位置的偏差。
預(yù)測(cè)錨框大小的調(diào)整公式為:

其中,pw和ph表示先驗(yàn)錨框的大小,tw和th表示預(yù)測(cè)錨框與實(shí)際錨框的大小偏差。
在對(duì)錨框參數(shù)進(jìn)行學(xué)習(xí)時(shí),首先對(duì)框內(nèi)的區(qū)域進(jìn)行一個(gè)目標(biāo)評(píng)分得到置信度,若錨框置信度過(guò)低則直接忽略該錨框,對(duì)于置信度高于0.5 的選框,若相互之間的IOU 較高且預(yù)測(cè)同一個(gè)對(duì)象,則只保留置信度最高的錨框進(jìn)行學(xué)習(xí),以提高學(xué)習(xí)速度。
通過(guò)上述步驟將會(huì)得到過(guò)多的錨框,因此需要進(jìn)行合理選擇以消除重復(fù)的錨框。本文選擇極大值抑制方法對(duì)重復(fù)錨框進(jìn)行消除。首先對(duì)置信度過(guò)低的錨框進(jìn)行抑制,這些錨框中很可能不包含需要檢測(cè)的目標(biāo)。隨后將剩余的選框按照預(yù)測(cè)缺陷的類(lèi)別進(jìn)行分類(lèi),對(duì)于預(yù)測(cè)同一類(lèi)缺陷的目標(biāo),首先選擇置信度最高的一個(gè),如果其他錨框與之的IOU 高于0.5,則將閾值較低的錨框抑制,低于0.5 則不做處理;再對(duì)剩下的未被抑制的錨框重復(fù)該操作。循環(huán)結(jié)束后,剩余的錨框即被認(rèn)為是最終預(yù)測(cè)的缺陷目標(biāo)。
深度學(xué)習(xí)算法需要通過(guò)大量的數(shù)據(jù)訓(xùn)練來(lái)實(shí)現(xiàn)較好的檢測(cè)效果,本章節(jié)介紹模型訓(xùn)練過(guò)程的主要工作。本文基于DarkNet 深度學(xué)習(xí)框架搭建仿真模型[20],計(jì)算機(jī)配置為Ubuntu 14.0操作系統(tǒng),32 核Xeon CPU,GTX 1080Ti 顯卡,64G 內(nèi)存。
本文利用從某省獲得的5000 張巡檢圖像組成訓(xùn)練樣本庫(kù),其中4000 張圖片組成訓(xùn)練集,另外1000 張圖片組成測(cè)試集。樣本圖片按照Pascal VOC 標(biāo)準(zhǔn)[21]進(jìn)行標(biāo)準(zhǔn),標(biāo)記對(duì)象包括架空線(xiàn)路缺陷、桿塔缺陷、絕緣子缺陷、金具缺陷,組成一個(gè)輸電線(xiàn)路典型缺陷的樣本庫(kù)。巡檢圖像的尺寸不完全一致,考慮到在無(wú)人機(jī)巡檢過(guò)程中拍攝目標(biāo)往往會(huì)位于圖片中間位置,為了避免尺寸不一導(dǎo)致圖像的壓縮和形變,方便模型進(jìn)行統(tǒng)一的數(shù)據(jù)處理,本文將訓(xùn)練圖片從中心剪裁至3:2 大小并調(diào)整像素為4800×3200,去除邊緣的無(wú)關(guān)部分。
本文利用聚類(lèi)算法得到缺陷的先驗(yàn)尺寸。模型的初始參數(shù)對(duì)于訓(xùn)練收斂速度和訓(xùn)練效果具有十分明顯的影響,一個(gè)好的初始值能加快模型的收斂。本文對(duì)樣本圖像進(jìn)行分析,發(fā)現(xiàn)不同圖片中故障的形態(tài)雖然有較大差異,但同一類(lèi)故障的大小卻很接近,比如絕緣子故障和桿塔故障普遍尺寸較大,導(dǎo)線(xiàn)故障的區(qū)域較小等。因此本文對(duì)缺陷大小使用k 聚類(lèi),得到9個(gè)聚類(lèi)中心。這9 個(gè)聚類(lèi)中心的值作為缺陷檢測(cè)模型的先驗(yàn)錨框的尺寸,使得錨框的選擇能夠更好的匹配輸電線(xiàn)路中缺陷的尺寸,加快模型的收斂,提高缺陷檢測(cè)的精度。

表1 先驗(yàn)尺寸大小
本模型的損失函數(shù)由三部分組成:坐標(biāo)損失函數(shù)、類(lèi)別損失函數(shù)、置信度損失函數(shù),對(duì)三個(gè)尺度的預(yù)測(cè)結(jié)果分別進(jìn)行計(jì)算,最后相加得到整個(gè)網(wǎng)絡(luò)的損失函數(shù)。坐標(biāo)損失函數(shù)表示為:

類(lèi)別損失函數(shù)為:

置信度損失函數(shù)為:

其中,S2表示網(wǎng)格區(qū)域數(shù),B 表示每個(gè)區(qū)域內(nèi)的錨框數(shù),表示若區(qū)域i 中的第j 個(gè)錨框負(fù)責(zé)預(yù)測(cè)目標(biāo)則為1,否則為0,則相反。
通過(guò)對(duì)巡檢圖像進(jìn)行分析發(fā)現(xiàn),大部分圖像上只存在不超過(guò)四處缺陷,而每張圖片產(chǎn)生的網(wǎng)格區(qū)域數(shù)量則遠(yuǎn)大于缺陷數(shù)量,因此本文通過(guò)參數(shù)λnoobj來(lái)調(diào)整有目標(biāo)的區(qū)域和沒(méi)有目標(biāo)的區(qū)域的損失權(quán)重,經(jīng)過(guò)實(shí)驗(yàn),本文選擇權(quán)重λnoobj=0.1。
在模型的設(shè)計(jì)中,缺陷類(lèi)型有20 類(lèi),而坐標(biāo)參數(shù)只有4 個(gè),若直接相加則會(huì)導(dǎo)致坐標(biāo)參數(shù)對(duì)損失函數(shù)的影響太小。為了增加位置坐標(biāo)對(duì)損失函數(shù)的影響以加快收斂,本文為坐標(biāo)損失函數(shù)增加權(quán)重λcoord=5。最終的損失函數(shù)表示為:

本章節(jié)基于YOLO 算法在輸電線(xiàn)路巡檢圖像數(shù)據(jù)集上進(jìn)行仿真試驗(yàn),并與其他深度學(xué)習(xí)算法進(jìn)行性能比較,探究YOLO 算法在輸電線(xiàn)路巡檢應(yīng)用的優(yōu)勢(shì)與不足。
本文采用的數(shù)據(jù)集可分為訓(xùn)練集和測(cè)試集兩個(gè)部分,各自包含的故障類(lèi)型與對(duì)應(yīng)的數(shù)量如表2 所示。

表2 缺陷數(shù)量統(tǒng)計(jì)結(jié)果
訓(xùn)練集中,四類(lèi)故障所占的比例分別為33.29%、25.69%、21.90%、19.12%;測(cè)試集中,四類(lèi)故障所占的比例分別為32.29%、27.27%、23.10%、17.34%。從統(tǒng)計(jì)結(jié)果可以看到,四類(lèi)故障的數(shù)量相當(dāng),能夠較好的滿(mǎn)足模型訓(xùn)練和測(cè)試的需求。
本文采用查全率(recall)、查準(zhǔn)率(precise)和平均精度(map) 來(lái)對(duì)輸電線(xiàn)路缺陷檢測(cè)模型的檢測(cè)效果進(jìn)行評(píng)價(jià)。
查全率是指正確檢測(cè)出的目標(biāo)占所有需要檢測(cè)出的目標(biāo)的比例。對(duì)于任意一個(gè)置信度高于設(shè)定閾值的檢測(cè)框,如果與某一標(biāo)記目標(biāo)的交并比大于0.5,且預(yù)測(cè)的類(lèi)別與該目標(biāo)相符,則認(rèn)為檢測(cè)的目標(biāo)正確。統(tǒng)計(jì)所有檢測(cè)正確檢測(cè)框的數(shù)量記為NTP,實(shí)際需要檢測(cè)的目標(biāo)數(shù)量為NG,查全率的計(jì)算公式為:

同樣,記所有置信度滿(mǎn)足要求的檢測(cè)框數(shù)量為ND,查準(zhǔn)率的計(jì)算公式為:

平均精度結(jié)合查全率和查準(zhǔn)率,通常情況下作為一個(gè)更全面的指標(biāo)來(lái)評(píng)價(jià)一個(gè)模型的好壞。
本文使用訓(xùn)練好的模型對(duì)實(shí)際運(yùn)維中采集得到的巡檢圖像進(jìn)行缺陷定位與識(shí)別試驗(yàn),當(dāng)預(yù)測(cè)目標(biāo)與實(shí)際目標(biāo)的交并比大于0.5 時(shí),認(rèn)為預(yù)測(cè)準(zhǔn)確。本文訓(xùn)練了目前效果較好的幾個(gè)模型來(lái)作為對(duì)比,實(shí)驗(yàn)結(jié)果如表3 所示。
從實(shí)驗(yàn)結(jié)果可以看出,單階法的SSD 和YOLO v3 雖然在性能上稍差于雙階法的Faster RCNN,但在計(jì)算速度上有著明顯的優(yōu)勢(shì),YOLO v3 的預(yù)測(cè)所需時(shí)間僅為Faster RCNN 的1/9 左右。經(jīng)過(guò)改進(jìn)后的YOLO v3 模型在輸電線(xiàn)路巡檢圖像上的性能也有了很大提高,其查準(zhǔn)率已經(jīng)遠(yuǎn)超過(guò)Faster RCNN 模型的查準(zhǔn)率,查全率也相差不多,但仍保持著單階法在速度上的優(yōu)勢(shì)。

表3 模型效果對(duì)比
目前,應(yīng)用于輸電線(xiàn)路缺陷檢測(cè)的目標(biāo)檢測(cè)算法主要為Faster RCNN 等方法,這些方法的識(shí)別精度較高,但檢測(cè)速度較慢,無(wú)法實(shí)現(xiàn)無(wú)人機(jī)巡檢中產(chǎn)生的大量視頻數(shù)據(jù)進(jìn)行識(shí)別。本文提出基于YOLO v3 的輸電線(xiàn)路缺陷快速檢測(cè)方法,其檢測(cè)速度接近50 幀每秒,能夠滿(mǎn)足視頻檢測(cè)的需求。同時(shí),在本文的數(shù)據(jù)集中,基于YOLO v3 的輸電線(xiàn)路缺陷快速檢測(cè)方法實(shí)現(xiàn)了78.2% 的檢出率,僅比基于Faster RCNN 的檢測(cè)方法低5.4%。因此,本文認(rèn)為基于YOLO v3 的輸電線(xiàn)路檢測(cè)方法可以彌補(bǔ)Faster RCNN算法的不足,實(shí)現(xiàn)基于視頻圖像的輸電線(xiàn)路缺陷快速檢測(cè)。