律方成 牛雷雷 王勝輝 謝 慶 王子豪
(1. 新能源電力系統國家重點實驗室(華北電力大學) 北京 102206 2. 河北省輸變電設備安全防御重點實驗室(華北電力大學) 保定 071003)
絕緣子、金具等是電網輸變電設備的重要組成部分,及時掌握其絕緣水平和運行狀態對電力系統的安全穩定運行至關重要[1]。目前電網主要采用的人工巡檢方式耗時費力,且無法及時全面地掌握主要電氣設備的外絕緣狀態[2]。基于無人機和巡檢機器人搭載的可見光、紫外和紅外圖像信息是高壓設備熱、電參量非接觸檢測的重要手段和發展趨勢,而絕緣子等主要電氣設備的識別是對其進行綜合診斷以實現其絕緣狀態判別的基礎[3]。
實現絕緣子等高壓設備圖像識別思路主要有機器學習方式和深度學習方式。前者主要針對電氣設備的形狀和紋理特征進行設計,優點為針對性強、特征具有可解釋性,缺點為檢測魯棒性差,對目標的拍攝角度等要求較高[3];后者通過卷積算法自動提取目標抽象化特征,實現端到端圖像識別,其識別精度高,泛化能力好,識別速度快,但對樣本需求量大,可解釋性差[4]。隨著無人機和機器人巡檢方式的推廣,現場將產生大量高壓設備檢測視頻和圖片,基于此,本文采用了深度學習方式。
深度學習的概念是在由G. E. Hinton 等2006 年提出的非監督貪心逐層訓練算法的基礎上[5],融合了卷積計算、神經網絡框架、下采樣和自動提取及匹配網絡特征的端到端有監督學習框架。常用的深度學習框架包括以LeNet,Faster R-CNN(Region-Convolution Neural Network),SSD(Single Shot MultiBox Detector)和YOLO(You Only Look Once)為代表的深度卷積神經網絡及以長短期記憶網絡(Long Short-Term Memory, LSTM),GRU(Gated Recurrent Unit)為代表的循環卷積神經網絡[6]等,其在電氣領域的應用研究主要包括:①利用電力系統運行數據實現其調度預測[7]、調度控制[8]、穩定性評估[9]。例如:文獻[7]以100%消納光伏發電為前提,提出采用周期衰減學習率的改進型深度確定性策略梯度算法(CDLR-DDPG)的光伏-抽水蓄能互補發電系統的實時智能調度方法。②利用計算機視覺、結構化和非結構化文本,實現電力系統和電氣設備狀態預測[10]、缺陷識別與故障診斷[11]、自然語言處理[12];例如:文獻[11]基于Faster R-CNN 算法對變壓器、套管等變電設備進行目標檢測,基于溫度閾值判別法對設備區域進行缺陷識別。檢測平均精度均值達到90.61%。文獻[13]提出了一種基于改進LSTM 的短期高壓負荷電流預測方法。該模型在時間序列方面引入自循環權重,使細胞彼此循環連接,從而動態改變時間尺度,進而增強長短期記憶功能。
對圖像識別主要采用深度卷積神經網絡[4]。相比于Faster R-CNN,YOLO 在2015 年由美國華盛頓大學提出。同屬圖像識別state-of-art 檢測框架,YOLO 采用無候選區域的類別和坐標one-stage 檢測思路,具有較高的識別準確度和更高的識別速度[14],可實現對無人機和機器人巡檢產生的圖像的實時、整體識別。其在電力系統的應用方面,文獻[15]采用YOLOv3 算法,通過調整學習率等超參數,實現了模型的快速收斂,平均識別準確率為88.7%,可結合紫外光路實現絕緣子的智能診斷。文獻[16]探究了隨機旋轉角度、飽和度、曝光度、色調等預處理紅外成像數據,研究了基于YOLOv3 算法的絕緣子紅外圖像故障檢測方法。以上研究主要基于YOLOv3 或更早版本,關于網絡參數對訓練誤差和識別準確度的影響的研究較少。
為了對外絕緣設備的絕緣狀態進行智能診斷,本文對YOLOv4 網絡框架進行了研究,建立了絕緣子、均壓環、防振錘、套管和導線訓練和測試數據庫,研究了數據擴充算法、錨框及其聚類中心對其訓練和識別性能的影響。主要工作包括:采用表征訓練誤差、識別準確度和訓練速度的系統性能評價體系,分析了YOLOv4 檢測框架及網絡框架,研究并改進了 Mosaic 數據擴充算法,研究了交并比(Intersection over Union, IoU)算法對不同尺度檢測目標的邊界框預測有效性,以及自建數據庫的寬高數據標注值聚類對檢測結果及其評價參數的影響,優化了YOLOv4 的網絡,提出基于IoU 和識別準確度的網絡調參方法,最終較好地實現了主要電氣設備的識別。
YOLOv4 的其運行檢測流程及網絡框架構成如圖1 和圖2 所示。

