韓睿,戴哲仁,蔣鵬,李晨,姜雄偉
(1.國網(wǎng)浙江省電力有限公司電力科學(xué)研究院,杭州 310014;2.國網(wǎng)浙江省電力有限公司,杭州 310007)
隨著國家經(jīng)濟水平日益提高,居民及生產(chǎn)的用電需求日益加大,電網(wǎng)設(shè)備數(shù)量增多,電網(wǎng)安全穩(wěn)定運行的重要性日漸凸顯。為保障電網(wǎng)的可靠運行,電網(wǎng)的巡檢技術(shù)已從傳統(tǒng)人工巡檢過渡到以視頻圖像數(shù)據(jù)為媒介的自動化巡檢,提升了電網(wǎng)巡檢的自動化、信息化水平[1]。為提升多場景、多類別的電力缺陷檢測的綜合性能,基于視頻圖像分析的深度學(xué)習(xí)目標(biāo)檢測算法獲得了越來越廣泛的關(guān)注[2]。文獻[3-4]在雙階段目標(biāo)檢測網(wǎng)絡(luò)Faster R-CNN(改進的快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò))的基礎(chǔ)上,實現(xiàn)了無人值守變電站視頻監(jiān)控系統(tǒng)對動態(tài)小尺寸入侵目標(biāo)體的識別與定位。文獻[5-7]通過改進單階段目標(biāo)檢測網(wǎng)絡(luò)YOLOv3,實現(xiàn)了絕緣子異物檢測。
隨著基于視頻圖像檢測的智能巡檢技術(shù)推廣,數(shù)據(jù)的采集與處理迎來了新的挑戰(zhàn)。現(xiàn)行的巡檢系統(tǒng)多采用集中式數(shù)據(jù)處理,先將各采集點數(shù)據(jù)回傳至數(shù)據(jù)中心,隨后再統(tǒng)一進行數(shù)據(jù)處理與分析。隨著數(shù)據(jù)采集裝置時空分布更加分散,部分采集裝置可能存在數(shù)據(jù)傳輸信號弱,回傳速度慢甚至丟失回傳數(shù)據(jù)的情形;面對山火等突發(fā)式缺陷場景可能引起漏檢,錯過最佳處理時機。此外,由于數(shù)據(jù)流量增大,數(shù)據(jù)采集點流量費用增加,提高了總的運行成本。文獻[8-12]指出,電力設(shè)備與控制中心、電力用戶與電力企業(yè)間的數(shù)據(jù)流大量增加,亟需在邊緣側(cè)架設(shè)邊緣終端設(shè)備對源頭數(shù)據(jù)進行實時處理。文獻[13-14]指出,部分電力缺陷需要快速做出響應(yīng),而傳統(tǒng)的檢測手段在實時性上有所不足,需要開發(fā)一種實時性、輕量化的檢測模型。
現(xiàn)有檢測模型依據(jù)物體定位與物體分類,可以分為雙階段(two-stage)檢測模型與單階段(one-stage)檢測模型。相較于雙階段模型,單階段模型具有輕量化、實時性等特點,但在檢測精度上不如雙階段模型,典型代表為YOLO 系列模型。本文選擇YOLOv8 作為檢測模型,以實現(xiàn)輕量化、實時性的電力缺陷檢測,并通過一系列改進措施提升其檢測精度。此外,當(dāng)前電力領(lǐng)域缺陷檢測網(wǎng)絡(luò)[9,15-17]主要聚焦于單個缺陷,缺少一種通用的缺陷檢測模型。這種定制化開發(fā)不適用于模型的通用化部署,增加了前期投入成本與后期維護成本。為此,本文在第1章通過算法和模塊對YOLOv8 做了多種改進,以提升其在電力場景的檢測精度;第2 章在14 個電力缺陷場景下對改進YOLOv8 進行測試與驗證,取得了不錯的實驗效果。
目標(biāo)檢測任務(wù)的模型效果與訓(xùn)練階段的數(shù)據(jù)集規(guī)模、分布、圖像質(zhì)量有關(guān)。數(shù)據(jù)集分布涵蓋了數(shù)據(jù)集類別的分布、待檢測物體大小的分布以及數(shù)據(jù)集圖像場景的分布多個維度。其中,數(shù)據(jù)集圖像場景包括天氣環(huán)境、攝像機清晰度、背景環(huán)境多個影響因素。如果數(shù)據(jù)集圖像場景較為單一,則會降低模型的泛化性能,對于來自數(shù)據(jù)集外場景的測試數(shù)據(jù)效果較差。同時,如果豐富數(shù)據(jù)集圖像場景,則會對模型的識別精度有所提升。電力缺陷數(shù)據(jù)集包含多種類別的缺陷數(shù)據(jù),不同類別缺陷所處環(huán)境具有一定差異。然而,現(xiàn)有的缺陷圖像數(shù)據(jù)集往往在同一缺陷類別上的圖像場景分布較為單一,降低了模型的性能,并且不利于模型的泛化,因此無法滿足實際電力安全生產(chǎn)的需求。本章提出一種適用于電力場景的改進型Mosaic 算法,來豐富數(shù)據(jù)集中同一類別的場景,以提升模型的精度以及泛化性能。
Mosaic 算法最早在YOLOv4[18]中提出,用于通用場景下的目標(biāo)檢測數(shù)據(jù)集增強。其主要思想是先將4張來自多種類別的圖像進行隨機裁剪、隨機翻轉(zhuǎn)、隨機縮放、隨機色調(diào)變換等前置數(shù)據(jù)預(yù)處理,再對處理后的圖像數(shù)據(jù)進行隨機拼合,得到一張新的數(shù)據(jù)集圖像,如圖1虛線路徑所示。新的數(shù)據(jù)集圖像包含了多個類別的待檢測對象,同時對于其中一個檢測對象而言,其檢測場景融合了多個場景的特征,因而變得更加復(fù)雜多樣。Mosaic算法除了提升場景的多樣性外,還為數(shù)據(jù)集提供了更多的小目標(biāo)物體,解決了目標(biāo)檢測任務(wù)固有的對小目標(biāo)識別能力差的問題,在原始任務(wù)中對模型的性能有所提升。

