?

融合多尺度特征的輕量級YOLOv7絕緣子缺陷檢測算法

2023-12-29 07:48黨宏社張選德
電瓷避雷器 2023年6期
關鍵詞:絕緣子特征提取尺度

黨宏社,許 勃,張選德

(陜西科技大學電氣與控制工程學院,西安 710021)

0 引言

隨著我國電力行業的發展輸電網絡的規模越來越大,其上分布的絕緣子數量也不斷增加[1-3],而絕緣子長期暴露在自然環境下,容易受到烈日、凍雨以及雷暴等惡劣天氣影響,出現自爆、裂縫等缺陷[4-6],是輸電線路部件中最易損壞的組件之一[7],給電力系統穩定運行帶來了極大的安全隱患[8-10]。因此通過對絕緣子定期巡檢來保護輸電線路安全運行十分重要[11]。傳統的人工巡檢方式,效率低且在山谷、江河等地段難以進行作業。隨著無人機技術發展,使用無人機采集圖像后檢測的巡檢方式降低了作業難度,而且速度更快、效率更高,現已成為輸電線路巡檢的主要手段[12-13]。

絕緣子缺陷檢測方法主要有傳統視覺方法以及深度學習方法[14]。傳統視覺方法通過人工設計提取特征,然后依據這些特征訓練分類器,但這種方法計算量大檢測速度慢,且提取到的特征容易受到背景環境影響,魯棒性較差[15]。深度學習的方法有效彌補了傳統視覺方法的不足[16],同時深度學習方法中的各種目標檢測算法速度和精度都更具優勢[17-19]?;谏疃葘W習的方法中張青華等[20]通過在SSD算法中引入FPN結構,對網絡提取到的特征進行增強,提升了算法的檢測精度,但FPN結構的引入使網絡結構更加冗余,增加了參數量,導致檢測速度降低。張欣[21]等針對小目標絕緣子缺陷提出一種改進的Cascade R-CNN算法,通過引入RoI Align方法以及將損失函數替換為Focal LOSS,提升了對小目標絕緣子缺陷的檢測性,但該算法檢測過程需要先生成候選區域,再對候選區域卷積檢測絕緣子缺陷,檢測速度較慢。宋智偉[22]等提出一種改進的YOLOv7檢測算法,通過在主干網絡引入GAM注意力機制以及在損失函數中引入Efficient IOU LOSS,提升了遮擋情況下的缺陷檢測精度。李發光[23]等在CenterNet算法中引入注意力機制以及特征加強模塊,使算法更多關注缺陷位置的特征信息,避免了背景環境的干擾,但特征增強模塊以及注意力機制的引入增加了網絡深度,導致小目標絕緣子缺陷的特征信息在卷積的過程中丟失,出現漏檢的情況。王紅君[24]等在YOLOv5s的基礎上設計了GhostC3以及Ghost Conv,使用更加輕量的卷積方式提取特征,使得網絡的檢測速度更快,但該算法的檢測精度有所下降。在電力設備的巡檢過程中,準確、快速的檢測是實現狀態判定的前提和關鍵,僅提升檢測的速度或精度不能滿足實際應用的需要。因此現階段絕緣子缺陷檢測依然存在以下問題。1)現有的算法僅考慮檢測精度或速度的提升,難以滿足實際巡檢的要求,因此需要對兩者進行平衡以兼顧檢測精度與速度。2)巡檢過程中為了保證輸電線路的安全,無人機需要在安全范圍內對絕緣子拍攝,因此絕緣子缺陷屬于小目標,而現有算法的網絡層數過深,在卷積過程中會丟失缺陷的特征信息,導致出現漏檢的情況。

