種法廣,溫 蜜,田英杰,張 凱
(1. 上海電力大學計算機科學與技術學院,上海 200090;2. 國網上海市電力公司,上海 200122)
隨著輸電線路的不斷建設以及電網技術的創新發展,基于機器人和無人機的智能電力巡檢技術已經被廣泛應用。電力絕緣子是對輸電線路起到支撐與絕緣作用的重要電力部件,主要有陶瓷、玻璃和復合絕緣子三種類型,但其長期暴露在野外容易出現故障,一旦出現故障將會嚴重影響穩定的電能輸送[1]。為保障電網穩定運行,對輸電線路巡檢中故障絕緣子的檢測尤為重要,其中絕緣子缺陷則是常見的故障類別之一[2]。通常來說,絕緣子處于森林、房屋、河流和不同天氣(如雨、雪、霧)等復雜場景,且出現的缺陷區域較小,給絕緣子缺陷檢測帶來一定挑戰。
目前絕緣子缺陷檢測的方法可分為人工巡檢、基于機器學習的圖像識別技術和基于深度學習的目標檢測算法。人工巡檢主要通過人工排查絕緣子明顯、直觀的故障,費時費力,且存在安全隱患?;跈C器學習的圖像識別技術如局部二值模式特征(Local Binary Pattern,LBP)[3],方向梯度直方圖特征(Histogram of Oriented Gradient,HOG)[4]和Deformable Part Models (DPM)目標檢測算法[5]等雖已取得一定的效果,但其主要使用單一特征(如顏色、紋理、形狀等),同時依賴人工提取特征,工作量大,檢測效率低。
近年來,一系列深度學習檢測算法也相繼提出[6],主要分為以Region Convolutional Neural Networks(R-CNN)[7],Fast R-CNN[8],Faster R-CNN[9]和Mask R-CNN[10]等算法為代表的二階檢測器和以You Only Look Once(YOLO)[11],Single Shot MultiBox Detector(SSD)[12]和YOLOv3[13]等算法為代表的一階檢測器。文獻[14]通過搭建卷積神經網絡(CNN)定位絕緣子,結合超像素分割等方法對絕緣子進行建模識別缺陷部位。文獻[15]提出基于Faster R-CNN的方法提取絕緣子串的位置信息,根據絕緣子串的周期分布規律,分析是否存在缺陷。文獻[16]采用多模型融合的思想,將性能差異較為明顯的Mask RCNN、RetinaNet、YOLOv3 三個目標檢測模型計算的預測框坐標與置信度值進行融合計算,實現絕緣子自爆故障檢測。上述方法雖然取得了一定的檢測效果,但對于復雜場景下的缺陷絕緣子識別仍然存在精度偏低、檢測耗時等問題,且文中缺陷絕緣子數據量太少,阻礙故障絕緣子的進一步研究。

圖2 SENet注意力機制模塊[18]
基于上述問題,本文在YOLOv3算法的基礎上提出一種基于注意力機制的多尺度絕緣子缺陷檢測模型。主要貢獻如下:①在特征提取網絡Darknet53上融合空間注意力機制SENet結構,通過特征重標定策略學習更豐富的絕緣子缺陷特征,提升特征提取網絡的性能;②將YOLOv3算法中的3檢測尺度擴展為4個,提高模型對電力絕緣子缺陷的檢測精度;③使用K-means++算法對缺陷絕緣子數據集中邊界框的寬和高聚類,該算法獲取初始聚類中心的隨機性更小,能夠優化錨點框。此外,通過數據增強技術擴充缺陷絕緣子數據集,以滿足模型訓練和檢測需求。結果表明,提出的檢測方法能夠在復雜場景中有效識別絕緣子的缺陷位置。
2016年,Redmon等人提出的YOLO算法能夠直接預測目標的類別和位置信息。經過不斷改進,YOLOv3算法以高精度、實時性好的特點,被廣泛應用于計算機視覺的不同方向,取得了良好的檢測效果。
YOLOv3延續了上一代算法錨點框的生成方法,使用K-means算法對圖像標簽進行維度聚類,預測框坐標信息如圖1所示。YOLOv3首先將原始圖片縮放至416×416大小送入卷積神經網絡進行特征提取。然后分別在13×13、26×26、52×52的特征圖上實現3個尺度檢測。圖1中,bw和bh為邊界框寬高,pw和ph為錨點框預測結果的寬和高。σ是sigmoid函數,tx、ty、tw、th為網絡預測目標中心的坐標、寬和高,cx、cy為當前網格左上角坐標。