圖1 改進型Mosaic數(shù)據(jù)增強算法示意圖Fig.1 Schematic diagram of the improved Mosaic data augmentation algorithm
然而,電力場景的缺陷識別與通用場景下的物體識別存在不同,部分類別對于隨機裁剪、隨機色調(diào)變換較為敏感。如圖1右上所示,在絕緣子破損的缺陷識別中,如果破損位置被裁剪掉,那么從外觀上看是有遮擋的絕緣子,無法判別是否有破損,不應(yīng)當(dāng)被識別。相應(yīng)檢測框從正樣本變?yōu)樨?fù)樣本,引起數(shù)據(jù)標(biāo)注錯誤。又如圖1 左下所示,呼吸器硅膠變色缺陷,往往通過硅膠筒的顏色來判斷是否出現(xiàn)異常。如果對圖像使用隨機色調(diào)變換,則顏色特征不再對模型的識別起效,從而大大降低了模型的識別能力。
為保留Mosaic 數(shù)據(jù)增強算法在目標(biāo)檢測任務(wù)上的各項優(yōu)勢,同時不破壞電力場景數(shù)據(jù)集的圖像特征,本文對Mosaic 算法進行了改進。考慮提升數(shù)據(jù)多樣性對模型訓(xùn)練的價值,本文不再限定只取4張圖像進行合成,而是從多個類別中隨機選取2~6 張圖進行組合。本文定義產(chǎn)生負(fù)面影響的變換與相應(yīng)類別構(gòu)成一組沖突關(guān)系,例如隨機裁剪與絕緣子破損為一組。通過分析所有缺陷類別與圖像變換的關(guān)系,整理出沖突關(guān)系表,在代碼中通過字典進行表達(dá),其中部分沖突關(guān)系見表1。依據(jù)沖突關(guān)系表,對各類別數(shù)據(jù)選取合適的前置數(shù)據(jù)處理,以保留圖像的關(guān)鍵信息。最后,隨機打亂圖像次序,進行圖像拼合,如圖1 右下所示。改進保留了Mosaic 數(shù)據(jù)增強算法的優(yōu)勢,同時也使其更適應(yīng)電力場景的缺陷檢測,從而提升輕量化檢測模型的精度。

表1 沖突關(guān)系(部分)Table 1 Conflict relationships(part)
Bottleneck模塊是當(dāng)前輕量化網(wǎng)絡(luò)中的常用模塊,最早在ResNet[19]中提出。Bottleneck模塊具有多個變種,YOLOv8中的Bottleneck結(jié)構(gòu)見圖2(a)。Bottleneck 模塊將輸入先經(jīng)過一個卷積核大小為3的卷積層,壓縮特征維度;再通過一個卷積核大小為3的卷積層恢復(fù)特征維度,最后使用殘差連接得到完整輸出。Bottleneck模塊主要功能是減少模型的復(fù)雜性和計算負(fù)擔(dān),同時保持或提高模型的性能。

