龐 博1,鮑志遠2,楊明坤3,張凌浩1,孫小毛,胡 強
(1. 國網四川省電力公司電力科學研究院,四川 成都 610041;2. 清華大學,北京 100084;3. 國網四川省電力公司樂山供電公司,四川 樂山 614099;4. 清華四川能源互聯網研究院氫能系統與轉化研究所,四川 成都 610299)
隨著人工智能技術的飛速發展,越來越多的行業引進人工智能技術,電力行業也不例外[1]。國家電網積極響應國務院印發的《新一代人工智能發展規劃》的號召,緊跟科技發展的步伐,逐步擴大人工智能在電網中的應用范圍。
輸電系統中有大量電力設備長期在戶外運行,受外界自然環境影響較大,易出現裂化、老化、腐蝕、破損等諸多缺陷,傳統的電力巡檢采用直升機或無人機航拍的方式,將采集的電力圖像數據傳回處理中心由相關工作人員進行人工識別處理。這些缺陷大部分為表面缺陷,通過采集可見光圖像和對圖像的處理和識別,能夠有效地發現電力設備的表面缺陷。
傳統的巡檢圖片處理方法是基于圖像學的方法,可在一定程度上減輕人工壓力,但是由于傳統的圖像學方法速度較慢、精度較低,在故障巡檢領域難以實際應用。與傳統方法不同,基于深度學習的目標檢測方法利用卷積神經網絡(convolutional neural network, CNN)來感知感受視野范圍內的圖像。隨著網絡深度增加,不斷擴大的感受視野范圍在大型圖像的識別上有出色表現。
基于深度學習的目標檢測模型主要分為一階段和兩階段模型,兩階段包括:1)選擇檢測框;2)對選框中的內容進行分類。而一階段模型中,直接將檢測框選擇和內容分類都當作回歸問題一起完成。
區域卷積神經網絡(regions with CNN features,R-CNN)[2]是最早的深度學習目標檢測模型,其中選框階段使用傳統圖形學方法,即 Selective Search[3],特征提取使用CNN網絡,分類使用支持向量機(support vector machine,SVM)分類。隨著深度學習目標檢測領域不斷的創新,Fast R-CNN[4]、Faster R-CNN[5]等二階段網絡的出現,顯著改善了目標檢測效果;一階段模型包括SSD[6]、YOLO[7]等也紛紛出現,極大提升了檢測速度;用于目標檢測的神經網絡特征金字塔(feature pyramid network, FPN[8])結構等開始應用于最新網絡。基于深度學習的目標檢測在檢測精度和檢測速度上已經遠超傳統圖形學方法。
在實際應用方面,國家電網公司于2018年開展了多旋翼無人機和直升機電力巡檢航拍圖像人工智能處理技術驗證。對電網常見的8~9種缺陷進行識別,取得了30%~89%的識別準確率,但在航拍圖像現場驗證工作中,因為圖像數據未經遴選,且大部分是正樣本,導致識別準確率只有10%~30%。目前,實現電力缺陷目標檢測與分割方法,都存在著以下問題:
1)單一的模型只能識別有限幾種典型的缺陷,對于電網接近500種不同類型的缺陷來說還遠遠不夠。目前公開的電力數據集規模都比較小,單個數據集包含的缺陷類型十分有限,從而導致檢測種類較少。
2)模型的泛化能力差,難應用于工程實際。電力系統構建在野外地區,圖像背景十分復雜是其泛化能力差的主要原因之一。
下面使用輸電線路巡檢的圖像數據,以YOLOv5模型為主體,研究“分別訓練、統一推斷”方法的效果,進一步提高模型的識別精度。
YOLO與SSD是兩種最為典型的單階段目標檢測算法。YOLO[7]是第一種公開發表的單階段目標檢測算法,相比當時主流的R-CNN等模型。雖然在準確度上有一定的差距,但極大地提升了目標檢測的效率,推動了工業界對基于深度學習的目標檢測算法的應用。與YOLO同時間提出的單階段目標檢測模型SSD[6],則是利用卷積而不是全連接層來提取檢測結果。接下來,研究者在YOLO網絡的基礎上做了更多的改進,提出了YOLOv2、YOLOv3、YOLOv4、YOLOv5[9—11]。這些模型的主要改進點分別為:YOLOv2 嘗試了當時多種流行的技巧,如批標準化技術和錨框機制;YOLOv3將特征提取網絡替換為darknet-53,并使用不同大小的錨框;YOLOv4將激活函數替換為 Mish 激活函數;YOLOv5在之前版本的基礎上,利用新的LOSS函數和瓶頸結構進一步提升了算法的識別精度。目前,YOLOv5 作為一個應用較為廣泛的算法模型,實現了識別精度和識別速度的平衡,相較于其他網絡更為適合電網巡檢場景下的缺陷圖像目標檢測。
如圖1輸電分類別數量統計柱狀、目標區域大小統計所示,通過觀察原數據,發現原始的輸電數據中類別數量、尺寸差距十分懸殊。

