何文其,李 劍,趙文浩
(國網(wǎng)浙江省電力有限公司臺州供電公司,浙江 臺州 318000)
絕緣子作為輸電線路中的重要介質(zhì),其主要功能是支持和固定載流導(dǎo)體,在保證電力傳輸安全性方面起到重要作用,鑒于其重要性,絕緣子的破損和殘缺會對電力傳輸產(chǎn)生巨大危害,直接影響到電力系統(tǒng)的穩(wěn)定性和安全性。
以往采用人工上電力桿的方式來檢測絕緣子是否異常[1],人力成本較高,同時(shí)存在很大的安全隱患。目前無人機(jī)技術(shù)的快速發(fā)展為電力設(shè)備巡檢帶來了新的前景,相較于傳統(tǒng)人工巡檢,無人機(jī)巡檢具有成本低、操控方便等顯著優(yōu)勢,且不受限于地形狀況,可以到達(dá)人徒步無法抵達(dá)的地方,從不同的角度和視野獲取絕緣子圖像數(shù)據(jù)[2]。
隨著計(jì)算機(jī)視覺技術(shù)的發(fā)展以及硬件算力和存儲能力的提升,基于深度學(xué)習(xí)的圖像識別方法越來越火熱。自卷積神經(jīng)網(wǎng)絡(luò)興起以來,計(jì)算機(jī)視覺開始了一場革命,并帶動了一大批應(yīng)用領(lǐng)域的發(fā)展,包括語義分割、目標(biāo)檢測、人體關(guān)鍵點(diǎn)檢測、目標(biāo)追蹤、對抗生成網(wǎng)絡(luò)等。基于深度學(xué)習(xí)的目標(biāo)檢測已成為計(jì)算機(jī)視覺中最基礎(chǔ)的任務(wù)之一,相較于傳統(tǒng)的方法其更符合人的思考方式。通過數(shù)據(jù)學(xué)習(xí)來提高對事物的認(rèn)知,在精確率和效率上都遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的方法。
基于上述技術(shù)背景,本文提出通過無人機(jī)巡檢獲取絕緣子圖像,并采用基于改進(jìn)的Faster-RCNN 算法檢測絕緣子位置,進(jìn)而判斷其是否破損[3-4]。
目前基于深度學(xué)習(xí)的目標(biāo)檢測方法主要有單階段和雙階段兩種。
單階段網(wǎng)絡(luò)又可分為兩類,一類是基于錨框,如SSD[5]和YOLO[6]系列網(wǎng)絡(luò);另一類基于錨點(diǎn),如CornerNet[7](預(yù)測一對角點(diǎn))。CenterNet[8]通過特征圖中每個(gè)像素進(jìn)行采樣,計(jì)算偏差得到目標(biāo)物體的中心和寬高。
雙階段網(wǎng)絡(luò)以FasterRCNN[9]為典型代表,提出區(qū)域建議網(wǎng)絡(luò),先對錨框做一次篩選,得到若干個(gè)得分較高的目標(biāo)框作為候選框,將這些候選框的內(nèi)容池化到同一尺度后經(jīng)過卷積得到最終的預(yù)測框。雙階段方法大多是基于FasterRCNN 做一些改進(jìn),如MaskRCNN[10]在FasterRCNN 的基礎(chǔ)上增加了mask 分支;CascadeRCNN[11]采用級聯(lián)方式漸進(jìn)提升采樣的得分閾值,在精度上得到了較大的提升。
FasterRCNN 是一種雙階段目標(biāo)檢測方法,相較于單階段檢測方法,F(xiàn)asterRCNN 需要進(jìn)行RPN(區(qū)域生成網(wǎng)絡(luò)),從而篩選出與真實(shí)框交并比接近的錨框,然后做第一階段粗調(diào)來減輕第二階段預(yù)測的難度,最終達(dá)到提升檢測精度的目的。絕緣子大多在圖像中所占的像素較小,檢測難度相對較大,F(xiàn)asterRCNN 可以滿足絕緣子檢測精度的需求。
FasterRCNN 的整體結(jié)構(gòu)如圖1 所示,其中N為批處理圖片的數(shù)量,W 和H 分別為圖片的寬和高,S 代表樣本個(gè)數(shù),n 為類別數(shù)量。