為解決上述問題,本研究提出一種融合多尺度特征的輕量級YOLOv7絕緣子缺陷檢測算法,通過將引入注意力機制的GhostNet作為主干網絡以及將深度可分離卷積(Depthwise Convolution,DW)[25]引入頭部網絡對網絡輕量化,提升檢測速度,在頸部網絡設計更加高效的Light-SPPCSPC提取絕緣子及缺陷的全局與局部特征,在特征金字塔部分將不同尺度的特征圖融合,充分利用絕緣子缺陷的高、低層語義信息,解決網絡多次卷積丟失特征信息的問題。

1 融合多尺度特征的輕量級YOLOv7絕緣子缺陷檢測算法

1.1 算法總體流程

針對絕緣子缺陷部分面積較小、背景環境復雜等特點設計了融合多尺度特征的輕量級YOLOv7絕緣子缺陷檢測算法,算法檢測整體流程見圖1。首先對輸入圖像進行預處理,通過Resize將輸入圖像固定為640×640的統一尺寸,之后圖像進入圖2所示的算法網絡中輸出20×20,40×40,80×80的3個特征張量對先驗框進行調整,因調整后的絕緣子及缺陷會有較多重復的預測框,因此需要非極大值抑制選出置信度水平最高的預測框保留。原始YOLOv7算法網絡的主干網絡使用了大量的普通卷積,導致網絡參數量龐大,且檢測速度較低,影響檢測效率,因此本研究使用引入CA[26]注意力機制的GhostNet作為主干網絡,減少特征提取的時間。在頸部網絡中所提算法繼承了原始YOLOv7的ELAN-H、MP2模塊,ELAN-H模塊通過控制最短和最長的梯度路徑,對輸入圖像不斷地進行特征提取和融合,使網絡能學習到更多的特征,增強了魯棒性。原始YOLOv7中使用創新性的MP2模塊對特征圖進行下采樣,MP2過渡模塊結合了兩種常見過渡模塊的優點,減少了計算量,降低了后續的檢測成本,因此保留了MP2以及ELAN-H模塊。受SPPF的啟發在頸部網絡設計了高效的Light-SPPCSPC結構,使用串行方式提取特征,并在特征提取過程中進行特征融合,保證了感受野的大小,提升了檢測速度。針對現有算法網絡層數過深導致特征信息丟失的問題,在頸部網絡的特征金字塔部分將低層的細節特征引入高層特征中融合,避免了小目標缺陷特征信息丟失的問題,并使網絡學習到的特征更加豐富,最后原始YOLOv7的頭部網絡使用參數量較多的RepConv獲得預測結果,不利于缺陷的快速定位,因此引入深度可分離卷積將其代替,提升檢測效率。算法的主干網絡、頸部網絡(Light-SPPCSPC+多尺度特征融合)以及頭部網絡的具體結構及原理在1.2、1.3、1.4節中依次介紹。

圖1 絕緣子缺陷檢測算法總體流程

圖2 絕緣子缺陷檢測算法網絡結構

1.2 CA-GhostNet主干網絡

為了提升網絡的檢測速度,使用輕量型的GhostNet替換YOLOv7的主干網絡,同時為了在特征提取的過程中,能夠更好地關注絕緣子缺陷部分的特征信息,避免復雜背景環境的干擾,引入CA注意力機制[26],給缺陷部分的特征信息更高的權重,增強缺陷位置的特征表達。CA注意力機制在主干網絡中的位置如表1中所示。GhostNet最大的特點就是使用計算量更低的Ghost Module卷積構成GhostNet Bottlenecks結構來提取特征,GhostNet Bottlenecks結構如圖3所示。

表1 CA-GhostNet整體網絡結構

圖3 GhostNet Bottlenecks結構

1.3 Light-SPPCSPC特征提取模塊

航拍得到的絕緣子圖像中,絕緣子與缺陷部分尺寸差距較大,網絡難以充分提取兩者的位置以及細節信息,且YOLOv7中的特征提取模塊SPPCSPC使用并行的方式提取特征,增加了計算開銷,不利于特征的快速提取。因此設計了一種新的特征提取模塊Light-SPPCSPC替代原本的SPPCSPC。圖4為Light-SPPCSPC結構。

