張亞婉,巫耿宇,黃迪帷,何胤康
(廣州華立學(xué)院,廣東廣州 511320)
隨著智能電網(wǎng)建設(shè)的推進,無人機已經(jīng)逐步代替了人工進行電力巡檢,目前無人機僅僅作為數(shù)據(jù)采集端,巡檢過程收集到的大量絕緣子圖片信息還需要經(jīng)過人工判斷,才能得知線路是否存在故障。無人機巡檢路程長、拍攝圖片多,人的眼睛注視太久會產(chǎn)生疲勞,容易造成漏標(biāo)或誤標(biāo)等現(xiàn)象的發(fā)生。我國電網(wǎng)建設(shè)發(fā)展迅速,日常使用絕緣子數(shù)量逐年增加,各種絕緣子帶來的問題也隨之增多[1-2],因此,運用合適的圖像識別算法對無人機巡檢過程進行圖像處理很有必要。
現(xiàn)階段應(yīng)用較為廣泛的深度學(xué)習(xí)目標(biāo)檢測技術(shù)有FastR-CNN[3]、FasterR-CNN[4]、SSD[5]、YOLO[6-7]算法等,前兩種算法生成一系列候選框(anchor box),通過卷積網(wǎng)絡(luò)在候選框中進行分類,對目標(biāo)進行檢測和識別。SSD、YOLO兩種算法直接把目標(biāo)邊框定位變成回歸問題進行解決,不用產(chǎn)生候選框,檢測速度比前者快了很多。YOLO 采用回歸算法,速度比Faster R-CNN快了3倍。文獻[8]使用了YOLOv3網(wǎng)絡(luò)與ECO 算法的結(jié)合,能夠有效地檢測和跟蹤絕緣子,但是訓(xùn)練后定位的檢測框準(zhǔn)確率較低。文獻[9]把Faster R-CNN 算法應(yīng)用在無人機巡檢過程中對絕緣子進行檢測,檢測效果準(zhǔn)確率較高,但是檢測用時過長,無人機巡檢輸電線路的實時性不能被滿足。文獻[10]提出一種基于U-net[11]網(wǎng)絡(luò)的絕緣子檢測技術(shù),檢測效果相對較好,由于檢測功能的絕緣子圖像背景較簡單,要做到無人機在復(fù)雜背景下的準(zhǔn)確檢測和定位比較困難。
該文提出一種改進YOLO 算法的絕緣子目標(biāo)檢測方法,對無人機拍攝絕緣子圖像標(biāo)注后制作數(shù)據(jù)集,通過卷積網(wǎng)絡(luò)進行訓(xùn)練,能夠準(zhǔn)確檢測出有缺陷的絕緣子。在YOLO 算法原有網(wǎng)絡(luò)的基礎(chǔ)上,通過融合絕緣子特征的金字塔結(jié)構(gòu),用K-means++對數(shù)據(jù)集進行聚類分析,挑選符合要求的先驗框,通過NMS去除冗雜檢測框,使檢測結(jié)果更加準(zhǔn)確,以完成對絕緣子定位及類別的劃分。
基于圖像金字塔結(jié)構(gòu)大多都出現(xiàn)在圖像檢測領(lǐng)域深度學(xué)習(xí)網(wǎng)絡(luò)中。在深度學(xué)習(xí)目標(biāo)檢測中金字塔結(jié)構(gòu)檢測效果好,可以提取圖片以及成像的空間特征?;赮OLOv3 的特征提取網(wǎng)絡(luò)結(jié)構(gòu),主要由53個卷積層組成,YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1 所示。
圖1 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖
通過無人機巡檢拍攝的圖片中絕緣子尺寸和絕緣子缺陷通常都很小,只有原圖的2%~5%,原有YOLO 算法僅僅使用最后一層特征圖,并沒有辦法有效檢測出絕緣子,該文將算法中的淺層特征圖與高層特征圖相結(jié)合,底層的特征圖所含細節(jié)更多,結(jié)合之后能夠提升在圖中目標(biāo)過小的絕緣子的檢測水平,YOLO 金字塔檢測結(jié)構(gòu)如圖2 所示。
圖2 YOLO 金字塔檢測結(jié)構(gòu)
該文提取相對底層的26 像素×26 像素圖像,通過1×1 的卷積層將特征矩陣的深度從512 壓縮到64,再通過Pass Through Layer 層將特征矩陣的寬高變成原來的一半,深度變?yōu)樵瓉淼?倍,輸出的13×13×256特征矩陣與高層特征矩陣13×13×1 024在深度方向進行拼接,作為最終的預(yù)測方向。PassThrough Layer層示意圖如圖3 所示。
圖3 PassThroughLayer層示意圖
該層將特征矩陣中相同的部分提取出來;將一個特征矩陣分為四部分,將每部分中相同的數(shù)值進行分離,得到4 個特征圖,每一個特征圖包含原有圖像中相同的一部分。經(jīng)過變換后原有特征矩陣的寬、高為原來的一半,深度為原來的4 倍。
首先用labeling 制作訓(xùn)練所需數(shù)據(jù)集,利用聚類算法K-means++對絕緣子訓(xùn)練集的高寬比進行聚類分析,從而確定最終的anchor box 高寬比,再使用改進后的YOLOv3 算法進行訓(xùn)練。在改進的YOLOv3算法中,在低層提取的特征圖與高層語義信息結(jié)合的過程中,利用非極大值(NMS)過濾掉比例較低的數(shù)值,以此在原圖像中更為準(zhǔn)確地框中絕緣子。絕緣子檢測流程圖如圖4 所示。
圖4 絕緣子檢測流程圖
YOLO 算法定位需要用先驗框?qū)δ繕?biāo)區(qū)域進行尺寸預(yù)測,原來的YOLO 算法使用K-means 聚類計算先驗框尺寸,其聚類結(jié)果很大可能會受到K個聚類中心的影響,故該文選擇不用K-means 算法而改用K-means++算法[12],實驗結(jié)果表明,K-means++算法穩(wěn)定性更強,確保了初始聚類中心的離散性,增強了先驗框分布的合理性,能夠更好地指導(dǎo)網(wǎng)絡(luò)訓(xùn)練。K-means++算法流程圖如圖5 所示。
圖5 K-means++算法流程圖
K-means++算法步驟如下:
從數(shù)據(jù)集中間隨機挑選一個樣本C1,并將其設(shè)為初始聚類中心。
算出數(shù)據(jù)集中每一樣本與選定聚類中心C1 之間的最短距離,設(shè)置為D(X);
計算每一個樣本被挑選為下一聚類中心的概率,從中挑取最大概率對應(yīng)的樣本點作為接下來的聚類中心C2;
重復(fù)進行第二步,選取9 個聚類中心C={C1,C2,C3,…,C8,C9}為止,將數(shù)據(jù)集中每一樣本分配至與本身距離最小的聚類中心對應(yīng)的簇中。
重新計算聚類中心Ci,即重復(fù)前面的第三步和第四步,一直到聚類中心不發(fā)生變化為止。
改進后的算法對標(biāo)簽中絕緣子的寬高比進行聚類后,得到更加適合絕緣子訓(xùn)練集的先驗框,加快了網(wǎng)絡(luò)訓(xùn)練的速度。
經(jīng)過K-means++聚類分析后產(chǎn)生了一系列的先驗框,利用重疊區(qū)域面積比例IoU 檢驗先驗框的精度。B個先驗框及其對應(yīng)的置信度S,可以挑取具有最大score 的先驗框x,將其從B集合中刪去并添加到最后的檢驗結(jié)果D內(nèi)。一般情況下,將B中殘余檢測框中與x的IoU 大于閾值Nt的框從B中刪去,反復(fù)進行全程,直到B為空,選出精度最好的一個[13]。
原有的YOLO 算法采用的NMS 算法的最大問題就是它將相鄰低置信度檢測框的分數(shù)均強逼歸零[14],絕緣子存在遮攔時,可能會產(chǎn)生漏檢,因此,該文采用soft-nms 算法,在算法執(zhí)行中并非簡單對IoU 大于閾值的檢測框進行刪除,而是減少置信度分數(shù)[15]。
為了檢驗改進YOLO 算法在實際無人機巡檢圖中是否有效,該文選取了廣東省內(nèi)諸多地方無人機巡檢過程中拍到的絕緣子圖像和部分中國電力線路絕緣子數(shù)據(jù)集(CPLID)中的開源無人機巡檢圖像共2 000 張,使用labeling 對無人機巡檢圖像中的絕緣子以及絕緣子缺陷位置進行標(biāo)寫,將數(shù)據(jù)集的60%作為練習(xí)集,40%作為測試集,進行練習(xí)訓(xùn)練和測驗。其中,為了提高網(wǎng)絡(luò)的泛化能力,將數(shù)據(jù)集分為兩種類型,一類圖像帶有絕緣子缺陷,另一類圖像為正常絕緣子,兩種類型的圖像在訓(xùn)練集和測試集中均各占50%。
實驗環(huán)境:操作系統(tǒng)為Ubuntu 18.04LTS;顯卡為GPU NVIDIA GeForce GTX 1660Ti;CPU 為Interi5-9300H 2.40 GHz/16 GB。
3.2.1 絕緣子
為了驗證改進后的YOLO 算法在無人機巡檢過程中的效果,將其訓(xùn)練后的檢測結(jié)果與原來的YOLO 算法訓(xùn)練結(jié)果進行比較,可以看出原有的YOLO 算法對于復(fù)雜場景的絕緣子定位精準(zhǔn)度有所欠缺,并且存在漏檢現(xiàn)象,而改進后的算法在檢測準(zhǔn)確度方面有很大的提升。改進前后對比測試效果圖如圖6 所示。
圖6 改進前后對比測試效果圖
3.2.2 改進后先驗框算法
該文采用均值平均精度(MAP)對原有的YOLO算法和改進后的YOLO 算法進行對比(見表1),可以看出改進后的算法MAP 較原來有所提升,絕緣子和絕緣子缺陷定位的準(zhǔn)確率也大大提升,可觀察到,修改后的算法生成的先驗框降低了訓(xùn)練集目標(biāo)框聚合程度,訓(xùn)練的準(zhǔn)確率得到了大幅度提升。
表1 改進前后算法對比結(jié)果
3.2.3 檢測框架的選擇
無人機巡檢目標(biāo)檢測主流框架有Faster R-CNN、YOLO,表2 為不同監(jiān)測框架對比結(jié)果??梢钥闯觯現(xiàn)aster R-CNN 絕緣子MAP 高達90%,但檢測速度極慢,無法實時反映絕緣子缺陷,相比之下YOLO 算法MAP 接近90%,速度卻是Faster R-CNN 的5 倍之多,因此,選擇快速且精確地YOLOv3 作為無人機巡檢檢測框架。
表2 各種檢查框架對比結(jié)果
該文基于YOLO 算法提出一種改進模型,運用K-means++算法加強穩(wěn)定性,增強先驗框分布的合理性。選擇快速且精確的YOLOv3 作為無人機巡檢檢測框架,有效提高了絕緣子及缺陷的精確定位,相對原有方法,其對絕緣子及缺陷檢測的精準(zhǔn)度有所提升。在改進模型中融入了卷積層,簡化了網(wǎng)絡(luò)結(jié)構(gòu),一定程度上減少了添加模塊帶來的額外計算量,提升了模型的檢測速度。結(jié)果表明,改進后的YOLO 網(wǎng)絡(luò)可以更精確地檢測絕緣子及缺陷,并繼承了原有YOLO 網(wǎng)絡(luò)實時性高的特點。下一步將構(gòu)建更為精細的識別類型,基于多種新型絕緣子數(shù)據(jù)集檢測缺陷區(qū)域,進一步提升檢測準(zhǔn)確率。