圖1 One stage 檢測流程Fig.1 Inspection of one stage method

圖2 YOLOv4 網絡框架Fig.2 Network architecture of YOLOv4
首先,圖片被打包輸入骨架(Backbone)部分進行卷積計算,Backbone 的卷積網絡以Darknet53為檢測框架,將圖片分辨率由416×416×3 卷積、下采樣至13×13×1 024。Backbone 網絡包含29 個卷積層堆疊而成的5 組NDC(dropout connect)單元,其網絡權重參數經過了Imagenet 的預訓練,是圖片特征提取的主體和性能良好的分類器,如圖1 和圖2 的Backbone 部分所示。
其次,進入以空間金字塔池化(Spatial Pyramid Pooling, SPP)和路徑聚合網絡(Path Aggregation Network, PAN)為特征的Neck 框架,兩者可增加圖像訓練和檢測過程中特征提取單元的感受視野,將不同通道數據進行拼接(Concatenation),提取最重要的、不同路徑特征[14],經過兩個上采樣單元形成26×26 和52×52 兩個分辨率,同Backbone 的13×13輸出,形成的三個不同尺度的中間檢測單元,如圖1 和圖2 的Neck 部分所示。
最后,將Neck 輸出的三種分辨率送入Head 部分,如圖1 和圖2 所示。作為類別和邊界框同時預測的one-stage 預測框架,Head 部分采用YOLOv3結構,進行基于每個錨框產生多組輸出變量的高密度目標檢測[14]:生成錨框并分別預測其類別和邊界框偏移量得到預測邊界框。訓練過程中,利用預測值與真實值的IoU 進行非極大值抑制,篩除無效預測邊界框,并給出優化結果。
圖2 中,可將網絡的卷積單元由卷積計算C、批均一化U 和激活函數(mish、leaky RELU 和Linear)三部分組成,根據采用的激活函數不同可分為CUm、CUlr 和CUl 三類。
Backbone 采用CUm[17],mish 激活函數表達式為

兩個CUm 卷積單元通過Shortcut 層相加連接可構成一個殘差單元RU,N個殘差單元經過route層構成組dropout connect 單元NDC。
中間框架采用leaky-RELU 作為激活函數,其計算式為

網絡的出口處的卷積層采用Linear 函數y=x作為激活函數,其作用是將網絡的輸出統一為T×T×255,其中T表示網絡的三個檢測尺度。
訓練集中,將每一個錨框(anchor box)看作一個訓練樣本,需要為其標注錨框類別和錨框偏移量兩個標簽,而在測試階段順序為:生成錨框;預測每個錨框類別和偏移量;基于非極大值抑制篩選預測邊界框(bounding box)[18]。

