余一聰,何領(lǐng)朝,蔡榮貴,洪家軍
(1.莆田學(xué)院 新工科產(chǎn)業(yè)學(xué)院,福建 莆田 351100;2.福州數(shù)據(jù)技術(shù)研究有限公司,福建 福州 350200)
隨著電力系統(tǒng)智能化水平日益提升,人們對(duì)電力系統(tǒng)的日常安全穩(wěn)定運(yùn)行提出了更高需求。絕緣子是輸電系統(tǒng)中的重要元器件,數(shù)量龐大,長期暴露在室外環(huán)境下很容易出現(xiàn)故障,對(duì)電力系統(tǒng)的安全穩(wěn)定運(yùn)行造成嚴(yán)重的影響。我國疆土遼闊,地形復(fù)雜,輸電線路經(jīng)常需橫跨山河湖川,電力系統(tǒng)的巡線任務(wù)采用傳統(tǒng)的人工巡檢方式人力成本太高,對(duì)工作人員的素質(zhì)要求嚴(yán)格,同時(shí)易受復(fù)雜的自然環(huán)境影響,特別對(duì)偏遠(yuǎn)山區(qū)的輸電線路的檢查,更加耗時(shí)耗力,甚至由于作業(yè)難度太大,難以完成或者完成的質(zhì)量不高。為獲取輸電線路運(yùn)行狀況,同時(shí)降低巡線成本,提高巡線效率,電力部門逐漸開始用無人機(jī)巡檢替代人工巡檢。無人機(jī)巡檢不受天氣、環(huán)境影響,節(jié)約了人力物力,同時(shí)也拍攝了大量的現(xiàn)場照片,為后續(xù)算法訓(xùn)練做了重要的數(shù)據(jù)儲(chǔ)備。
目前大部分檢測(cè)方法是基于單步檢測(cè)法和兩步檢測(cè)法。兩步檢測(cè)法精度較高,但消耗計(jì)算資源較多,耗時(shí)較長,不利于落地部署。單步檢測(cè)法消耗資源較少,但精度較低。為解決上述問題,本文在YOLOv7算法的基礎(chǔ)上,通過增加CBAM注意力機(jī)制結(jié)構(gòu),并采用線上線下增強(qiáng)相結(jié)合模式,提出一種基于改進(jìn)的YOLOv7算法,稱為YOLOv7_CBAM,并應(yīng)用到絕緣子缺失檢測(cè)領(lǐng)域中。該算法利用YOLOv7算法強(qiáng)大的特征提取能力,學(xué)習(xí)從樣本中檢測(cè)絕緣子,并判斷絕緣子正常與否。實(shí)驗(yàn)結(jié)果表明,該方法模型能夠兼顧精度和速度,可以有效區(qū)分絕緣子是否存在缺失現(xiàn)象。本研究主要貢獻(xiàn)有以下三點(diǎn)。
(1)在原來YOLOv7算法基礎(chǔ)上增加CBAM注意力機(jī)制結(jié)構(gòu),有助于網(wǎng)絡(luò)模型在大面積覆蓋圖像中定位感興趣區(qū)域。
(2)將改進(jìn)YOLOv7算法應(yīng)用到絕緣子缺失檢測(cè)領(lǐng)域,提升了絕緣子缺失的檢測(cè)精度,節(jié)省了人力與時(shí)間成本。
(3)采用線下與線上增強(qiáng)相結(jié)合模式,增加了樣本多樣性,利于提升檢測(cè)的精確度。
當(dāng)前,計(jì)算機(jī)視覺識(shí)別圖像已成為學(xué)術(shù)界、工業(yè)界的一個(gè)主流研究方向。計(jì)算機(jī)視覺檢測(cè)方式分為單步檢測(cè)法和兩步檢測(cè)法。兩種不同策略的性能對(duì)比如表1所示,兩步檢測(cè)法精度較高,但消耗計(jì)算資源較多,耗時(shí)較長,不利于落地部署。單步檢測(cè)法消耗資源較少,但精度較低。