圖1 預測框坐標信息示意圖
在特征提取階段,YOLOv3使用Darknet53網絡提取目標信息,引入多個ResNet 殘差網絡模塊增加網絡深度提升網絡性能。在目標檢測階段,YOLOv3采用特征金字塔和殘差網絡相結合的思想,實現多尺度特征融合。YOLOv3共有3個檢測尺度,通過預測最后3個下采樣層中的特征圖進行目標檢測。在第1個檢測尺度中,以32倍的下采樣13×13特征圖檢測大目標。第2個檢測尺度將26×26特征圖以16倍進行采樣檢測中型目標。在第3個檢測尺度中,以8倍的下采樣52×52特征圖檢測小目標。最后將預測的邊界框經過非極大值抑制(Non-Maximum Suppression,NMS)[17]輸出得分較高的預測框,實現目標識別任務。
SENet(Squeeze-and-Excitation Networks)[18]是2017年提出的一種簡單而有效的注意力機制網絡,它可以學習包含全局信息的特征,通過選擇重要的特征并抑制非重要的特征實現特征重標定。該網絡結構由壓縮(Squeeze)、激勵(Excitation)和重標定(Reweight)三部分構成。SENet注意力機制模塊如圖2所示,圖中從左至右英文字母的含義分別是:X表示輸入,U表示中間變換,H、W、C代表網絡的寬、高和層數,Ftr和Fsq代表壓縮操作,Fex代表激勵操作。
首先是特征U經過壓縮(Squeeze)操作,該操作沿著空間維度將C個W×H二維特征壓縮成長度為C的1×1實數列,表示特征響應的全局分布,使得鄰近的輸入層也可以獲得全局的感受野。其次是激勵(Excitation)操作,采用門限機制的形式通過W(每個特征通道間的相關性)生成每個特征通道的權重集合。然后特征映射U被重新加權以生成SENet的輸出,將其直接輸入到隨后的卷積層中。最后是特征重標定(Reweight)操作,主要將Excitation輸出的權重表示為特征選取后每個通道的重要程度,通過乘法逐通道加權到先前的特征上,完成通道維度的特征重標定。
YOLOv3在檢測精度和速度上取得了較好的平衡,但由于其僅使用3個尺度的特征,使得對淺層信息的利用并不充分,許多小目標區域信息容易丟失,不利于缺陷絕緣子地檢測。為了提高缺陷絕緣子的檢測精度,提出SE-YOLOv3多尺度檢測模型如圖3所示。該模型由以下模塊組成:①SE-Darknet53特征提取網絡設計:將通道注意力機制SENet模塊與Darknet53網絡融合組成新的特征提取網絡SE-Darknet53,實現對特征權重的重新標定。②多尺度檢測網絡改進:通過4個檢測尺度學習缺陷絕緣子更深層次的位置信息,提升模型對小目標的檢測精度。③錨點框維度聚類優化:使用K-means++算法重新對絕緣子數據標簽進行維度聚類分析,獲取更為理想的先驗框。