圖 3 展示了錨框和真實邊界框的匹配標注過程。在圖3 中,矩陣H中最大元素h23所在的行和列為i1=2,j1=3 ,則為將錨框2A標注為3B,同時,將H中第2 行、第3 列元素置零。繼續找出H中最大的元素h61所在的行和列i2=6,j2=1,將錨框6A標注為1B,將H中第6 行、第1 列元素置零,依次找出h33和h84,并為對應錨框標注邊界框,接下來只需遍歷h14、h34、h54和h74并根據其IoU 值決定是否為剩余的錨框分配邊界框。

圖3 錨框與真實邊界框Fig.3 Anchor boxes and the bounding boxes
在訓練過程中,錨框A被標注為邊界框B,則將B的類別賦予A,假設A和B的中心坐標、寬和高分別為(xa,ya,wa,ha)和(xb,yb,wb,hb),則A的偏移量計算公式為[18]

式中,Bgt表示真實標注框,但IoU-loss 只在兩個邊界框有交叉時才有效,基于此,文獻[19]提出增加了懲罰項的GIoU-loss,即

式中,C為包含了B和Bgt的最小框。
當B和Bgt位于水平或垂直位置時,GIoU-loss依然具有很大的誤差,文獻[20]將重合面積、邊界框中心坐標之間的距離和邊界框的寬高比加入懲罰項,提出了DIoU-loss 和CIoU-loss,分別為

1.3.1 Cutmix
Cutmix[21]在Cutout[22]的基礎上進行了改進,融合兩張圖片的特征,其計算式分別為

式中,M為二進制0、1 矩陣;⊙表示從兩個圖像中刪除并填充的位置;λ為Beta(τ,τ)貝塔分布,τ為超參數。經過Cutmix 擴充處理前后的效果如圖4所示。

圖4 Cutmix 數據擴充Fig. 4 Cutmix data augment
1.3.2 改進Mosaic
Mosaic[14]在Cutmix 的基礎上,將融合的圖片特征數量增加為4 張,等效增加了訓練批次的圖片數量,提高檢測性能。本文對Mosaic 進行了改進,在圖像融合過程中加入基于Mixup[23]的背景虛化,改進后的計算式為

式中,Mi分別為第i個二進制0-1 矩陣,其并集為整張圖片(Σ∪Mi=Ω);μ、iλ為透明度調整系數,服從貝塔分布。經過改進Mosaic 擴充處理的數據效果如圖5 所示。

圖5 改進Mosaic 數據擴充Fig.5 Refined mosaic data augment
YOLOv4 采用K-means 聚類算法,基于VOC 數據庫進行聚類中心數量為9 的label 寬高比聚類。K-means 是迭代求解的聚類分析算法,其步驟為:首先將數據分為k組并隨機選取初始聚類中心;其次,計算每個數據點與各聚類中心之間的距離,并將其分配給距離最近的聚類中心所在的組[24]。優化迭代因子為

式中,xn為數據點;n為數據點個數;rnk在數據點xn被歸類到組k時為1,否則為0;μk為歸類到組別k中的數據點的平均值。
為對比分析K-means 聚類和可指定聚類中心的其他聚類方法的聚類效果,研究錨框聚類結果對網絡性能的影響,并從整體上評價兩者的檢測表現,本文引入了分層聚類算法。分層聚類以樹形結構在不同層次上對數據集進行自下而上的劃分,其步驟為:首先將每個樣本看作初始聚類簇;其次通過計算集合間的豪斯多夫距離,將距離較近的聚類簇合并;最終得到預設的聚類個數[24]。
圖6 展示了標注樣本的寬高原始數據及其聚類數據。圖6a 為樣本的原始寬高數據,不同顏色代表了不同高壓設備類別。基于自建數據庫,K-means 的K值和分層聚類簇群數均設為5。圖6b 為K-means聚類效果,算法以點到聚類中心的距離為分類標準,5 個聚類中心近似沿直線y=x軸對稱分布;圖6c 為5 類聚類樹狀圖,可看出簇類層次,如當簇群數為3時,原簇類沿樹狀圖合并為A、B 和C 三個新簇群;圖6d 為分層聚類效果,算法以簇類之間的距離為分類標準,除簇類1 和簇類5,其余簇類的分布與Kmeans 基本相同,聚類中心分布沒有明顯的規律。