圖1 FasterRCNN 整體結(jié)構(gòu)
2.1.1 主干特征提取
FasterRCNN 以ResNet(殘差網(wǎng)絡(luò))作為特征提取模塊,ResNet 使用殘差結(jié)構(gòu),網(wǎng)絡(luò)深度不會對網(wǎng)絡(luò)性能產(chǎn)生很大損害,同時(shí)內(nèi)部殘差塊采用跳躍連接,緩解了在深度神經(jīng)網(wǎng)絡(luò)中因增加深度帶來的梯度消失問題,容易優(yōu)化,并且可以不斷增加深度來提高準(zhǔn)確率。本文在主干網(wǎng)絡(luò)提取時(shí),將Resnest 主干網(wǎng)絡(luò)應(yīng)用于FasterRCNN。
2.1.2 加強(qiáng)特征提取
原始圖像經(jīng)過主干網(wǎng)絡(luò)提取特征后得到4 種尺度特征圖,分別為原圖尺寸1/4,1/8,1/16,1/32,通道數(shù)分別為256,512,1024,2056。將輸出的4個(gè)尺度特征圖通過FPN(特征金字塔)處理,得到融合了不同層級的特征圖的加強(qiáng)特征。
淺層特征圖包含著輪廓、顏色、形狀等信息,深層特征圖包含著語義信息,融合兩者的特征可以提高網(wǎng)絡(luò)的識別精度[12]。FPN 作為Faster-RCNN 中特征加強(qiáng)模塊,通過融合淺層與深層特征圖信息達(dá)到增強(qiáng)網(wǎng)絡(luò)特征的提取能力的目的。
RPN 是雙階段網(wǎng)絡(luò)的第一階段,如圖1 所示,將2.1.2 中提取到的特征層用3 次核為3×3、步長為1 的卷積來加強(qiáng)特征的提取。隨后產(chǎn)生2個(gè)分支分別用于回歸和分類:回歸分支使用核為1×1、步長為1 的卷積改變特征圖的通道數(shù),得到目標(biāo)框的調(diào)整參數(shù);分類分支使用核為1×1、步長為1 的卷積改變特征層的通道數(shù),得到分類結(jié)果(RPN 中的分類只有正樣本和負(fù)樣本2 種)。隨后根據(jù)2.1.2 節(jié)中得到的加強(qiáng)特征層產(chǎn)生4 組不同尺度的錨框,結(jié)合分類分支的得分錨框與真實(shí)框的交并比,篩選出前1 000 個(gè)錨框作為正樣本用來預(yù)測最終目標(biāo)。
對篩選出的正樣本使用雙線性插值方法進(jìn)行池化,將每個(gè)正樣本統(tǒng)一到相同的尺寸。這種池化方式將不同尺度的特征圖進(jìn)行量化,并降低了因舍入產(chǎn)生的誤差。最后,進(jìn)行第二階段的回歸和分類,得到最終的目標(biāo)框和分類結(jié)果,使用非極大值抑制的方法濾除掉重復(fù)預(yù)測同一物體的預(yù)測框,選取最佳的匹配框作為結(jié)果[13]。
本文所用電力設(shè)備絕緣子圖像均通過無人機(jī)從電力塔的不同高度、不同角度獲得。從5 個(gè)電力塔拍得的1 200 張圖片中去除無效圖片后,共剩余1 080 張圖像組成了絕緣子數(shù)據(jù)集用于FasterRCNN 模型訓(xùn)練,絕緣子數(shù)據(jù)集中包含的目標(biāo)為破碎絕緣子和完整絕緣子。使用labelimg工具進(jìn)行標(biāo)注,該工具可以便捷地使用矩形框標(biāo)注絕緣子的外接矩形,并保存為xml 文件。
3.2.1 拷貝數(shù)據(jù)增強(qiáng)
在電力系統(tǒng)中,絕緣子出現(xiàn)破碎的情況較少。航拍數(shù)據(jù)中,破碎絕緣子個(gè)數(shù)僅占總絕緣子數(shù)的7%,這將導(dǎo)致嚴(yán)重的樣本不平衡問題。雖然使用損失函數(shù)中配置權(quán)重等算法可以在一定程度上改善樣本不平衡問題,但是不能從本質(zhì)上解決樣本稀缺問題,對此,本文創(chuàng)新性地提出了拷貝數(shù)據(jù)增強(qiáng)方法,步驟如下:
(1)提取出數(shù)據(jù)集中所有含有破碎絕緣子目標(biāo)框的圖像。
(2)數(shù)據(jù)集中每張圖片包含的絕緣子個(gè)數(shù)為M,設(shè)置破碎比例K(破碎絕緣子占絕緣子數(shù)據(jù)集的目標(biāo)比重),計(jì)算出每張圖片所需要復(fù)制的絕緣子個(gè)數(shù)Wc。