圖2 Bottleneck模塊與Res2Net模塊對比Fig.2 Comparison between the Bottleneck module and the Res2Net module
為進一步提升模型對電力場景下多尺度特征的識別能力,本文使用Res2Net模塊[20]代 替Bottleneck模塊,在增加多尺度信息的同時保持模型的輕量化與推理速度。Res2Net的具體結(jié)構(gòu)見圖2(b)。輸入首先通過卷積核為1的卷積層,隨后將特征分成4 部分,分別為x1、x2、x3、x4。其中x1不經(jīng)過卷積直接獲得y1;x2經(jīng)過一次卷積層后獲得y2;同時將x2卷積后的特征與x3合并后再經(jīng)過卷積層獲得y3;類似的,x3 經(jīng)過卷積層的特征與x4合并后,再經(jīng)過一次卷積層得到y(tǒng)4。從總體來看,y1、y2、y3、y4 可以視作輸入的部分特征分別經(jīng)過卷積核為1、3、5、7 的卷積層,從而擁有多尺度感受野;進一步提升了輕量化模型的檢測精度以及在多尺度目標(biāo)上的泛化能力。
目標(biāo)檢測模型會根據(jù)輸入圖像輸出一系列候選框,具體包括候選框的坐標(biāo)以及候選框的置信度大小。然而,這些候選框會出現(xiàn)交叉、重疊現(xiàn)象,即一個物體可能會被多個檢測框識別,需要算法對候選框進行去重。NMS(非極大值抑制)算法[21]是一種常見的檢測框聚類去重算法。該算法首先按照置信度大小對候選框排序,將置信度最高的框b1作為初始選定的框;隨后計算置信度第二高的框b2與b1的IoU(重疊度)值,將兩個候選框相交面積S1除以兩個候選框并集面積S2,得:
其中S1,S2參數(shù)可視化見圖3。如果IoU值大于設(shè)定閾值(一般取0.5)則保留,否則舍棄。后續(xù)框依次與前過程中保留的候選框計算IoU 值,同樣依據(jù)是否達(dá)到閾值來決定保留與舍棄,最終實現(xiàn)去重。

圖3 IoU與CIoU參數(shù)可視化Fig.3 IoU and CIoU parameter visualization
然而,利用IoU值作為NMS算法的去重依據(jù)具有多種弊端。這是因為IoU 只考慮了候選框的形狀重疊程度,而未考慮候選框之間的距離。意味著即使兩個候選框之間的重疊面積較小,但如果它們之間的距離很近,可能會表示為兩個不同的目標(biāo)。傳統(tǒng)基于IoU的NMS算法會將其中一個目標(biāo)框剔除,導(dǎo)致召回率下降。此外,基于IoU的NMS 算法在處理高密度目標(biāo)時容易出現(xiàn)問題。當(dāng)多個目標(biāo)框密集堆疊在一起時,它們之間的重疊面積可能非常大,導(dǎo)致基于IoU的傳統(tǒng)NMS算法無法準(zhǔn)確區(qū)分目標(biāo)框,從而選擇性地保留其中一部分目標(biāo)框,而其他目標(biāo)框則被抑制。這也會導(dǎo)致召回率下降。而對于電力場景的識別任務(wù),召回率是一個相當(dāng)重要的評價指標(biāo),關(guān)系到缺陷設(shè)備與隱患的漏檢比例,與電力的安全生產(chǎn)及穩(wěn)定運行有重要關(guān)聯(lián)。
CIoU[22]最早用于檢測任務(wù)訓(xùn)練階段的損失函數(shù),代替?zhèn)鹘y(tǒng)基于IoU 的損失函數(shù),綜合考量了目標(biāo)框的尺寸、距離、重疊面積,提升目標(biāo)框的定位精度。基于此,本節(jié)使用CIoU代替IoU作為NMS 算法的計算依據(jù)。假設(shè)待計算CIoU 值的候選框分別為b1和b2,令d為b1、b2中心點之間的歐式距離,c為b1、b2最小外接矩形的對角線長度,w1、w2分別為b1、b2的寬度,h1、h2分別為b1、b2的高度。相關(guān)參數(shù)可視化見圖3。則b1、b2的CIoU計算公式如下:
其中,CIoU 通過引入?yún)?shù)v,進一步解決了IoU對候選框的長寬不敏感的問題;α為懲罰系數(shù),決定了v在多大程度上影響CIoU的值。CIoU提升了檢測模型在聚類去重階段的召回率與精度,進而提升了輕量化模型的綜合性能。
YOLO系列模型作為單階段檢測模型的代表,具有參數(shù)規(guī)模小,檢測速度快、泛化性好等優(yōu)點。本文模型整體框架參考YOLOv8中的YOLOv8m,并根據(jù)1.1—1.3 節(jié)對其進行改進,在保留YOLOv8輕量化、實時性等優(yōu)點的同時,進一步提升了模型在電力場景下的檢測精度與召回率,使其更符合電力生產(chǎn)的實際需求。模型在訓(xùn)練階段的結(jié)構(gòu)如圖4所示。輸入的圖像數(shù)據(jù)首先經(jīng)過數(shù)據(jù)增強,隨后送入特征提取網(wǎng)絡(luò)提取多尺度特征;提取的多尺度特征通過上采樣、拼接融合多尺度特征,隨后進入C2f網(wǎng)絡(luò),進一步增強模型對不同大小物體的識別能力。隨后特征經(jīng)過幾次卷積層,獲得分類和定位的損失值,完成一次訓(xùn)練過程,經(jīng)過多輪訓(xùn)練后得到最終模型。