圖1 輸電分類別數量統計柱狀、目標區域大小統計
如果直接用一個模型進行訓練,可能會因為檢測目標尺度差異、樣本數量差異,使得檢測結果不佳。如圖2標注圖所示,標注存在部分標注的情況,也即是圖像總是分類別標注的,標注總是“部分”的,這也給直接訓練帶來難度。

圖2 標注
解決方法是,將訓練圖片分成多個類別用多個模型分別進行訓練,統一進行推斷。對包含的輸電線路數據進行整理和統計,可以得到如表1的輸電線路數據,其中有顏色代表最終使用的類別,白色是因為數量、標注質量等問題而剔除的類別。

表1 訓練數據集統計信息

(續)

(續)
通過剔除數量較低、標注質量較差的類別,融合數量較少、難以區分的多個類別,得到以下大類:
1)大尺寸: 包含防震錘、懸錘、線夾,3類正常6類缺陷,共9類。
2)均壓環:正常與異常共2類。
3)絕緣子:自爆和污穢共2類。
4)鳥窩: 存在鳥窩共1類。
5)小金具:正常與異常共2類。
具體的類別統計信息如表2—表6所示。

表2 整理后新類別——大尺寸

表3 整理后新類別——均壓環

表4 整理后新類別——絕緣子

表5 整理后新類別——鳥窩等桿塔異物

表6 整理后新類別——小金具
基于深度學習的目標檢測常用的評價指標為精確率P(Precision)和召回率R(Recall),如式(1)所示。
(1)
式中:TP為正樣本被判定為正樣本的個數;FP為負樣本判定為正樣本的個數;FN為正樣本被判定為負樣本的個數。不同的判定閾值可以得到不同的精確率和召回率,進而繪制P-R曲線。
在訓練模型時,一般來說小目標的平均精度(average precision,AP)比中目標和大目標低很多。而數據集中也包含大量的小目標,但比較麻煩的是小目標的分布并不均勻。
針對上述狀況,在YOLOv5中使用了 Mosaic 數據增強方法,Mosaic 數據增強的流程如圖3所示。利用隨機裁剪和縮放后的圖像進行隨機拼接,生成新的數據,在豐富了數據集的同時也變相地增加了小樣本目標的數量。也因為會同時計算4張圖片的數據,對計算內存的需求也因此降低。Mosaic 數據增強后的樣本如圖4所示。

圖3 Mosaic數據增強流程