式中:Si表示第i 張圖片中正常絕緣子的數(shù)量;Sib表示第i 張圖片中破碎絕緣子的數(shù)量。
(3)從步驟1 得到的圖像中隨機(jī)抽取M 個(gè)破碎絕緣子的圖像,同時(shí)在該圖中抽取Nc個(gè)正常絕緣子,破碎絕緣子通過雙線性插值法將尺寸改變?yōu)檎=^緣子的尺寸,將改變尺寸后的破碎絕緣子拷貝賦值到圖像中原本正常絕緣子的圖像位置。
拷貝數(shù)據(jù)增強(qiáng)方法是針對絕緣子數(shù)據(jù)集的特性提出的,其實(shí)質(zhì)是將數(shù)據(jù)集中破碎絕緣子的圖像拷貝到完整絕緣子圖像位置,從而擴(kuò)充稀缺樣本,提高稀缺樣本在數(shù)據(jù)集中的占比。不同破碎比例下圖像的質(zhì)量差異較大。圖2(a)為原圖,圖2(b),2(c),2(d)中破碎比例分別為0.2,0.4,0.5(圖中方框所示即為拷貝的破碎絕緣子)。同時(shí)本文基于FasterRCNN 選取了破碎比例分別為0.2,0.3,0.4,0.5 的絕緣子進(jìn)行對比實(shí)驗(yàn),詳見5.2 節(jié)。

圖2 破碎絕緣子拷貝數(shù)據(jù)增強(qiáng)
3.2.2 通用數(shù)據(jù)增強(qiáng)
數(shù)據(jù)增強(qiáng)方法包括旋轉(zhuǎn)變換、顏色轉(zhuǎn)化(亮度、對比度、飽和度等)、平移、裁剪、混合等。本文針對絕緣子數(shù)據(jù)集使用了旋轉(zhuǎn)、顏色轉(zhuǎn)化、平移、變換尺度、翻轉(zhuǎn)等數(shù)據(jù)增強(qiáng)方法。所有數(shù)據(jù)增強(qiáng)方法都是隨機(jī)產(chǎn)生,產(chǎn)生概率為50%。本文得到了3 種不同增強(qiáng)結(jié)果,結(jié)果如圖3所示,圖3(a)表示原圖,圖3(b)表示隨機(jī)色域轉(zhuǎn)換后的圖像,圖3(c)表示隨機(jī)旋轉(zhuǎn)變換后的圖像。數(shù)據(jù)增強(qiáng)可以得到很多強(qiáng)相關(guān)的圖像,有些圖像發(fā)生旋轉(zhuǎn)變換,有些圖像發(fā)生顏色變換,讓網(wǎng)絡(luò)在每次迭代時(shí)得到不同的輸入,可以增強(qiáng)網(wǎng)絡(luò)理解語義不變性和抗擾能力,提升網(wǎng)絡(luò)的魯棒性。