圖4 模型整體結(jié)構(gòu)Fig.4 The overall structure of the model
本文從變電站采集了14 種類別的缺陷數(shù)據(jù),并對數(shù)據(jù)進行去重、篩選等工作,隨后進行人工打標(biāo)。每類缺陷數(shù)據(jù)按照7∶3隨機劃分為訓(xùn)練集與測試集,再將各類別的訓(xùn)練集、測試集數(shù)據(jù)分別進行合并。最終得到了圖片總量為50 177 張的實驗數(shù)據(jù)集。實驗數(shù)據(jù)集中各類別的名稱、訓(xùn)練集與測試集樣本數(shù)量如表2所示。部分?jǐn)?shù)據(jù)具有多類別的缺陷,例如呼吸器硅膠筒破損與呼吸器油封異常可能出現(xiàn)在同一圖像中,因此在表2中會被重復(fù)統(tǒng)計;但實際在劃分訓(xùn)練集與測試集時仍會視為同一個訓(xùn)練樣本。從數(shù)據(jù)分布角度看,各類別數(shù)據(jù)集均在2 000~5 000張內(nèi),訓(xùn)練與測試的數(shù)據(jù)充分,且數(shù)據(jù)分布較為均勻,避免了樣本不足以及數(shù)據(jù)長尾的問題。

表2 實驗數(shù)據(jù)集配置Table 2 Experimental dataset configuration
訓(xùn)練使用的軟硬件中:GPU 為8 張NVIDIA RTX3090,CPU 為Intel(R)Xeon(R)Gold 6242R,系統(tǒng)環(huán)境為Ubuntu16.04,深度學(xué)習(xí)框架為Pytorch。模型訓(xùn)練優(yōu)化器采用SGD(隨機梯度下降),初始學(xué)習(xí)率為0.01,動量值為0.94,權(quán)值衰減為0.000 5,采用線性的學(xué)習(xí)率策略,batch(批)設(shè)為128,EMA(指數(shù)移動平均)衰減設(shè)為0.999。從訓(xùn)練epoch(輪次)分別為50,100,150,200 的模型中選擇在測試集上表現(xiàn)最優(yōu)的一個作為結(jié)果。
2.2.1 評價指標(biāo)
目標(biāo)檢測通常用AP(平均精度)去衡量模型在某個類別上的檢測效果,并對各類別的AP值做平均,得到模型在多類別場景下的性能指標(biāo)mAP。AP綜合考量了precision(準(zhǔn)確率)和recall(召回率)這兩個指標(biāo),反映了模型在漏檢與誤檢方面的性能。AP計算時,根據(jù)模型輸出檢測框與真實框的IoU值是否達(dá)到設(shè)定閾值,將檢測框判定為預(yù)測正確或錯誤。因此根據(jù)閾值的不同,AP也分為好幾種不同的小類,例如AP50,AP75,AP@0.5∶0.95。其中AP50 和AP75 分別代表IoU 閾值設(shè)置為50%和75%,而AP@0.5∶0.95 代表以IoU 從50%到95%的閾值范圍內(nèi)每隔5%計算一次AP,最后取平均值得到最終AP 值。因而AP 指標(biāo)本身反映了模型漏檢與誤檢方面的數(shù)值,不同的AP指標(biāo)對于檢測框的定位精度提出了不同的要求。
對于實際電力場景下的缺陷檢測任務(wù),相比過高的檢測框精度,漏檢率和誤檢率更具有價值。這是因為檢測算法主要用于缺陷的判別,后續(xù)缺陷處理主要基于人工手段,而AP50對于人工而言已經(jīng)足以定位缺陷位置。因此本文選取AP50作為評價標(biāo)準(zhǔn),并相應(yīng)地選擇各類別的AP50 平均值mAP50作為模型在多類別時的評價指標(biāo)。
2.2.2 缺陷檢測結(jié)果
考慮電力場景的實際需求,本文選取平均精度AP50 作為模型的評價指標(biāo)。利用改進的YOLOv8 模型在14 個場景下進行了實驗。為更好比較本文改進模型的檢測效果,本文分別選取了在速度上占優(yōu)的YOLO 系列模型YOLOv8,以及在精度上占優(yōu)的Mask R-CNN[23]作為基準(zhǔn),并用相同數(shù)據(jù)集、相同設(shè)備進行訓(xùn)練和測試。各缺陷類別的實驗結(jié)果對比如圖5所示。可以看出本文改進的YOLOv8模型在所有14個場景上均比YOLOv8模型和Mask R-CNN 有更好的檢測精度,并在9個場景上取得了超過90%的檢測精度。僅在掛空懸浮物、金屬銹蝕、山火3個場景上檢測精度低于80%,主要原因是這些場景數(shù)據(jù)較難標(biāo)注,訓(xùn)練效果不佳;且金屬銹蝕類本身與環(huán)境區(qū)分度小,檢測難度大。盡管如此,本文提出的模型在這3個場景下較原有方法均有顯著提升。

