蔣志哲, 張宇華
(上海電力大學(xué) 電氣工程學(xué)院, 上海 200090)
變電站電力設(shè)備是電網(wǎng)的重要組成部分,實(shí)時監(jiān)控電力設(shè)備的狀態(tài)對于保證電力系統(tǒng)安全穩(wěn)定運(yùn)行具有重要意義。紅外熱成像技術(shù)可以獲取設(shè)備的溫度信息,已廣泛用于監(jiān)測變電設(shè)備的運(yùn)行狀態(tài)[1]。面對海量的巡檢圖像數(shù)據(jù),目前主要依靠專業(yè)人員對電力設(shè)備的紅外圖像進(jìn)行分析和識別,但這種方式不僅效率低下且容易發(fā)生誤判[2]。因此,如何快速而準(zhǔn)確地定位和識別紅外圖像中的電力設(shè)備具有十分重要的研究意義。
傳統(tǒng)的檢測方法往往通過提取紋理、溫度分布等特征來進(jìn)行目標(biāo)檢測。文獻(xiàn)[3]通過提取高壓絕緣套管的特殊紋理特征,并基于聚類算法完成目標(biāo)的分析識別。文獻(xiàn)[4]通過提取絕緣子的絕對溫度、紋理和相對溫差率作為特征集,完成劣化絕緣子的狀態(tài)識別。雖然這些方法可以完成識別任務(wù),但檢測速度較慢,精度也易受環(huán)境影響,不適用于具有復(fù)雜環(huán)境的變電站場景。
近年來,深度學(xué)習(xí)在圖像識別領(lǐng)域發(fā)展迅速,與機(jī)器學(xué)習(xí)相比,其檢測速度更快、精度更高,逐漸取代了傳統(tǒng)的檢測算法。目前,基于深度學(xué)習(xí)的目標(biāo)檢測根據(jù)是否設(shè)置錨框分為有錨框算法和無錨框算法。其中,有錨框算法又分為二階段算法和一階段算法。二階段算法需要先生成候選框,再完成目標(biāo)分類和定位。這種方法一般精度很高,但速度相對較慢,經(jīng)典模型有快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast-Region Convolutional Neural Network,Fast-RCNN)[5]和更快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster-Region Convolutional Neural Network,Faster-RCNN)[6]等。文獻(xiàn)[7]在Faster-RCNN網(wǎng)絡(luò)模型的輸出部分引入精煉階段,增加目標(biāo)特征的分類和回歸細(xì)化,實(shí)現(xiàn)了精確分類及坐標(biāo)定位。一階段算法不用生成候選框,直接進(jìn)行分類和定位操作,相比二階段算法具有更快的檢測速度,其代表算法有單步多階目標(biāo)檢測(Single Shot multibox Detector,SSD)[8]、實(shí)時快速(You Only Look Once,YOLO)目標(biāo)檢測系列模型。文獻(xiàn)[9]針對紅外圖像尺度差異性大的問題,在YOLOv4[10]模型的基礎(chǔ)上引入多尺度卷積模塊,相比原始算法檢測精度提高了約2.62%。無錨框算法將目標(biāo)作為一個點(diǎn),可以兼顧識別的速度和精度。該類算法包括CenterNet[11]、FCOS(Fully Convolutional One-Stage Object)目標(biāo)檢測[12]等。文獻(xiàn)[13]提出了一種基于CenterNet的安全帽檢測算法,改進(jìn)了模型的損失函數(shù)以提高檢測精度,并通過實(shí)驗(yàn)證明了該方法的有效性。上述方法雖然在一定程度上提高了檢測效果,但在變電站復(fù)雜環(huán)境下,目標(biāo)具有的特征較少,難以提取到足夠的特征信息,且受到背景等無關(guān)信息的影響會導(dǎo)致目標(biāo)特征不明顯,檢測精度也會下降。
針對變電站復(fù)雜背景影響下傳統(tǒng)目標(biāo)算法檢測精度較低的問題,本文提出了一種基于改進(jìn)結(jié)構(gòu)的CenterNet電力設(shè)備紅外圖像識別算法。使用比原特征提取能力更強(qiáng)的ResNeXt50[14]網(wǎng)絡(luò)作為模型的主干網(wǎng)絡(luò),在不改變模型參數(shù)量的同時拓寬了網(wǎng)絡(luò),使其能夠提取到多維特征信息,從而增強(qiáng)模型的檢測能力;在預(yù)測層加入壓縮和激勵(Squeeze-and-Excitation,SE)[15]注意力模塊(以下簡稱“SE模塊”),使模型更加關(guān)注重要信息,削弱了背景信息的干擾,進(jìn)一步提高檢測的精度。
CenterNet是一種無錨檢測算法,不需要預(yù)先設(shè)置錨點(diǎn)參數(shù),同時放棄非極大抑制操作[16],在檢測精度和速度方面要優(yōu)于其他基于錨點(diǎn)的檢測算法。CenterNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。其中主干網(wǎng)絡(luò)以ResNet50為例,主要包括主干網(wǎng)絡(luò)、上采樣網(wǎng)絡(luò)和預(yù)測層3個部分。首先,輸入分辨率為512×512的紅外圖像,通過主干網(wǎng)絡(luò)ResNet50提取圖像特征,并經(jīng)過多次下采樣操作得到16×16×2 048的初始特征圖;然后,在上采樣網(wǎng)絡(luò)進(jìn)行3次反卷積,得到128×128×64的高分辨率特征圖;最后,將從上采樣網(wǎng)絡(luò)得到的特征圖進(jìn)行3次不同卷積,分別用來預(yù)測熱力圖、預(yù)測框尺寸以及中心點(diǎn)偏移,通過三者的預(yù)測結(jié)果即可輸出檢測框。
圖1 CenterNet網(wǎng)絡(luò)結(jié)構(gòu)
在模型訓(xùn)練前,使用高斯核將所有目標(biāo)的現(xiàn)實(shí)中心點(diǎn)映射到熱力圖上,形成熱力圖標(biāo)簽。其公式為
(1)
x、y——熱力圖中點(diǎn)的橫、縱坐標(biāo);
σp——目標(biāo)自適應(yīng)標(biāo)準(zhǔn)差[17]。
CenterNet模型訓(xùn)練的損失函數(shù)由中心點(diǎn)預(yù)測損失Lk、目標(biāo)中心的偏移損失Loff和目標(biāo)尺寸損失Lsize組成,每個損失函數(shù)都有其相應(yīng)的權(quán)重。
中心點(diǎn)預(yù)測損失Lk是焦點(diǎn)損失函數(shù)[18]的改進(jìn)版本。其公式為
(2)
式中:N——中心點(diǎn)的總數(shù)量;
α、β——中心點(diǎn)損失的超參數(shù)。
在預(yù)測階段,CenterNet將對輸入圖像進(jìn)行下采樣,圖像分辨將從512×512壓縮到128×128,這會導(dǎo)致映射到低分辨率圖像的中心點(diǎn)坐標(biāo)出現(xiàn)偏移,所以模型使用平均絕對值誤差來訓(xùn)練目標(biāo)中心的偏移損失Loff,具體公式為
(3)
式中:p——中心點(diǎn)坐標(biāo);
R——下采樣倍數(shù);
與目標(biāo)中心偏移損失類似,目標(biāo)尺寸損失Lsize仍使用平均絕對值誤差來訓(xùn)練。其公式為
(4)
Sk——第k個目標(biāo)的實(shí)際尺寸。
模型的總損失函數(shù)Ldet為上述3種損失函數(shù)的加權(quán)和,表示為
Ldet=Lk+λsizeLsize+λoffLoff
(5)
式中:λsize、λoff——權(quán)重參數(shù),分別取0.1和1。
雖然原始的CenterNet模型已具備較為出色的檢測能力,但面對變電站的復(fù)雜環(huán)境,檢測精度仍略有不足,因此本文將CenterNet作為基礎(chǔ)模型,提出了一種改進(jìn)CenterNet的電力設(shè)備紅外圖像識別模型。其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 改進(jìn)的CenterNet模型網(wǎng)絡(luò)結(jié)構(gòu)
在主干網(wǎng)絡(luò)部分,本文使用相比ResNet50具有更強(qiáng)特征提取能力的ResNeXt50網(wǎng)絡(luò),使模型能夠從分辨率較低的電力設(shè)備紅外圖像中提取更多特征,從而提高檢測的精度。在預(yù)測層中,本文添加了能夠判斷特征的SE模塊,使模型能夠更加關(guān)注圖像中的重要目標(biāo),減弱了背景環(huán)境等無用信息的影響。
變電站電力設(shè)備種類繁多且紅外圖像清晰度差,許多圖像中包含的目標(biāo)特征信息較少,導(dǎo)致檢測精度下降。本文使用ResNeXt50網(wǎng)絡(luò)代替原始CenterNet模型中的ResNet50網(wǎng)絡(luò)。它能夠在幾乎不改變模型參數(shù)量的前提下,通過增加網(wǎng)絡(luò)寬度來提取更加豐富的目標(biāo)特征,進(jìn)而提高模型的檢測準(zhǔn)確度。
ResNet50和ResNeXt50的區(qū)塊結(jié)構(gòu)如圖3所示。
圖3 ResNet50和ResNeXt50的區(qū)塊結(jié)構(gòu)
首先,ResNeXt50網(wǎng)絡(luò)通過分組卷積[19]將輸入特征分為32組來拓寬網(wǎng)絡(luò);然后,對分組特征使用1×1卷積來降低通道維數(shù);同時,對所有分組使用3×3卷積轉(zhuǎn)換上下文語義數(shù)據(jù),并再次使用1×1卷積來提高分組通道維數(shù);最后,融合每個分組的輸出特征和原始輸入特征,得到整個區(qū)塊的最終輸出特征。ResNeXt50網(wǎng)絡(luò)通過一種平行堆疊相同拓?fù)浣Y(jié)構(gòu)的區(qū)塊代替ResNet50的3層卷積區(qū)塊,在參數(shù)量變化很小的情況下提高了網(wǎng)絡(luò)的特征提取能力,更加適合復(fù)雜環(huán)境下的電力設(shè)備紅外圖像識別。
變電站環(huán)境復(fù)雜,拍攝到的紅外圖像往往包含著許多無用的背景信息。在CenterNet原始模型中,默認(rèn)檢測目標(biāo)和背景等不同通道的特征是同等重要的,就導(dǎo)致主要目標(biāo)電力設(shè)備的特征信息不明顯,檢測精度有所下降。因此,本文在模型中加入SE模塊,提高對電力設(shè)備關(guān)鍵目標(biāo)的關(guān)注度,抑制背景等無關(guān)信息的干擾,保證了模型檢測的魯棒性。
SE模塊能夠在不打亂模型結(jié)構(gòu)的基礎(chǔ)上直接添加。本文選擇在預(yù)測層前加入此模塊來提高網(wǎng)絡(luò)性能,功能主要由壓縮和激勵兩步來實(shí)現(xiàn)。具體操作過程如圖4所示。
圖4 SE注意力機(jī)制模塊的操作過程
(1) 壓縮 將維度為W×H×C的輸出特征P輸入到SE模塊,通過全局平均池化操作獲得每個特征通道的全局壓縮特征量。然后,利用全局感受野獲得特征映射的全局信息的特征向量1×1×C,其操作公式為
(6)
式中:z——平均池化層輸出的特征圖;
Fsq(·)——平均池化操作;
u——輸入特征圖;
i、j——特征圖的坐標(biāo)變量。
(2) 激勵 通過兩個全連接層獲得每個特征通道對應(yīng)的0到1的新權(quán)值,激勵操作可以減少輸入向量的通道數(shù)量,從而減少計(jì)算量。其公式為
s=Fex(u)=σ[W1δ(W2,u)]
(7)
式中:s——不同通道調(diào)整后的權(quán)重向量;
Fex(·)——激勵操作;
σ——Sigmoid激活函數(shù);
W1、W2——全連接層的權(quán)重;
δ——Relu激活函數(shù)。
最終,將輸入的原始特征不同通道之間的激活值乘以原始特征圖,生成已完成權(quán)重分配的特征圖U作為SE模塊的輸出,最終實(shí)現(xiàn)引導(dǎo)網(wǎng)絡(luò)關(guān)注關(guān)鍵通道的功能。輸出特征的計(jì)算公式為
U=Fscale(u,s)=s·u
(8)
式中:Fscale(·)——特征圖賦權(quán)操作。
實(shí)驗(yàn)網(wǎng)絡(luò)開發(fā)框架為Pytorch,計(jì)算機(jī)語言為Python3.9,WINDOWS操作系統(tǒng),GPU型號為NVIDIA GeForce RTX 2080Ti,內(nèi)存為16 GB。檢測算法的流程如圖5所示。
圖5 檢測算法流程
本文所采用數(shù)據(jù)集來自某國網(wǎng)公司提供的紅外巡檢圖像,其中包括電流互感器、電壓互感器、斷路器、避雷器4種電氣設(shè)備。為了避免由于數(shù)據(jù)數(shù)量不足而導(dǎo)致模型訓(xùn)練的過度擬合,本文通過翻轉(zhuǎn)、旋轉(zhuǎn)和改變數(shù)據(jù)的對比度來擴(kuò)展數(shù)據(jù)集,同時增加數(shù)據(jù)集的多樣性。擴(kuò)展后的樣本數(shù)量達(dá)到2 035張,并借助labelimg工具對數(shù)據(jù)集進(jìn)行了標(biāo)記。
為了評估檢測模型的性能,本文使用檢測領(lǐng)域常用的均值平均精度(mean Average Precision,mAP)和每秒處理幀數(shù)(Frames Per Second,FPS)作為評價指標(biāo),具體公式為
(9)
(10)
(11)
(12)
(13)
式中:Pr——精確率;
TP——預(yù)測正確的正樣本;
FP——預(yù)測錯誤的負(fù)樣本;
Re——召回率;
FN——未檢測出來的目標(biāo)數(shù);
A——平均精度;
Am——均值平均精度;
m——檢測的種類;
FPS——每秒處理幀數(shù);
t——處理單張圖片的時間。
所提模型的損失曲線如圖6所示。
圖6 所提模型的損失曲線
從圖6可以看出,模型訓(xùn)練過程中未出現(xiàn)過擬合現(xiàn)象,并且在訓(xùn)練集和驗(yàn)證集都具有良好的下降速度并最終收斂。訓(xùn)練集損失值最終降至0.7左右,驗(yàn)證集最終降至1.0左右。損失值整體下降速度可以滿足訓(xùn)練要求。
為了驗(yàn)證改進(jìn)算法的可行性和有效性,將本文所提方法與原始CenterNet模型的不同主干網(wǎng)絡(luò)檢測性能進(jìn)行比較,結(jié)果如表1所示。
表1 不同主干網(wǎng)絡(luò)檢測性能對比結(jié)果
由表1可知,使用ResNeXt50作為主干網(wǎng)絡(luò)的模型可以有效提高模型的特征提取能力,其mAP值達(dá)到92.8%,相比其他原始主干網(wǎng)絡(luò)提升了1%~3%;檢測速度為38張/s,快于以Hourglass和Dla34為主干網(wǎng)絡(luò)的模型,與ResNet50接近。添加SE模塊后,模型的mAP值由92.8%提升到93.7%,說明添加SE模塊能夠增強(qiáng)模型對重要目標(biāo)特征的關(guān)注、提高模型的檢測精度;檢測速度為37張/s,與添加前變化不大。綜上,本文提出的改進(jìn)算法模型可以在兼顧速度的同時提高檢測精度,適用于具有復(fù)雜場景的變電站電力設(shè)備紅外檢測。
同時,本文將改進(jìn)的CenterNet算法與許多主流目標(biāo)檢測算法在速度和識別精度上進(jìn)行了比較,包括Fast-RCNN、YOLOv3、YOLOv5和SSD算法,實(shí)驗(yàn)均采用相同的數(shù)據(jù)集進(jìn)行訓(xùn)練和測試。不同模型性能對比結(jié)果如表2所示。
表2 不同模型性能對比
由表2可知:本文所提模型的檢測速度為37張/s,超過大多數(shù)模型,與YOLOv5接近;模型的mAP值達(dá)到93.7%,對比其他模型提升了2%~5%。應(yīng)用改進(jìn)模型的部分紅外圖像檢測結(jié)果如圖7所示。
圖7 應(yīng)用改進(jìn)模型的部分紅外圖像檢測結(jié)果
由圖7可以看出,電力設(shè)備在變電站復(fù)雜的背景環(huán)境下均能被準(zhǔn)確地定位與識別。
本文針對變電站復(fù)雜背景下傳統(tǒng)算法檢測精度較低的問題,提出了一種改進(jìn)的CenterNet電力設(shè)備紅外圖像識別模型。通過使用特征提取能力更強(qiáng)的ResNeXt50代替ResNet50,能夠在不增加模型參數(shù)的同時從分辨率較低的紅外圖像中提取更多目標(biāo)特征,提高檢測精度;通過在預(yù)測層加入SE模塊,增強(qiáng)了對關(guān)鍵目標(biāo)的關(guān)注,同時抑制背景環(huán)境等無用信息的干擾,保證了檢測的魯棒性。通過設(shè)置相關(guān)實(shí)驗(yàn)對模型進(jìn)行驗(yàn)證,結(jié)果表明,所提算法具有較高的檢測精度,優(yōu)于當(dāng)前主流檢測算法,mAP值為93.7%,能夠?qū)崿F(xiàn)變電站復(fù)雜背景下的精準(zhǔn)檢測。