圖3 通用數(shù)據(jù)增強(qiáng)方法
本文創(chuàng)新性地將ResneSt 主干網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用到FasterRCNN 網(wǎng)絡(luò)結(jié)構(gòu)中,引入了可分離注意力機(jī)制和分組卷積的思想,采用了radix,Cardinal 和width 3 個(gè)超參數(shù)來調(diào)節(jié)ResneSt 的參數(shù)量。其中,radix 對應(yīng)圖4 中Split 1—r,Cardinal 對應(yīng)圖5 中Cardinal 1—k,width 代表每組卷積的通道數(shù)量。借鑒ResneXt 和Inceptionv4 網(wǎng)絡(luò)的思想[14],ResneSt 將輸入傳給k 個(gè)相同的模塊,分別為Cardinal 1—k 模塊;每個(gè)Cardinal 模塊包含r個(gè)模塊,分別為Split 1—r 模塊;每個(gè)Cardinal 模塊中的Split 1—r 模塊輸出結(jié)果采用Split Attention 模塊進(jìn)行處理。Split Attention 模塊采用了SENet 網(wǎng)絡(luò)結(jié)構(gòu)思想[15-16],如圖5 所示,結(jié)合多個(gè)輸入最終輸出一個(gè)權(quán)值向量,即基于通道的注意力機(jī)制。對各通道賦予權(quán)重,讓網(wǎng)絡(luò)計(jì)算各通道的重要程度,最終將所有模塊應(yīng)用完注意力機(jī)制后拼接在一起作為輸出。

圖4 resnest 網(wǎng)絡(luò)結(jié)構(gòu)

圖5 SplitAttention 模塊結(jié)構(gòu)
Split Attention 為分組殘差結(jié)構(gòu)增加了通道注意力機(jī)制,首先將所有Split 塊按式(2)進(jìn)行求和:

式中:R 表示每個(gè)Cardinal 中Split 模塊的數(shù)量;Uj表示Split Attention 模塊的第j 個(gè)輸入;q 表示第q 個(gè)Split Attention 模塊。
求和后將得到的特征圖做一次全局池化,如式(3)所示。

式中:H 和W 分別表示特征圖的高和寬;Uc對應(yīng)式(2)中得到的結(jié)果。
接著將Split Attention 的輸入與Softmax 計(jì)算得到的權(quán)重相乘,為每個(gè)通道賦予權(quán)重,可以讓網(wǎng)絡(luò)更加重視有用的通道。
改進(jìn)的ResneSt 網(wǎng)絡(luò)引入了注意力機(jī)制,由于絕緣子的破損在圖像中所占像素極小,網(wǎng)絡(luò)需要理解上下文信息才能更好地對絕緣子是否破碎做出判斷,ResneSt 的引入則讓網(wǎng)絡(luò)更加注重語義的理解,5.3 節(jié)的實(shí)驗(yàn)得出ResneSt 相較于ResNet 提升了5%左右。
FasterRCNN 的損失由分類損失和預(yù)測框回歸損失組成,由于絕緣子數(shù)據(jù)集極不平衡,本文將FocalLoss 引入到FasterRCNN 網(wǎng)絡(luò)中作為其分類損失。FocalLoss 基于最常用的CE(交叉熵)損失改進(jìn)而來,CE 損失如式(4)所示[18]:

式中:pt為預(yù)測值和真實(shí)值相等的概率;y=1 表示預(yù)測為正樣本,otherwise 表示預(yù)測為負(fù)樣本。
FocalLoss 的計(jì)算如式(5)所示:

