張 磊,胡仕林,張家瑞
(1.三峽大學(xué) 電氣與新能源學(xué)院,湖北 宜昌 443002;2.智慧能源技術(shù)湖北省工程研究中心(三峽大學(xué)),湖北 宜昌 443002)
配電網(wǎng)線路多數(shù)為野外架空線路。受野外復(fù)雜氣象環(huán)境的影響,線路上的絕緣子在長(zhǎng)期運(yùn)行過(guò)程中容易出現(xiàn)污穢、破損等問題[1]。因此,對(duì)配電網(wǎng)絕緣子的定期巡檢至關(guān)重要。
無(wú)人機(jī)在配電線路巡檢中的應(yīng)用,降低了人工巡線的工作量;同時(shí),機(jī)器視覺自動(dòng)識(shí)別可見光巡檢圖像數(shù)據(jù)技術(shù)的使用,極大提高了電力巡檢的效率[2]。
基于深度學(xué)習(xí)的巡檢圖像自動(dòng)識(shí)別主要分為2 類[3]。
一類是以 Faster R-CNN[4](towards real-time object detection with region proposal networks)系列為代表的2階段檢測(cè)算法。該類檢測(cè)方法的檢測(cè)精度高,但是速度較慢。文獻(xiàn)[5]采用Faster R-CNN網(wǎng)絡(luò)對(duì)多種電力設(shè)備進(jìn)行識(shí)別,并討論了不同參數(shù)對(duì)識(shí)別結(jié)果的影響;但是僅實(shí)現(xiàn)了不同目標(biāo)部件分類,未做缺陷檢測(cè)。文獻(xiàn)[6]使用Faster R-CNN網(wǎng)絡(luò)先對(duì)絕緣子定位,再使用 U-net網(wǎng)絡(luò)檢測(cè)切割出來(lái)的圖像中所顯示出的玻璃絕緣子自爆缺陷;該方法計(jì)算時(shí)間較長(zhǎng),并且制作圖像分割的像素級(jí)標(biāo)簽的工作量大。
另一類是以 SSD[7](single shot multibox detector)、YOLO[8](you only look once: unified,real-time object detection)系列為代表的單階段檢測(cè)算法。該類算法極大地提高了目標(biāo)檢測(cè)速度。文獻(xiàn)[9]先對(duì)采集的圖像數(shù)據(jù)進(jìn)行銳化預(yù)處理,再使用 YOLOv3神經(jīng)網(wǎng)絡(luò)定位并截取出防鳥刺區(qū)域,最后利用改進(jìn)的Resnet(residual network)網(wǎng)絡(luò)實(shí)現(xiàn)了故障防鳥刺檢測(cè);算法提高了對(duì)輪廓模糊和目標(biāo)重疊的防鳥刺檢測(cè)效果,但是增加了檢測(cè)時(shí)間。文獻(xiàn)[10]制作了絕緣子破損缺陷融合圖像數(shù)據(jù)集,用GhostNet模塊替代YOLOv5主干網(wǎng)絡(luò)中的殘差模塊;算法提高了破損絕緣子檢測(cè)準(zhǔn)確率,但還需要在文中未涉及的其他類型絕緣子缺陷檢測(cè)方面做更進(jìn)一步研究。
雖然現(xiàn)有的研究已經(jīng)在輸電線路巡檢圖像的缺陷檢測(cè)方面取得了一定成果,但是這些成果的實(shí)際應(yīng)用較少。
與輸電線路中的長(zhǎng)串絕緣子相比,配電線路絕緣子尺寸更小、其巡檢圖像現(xiàn)場(chǎng)環(huán)境更復(fù)雜、其缺陷在圖像中表現(xiàn)出更加多樣化的形態(tài),這使得檢測(cè)算法的訓(xùn)練集往往難以覆蓋到所有的缺陷形態(tài)[11];同時(shí),陰影和塔材的遮擋容易導(dǎo)致檢測(cè)算法對(duì)缺陷的誤檢。
基于此,本文提出了一種基于改進(jìn) YOLOv5s的配電網(wǎng)絕緣子缺陷分級(jí)檢測(cè)方法:通過(guò)YOLOv5s定位絕緣子區(qū)域,以減小復(fù)雜背景的干擾;再由圖像分類網(wǎng)絡(luò)DenseNet(dense convolutional network)對(duì)定位區(qū)域做進(jìn)一步的故障識(shí)別。
在配電線路中,常見的絕緣子缺陷[12]主要有污穢、破損和灼傷。采集到的絕緣子缺陷圖像具體示例如圖1所示。
圖1 配電網(wǎng)絕緣子缺陷圖像示例Fig.1 Examples of insulator defects in distribution networks
如圖2所示,本文提出一種基于改進(jìn)YOLOv5s的配電網(wǎng)絕緣子缺陷分級(jí)檢測(cè)方法:
圖2 配電網(wǎng)絕緣子故障檢測(cè)流程Fig.2 Distribution network insulator fault detection process
在離線訓(xùn)練階段,通過(guò)絕緣子定位和故障分類數(shù)據(jù)集對(duì)YOLOv5s和DenseNet201網(wǎng)絡(luò)分別進(jìn)行訓(xùn)練。
在實(shí)時(shí)檢測(cè)階段,先通過(guò)YOLOv5s神經(jīng)網(wǎng)絡(luò)對(duì)所采集圖像中的絕緣子進(jìn)行區(qū)域定位;然后,將YOLOv5s模型定位的絕緣子區(qū)域裁剪成單獨(dú)的圖片。
最后,由圖像分類網(wǎng)絡(luò)DenseNet201進(jìn)行進(jìn)一步的故障分類;在準(zhǔn)確識(shí)別故障絕緣子的同時(shí),有效識(shí)別出第一階段目標(biāo)檢測(cè)中出現(xiàn)的誤檢區(qū)域。
本文模型采用輕量級(jí)目標(biāo)檢測(cè)網(wǎng)絡(luò) YOLOv5s的6.0版本模型,優(yōu)點(diǎn)是:在保證準(zhǔn)確率的同時(shí),可使檢測(cè)速度更快;同時(shí),使算法適用于無(wú)人機(jī)巡檢所使用的嵌入式設(shè)備。
在YOLOv5的6.0版本基礎(chǔ)上,將原有的Focus模塊替換為6×6的卷積層,將空間金字塔池化結(jié)構(gòu)(spatial pyramid pooling,SPP)替換為快速空間金字塔池化結(jié)構(gòu)(spatial pyramid pooling-fast,SPPF)。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 基于YOLOv5的模型結(jié)構(gòu)Fig.3 Model structure based on YOLOv5
Input模塊的作用是,將輸入圖片尺寸調(diào)整為640×640,再通過(guò)“Mosaic數(shù)據(jù)增強(qiáng)”和“自適應(yīng)圖片縮放”操作對(duì)圖片進(jìn)行隨機(jī)縮放、裁剪、拼接、自適應(yīng)填充,最后送入網(wǎng)絡(luò)中。在訓(xùn)練時(shí),根據(jù)絕緣子檢測(cè)數(shù)據(jù)集中的目標(biāo)框,使用Kmeans算法聚類重新生成Anchors模板。
Backbone是用于特征提取的主干網(wǎng)絡(luò)。在網(wǎng)絡(luò)第一層,使用6×6的卷積層替換原有Focus模塊,目的是使算法在現(xiàn)有的GPU設(shè)備上運(yùn)行得更加高效。
SPPF結(jié)構(gòu)如圖4所示。相比SPP結(jié)構(gòu),在相同計(jì)算結(jié)果條件下,SPPF結(jié)構(gòu)的將輸入串行通過(guò)多個(gè) maxpool層的方式可以達(dá)到大幅縮短計(jì)算時(shí)間的效果,同時(shí)起到了進(jìn)一步壓縮模型的目的。
圖4 SPPF結(jié)構(gòu)圖Fig.4 SPPF structure diagram
為融合多層特征,Neck采用了由FPN(feature pyramid network)+PAN(pixel aggregation network)構(gòu)建的特征金字塔經(jīng)典結(jié)構(gòu)。FPN從上到下傳遞語(yǔ)義特征,PAN從下到上加強(qiáng)定位信息[13]。
Output模塊是輸出端,用于計(jì)算交并比(intersection of union,IOU)損失。其采用CIOU_Loss作為邊界框的損失函數(shù),同時(shí)通過(guò)非極大值抑制(non-maximum-suppression,NMS)來(lái)篩選目標(biāo)框。考慮配電網(wǎng)絕緣子巡檢圖像中會(huì)有絕緣子相互遮擋的情況發(fā)生,所以采用加權(quán)NMS,使重疊預(yù)測(cè)框容易被濾除。同時(shí),將NMS中的IOU修改為DIOU,以更好地檢測(cè)出遮擋重疊的絕緣子。
式中:b和bgt分別為模型預(yù)測(cè)的絕緣子定位框和實(shí)際框的中心;ρ為2個(gè)中心點(diǎn)間的歐式距離;c為同時(shí)包含預(yù)測(cè)框和實(shí)際框的最小矩形對(duì)角線長(zhǎng)度。
在完成絕緣子目標(biāo)檢測(cè)之后,利用檢測(cè)框坐標(biāo)信息來(lái)截取絕緣子區(qū)域,然后再對(duì)絕緣子區(qū)域進(jìn)行缺陷檢測(cè)。
本文采用 DenseNet201[14]網(wǎng)絡(luò)進(jìn)行絕緣子缺陷檢測(cè)。DenseNet201網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示,其特點(diǎn)是通過(guò) Dense Block模塊實(shí)現(xiàn)對(duì)淺層特征的重復(fù)利用[15],使得絕緣子特征信息提取效果較好。
圖5 DenseNet201算法結(jié)構(gòu)圖Fig.5 DenseNet201 algorithm structure diagram
在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中,每一層的輸入直接連接到下一層;而ResNet網(wǎng)絡(luò)在運(yùn)算過(guò)程中則是通過(guò)跨層連接來(lái)減小梯度消失,如公式(2)所示。
DenseNet網(wǎng)絡(luò)在運(yùn)算時(shí),通過(guò) Dense Block模塊將前面所有層的輸出作為每一層的輸入,具體如公式(3)所示。
式中:Hl為對(duì)應(yīng)網(wǎng)絡(luò)中BN、ReLU、Pooling、Conv等操作的非線性變換;Xl為對(duì)應(yīng)第l層的輸出特征圖;X0,X1,···,Xl-1為對(duì)應(yīng)所有層的特征映射的拼接。
由于本文自建的絕緣子故障檢測(cè)數(shù)據(jù)集樣本數(shù)量有限,所以采用遷移學(xué)習(xí)的方法加載經(jīng)過(guò)大型數(shù)據(jù)集ImageNet充分訓(xùn)練的參數(shù)作為預(yù)訓(xùn)練權(quán)重,然后將其遷移到本文的絕緣子故障分類網(wǎng)絡(luò)上做微調(diào)訓(xùn)練,以提高絕緣子故障檢測(cè)準(zhǔn)確率。
實(shí)驗(yàn)計(jì)算環(huán)境如下。
硬件條件:Intel Core i7-7700K@4.20 GHz CPU、16 GB運(yùn)行內(nèi)存;NVIDIA GTX1060 6 GB顯卡。
軟件條件:Python3.8、Pycharm 社區(qū)版、Pytorch1.10.1深度學(xué)習(xí)框架、cuda11.3.1和cuDNN8.2.1。
所用數(shù)據(jù)來(lái)自某省35 kV和10 kV架空配電線路巡檢無(wú)人機(jī)航拍圖像。35 kV線路安裝有玻璃和陶瓷材質(zhì)的盤形絕緣子;10 kV線路安裝有陶瓷材質(zhì)的針式絕緣子。
選取拍攝絕緣子的圖像約3 252張,其中含有故障絕緣子的圖像共1 013張??紤]在計(jì)算時(shí),圖像過(guò)高的分辨率會(huì)占用大量?jī)?nèi)存空間,所以將樣本圖像分辨率統(tǒng)一調(diào)整為1 920×1 280。數(shù)據(jù)集的劃分如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集描述Tab.1 Description of experimental dataset 張
針對(duì)絕緣子定位數(shù)據(jù)集,采用Labelimg標(biāo)注工具對(duì)絕緣子區(qū)域用矩形框進(jìn)行人工標(biāo)注。數(shù)據(jù)集按8:1:1的比例劃分,用于YOLOv5s絕緣子定位模型的訓(xùn)練。
為降低人工標(biāo)記工作量,先用少量人工標(biāo)注的樣本對(duì)YOLOv5s進(jìn)行訓(xùn)練,再用訓(xùn)練好的模型對(duì)剩余圖像進(jìn)行自動(dòng)標(biāo)注,最后由人工對(duì)標(biāo)注框進(jìn)行調(diào)整[16]。
針對(duì)故障分類數(shù)據(jù)集圖像,采用基于絕緣子定位數(shù)據(jù)集中的標(biāo)注框信息截取絕緣子區(qū)域,同時(shí)隨機(jī)截取沒有絕緣子的背景區(qū)域。于是,標(biāo)注區(qū)域分為正常絕緣子、故障絕緣子和背景3類,將其用于 DenseNet201故障分類網(wǎng)絡(luò)的訓(xùn)練。加入背景這一類可以有效排除絕緣子定位階段的誤檢對(duì)第二階段故障分類的影響。
本文使用6個(gè)指標(biāo)來(lái)綜合評(píng)價(jià)模型性能,分別是精確率(Precision)、召回率(Recall)、均值平均精度(mAP)、準(zhǔn)確率(ACC)、F1-score和平均檢測(cè)處理時(shí)間。
采用定位數(shù)據(jù)集來(lái)訓(xùn)練絕緣子定位模型YOLOv5s。由于本文的數(shù)據(jù)集較小,訓(xùn)練時(shí)選用Adam優(yōu)化器。
設(shè)置參數(shù):初始學(xué)習(xí)率為 0.001;批量大?。╞atchsize)為8;輸入圖像分辨率為640×640;迭代次數(shù)(epoch)為300。
YOLOv5s模型在訓(xùn)練過(guò)程中的準(zhǔn)確率、召回率和平均精確度隨迭代次數(shù)變化曲線如圖6所示。圖6中,mAP@0.5表示IOU閾值為0.5時(shí)的平均精確度曲線,mAP@IOU0.5~0.95表示IOU閾值在0.5到0.95之間時(shí)平均精確度曲線。
圖6 YOLOv5s參數(shù)變化曲線Fig.6 YOLOv5s parameter change curve
由圖6可以看出,mAP@IOU0.5~0.95可以更好地評(píng)價(jià)絕緣子定位框位置的準(zhǔn)確性。
在模型訓(xùn)練 100次后,準(zhǔn)確率、召回率和mAP@0.5曲線基本趨于穩(wěn)定;模型訓(xùn)練200次后,mAP@IOU0.5~0.95趨于穩(wěn)定。
最終,定位模型在絕緣子定位數(shù)據(jù)集的測(cè)試集上精確率為96.5%,召回率為94.4%,mAP@0.5值為97.4%,mAP@IOU0.5~0.95值為75.6%,平均檢測(cè)時(shí)間為11.8 ms。這說(shuō)明,模型能夠快速準(zhǔn)確地定位絕緣子區(qū)域。
使用故障分類數(shù)據(jù)集訓(xùn)練絕緣子故障檢測(cè)模型DenseNet201。設(shè)置訓(xùn)練參數(shù):批量大小為16,迭代次數(shù)為300,初始學(xué)習(xí)速率為0.001。
DenseNet201網(wǎng)絡(luò)首先加載經(jīng)過(guò)ImageNet數(shù)據(jù)集訓(xùn)練的預(yù)訓(xùn)練權(quán)重,然后使用故障分類數(shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行進(jìn)一步的調(diào)整。
DenseNet201模型訓(xùn)練過(guò)程的準(zhǔn)確率和損失值變化如圖7所示。從圖7中可以看出,在迭代次數(shù)達(dá)到100次以上時(shí),模型準(zhǔn)確率和損失值逐漸趨于穩(wěn)定;在迭代次數(shù)達(dá)到200次以上時(shí),模型訓(xùn)練準(zhǔn)確率最終穩(wěn)定在95%左右。
圖7 平均正確率和損失值變化曲線Fig.7 Change curves of average accuracy rate and loss value
最終,模型在故障分類數(shù)據(jù)集的測(cè)試集上檢測(cè)準(zhǔn)確率為 93.3%;這表明模型能夠較好地實(shí)現(xiàn)故障絕緣子故障檢測(cè)。
為了驗(yàn)證本文方法的性能,進(jìn)行與 Faster R-CNN和YOLOv5s算法的對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)中,對(duì)目標(biāo)檢測(cè)網(wǎng)絡(luò)設(shè)置相同的參數(shù)訓(xùn)練次數(shù)——300次。實(shí)驗(yàn)結(jié)果如表2所示。
表2 絕緣子定位結(jié)果對(duì)比Tab.2 Comparison of insulator positioning results %
由表2可以看出,F(xiàn)aster R-CNN檢測(cè)速度較慢且效果不理想。與原始YOLOv5s算法相比,本文改進(jìn)的算法優(yōu)勢(shì)在于:(1)縮短了計(jì)算時(shí)間,平均檢測(cè)時(shí)間縮短了4.7 ms;(2)降低了漏檢率,召回率提高了 2.7%;(3)可以更好地檢測(cè)出遮擋重疊的絕緣子,mAP值提高了3.8%。
為了驗(yàn)證本文絕緣子故障分類模型的先進(jìn)性,進(jìn)行與VGG16、ResNet50和DenseNet169算法的對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)中,對(duì)故障分類網(wǎng)絡(luò)設(shè)置相同的參數(shù)訓(xùn)練次數(shù)——300次。實(shí)驗(yàn)結(jié)果如表3所示。
表3 絕緣子故障分類結(jié)果對(duì)比Tab.3 Comparison of insulator fault classification results %
由表3可以看出,DenseNet201能夠有效地實(shí)現(xiàn)絕緣子故障的檢測(cè),其準(zhǔn)確率為 93.3%,精確率為92.5%,召回率為94.0%,F(xiàn)1值為93.2%,均高于其他3種絕緣子故障分類模型。
對(duì)以農(nóng)田和樹林等野外環(huán)境為背景的圖像樣本進(jìn)行絕緣子檢測(cè),結(jié)果如圖8所示。由圖8可以看出,在各種遮擋導(dǎo)致特征表達(dá)能力不足的情況下,改進(jìn)后的YOLOv5s算法可以準(zhǔn)確定位絕緣子。
圖8 野外背景下樣本檢測(cè)結(jié)果對(duì)比Fig.8 Comparison of sample detection results in wild background
為了進(jìn)一步驗(yàn)證本文方法的有效性,在典型場(chǎng)景下對(duì)模型進(jìn)行識(shí)別對(duì)比驗(yàn)證,結(jié)果如圖9所示。圖中,樣本的背景環(huán)境復(fù)雜,圖像中絕緣子數(shù)量較多,存在多尺度目標(biāo)且相互遮擋。
圖9 經(jīng)典場(chǎng)景下樣本檢測(cè)結(jié)果對(duì)比Fig.9 Comparison of sample detection results in classic scenarios
對(duì)比圖9(a)與圖9(b)可以看出,改進(jìn)的YOLOv5s算法可以檢測(cè)出被遮擋的絕緣子,檢測(cè)的結(jié)果范圍更全面,但是出現(xiàn)了對(duì)背景雜物的誤檢。從圖9(c)中可以看出,本文方法通過(guò)第二級(jí) DenseNet201網(wǎng)絡(luò)有效排除了對(duì)背景雜物的誤檢,同時(shí)能夠?qū)⒐收辖^緣子和正常絕緣子進(jìn)行分類;但是檢測(cè)結(jié)果中出現(xiàn)被遮擋的絕緣子出現(xiàn)了重復(fù)標(biāo)注的情況,其主要原因是IOU閾值參數(shù)設(shè)置偏大。后續(xù)將針對(duì)該問題進(jìn)行研究。
本文提出一種基于YOLOV5和DenseNet201的配電網(wǎng)絕緣子缺陷分級(jí)檢測(cè)方法——先通過(guò)YOLOv5s網(wǎng)絡(luò)定位配電網(wǎng)絕緣子區(qū)域,再由DenseNet201網(wǎng)絡(luò)對(duì)絕緣子區(qū)域做進(jìn)一步的故障分類和誤檢排除。
對(duì)比實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)后的分級(jí)檢測(cè)網(wǎng)絡(luò)檢測(cè)準(zhǔn)確度更高,能夠更好地識(shí)別出在遮擋情況下特征表達(dá)能力不足的故障絕緣子,同時(shí)排除對(duì)背景雜物的誤檢。
考慮分級(jí)檢測(cè)在漏檢的小目標(biāo)檢測(cè)方面沒有有效改進(jìn),后期將針對(duì)該問題進(jìn)一步展開研究。