曾業(yè)戰(zhàn),段志超,郭彥東,鐘春良
(湖南工業(yè)大學電氣與信息工程學院,湖南 株洲 412007)
絕緣子長期暴露在戶外,且工作環(huán)境惡劣,易導致絕緣性能下降和安全事故。為保證電網(wǎng)的安全運行,需定期對絕緣子進行檢測與維護。然而,由于輸電線路途經(jīng)地形復雜,早期的人工線路巡檢難度大、成本高,人工攀爬巡檢已不適用于輸電線路的運行維護。近年來,隨著無人機技術(shù)的快速發(fā)展,利用無人機對輸電線路絕緣子進行航拍,繼而采用人工智能技術(shù)對航拍所獲圖像進行目標檢測的方法已逐漸成為主流[1],效率可達人工巡檢的40倍,且安全可靠,滿足電力系統(tǒng)“智能化”需求[2]。目前,航拍絕緣子目標檢測方法主要分為圖像處理、機器學習[5]、和深度學習等。與前兩種方法相比,基于深度學習的輸電線路航拍絕緣子目標檢測方法具有精度高、速度快的優(yōu)勢[6]。
基于深度學習的輸電線路航拍絕緣子目標檢測可分為單階段與雙階段檢測算法。單階段檢測算法目前包括SSD、YOLO系列等,由于此類方法采用端到端的思想來預測所有類別信息的置信度,因此在檢測速度上具有一定的優(yōu)勢,但是單階段檢測算法模型主干網(wǎng)絡(luò)復雜度低,對于復雜的野外環(huán)境而言檢測精度欠佳。雙階段檢測算法主要包括RCNN[13]、Fast-RCNN[14]和Faster-RCNN等方法,相較于單階段檢測算法,此類算法模型參數(shù)量大、復雜度高,具有較高的檢測精度,故而在精度檢測要求高、速度檢測要求低的航拍絕緣子檢測任務(wù)中,雙階段檢測算法比較適用,而在雙階段檢測算法中Faster-RCNN的檢測效果最好。針對進一步提高Faster-RCNN算法在航拍絕緣子目標檢測任務(wù)中的性能,許多專家提出了一系列改進措施。
其中,趙等[18]在Faster-RCNN骨干網(wǎng)絡(luò)中引入基于注意力機制的SENet網(wǎng)絡(luò),并對候選區(qū)域錨點比例和尺度進行調(diào)整,通過更新目標建議框的特征向量實現(xiàn)航拍絕緣子識別,但SENet并不能擴大卷積網(wǎng)絡(luò)的感受野,因此對于絕緣子檢測效果不佳;易等[19]在Faster-RCNN的基礎(chǔ)上引入對手生成策略,根據(jù)航拍絕緣子目標的自身特性調(diào)整滑動窗口產(chǎn)生的候選區(qū)域比例,實現(xiàn)不同尺寸及輸電線路遮擋絕緣子的檢測,雖然精度有所提升,但是微調(diào)候選區(qū)域并不能有效解決Faster-RCNN收斂速度慢、運行速度低的問題;左等[20]提出了基于跨連接卷積神經(jīng)網(wǎng)絡(luò)的航拍絕緣子檢測方法,該方法首先將ZF網(wǎng)絡(luò)最后三層卷積層分別和全連接層連接,然后將感興趣區(qū)域特征輸入級聯(lián)的Adaboost分類器,實現(xiàn)了對航拍絕緣子目標的檢測,雖然該方法較簡單,但ZF網(wǎng)絡(luò)較目前主流的主干網(wǎng)絡(luò)提取特征的能力差,因此對于精度的提升有限。胡等[21]提出一種改進Faster-RCNN的航拍絕緣子識別與提取方法,雖然通過引入Inceptionv2網(wǎng)絡(luò)提高絕緣子檢測精度,但該方法在卷積網(wǎng)絡(luò)中采用的是BN[22]歸一化函數(shù),在小batch_size時BN穩(wěn)定性差、模型收斂速度慢[23, 24],另外Inceptionv2網(wǎng)絡(luò)增加了多個網(wǎng)絡(luò)分支,使得計算成本大幅增加,降低了算法的運行速度。
針對上述算法存在的檢測精度不夠高,模型收斂慢、運行速度低的問題,本研究提出了一種改進Faster-RCNN網(wǎng)絡(luò)的輸電線路航拍絕緣子目標檢測方法。首先,為增加卷積層感受野和輸出特征的表達能力,設(shè)計了基于自校準模塊[25]和ConvNeXt[26]網(wǎng)絡(luò)的ScConvNeXt網(wǎng)絡(luò)主干。然后,針對算法運行速度慢的問題,通過改進FPN[27]提出一種輕量化的特征金字塔結(jié)構(gòu)SFPN,并融合ScConvNeXt網(wǎng)絡(luò)的多尺度特征,生成更加豐富的特征圖像,提高不同大小絕緣子檢測的魯棒性,同時減小模型計算量,提高算法運行速度。最后,對FRN[24]進行改進,采用GeLU[28]激活函數(shù)強化其非線性表達能力,加速模型收斂,并通過改進IoU[29]提出BIoU,進一步提高算法的精度和模型的收斂速度。綜上,本研究提出的絕緣子檢測算法精度優(yōu)于現(xiàn)有主流的絕緣子檢測算法,模型收斂速度顯著提升,算法運行速度加快,通過采用本研究提出的輸電線路航拍絕緣子目標檢測方法,可更好地輔助檢修人員完成檢測任務(wù),為輸電線路航拍絕緣子目標檢測提供技術(shù)參考。
本研究以Faster-RCNN(如圖1所示)為基本框架,設(shè)計了ScSGB-RCNN(ScConvNeXt+SFPN+ GRN+BIoU+Faster-RCNN)網(wǎng)絡(luò)進行輸電線路航拍絕緣子目標檢測,改進后的檢測流程圖如圖2所示:首先,為提高卷積網(wǎng)絡(luò)的感受野和注意力,采用ScNet和ConvNeXt設(shè)計了ScConvNeXt構(gòu)建絕緣子特征提取網(wǎng)絡(luò),在FPN網(wǎng)絡(luò)的基礎(chǔ)上優(yōu)化冗余結(jié)構(gòu)生成SFPN網(wǎng)絡(luò),基于ScConvNeXt和SFPN網(wǎng)絡(luò),融合多尺度特征信息生成預測特征層;然后,運用RPN網(wǎng)絡(luò)獲取預測特征矩陣,在此基礎(chǔ)上采用RoI pooling和全連接網(wǎng)絡(luò)得到待預測結(jié)果;最后,利用改進后的BIoU參與損失計算,得到最終的輸電路線航拍絕緣子圖片目標檢測結(jié)果。
圖1 Faster-RCNN網(wǎng)絡(luò)的基本框架Fig.1 The basic framework of Faster-RCNN network
圖2 基于ScSGB-RCNN網(wǎng)絡(luò)的絕緣子檢測流程Fig.2 Insulator detection process based on ScSGB-RCNN network
1.1.1 改進ConvNeXt網(wǎng)絡(luò)
針對由于卷積核感受野不夠大導致特征輸出信息不夠豐富的問題,本研究采用自校準卷積模塊和ConvNeXt網(wǎng)絡(luò),設(shè)計了ScConvNeXt主干網(wǎng)絡(luò),如圖3所示,以進一步提高檢測精度。ScConvNeXt網(wǎng)絡(luò)的卷積層ScConv主要分為3步:分解、融合、拼接,其步驟如下:
圖3 ScConv網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 ScConv network structure
1)分解:基于 GRN歸一化(詳見本研究1.1.2小節(jié))和7×7分組卷積對X進行分解,得到X1和X2,并對X2進行GRN歸一化、1×1卷積運算得到得到Y(jié)2。
2)融合:首先,將X1進行GRN歸一化、1×1卷積和全局平均池化運算,輸出Xout1:
(1)
式中,H和W為X1的高和寬,*和F分別為1×1卷積和GRN歸一化運算。然后,為豐富輸出特征和擴大卷積層感受野,將Xout1的GRN歸一化、1×1卷積和上采樣運算結(jié)果,與X1的恒映射結(jié)果進行融合,得到Xout2,如式(2)、(3)所示:
X1=Identity(X1)
(2)
Xout2=Interpolate([F(Xout1)]*,4)+X1
(3)
式中,Identity為恒等映射運算,Interpolate為最鄰近插值運算。
最后,將Xout2的Sigmoid運算值與X1的GRN歸一化、1×1卷積結(jié)果進行乘法運算得到Iout,經(jīng)GRN歸一化、1×1卷積后輸出Y1。
Iout=Sigmoid(Xout2)·[F(X1)]*
(4)
Y1=Iout*
(5)
3)拼接:將Y1與Y2進行拼接,得到融合結(jié)果Y。繼而輸出給SFPN網(wǎng)絡(luò),進一步融合特征。
經(jīng)過上述分解、融合和拼接處理后,航拍絕緣子圖片屬于不同層的特征信息進行了充分融合,擴大了卷積核感受野,算法檢測精度和收斂速度都得到了提升。
1.1.2 改進歸一化函數(shù)
傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)常采用BN進行歸一化,雖然可以提升訓練速度,防止過擬合,但采用小batch_size訓練時,BN的性能將下降。針對這一問題,本研究參考FRN進行改進(改進后的歸一化函數(shù)命名為GRN),方法為采用GeLU替換TLU層中的ReLU,使得輸出的特征非線性性能更加平滑,以提高檢測精度,同時提升模型的收斂速度。GRN主要包含兩部分:歸一化DRN層和閾值線性單元TLU層,如圖4所示,步驟如下。
圖4 GRN結(jié)構(gòu)Fig.4 ScConv network structure
1)構(gòu)建DRN層
首先,對形狀為(B,C,H,W)的特征圖X計算均方差σFRN2:
(6)
式中,H、W為X的高和寬,N=H×W,xi∈X,i∈[0,N]。由于DRN的計算過程不涉及batch_size大小,因此,與BN相比,檢測精度更為穩(wěn)定。
然后,為加快模型訓練速度,對X進行歸一化處理:
(7)
(8)
2)構(gòu)建TLU層
考慮到DRN歸一化后X的數(shù)據(jù)會有一部分偏移零點,影響算法精度。為解決該問題,采用閾值化的GeLU加上τ作為激活函數(shù)TLU:
TLU=max(yi,τ)=GeLU(yi-τ)+τ
(9)
式中,γ、β、τ(閾值)為可學習的參數(shù)。
受噪聲、遮擋等因素影響,輸電線路航拍絕緣子小目標的有效檢測面臨諸多挑戰(zhàn),而原Faster-RCNN采用的是FPN作為特征融合網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)如圖5(a)所示,P2融合了P3~P5的特征信息,P3融合了P4~P5的特征信息,P4融合了P5的特征信息,這樣一方面會造成計算量過大,算法運行速度慢的問題,另一方面會造成中間信息丟失的問題。針對以上問題,根據(jù)BiFPN簡化PAN的思想,在充分利用ScConvNeXt網(wǎng)絡(luò)stage1~stage4的輸出信息的前提下,提出一種輕量化的特征金字塔SFPN。SFPN的網(wǎng)絡(luò)結(jié)構(gòu)見圖5(b)。
圖5(a) 特征金字塔(FPN)結(jié)構(gòu)Fig.5 (a)Feature pyramid (FPN) structure
如圖5(b)所示,在FPN原基礎(chǔ)上一方面減少信息相加過程,另一方面通過平均池化和插值處理將特征信息統(tǒng)一到P4的尺寸,計算量減少了66.9M,算法運行速度提升了8.7幀/秒。同時,因為將四個層面的特征信息進行了融合,并通過上采樣和下采樣操作將所有層的特征信息輸入給了P2-P6,保證了特征信息不會丟失,提升了多尺度航拍絕緣子檢測精度,因此本研究選擇SFPN進行特征融合。
IoU是目標檢測中常用的計算指標,可以反映真實框與預測框的重疊情況,如圖6(a)所示,IoU定義如下:
圖6 IoU與BIoU示意圖Fig.6 Schematic diagram of IoU and BIoU
(10)
式中A為手動標定框區(qū)域,B為預測框區(qū)域,C為A和B的交集區(qū)域。
與IoU相比,由于CIoU[30]考慮了手動標定框與預測框之間的距離、重疊率以及長寬比,可準確描述它們之間的交并、位置和形狀關(guān)系,受CIoU啟發(fā),本研究設(shè)計了BIoU,因為BIoU能使航拍絕緣子算法精度更高,所以本研究選擇BIoU參與損失計算。如圖6(b)所示,定義如下:
(11)
式中b,bgt分別為預測框與手動標定框的中心點,e為外包預測框與手動標定框最小矩形的對角線距離,ρ為b與bgt兩個中心點之間的歐氏距離,υ為長寬比,α為權(quán)重參數(shù),定義如下:
(12)
(13)
(14)
式中(xi,yi)和(xj,yj)分別為手動標定框與預測框的左上與右下角坐標;w和h表示預測框的寬和高,wgt和hgt表示手動標定框的寬和高。
為準確定位絕緣子,本研究基于BIoU構(gòu)建損失函數(shù)LBIoU:
LBIoU=1-BIoU
(15)
本研究數(shù)據(jù)集為中國電力線絕緣子數(shù)據(jù)集[1],該數(shù)據(jù)集有864張輸電線路航拍絕緣子圖片,尺寸大小為1 152×864,通過翻轉(zhuǎn)、平移、旋轉(zhuǎn)和加噪算法將圖片數(shù)量擴充到5 000,選擇其中4 250張圖片作為訓練集,剩余750張作為測試集。
模型訓練采用動量隨機梯度下降法進行優(yōu)化,其中動量系數(shù)為0.9,batch_size為4,初始化學習率為0.001,每100次迭代的衰減系數(shù)為0.1。為了更好地定位絕緣子目標,本研究將錨框大小設(shè)置為32×32、64×64、128×128、256×256,512×512,錨框比例設(shè)置為1∶4、1∶2、1∶1、2∶1、4∶1。本研究在Intel i5-12600 CPU,Nvidia GTX 3060 GPU,Python3.9,Pytorch1.12,Ubuntu22.04 開發(fā)環(huán)境下進行測試。
為證實本研究算法的優(yōu)越性,圖7給出了本研究ScSGB- RCNN算法和Faster-RCNN算法的訓練曲線。如圖7所示,迭代100次后,ScSGB-RCNN的Loss值收斂于0.02,低于Faster-RCNN的0.35;當?shù)螖?shù)等于200時,本研究算法的mAP值達到90.5%,明顯高于Faster-RCNN的68.1%,且ScSGB-RCNN算法在迭代次數(shù)為20時基本收斂,而Faster-RCNN算法在100次時Loss曲線才趨于平緩,可知ScSGB-RCNN相較于Faster-RCNN模型收斂速度提升4倍。從算法精度和模型收斂速度角度而言本研究所算法均有提升。
圖7 Loss曲線和mAP曲線Fig.7 Loss curve and mAP curve
在選擇GRN和BIoU作為歸一化函數(shù)之前,本研究進行了相關(guān)的對比實驗,一方面,對比了采用BN[22]、GN[31]、FRN[24]以及GRN等歸一化函數(shù)的檢測效果;另一方面,對構(gòu)成邊界框損失函數(shù)的IoU[29]、GIoU[30]、DIoU[30]及BIoU交并比進行了對比實驗。具體數(shù)據(jù)如表1和表2所示。
表1 歸一化函數(shù)對比實驗結(jié)果Table 1 Comparative experimental results of normalization function
表2 交并比對比實驗結(jié)果Table2 Comparative experimental results of IoU
由表1可知,采用GRN歸一化函數(shù)的航拍絕緣子檢測算法精度最高,且損失值最小,表明由此可知,應(yīng)當選擇GRN作為本研究的歸一化函數(shù)。同理,由表2可知,在四種交并比中BIoU的性能表現(xiàn)最佳,應(yīng)當選擇BIoU參與損失計算。
為直觀展示本研究算法的優(yōu)越性,圖8給出了不同算法的絕緣子檢測結(jié)果。其中第一列為Faster-RCNN的檢測結(jié)果,第二列和第三列分別為YOLOv5和ScSGB- RCNN的檢測結(jié)果。從圖中可以看出,基于ScSGB-RCNN的絕緣子預測置信度明顯高于Faster-RCNN和YOLOv5的置信度。此外,當絕緣子目標較小或者被遮擋時,Faster-RCNN和YOLOv5算法出現(xiàn)漏檢情況,如圖8中白色箭頭區(qū)域所示。其中Faster-RCNN和YOLOv5的檢測結(jié)果第一、第二和第四幅圖中有較小絕緣子目標,第三圖中的絕緣子目標被桿塔遮擋,均出現(xiàn)漏檢情況。而由于ScConvNeXt和SFPN特征金字塔網(wǎng)絡(luò)的引入,本研究方法可以有效檢測不同尺度和被遮擋的絕緣子,證明了本研究算法的有效性。
圖8 不同算法的絕緣子檢測結(jié)果Fig.8 Insulator detection results of different algorithms
為進一步量化不同算法的比較結(jié)果,本研究基于平均準確率(mean Average Precision,mAP)和每秒幀數(shù)FPS(Frames Per Second, FPS)進行評價。
表3給出了不同算法絕緣子檢測結(jié)果。從表中可看出,一方面本研究ScSGB- RCNN算法的平均準確率達到了90.5%,優(yōu)于Faster-RCNN(68.1%)、YOLOv3(76.7%)、SSD(80.3)、YOLOv5(84.5%)、YOLOv7(86.7)算法。另一方面通過對FPN進行改進,有效將原算法的FPS提高了8.7幀/秒,從而進一步證實了本研究算法的優(yōu)越性。
表3 不同算法檢測結(jié)果Table 3 Detection results of different algorithms
為直觀展示ScConvNeXt網(wǎng)絡(luò)在特征提取能力上的優(yōu)越性,圖9給出了基于ResNet和ScConvNeXt網(wǎng)絡(luò)(其他網(wǎng)絡(luò)參數(shù)相同)的熱力圖可視化結(jié)果,其中,第一列為航拍絕緣子圖片,第二列和第三列分別為基于ResNet和ScConvN-eXt網(wǎng)絡(luò)的熱力圖[32]。如圖9所示,與ResNet相比,基于ScConvNeXt主干網(wǎng)絡(luò)熱力圖中的白色區(qū)域更加集中在絕緣子所在區(qū)域,且面積更大,表明本研究算法引入的ScConvNeXt不僅能增加卷積網(wǎng)絡(luò)的感受野,而且可有效提升卷積網(wǎng)絡(luò)對絕緣子特征層的注意力,繼而提升絕緣子檢測的精度,從而為后續(xù)的絕緣子定位打下良好基礎(chǔ)。
圖9 絕緣子檢測熱力圖Fig.9 Thermal map of insulator detection
表4給出了本研究算法的消融實驗數(shù)據(jù),如表4所示,一方面,本研究算法引入ScConvNeXt、SFPN、GRN和BIoU確保絕緣子檢測精度提高了22.4%的mAP值,其中,以ScConvNeXt網(wǎng)絡(luò)的貢獻最多,提升mAP值8.8%;另一方面,通過優(yōu)化FPN提出SFPN結(jié)構(gòu),使得模型的參數(shù)量減少66.9×106,從而進一步證實了本研究算法的有效性。
表4 消融實驗數(shù)據(jù)Table 4 Ablation experiment data
本研究提出了一種基于ScSGB-RCNN網(wǎng)絡(luò)的輸電線路航拍絕緣子檢測算法,該方法通過采用基于自校準卷積的ScConvNeXt網(wǎng)絡(luò),有效提高卷積層感受野和絕緣子注意力;為檢測多尺度目標,改進FPN結(jié)構(gòu),有效減少了參數(shù)量,提升了算法運行速度;為加速模型訓練,將FRN歸一化函數(shù)的ReLU改成GeLU,并提出了GRN,模型收斂速度提升顯著。另外,綜合考慮手動標定框與預測框之間的距離、重疊率以及長寬比,基于IoU改進成BIoU并構(gòu)建Loss函數(shù),進一步提高檢測精度。實驗結(jié)果表明,本研究所提算法能有效檢測小尺度和被遮擋的絕緣子目標,檢測精度達到了90.5%,模型收斂速度提升4倍,算法運行速度達到了28.7幀/秒,由此可見,本研究所提方法對輸電線路航拍絕緣子目標檢測任務(wù)而言,具有實際的工程應(yīng)用價值。