徐文靜 高云天 陳 晨 葉澤恩(天津工業(yè)大學(xué),天津300387)
絕緣子是輸電線路中常見絕緣器件,需要對其進(jìn)行故障檢測。利用人工智能技術(shù)[1]可以提升絕緣子故障檢測的智能化,而且借助人工智能技術(shù)自動識別絕緣子故障已成為一種趨勢。但是,目前智能的識別方法依賴于有標(biāo)注的樣本庫。
目前圖像標(biāo)注方法主要有兩種:一種是利用LabelMe、Label Image[2]等標(biāo)注軟件進(jìn)行人工手動標(biāo)注,這種方法在標(biāo)注大量數(shù)據(jù)集時往往費(fèi)時耗力。另一種是利用開源數(shù)據(jù)集“外包平臺”和調(diào)用API 進(jìn)行標(biāo)注,這種方法增加了維護(hù)成本。因此,需要研究適合絕緣子檢測的圖像自動標(biāo)注方法。本文的目的就是設(shè)計一種絕緣子圖像自動標(biāo)注方法。
YOLO(You Only Look Once)是目標(biāo)檢測領(lǐng)域常用的神經(jīng)網(wǎng)絡(luò)模型,直接輸入整張圖片,是端到端的網(wǎng)絡(luò)模型。YOLOv5模型是YOLO 模型的版本之一,在v5 發(fā)布前有v1、v2、v3、v4 等版本,其網(wǎng)絡(luò)結(jié)構(gòu)不斷強(qiáng)化,模型訓(xùn)練速度不斷提升。YOLO 官方[3]發(fā)布的YOLOv3 網(wǎng)絡(luò)與其它網(wǎng)絡(luò)性能對比情況如圖1 所示。
圖1 YOLOv3 與其它網(wǎng)絡(luò)性能對比[3]
由圖1 可知,YOLOv3 模型具有高準(zhǔn)確率、低耗時等特點(diǎn)。與v3、v4 等版本相比,v5 版本模型訓(xùn)練速度更快,精確度更高。
使用YOLOv5 模型,只需適當(dāng)調(diào)整模型參數(shù),訓(xùn)練模型后,便可準(zhǔn)確檢測絕緣子圖像。如圖2 所示,絕緣子圖像自動標(biāo)注的實(shí)現(xiàn)流程可分為模型訓(xùn)練和自動標(biāo)注兩部分,模型訓(xùn)練過程包括人工標(biāo)注、構(gòu)建數(shù)據(jù)、調(diào)整參數(shù)、訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)等五步。
圖2 絕緣子圖像自動標(biāo)注技術(shù)流程圖
在整體網(wǎng)絡(luò)結(jié)構(gòu)方面,YOLO 模型使用與GoogLeNet 結(jié)構(gòu)相似的神經(jīng)網(wǎng)絡(luò)[9],將3×3 的卷積核作為過濾器,使用1×1 的卷積層來減少通道規(guī)模??傮w上說,YOLO 網(wǎng)絡(luò)有24 個卷積層,2 個全連接層。輸入圖像經(jīng)該網(wǎng)絡(luò)處理后,在輸出端的全連接層輸出一個S×S×(5×b+c) 的張量,其中S×S 為方格個數(shù),b 為預(yù)測邊界框個數(shù)。
YOLO 在特征提取方面進(jìn)行了改進(jìn)。傳統(tǒng)應(yīng)用中,目標(biāo)檢測網(wǎng)絡(luò)(如RCNN 和SSD)多為分類問題,YOLO 則將其視為回歸問題,直接輸入整張圖片,不再使用全鏈接層,形成端到端的網(wǎng)絡(luò),使模型的訓(xùn)練效率大大提高[6]。邊界框回歸(Bounding Box Regression)是其回歸思想的體現(xiàn),使用邊界框回歸算法即可在大量候選框中找到準(zhǔn)確的標(biāo)注框,過程如下:
2.2.1 分割網(wǎng)格
使用滑窗口切割整張圖片為S×S 個網(wǎng)格,若待測物體中心恰好落在網(wǎng)格中,那么該網(wǎng)格就可負(fù)責(zé)預(yù)測該物體,每個網(wǎng)格在目標(biāo)中心產(chǎn)生多個大小不同的候選框,通過平移和縮放對其回歸如圖3 所示,回歸計算方法[3]為:
圖3 邊界框回歸
在遍歷所有網(wǎng)格后,在網(wǎng)絡(luò)輸出端輸出置信度,置信度是候選邊界框和真實(shí)邊界框的交并比IoU,計算公式為[5]:
式中:A、B 分別為真實(shí)邊框和候選邊框的面積。
YOLOv5 對IoU 進(jìn)行改進(jìn),GIoU[7]便由此產(chǎn)生,其方法是找到一個最小封閉形狀C,讓C 將邊框A 和B 包圍在內(nèi),然后計算C 中未覆蓋A 和B 的面積占C 總面積的比例,計算公式為:
在算法求解時,將損失函數(shù)GIoU Loss 與非極大值抑制算法(Non-Maximum Suppression,NMS)結(jié)合,搜索局部極大值即可得到準(zhǔn)確的標(biāo)注結(jié)果。
使用Python 語言并基于Pycharm 對提出的絕緣子自動標(biāo)注算法進(jìn)行編程實(shí)現(xiàn)。使用1300 張人工標(biāo)注的絕緣子圖像對搭建的YOLOv5 網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,再用2750 張未標(biāo)注的絕緣子圖像對訓(xùn)練的模型進(jìn)行測試。
由于YOLOv5s 使用的是PASCAL VOC[4]數(shù)據(jù)格式,故這里先將待訓(xùn)練的絕緣子圖像進(jìn)行格式化處理,處理過程如圖5 所示。由圖5 可知,在進(jìn)行網(wǎng)絡(luò)訓(xùn)練之前,將人工標(biāo)注的xml 格式文件轉(zhuǎn)化成txt 格式文件,再將txt 文件內(nèi)容分別寫入Test.txt、Train.txt、Val.txt、Trainval.txt 保存。
圖5 YOLOv5 數(shù)據(jù)格式
在訓(xùn)練前可設(shè)定YOLOv5 模型參數(shù)初值[7],隨后根據(jù)訓(xùn)練結(jié)果調(diào)整。經(jīng)多次試驗(yàn),學(xué)習(xí)率為0.0005,訓(xùn)練次數(shù)epochs 數(shù)值為300,單次訓(xùn)練圖像數(shù)batch-size 數(shù)值為5,總耗時4h53min,訓(xùn)練速度較快。
使用插值平均精度方法評估目標(biāo)檢測的結(jié)果,計算準(zhǔn)確率P和召回率R 并繪制P-R 曲線[8]。平均準(zhǔn)確率AP 和總平均準(zhǔn)確率mAP 可作為評價模型的指標(biāo),AP 由精確率和召回率求平均得到,mAP 由所有的AP 值求平均得到。
式中:TP 為準(zhǔn)確檢測出絕緣子的數(shù)量,F(xiàn)P 為將其它物體檢測為絕緣子的數(shù)量。
式中:FN 為將絕緣子檢測為其它物體的數(shù)量。
使用2750 張未標(biāo)注的絕緣子圖像進(jìn)行驗(yàn)證,圖6 為評價結(jié)果,(a)圖中mAP 值為0.951,這說明其精度較高。(b)、(c)圖為絕緣子圖像的物體檢測信息和物體檢測準(zhǔn)確率,測試結(jié)果良好。
圖6 模型評價結(jié)果
選取最優(yōu)模型對新數(shù)據(jù)集進(jìn)行預(yù)測,在絕緣子圖像中用邊界框標(biāo)注出待檢測物體。預(yù)測邊界框左上角含有信息和準(zhǔn)確率,在同名文件夾中生成標(biāo)注文本,其格式如表1 所示。
表1 絕緣子標(biāo)注信息
如表1 所示,標(biāo)注信息文件中包括x、y 坐標(biāo)和類別序號(0為絕緣子,1 為其他物體)。表中可知該張圖像中含有2 個絕緣子,其序號分別表示為0,橫縱坐標(biāo)的極值顯示在文件中。
基于YOLOv5 模型的自動標(biāo)注效果顯著,如圖7 所示,(a)中絕緣子分布均勻,由圖可知標(biāo)注出3 個絕緣子且準(zhǔn)確率分別為0.86、0.93、0.86。另外幾種常見特殊標(biāo)注情況,準(zhǔn)確率均值可達(dá)0.80 以上。(b)目標(biāo)過大/過小、(c)標(biāo)注框嵌套、(d)邊框重疊。
圖7 預(yù)測標(biāo)注信息
設(shè)計了一種基于YOLOv5 的絕緣子圖像自動標(biāo)注方法,該方法具有高效、準(zhǔn)確、輕體量的特點(diǎn),可在短時間內(nèi)生成大量帶有標(biāo)注信息的絕緣子圖像數(shù)據(jù),為絕緣子故障的自動識別提供有力保障。