宋立業 劉 帥 王 凱 楊金丹
(1. 遼寧工程技術大學電氣與控制工程學院 葫蘆島 125000 2. 國網遼寧省電力有限公司葫蘆島供電公司 葫蘆島 125000)
輸電線路的安全穩定運行是電網可靠供電的重要保障,然而絕緣子、防震錘、均壓環、屏蔽環的損壞[1-5]及附著在高壓線塔上的鳥巢[6]嚴重危及線路安全運行。通過人工檢測電網元件及缺陷的方式存在速度較低、精確度有限的缺點,因此利用計算機視覺中的目標檢測算法實現無人機巡檢圖像的自動檢測成為研究熱點內容[7-8]。
目標檢測算法主要包括單階段目標檢測和兩階段目標檢測[9]。單階段目標檢測只需對圖片處理一次就能獲得目標分類和位置信息[10],檢測速度較快但精度較低,代表算法有SSD(single shot multibox detector)[11]、YOLO(you only look once)[12]等。兩階段又稱基于候選區域的檢測方法,檢測精度較高但速度較慢,代表算法有faster R-CNN(faster Region-based convolutional neutral network)[13]、SPPNet(spatial pyramid pooling networks)[14]、Mask-RCNN[15]等。
單階段目標檢測算法由于具有檢測速度快的優勢,在電力巡檢中被廣泛應用,文獻[16-18]均利用Yolov3分別對絕緣子、鳥巢、防鳥刺等進行目標檢測,其中文獻[17-18]為了進行相應的缺陷定位,分別將直線段檢測算法(Line Segment Detector, LSD)、二分類網絡與YOLOv3(YOLO version 3)結合使用,模型較為復雜且無法做到實時缺陷定位。文獻[19]利用雙目攝像頭和綠幕對絕緣子數據進行采集生成后,訓練EfficientDet檢測絕緣子破損等缺陷。文獻[20]利用SSD目標檢測網絡對鳥巢進行識別后通過顏色空間(Hue Saturation Value, HSV)對子圖像進行過濾,該方法用傳統圖像處理算法彌補SSD精度不足的問題,模型復雜。兩階段目標檢測算法和傳統圖像處理方式也在電力巡檢中有所應用,文獻[21-22]均利用Faster-RCNN分別對均壓環、絕緣子進行識別定位取得了較好的效果,但無法做到實時檢測。文獻[23]利用閾值分割和形態學處理對防震錘區域進行提取后對銹蝕區域進行識別,采取的傳統圖像處理方式精度較差,并會出現漏檢情況。
總結以上方法,大都對單一元件及缺陷進行檢測分析,在電力系統多元件應用環境下普適性較差;這些方法為了提高電力系統小目標檢測精度或進一步進行缺陷定位,大都采用先進目標檢測算法與傳統算法或二分類算法相結合使用,模型較為復雜,難以同時滿足速度和精度。在此研究背景下,亟需提出一種先進的元件識別及缺陷定位方法解決上述問題。
本文對EfficientDet目標檢測算法進行改進,提高小目標的檢測精度,利用不同的網絡代數達到可伸縮的目標檢測效果,在元件檢測時降低代數以加速檢測,在缺陷定位時增加代數以提高精度。此方法解決了現有的電力巡檢模型中小目標識別精度低,檢測的元件及缺陷類型較為單一,速度和精度無法同時滿足的問題。
本文的原始數據集共1 468張,來源于國網某檢修公司無人機巡檢作業時拍攝的標準化照片。由于機器學習的訓練中,數據集的質量對訓練效果和檢測效率有較大的影響,現有的原始數據集數量有限,直接用于訓練得出的結果難以滿足電力巡檢的精度要求,所以本文利用Imgaug數據增強庫[24]進行數據擴充,模擬實際巡檢時拍攝模糊、噪聲、天氣惡劣等情況,提升訓練模型抗干擾的魯棒性。
在實際無人機巡線中,許多復雜的環境因素會引起各種圖像破壞和干擾[25-26],本文總結出在電力巡檢過程中可能出現的11種腐敗類型,其中包括椒鹽噪聲、泊松噪聲和高斯噪聲三種噪聲干擾;彩色加強、過度曝光、灰度拉伸和運動抖動四種拍攝干擾;以及雨、雪、霧和夜間四種天氣干擾。由于原始數據不含以上11種腐敗類型,為了提高模型抗干擾的魯棒性,本文利用Imgaug數據增強庫內的各類變換函數組合調用來實現11種腐敗類型的模擬。
本文抽取一張無人機電力巡檢航拍圖片,變換得到11種腐敗示例如圖1所示。由圖1可以看出,每種變換后的圖像均能模擬出實際巡檢時可能出現的特殊情況。