圖4 Light-SPPCSPC結構

該模塊的特征挖掘過程如下:

1)對主干網絡輸入的特征圖采用兩個1×1卷積以及一個深度可分離卷積進行特征提取得到特征圖,并將特征圖送入串聯的池化操作部分。

2)串聯的池化部分中第一部分是3個串聯的池化層(Maxpooling,MP)[27],依次對輸入特征圖進行特征提取,第二部分為一個殘差邊,將第1)步所得的特征圖與第二次池化后的特征圖進行特征融合然后送入第3個池化層中進行特征提取,最后將3個池化層的輸出與1)的特征圖融合。

3)將2)得到的特征圖經過一個1×1卷積和深度可分離卷積提取特征之后與大殘差邊經過1×1卷積之后的特征圖進行融合,并再經過一次1×1卷積之后得到最后的輸出。

Light-SPPCSPC中使用串行方式提取特征與SPPCSPC并行提取特征的方式感受野完全相同,而串行方式檢測速度更快、計算開銷更小。串聯池化部分的特征融合,保證了在絕緣子和缺陷尺寸差距較大時,能充分地對兩者的特征進行表達,增強絕緣子串以及絕緣子缺陷位置特征的表達能力。最后深度可分離卷積的引入減少了參數量。

教材是教學的載體,是學生獲得知識的重要來源.長期以來,多數中小學數學教師尤其是農村數學教師在使用教材時照本宣科,認為只要將書本上的知識教給學生就足夠了,并沒有根據學情的實際及教學條件的變化而靈活變通.本文所討論的“制作一個盡可能大的無蓋長方體形盒子”課題學習問題的三種解法中,近似逼近法是現行初中多版教材解決該問題的方法,而不等式法和極值法分別是高中數學和高等數學教材中涉及到的解法,國培研討過程中發現的問題說明了農村初中數學教師太拘泥于教材中的知識,忽視了不同學段之間數學教材中知識內部的聯系,這在很大程度上降低了教師使用數學教材的成效.

1.4 多尺度特征融合及頭部網絡輕量化

在頸部網絡特征提取時,需要對輸入的特征圖進行大量的卷積,而絕緣子缺陷位置在圖像中一般比較小,多次卷積之后容易丟失缺陷位置的細節信息,導致漏檢、定位不準確的情況。因此本研究提出一種多尺度特征融合的特征金字塔網絡結構,加強缺陷位置的特征表達。多尺度特征融合網絡結構如圖5所示。

圖5 多尺度特征融合結構

該結構的特征挖掘過程如下:

1)主干網絡輸出的3個特征圖作為特征金字塔的輸入,輸入的特征圖在特征金字塔的上采樣部分經過反復的卷積與融合。

2)在特征金字塔的下采樣部分進行多尺度特征融合,將Feature map1(F map1)和上采樣部分輸入第一個ELAN-H的特征圖以及原本的輸出P3進行融合,將融合之后的特征圖送入1×1卷積中得到最后的輸出P3。

3)將Feature map2(F map2)與第一個ELAN-H的輸出以及原本的輸出P4進行特征融合送入1×1卷積中得到最后的輸出P4。

4)將經過Light-SPPCSPC的特征圖與原本的輸出P5進行特征融合送入1×1卷積中得到最后的輸出P5。

在特征金字塔中,低尺度的特征圖分辨率較高,細節信息較多。而隨著網絡上升高尺度特征圖的分辨率不斷降低,其中包含的高級語義信息越來越多,細節信息越來越少[28],缺陷部分的細節信息發生了不可逆的丟失。因此本研究在特征金字塔部分將低尺度高分辨率的特征圖與高尺度低分辨率的特征圖進行融合,增強絕緣子缺陷部分的細節特征表達,避免因多次卷積,丟失特征信息而出現漏檢的情況。同時在每次多尺度特征融合后添加了一個1×1的卷積層來減少網絡的參數,1×1卷積的使用有效降低了網絡的參數[29],避免了網絡的冗余。