式(5)中,一部分為了改善正負(fù)樣本不平衡問題,給正負(fù)樣本增加了一個(gè)權(quán)重參數(shù)α,在正樣本較少時(shí)讓正樣本占的比重較大,這樣可以讓網(wǎng)絡(luò)更加重視正樣本;另一個(gè)部分用于加大難識別樣本的損失,由參數(shù)β 來控制。本文絕緣子數(shù)據(jù)集中α=0.3,β=2。
相比于CE 損失,F(xiàn)ocalLoss 有兩大優(yōu)勢:更加重視難分類的樣本;能夠起到平衡樣本的作用。
訓(xùn)練數(shù)據(jù)集為由原始數(shù)據(jù)和增強(qiáng)數(shù)據(jù)組成的絕緣子數(shù)據(jù)集,共包括2 000 張圖片,其中訓(xùn)練和測試數(shù)據(jù)集各1 000 張,且測試集均不與訓(xùn)練集重復(fù)。
實(shí)驗(yàn)預(yù)訓(xùn)練權(quán)重均來自ImageNet 數(shù)據(jù)集,采用GPU(圖形處理器)訓(xùn)練模型,使用CUDA(計(jì)算統(tǒng)一設(shè)備體系結(jié)構(gòu))和cuDNN 對訓(xùn)練過程進(jìn)行加速。訓(xùn)練采取Adam(自適應(yīng)矩估計(jì))優(yōu)化器對網(wǎng)絡(luò)的權(quán)重不斷優(yōu)化,表1 給出了實(shí)驗(yàn)過程中訓(xùn)練所使用的參數(shù),每訓(xùn)練一個(gè)Batch 更新一次參數(shù),一個(gè)Epoch 表示遍歷一遍數(shù)據(jù)集,到達(dá)max-Epochs 后停止學(xué)習(xí),初始的學(xué)習(xí)率設(shè)置為0.01,學(xué)習(xí)率調(diào)整策略為逐Epoch 降低,使用warmup學(xué)習(xí)率初始化策略,使用線性增加的方式改變學(xué)習(xí)率。

表1 訓(xùn)練參數(shù)設(shè)置
錨框是目標(biāo)檢測中的先驗(yàn)框,早期的先驗(yàn)錨框大小是通過計(jì)算公式或者根據(jù)經(jīng)驗(yàn)得到,但是錨框的尺度往往取決于數(shù)據(jù)集本身。在目標(biāo)檢測中,先驗(yàn)錨框取值合適與否關(guān)系著檢測精度與速度。不同的數(shù)據(jù)集對應(yīng)的錨框有很大的差別,本文在FasterRCNN 算法中使用了K-means 聚類算法獲取先驗(yàn)錨框,計(jì)算得到絕緣子數(shù)據(jù)集的錨框如表2 所示。

表2 絕緣子數(shù)據(jù)集先驗(yàn)錨框尺寸
絕緣子形狀特征大體為粗條狀(高∶寬≈2∶1),且航拍圖像分辨率較低,不適合采用通用數(shù)據(jù)集的原始先驗(yàn)錨框尺寸進(jìn)行檢測。因此針對絕緣子數(shù)據(jù)集需要重新進(jìn)行維度聚類,選取合適的先驗(yàn)錨框參數(shù),進(jìn)而得到更好的檢測精度和速度。
將改進(jìn)后的先驗(yàn)錨框均分到不同尺度的特征金字塔上。小尺寸的先驗(yàn)錨框針對高分辨率特征圖,用于檢測小目標(biāo);大尺寸的先驗(yàn)錨框針對低分辨率特征圖,用于檢測大目標(biāo)。將原始先驗(yàn)錨框尺寸和改進(jìn)后的先驗(yàn)錨框尺寸進(jìn)行歸一化處理(如表2 所示),可以看出改進(jìn)后的先驗(yàn)錨框尺寸更符合電力桿塔的形狀和比例。
本文創(chuàng)新性地提出了拷貝數(shù)據(jù)增強(qiáng)方法,在絕緣子數(shù)據(jù)集中取得了較好的應(yīng)用效果。本文基于Resnet50 主干網(wǎng)絡(luò),分別設(shè)置絕緣子破碎比例為0.2,0.3,0.4,0.5 進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。實(shí)驗(yàn)結(jié)果表明:當(dāng)破碎比例達(dá)到0.4 時(shí),F(xiàn)asterRCNN 網(wǎng)絡(luò)的性能最佳;而當(dāng)破碎比例增大時(shí),F(xiàn)asterRCNN 網(wǎng)絡(luò)的性能反而降低。