圖1 數據腐敗變換示例 Fig.1 Data corruption transformation example
本文對原始集進行數據增強后,篩選并刪除不能用于訓練的圖像,共得到4 867張后原始+增強數據集,將圖片按3:7的比例分為測試集和訓練集,圖片數量分別為1 460張和3 407張。此時,利用LabelImg進行數據分類標注:元件檢測主要包括絕緣子(Insulator)、防震錘(Damper)、均壓環(Grading_ring)、屏蔽環(Shielding_ring)和鳥巢(Bird_house)(鳥巢不依附于任何元件)。缺陷定位包括絕緣子缺陷(Insulator_defect)、防震錘缺陷(Damper_defect)、均壓環缺陷(Grading_ring_defect)和屏蔽環缺陷(Shielding_ring_defect),得到標注框9 817個。為了盡可能地模擬真實的情況,驗證模型訓練的泛化能力,重新向某電網公司收集了378張元件及其缺陷的數據集作為真實集并進行標注,具體樣本數量見表1。
為了驗證該數據增強方法的效果,本文設計了對比實驗:采用Faster-RCNN的不同主干網絡(VGG16、ResNet101)對原始集1 468張、增強集3 399張、訓練集3 407張分別進行訓練并用測試集進行驗證,得出各目標平均精度(Average Precision, AP)結果見表2,相比于原始集,增強集的各目標AP有所提升,證明了本文方法獲取的增強數據的可用性;訓練集的AP較原始集有顯著提升,證明了該增強方法可優化深度學習訓練。

表1 樣本數量表 Tab.1 Sample size table

表2 不同數據集訓練結果對比表 Tab.2 Comparison of training results of different data sets
針對現有的元件檢測及缺陷定位模型較為復雜的問題,本文選用具有可伸縮性的EfficientDet,并對其加以改進,建立一種只用單一算法就能使精度與速度同時得以優化的電力巡檢模型,解決了模型復雜問題,提高了檢測效率。
Tan Mingxing等[27]此前提出了EfficientDet: Scalable and Efficient。該算法為EfficientNet[28]的擴展,從分類任務擴展到目標檢測任務。可伸縮性表現在其設置了EfficientDet D0~D7八個不同的網絡代數,隨著代數增加,精度提高但速度降低。
EfficientDet目標檢測算法由EfficientNet主干特征提取網絡、不同層數的雙向特征金字塔網絡(Bidirectional Feature Pyramid Networks, BiFPN)加強特征提取網絡和先驗框分類與調整網絡三部分組成。總體結構如圖2所示。

圖2 EfficientDet算法結構 Fig.2 EfficientDet algorithm structure diagram
為了驗證無人機巡檢中小目標檢測任務較多,本文設置了如下計算:定義Wimg為原圖寬度,Himg為原圖高度;wele為標注的元件寬度,hele為標注的元件高度;wdef為標注的缺陷寬度,hdef為標注的缺陷高度。從而可列出相對尺寸占比公式為


式中,x為元件相對于整張圖片的對比大小;y中的def單獨指代鳥巢缺陷,故y為鳥巢缺陷相對于整張圖片的對比大小;z中def單獨指代元件缺陷,故z為缺陷相對于該元件的對比大小。在數據集中隨機抽取500張圖片,計算xavg、yavg、zavg(對比大小平均值)分別為0.292、0.043、0.141。
綜上所述,元件檢測及缺陷定位中小目標檢測任務較多,再加之無人機航拍圖像像素過大導致算力需求過高,如何改進網絡以構建更適用于無人機巡檢的EfficientDet成為本文研究的重點。
2.2.1 改進加強特征提取網絡BiFPN
EfficientDet加強特征提取網絡中的BiFPN結構主要用于充分融合不同分辨率的特征圖,對比普通目標檢測算法(Feature Pyramid Networks, FPN),BiFPN在以下方面提升了特征融合性能:使用跳躍連接以輕量化網絡;添加注意力機制加權學習更關鍵的特征信息;設置上采樣和下采樣兩條路徑進行更充分的特征融合。
為了提高BiFPN的小目標檢測能力,本文提出改進的BiFPN,與FPN、BiFPN結構對比如圖3所示。改進BiFPN結構(圖3c)的具體融合路徑為:上采樣時獲得中間信息,以中間點P5-td為例:其加入的注意力機制融合了P6-td的上采樣信息和P5本身的輸入信息;下采樣時獲得輸出信息,以輸出點P4-out為例:其加入注意力機制地融合了P3-out的下采樣信息、P4-td的中間信息、P5-td的小尺度信息和P4本身的輸入信息;最后以此類推獲取P3-out、P4-out、P5-out、P6-out、P7-out傳入下一層改進BiFPN特征提取結構作為輸入信息。

