孫 晗,鄒寬勝
(江蘇師范大學 電氣工程及自動化學院,江蘇 徐州 221116)
絕緣子是電力系統(tǒng)中最為重要的基礎設施之一,它能夠保證傳輸線和變電站能夠安全穩(wěn)定的運行[1]。而絕緣子主要暴露在自然環(huán)境惡劣的野外場景下工作,這樣導致其非常容易發(fā)生自爆、污損等缺陷[2],進而影響到整個電力系統(tǒng)的安全和穩(wěn)定,導致產生一定的社會經濟損失及安全隱患。因此,定期對絕緣子的工作狀態(tài)及故障情況進行巡檢,對確保電力系統(tǒng)的穩(wěn)定運行具有重要意義。而其中的首要問題是對絕緣子進行精準的檢測及識別。
人工巡檢絕緣子的效率非常低,且野外巡檢具有一定的危險性,最終獲取的檢測結果也不是很精確,難以滿足絕緣子日趨增長的監(jiān)控需求。當前無人機技術的不斷發(fā)展為電力巡檢帶來新的可能[3],但仍需手動去判別巡檢絕緣子圖片。人工判別的局限性有以下兩點:首先,為了避免絕緣子誤判或者漏判,就需要檢測人員具有豐富的經驗。其次,手動去判別大量的絕緣子航拍圖片,不僅速度慢、效率低,而且需耗費高額的成本。隨著電網智能巡檢興起[4],以及圖像處理與深度學習技術的飛躍發(fā)展,將深度學習技術[5]與無人機技術相結合應用到絕緣子的智能檢測中成為了一種新的方向。
與傳統(tǒng)基于圖像處理的絕緣子檢測方法相比,基于卷積神經網絡的深度學習方法可以以較高的效率自動提取圖像特征,能夠極大提升絕緣子檢測的效率和準確度。因此,基于深度學習方法的絕緣子檢測引起了相關學者們的廣泛關注。文獻[6]通過生成更貼近絕緣子長寬比例的Anchor(先驗框)以及對非極大值抑制(Non-Maximum Suppression,NMS)進行改進,初步解決了不同縱橫比和尺度的絕緣子識別問題和絕緣子相互遮擋問題。文獻[7]通過特征融合以及擴大小尺度特征圖的辦法增強了深度學習網絡對絕緣子語義信息的提取能力。文獻[8]通過使用正則化來優(yōu)化網絡結構以此來提高模型的檢測速度,提升了電力巡檢圖像多目標檢測的精度和速度。文獻[9]使用YOLOv3算法對絕緣子串進行定位和異常識別,使用Focal Loss和均衡交叉熵函數作為損失函數,并且使用多階段遷移的學習方法來訓練模型,得到了比較高的檢測精度。文獻[10]將FPN網絡加入到Faster-RCNN算法中提升小目標絕緣子的特征提取能力,并通過圖像信號處理的方法實現絕緣子的故障檢測,可以準確檢測出玻璃絕緣子和復合絕緣子的裂紋和串落故障。文獻[11]提出一種級聯型的CNN網絡對絕緣子進行缺陷檢測,首先使用數據增強方法將絕緣子與復雜背景進行融合擴增缺陷絕緣子數據集,然后通過RPN網絡對絕緣子進行定位并將此區(qū)域剪裁出來,最后通過DNN網絡對剪裁區(qū)域進行缺陷定位。文獻[12]以無先驗框的網絡CenterNet為基礎模型,通過使用輕量級網絡作為特征提取網絡,并引入注意力機制以及借鑒FPN特征融合,可以實時高效的對絕緣子缺陷部位進行檢測。文獻[13]通過深層特征融合網絡與SE模塊的結合,并且融入可變形卷積,能夠在網絡架構層面更好地融合不同層次的特征信息,能夠對輸電線路進行實時高效地檢測。
從以上文獻可以看出,目前大多數絕緣子檢測所選擇的算法如Faster-RCNN[14]、SSD[15]、YOLOV3[16]等都需要事先設置好Anchor(先驗框),所以這些算法對于Anchor的數量以及尺寸大小等都非常敏感,導致大量超參數設置的好壞都會直接影響到檢測性能。而在網絡的訓練中,檢測網絡中需要計算生成的全部Anchor與真實框的交并比(Intersection Over Union,IOU),這樣的方式會使得計算量變得非常大,從而需要占用計算機極大的算力,并最終導致檢測目標的速度變慢。
為了提升絕緣子檢測速度與提高檢測精度,該文以Anchor-free類算法CenterNet[17]網絡為基礎進行改進。通過更深層的特征提取網絡與金字塔池化模塊PPM(Pyramid Pooling Module,PPM)[18],增強在復雜背景下對絕緣子的特征提取能力。實驗表明,改進后的網絡能夠滿足對航拍絕緣子的實時檢測要求。
CenterNet算法通過預測目標的中心點進而實現對目標的檢測,即用預測的中心點來代表檢測目標,隨后通過回歸得到目標中心點的偏移量以及目標框的寬和高,最終實現對目標的識別。
CenterNet網絡模型簡圖如圖1所示。檢測過程具體如下:
圖1 CenterNet網絡模型簡圖
(1)圖片輸入網絡前會放縮到統(tǒng)一的大小尺寸方便網絡進行檢測;
(2)放縮過后的圖片首先經過特征提取網絡對圖片進行初步地特征提取并生成一張?zhí)卣鲌D;
(3)初始特征圖會通過三次反卷積的操作進行上采樣處理,得到最終的高分辨率特征圖;
(4)高分辨率特征圖通過3個3×3的卷積得到三個分支,分別是Heat Map表示是否有物體以及物體種類、Offsizes表示中心點的偏移量、Sizes表示每一個物體的寬高信息;
(5)根據三個分支信息輸出目標檢測結果。
CenterNet最后檢測出的結果主要由三個部分,也就是3個3×3的卷積得到的三個分支決定,所以最終的損失函數由三個部分組成:物體中心點的損失函數Lh、中心點偏置損失函數Loff以及物體長寬損失函數Lsize。
物體中心點損失函數Lh是在Focal Loss函數的基礎上改進而來,其計算公式如式1所示:
Lh=
(1)
中心點偏置損失函數Loff采用L1 Loss函數,計算公式如式2所示:
物體長寬損失函數Lsize也采用了L1 Loss函數,具體計算公式如式3所示:
(3)
總的損失函數由此3個損失函數乘上對應的系數并進行相加得到,具體計算公式如式4所示:
Lt=Lh+λsizeLsize+λoffLoff
(λsize=0.1,λoff=1)
(4)
該文在原始CenterNet網絡模型的基礎上進行改進,網絡結構如圖2所示。首先對輸入的航拍絕緣子圖像進行不失真地放縮,之后通過Resnet50網絡對絕緣子進行初步的特征提取,初步提取出的特征圖再經過金字塔池化模塊PPM,接著得到的特征圖會經過三次反卷積進行上采樣操作得到最終特征圖,最后通過3個3×3的卷積得到最終的預測結果。
圖2 網絡結構
在對航拍絕緣子圖像進行放縮的時候,需要保證原始絕緣子圖像長和寬的尺寸比例保持不變,這樣可以達到放縮后圖片不會失真。但無人機航拍獲取的絕緣子數據集無法保證每個圖像都能滿足長寬比例相等。為了實現圖片放縮后不失真的效果,在圖片周圍添加0進行填充。
航拍絕緣子圖像大多都處于湖泊、田地、山丘、樹林等復雜的背景環(huán)境中。對于主干網絡而言,過淺的網絡不能夠很好地從復雜的背景中有效提取絕緣子的特征,而過深的網絡則會增加過多的參數從而影響整個模型的檢測速度。為了能夠平衡檢測精度與檢測速度,該文選擇適中的Resnet50網絡作為改進方法的主干網絡。
主干網絡Resnet50的網絡結構如圖3所示,其中s代表卷積步長(stride),圖中()中的數字分別代表卷積后的長度、寬度、通道數,Conv Block和Identity Block是網絡中兩個基本的塊,整個網絡分為5個階段,分別為Stage1-5。
圖3 Resnet50網絡結構
首先輸入進來的圖片會進入第一階段Stage1,包含卷積核大小為7×7、步長為2、通道數為64的卷積層,BatchNorm歸一化層,Relu激活函數以及池化核大小為3×3、步長為2的最大池化層。最終輸出圖片為256×256×64。Stage2-5都是由Conv Block和Identity Block所構成。
Conv Block的結構分為兩個部分,具體如圖4所示。左側為主干部分,輸入經過3次卷積,前兩次卷積會經過BatchNorm層和Relu層,最后一次卷積只經過BatchNorm層;右邊為殘差邊,輸入進行一次卷積并經過BatchNorm層。兩部分輸出的結果進行相加并經過Relu層后作為下一階段的最終輸出。Conv Block輸入輸出的維度是不相同的,目的就是為了改變網絡的維度。
圖4 Conv Block結構
Identity Block的結構也分為兩個部分,具體如圖5所示。左側與Conv Block一樣為主干部分,輸入經過3次卷積,前兩次卷積會經過BatchNorm層和Relu層,最后一次卷積只經過BatchNorm層;右邊為殘差邊。與Conv Block不同的是,輸入并不會進行卷積,而是直接與左側的輸出進行相加,并經過Relu層后作為下一階段的最終輸出。因為是直接相加,所以Identity Block輸入和輸出的維度需要保持一致,目的是對網絡進行加深。
圖5 Identity Block結構
后四個階段每一個階段的第一層都是Conv Block,通過Conv Block后特征圖的高和寬不變,通道數乘2以改變網絡維度;后面幾層都由Identity Block構成,通過Identity Block后特征圖的高、寬、通道數都不變僅僅加深了網絡的深度。經過Stage1-5后最終得到的初步特征圖為16×16×2 048。
在絕緣子檢測過程中,經常會出現漏判的情況,這是因為網絡僅僅依靠簡單地特征提取而不能充分利用全局的上下文信息來判別目標物體。為了解決這個問題,該文在主干網絡后引入了一個金字塔池化模塊PPM,此模塊可以融合不同尺度和不同子區(qū)域的上下文信息,從而更好地獲取全局上下文信息,最終得到更加可靠的預測結果。
PPM主要是把不同金字塔尺度的特征信息進行融合,結構如圖6所示[18]。經過Resnet50網絡提取出的初步特征圖作為PPM的輸入。該模塊采用了四種不同金字塔尺度,每層池化尺寸為1×1、2×2、3×3、6×6。第一層是對整個特征圖進行的全局池化,下面3層會將特征圖分割成不同的子區(qū)域,每個子區(qū)域會各自在內部進行池化操作。每一層通過池化會得到包含不同尺度特征的特征圖,接著會對得到的特征圖進行一次卷積操作,卷積核大小為1×1,目的是將得到的特征圖進行降維,通道數減少到原始特征圖的1/N,N表示金字塔層數。然后通過雙線性插值的方法,將得到的特征圖的通道維度上采樣到與原輸入特征圖相同。最后將這些特征圖與原始特征圖進行通道拼接,得到最終的全局特征。
圖6 PPM結構
該模塊通過池化和融合的方式,能夠聚合不同區(qū)域的上下文信息,從而提高獲取全局信息的能力,進而減少絕緣子檢測時的漏檢與誤檢情況,提高檢測精度。
實驗的訓練工作站軟硬件具體環(huán)境參數如下: 操作系統(tǒng):Win10,CPU:Intel Core i7 - 10750H,GPU:NVIDIA GeForce GTX 1660 Ti,內存:16 GB,加速框架:CUDA10.0,IDE:Pycharm社區(qū)版,深度學習框架:Pytorch。
采用已公開的中國電力線絕緣子數據集,其中包括有無人機在高空拍攝到的600張正常絕緣子圖像。
為了解決航拍絕緣子圖像不足導致網絡訓練出現過擬合問題,對圖片進行數據增強處理。主要包括圖像旋轉、隨機剪裁、添加高斯噪聲、改變色溫等,將數據集擴增至1 600張。使用LabelImg工具對數據集中所有圖片進行標注,并且將標注文件與數據集中的圖片整理成PASCAL VOC2007的數據集格式,并且按照9∶1的比例隨機劃分成訓練集和測試集。
為了提高網絡訓練的效率,本次實驗將采取凍結與解凍的訓練方式。由于主干特征提取網絡提取出的特征是通用的,為了加快訓練速度,將主干網絡進行凍結訓練。由于模型的主干部分進行了凍結,特征提取的網絡部分不會發(fā)生變化,因此所占用的內存很小,所以在凍結訓練中Batch Size(單次傳遞給程序用以訓練的參數個數)設置為8。在解凍訓練階段,模型的主干部分不被凍結,特征提取的網絡部分發(fā)生了變化,因此所占用的內存會變大,所以在解凍訓練中Batch Size設置為4。凍結訓練進行50個Epoch(輪),解凍訓練進行250個Epoch,總共300個Epoch。本次實驗中的網絡優(yōu)化器選擇Adam優(yōu)化器,凍結訓練階段學習率設置為0.001,解凍訓練階段學習率設置為0.000 1。
為了全面客觀地評價此模型的性能,將從檢測精度、漏檢情況、檢測速度3方面進行評估。使用平均精度(Average Precision,AP)、召回率(Recall,R)、每秒傳輸幀數(Frames Per Second, FPS)作為此模型的評價指標。具體計算公式如下所示。
(5)
(6)
(7)
式中,TP代表本身為正樣本且被正確識別為正樣本的樣本量,FP代表本身為負樣本卻被誤識別為正樣本的樣本量,FN代表本身為正樣本卻被誤識別為負樣本的樣本量。
3.4.1 與原網絡模型對比
該文涉及的原網絡模型以Resnet18-Centernet為基礎框架,與改進網絡模型進行對比。實驗結果如表1所示。在主干網絡部分使用Resnet50網絡替換Resnet18網絡后,AP值提升了9.47百分點,Recall值提升了24.38百分點, FPS僅僅降低了2.46 f/s,說明在主干網絡層數過淺時,模型對絕緣子特征的提取能力不足,在替換為深度更深的Resnet50網絡后特征提取能力大幅加強,能夠以極小的速度損失提高絕緣子的檢測準確性。但Recall值僅為77.38%,說明絕緣子漏檢的情況依然大量存在。在以Resnet50作為主干網絡的基礎上添加了PPM金字塔池化模塊,與Resnet50-CenterNet相比,AP值與Recall值分別提高了6.87百分點,11.68百分點,而FPS僅僅降低了0.18 f/s。證明了再添加了金字塔池化模塊PPM后,網絡模型能夠充分利用全局上下文信息在幾乎不損失檢測速度的情況下提高絕緣子檢測精度,并且Recall值達到89.06%,絕緣子漏檢的情況大大降低。
表1 實驗結果
總改進模型與Resnet18-CenterNet相比較,在滿足實時性檢測的情況下,AP值和Recall值分別提升了16.34百分點與36.06百分點。
3.4.2 與不同網絡模型對比
為進一步驗證提出算法的檢測性能,在同一實驗環(huán)境下使用相同的數據集,與絕緣子檢測常用的SSD、Faster-RCNN、YOLOV3、YOLOV4、YOLOV4-tiny、YOLOX這6種網絡模型進行對比分析。其中Faster-RCNN是two-stage兩階段檢測算法的代表性網絡,SSD、YOLO系列則是one-stage一階段檢測算法的代表網絡,YOLOX同樣是無先驗框的設計,對比實驗結果如表2所示。
表2 不同算法實驗結果
與Faster-RCNN相比較,改進后的CenterNet精確度提升了2.52百分點。Faster-RCNN是兩階段目標檢測算法,會進行兩次檢測過程,與文中模型相比,網絡模型比較復雜,導致檢測速度非常慢, FPS只有8.33 f/s,比文中模型低了45.05 f/s,滿足不了實時檢測的要求。
SSD、YOLO系列單階段目標檢測模型與文中模型相比,還是存在著先驗框的束縛,在檢測精度、召回率與檢測速度上文中模型都取得領先。
與輕量化網絡YOLOV4-tiny相比,文中模型檢測精度上升了22.3百分點,召回率上升了26.83百分點,檢測速度降低了17.62 f/s。
與同樣是無先驗框設計的YOLOX相比,文中模型檢測精度提高了5.54百分點,召回率提高了6.44百分點。文中模型在檢測速度僅降低5.95 f/s的情況下,檢測精度和漏檢率方面都有更好的表現。
通過對比實驗,從檢測精度、漏檢情況、檢測速度三個方面綜合考慮,文中模型更加適合航拍絕緣子檢測。
圖7為檢測效果展示,在農田、建筑河流、池塘樹木、湖泊等復雜背景下,該模型仍舊可以很好地檢測出絕緣子。
圖7 檢測效果
該文提出一種基于Anchor-free的絕緣子檢測算法,以CenterNet網絡模型為基礎,通過加深網絡來提升絕緣子特征的提取能力;通過金字塔池化模塊,利用全局的上下文信息進一步提升檢測精度并且大幅降低了絕緣子漏檢的情況;通過數據增強技術完善了實驗數據集。實驗結果表明,改進后的CenterNet網絡模型具有較好的性能指標,能夠滿足對絕緣子實時檢測的要求。下一步將根據此基礎進行改進,實現對絕緣子缺陷區(qū)域的定位。