表1 不同策略性能對(duì)比
Zuo D等[1]提出了一種基于計(jì)算機(jī)視覺復(fù)雜背景下的直升機(jī)空中絕緣子成像缺陷檢測(cè)算法,該算法先通過特征提取,訓(xùn)練并獲取到一個(gè)具有檢測(cè)和定位功能的絕緣子分類器,針對(duì)絕緣子進(jìn)行一系列數(shù)字圖像處理并分割,最后利用分割好的絕緣子像素,分析確定絕緣子是否有缺陷。Guo F等[2]提出了一種基于YOLOv3的檢測(cè)算法,對(duì)拍攝的絕緣子圖像進(jìn)行檢測(cè)和分類,最終實(shí)現(xiàn)了對(duì)正常絕緣子和缺陷絕緣子的智能檢測(cè)。Liu X等[3]提出了一種基于FasterRCNN的絕緣子故障檢測(cè)方法,該方法包括一個(gè)卷積網(wǎng)絡(luò)、區(qū)域網(wǎng)絡(luò)和目標(biāo)檢測(cè)器,實(shí)現(xiàn)對(duì)絕緣子缺失區(qū)域的檢測(cè),該檢測(cè)方法雖精度有所提升,但兩步檢測(cè)消耗計(jì)算資源較多,耗時(shí)較長。
YOLO系列算法是一種基于端到端的單步檢測(cè)模型,通過將目標(biāo)檢測(cè)任務(wù)視為回歸問題,只需用一個(gè)神經(jīng)網(wǎng)絡(luò)就能同時(shí)預(yù)測(cè)出目標(biāo)的類別和位置,相比其他算法,檢測(cè)速度有了很大提升[4]。YOLOv1作為YOLO系列開山之作,其最大的缺陷是精度不高,在PASCAL VOC上的檢測(cè)精度達(dá)到63.4%,雖不如FastRcnn的73.2%,但其45FPS的檢測(cè)速度已完全能夠滿足實(shí)時(shí)檢測(cè)要求,況且該算法在精度上有很大的提升空間。YOLOv2在YOLOv1基礎(chǔ)上改進(jìn),在略微犧牲檢測(cè)速度的情況下提升檢測(cè)精度。后續(xù)版本如YOLOv3、YOLOv4等如法炮制,增加多種改進(jìn)如多尺度特征融合、錨框、注意力機(jī)制、數(shù)據(jù)增強(qiáng)等技術(shù)進(jìn)一步提升檢測(cè)精度。
YOLOv7模型是由Alexey Bochkovskiy等在2022年提出的,算法相較于之前提出的YOLOv4在精度和速度上都有很大提升[5]。在MS COCO數(shù)據(jù)集上5FPS到160FPS范圍內(nèi),速度和精度上表現(xiàn)優(yōu)于YOLOR、YOLOX、YOLOv5、DETR等算法。YOLOv7-E6比基于Transformer的檢測(cè)器Swin Cascade-Mask RCNN速度快509%,精度高2%,比基于卷積的檢測(cè)器ConvNeXt-XL Cascade-Mask RCNN[6]速度快551%,精度高0.7%。
原始絕緣子數(shù)據(jù)集由1000張圖像組成。材料上包括橡膠絕緣子、玻璃絕緣子、陶瓷絕緣子。結(jié)構(gòu)上包括單絕緣子串和雙絕緣子串。總共分為三類標(biāo)簽,分別是:正常絕緣子串Normal_insulator、包含缺失的絕緣子串Defective_insulators、缺失絕緣子串Insulators_fault。
數(shù)據(jù)增強(qiáng)分為線下增強(qiáng)和線上增強(qiáng)兩種處理。線下增強(qiáng):對(duì)數(shù)據(jù)集中的圖像進(jìn)行反轉(zhuǎn)、隨機(jī)調(diào)整亮度、隨機(jī)裁剪、旋轉(zhuǎn)等增加樣本多樣性,以便增加樣本數(shù)量[7]。線上增強(qiáng):在輸入網(wǎng)絡(luò)模型前,對(duì)樣本進(jìn)行翻轉(zhuǎn)、調(diào)整亮度、Mosaic、隨機(jī)裁剪、Mixup[8]、Copy_paste[9]等,并且一般不改變樣本數(shù)量。
為了增強(qiáng)數(shù)據(jù),本研究采用線下增強(qiáng)采用隨機(jī)翻轉(zhuǎn)、隨機(jī)改變亮度對(duì)比度策略,把樣本增強(qiáng)至8084張。線上增強(qiáng)采用隨機(jī)左右翻轉(zhuǎn)、Mosaic、Mixup、Copy_paste。
YOLOv7網(wǎng)絡(luò)的主要成就包括以下四點(diǎn):(1)設(shè)計(jì)了幾種Bag-of-freebies方法,可以在不增加推理成本的情況下提高檢測(cè)精度。(2)發(fā)現(xiàn)了兩個(gè)新問題,一是重參數(shù)化模塊如何替換原始模塊,二是動(dòng)態(tài)分配策略如何分配給不同輸出層問題,并針對(duì)這兩個(gè)問題給出解決方案。(3)提出實(shí)時(shí)目標(biāo)檢測(cè)擴(kuò)充方法和符合擴(kuò)充方法,可以有效計(jì)算和設(shè)計(jì)參數(shù)。(4)減少約40%的參數(shù)和50%的計(jì)算量,并且表現(xiàn)出更快的推理速度和更高的檢測(cè)精度。
網(wǎng)絡(luò)坐標(biāo)損失采用CIoULoss,目標(biāo)置信度損失與分類損失均采用BCEWith-LogitsLoss,如式(1)所示。
LCIOU=1-IOU(A,B)+ρ2(Actr,Bctr)/c2+α·v
(1)
式(1)中,v、α分別滿足式(2)和式(3)。
(2)
(3)
式(2)和式(3)中,A表示預(yù)測(cè)框,B表示真實(shí)框,wgt與hgt表示真實(shí)框B的寬與高,w與h表示預(yù)測(cè)框A的寬與高,ρ表示框A與B之間的歐式距離,c為框A與B最小包圍框的對(duì)角線長度,IOU(A,B)表示框A與B之間交并比,如式(4)所示。
LBCEWithLogits={l1,l2,…,ln}
(4)
n表示Batch size,其中l(wèi)n滿足關(guān)系式(5)。
ln=-wn[yn·logxn+(1-yn)·log(1-xn)]
(5)
CBAM塊是一個(gè)簡捷有效的注意力機(jī)制模塊,如圖1所示,該模塊融合了通道注意力機(jī)制和空間注意力機(jī)制,能快速集成到卷積神經(jīng)網(wǎng)絡(luò)中,實(shí)現(xiàn)端到端訓(xùn)練[10]。通道注意力機(jī)制與時(shí)頻變換類似,它為不同通道分配不同大小的權(quán)重,以衡量通道與關(guān)鍵信息之間的相關(guān)性,并間接地提高對(duì)關(guān)鍵信息的關(guān)注度。空間注意力機(jī)制則將不同的權(quán)重分配給特征圖中的不同區(qū)域,以增強(qiáng)重要區(qū)域的信息,削弱非重要區(qū)域的信息。通道注意力機(jī)制篩選與目標(biāo)相關(guān)的通道信息,而空間注意力機(jī)制關(guān)注與目標(biāo)相關(guān)的位置信息。