圖3 三種特征提取結構對比 Fig.3 Comparison of three feature extraction structures
本文提出的改進BiFPN結構(圖3c)在下采樣特征融合時,融合上采樣時小尺度一級的中間信 息,如圖中虛線箭頭所示。這種改進可以使網絡更充分地學習小尺度信息,從而提高小目標檢測的精確度。
2.2.2 改進主干特征提取網絡EfficientNet
主干特征提取網絡EfficientNet中的倒殘差模塊可以有效地復用數據流中的數據特征。Zhou Daquan等[29]提出MobileNeXt,其中的改進倒殘差模塊相比于EfficientNet的倒殘差模塊將高維度特征進行殘差短連接,更能提高模型特征提取的精確度。
合理地利用注意力機制可以在訓練中更高效地捕獲關鍵信息。Hou Qibin等[30]提出一種坐標注意力機制(Coordinate Attention, CA),該機制在水平X方向和垂直Y方向上進行平均池化,對transform進行空間信息編碼,把空間信息在通道上加權融合,結構如圖4所示。相比于EfficientNet使用的擠壓-激勵(Squeeze and Excitation, SE)注意力機制,CA注意力機制不僅考慮到通道間的關系,而且考慮到X、Y兩個維度的空間特征信息,優化模型訓練,從而提高檢測精度。

圖4 CA注意力模塊 Fig.4 CA attention module
本文利用一種施加CA注意力機制的改進倒殘差模塊提高主干特征提取網絡的效率。圖5為本文所用模塊與傳統殘差模塊、EfficientNet中的倒殘差模塊的結構對比圖,箭頭寬度表示通道的相對數量。

圖5 三種殘差模塊對比 Fig.5 Comparison of three residual modules
圖5a為傳統殘差模塊,其經過1×1點卷積壓縮通道后進行3×3普通卷積提取特征,最后通過1×1點卷積擴張通道,同時輸入輸出相加,形成“壓縮—卷積—擴張”的數據流向,無注意力機制。圖5b為EfficientNet中的倒殘差模塊,其先經過1×1點卷積通道擴張后進行3×3或5×5深度卷積提取特征,添加SE注意力機制,最后通過1×1點卷積壓縮通道,同時輸入輸出相加,形成“擴張—卷積—壓縮”的數據流向。
圖5b所示的原網絡倒殘差模塊中,殘差連接的是點卷積壓縮通道后的低維度特征,在此過程中可能會丟失一定的有用信息,導致結果不佳。為解決上述問題,本文利用一種施加CA注意力機制的改進倒殘差模塊如圖5c所示,通過翻轉倒殘差的思想解決了上述問題。圖5c相比于圖5b,執行兩次輕量化的深度卷積以編碼更多空間信息如(紅色)虛線箭頭所示。圖5c首先將高維度層進行3×3或5×5深度卷積提取特征,其次添加CA注意力機制,接著進行1×1通道壓縮再進行1×1通道擴張,最后再進行一次3×3或5×5深度卷積,同時輸入輸出相加,形成“卷積—壓縮—擴張—卷積”的數據流向。
式(4)、式(5)說明了改進倒殘差模塊可以在輸出不變的情況下編碼更多空間信息:設F∈RH×W×M為輸入張量,G∈RH×W×M為輸出張量,為了分析簡單,這里假設輸入、輸出具有相同的通道數M和分辨率H×W,改進的倒殘差模塊輸出為

原始EfficientNet倒殘差模塊輸出為

