焦雙健,宮中飛
(中國海洋大學(xué) 工程學(xué)院,山東 青島 266100)
絕緣子對于架空輸電線路的保護(hù)起到不可或缺的作用。由于絕緣子長期暴露在自然環(huán)境中,不可避免地受到風(fēng)雨雷電等惡劣自然環(huán)境的侵?jǐn)_,進(jìn)而可能發(fā)生爆炸。為了保護(hù)輸電線路的正常工作及運(yùn)行,對缺失的絕緣子進(jìn)行及時(shí)檢測并維修,有著非常重要的意義[1]。傳統(tǒng)的人工巡檢方式需要投入大量的人力及物力。隨著計(jì)算機(jī)視覺技術(shù)的快速發(fā)展以及GPU大規(guī)模的應(yīng)用,圖像識別技術(shù)得到了快速的發(fā)展。通過計(jì)算機(jī)視覺結(jié)合嵌入式系統(tǒng)實(shí)現(xiàn)無人機(jī)在線巡檢,相對于傳統(tǒng)的人工巡檢,能夠有效降低成本并提高檢測效率。
在目標(biāo)檢測領(lǐng)域,深度學(xué)習(xí)技術(shù)近幾年發(fā)展迅速,逐漸替代了機(jī)器學(xué)習(xí)算法。其中,兩階段目標(biāo)檢測算法的代表為R-CNN[2]、Fast R-CNN[3]以及Faster R-CNN[4],主要原理是首先生成候選區(qū)域進(jìn)而對候選區(qū)域進(jìn)行分類定位,相比較傳統(tǒng)的機(jī)器學(xué)習(xí)檢測算法提升了檢測精度,但檢測速度較慢。張弢[6]針對目前目標(biāo)檢測算法對絕緣子部分遮擋以及檢測準(zhǔn)確度較低這一問題,提出了一種改進(jìn)Faster R-CNN的絕緣子檢測算法,檢測精度相比原檢測模型提升了4.48%,但檢測速度過慢無法做到實(shí)時(shí)性檢測。以SSD[6]、YOLO[7]為代表的一階段檢測算法可以直接在網(wǎng)絡(luò)中提取特征值來分類目標(biāo)和定位,無需生成候選區(qū)域。張青華[8]提出一種基于SSD檢測網(wǎng)絡(luò)改進(jìn)的MFPSSD網(wǎng)絡(luò)(Multidirectional Feature Pyramid Single Shot Detector,MFPSSD),實(shí)現(xiàn)絕緣子目標(biāo)的檢測識別,檢測精度較高,但對于小目標(biāo)的檢測效果一般。李磊為了解決在檢測中小型絕緣子時(shí)容易出現(xiàn)漏檢、錯檢等問題,提出了一種改進(jìn)YOLOv4算法的中小型絕緣子檢測方法,提升了對于小目標(biāo)絕緣子的檢測效果,但總體的檢測精度仍然較低。隨著YOLO系列算法的不斷迭代進(jìn)化,YOLOv5s算法不僅檢測速度很快,檢測精度相對于Faster R-CNN以及YOLOv3算法也具有顯著優(yōu)勢,因此本文選用YOLOv5s作為基線算法。為了提升模型檢測小目標(biāo)的精度,在原算法基礎(chǔ)上融合了CBAM注意力機(jī)制,并且改進(jìn)特征融合網(wǎng)絡(luò)(PANet)為加權(quán)雙向特征金字塔網(wǎng)絡(luò)(BiFPN)進(jìn)而形成了CBBi-YOLOv5s算法。將訓(xùn)練后的模型部署到NVIDIA Jetson TX2中,最后搭載在無人機(jī)中對絕緣子缺失進(jìn)行在線巡檢。
幀改進(jìn)的特點(diǎn)。在數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò)之前,采用一種Mosaic數(shù)據(jù)增強(qiáng)方法來提高網(wǎng)絡(luò)的性能。Mosaic數(shù)據(jù)增強(qiáng)通過隨機(jī)縮放、裁剪和排列混合多個(gè)圖像,將4個(gè)原始圖像隨機(jī)裁剪混合為一個(gè)新的拼接圖像作為訓(xùn)練數(shù)據(jù),以增強(qiáng)網(wǎng)絡(luò)的魯棒性和性能。隨著結(jié)構(gòu)深度和通道寬度的增加,YOLOv5網(wǎng)絡(luò)包括 YOLOv5s、YOLOv5m、YOLOv5l和 YOLOv5x。YOLOv5s網(wǎng)絡(luò)的架構(gòu)如圖1所示。
圖1 YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)圖
YOLOv5s的網(wǎng)絡(luò)架構(gòu)可分為Backbone、Neck和Head。Backbone由Conv、C3模塊以及SPPF模塊組成。Conv由卷積層、批量歸一化(BN)層以及Leaky-Relu激活函數(shù)組成。C3模塊的主要作用是提取圖像語義信息或融合不同尺度的特征圖。它采用卷積運(yùn)算和n次重復(fù)瓶頸運(yùn)算兩種方式分割圖像特征,通過Concat層拼接保證輸入輸出的圖像大小保持一致。SPPF模塊是SPP的優(yōu)化后版本,可以在不犧牲精度的情況下提高速度。Neck部分包括特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)和路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PAN),它們執(zhí)行上采樣操作以增強(qiáng)語義信息,而PAN通過下采樣將特征傳輸?shù)巾攲?,從而提高網(wǎng)絡(luò)特征聚合的能力[9]。Head主要包括CIOU損失函數(shù)及NMS(non_max_suppression)。NMS旨在對多個(gè)目標(biāo)框進(jìn)行篩選,保留檢測效果最好的目標(biāo)框。
YOLOv5算法是目前目標(biāo)檢測領(lǐng)域應(yīng)用效果最好的算法之一,具有運(yùn)行速度快、數(shù)據(jù)增強(qiáng)和錨
CBBi-YOLOv5s算法由YOLOv5s算法改進(jìn)而來。算法在Backbone中融合了CBAM注意力機(jī)制,并且在Neck中將PANet改進(jìn)為BiFPN。
CBAM由通道注意力機(jī)制(channel)和空間注意力機(jī)制(spatial)組成[10]。傳統(tǒng)的注意力機(jī)制更多的是只關(guān)注對通道域的分析,較少考慮特征圖通道之間的作用關(guān)系。CBAM注意力機(jī)制從channel和spatial兩個(gè)作用域出發(fā),引入空間注意力和通道注意力兩個(gè)分析維度,相關(guān)公式如式(1)、式(2)所示。
式中:Fcmax表示對特征圖通道維度上使用的平均池化及最大池化,F(xiàn)savg,F(xiàn)smax表示對特征圖空間維度上使用的平均池化及最大池化,σ為sigmoid函數(shù);MLP為多層感知層,MLP的權(quán)重為W1及W0,由平均池化特征和最大池化特征這兩個(gè)輸入共享;f7×7表示一個(gè)卷積核尺寸為7×7的卷積操作。
CBAM的總體流程如圖2所示,特征圖在輸入后首先經(jīng)過channel,與通道權(quán)重進(jìn)行相乘后送入spatial中,將歸一化后的空間權(quán)重與輸入的特征圖相乘,得到最終加權(quán)后的特征圖。相比于只融合了通道注意力機(jī)制的SE-Net注意力機(jī)制,CBAM同時(shí)融合了空間、通道注意力機(jī)制,可以幫助目標(biāo)檢測網(wǎng)絡(luò)在復(fù)雜環(huán)境下更高效地檢測目標(biāo),進(jìn)而提升模型的泛化能力。
圖2 CBAM總體流程圖
在目標(biāo)檢測領(lǐng)域,往往通過構(gòu)建FPN來融合不同級別的語義信息,以處理多尺度變化問題。FPN把具有低分辨率但有豐富語義信息的高層特征以及分辨率較高但語義信息較少的低層特征進(jìn)行自上而下的橫向連接,將語義信息從高層傳至底層,使得所有尺度的特征都具有豐富的語義信息,以避免因網(wǎng)絡(luò)層數(shù)加深而導(dǎo)致圖像特征丟失。YOLOv5s的Neck中使用的是PANet結(jié)構(gòu)。PANet結(jié)構(gòu)在FPN基礎(chǔ)上加入了Bottom-up path augmentation 結(jié)構(gòu),通過融合高低層特征提升了小目標(biāo)檢測的效果。但PANet結(jié)構(gòu)對來自不同路徑且尺寸相同的特征圖在通道維度上只是進(jìn)行了簡單相加,這種加和方式認(rèn)為所有的輸入特征對于輸出特征的貢獻(xiàn)完全相同。針對于此,谷歌團(tuán)隊(duì)提出了BiFPN結(jié)構(gòu)。BiFPN與PANet、FPN的架構(gòu)對比如圖3所示。相比于PANet,BiFPN增加了殘差連接,通過簡單的殘差操作,增強(qiáng)了特征的表示能力,并且,BiFPN移除了單輸入邊的結(jié)點(diǎn)權(quán)值融合,可以有效減少模型計(jì)算量。最重要的是,BiFPN于融合的各個(gè)尺度特征都賦予了權(quán)重,調(diào)整了每個(gè)尺度的貢獻(xiàn)度,可以有效提高檢測速度。
圖3 FPN、PANet與BiFPN的架構(gòu)圖
Head通過CIOU_Loss來作為Bounding box的損失函數(shù)。相比于GIOU_Loss,CIOU_Loss不僅考慮了邊框重合問題,而且考慮了預(yù)測框與真實(shí)框的長寬比例問題,使得預(yù)測框的檢測精度更高[11]。具體公式如式(3)、式(4)所示:
式中:IOU表示預(yù)測框和真實(shí)框的交疊率,c表示預(yù)測框與真實(shí)框外接矩形的對角線距離。v表示衡量長寬比的參數(shù),w,h,w gt,hgt分別代表預(yù)測框的高寬和真實(shí)框的高寬。表示真實(shí)框長寬比,表示預(yù)測框的長寬比,ρ2(b,bgt)表示待檢測目標(biāo)預(yù)測框與真實(shí)框之間的歐氏距離。
通過網(wǎng)絡(luò)爬蟲、實(shí)地拍攝、開源數(shù)據(jù)集以及視頻截取的方式,獲取了2 000張背景不同的圖像,通過翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪、變形、縮放、顏色更改轉(zhuǎn)換、添加高斯噪聲、馬賽克增強(qiáng)、飽和度及色調(diào)變換等數(shù)據(jù)增強(qiáng)方式對圖像進(jìn)行擴(kuò)充。擴(kuò)充后的圖片數(shù)量為6 000張。隨后使用LabelImg標(biāo)注軟件對圖片進(jìn)行手動標(biāo)注得到標(biāo)簽文件。標(biāo)簽文件與圖片共同構(gòu)成本文的實(shí)驗(yàn)數(shù)據(jù)集,并使用算法對數(shù)據(jù)集按照6∶2∶2的比例隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集、測試集。數(shù)據(jù)集示例如圖4所示。
圖4 數(shù)據(jù)集示例圖片
本文使用較為簡潔高效的Pytorch作為模型的訓(xùn)練框架,學(xué)習(xí)率設(shè)置為0.001。實(shí)驗(yàn)采取的epoch=100,batch_size=4,可以根據(jù)計(jì)算機(jī)配置及實(shí)驗(yàn)要求設(shè)置不同的數(shù)值。最后將訓(xùn)練結(jié)束后的最優(yōu)權(quán)重部署到英偉達(dá)的嵌入式設(shè)備Jetson TX2中,搭載在無人機(jī)上對絕緣子自爆缺失進(jìn)行在線巡檢。
一般從準(zhǔn)確度(Accuracy)、精確率(Precision)、召回率(Recall rate)、AP、mAP、PR曲線、F1-score、FPS等幾個(gè)指標(biāo)對模型檢測效果進(jìn)行評價(jià)。準(zhǔn)確度、精確率、召回率以及F1-score的計(jì)算公式分別如式(5)、式(6)、式(7)、式(8)所示。
式中:TP分別表示預(yù)測為正且實(shí)際為正的樣本數(shù)量,TN為預(yù)測為負(fù)且實(shí)際為負(fù)的樣本數(shù)量,F(xiàn)P為預(yù)測為正但實(shí)際為負(fù)的樣本數(shù)量,F(xiàn)N為預(yù)測為負(fù)實(shí)際為正的樣本數(shù)量。
精確率與召回率往往是此消彼長的。精確率高的時(shí)候往往召回率較低,反之精確率較低。AP是一個(gè)能平衡這兩者的更優(yōu)評價(jià)指標(biāo),以Recall為橫軸,Precision為縱軸,就可以畫出一條PR曲線。PR曲線下的面積就定義為AP,mAP是各類AP的平均。
本文分別使用Faster-RCNN、YOLOv3、YOLOv5s以及改進(jìn)后的CBBi-YOLOv5s算法進(jìn)行實(shí)驗(yàn)并對比,具體訓(xùn)練結(jié)果如表1所示。根據(jù)實(shí)驗(yàn)結(jié)果可以得知,F(xiàn)aster-RCNN在本實(shí)驗(yàn)中檢測效果較差,mAP只有85.5%且fps<30,無法做到實(shí)時(shí)性檢測;YOLOv3算法相比較Faster-RCNN檢測效果有所提升,mAP值達(dá)到了87.5%;而YOLOv5s算法作為目前目標(biāo)檢測領(lǐng)域最為熱門的算法,在本實(shí)驗(yàn)中有著很好的檢測效果,檢測mAP值為90.6%,相比較YOLOv3算法提升了3.1%,并且檢測速度提升了近一倍。本文提出的改進(jìn)YOLOv5s的CBBi-YOLOv5s模型相比YOLOv5s模型檢測速度有所降低但檢測精度提升了3.5%,召回率提升了5%,F(xiàn)1-score提升了5.5%,mAP提升了4.6%,且降低的檢測速度并不會影響模型的實(shí)時(shí)性。改進(jìn)前后算法的mAP對比以及模型檢測效果分別如圖5、圖6所示。
圖6 模型檢測效果圖
表1 模型訓(xùn)練結(jié)果
圖5 改進(jìn)前后算法mAP對比圖
針對電力工人人工檢測絕緣子缺失效率低以及現(xiàn)有的絕緣子目標(biāo)檢測模型精度較低等問題,本文提出了一種基于計(jì)算機(jī)視覺的智慧電網(wǎng)嵌入式檢測系統(tǒng)設(shè)計(jì),相比于人工檢測可以節(jié)省高額人工費(fèi)用并降低電力工人從桿塔摔落的風(fēng)險(xiǎn)。同時(shí),本文對Faster-RCNN、YOLOv3以及YOLOv5s算法進(jìn)行實(shí)驗(yàn)對比,根據(jù)實(shí)驗(yàn)結(jié)果可知YOLOv5s算法是目前檢測效果較好的算法。為了進(jìn)一步提升模型對于復(fù)雜環(huán)境檢測的泛化能力以及對小目標(biāo)檢測的精度,對YOLOv5s算法融合CBAM注意力機(jī)制,并且將特征融合網(wǎng)絡(luò)改進(jìn)為加權(quán)雙向特征金字塔網(wǎng)絡(luò)。改進(jìn)后的模型檢測mAP相較于YOLOv5s提升了4.6%。將訓(xùn)練好的最優(yōu)模型部署至英偉達(dá)TX2中,通過無人機(jī)自動檢測絕緣子缺失,并將檢測結(jié)果傳輸至電力系統(tǒng)維護(hù)部門,實(shí)現(xiàn)了輸電線路絕緣子缺失的自動化巡檢。在后續(xù)的工作研究中,需要進(jìn)一步提升嵌入式設(shè)備的配置以提升模型檢測速度,并對算法做進(jìn)一步的改進(jìn)以提升檢測精度。