龐 博1,鮑志遠(yuǎn)2,楊明坤3,張凌浩1,孫小毛,胡 強(qiáng)
(1. 國(guó)網(wǎng)四川省電力公司電力科學(xué)研究院,四川 成都 610041;2. 清華大學(xué),北京 100084;3. 國(guó)網(wǎng)四川省電力公司樂山供電公司,四川 樂山 614099;4. 清華四川能源互聯(lián)網(wǎng)研究院氫能系統(tǒng)與轉(zhuǎn)化研究所,四川 成都 610299)
隨著人工智能技術(shù)的飛速發(fā)展,越來越多的行業(yè)引進(jìn)人工智能技術(shù),電力行業(yè)也不例外[1]。國(guó)家電網(wǎng)積極響應(yīng)國(guó)務(wù)院印發(fā)的《新一代人工智能發(fā)展規(guī)劃》的號(hào)召,緊跟科技發(fā)展的步伐,逐步擴(kuò)大人工智能在電網(wǎng)中的應(yīng)用范圍。
輸電系統(tǒng)中有大量電力設(shè)備長(zhǎng)期在戶外運(yùn)行,受外界自然環(huán)境影響較大,易出現(xiàn)裂化、老化、腐蝕、破損等諸多缺陷,傳統(tǒng)的電力巡檢采用直升機(jī)或無人機(jī)航拍的方式,將采集的電力圖像數(shù)據(jù)傳回處理中心由相關(guān)工作人員進(jìn)行人工識(shí)別處理。這些缺陷大部分為表面缺陷,通過采集可見光圖像和對(duì)圖像的處理和識(shí)別,能夠有效地發(fā)現(xiàn)電力設(shè)備的表面缺陷。
傳統(tǒng)的巡檢圖片處理方法是基于圖像學(xué)的方法,可在一定程度上減輕人工壓力,但是由于傳統(tǒng)的圖像學(xué)方法速度較慢、精度較低,在故障巡檢領(lǐng)域難以實(shí)際應(yīng)用。與傳統(tǒng)方法不同,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)來感知感受視野范圍內(nèi)的圖像。隨著網(wǎng)絡(luò)深度增加,不斷擴(kuò)大的感受視野范圍在大型圖像的識(shí)別上有出色表現(xiàn)。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型主要分為一階段和兩階段模型,兩階段包括:1)選擇檢測(cè)框;2)對(duì)選框中的內(nèi)容進(jìn)行分類。而一階段模型中,直接將檢測(cè)框選擇和內(nèi)容分類都當(dāng)作回歸問題一起完成。
區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(regions with CNN features,R-CNN)[2]是最早的深度學(xué)習(xí)目標(biāo)檢測(cè)模型,其中選框階段使用傳統(tǒng)圖形學(xué)方法,即 Selective Search[3],特征提取使用CNN網(wǎng)絡(luò),分類使用支持向量機(jī)(support vector machine,SVM)分類。隨著深度學(xué)習(xí)目標(biāo)檢測(cè)領(lǐng)域不斷的創(chuàng)新,F(xiàn)ast R-CNN[4]、Faster R-CNN[5]等二階段網(wǎng)絡(luò)的出現(xiàn),顯著改善了目標(biāo)檢測(cè)效果;一階段模型包括SSD[6]、YOLO[7]等也紛紛出現(xiàn),極大提升了檢測(cè)速度;用于目標(biāo)檢測(cè)的神經(jīng)網(wǎng)絡(luò)特征金字塔(feature pyramid network, FPN[8])結(jié)構(gòu)等開始應(yīng)用于最新網(wǎng)絡(luò)?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)在檢測(cè)精度和檢測(cè)速度上已經(jīng)遠(yuǎn)超傳統(tǒng)圖形學(xué)方法。
在實(shí)際應(yīng)用方面,國(guó)家電網(wǎng)公司于2018年開展了多旋翼無人機(jī)和直升機(jī)電力巡檢航拍圖像人工智能處理技術(shù)驗(yàn)證。對(duì)電網(wǎng)常見的8~9種缺陷進(jìn)行識(shí)別,取得了30%~89%的識(shí)別準(zhǔn)確率,但在航拍圖像現(xiàn)場(chǎng)驗(yàn)證工作中,因?yàn)閳D像數(shù)據(jù)未經(jīng)遴選,且大部分是正樣本,導(dǎo)致識(shí)別準(zhǔn)確率只有10%~30%。目前,實(shí)現(xiàn)電力缺陷目標(biāo)檢測(cè)與分割方法,都存在著以下問題:
1)單一的模型只能識(shí)別有限幾種典型的缺陷,對(duì)于電網(wǎng)接近500種不同類型的缺陷來說還遠(yuǎn)遠(yuǎn)不夠。目前公開的電力數(shù)據(jù)集規(guī)模都比較小,單個(gè)數(shù)據(jù)集包含的缺陷類型十分有限,從而導(dǎo)致檢測(cè)種類較少。
2)模型的泛化能力差,難應(yīng)用于工程實(shí)際。電力系統(tǒng)構(gòu)建在野外地區(qū),圖像背景十分復(fù)雜是其泛化能力差的主要原因之一。
下面使用輸電線路巡檢的圖像數(shù)據(jù),以YOLOv5模型為主體,研究“分別訓(xùn)練、統(tǒng)一推斷”方法的效果,進(jìn)一步提高模型的識(shí)別精度。
YOLO與SSD是兩種最為典型的單階段目標(biāo)檢測(cè)算法。YOLO[7]是第一種公開發(fā)表的單階段目標(biāo)檢測(cè)算法,相比當(dāng)時(shí)主流的R-CNN等模型。雖然在準(zhǔn)確度上有一定的差距,但極大地提升了目標(biāo)檢測(cè)的效率,推動(dòng)了工業(yè)界對(duì)基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法的應(yīng)用。與YOLO同時(shí)間提出的單階段目標(biāo)檢測(cè)模型SSD[6],則是利用卷積而不是全連接層來提取檢測(cè)結(jié)果。接下來,研究者在YOLO網(wǎng)絡(luò)的基礎(chǔ)上做了更多的改進(jìn),提出了YOLOv2、YOLOv3、YOLOv4、YOLOv5[9—11]。這些模型的主要改進(jìn)點(diǎn)分別為:YOLOv2 嘗試了當(dāng)時(shí)多種流行的技巧,如批標(biāo)準(zhǔn)化技術(shù)和錨框機(jī)制;YOLOv3將特征提取網(wǎng)絡(luò)替換為darknet-53,并使用不同大小的錨框;YOLOv4將激活函數(shù)替換為 Mish 激活函數(shù);YOLOv5在之前版本的基礎(chǔ)上,利用新的LOSS函數(shù)和瓶頸結(jié)構(gòu)進(jìn)一步提升了算法的識(shí)別精度。目前,YOLOv5 作為一個(gè)應(yīng)用較為廣泛的算法模型,實(shí)現(xiàn)了識(shí)別精度和識(shí)別速度的平衡,相較于其他網(wǎng)絡(luò)更為適合電網(wǎng)巡檢場(chǎng)景下的缺陷圖像目標(biāo)檢測(cè)。
如圖1輸電分類別數(shù)量統(tǒng)計(jì)柱狀、目標(biāo)區(qū)域大小統(tǒng)計(jì)所示,通過觀察原數(shù)據(jù),發(fā)現(xiàn)原始的輸電數(shù)據(jù)中類別數(shù)量、尺寸差距十分懸殊。
圖1 輸電分類別數(shù)量統(tǒng)計(jì)柱狀、目標(biāo)區(qū)域大小統(tǒng)計(jì)
如果直接用一個(gè)模型進(jìn)行訓(xùn)練,可能會(huì)因?yàn)闄z測(cè)目標(biāo)尺度差異、樣本數(shù)量差異,使得檢測(cè)結(jié)果不佳。如圖2標(biāo)注圖所示,標(biāo)注存在部分標(biāo)注的情況,也即是圖像總是分類別標(biāo)注的,標(biāo)注總是“部分”的,這也給直接訓(xùn)練帶來難度。
圖2 標(biāo)注
解決方法是,將訓(xùn)練圖片分成多個(gè)類別用多個(gè)模型分別進(jìn)行訓(xùn)練,統(tǒng)一進(jìn)行推斷。對(duì)包含的輸電線路數(shù)據(jù)進(jìn)行整理和統(tǒng)計(jì),可以得到如表1的輸電線路數(shù)據(jù),其中有顏色代表最終使用的類別,白色是因?yàn)閿?shù)量、標(biāo)注質(zhì)量等問題而剔除的類別。
表1 訓(xùn)練數(shù)據(jù)集統(tǒng)計(jì)信息
(續(xù))
(續(xù))
通過剔除數(shù)量較低、標(biāo)注質(zhì)量較差的類別,融合數(shù)量較少、難以區(qū)分的多個(gè)類別,得到以下大類:
1)大尺寸: 包含防震錘、懸錘、線夾,3類正常6類缺陷,共9類。
2)均壓環(huán):正常與異常共2類。
3)絕緣子:自爆和污穢共2類。
4)鳥窩: 存在鳥窩共1類。
5)小金具:正常與異常共2類。
具體的類別統(tǒng)計(jì)信息如表2—表6所示。
表2 整理后新類別——大尺寸
表3 整理后新類別——均壓環(huán)
表4 整理后新類別——絕緣子
表5 整理后新類別——鳥窩等桿塔異物
表6 整理后新類別——小金具
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)常用的評(píng)價(jià)指標(biāo)為精確率P(Precision)和召回率R(Recall),如式(1)所示。
(1)
式中:TP為正樣本被判定為正樣本的個(gè)數(shù);FP為負(fù)樣本判定為正樣本的個(gè)數(shù);FN為正樣本被判定為負(fù)樣本的個(gè)數(shù)。不同的判定閾值可以得到不同的精確率和召回率,進(jìn)而繪制P-R曲線。
在訓(xùn)練模型時(shí),一般來說小目標(biāo)的平均精度(average precision,AP)比中目標(biāo)和大目標(biāo)低很多。而數(shù)據(jù)集中也包含大量的小目標(biāo),但比較麻煩的是小目標(biāo)的分布并不均勻。
針對(duì)上述狀況,在YOLOv5中使用了 Mosaic 數(shù)據(jù)增強(qiáng)方法,Mosaic 數(shù)據(jù)增強(qiáng)的流程如圖3所示。利用隨機(jī)裁剪和縮放后的圖像進(jìn)行隨機(jī)拼接,生成新的數(shù)據(jù),在豐富了數(shù)據(jù)集的同時(shí)也變相地增加了小樣本目標(biāo)的數(shù)量。也因?yàn)闀?huì)同時(shí)計(jì)算4張圖片的數(shù)據(jù),對(duì)計(jì)算內(nèi)存的需求也因此降低。Mosaic 數(shù)據(jù)增強(qiáng)后的樣本如圖4所示。
圖3 Mosaic數(shù)據(jù)增強(qiáng)流程
圖4 Mosaic 數(shù)據(jù)增強(qiáng)后樣本
在網(wǎng)絡(luò)訓(xùn)練中,網(wǎng)絡(luò)在預(yù)設(shè)的錨框上進(jìn)行預(yù)測(cè),并將預(yù)測(cè)的結(jié)果與標(biāo)簽進(jìn)行差值計(jì)算,得到損失后反向更新網(wǎng)絡(luò)的整體參數(shù)。所以自適應(yīng)錨框計(jì)算也是重要的一部分,需要在數(shù)據(jù)集上初始設(shè)定錨框。
在模型中設(shè)置錨框,第一個(gè)YOLO層是最大的特征圖尺寸為40×40,對(duì)應(yīng)最小的錨框。第二個(gè)YOLO層是中等的特征圖尺寸為20×20,對(duì)應(yīng)中等的錨框。第三個(gè)YOLO層是最小的特征圖尺寸為10×10,對(duì)應(yīng)最大的錨框。
同時(shí),YOLOv5采用了跨網(wǎng)格匹配規(guī)則,增加正樣本錨框數(shù)目的做法:對(duì)于任何一個(gè)輸出層,YOLOv5采用形狀(shape)匹配規(guī)則,計(jì)算標(biāo)簽框和當(dāng)前層的錨框的寬高比。如果寬高比大于設(shè)定的閾值說明該錨框沒有合適的標(biāo)簽框,在該預(yù)測(cè)層之間將這些錨框當(dāng)背景過濾掉。對(duì)于剩下的錨框,計(jì)算其落在哪個(gè)網(wǎng)格內(nèi),同時(shí)利用四舍五入規(guī)則,找出最近的2個(gè)網(wǎng)格,將這3個(gè)網(wǎng)格都認(rèn)為是負(fù)責(zé)預(yù)測(cè)該錨框的。
YOLOv5增加正樣本的方法,最多可增大到原來的3倍,大大增加了正樣本的數(shù)量,加速了模型的收斂。
原始YOLOv5 損失函數(shù)Lobject如式(2) 所示,由 3 部分構(gòu)成,其中置信度損失Lconf和類別損失Lclass采用二元交叉熵?fù)p失函數(shù)進(jìn)行計(jì)算。
Lobject=Lloc+Lconf+Lclass
Lloc=1-CIoU
(2)
式中:CIoU為目標(biāo)框回歸的損失函數(shù)。CIoU綜合考慮了真實(shí)框與預(yù)測(cè)框之間的重疊率、中心點(diǎn)距離、長(zhǎng)寬比等各項(xiàng)參數(shù)的綜合損失,顯著提高了網(wǎng)絡(luò)學(xué)習(xí)的能力。其計(jì)算式如式(3)所示。
(3)
式中:Do2為框A和框B的中心點(diǎn)距離;Dc2為框A和框B的最小包圍矩形的對(duì)角線長(zhǎng);v為衡量長(zhǎng)寬比一致性的參數(shù),可以定義為式(4)。
(4)
式中:wgt、wp、hgt、hp分別為真實(shí)框和預(yù)測(cè)框的寬度和高度。
在目標(biāo)檢測(cè)的后處理過程中,針對(duì)很多目標(biāo)框的篩選,通常需要非極大值抑制(non maximum suppression,NMS)操作。
選擇DIOU_NMS作為目標(biāo)框篩選。因?yàn)樵跍y(cè)試過程中,并沒有標(biāo)簽框的信息,不用考慮影響因子,因此直接用DIOU_NMS即可。圖5和圖6分別為網(wǎng)絡(luò)輸出的所有候選框和篩選后的候選框。
圖5 所有選框與置信度信息
圖6 NMS后刪除多余框輸出
實(shí)驗(yàn)環(huán)境使用 CentOS7 x64 操作系統(tǒng),使用Tesla T4 顯卡進(jìn)行運(yùn)算,顯存大小為16 GB,采用Pytorch深度學(xué)習(xí)開發(fā)框架進(jìn)行模型的開發(fā)和訓(xùn)練。
在數(shù)據(jù)清洗與整理環(huán)節(jié)中,整理出輸電數(shù)據(jù)集包含20 000張圖片,用于YOLOv5模型的訓(xùn)練與測(cè)試。將數(shù)據(jù)集隨機(jī)分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集14 000張圖片,測(cè)試集6000張圖片。使用YOLOv5模型分別對(duì)所有的類別同時(shí)進(jìn)行訓(xùn)練和對(duì)5個(gè)類別分別進(jìn)行訓(xùn)練,對(duì)兩種訓(xùn)練方式進(jìn)行對(duì)比。
由于存在“部分標(biāo)注”“尺度區(qū)別過大”等問題,未處理數(shù)據(jù)前的訓(xùn)練結(jié)果并不好。同時(shí),因?yàn)槟繕?biāo)檢測(cè)模型里,主干特征提取部分所提取到的特征是通用的,把backbone凍結(jié)起來訓(xùn)練可以加快訓(xùn)練效率,也可以防止權(quán)值被破壞。因此,數(shù)據(jù)分類處理后,凍結(jié)backbone層,采用“分別訓(xùn)練、統(tǒng)一推斷”的方法,可以提升準(zhǔn)確度。AP均值、準(zhǔn)確率、召回率對(duì)比結(jié)果見表7所示。表7中,mAP_0.5表示IoU為0.5時(shí),所有類別的AP均值;mAP_0.5∶0.95表示IoU從0.5到0.95,步長(zhǎng)力0.05時(shí)所有類別的AP均值。
表7 AP均值、準(zhǔn)確率、召回率對(duì)比
從表7中可以看出,對(duì)數(shù)據(jù)進(jìn)行分類處理后,除小金具類別的mAP_0.5∶0.95有所下降外,絕大部分目標(biāo)檢測(cè)效果提升明顯,大尺寸、鳥窩、絕緣子、均壓環(huán)4個(gè)類別的mAP_0.5、mAP_0.5∶0.95、準(zhǔn)確率、召回率較數(shù)據(jù)處理前均較大提升。
上面使用輸電線路現(xiàn)場(chǎng)采集到的圖像數(shù)據(jù),經(jīng)數(shù)據(jù)分類處理后,凍結(jié)backbone層,采用“分別訓(xùn)練、統(tǒng)一推斷”的方法訓(xùn)練網(wǎng)絡(luò)模型。實(shí)驗(yàn)結(jié)果表明,利用“分別訓(xùn)練、統(tǒng)一推斷”的方法在大尺寸、鳥窩、絕緣子的缺陷類別中,基于YOLOv5的目標(biāo)檢測(cè)算法對(duì)輸電線路巡檢圖像的缺陷識(shí)別效果較好,可以解決實(shí)際應(yīng)用中的問題,在一些小尺寸缺陷識(shí)別任務(wù)中,識(shí)別的精度有待提高。