式中,Φe與Φr分別表示通道擴張和壓縮的逐點卷積。本文在Blockcore處提取的是調整大小和通道數后的 EfficientNet降維主干特征層,其與原始EfficientNet相比,特征層大小和通道數不變,但殘差邊短接的是高維通道的輸入和輸出,從而傳遞了更多F到G的信息。
在元件檢測任務中,數據集中圖像分辨率較高,所以本文在元件檢測任務中卷積核大小(Kernel Size, KS)不變,加大步長,加速數據降維。具體網絡結構參數見表3,其中Stage3/5/7及Stage7再進行兩次下采樣的特征層作為加強特征提取網絡的輸入。

表3 改進EfficientNet網絡參數 Tab.3 Improving EfficientNet network parameters
2.2.3 改進EfficientDet在無人機巡檢中的應用
將2.2.1和2.2.2小節改進部分與先驗框分類調整網絡結合在一起,組成更適用于無人機巡檢的改進EfficientDet目標檢測算法,將其應用于電網元件檢測及缺陷定位的原理如圖6所示。

圖6 改進EfficientDet應用于電力巡檢原理 Fig.6 Improved EfficientDet applied to power inspection principle diagram
為了使改進EfficientDet在元件檢測及缺陷定位時實現速度和精度的同時優化與平衡,本文設計了如圖7和圖8所示的訓練及預測流程,根據訓練效果選擇適用于元件檢測及缺陷定位的網絡代數。

圖7 基于改進EfficientDet電力巡檢訓練流程 Fig.7 Flow chart of power patrol training based on improved EfficientDet

圖8 基于改進EfficientDet電力巡檢預測流程 Fig.8 Flow chart of power patrol prediction based on improved EfficientDet
本次實驗采用PyTorch1.6.0作為深度學習框架,Ubuntu18.04系統、Python3.6、CUDA10.0、torchvision0.7.0、numpy1.16.4、OpenCV4.4.0,mmdetection工具箱。由于本次實驗的算力需求急劇增加,故采用PyTorch實現四路GPU分布式訓練。硬件配置見表4。

表4 硬件配置 Tab.4 Hardware configuration
第2節中設置了改進EfficientDet的訓練流程(見圖7),在訓練中選定本文適用的網絡代數,根據流程進行實驗,元件檢測要求精度設為0.85,缺陷定位要求精度設為0.87,起始訓練的是改進的EfficientDet-D0網絡,最終達到元件檢測精度要求的網絡代數為改進的EfficientDet-D3網絡,達到缺陷定位精度要求的網絡代數為改進的EfficientDet-D5網絡,訓練參數設置見表5。

表5 訓練參數設置 Tab.5 Training parameter setting
在目標檢測領域中,通常采用平均均值精度(mean Average Precision, mAP)和每秒幀率(Frames Per Second, FPS)來評價模型的準確率和檢測速度。此外,本文引入模型大小和訓練時間來更全面地對比各類模型的訓練效果。
平均均值精度是所有類別檢測結果的平均精度(AP)的均值,AP是查準率(Precision)和召回率(Recall)曲線下的面積,計算公式為

式中,TP(true positive)為正確判斷目標類別的樣本數量;FP(false positive)為將錯誤目標誤判為正確目標的樣本數量;FN(false negative)為將正確目標誤判為錯誤目標的樣本數量;TP+FP為模型檢測的總目標數;TP+FN為真實目標的總數。以召回率為橫坐標,每個召回率對應的查準率最大值為縱坐標,繪出Precision-Recall曲線,對曲線取積分求曲線下面積即為AP值。設類別數為C,i∈[1,C],平均均值精度mAP計算公式為

每秒幀率為1s內檢測圖片的幀數,用以反映模型的檢測速度。模型的每秒幀率越高,越能滿足工程應用中實時檢測要求。
模型訓練損失值與交并比(Intersection over Union,IoU)為0.5時mAP隨訓練輪次的變化曲線如圖9所示。由圖9可得,無論是用于元件檢測的改進EfficientDet-D3網絡還是用于缺陷定位的改進EfficientDet-D5網絡,隨著訓練輪次的增加,模型的損失值不斷減小,mAP不斷提升,整個網絡趨于收斂。此時,選定mAP最高時的訓練權重作為最終的目標檢測模型。

圖9 損失值與mAP隨訓練輪次變化曲線 Fig.9 Curves of loss value and mAP with training epoch
為了更好地驗證本文算法的泛化能力和真實實用性,利用上述權重進行真實集的元件檢測和缺陷定位,部分檢測結果如圖10與圖11所示。由圖可見,本文提出的改進EfficientDet算法訓練后不僅可以在背景簡單和目標較大的情況下有效進行元件檢測及缺陷定位,而且可以克服背景復雜、目標重疊、目標較小等問題,準確檢測元件和定位缺陷。