圖3 改進的YOLOv3多尺度檢測模型
DarkNet53使用ResNet模塊加深網絡深度提高了特征提取能力,但是缺陷絕緣子目標小、背景復雜,直接使用Darknet53提取缺陷絕緣子特征會影響檢測精度。SENet能夠很方便地嵌入到ResNet中,得到一個SE-ResNet模塊,能夠顯著提高特征提取網絡的性能,進一步提升檢測精度。如圖4所示,SE-ResNet模塊首先使用全局池化層(Global pooling)獲取全局的感受野,然后將兩個全連接層(FC)結合ReLU激活函數可以更好地擬合擬合通道間復雜的相關性。首先通過第一個全連接層將特征維度參數降到輸入的1/r(r=16),然后使用ReLU激活函數和下一個全連接層將參數升維到之前的維度。之后使用Sigmoid激活函數輸出1×1×C的序列,獲得0~1之間歸一化的權重。最后通過Scale操作將歸一化后的權重加權到每個通道的特征上,輸出更新后的通道。

圖4 原殘差模塊(左)與注意力殘差模塊(右)[18]
因此,本文在原始特征提取網絡Darknet53的基礎上改進,引入SENet注意力機制模塊設計了SE-Darknet53特征提取網絡結構如圖5所示。

圖5 SE-Darknet53特征提取網絡示意圖
YOLOv3使用三種比例尺度來檢測不同大小的目標,并使用8倍下采樣的特征圖來檢測小的目標??紤]到輸入的電力絕緣子圖像中缺陷區域較小,YOLOv3對小目標的檢測效果不是很理想。為了從小目標中獲取更多細粒度的特征,本文探索使用原始網絡中4倍下采樣的特征圖。
在圖3中,原始YOLOv3中的3個檢測尺度被擴展為4個檢測尺度,并添加上采樣大小為104×104的特征圖,圖中虛線框即為增加的第4個檢測尺度。在執行多尺度檢測時,在第79層之后經過3次卷積操作得到第1個檢測尺度為13×13的32倍下采樣特征圖。然后將第79層上采樣的結果與第61層進行特征融合,得到第2個檢測尺度為26×26的16倍下采樣特征圖,即第91層。接著為了得到細粒度信息,將第91層進行上采樣與第36層進行特征融合,得到第3個檢測尺度為52×52的8倍下采樣特征圖,即第103層。最后為了獲取更細粒度信息,將第103層進行上采樣與第11層進行特征融合,得到第4個檢測尺度為104×104的4倍下采樣特征圖。因此,改進后的YOLOv3具有更好檢測不同尺度目標的性能。
YOLOv3算法使用K-means對數據集中的bounding box聚類以獲取合適錨點,錨點框的選取會直接影響目標檢測的效果。由于絕緣子缺陷區域較小且背景復雜,因此需要對缺陷絕緣子數據集的標簽重新聚類獲取新的錨點。但傳統的K-means聚類方法采用歐氏距離函數,這導致較大的bounding box通常比較小的bounding box的誤差更大,影響聚類結果。考慮到交并比(Intersection over Union,IOU)與bounding box尺寸無關,將 IOU 加入到距離函數中能夠更好地平衡模型復雜度和召回率之間的關系,實現對絕緣子缺陷有效的預測,距離函數定義如下
d(box,centroid)=1-IOU(box,centroid)
(1)
式中,box表示實際的邊界框信息,centroid表示聚類中心,IOU表示預測框與真實框的交并比。
K-means聚類算法對初始聚類中心敏感且需要手動設定,這會直接影響聚類結果。因此,本文針對實際場景中缺陷絕緣子的位置特點,采用隨機性更小的K-means++算法獲取新的錨點,從而能夠高效的檢測出缺陷絕緣子。在缺陷絕緣子數據集上使用兩種不同聚類方法得到的平均交并比(Average IOU)與聚類中心K的對比曲線如圖6所示??梢钥闯?,相比于K-means算法,K-means++算法具有更高的Average IOU。隨著K的增加,當K=12時,Average IOU趨于穩定。因此,本文最終選取12個錨框,并將其分配到4個檢測尺度應用于模型訓練。

