范海兵,胡錫幸,劉明一,肖俊
(1. 國網(wǎng)浙江省電力有限公司檢修分公司,浙江 寧波 315000;2. 國網(wǎng)浙江省電力有限公司杭州供電公司,浙江 杭州 310007;3. 國網(wǎng)浙江省電力有限公司金華供電公司,浙江 金華 321000;4. 浙江大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310012)
隨著社會的快速發(fā)展,社會用電需求逐年上漲。據(jù)《浙江省電力發(fā)展“十三五”規(guī)劃》披露,在“十二五”末的2015年,浙江全省最高負(fù)荷和用電量分別達(dá)到62.9 GW、355.3 TWh左右。此外,依據(jù)《浙江省電力發(fā)展“十三五”規(guī)劃》中推薦方案的預(yù)測,在“十三五”末的2020年,全省最高負(fù)荷、用電量將分別達(dá)到84.0 GW、453.0 TWh。隨著電網(wǎng)規(guī)模的擴(kuò)大,對電力供應(yīng)的可靠性的要求也在不斷提高。電力設(shè)備在長期運(yùn)轉(zhuǎn)的過程中,不可避免地會出現(xiàn)銹蝕問題。而作為基礎(chǔ)設(shè)施的電力設(shè)備一旦出現(xiàn)嚴(yán)重的銹蝕缺陷問題,極有可能導(dǎo)致設(shè)備故障,影響整個相關(guān)區(qū)域的電力系統(tǒng)正常運(yùn)行,從而嚴(yán)重影響生產(chǎn)生活并帶來難以預(yù)計的經(jīng)濟(jì)損失。這就需要對相應(yīng)的電力設(shè)備進(jìn)行定期巡檢和及時的維護(hù)檢修。及時發(fā)現(xiàn)銹跡并檢修銹蝕問題,能夠有效減少電力設(shè)備的惡劣性故障,從而保障電網(wǎng)安全穩(wěn)定運(yùn)行。
傳統(tǒng)的電氣設(shè)備狀態(tài)查驗(yàn)主要是依靠人工的方式對電力設(shè)備進(jìn)行定期的巡視檢查,這種人力巡檢方式存在許多問題[1]:①巡檢人員的安全難以保證。與其他普通巡檢任務(wù)不同,對電力設(shè)備的檢視通常需要工作人員暴露在大量高負(fù)荷運(yùn)轉(zhuǎn)的電氣設(shè)備中,且這些設(shè)備隨時可能發(fā)生故障,具有一定的安全風(fēng)險。②巡檢效率低。安排人力定期逐個檢查設(shè)備,對管理人員和作業(yè)人員都是很大的考驗(yàn),工作強(qiáng)度較大,如果遇到惡劣天氣則更加影響工作效率。③巡檢準(zhǔn)確度不高。人力巡檢的判斷主觀性比較強(qiáng),尤其是長期重復(fù)作業(yè),更容易降低該作業(yè)的穩(wěn)定性。
2019年,國家電網(wǎng)有限公司做出了加快構(gòu)建“三型兩網(wǎng)”的主要戰(zhàn)略部署,提出了構(gòu)建狀態(tài)全面感知、信息高效處理、應(yīng)用便捷靈活的泛在電力物聯(lián)網(wǎng)。構(gòu)建設(shè)備狀態(tài)全感知、數(shù)據(jù)高度信息化的能源互聯(lián)網(wǎng)已經(jīng)成為必然的發(fā)展趨勢,針對電力設(shè)備的銹蝕,有必要研究準(zhǔn)確而又高效的智能巡檢方法。
網(wǎng)絡(luò)通信基礎(chǔ)設(shè)施的建設(shè),使視頻圖像采集任務(wù)得到保障。目前主要的圖像采集方式是無人機(jī)巡檢[2-4]和核心設(shè)備間安裝的全天候視頻監(jiān)控[5]。這些智能化的設(shè)備會產(chǎn)生大量的巡檢圖像,并實(shí)時傳輸?shù)胶笈_系統(tǒng)中,再由監(jiān)控中心的工作人員根據(jù)捕獲到的視頻圖像資料判斷是否存在異常。依靠人工查驗(yàn)這些采集到的視頻圖像信息并找出設(shè)備銹蝕的方案雖然存在可行性,但是效率低、反饋慢,而且人力成本昂貴;因此,對于智能化識別方法的需求十分迫切[6]。常規(guī)的圖像處理方法泛化能力不足,這些方法通過產(chǎn)生滑動窗口對整幅圖像進(jìn)行遍歷,得到候選區(qū)域后,提取區(qū)域內(nèi)的邊緣、輪廓等特征,然后送入分類器進(jìn)行目標(biāo)物體的類別判斷。這種基于常規(guī)圖像處理的目標(biāo)檢測方法存在一些問題:①滑動窗口往往是設(shè)定固定的1個或者多個尺寸,沒有靈活性,對圖片中不同大小的物體檢測任務(wù)冗余性太大;②邊緣、輪廓這種人工預(yù)設(shè)的特征魯棒性較差[7]。
近年來,得益于單位成本計算能力的提高,機(jī)器學(xué)習(xí)、深度學(xué)習(xí)發(fā)展迅猛。尤其是深度學(xué)習(xí)下的目標(biāo)檢測技術(shù),得到了學(xué)術(shù)界和工業(yè)界的廣泛認(rèn)可[8-12]。本文基于目標(biāo)檢測領(lǐng)域中主流的Faster R-CNN算法和YOLOv3算法,提出基于深度學(xué)習(xí)的電力設(shè)備銹蝕檢測技術(shù),并從高精度和高速度2個方面進(jìn)行實(shí)例驗(yàn)證,實(shí)現(xiàn)從視頻、圖片數(shù)據(jù)流中檢測并定位實(shí)際作業(yè)環(huán)境中電力設(shè)備上的銹蝕區(qū)域。
目標(biāo)檢測是采用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)等深度學(xué)習(xí)方法來快速定位圖像中感興趣目標(biāo)的技術(shù),它不僅要檢測出目標(biāo)所屬的類別,還要定位出目標(biāo)所在的位置和大小,該方向是當(dāng)前計算機(jī)視覺的研究熱點(diǎn)。2012年之前,目標(biāo)檢測算法主要是基于手工提取目標(biāo)特征,因此算法的實(shí)際效果很大程度上取決于人力在模型訓(xùn)練和參數(shù)調(diào)整上的經(jīng)驗(yàn),泛化能力差而且對復(fù)雜對象的特征學(xué)習(xí)效果不好。2012年AlexNet模型[13]的提出,標(biāo)志著深度學(xué)習(xí)、目標(biāo)檢測乃至計算機(jī)視覺進(jìn)入了全新的階段。發(fā)展至今,深度學(xué)習(xí)下的目標(biāo)檢測技術(shù)主要分為單階法和雙階法2類。雙階法是先產(chǎn)生候選框,然后將候選框中的圖像特征送入分類器進(jìn)行預(yù)測并得到最終的分類結(jié)果,代表的模型有區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(region-based convolutional neural network,R-CNN)[14]和它的改進(jìn)版本Fast R-CNN[15]和Faster R-CNN[16]等;單階法是將目標(biāo)檢測作為回歸任務(wù),對圖像的網(wǎng)格直接進(jìn)行回歸操作,不生成候選框,代表的模型有YOLO(you only look once)[17]、SSD(single shot multi detector)[18]和RetinaNet[19]等。
目前,基于深度學(xué)習(xí)的目標(biāo)檢測技術(shù)開始逐漸應(yīng)用到電網(wǎng)電力系統(tǒng)中[20-24]。雙階法憑借訓(xùn)練速度快、提取的特征可復(fù)用等優(yōu)勢,成為眾多非實(shí)時性檢測任務(wù)的首選方法。上海大學(xué)的湯踴、韓軍[25]等人利用Faster R-CNN來實(shí)現(xiàn)輸電線路上不同部件的識別與分類,并提出通過調(diào)整CNN模型的卷積核大小和通過對圖像的旋轉(zhuǎn)變換來擴(kuò)充數(shù)據(jù)集的方法,更好地提高模型的識別準(zhǔn)確率和縮短識別時間;上海電力大學(xué)的馬靜怡[26]等人針對Faster R-CNN算法在電力設(shè)備狀態(tài)圖像處理過程中生成的候選框與目標(biāo)設(shè)備不匹配而導(dǎo)致的設(shè)備識別率降低問題,提出依據(jù)像素值相近及位置相鄰原則構(gòu)建連通域,將連通域的長寬比作為輸入信息對Anchor候選框進(jìn)行修正;長沙理工大學(xué)的王超洋[27]等人提出了基于融合特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)結(jié)構(gòu)的Faster R-CNN配電網(wǎng)架空線路異常狀態(tài)檢測系統(tǒng),可以更好地識別變壓器等小目標(biāo)物體。在單階法方面,樊紹勝等人提出基于改進(jìn)的SSD電力設(shè)備紅外圖像異常自動檢測方法[28]和基于YOLOv3的輸電線路故障檢測方法[29],不僅泛化性強(qiáng),而且可以在極短的時間內(nèi)對待檢測圖像實(shí)現(xiàn)物體的定位和分類,從而實(shí)現(xiàn)實(shí)時自動檢測,使現(xiàn)有電力巡檢設(shè)備實(shí)現(xiàn)“智能+”。
在銹蝕檢測領(lǐng)域,難點(diǎn)主要在于如何解決銹跡不規(guī)則和數(shù)據(jù)集樣本不足的問題。對此,中國石油大學(xué)的薛冰提出基于Mask R-CNN的電力設(shè)備銹蝕檢測識別方法[30],采用Faster R-CNN完成目標(biāo)檢測的功能,采用全卷積網(wǎng)絡(luò)(fully convolutional network,F(xiàn)CN)完成語義分割的功能,最后實(shí)現(xiàn)像素級別的分類識別,一定程度上解決了識別不規(guī)則圖像的問題。浙江大學(xué)的紀(jì)揚(yáng)等人[31]在電纜隧道鐵銹識別這項(xiàng)任務(wù)中,引入遷移學(xué)習(xí)的概念,很好地解決了基于中小規(guī)模數(shù)據(jù)集訓(xùn)練的CNN難以獲得較高識別精度的問題。
R-CNN是目標(biāo)檢測領(lǐng)域中十分經(jīng)典的方法,相比于傳統(tǒng)的手工特征提取方式,R-CNN使用CNN來提取圖像的深度特征,然后接1個分類器來預(yù)測候選區(qū)域的類別,并得到最終的結(jié)果。Faster R-CNN是R-CNN的改進(jìn)方法,網(wǎng)絡(luò)框架如圖1所示,該算法由區(qū)域提案網(wǎng)絡(luò)(region proposal net,RPN)候選框提取模塊和Fast R-CNN檢測模塊組成。
ROI—感興趣區(qū)域,region of interest的縮寫。圖1 Faster R-CNN網(wǎng)絡(luò)框架Fig.1 Faster R-CNN framework
1.2.1 RPN
以往的目標(biāo)檢測算法生成候選框都非常耗時,如OpenCV中的AdaBoost使用滑動窗口和圖像金字塔來產(chǎn)生建議窗口,R-CNN使用基于遍歷的選擇性搜索(selective search,SS)[32]方法。Faster R-CNN丟棄傳統(tǒng)的滑動窗口和暴力遍歷方法,使用RPN來生成建議窗口,明顯地加速了候選框的區(qū)域提案。
RPN可以通過圖形處理器(graphics processing unit,GPU)來加速網(wǎng)絡(luò)訓(xùn)練計算速度,其中Anchor是RPN的核心。在得到特征圖后,使用滑動窗口來生成建議區(qū)域,特征圖上滑動窗口的中心映射在原圖的1個區(qū)域就是Anchor,然后以此為中心,生成3種尺度和3種長寬比兩兩組合成的9種Anchors。特征圖每個位置都會對應(yīng)9個Anchors,如果特征圖的大小為W×H,那么這張圖中Anchors的數(shù)量就是W×H×9。這種滑動窗口的方式可以關(guān)聯(lián)整張?zhí)卣鲌D,最后得到多尺度、多長寬比的Anchors。
特征圖上的每個點(diǎn)前向映射得到k(k=9)個Anchors,后向輸出512維度的特征向量,而Anchors是用來獲取用于分類和回歸的區(qū)域候選框,因此全連接層后需要連接2個子連接層,即分類層和回歸層(網(wǎng)絡(luò)框架如圖2所示)。分類層用于判斷Anchor屬于前景(foreground,待預(yù)測)還是背景(background,需要舍棄),向量維數(shù)為2k;回歸層用于計算Anchors的偏移量和縮放量,實(shí)現(xiàn)輸出結(jié)果的精準(zhǔn)定位,共4個參數(shù){X,Y,W,H},分別代表該矩形候選框的中心點(diǎn)坐標(biāo)和矩形的長寬,向量維數(shù)為4k。
圖2 RPN網(wǎng)絡(luò)框架Fig.2 RPN framework
1.2.2 Fast R-CNN分類網(wǎng)絡(luò)
Fast R-CNN用于對前面通過RPN生成的建議區(qū)域進(jìn)行分類和邊框回歸的計算,從而獲得精準(zhǔn)的目標(biāo)位置。如圖1所示,整個系統(tǒng)共享卷積特征圖,即通過CNN計算得到的特征圖(feature map)不僅作為RPN的輸入,也作為Fast R-CNN的輸入,避免了重復(fù)計算,加快了運(yùn)行速度。
分類(classification)部分如圖3所示,首先網(wǎng)絡(luò)結(jié)合RPN得到的ROI和主干網(wǎng)絡(luò)輸出的卷積特征(proposal feature),通過全連接層(full connect layer)和softmax函數(shù)計算這些區(qū)域最終分類到哪個類別(cls_prob,如人、車、樹等),輸出的是一個概率向量;同時,再次利用矩形框回歸(bounding box regression)計算每個建議區(qū)域的位置偏移量,并不斷修正,得到更加精確的目標(biāo)定位框(bbox_pred)。
圖3 分類網(wǎng)絡(luò)框架Fig.3 Classification network framework
1.2.3 模型訓(xùn)練
整個Faster R-CNN網(wǎng)絡(luò)的損失函數(shù)L分為2個部分﹝式(1)﹞,即分類損失Lcls和回歸損失Lreg。分類損失﹝式(2)﹞是經(jīng)典的二分類交叉熵?fù)p失,回歸損失﹝式(3)﹞是對anchors位置偏差的計算,其中fsmooth為smooth函數(shù)表達(dá)式,見式(4)。
(1)
(2)
(3)
(4)
不同于Faster R-CNN這種2步檢測算法,YOLO這種單階法是直接在待預(yù)測圖像上計算候選框的類別概率和位置信息。YOLO算法采用1個單獨(dú)的CNN結(jié)構(gòu)實(shí)現(xiàn)端到端(end-to-end)的目標(biāo)檢測,不需要利用RPN來生成候選框,因此YOLO算法的檢測速度比R-CNN算法快。
1.3.1 網(wǎng)格劃分下的回歸和分類
YOLO算法首先把1張圖像拆分為S×S個方格(grid cell),若1個物體的中心落在某個方格之內(nèi),那么這個方格就負(fù)責(zé)預(yù)測這個物體。這樣的話,就不需要生成候選框,直接對每個方格進(jìn)行計算即可。比如,圖4中“狗”的中心坐落于5行2列的方格中,所以這個方格就負(fù)責(zé)預(yù)測圖像中的“狗”。具體來說,每個方格會預(yù)測若干個邊界框(Bounding Box)和每個邊界框的置信度(confidence score)。其中置信度包括2個方面,一個是考慮邊界框含有“目標(biāo)”的可能性,另一個是邊界框的準(zhǔn)確度。前者記為Pobject,當(dāng)該邊界框?yàn)楸尘皶r(即不包含任何物體),此時Pobject=0;而當(dāng)該邊界框包含物體時,Pobject=1。邊界框的準(zhǔn)確度通過采用預(yù)測框和實(shí)際框(ground truth)的交并比(intersection over union,IOU)來表征,記為Itruth,pred。因此回歸層面的置信得分定義為C=Pobject×Itruth,pred。這樣來看,每個邊界框的預(yù)測值包含5個元素{X,Y,W,H,C}。
圖4 YOLO算法網(wǎng)格劃分示意圖Fig.4 Schematic diagram of YOLO grid partitioning
對分類的處理和回歸類似,同樣是基于拆分好的單元格,模型網(wǎng)絡(luò)對每個單元格預(yù)測c個類別的概率值。值得注意的是,1個單元格可能會歸納為多個邊界框中,但是只預(yù)測1組類別概率值,這是算法上的缺陷,相應(yīng)的改進(jìn)措施將在后文中論述。
1.3.2 網(wǎng)絡(luò)設(shè)計
與大多數(shù)深度學(xué)習(xí)下目標(biāo)檢測的模型一樣,YOLO算法采用CNN來提取特征,接著使用全連接層來獲取預(yù)測值。YOLO算法的網(wǎng)絡(luò)層級如圖5所示,網(wǎng)絡(luò)結(jié)構(gòu)參考Google Net模型,包含24個卷積層和2個全連接層。這種深層模型主要由1×1和3×3的卷積層組成,且每個卷積層后面都接上一個批次歸一化層和1個Leaky ReLu激活層。此外,在后期還引入了ResNet的殘差模塊來解決網(wǎng)絡(luò)深度加深時出現(xiàn)的訓(xùn)練退化問題。
圖5 YOLO算法網(wǎng)絡(luò)架構(gòu)Fig.5 Network framework of YOLO algorithm
1.3.3 損失函數(shù)
YOLO算法的損失函數(shù)主要分為3個部分,即坐標(biāo)誤差Lcoord﹝式(5)﹞、IOU誤差Liou﹝式(6)﹞和分類誤差Lcls﹝式(7)﹞:
(5)
(6)
(7)
基于深度學(xué)習(xí)的CNN在長期發(fā)展和應(yīng)用中,尤其是在計算機(jī)視覺領(lǐng)域中,取得了很好的成績。同時,也逐漸暴露出一些問題:分類網(wǎng)絡(luò)的“位置不敏感性”(平移不變性)和檢測網(wǎng)絡(luò)中“位置敏感性”之間的矛盾[33]。如圖6所示,深度神經(jīng)網(wǎng)絡(luò)在進(jìn)行圖像分類時﹝圖6(b)和圖6(c)﹞,無論圖中的“貓”處于圖片中的何處,最終都能識別出這張圖片是“貓”,這種現(xiàn)象被稱為“位置不敏感性”。但是對于“目標(biāo)檢測”這種輸出結(jié)果包含“目標(biāo)坐標(biāo)位置信息”的檢測網(wǎng)絡(luò)﹝圖6(a)﹞,一定是對位置敏感的。
圖6 “位置不敏感性”和“位置敏感性”的示例Fig.6 Examples of the dilemma between ‘translation-invariance’ and ‘translation-variance’
目前絕大部分基于深度學(xué)習(xí)的檢測網(wǎng)絡(luò)都是以預(yù)訓(xùn)練的圖像分類網(wǎng)絡(luò)模型作為主干網(wǎng)絡(luò)和特征提取網(wǎng)絡(luò),這些網(wǎng)絡(luò)大部分屬于“位置不敏感”,從而導(dǎo)致最終提取的特征丟失了很多信息。對此,一些方法比如空間變換網(wǎng)絡(luò)(spatial transformer networks,STN)、FCN和數(shù)據(jù)增廣等方法被提出,用于改善目標(biāo)檢測這類任務(wù)的檢測效果。
CNN在圖像分類中取得顯著的成效,主要是得益于其深層結(jié)構(gòu)具有空間不變性;因此,即使對圖像中的目標(biāo)物體作了平移變換或者旋轉(zhuǎn)變換,CNN模型依然可以將其識別出來。可以通過選擇合適的降采樣比例來保證準(zhǔn)確率和空間不變性,但是池化層帶來的空間不變性是不夠的,它受限于預(yù)先選定的固定尺寸的感受野。STN引進(jìn)了一種可學(xué)習(xí)的采樣模塊Spatial Transformer[34],該模塊的學(xué)習(xí)不需要引入額外的數(shù)據(jù)標(biāo)簽,可以在網(wǎng)絡(luò)中對特征圖進(jìn)行空間變換操作。
CNN是盡可能讓模型適應(yīng)物體的形變,而STN是通過Spatial Transformer將形變后的物體變換回正常形態(tài)(比如將字?jǐn)[正),然后再送入分類器識別。如圖7所示,U為原始圖像,V為經(jīng)由網(wǎng)絡(luò)映射后的輸出結(jié)果。圖7(a)中的圖如果送入分類器進(jìn)行識別的話,通常輸出的結(jié)果是“字母a”,但是經(jīng)過仿射變換后分類器的輸出結(jié)果是“數(shù)字9”﹝圖7(b)﹞。
圖7 仿射變換示例Fig.7 Affine transformation examples
在實(shí)際生產(chǎn)作業(yè)環(huán)境中,監(jiān)控探頭等圖像采集設(shè)備捕獲的視頻圖像資料容易因光線干擾、設(shè)備安裝位置移動和信號噪聲等而產(chǎn)生畸變;因此,需要深度學(xué)習(xí)網(wǎng)絡(luò)模型進(jìn)行必要的修正,對獲取到的ROI的特征進(jìn)行變換,變?yōu)橄鄬φ_的姿態(tài)再送入分類器進(jìn)行識別。
2.2.1 主干特征網(wǎng)絡(luò)的調(diào)整
Faster R-CNN采用VGG16[35]作為主干網(wǎng)絡(luò)(backbone)來提取輸入圖像的特征,已經(jīng)取得了不錯的成績。從經(jīng)驗(yàn)來看,神經(jīng)網(wǎng)絡(luò)的深度對模型性能影響很大,當(dāng)增加網(wǎng)絡(luò)層數(shù)后,網(wǎng)絡(luò)可以進(jìn)行更深更復(fù)雜的特征提取,所以理論上網(wǎng)絡(luò)層數(shù)越深,模型的效果應(yīng)該越好;但是,大量實(shí)驗(yàn)結(jié)果表明深度的網(wǎng)絡(luò)會出現(xiàn)退化現(xiàn)象,網(wǎng)絡(luò)準(zhǔn)確度出現(xiàn)飽和甚至下降。深層網(wǎng)絡(luò)存在梯度消失或者梯度爆炸問題,這使得深度學(xué)習(xí)模型很難訓(xùn)練。對此,帶有“短路機(jī)制”的殘差深度神經(jīng)網(wǎng)絡(luò)模型ResNet[36]被提出,可以很好地解決退化問題。本文在實(shí)例驗(yàn)證部分,還會選用ResNet的升級版ResNeXt網(wǎng)絡(luò)[37]進(jìn)行對比實(shí)驗(yàn)。
2.2.2 更精準(zhǔn)和精細(xì)的RPN
對于RPN的改進(jìn),可以通過生成更多Anchor來實(shí)現(xiàn)。但是這樣會增加計算量,降低模型預(yù)測速度。此外,針對電力設(shè)備銹蝕這一檢測任務(wù),分類單一而且數(shù)據(jù)集標(biāo)注不夠精確,刻意地增加Anchor未必能提高網(wǎng)絡(luò)模型的效果,甚至?xí)霈F(xiàn)性能降低。
本文選用FPN對Faster R-CNN的RPN進(jìn)行優(yōu)化。FPN先進(jìn)行傳統(tǒng)的自下而上(bottom-up)的特征卷積,然后對左側(cè)橫向?qū)?yīng)特征圖進(jìn)行特征融合,并生成自頂而下(top-down)的特征,從而得到不同分辨率下的特征。可以發(fā)現(xiàn),F(xiàn)PN已經(jīng)有不同大小的特征,無須像RPN中選用3種不同比率、尺寸的Anchor,只需要3種比率不同的框,即每級Anchor的尺寸相同。
2.3.1 分類的置信得分計算
從前文對YOLO算法的介紹可知,對劃分好的方格進(jìn)行概率預(yù)測時,這些概率值其實(shí)是在各個邊界框置信度下的條件概率,即Pclassi|object。因此,無論1個方格預(yù)測多少個邊界框,其只預(yù)測1組類別的概率值。對此,可以把類別概率預(yù)測和邊界框綁在一起,實(shí)現(xiàn)方法如式(8)所示,同時可以計算出各個邊界框類別的置信度。
Pclassi|object×Pobject×Itruth,pred=PclassiI×truth,pred.
(8)
2.3.2 分類損失函數(shù)
YOLO算法在初代版本使用的是softmax函數(shù),這種損失函數(shù)會擴(kuò)大最大類別概率值而抑制其他類別概率值。其后期版本中已更改為每一個類獨(dú)立使用邏輯分類器,使用交叉熵(cross-entroy)損失,這樣能夠更好地處理標(biāo)簽重疊(包含)關(guān)系。
2.3.3 多尺度預(yù)測
YOLO算法雖然檢測速度快,但是初期最大的問題是對小尺寸物體的檢測效果不理想。在YOLOv3中,通過對低分辨率的特征圖與高分辨率的特征圖進(jìn)行特征融合的方法,形成新的特征圖層,并對其作單獨(dú)預(yù)測,形成最終的多尺度預(yù)測。
值得注意的是,YOLO系列中的多尺度有2種含義,一個是輸入圖像的多尺度,另一個是不同分辨率的特征圖,本文選用后者。此外,原模型作者是先對圖像進(jìn)行歸一化再縮放到統(tǒng)一尺寸??紤]到電力設(shè)備銹跡的不規(guī)則性,本文是先進(jìn)行圖像預(yù)處理直接縮放到統(tǒng)一尺寸,再送入CNN,并在YOLOv3的特征金字塔結(jié)構(gòu)(Darknet-53)的基礎(chǔ)上額外增加1次下采樣用于模擬類FPN結(jié)構(gòu)。
通過對變電站、輸電網(wǎng)絡(luò)等電力設(shè)備實(shí)際作業(yè)環(huán)境的實(shí)地圖像采集和對電網(wǎng)系統(tǒng)監(jiān)控視頻流的圖片抽取,收集形成初步的圖像數(shù)據(jù)集。在圖像預(yù)處理階段,對圖片的文件格式和編碼格式進(jìn)行統(tǒng)一。本文實(shí)驗(yàn)中模型訓(xùn)練所采用的數(shù)據(jù)集格式統(tǒng)一為RGB三通道的jpg文件,通過編寫程序進(jìn)行格式轉(zhuǎn)換和必要的數(shù)據(jù)清洗,圖8為初篩之后數(shù)據(jù)集的部分樣本圖片。
圖8 數(shù)據(jù)集部分樣本Fig.8 Dataset samples
無論是R-CNN系列還是YOLO系列算法,都屬于全監(jiān)督機(jī)器學(xué)習(xí)模型,所以需要對數(shù)據(jù)集樣本進(jìn)行標(biāo)注,以便網(wǎng)絡(luò)在訓(xùn)練過程中有可以作為參照基準(zhǔn)的目標(biāo)位置和類別標(biāo)簽。本文使用目前主流的一款開源標(biāo)注軟件labelImg對已經(jīng)清洗完畢的圖片數(shù)據(jù)集進(jìn)行標(biāo)注,這個軟件可以幫助用戶快速生成帶有Bounding Box(物體的目標(biāo)位置)和Label(物體類別)數(shù)據(jù)的XML文件,供程序在模型訓(xùn)練時讀取。
銹跡識別與其他目標(biāo)檢測任務(wù)的主要區(qū)別在于:不同設(shè)備上鐵銹的形狀和顏色相差較大,相同設(shè)備在不同生產(chǎn)環(huán)境下產(chǎn)生的銹跡也有所不同。此外,人力對數(shù)據(jù)集的標(biāo)注主觀性比較強(qiáng),對于一些銹跡的邊緣區(qū)域難以標(biāo)注或者是選擇性標(biāo)注。因此,用于訓(xùn)練的銹跡圖像數(shù)據(jù)集具有自身性的缺陷。對此需要采取一些額外的操作來盡可能降低這些缺陷造成的影響。如圖9所示,本文對清洗完畢的數(shù)據(jù)集采取一些非形變的幾何變換類和顏色變換類的數(shù)據(jù)增廣方法,來實(shí)現(xiàn)對那些形狀、顏色差異性較大而且樣本數(shù)較少的銹蝕圖像的數(shù)據(jù)擴(kuò)充。
圖9 數(shù)據(jù)增廣示例Fig.9 Examples of data augmentation
本文的實(shí)驗(yàn)環(huán)境為Intel(R) Xeon(R) CPU E5-2667 v2 @3.30 GHz,128 GB RAM,單張Nvidia GTX 1080Ti @12 GB,以及Ubuntu 16.04 LTS操作系統(tǒng)。算法模型基于PyTorch機(jī)器學(xué)習(xí)框架,實(shí)驗(yàn)驗(yàn)證的指標(biāo)包括準(zhǔn)確率和召回率,準(zhǔn)確率為正確檢測的目標(biāo)數(shù)量與標(biāo)記目標(biāo)總數(shù)量之比,召回率為正確檢測的目標(biāo)數(shù)量與實(shí)際目標(biāo)總數(shù)量之比。值得注意的是,本文對預(yù)測結(jié)果的閾值設(shè)置為0.8,這是相對于應(yīng)用場景過高的一個數(shù)值。閾值越低,最終得到的召回率和精準(zhǔn)率越高。為了在消融實(shí)驗(yàn)中得到較好的對比效果,故采用較高的閾值。真實(shí)生產(chǎn)環(huán)境下的預(yù)測結(jié)果可參照后文的預(yù)測可視化結(jié)果。
3.4.1 實(shí)驗(yàn)結(jié)果的可視化
實(shí)驗(yàn)結(jié)果表明Faster R-CNN在不同主干網(wǎng)絡(luò)下表現(xiàn)無明顯差異,可視化結(jié)果上不作冗余展示。圖像檢測的部分可視化結(jié)果如圖10所示。
從可視化角度來說,最終訓(xùn)練好的模型都能夠檢測出較為明顯的銹蝕。對比來看,F(xiàn)aster R-CNN的檢測結(jié)果要優(yōu)于YOLOv3的檢測結(jié)果。這是因?yàn)镕aster R-CNN中相對更加復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)能夠更深度地提取出銹蝕的圖像特征,而且雙階法能夠提案更多有意義的候選框。
3.4.2 實(shí)驗(yàn)數(shù)據(jù)及其分析
本文為了更具體地表現(xiàn)單階法(以YOLOv3為例)和雙階法(以Faster R-CNN為例)的區(qū)別及不同改進(jìn)方法對模型最終表現(xiàn)的影響,設(shè)計了消融實(shí)驗(yàn),通過實(shí)驗(yàn)結(jié)果的對比,驗(yàn)證電力設(shè)備銹蝕檢測技術(shù)的可行性和多場景應(yīng)用的適應(yīng)性。
如圖11的損失曲線所示,以Faster R-CNN和YOLOv3的損失曲線為參照,模型基本在迭代數(shù)64 500左右收斂到局部最小值,故以下的消融實(shí)驗(yàn)中默認(rèn)選用迭代數(shù)為65 000的模型進(jìn)行測試。
圖11 模型訓(xùn)練損失曲線Fig.11 Training loss curves of models
本文從整套消融實(shí)驗(yàn)中選取了具有代表性的9組實(shí)驗(yàn),表1為這9組實(shí)驗(yàn)?zāi)P偷淖罱K測試結(jié)果。其中,第8組和第9組中的“Darknet*”代表對原YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)的修改版本,包括多尺度參數(shù)的調(diào)整、網(wǎng)絡(luò)增加下采樣層等。
表1 模型測試結(jié)果Tab.1 Model test results
下面詳細(xì)分析表格中所展示的消融實(shí)驗(yàn)結(jié)果。首先,最明顯的一點(diǎn)是YOLO系列的速度比R-CNN系列快得多,這是因?yàn)镽-CNN系列在使用RPN產(chǎn)生候選框時消耗了大量的計算時間。本文的實(shí)驗(yàn)平臺采用的是高性能GPU計算平臺,如果在中央處理器(central processing unit,CPU)平臺上運(yùn)行網(wǎng)絡(luò)模型,則兩者的差距會更明顯。同時,更多的計算消耗帶來的是更精準(zhǔn)的預(yù)測結(jié)果,從測試結(jié)果數(shù)據(jù)上來看,R-CNN系列比YOLO系列準(zhǔn)確度高約10%。
接著,從R-CNN系列來看,模型性能基本會隨著各個模塊的優(yōu)化而得到提升,召回率呈現(xiàn)增長趨勢。由第4組和5組分別與第3組的數(shù)據(jù)對比可知,F(xiàn)PN相比于STN的改進(jìn)效果更好。這個現(xiàn)象可以從以下2個方面進(jìn)行解釋:①FPN產(chǎn)生的多尺度特征比RPN產(chǎn)生的多尺度Anchor更具有價值,尤其是在電力設(shè)備銹蝕這種形狀顏色不規(guī)則的使用場景下,優(yōu)勢更為明顯;②在數(shù)據(jù)預(yù)處理階段已經(jīng)對數(shù)據(jù)集進(jìn)行了空間變換的增廣,這樣就使得STN的優(yōu)勢難以體現(xiàn)出來。召回率的增長基本符合理論預(yù)期,但是對比第5組和第6組的實(shí)驗(yàn)數(shù)據(jù)可知,召回率提高,而精準(zhǔn)率卻略微降低。這一現(xiàn)象主要是因?yàn)樵趯W(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)時,為了追求檢測小物體而對PRN產(chǎn)生候選框的懲罰系數(shù)設(shè)置不合理,也就是側(cè)重于Anchor的產(chǎn)生而不重視邊界框回歸或分類失敗的損失。
然后,從YOLO系列來看,模型性能整體提升的幅度并不明顯。值得注意的是,STN在YOLO下的優(yōu)化效果要稍好于在R-CNN下的提升,這很大程度上取決于兩者在特征金字塔模型設(shè)計上的差異。此外,F(xiàn)aster R-CNN下的RPN是一個很成熟的網(wǎng)絡(luò),這也限制了STN提升的空間。
3.4.3 實(shí)驗(yàn)結(jié)果總結(jié)
總的來說,單階法、雙階法這2種目標(biāo)檢測方法都可以有效地檢測出電力設(shè)備的銹蝕。2種方法的特點(diǎn)也非常明顯:雙階法精度更高,模型訓(xùn)練時間快,檢測速度稍慢;單階法精度稍低,模型訓(xùn)練時間慢,檢測速度快。通常情況下,對于那些配有高性能服務(wù)器的大型數(shù)據(jù)中心,對檢測的實(shí)時性要求較低,則可以選用雙階法的目標(biāo)檢測算法模型。此外,由于擁有的海量數(shù)據(jù)可以及時更新模型,雙階法對模型訓(xùn)練也足夠友好,訓(xùn)練成本低。而對于那些類似于無人機(jī)實(shí)時巡檢任務(wù)的場景,采用單階法的目標(biāo)檢測算法則是更好的選擇。在考慮模型實(shí)際應(yīng)用時,首要考慮的是在高速度和高精度之間的優(yōu)先選擇,如果沒有明確界限,則需要再考慮模型后期升級成本或者模型運(yùn)行的計算硬件條件,綜合各方面因素選用較為合適的方案。
本文將深度學(xué)習(xí)中的目標(biāo)檢測技術(shù)應(yīng)用到電力設(shè)備銹蝕檢測中,并分別以Faster R-CNN和YOLOv3模型為基礎(chǔ)模型進(jìn)行實(shí)例驗(yàn)證。結(jié)果表明這2種模型都可以檢測并定位較為明顯的銹蝕,而且從實(shí)驗(yàn)數(shù)據(jù)可以看出這2種深度學(xué)習(xí)模型有著各自的特點(diǎn):Faster R-CNN在準(zhǔn)確度和小尺寸的銹蝕檢測方面有著更好的表現(xiàn);YOLOv3在檢測速度上略勝一籌。實(shí)際應(yīng)用時,可根據(jù)不同使用場景的需求選用不同的模型。該技術(shù)的應(yīng)用可以很好地提升電力系統(tǒng)監(jiān)控的自動化、信息化水平。
下一步的研究重心主要有以下幾點(diǎn):①增加數(shù)據(jù)集的樣本數(shù),初期考慮到數(shù)據(jù)資料保密性等原因,能收集的圖像數(shù)據(jù)有限,而數(shù)據(jù)集規(guī)模的增大通常能夠?qū)δP偷聂敯粜院途珳?zhǔn)度有所促進(jìn);②增強(qiáng)對于小尺寸目標(biāo)的檢測能力,加強(qiáng)小目標(biāo)的特征表達(dá),優(yōu)化模型的損失函數(shù)(如交叉熵?fù)p失[38]);③裁剪模型,盡可能在不太影響預(yù)測結(jié)果的前提下減少網(wǎng)絡(luò)層數(shù)和參數(shù),減小執(zhí)行預(yù)測任務(wù)時的計算量,實(shí)現(xiàn)邊緣設(shè)備的模型部署[39-40]。