圖10 真實集部分元件檢測測試結果 Fig.10 Test results of some components in real dataset

圖11 真實集部分缺陷定位測試結果 Fig.11 Test results of some defect location in real dataset
元件檢測后,讀取檢測結果中每個元件預測框的頂點坐標,根據不同像素點具體坐標切割出若干只包括單個元件的圖片,再對這些圖片進行缺陷定位。極大地減少了輸入至缺陷定位模型的數據量,有效地提高了缺陷定位速度和精確度。測試結果如圖12所示。

圖12 切割后缺陷定位測試結果 Fig.12 Results of defect location after cutting
九種目標在不同檢測閾值(IoU=0.5和IoU=0.75)下的精度測試結果見表6。在單類別方面進行分析,屏蔽環元件及絕緣子缺陷召回率及精度較高,由于訓練目標較少,鳥巢及均壓環缺陷的召回率及精度遠小于其他目標;在平均均值精度方面進行分析,IoU=0.5時,mAP高達90.2%,有效證明本文提出方法可以精確地完成無人機電力巡檢中元件檢測和缺陷定位任務。

表6 九種目標測試精度結果 Tab.6 Results of five types of data validation
為了驗證本文提出方法的優越性與普適性,更全面地評估此模型的性能,設計了算法對比實驗。本實驗使用了以下五種目標檢測算法進行對比,分別為原始EfficientDet、faster R-CNN、YOLOv3、YOLOv4、SSD。為了保證對比公平性,均在同一搭建好的實驗平臺進行訓練,并采用相同的訓練集和測試集,為了進一步驗證本文方法的泛化能力,除了在測試集上求mAP之外,另求出真實集上的mAP也作為對比指標。除了本文改進的EfficientDet算法之外,其他算法均有預訓練模型,并在預訓練模型基礎上進行遷移學習訓練。各模型在模型大小、訓練時間、每秒幀率(FPS)、mAP(IoU=0.5)四項指標上的結果對比見表7。

表7 六種網絡模型訓練結果對比 Tab.7 Comparison of training results of six network models
由表7可得,本文所用的改進EfficientDet算法在總mAP上優越于其他目標檢測網絡,達到90.2%,可以滿足電網中元件檢測及缺陷定位的精度要求,證明了本文方法的適用性。相比于原始EfficientDet算法,總mAP提升了8.6%,驗證了本文對算法改進的必要性。另外,在額外真實集上本文方法mAP可以達到88.4%,證明本文方法的泛化性和實用性。模型大小方面,無論是元件檢測還是缺陷定位任務,均僅次于SSD目標檢測網絡,輕量化的網絡更容易搭載至無人機嵌入式系統。在檢測速度FPS方面,本文所用方法在元件檢測中FPS可達到23.4f/s,缺陷定位中FPS可達到17.2f/s,雖然低于與之對比的YOLO系列算法及SSD算法,但是由于無人機巡檢時飛行速度不高,本文方法也能夠滿足電力巡線中的速度需求。
綜上所述,本文所提出的改進EfficientDet算法在電網元件檢測及缺陷定位任務中的精確率較其他算法有明顯優勢,其余指標均能滿足無人機電力巡檢中的工業需求。
本文提出一種基于改進EfficientDet的電網元件及缺陷識別方法,構建了高壓線路上典型的四種元件及五種缺陷的圖像數據集,改進了EfficientDet中的加強特征提取網絡BiFPN與主干特征提取網絡EfficientNet,將數據集在改進網絡中進行訓練驗證并與其他先進目標檢測網絡進行對比,可得出以下結論:
1)本文利用Imgaug數據增強方法構建的電網元件及缺陷多目標數據集可以優化深度學習訓練。
2)本文的改進方法具有優越性,在元件檢測及缺陷定位中改進網絡mAP較原始網絡mAP均有所提升,總mAP提升了8.6%。
3)改進EfficientDet在測試集上mAP達到90.2%,優于其他目標檢測模型,同時元件檢測及缺陷定位速度也能滿足需求,證明了本文方法可以對元件進行有效檢測,對缺陷進行定位,為未來電網建設中的巡檢智能化帶來一定的參考價值。