圖6 平均交并比與聚類中心曲線
本文以CPLID數據集[19]為基礎,通過圖像旋轉、翻轉、放縮和隨機裁剪等數據增強方式重新構建缺陷絕緣子數據集,包括雨、雪、霧等多天氣因素的圖片,共計2448張。在數據預處理階段,使用開源工具LabelImg對絕緣子數據根據VOC2007數據集格式標注絕緣子缺陷位置,并按照8:2的比例隨機劃分訓練集和測試集。
本文實驗基于Pytorch 、Python3.7 和 Cuda10.1搭建深度學習框架,訓練過程中使用YOLOv3官方提供的權重作為網絡訓練初始化參數,實驗運行環境、相關軟硬件配置以及部分模型參數如表1所示。

表1 實驗環境配置
為了驗證提出模型的有效性,本文選取的評價指標為準確率 (Precision,P),召回率 (Recall,R),平均準確率(Average Precision,AP),F1值和每張圖片的檢測時間(Time,T),具體公式如下

(2)

(3)

(4)
式中,TP表示成功檢測出的絕緣子缺陷數量,FP表示沒有缺陷卻識別為缺陷絕緣子的數量,FN表示有缺陷卻沒有識別為缺陷絕緣子的數量,平均準確率AP表示準確率對召回率的積分。通常使用P和R兩個指標來衡量模型的好壞,但是同時要權衡這兩個量,影響決策速度。可以使用F1來表示準確率和召回率的調和均值

(5)
結合4.3節給出的相關評價指標,主要對比了經典的深度學習目標檢測算法,如Faster R-CNN、SSD、Tiny-YOLOv3(簡化版YOLOv3)、YOLOv3和本文提出模型SE-YOLOv3的檢測性能,最終得出改進前后算法的P-R曲線如圖7所示。實驗證明本文提出的SE-YOLOv3算法與原始YOLOv3算法相比,Precision、Recall和AP均表現出良好的性能。

圖7 不同算法的P-R曲線對比
不同檢測算法的實驗結果如表2所示,可以看出,Faster R-CNN作為二階檢測器,對于缺陷絕緣子的檢測較為耗時。雖然Tiny-YOLOv3對每張缺陷絕緣子圖片的檢測時間是最短的,但精度遠低于其它檢測模型。本文提出的模型對缺陷絕緣子檢測的P、R、F1和AP明顯好于其它模型。由于改進的算法增加了網絡層數,導致檢測時間比原算法增加了一倍,但仍然遠低于Faster R-CNN檢測模型,能夠滿足缺陷絕緣子實時檢測的需求。

表2 不同檢測方法性能對比
為了進一步驗證提出模型的檢測性能,本文使用改進前和改進后的模型分別對不同天氣環境下的缺陷絕緣子進行檢測,輸出結果如表3所示??梢钥闯?,原算法在特殊天氣條件下檢測準確率不高且存在漏檢情況,而SE-YOLOv3算法的檢測結果明顯優于YOLOv3算法,實現了復雜天氣環境下的缺陷絕緣子檢測。

本文提出的基于注意力機制的多尺度缺陷絕緣子檢測模型,能夠解決絕緣子缺陷位置小、復雜環境中檢測精度不高等問題。通過融合通道注意力機制SENet結構,擴大網絡的感知范圍提升檢測性能;將原始網絡的3個尺度更改為4個增強了缺陷絕緣子小尺度目標的檢測能力;利用K-means++聚類算法,減少隨機初始化錨框對檢測精度的影響。實驗結果表明,所提模型能夠有效的識別出電力絕緣子的缺陷位置。本文的主要研究工作是絕緣子掉片的缺陷檢測,但在現實場景中存在多種絕緣子缺陷類型,下一步工作是在確保絕緣子缺陷檢測精度與實時性的基礎上,研究如何有效區分絕緣子缺陷類型。