圖1 CBAM模塊結(jié)構(gòu)
在卷積層輸出后,經(jīng)過通道注意力模塊加權(quán)處理后,特征會(huì)再進(jìn)入空間注意力模塊進(jìn)一步加權(quán)處理,最終輸出加權(quán)結(jié)果。該結(jié)構(gòu)結(jié)合通道和空間兩個(gè)維度的注意力機(jī)制模塊,不僅能有效減少參數(shù)和計(jì)算力,還能作為即插即用的模塊集成到現(xiàn)有網(wǎng)絡(luò)架構(gòu)中去,以便進(jìn)一步提高特征提取能力。
本文改進(jìn)YOLOv7網(wǎng)絡(luò)模型如圖2所示,其中YOLOv7網(wǎng)絡(luò)中各模塊結(jié)構(gòu)如圖3所示。通過將CBAM模塊添加到REP模塊前,有助于網(wǎng)絡(luò)在大面積覆蓋圖像中定位感興趣區(qū)域。

圖2 改進(jìn)YOLOv7網(wǎng)絡(luò)模型

圖3 YOLOv7各模塊結(jié)構(gòu)示意圖
實(shí)驗(yàn)設(shè)計(jì)流程主要包括以下幾步,如圖4所示,首先獲取數(shù)據(jù)集;對(duì)獲取到的數(shù)據(jù)集進(jìn)行打標(biāo)簽,主要標(biāo)注類別以及目標(biāo)所在樣本中的位置坐標(biāo);對(duì)所有樣本進(jìn)行線下增強(qiáng),方法包括隨機(jī)旋轉(zhuǎn)、改變亮度、隨機(jī)剪切等,標(biāo)簽同時(shí)隨著樣本增強(qiáng)改變;對(duì)增強(qiáng)后的樣本進(jìn)行隨機(jī)切分,分為測(cè)試集和訓(xùn)練集,本方法采用的切分比例為測(cè)試集:訓(xùn)練集=1:9;最后將增強(qiáng)后的訓(xùn)練集樣本進(jìn)行批量線上增強(qiáng),然后輸入到改進(jìn)YOLOv7網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練;最后保存訓(xùn)練好的權(quán)重,在測(cè)試集上進(jìn)行結(jié)果驗(yàn)證。