圖4 Mosaic 數據增強后樣本
在網絡訓練中,網絡在預設的錨框上進行預測,并將預測的結果與標簽進行差值計算,得到損失后反向更新網絡的整體參數。所以自適應錨框計算也是重要的一部分,需要在數據集上初始設定錨框。
在模型中設置錨框,第一個YOLO層是最大的特征圖尺寸為40×40,對應最小的錨框。第二個YOLO層是中等的特征圖尺寸為20×20,對應中等的錨框。第三個YOLO層是最小的特征圖尺寸為10×10,對應最大的錨框。
同時,YOLOv5采用了跨網格匹配規則,增加正樣本錨框數目的做法:對于任何一個輸出層,YOLOv5采用形狀(shape)匹配規則,計算標簽框和當前層的錨框的寬高比。如果寬高比大于設定的閾值說明該錨框沒有合適的標簽框,在該預測層之間將這些錨框當背景過濾掉。對于剩下的錨框,計算其落在哪個網格內,同時利用四舍五入規則,找出最近的2個網格,將這3個網格都認為是負責預測該錨框的。
YOLOv5增加正樣本的方法,最多可增大到原來的3倍,大大增加了正樣本的數量,加速了模型的收斂。
原始YOLOv5 損失函數Lobject如式(2) 所示,由 3 部分構成,其中置信度損失Lconf和類別損失Lclass采用二元交叉熵損失函數進行計算。
Lobject=Lloc+Lconf+Lclass
Lloc=1-CIoU
(2)
式中:CIoU為目標框回歸的損失函數。CIoU綜合考慮了真實框與預測框之間的重疊率、中心點距離、長寬比等各項參數的綜合損失,顯著提高了網絡學習的能力。其計算式如式(3)所示。
(3)
式中:Do2為框A和框B的中心點距離;Dc2為框A和框B的最小包圍矩形的對角線長;v為衡量長寬比一致性的參數,可以定義為式(4)。
(4)
式中:wgt、wp、hgt、hp分別為真實框和預測框的寬度和高度。
在目標檢測的后處理過程中,針對很多目標框的篩選,通常需要非極大值抑制(non maximum suppression,NMS)操作。
選擇DIOU_NMS作為目標框篩選。因為在測試過程中,并沒有標簽框的信息,不用考慮影響因子,因此直接用DIOU_NMS即可。圖5和圖6分別為網絡輸出的所有候選框和篩選后的候選框。

圖5 所有選框與置信度信息

圖6 NMS后刪除多余框輸出
實驗環境使用 CentOS7 x64 操作系統,使用Tesla T4 顯卡進行運算,顯存大小為16 GB,采用Pytorch深度學習開發框架進行模型的開發和訓練。
在數據清洗與整理環節中,整理出輸電數據集包含20 000張圖片,用于YOLOv5模型的訓練與測試。將數據集隨機分為訓練集和測試集,其中訓練集14 000張圖片,測試集6000張圖片。使用YOLOv5模型分別對所有的類別同時進行訓練和對5個類別分別進行訓練,對兩種訓練方式進行對比。
由于存在“部分標注”“尺度區別過大”等問題,未處理數據前的訓練結果并不好。同時,因為目標檢測模型里,主干特征提取部分所提取到的特征是通用的,把backbone凍結起來訓練可以加快訓練效率,也可以防止權值被破壞。因此,數據分類處理后,凍結backbone層,采用“分別訓練、統一推斷”的方法,可以提升準確度。AP均值、準確率、召回率對比結果見表7所示。表7中,mAP_0.5表示IoU為0.5時,所有類別的AP均值;mAP_0.5∶0.95表示IoU從0.5到0.95,步長力0.05時所有類別的AP均值。

表7 AP均值、準確率、召回率對比
從表7中可以看出,對數據進行分類處理后,除小金具類別的mAP_0.5∶0.95有所下降外,絕大部分目標檢測效果提升明顯,大尺寸、鳥窩、絕緣子、均壓環4個類別的mAP_0.5、mAP_0.5∶0.95、準確率、召回率較數據處理前均較大提升。
上面使用輸電線路現場采集到的圖像數據,經數據分類處理后,凍結backbone層,采用“分別訓練、統一推斷”的方法訓練網絡模型。實驗結果表明,利用“分別訓練、統一推斷”的方法在大尺寸、鳥窩、絕緣子的缺陷類別中,基于YOLOv5的目標檢測算法對輸電線路巡檢圖像的缺陷識別效果較好,可以解決實際應用中的問題,在一些小尺寸缺陷識別任務中,識別的精度有待提高。