圖6 數據標簽及其聚類Fig.6 Label and cluster
以 Linux 系統下的 darknet 平臺搭建了基于YOLOv4 的深度學習網絡框架。訓練服務器GPU 為Nvidia Quadro P600,CPU 為Intel silver 4210,訓練集為在實驗室和現場拍攝得到的絕緣子、均壓環、防振錘、導線和套管五類圖片2 800 張,測試集200張,每個類別的圖片各占20%,部分訓練集數據庫如圖7 所示。

圖7 訓練集數據庫Fig.7 Train database
采用lableimg 標注訓練集,生成包含電氣設備類別、尺寸、位置信息的.xml 文件,再將其轉換為包含中心坐標(x,y)和(w,h)偏置的.txt 標注文本[14]。
實驗過程中,網絡的迭代次數為8 000 次,采用YOLOv4 默認參數作為基準組,每次訓練只改變一個超參數變量,研究變量包括數據增強算法(Cutmix、Mosaic 和改進Mosaic)、IoU(CIoU,GIoU和DIoU)、anchor 聚類中心個數(5、9 和YOLOv4)和聚類函數類型。
系統性能評價體系可表征訓練誤差、識別準確度和訓練速度。采用avgLoss 和IoU 來表示系統訓練的評價指標,采用真正例(True Positive, TP)、假正例(False Positive, FP)、假負例(False Negative,FN)作為網絡的識別指標,其中TP 值越高,FP 和FN 值越小,網絡的優化效果越好[24]。采用準確率(Precision), 平均準確率均值(mean average precision, mAP)和召回率(Recall)指標來表征系統檢測準確性和魯棒性,使用F1來度量網絡的識別準確度與召回率均衡時的網絡得分,即

式中,P和R分別為準確率和召回率。
將訓練過程中每次迭代所需時間定義為 Avgspeed,單位為s,表征網絡迭代速度。
圖8 對比分析了Cutmix、Mosaic 和改進Mosaic數據增強方法對網絡參數的影響。圖9 展示了不同算法的平均網絡損失與檢測準確度和迭代次數的關系。

圖8 數據增強方法與識別結果Fig.8 Data augment and detection results

圖9 數據增強方法與損失準確度Fig.9 Data augment and network loss detection results
圖8 中,在具有較低的FN 值的同時,改進Mosaic 的TP 表現明顯高于Mosaic 和Cutmix,說明在相同訓練條件下,采用改進Mosaic 數據擴充方式能夠得到更高的Recall 和網絡識別準確度;對比而言,改進Mosaic 和Cutmix 具有更小的FP 值。
因增加了融合圖片數量,對比Cutmix,Mosaic和改進Mosaic 具有更好的網絡性能,而改進Mosaic加入了模糊處理的原始尺寸圖像,解決了的Mosaic FP 值較高的問題。
圖9 中,平均損失(avgLoss)隨著訓練批次的增加而降低。相比而言,采用了Cutmix 的模型損失(loss)最小(0.185),7 000 次迭代之后的改進Mosaic模型的loss 減小到與前者相當(0.302),而Mosaic模型的loss 最大(1.011)。mAP 在訓練過程中上下波動,但總體隨訓練批次增加而增加,其中,Cutmix的模型識別準確度最低(82.3%),相比于Mosaic 模型,改進Mosaic 模型的平均識別準確度提高了2%。其原因在于,Cutmix 算法主要對圖片進行切割和嵌入,在不改變訓練集圖片分辨率的情況下降低了網絡訓練誤差,但也因圖片的嵌入降低了網絡的識別準確度。Mosaic 算法將4 張訓練集圖片融合,等效增加每次訓練圖片數量,但減小了訓練集圖片的分辨率。改進Mosaic 在Mosaic 的基礎上增加了Mixup的思想,在擴充數據集的基礎上保持訓練集的分辨率,相比于Mosaic,在相同迭代次數下的網絡誤差降低了約70%,識別準確度提高了2%。
IoU 是基于錨框和邊界框回歸算法的目標定位算法。圖10 展示了網絡采用不同IoU 算法時,訓練批次(epoch)、平均網絡損失(avg Loss)和學習率(learning rate)的變化曲線。


