基于YOLO的無人機電力線路桿塔巡檢圖像實時檢測.pdf
基于YOLO的無人機電力線路桿塔巡檢圖像實時檢測郭敬東1,陳彬1,王仁書1,王佳宇2,仲林林21. 國網福建省電力有限公司電力科學研究院,福建 福州 350007;2. 東南大學 電氣工程學院,江蘇 南京 210096摘 要無人機巡檢已成為電力線路災后巡檢的重要方式。然而,目前的無人機巡檢仍主要通過人工方式評估線路災損,不僅費時費力,而且準確率低。提出了一種基于深度學習算法(YOLO)的實時目標檢測模型,用于災后根據無人機巡檢視頻實時檢測電力桿塔的狀態。通過對倒斷類桿塔圖像進行數據增廣,解決了桿塔類別不平衡問題。通過使用K-means算法對桿塔數據集的目標框進行重新聚類,改進了YOLO算法參數。測試結果表明,該模型能有效檢測多種環境下多種尺度的桿塔目標。改進后的模型在測試集上的召回率和交并比(IoU)較改進前有所提高,且平均均值精度(mAP)達到94.09,檢測速度達到20幀/s。此外,也對更快的簡化版YOLO模型進行了測試,檢測速度能達到30幀/s。關鍵詞無人機巡檢;電力桿塔;深度學習;YOLO;數據增廣;人工智能與大數據應用中圖分類號 TM755 文獻標志碼 A DOI 10.11930/j.issn.1004-9649.2018120280 引言為了能夠及時發現電力線路的故障以便有效排除安全隱患,電力部門需要定期或不定期地對電力線路開展巡檢。目前主要的電力線路巡檢方式包括人工巡檢、機器人巡檢、載人直升機巡檢、無人機巡檢等[1]。由于電力線路經常穿越崇山峻嶺、江河峽谷、無人區等特殊地理環境,尤其是在臺風、暴雨、地震等自然災害發生后,進行人工徒步巡檢和載人直升機輔助巡檢非常危險,且效率低下[2-3]。隨著無人機技術的發展和無人機生產成本的下降,越來越多的電力公司開始開展無人機電力線路巡檢[4-5]。中國是世界上遭受臺風災害最嚴重的國家之一。每年夏季沿海許多省份都會因電力線路遭受臺風的破壞而導致大面積停電。據統計,2016年福建電網因臺風襲擊造成的損失占國家電網總損失的92.7[6]。為了在臺風災后快速開展故障排查與搶修,許多電力公司使用搭載攝像裝置的無人機進行災后電力線路巡檢,獲取災后現場數據,并根據現場數據的評估情況采取適當的搶修措施。在災后現場數據評估中,最重要的環節是從海量的無人機圖像、視頻數據中尋找并定位受損的電力桿塔,以便為電力線路的緊急維修提供輔助決策信息。然而,目前這項工作主要通過人工完成,不僅費時費力、效率低,而且準確性得不到保障。近年來隨著人工智能技術的發展,基于巡檢圖像數據的電力線路狀態智能評估已成為可能。例如,通過深度卷積神經網絡(convolutional neuralnetworks,CNN)提取目標特征的目標檢測算法可用于智能識別,并標注電力線路組件[7-9]。目前應用較為廣泛的深度學習目標檢測算法可分為兩類一類為基于區域的目標檢測算法,代表算法有Faster R-CNN[10]、Mask R-CNN[11]等,該類算法有較高的檢測精度,但檢測速度較慢;另一類為基于回歸的目標檢測算法,也被稱為one-stage系算法,如YOLO[12-14]、SSD[15]等,它們的特點是采用端到端的檢測,具有較快的檢測速度。這些算法均可用于無人機圖像數據的智能分析,如電力線組件檢測、電力線植被覆蓋監測、電力線路冰凍災害監測等[3]。本文提出了一種基于深度學習算法(you only收稿日期2018?12?12; 修回日期2019?03?19?;痦椖繃易匀豢茖W基金資助項目518070280;國家電網有限公司科技項目52130418000L。第 52 卷 第 7 期中國電力Vol. 52, No. 72019 年 7 月ELECTRIC POWER Jul. 201917look once,YOLO)的實時目標檢測模型。該模型可從無人機災后巡檢視頻數據中實時檢測出正常和受損的線路桿塔,幫助電力運維部門開展電力線路災損評估,快速確定受損桿塔的位置,從而為開展災后搶修提供輔助決策信息。本文主要針對低壓配電網進行了桿塔圖像的采集、訓練與檢測,但該模型也可推廣用于高壓輸電網等一般電力線路的桿塔目標檢測。1 基于YOLO的實時目標檢測模型YOLO是由Redmon和Divvala提出的一種實時目標檢測算法[12-14]。目前該算法已經更新至第3代。YOLO是一種屬于one-stage系列的目標檢測算法,它將目標檢測視為一類回歸問題,直接從輸入的圖像中預測目標包圍框的坐標和類別概率,從而實現端到端的識別,因此它的檢測速度非???,可以在保持較高準確率的同時實現實時目標檢測。而傳統的電力線路組件檢測方法主要是通過人工設計特征來識別,如HOG(histogramof oriented gradient)算法[16]、SIFT(scale-invariantfeature trans)算法[17]、邊緣檢測算法[18]等,相比于深度學習模型,存在精度低、魯棒性差等缺點[3]??紤]到原始的YOLO算法是為了檢測動物、行人、汽車、植物等日常生活中的物體而設計的,本文根據其思路重新設計了該算法,提出了一種用于實時檢測電力線路桿塔的YOLO模型。如圖1所示,無人機拍攝的巡檢視頻將被處理成一幀幀圖像輸入到YOLO模型中,每幀圖像首先按YOLO分辨率的要求放縮成608608像素大小,然后將放縮后的圖像輸入到由53個卷積層構成的基礎深度神經網絡Darknet-53[14],該網絡主要用于提取圖像的深層特征和抽象特征。Darknet網絡之后為YOLO神經網絡的特征交互層,用于檢測3個不同尺度的目標,每個尺度內,通過卷積核的方式實現局部的特征交互。3個YOLO交互層分別輸出1919、3838和7676大小的特征圖(feature map),然后在此基礎上進行分類和位置回歸。YOLO采用邏輯回歸(logistic)方式預測目標邊框,同時在最新的類別預測模型中,原來的單標簽分類被改進為多標簽分類,用于處理標簽重疊等問題[14]。此外,本模型除目標包圍框寬和高的損失函數采用均方和誤差外,其他部分的損失函數使用二值交叉熵[14]。2 無人機電力桿塔圖像數據集預處理2.1 數據集的增廣本文無人機電力桿塔圖像數據集來源于福建省電力公司無人機輸電線路巡檢視頻數據,以及從互聯網上收集的電力桿塔圖像數據。如圖2所示,配電線路常見的桿塔類型有2種,將處于正常狀態的電力桿塔按類型分為2類(在目標檢測圖像中被標注為“normal_pole_1”和“normal_pole_2”),而倒斷受損的桿塔全部被劃分為一類(在目標檢測圖像中被標注為“abnormal_pole”)。卷積塊卷積塊卷積塊上采樣上采樣卷積塊卷積塊卷積塊卷積塊卷積卷積卷積卷積塊卷積塊608 608 338 38 2419 19 2476 76 24張量連接張量連接卷積塊8*殘差塊卷積塊2*殘差塊卷積塊1*殘差塊卷積塊4*殘差塊卷積塊8*殘差塊尺度1尺度2尺度3輸入放縮Darknet-53 無全連接層圖 1 用于電力線路桿塔狀態實時檢測的YOLO算法框架Fig. 1 YOLO algorithm framework for the real-time detection of power line poles status中國電力第 52 卷18由于電力線路桿塔通常都處于正常狀態,只有在遭受人為或極端自然災害后才可能出現傾斜、倒塌、斷裂等非正常狀態,因此無人機現場采集到的電力桿塔圖像數據存在嚴重的樣本類別不均衡問題[19],即受損的電力桿塔圖像占整個數據集的比例過小。而理想情況下,不同類別的樣本數據所占比例應基本相同[20]。為了解決這一問題,本文通過對非正常桿塔圖像應用圖像增廣的方法來擴充非正常桿塔數據集。圖像增廣技術通過對原始圖像進行一系列隨機改變,來產生相似但又有不同的訓練樣本,從而擴大訓練數據集的規模,同時也可以降低模型對某些屬性的依賴,從而提高模型的泛化能力[21]。如圖3所示,本文采用的圖像增廣方法包括平移、縮放、水平翻轉、顏色變化等,每張增廣后的圖片都是原圖經過多種隨機組合變換得到的。圖像變換過程中產生的空白區域選用黑色填充,因為黑色的RGB值為(0,0,0),在卷積等計算過程中對目標特征的影響最小。最終,增廣后3種類別的電力桿塔圖像的數量比例約為1∶1∶1。此外,為了提高模型的識別能力,本文還在數據集中添加了部分無目標標注的圖像(即負樣本)。2.2 數據集目標框的聚類分析最初的YOLO算法采用回歸的方法直接預測目標邊界框的坐標值。為了簡化問題,讓神經網絡學習起來更加容易,Faster R-CNN算法提出了錨(anchor)機制,即事先確定一組大小、橫縱比各異的矩形框作為選取目標包圍框時的參照物,通過預測目標框的偏移量取代直接預測坐標,有效降低了模型訓練的復雜度。最新的YOLO算法借鑒了錨的思想,并對Faster R-CNN算法中手動設置錨框的方式進行了改進,通過K-means聚類的方法獲得訓練集的錨框集合。K-means算法是一種經典的基于距離的聚類算法,一般采用歐式距離作為判別依據。但采用歐式距離聚類獲得的錨會使得大包圍框產生的誤差相比小包圍框更大,而聚類的目的是為了獲得更好的交并比(intersection over union,IoU),與包圍框的大小無關。這里的交并比是指預測的目標框與真實目標框的重疊率,即檢測結果(detection result)與真實值(ground truth)的交集比上它們的并集,用公式表示為IoU Detection Result\Ground TruthDetection Result[Ground Truth(1)綜合以上考慮,在錨的聚類過程中使用通過交并比定義的距離公式為D box; centroid 1 IoU box; centroid(2)式中box表示樣本;centroid表示聚類中心;IoU(box,centroid)表示聚類中心框和樣本框的交并比。原YOLO算法中的錨參數是通過聚類圖像識別、分類的標準數據集 Pascal VOC數據集和COCO數據集得到的,適用于該數據集中汽車、人類、貓等各類不同尺寸的目標。而本文要識別的目標為電力線路桿塔,多數目標框長寬比大,為長矩形,因此直接使用原算法中的錨參數并不合理?;谶@樣的考慮,本文對電力線路桿塔圖像數據集重新進行了K-means聚類分析,聚類中心的數量設置為K9。聚類結果如圖4所示,新的錨參數分別為(6,39)、(14,74)、(39,48)、(25,155)、(52,224)、(203,92)、(106,252)、(186,287)、(300,215)。a 正常桿塔類別1 b 正常桿塔類別2 c 受損桿塔 圖 2 數據集中的電力桿塔類別Fig. 2 Classes of power line poles in dataseta 原始圖像b 增廣圖像 圖 3 非正常桿塔圖像的數據增廣Fig. 3 Data augmentation for abnormal poles第 7 期 郭敬東等基 于 YOLO的無人機電力線路桿塔巡檢圖像實時檢測193 模型的訓練與測試3.1 模型訓練本文實驗的軟硬件平臺如表1所示,訓練集和測試集分別包含7 636和815張電力桿塔圖片。由于無人機拍攝的圖像和視頻分辨率較高,為了更好地檢測小目標,選擇較大的608608分辨率作為統一的YOLO網絡入口分辨率。訓練階段采用動量項為0.9的異步隨機梯度下降算法,每批訓練(即每個batch)包含64張圖片,分16次送入訓練器,權值的初始學習率設置為0.001,衰減系數設為0.000 5。訓練過程中,隨著迭代次數的增加,損失值、類別準確率、平均交并比和閾值為0.5時召回率的變化趨勢散點圖如圖5所示。其中,召回率為被正確識別出來的目標數與目標總數的比值,用來衡量目標檢測模型的漏檢率。從圖5可看出,隨著迭代次數的增加,損失值(即損失函數值)迅速降低,逐漸收斂于0;類別準確率和召回率最終趨近于1;平均交并比也逐漸增大,趨近于0.8。從上述各參數的訓練過程來看,模型的收斂結果較為理想。3.2 模型測試電力桿塔單目標檢測的效果如圖6所示,其中,實線包圍框為YOLO電力線路桿塔檢測模型預測出來的結果,虛線包圍框是事先標注的目標真實值。如圖7所示,本文模型還可以從1張圖表 1 軟硬件實驗平臺Table 1 Experimental plat of hardwareand software軟硬件平臺型號參數操作系統Ubuntu 16.04 LTS深度學習框架DarknetCPU Intel Xeon E5-2630 v4 2.20 GHz 30GPU NVIDIA TITAN Xpanchor 框的寬/像素anchor 框的長/像素40050030020010000 100 200 300 400 500圖 4 基于K-means聚類算法的目標框分布Fig. 4 Distribution of anchor boxes based on K-meansclustering algorithm迭代次數/次c 平均交并比1.00.80.60.40.200 2 000 4 000 6 000 8 000 10 000平均交并比迭代次數/次d 召回率1.00.80.60.40.200 2 000 4 000 6 000 8 000 10 000召回率迭代次數/次損失值a 損失值1 7501 5001 2501 00075050025000 2 000 4 000 6 000 8 000 10 000迭代次數/次b 類別準確率1.00.80.60.40.200 2 000 4 000 6 000 8 000 10 000類別準確率圖 5 網絡訓練參數收斂散點圖Fig. 5 Scatter distribution of network parameters fortraining until convergence中國電力第 52 卷20像中同時檢測出多個目標,并且對不同尺度、不同光照條件下的目標以及重疊和遮擋不全的目標也能有效識別。在本模型中,每張圖像平均所消耗的處理時間約為30 ms,無人機巡檢視頻的處理速度可以達到20幀/s。本文還進一步通過計算交并比、召回率和平均精度均值(mean average precision,mAP)來衡量電力線路桿塔檢測模型的性能。模型在使用改進錨參數前后的測試性能參數對比如表2所示。其中,平均精度均值是指各類別平均精度的平均值,它同時考慮了物體的分類和定位性能,是目標檢測領域中一種常用的綜合性能衡量指標。從表中可以看出,改進后的YOLO模型在測試集上的交并比提高了2.03個百分點,召回率提高了2.27個百分點,但平均精度均值下降了1.04個百分點。此外,為了提高檢測的速度,降低實時目標檢測對硬件的要求,本文還對簡化版的YOLO算法進行了研究,建立了電力線路桿塔狀態檢測簡b 正常桿塔類別2a 正常桿塔類別1normal_pole_2c 非正常桿塔normal_pole_1abnormal_pole圖 6 電力桿塔單目標檢測的預測值與真實值Fig. 6 Predicted boxes and ground-truth of single objectdetection of power line polesnormal_pole_2normal_pole_2normal_pole_2normal_pole_1b 高曝光率下目標normal_pole_2normal_pole_1normal_pole_1normal_pole_1c 重疊目標normal_pole_1d 遮擋目標normal_pole_1a 陰暗環境下目標圖 7 多種環境下多尺度桿塔目標識別Fig. 7 Detection of multi-scale power line poles inmultiple environments第 7 期 郭敬東等基 于 YOLO的無人機電力線路桿塔巡檢圖像實時檢測21化模型。該模型簡化了YOLO的網絡結構,從原來的106層網絡縮減到了23層,只保留了2種尺度的輸出,大大減少了權重參數的數量,降低了模型的處理時間。簡化模型在本實驗平臺的視頻檢測速度可以達到30幀/s,較簡化前提升了約50。但模型的檢測精度有所下降,在測試數據集上得到的交并比為62.40,召回率為76.75,平均精度均值為71.19。4 結語本文基于最新的YOLO目標檢測算法,提出了一種面向無人機巡檢的電力線路桿塔狀態實時檢測模型。通過對非正常類桿塔的圖像進行平移、縮放、水平翻轉、改變顏色等數據增廣變換,解決了桿塔樣本類別不平衡的問題。通過使用K-means算法對桿塔數據集的目標框進行重新聚類,使得檢測模型在測試集上的交并比和召回率有所提高,平均均值精度能達到94.09。該模型可以檢測多種環境下多種尺度下的桿塔目標,同時可以實現對無人機巡檢視頻的實時檢測,檢測速度約為20幀/s。此外,基于簡化YOLO模型的桿塔檢測算法速度更快,檢測速度可達到30幀/s。參考文獻韓冰, 尚方. 面向無人機輸電線路巡檢的電力桿塔檢測框架模型[J]. 浙江電力, 2016, 354 6–11.HAN Bing, SHANG Fang. Power tower detection framework modelfor UAV transmission line inspection[J]. Zhejiang Electric Power,2016, 354 6–11.[1]KATRASNIK, PERNUS, LIKAR. A survey of mobile robots fordistribution power line inspection[J]. IEEE Transactions on PowerDelivery, 2009, 251 485–493.[2]ROVERSO D, NGUYEN V N, JENSSEN R. Automatic autonomousvision-based power line inspection a review of current status and thepotential role of deep learning[J]. International Journal of ElectricalPower 2. Department of Electrical Engineering, Southeast University, Nanjing 210096, ChinaAbstract Unmanned aerial vehicles UAV-based inspection has become an important approach for power line inspection afterdisaster. However, the current UAV-based inspection is still pered manually for damage assessments, which is not only time-consuming but also poor in accuracy. In this paper a real-time detection model based on YOLO deep learning algorithm is presentedto detect the status of power line poles automatically from the UAV vision data after disaster. The data augmentation is pered forcollapsed towers to solve the class imbalance problem. To improve the parameters of YOLO, K-means algorithm is used to clusterobject frames of pole data. The experimental results show that the proposed model can effectively detect multi-scale towers inmultiple environments. The Recall and Intersection-over-Union IoU of the improved YOLO are improved, with the mean averageprecision mAP on the test set of 94.09 and the average processing speed of 20 frames per second FPS after improving theparameters. Moreover, we tested the simplified YOLO with faster speed, and the average processing speed reaches 30 FPS.This work is supported by National Natural Science Foundation of China No.51807028, and Science and Technology Project ofSGCC No.52130418000L.Keywords UAV inspection; power line poles; deep learning; YOLO; data augmentation; artificial intelligence and big dataapplication第 7 期 郭敬東等基 于 YOLO的無人機電力線路桿塔巡檢圖像實時檢測23