表3 不同破碎比例下拷貝數(shù)據(jù)增強(qiáng)法的精度
針對絕緣子數(shù)據(jù)集使用不同的主干網(wǎng)絡(luò)進(jìn)行對比實(shí)驗(yàn),對比ResNet 系列主干網(wǎng)絡(luò)和ResneSt系列主干網(wǎng)絡(luò)對于目標(biāo)檢測mAP 的影響。實(shí)驗(yàn)結(jié)果如表4 所示,可以看出:Resnest 網(wǎng)絡(luò)相比于Resnet 網(wǎng)絡(luò)提升較大,Resnest50 相較于Resnet50提升4.6%,Resnest101 相較于Resnet101 提升6.6%。根據(jù)結(jié)果分析,其主要原因在于ResneSt網(wǎng)絡(luò)在Resnet 的基礎(chǔ)上增加了注意力模塊,ResneSt 中的注意力機(jī)制可以讓網(wǎng)絡(luò)更注重上下文的語義信息,對于破碎絕緣子這種細(xì)小缺陷,利用上下文的信息更加容易識別。

表4 FasterRCNN 不同主干網(wǎng)絡(luò)性能對比
基于Resnest50 主干網(wǎng)絡(luò),本文針對破碎比例為0.4 的絕緣子分別就是否使用拷貝數(shù)據(jù)增強(qiáng)方法和是否使用FocalLoss 進(jìn)行了實(shí)驗(yàn),結(jié)果如表5 所示。實(shí)驗(yàn)表明,拷貝數(shù)據(jù)增強(qiáng)方法與Focal-Loss 的結(jié)合使用可以有效提升網(wǎng)絡(luò)的整體性能。根據(jù)結(jié)果分析,其主要原因在于拷貝數(shù)據(jù)增強(qiáng)方法可以擴(kuò)增原本稀缺的破碎絕緣子數(shù)量,同時(shí)FocalLoss 可以增加破碎絕緣子在損失函數(shù)中所占的權(quán)重。

表5 基于ResneSt50 網(wǎng)絡(luò)性能對比(破碎比例為0.4 時(shí))
最后,從測試集中抽取不同樣本的絕緣子圖像進(jìn)行檢測,檢測效果表明:本文改進(jìn)Faster-RCNN 算法能夠更加精準(zhǔn)地檢測到絕緣子表面的破碎情況,同時(shí)具有相對更高的定位精度,mAP達(dá)到了66.1%,相比于原算法提升了4.6%。
本文提出了一種基于改進(jìn)的FasterRCNN 目標(biāo)檢測模型,并將其應(yīng)用于電力系統(tǒng)絕緣子檢測中。首先,通過無人機(jī)航拍采集圖像樣本,利用水平翻轉(zhuǎn)、旋轉(zhuǎn)變換、色域變換等通用圖像增強(qiáng)方法擴(kuò)大樣本數(shù)量,采用LabelImg 對各圖像樣本進(jìn)行標(biāo)注,完成絕緣子數(shù)據(jù)集的搭建。然后,通過K-means 重新聚類計(jì)算得到最優(yōu)的先驗(yàn)錨框,更符合絕緣子的形狀和大小,針對破碎絕緣子占比較小的問題,提出拷貝數(shù)據(jù)增強(qiáng)方法來平衡樣本,使樣本分類更加準(zhǔn)確。最后,經(jīng)過實(shí)驗(yàn)對比分析了主干網(wǎng)絡(luò)、拷貝數(shù)據(jù)增強(qiáng)方法的破碎比例參數(shù)和FocalLoss 對網(wǎng)絡(luò)性能的影響,改進(jìn)后的FasterRCNN 模型準(zhǔn)確率得到了提升,使用ResneSt101 主干網(wǎng)絡(luò)、拷貝數(shù)據(jù)增強(qiáng)以及Focal-Loss 后,mAP 達(dá)到了68.3%。
本文的主要創(chuàng)新點(diǎn)在于:
(1)提出了拷貝數(shù)據(jù)增強(qiáng)方法,擴(kuò)增數(shù)據(jù)集中破碎絕緣子占比,從數(shù)據(jù)源彌補(bǔ)了樣本不平衡的問題。
(2)改進(jìn)了FasterRCNN 的主干網(wǎng)絡(luò)部分,使用ResneSt 網(wǎng)絡(luò)代替ResNet 網(wǎng)絡(luò),提升了絕緣子檢測的精度。
(3)改進(jìn)了FasterRCNN 的損失函數(shù),使用FocalLoss 代替交叉熵?fù)p失,起到平衡樣本的作用。