圖10 不同IoU 的誤差變化曲線Fig.10 Average loss of different IoU
在圖10a 中,網絡前300 次迭代訓練采用的學習率逐漸增大,采用CIoU、DIoU 和GIoU 算法的網絡,其訓練誤差首次小于10 所需的訓練次數分別為188、212 和174。迭代訓練前期,GIoU 算法的網絡誤差起始值小(1 775),收斂速度較快。
在圖10b 中,網絡的300~4 000 次迭代學習率為0.001 3。每迭代50 次,對CIoU、DIoU 和GIoU的網絡誤差值進行采樣。在75 次采樣中,其網絡誤差值為三者中最小的次數分別為28、14 和33,表明在迭代過程中,GIoU 整體表現較優。而在3 500迭代之后,CIoU 網絡的訓練誤差均為最小,整體來看,CIoU 的效果較好。
圖11 展示了網絡采用CIoU、DIoU 和GIoU 時,在相同測試集上的識別準確度曲線。
圖11a 中,網絡mAP 隨著迭代次數的增加而變化,整體呈提高趨勢。采用CIoU、DIoU 和GIoU 算法網絡的平均識別準確度標準差分別為 3.407、4.334 和4.722,CIoU 波動幅度較小,GIoU 網絡具有mAP 最大值94.51%。



圖11 不同IoU 的識別準確度曲線Fig.11 Average precision of different IoU
圖11b~圖11f 分別為絕緣子、導線、均壓環、防振錘和套管五種電氣設備的 IoU-50%識別準確度,CIoU 網絡在絕緣子、防振錘和套管識別方面識別效果較好,而在如均壓環的小目標識別上,GIoU網絡的識別效果較好。表1 展示了采用不同IoU 算法識別的網絡參數。

表1 檢測準確性表Tab.1 Detection parameters of different IoU
從表1 中可以看出,采用CIoU 網絡在識別準確度、召回率、F1得分和平均IoU 上具有較大優勢,這得益于 CIoU 在錨框歸類的訓練過程中將傳統IoU、中心坐標和寬高比作為最優化目標,使網絡預測錨框更接近真實標注框。與此同時,DIoU 的網絡訓練速度最快,Avg-speed 為7.98s,這是因為CIoU和GIoU 網絡增大了計算開銷,降低了迭代的速度。
基于自建的五種主要電力設備圖像數據庫和K-means 與分層聚類算法,本文計算得到了label 寬高數據聚類中心坐標,圖12 展示了不同聚類中心屬性對網絡訓練和識別相關參數的影響。
圖12a~圖12d 中K=9 時的K-means 聚類中心的網絡參數較YOLOv4 變差,原因是相比于VOC,自建數據庫的類別和樣本量較少。聚類中心K=5 時,網絡Precision 和平均IoU 值與YOLOv4 的默認參數基本持平,但兩者的標準差分別降低減至0.029 和5.44,優于 YOLOv4 情況。當網絡迭代次數大于3 500 時,最優mAP 和召回率參數分別為94.37%和98%,雖波動較大,但最優結果比YOLOv4 的默認參數分別提高了0.3%和1%。