圖4 實(shí)驗(yàn)設(shè)計(jì)流程
實(shí)驗(yàn)評(píng)價(jià)指標(biāo)包括Pr(精確度)、AP(每個(gè)分類的平均精度)、mAP(平均精度均值)、Re(召回率)。精確度與召回率的求解如式(6)所示。
(6)
式(6)中,Tp是正樣本正確識(shí)別為正樣本的樣本數(shù)目,Fp是負(fù)樣本被錯(cuò)誤識(shí)別為正樣本的樣本數(shù)目,Fn是正樣本被錯(cuò)誤識(shí)別為負(fù)樣本的樣本數(shù)目。召回率表示算法從數(shù)據(jù)集中找回正樣本的能力,精確度用來衡量算法從數(shù)據(jù)集中找出正樣本的準(zhǔn)確性。
IOU(交并比)用來衡量候選框與標(biāo)記框重疊率,取值為0到1。當(dāng)使用不同的預(yù)設(shè)IOU值,檢測(cè)目標(biāo)的召回率Re與精確度Pr也不同。P-R曲線表示取不同IOU值,精確度Pr與召回率Re形成的曲線。AP表示P-R曲線與坐標(biāo)軸圍成的面積,類別AP值越大,表示模型對(duì)該類別的檢測(cè)效果越好。mAP表示所有類別目標(biāo)的AP均值,如式(7)所示。
(7)
式(7)中,APi表示第i類目標(biāo)AP值,n表示需要檢測(cè)的目標(biāo)個(gè)數(shù)。mAP越大,表示算法的整體性能越好。
本研究選用YOLOv5、YOLOv7、FasterRCNN、SSD算法作為對(duì)比算法。YOLOv5網(wǎng)絡(luò)模型選用YOLOv5m、YOLOv5n、YOLOv5s,樣本輸入尺寸選用640×640大小,均訓(xùn)練30個(gè)Epoch,且均在官方給出的模型上進(jìn)行調(diào)優(yōu)。本文改進(jìn)的YOLOv7與非YOLO系列模型FasterRCNN、SSD的實(shí)驗(yàn)對(duì)比結(jié)果如圖5和圖6所示,其中圖中標(biāo)記的YOLOv7_CBAM是本文改進(jìn)的方法。

圖5 非YOLO系列實(shí)驗(yàn)對(duì)比結(jié)果(mAP_0.5)