圖5 改進YOLOv8與YOLOv8、Mask R-CNN在14個場景下的實驗結(jié)果對比Fig.5 Comparison of experimental results using the improved YOLOv8,YOLOv8,and Mask R-CNN in 14 scenarios
為進一步比較電力缺陷場景下本文改進的YOLOv8 模型與現(xiàn)有模型在參數(shù)量、推理速度等指標(biāo)上的優(yōu)劣,本文在相同的硬件設(shè)施上對這些模型的指標(biāo)進行考察,結(jié)果如表3 所示。改進型YOLOv8 在YOLOv8 基礎(chǔ)上簡化了參數(shù)量,提升了速度,并在mAP50上仍有所提升,可見本文提出的改進YOLOv8 模型在現(xiàn)有模型中具有速度和參數(shù)量上的優(yōu)勢。進一步證明了本文模型在14 個電力場景下均提升了模型精度的同時,仍保留了單階段模型輕量化、實時性的特性。

表3 改進YOLOv8在電力缺陷場景下與YOLOv8,Mask R-CNN指標(biāo)對比結(jié)果Table 3 Comparison of indices using the improved YOLOv8,YOLOv8,and Mask R-CNN in power defect scenarios
2.2.3 消融實驗
為驗證本文引入的改進Mosaic算法、Res2Net模塊、CIoU-NMS 算法的有效性,進行多組消融實驗。首先將Mosaic 數(shù)據(jù)增強算法、IoU-NMS的YOLOv8 作為基準(zhǔn);然后在基準(zhǔn)上僅替換Mosaic 數(shù)據(jù)增強算法為本文算法以驗證改進Mosaic數(shù)據(jù)增強對模型的影響;接著在基準(zhǔn)上僅改變NMS的計算依據(jù)為CIoU以驗證CIoU對模型的影響。最后驗證上述多種改進一起加入對模型的提升作用。實驗結(jié)果如表4所示。

表4 消融實驗結(jié)果Table 4 Ablation Experiment Results
由表4可見,在電力場景下本文提出的各項改進方法均對模型有一定提升。其中,改進Mosaic算法和CIoU-NMS算法對模型的精度提升最為顯著,驗證了本文提出的各項改進方法的有效性。
本文對適用于通用場景下的YOLOv8 模型進行若干改進,在保留其輕量化、實時性的同時,提升其在電力場景下的檢測精度。利用沖突關(guān)系表來改善Mosaic 數(shù)據(jù)增強算法在電力數(shù)據(jù)上的局限性,使用Res2Net 模塊優(yōu)化了YOLOv8 模型的輕量化與多尺度特性,結(jié)合CIoU NMS 進一步提升了YOLOv8 模型的檢測精度。通過實驗驗證了改進后的YOLOv8 模型仍具有輕量化、實時性等特點,同時在14 個缺陷場景下具有更高的檢測精度,對電力安全生產(chǎn)具有重要意義。長遠(yuǎn)來看,本文為基于邊緣計算等分布式、輕量化技術(shù)的電力智能檢測系統(tǒng)提供了理論模型,為保障電力領(lǐng)域安全生產(chǎn)提供了新的思路。