YOLOv7的頭部預測網絡使用RepConv結構[30]進行預測,但該結構較為復雜,為了使網絡能夠進一步的輕量化,使用參數量更少、結構更加簡單的深度可分離卷積代替RepConv結構,對輸出的特征圖進行預測。

2 實驗結果與分析

2.1 實驗配置與評價指標

實驗所用主機軟硬件環境如表2所示:

表2 主機軟硬件環境

為了全面客觀評價算法性能,選取平均精度均值mAP(Mean Average Precision)、檢測速度FPS(Frame Per Second,幀·秒-1)、參數量以及FLOPs(衡量算法/模型的復雜度)4種指標衡量模型的檢測性能,計算公式如下所示。

(1)

(2)

(3)

(4)

(5)

Confidence=Pr(object)*class_probability

(6)

式(1)和式(2)中的TP為正樣本被正確認識的數量,FP為負樣本被誤識別為正樣本的數量,FN為漏報的正樣本的數量,式(3)中AP為Precision-Recall曲線圍成圖形的面積,式(4)中c(classes)為總的種類數量,即絕緣子和缺陷兩類,mAP為絕緣子和缺陷兩者的平均AP值,mAP越高,則模型的性能越好。式(5)中frameNum為處理的總幀數,elapsedTime為所用時間。式(6)中Pr(object)表示邊界框中是否存在一個物體的概率,class_probability表示該物體實例屬于某個特定類別的概率,置信度越高則說明模型對該類物體的檢測越準確,漏檢的可能性越低。

2.2 數據集構建

本研究數據集來源于兩部分,第一部分是GitHub上開源的CPLID數據集共848張其中缺陷絕緣子248張,第二部分是百度飛槳包含600張缺陷絕緣子。為了增強模型的泛化能力,防止過擬合情況出現,通過加入噪聲、旋轉、以及鏡像等方法對數據集進行了擴充最終得到4 733張圖片,其中缺陷絕緣子數量為2 233張。并以8∶1∶1將數據集分為訓練集、驗證集和測試集。本研究絕緣子數據集部分圖片見圖6,其中包含瓷質絕緣子、玻璃絕緣子兩種,同時包含田野、湖泊、森林等多種復雜背景環境。

圖6 絕緣子數據集部分圖像

2.3 網絡訓練

網絡訓練分為兩個階段,第一階段采用遷移學習的方式[31]進行訓練,即使用在通用數據集上得到的預訓練權重,初始化網絡參數。第二階段在本研究自建的絕緣子數據集上繼續訓練,對網絡參數進行微調。實驗過程中的參數設置如下:總的訓練epoch為100,其中Freeze_Epoch為50,batch_size設置為2,初始學習率為0.001,衰減系數為0.000 5,訓練過程中使用sgd對學習率進行優化。網絡訓練過程中的損失以及mAP值見圖7、8,網絡經過不斷的迭代最終損失趨于穩定,mAP也逐漸穩定,模型達到收斂。

圖7 損失值變化曲線

圖8 mAP變化曲線

2.4 結果與分析

2.4.1 消融實驗

由表3消融實驗結果可知,將YOLOv7的主干網絡替換為CA-GhostNet后FPS提升了18.58%,參數量下降24.3%,FLOPs下降56.1%。因為相比于YOLOv7的主干網絡,CA-GhostNet網絡結構更加輕量,參數量更少,在mAP下降1.89%的情況下,網絡的速度、參數以及FLOPs都在性能上有了提升。

表3 消融實驗結果

使用Light-SPPCSPC特征提取模塊后,FPS提升6.5%,參數量下降13%,FLOPs下降6.3%,mAP上升0.08%。該效果源于Light-SPPCSPC增強了特征的表達能力,加快了檢測的速度。