圖6 非YOLO系列實(shí)驗(yàn)對(duì)比結(jié)果(mAP_0.5:0.95)
圖5中mAP_0.5記為將IOU設(shè)為0.5時(shí)的mAP值,mAP_0.5:0.95記為在不同IOU閾值,從0.5到0.95,步長為0.05上的平均mAP。
由圖5和圖6可以看出,改進(jìn)YOLOv7算法mAP曲線起始值均大于FasterRCNN、SSD,表明YOLOv7的預(yù)訓(xùn)練模型泛化性要優(yōu)于FasterRCNN、SSD。改進(jìn)YOLOv7算法曲線提前進(jìn)入高位平穩(wěn)狀態(tài),表明在該檢測(cè)任務(wù)上改進(jìn)YOLOv7算法檢測(cè)性能要大大優(yōu)于FasterRCNN、SSD的檢測(cè)效果,且改進(jìn)YOLOv7模型收斂性和泛化能力比FasterRCNN、SSD更強(qiáng)。
在進(jìn)行改進(jìn)的YOLOv7與同為YOLO系列的官方Y(jié)OLOv7、YOLOv5m、YOLOv5n、YOLOv5s的實(shí)驗(yàn)對(duì)比,如圖7和圖8所示,改進(jìn)YOLOv7和官方的YOLOv7趨勢(shì)接近,它的mAP_0.5與mAP_0.5:0.95起時(shí)值均比YOLOv5大,這表明YOLOv7的預(yù)訓(xùn)練模型泛化性要優(yōu)于YOLOv5。改進(jìn)YOLOv7與YOLOv7的mAP_0.5曲線均在YOLOv5上方,且提前進(jìn)入平穩(wěn)狀態(tài),這表明在檢測(cè)任務(wù)上YOLOv7算法檢測(cè)性能優(yōu)于YOLOv5,且模型收斂性較強(qiáng)。改進(jìn)YOLOv7與YOLOv7的mAP_0.5:0.95曲線同樣在YOLOv5上方,在YOLOv5已經(jīng)達(dá)到收斂狀態(tài)時(shí),改進(jìn)YOLOv7與YOLOv7曲線不僅在上方,且仍呈上升趨勢(shì),表明在YOLOv5性能達(dá)到瓶頸時(shí),改進(jìn)YOLOv7與YOLOv7仍具有上升優(yōu)化空間。而單獨(dú)對(duì)比改進(jìn)YOLOv7與YOLOv7曲線,發(fā)現(xiàn)改進(jìn)YOLOv7曲線均在官方Y(jié)OLOv7模型上方,改進(jìn)YOLOv7精度達(dá)到了99.03%,由于YOLOv7的精度已經(jīng)很高,因此在圖8中表現(xiàn)不太明顯。

圖7 改進(jìn)YOLOv7與YOLO系列的模型實(shí)驗(yàn)對(duì)比結(jié)果(mAP_0.5)

圖8 改進(jìn)YOLOv7與YOLO系列的模型實(shí)驗(yàn)對(duì)比結(jié)果(mAP_0.5:0.95)
進(jìn)一步分析圖7與圖8的數(shù)據(jù),可以發(fā)現(xiàn)同時(shí)訓(xùn)練20Epoch時(shí),改進(jìn)YOLOv7算法的mAP_0.5:0.95值分別比官方Y(jié)OLOv7、YOLOv5m、YOLOv5s、YOLOv5n高了近0.4%、8.25%、20.15%、38.54%,mAP_0.5的值提高了近1.07%、1.13%、4.04%、8.26%。這完全可以表明改進(jìn)的YOLOv7模型是完全有效。
基于改進(jìn)YOLOv7模型在應(yīng)用效果中的部分推理結(jié)果,表明本文提出的方法能夠有效區(qū)分絕緣子是否存在缺失,判斷并標(biāo)注缺失的位置,如圖9所示。

圖9 改進(jìn)YOLOv7網(wǎng)絡(luò)推理結(jié)果
絕緣子是輸電系統(tǒng)中的重要元器件,本文提出基于改進(jìn)YOLOv7的絕緣子缺失檢測(cè)方法,采用線上增強(qiáng)與線下增強(qiáng)相結(jié)合的數(shù)據(jù)增強(qiáng)模式,增加了樣本多樣性,利用改進(jìn)YOLOv7算法強(qiáng)大的特征提取能力,從樣本中檢測(cè)絕緣子,判斷絕緣子正常與否并標(biāo)記位置。實(shí)驗(yàn)結(jié)果表明,該方法模型在測(cè)試集上的mAP_0.5(又稱為Map50)達(dá)到了99.03%,精度較原來YOLOv7算法提升了1.07%,能夠有效區(qū)分絕緣子是否存在缺失。另外,本方法仍有一些不足之處,如絕緣子在圖像中占比較小時(shí),識(shí)別將受到影響。在采集圖像時(shí),外界的天氣、環(huán)境中的浮塵以及拍攝角度等因素,都會(huì)導(dǎo)致獲得的圖像存在噪聲,這種噪聲會(huì)對(duì)圖像質(zhì)量產(chǎn)生負(fù)面影響,如降低對(duì)比度、模糊圖像特征等,進(jìn)而影響識(shí)別的準(zhǔn)確性。