圖12 不同label 寬高數據聚類的網絡特性Fig.12 Network performance of label w-h data clusters
采用分層聚類的總體系統性能評價參數除mAP 外,IoU、召回率和識別準確率與K=9 時的Kmeans 聚類方法表現相當。其原因是K-means 分類是基于歐氏距離,各個聚類中心相互獨立;而分層聚類基于簇類集合之間的距離逐級合并,簇類越少,聚類中心與簇內各點之間距離的波動越大,而導致網絡提取五種設備特征的能力變差。
圖13 展示了不同label 寬高數據聚類中心對網絡訓練誤差和識別準確度的影響。

圖13 不同label 寬高數據聚類中心的網絡特性Fig.13 Loss-precision characteristic of different label w-h cluster algrithom
圖13 中,采用K-means 算法且K=5、K=9 時,平均網絡損失avg Loss 最小值相比于YOLOv4 分別減小了3%和4%。同時,K=5 時網絡的識別Precision平均值為89.61%,相比于YOLOv4 提高了0.8%。原因是基于自建數據庫聚類錨框進行訓練時,網絡的初始化和優化更加貼合原始標注數據,訓練誤差更小,識別準確度更高。
采用分層聚類算法且層數為5 時,網絡avgLoss相比于 YOLOv4 減小了 73%,但網絡的識別Precision 表現與K=9(K-means)相近,其原因在于,分層聚類的分類標準基于集合距離,導致較多電氣設備圖片聚類類別與實際類別不同,因此網絡剔除了分類錯誤的圖片而降低了損失函數,以降低網絡的召回率的代價保持Precision 基本穩定。
表2 展示了基于不同聚類錨框對網絡訓練和識別性能的影響。
由表2 可知,采用K-means 算法且聚類中心個數K=5、K=9 時,網絡的F1-score 較高,說明自建數據庫的K-means 聚類在識別準確度和召回率均衡度上優于分層聚類和YOLOv4 默認參數。K=5 時,網絡的最高召回率和準確率更高,各方面表現較為均衡。當分層聚類層數為5 時,以犧牲召回率的代價提高了系統損失和IoU 的總體表現,且檢測速度較快。

表2 label 寬高數據聚類對網絡性能的影響Tab.2 The influence of label w-h cluster on network performance
分層聚類網絡的訓練速度高于YOLOv4,其原因是分層聚類網絡的召回率最低,等效于減少了每張圖片中網絡的目標數量,降低了計算復雜度。Kmeans 聚類算法訓練速度低于YOLOv4 的原因除較高召回率之外,還包括因VOC 數據庫預訓練的權重數據與自建數據庫數據結構不一致而增加的計算開銷。
基于以上研究,本文采用了改進Mosaic 數據增強算法對訓練數據集進行數據擴展;針對均壓環和防振錘小目標的檢測,采用GIoU-loss 作為IoU 分類函數,而對于絕緣子等較大檢測目標,則采用CIoU 作為分類函數;基于自建數據庫,采用K=5 的K-means 算法訓練獲得標注值寬高數據聚類中心,最終實現的主要電氣設備識別效果如圖14 所示。

圖14 優化后網絡的識別效果Fig.14 Detection results of the network after optimize
本文基于YOLOv4,搭建了五種主要電氣設備識別平臺,提出了網絡的改進方法,并對其調參方法進行了研究。主要結論如下:
1)對數據擴充算法進行了改進,優化后的網絡訓練誤差由1.011 降低到了0.302,識別平均識別準確率提高了2%。
2)研究并分析了CIoU 和GIoU 方法在訓練和識別大目標和小目標中的優劣勢,對均壓環和防振錘等相對較小目標采用了GIoU 的優化方法,使其平均識別準確率提高了3%。
3)提出了基于自建數據庫識別類別和label 寬高數據的聚類思路,經過優化后的網絡識別準確度提高了0.8%,訓練誤差減小了3%。
經過優化和參數調優,較好地實現了主要電氣設備的識別。可用于基于無人機和巡檢機器人搭載的多光譜成像檢測。