將頭部預測網絡中的殘差結構替換為深度可分離卷積后,參數量下降25%,FLOPs下降25.8%,FPS提升3.5%。相比于殘差結構,深度可分離卷積的結構更加簡單,參數量也更少,在網絡推理的過程中可以減少計算開銷。

在特征金字塔部分進行多尺度特征融合后,mAP提升1.14%,因為多尺度特征融合對絕緣子缺陷部分特征進行了增強,避免了特征信息的丟失,所以mAP有所提升。

相比與YOLOv7使用4種改進策略后,網絡FPS提升26%,參數量下降47.4%,FLOPs下降66.9%,在精度略微下降的基礎上提升了網絡的檢測速度,實現了檢測速度與檢測精度的平衡,同時減少了漏檢情況出現,表明本研究提出的4種改進策略合理。

2.4.2 不同檢測網絡性能對比實驗

表4為文中算法與目前主流算法的對比實驗,相比于單階段中基于Anchor-free的FCOS,文中算法參數量減少38.5%,FPS提升32.9%,FLOPs降低78.3%。與YOLO系列的YOLOv5以及YOLOvX相比文中算法在參數量方面分別下降57.9%、63.5%,FPS分別提升26%、29.42%,FLOPs下降分別69.9%、77.4%。相比于單階段的經典算法SSD本研究算法參數量減少24.8%,FPS降低19.07%,FLOPs降低43.9%。相比于Resnet-FasterRcnn本算法參數量減少85.6%,在主機的檢測速度提升3倍左右,mAP提升12%,FLOPs減少90.49%。

表4 不同目標檢測網絡對比實驗

綜上所述,SSD算法檢測速度最快,但其檢測精度相對較低。在檢測精度方面本研究算法與FCOS、YOLOv5、YOLOvX檢測精度基本相近,但檢測速度具有一定優勢。網絡的參數量以及FLOPs本研究算法均為最優。因此綜合來看本研究算法實現了檢測速度和精度的平衡,優于目前主流算法,在保證絕緣子缺陷檢測低漏檢率的同時提高了檢測速度。

各算法檢測的直觀效果展示如圖9所示,檢測框上的數值代表算法檢測的置信度水平,圖9(a)中FCOS檢測算法的3張直觀效果圖檢測得到的置信度平均值為0.84,圖9(b)中SSD算法檢測得到的置信度平均值為0.61,圖9(c)中YOLOv7算法檢測置信度平均值為0.81,文中算法的檢測置信度平均值為0.88,相比于目前主流算法檢測置信度更高,表明本研究對絕緣子缺陷的檢測性能更好,泛化能力更強,降低了絕緣子缺陷漏檢的可能。

圖9 不同算法檢測效果

3 結語

本研究提出一種融合多尺度特征的輕量級YOLOv7絕緣子缺陷檢測算法。實驗結果表明,所提算法檢測速度達到34.27幀·秒-1,檢測精度達到97.06%,網絡參數量為19.77 M,FLOPs為35.20 G。與SSD、YOLOv7、FCOS、FasterRcnn等算法相比,實現了檢測精度與速度的平衡。在算法直觀檢測效果圖中,所提算法能夠準確檢測出絕緣子缺陷且檢測置信度較高,增強了泛化能力,降低了絕緣子缺陷漏檢的可能。

猜你喜歡
絕緣子特征提取尺度
財產的五大尺度和五重應對
基于Daubechies(dbN)的飛行器音頻特征提取
Bagging RCSP腦電特征提取算法
宇宙的尺度
1000kV耐張絕緣子串單片絕緣子的帶電更換技術
基于MED和循環域解調的多故障特征提取
9
500kV絕緣子串含零值絕緣子時的電暈放電分析
絕緣子的常見故障及排除方法
輸電線路污閃及絕緣子選用探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合