吳君鵬,唐少博,李相磊,張師
(東北電力大學,吉林 吉林 132000)
絕緣子作為保障輸電線路可靠工作的元件,其工況對電力系統的安全運行具有重要影響。目前針對絕緣子的檢測主要是人工巡檢,但有以下無法避免的問題:一方面是一些場合下人工巡檢的危險系數較高,尤其是在高壓、強電、氣候惡劣等環境中;另一方面是人工巡檢效率低下且存在較高的判斷誤差,由于人的視覺有限和精力衰減,導致存在誤判。隨著機器視覺中卷積神經網絡的出現,針對絕緣子自動化檢測的計算機判讀方法的性能有了較大提升,使得針對絕緣子的工況檢測變得簡單高效,具有實際意義。可以代替人工現場巡檢,為實現絕緣子的無人檢測實施提供了可實現的技術基礎;為絕緣子的后期的故障診斷工作提供圖像素材;另外其靈活的檢測方式可以在壓縮成本的同時獲取大數據,便于日后現場情況的分析和預測。
基于區域卷積神經網絡(R-CNN)在2013年被提出[1]。R-CNN使用了一種相對簡單的目標檢測策略,利用選擇搜索(Selective Search)算法產生推薦目標(Object Proposals),把每個推薦目標縮放到相同大小,再使用由ImageNet訓練好的網絡模型進行特征提取,最后用SVM分類器判斷類別和邊框回歸。雖然R-CNN在檢測精度上進步很大,但也存在明顯不足,如:目標檢測受到算法的自身限制導致檢測速度較慢;另外要接入全連接層,所以圖片大小尺寸要固定,預選框經過剪裁或者拉伸扭曲會使圖片形變以致失真。文獻[2]提出SPP Net結構,該網絡在卷積層和全連接層之間添加一個空間金字塔池化(SPP)層,用三個尺度的金字塔層分別池化后將結果進行拼接送入全連接層,使檢測速度有一定提升。文獻[3]提出的Fast R-CNN結構只對全圖進行一次特征提取,使用選擇搜索算法產生候選框的特征后通過原圖中的位置映射到特征層,在特征圖上根據候選框選取相應的區域,由于搜索選出來的候選框大小不一,故增加輸出固定大小的感興趣區域池化層(ROI Pooling),從而提取每個區域推薦的固定長度特征(即ROI),同時使用多任務損失函數,分別與softmax分類器和box bounding回歸器相連,將邊框回歸整合進入R-CNN網絡中,但仍需外部算法來提取侯選框。為解決候選框推薦問題,文獻[4]提出了Faster R-CNN結構,Faster R-CNN結構采用了區域推薦網絡,實現了目標檢測的端到端處理。從R-CNN到Fast R-CNN再到Faster R-CNN,檢測的速度與精度都不斷提升。文獻[5-6]提出的FPN網絡對應著多尺度物體檢測性能的提升。另外基于深度學習的回歸的一體化卷積網絡的目標檢測方法,諸如YOLO[7]和DSSD[8]也得到了廣泛地研究,這些方法有著較快的檢測速度,但其檢測精度卻有待提高。
目前,隨著圖像檢測算法性能的提升,R-CNN在電力設備圖像檢測中得到了大量應用。文獻[9] 提出一種基于卷積神經網絡的套管故障紅外圖像識別方法,并證明了在特征提取方面具有顯著的優勢。文獻[10]基于改進U-net和卷積神經網絡(CNN)模型,達到了有效識別絕緣子自爆故障的目的。文獻[11]采用基于YOLO的目標分解及聚合表達的算法對絕緣子進行檢測。文獻[12]使用神經網絡對變電站異物進行了有效檢測。文獻[13]采用了改進的卷積神經網絡方法實現快速準確地辨識低頻振蕩信號。
文章對絕緣子的定位識別方法在Faster R-CNN的基礎上,解決現場絕緣子圖像檢測過程中存在因成像距離、拍攝角度以及目標物體受到遮擋而造成的的誤檢和漏檢問題。通過對Faster R-CNN算法中錨點選取的優化,提出了具有多階段懲罰因子的NMS算法。運用改進后的Faster R-CNN方法可以有效提高對絕緣子識別和定位精度。
Faster R-CNN由推薦區域網絡(RPN)和Fast R-CNN檢測器組成,二者共享卷積層,結構如圖1所示。待檢圖像經過歸一化的處理之后,進入卷積神經網絡模型進行特征提取,隨后由RPN負責尋找推薦區域,RPN可以大幅度縮減提取推薦區域的速度。最后經過一個共享卷積層,將卷積層輸出數據通過兩個分支進行回歸和預測,并在其中設計了“多參考窗口(Anchor)”的機制,再由Fast R-CNN負責對RPN的結果進一步優化,最終輸出目標的概率值和坐標。在網絡的訓練中,利用損失函數獲得網絡模型的預測能力和實際的差值,損失函數對于模型參數評判和調整起到至關重要的作用。損失函數由兩部分構成,一部分為分類損失函數,另一部分為回歸損失函數,如圖1所示。

圖1 Faster R-CNN的網絡結構圖Fig.1 Faster R-CNN network structure diagram
(1)
(2)

神經網絡模型是Faster R-CNN中最基礎最重要的部分,一般選用VGG16網絡,共有16個卷積層和3個全連接層,但由于網絡層數較深,所以耗時較長。此外,網絡對于GPU的要求也較高,更適用于多類別的分類任務。考慮到絕緣子檢測中工業裝置的GPU配備情況,以及絕緣子檢測類別的單一性、檢測速度的快速性,更適宜選用輕量型網絡結構模型ZF,如圖2所示。該網絡由5個卷積層和3個全連接層構成,由于網絡深度大大減小,故可以提高檢測速度,另外在工業現場中的可實現性更高。

圖2 ZF網絡模型結構圖Fig.2 ZF network model structure diagram
RPN作為Faster R-CNN的核心組成部分,在圖像需要同時預測多個推薦區域。在RPN中采用了錨點的多尺度設計機制來實現推薦區域的選擇問題。實際上,卷積池化后輸出的特征圖經由一個3*3大小卷積核卷積后再分別連接兩個1*1大小的卷積核。其中,一個1*1大小的卷積核后接softmax函數進行二分類,另一個后接回歸函數用以確定坐標。在這里,3*3大小的滑動窗口每滑動一次窗口,就會產生一個錨點(Anchor),同時在原圖上就會映射出3個尺度{128,256,512}和三種比例{1:1,1:2,2:1}共9個錨點框(Anchor boxes)。
由于預先設置了尺寸和寬高比,在實際運用中,對于一些特殊的檢測情況就會出現不精準的現象。針對檢測時絕緣子由于距離鏡頭遠近不同而造成的大小不一的多尺度問題,根據實際情況,將尺度設置為{32,64,128,256,512},用以解決小尺度的絕緣子的檢測問題。針對檢測時絕緣子由于鏡頭可能會傾斜、旋轉等問題造成的形變影響長寬比等問題,選擇為{1:1,1:2,2:1,1:3,3:1,1:5,5:1}七種比例以解決多比例問題。由此35個Anchor Boxes可以更好地適應于不同大小和比例的絕緣子的目標檢測。
由于錨點機制,每個錨點都會產生大量的錨點框,故在后處理階段會出現同一個絕緣子具有多個錨點框的結果,導致重復檢測。Faster R-CNN中采用非極大值抑制(Non-Maximum Suppression, NMS)算法,以保證一個絕緣子有且僅有一個檢測框。
傳統的貪婪NMS算法先選定一個置信度最高的錨框M,然后遍歷M與任一錨框bi的iou(面積的交并比),然后直接刪除所有與M的iou大于設定閾值的錨框,以此刪除所有認為是同一目標且重復的錨框。但是當多個目標重疊時,即iou大于設定閾值但是并非是同一目標時,由于也同樣直接刪除了Anchor Boxes,就會造成漏檢的情況。針對此情況,相關文獻對NMS方法提出了改進[14-17]。
文中提出了一種改進的多階段懲罰(Multi-stage Penalty NMS)算法,即ms-NMS。根據任一錨框bi與置信度最高的錨框M的iou和預設閾值來選擇懲罰因子以降低錨框的置信度Si,且窗口間iou越大對應的懲罰越重,窗口間iou越小對應的懲罰越輕,而不是直接排除掉和已選框重疊大于一定閾值的框,從而不至于過多刪除擁擠情況下定位正確的框。懲罰因子函數如式(3)所示:
(3)
根據iou動態變化,iou越大懲罰因子的值越大,iou越小懲罰因子的值越小。當iou大于閾值0.8時,有同一目標重復Anchor Boxes傾向,因此使其置信度越來越快的衰減,當iou趨近于1時斜率趨近于無窮大;當iou小于閾值0.2時,具有非同一目標的傾向,因此要使其置信度越來越慢的衰減,當iou趨近于0時斜率趨近于0;當iou介于0.2~0.8之間時,不再具有傾向性,故置信度線性衰減。
圖3是各種懲罰因子的函數曲線,其中ms1、ms2、ms3為文中的多階段懲罰因子,gaussian是均值為0、方差為1的高斯曲線,linear為線性曲線,nonlinear為非線性曲線。可以看出線性曲線的懲罰因子始終保持固定增長,gaussian曲線在iou為1時懲罰因子仍然很高,較為合理的是文中的分階段懲罰因子和非線性懲罰因子,但由于文中的分階段懲罰因子考慮到了iou過大或者過小時的傾向性,故效果較好。

圖3 懲罰因子函數曲線圖Fig.3 Penalty factor function graph
為加快檢測與訓練速度,減少CPU時間消耗,要制作對于caffe實用性較好的數據集。樣本庫中所有圖片通過可視化的圖像標定工具軟件LabelImg進行手動標簽,達到符合PASCAL VOC 標準格式的XML標簽文件。處理好的標簽文件通過excel可以快速直觀地查看到重要信息如圖片寬度width、高度height、類別name以及框的坐標對xmin,ymin、xmax,ymax等。處理完成的數據集為適應較好的lmdb格式。由于訓練類別只有絕緣子,故采用508張訓練圖片作為訓練集,此圖片為本校實訓基地現場采集。
Faster R-CNN采用ZF作為訓練模型。其主要網絡結構有Data layers(數據層)、Conv layers(卷積層)、Pooling layers(池化層)、Relu(激活函數)、Fully connected layers(全連接層)、softmax(分類函數)、bbox_pred(邊框回歸)。
使用深度學習caffe常用訓練集PASCAL VOC 2007格式作為訓練數據集格式,利用測試集數據對模型進行驗證,最后生成檢測模型。訓練過程圖片大小剪為500×375 px;批處理量設置為64;使用的訓練的優化方法采用隨機梯度下降法,學習率調整策略選為等間隔調整,初始學習率設置為0.002,下降間隔數設置為30 000,學習率單次調整倍數設為0.1,即每30 000次學習率下調為原來的0.1倍;動量參數(Momentum)設為0.9以減少迭代次數,加快優化速度;訓練總次數調為70 000次,每10 000次保存一次模型,最后選定7個模型中位置誤差表現最好的為使、用模型,訓練時間為9 h左右。
搭建的硬件環境CPU為3.0 GHz、16 GB內存的intel處理器;GPU為英偉達GTX 1080圖形處理器;操作系統為Linux的ubuntu 16.04,用深度學習框架caffe對模型進行訓練。
運用改進后的Faster R-CNN檢測器進行效果測試,效果如圖4(a)所示,可以看出,兩圖中的所有絕緣子檢測效果非常好。圖4(b)中存在兩個絕緣子由于距離較近,發生部分遮擋,所以改進前的Faster R-CNN未能成功檢測;圖4(c)中的檢測結果表明改進后的Faster R-CNN可以很好的將遮擋的兩個絕緣子分別檢測出來;圖4(d)左側圖片左上角的部分絕緣子由于像素信息較少、尺度較小、沒有完整的圖像特征和圖4(d)右側圖片中遠處的絕緣子由于距離鏡頭較遠、尺度較小,都未能被改進前的Faster R-CNN成功檢測;圖4(e)中的檢測結果表明改進后的Faster R-CNN可以很好地優化小尺度的物體檢測,使距離稍遠、像素信息不全的物體能夠被檢測得到。


圖4 絕緣子檢測效果圖Fig.4 Insulator detection effect diagram
文中采用Loss曲線、P-R曲線和AP等三種指標對實際檢測效果進行了評價,以驗證改進的效果。
(1)Loss曲線
圖5為改進后的Faster R-CNN進行迭代70 000次的Loss曲線圖和學習率曲線圖,以每700次迭代進行一次參數輸出,生成Loss曲線。可以看出,在約65 000次迭代時曲線已經趨近收斂,在迭代30 000次和60 000次前曲線震蕩不下降,在調整了學習率為0.1倍后,Loss曲線繼續下降,直至收斂。

圖5 損失曲線和學習率曲線圖Fig.5 Loss curve and learning rate curve
(2)P-R曲線
P-R為描述查準率(Precision)和查全率(Recall)之間關系的曲線。查準率指真正例占所有預測為正例的比例,查全率指預測為真正例占所有正例的比例。即:
Precision=TP/(TP+FP)
Recall=TP/(TP+FN)
(4)
式中TP表示被檢索為正例同時也是正例;FP表示被檢索為正例但卻是負例;FN表示未被檢索為正例,但實際是正例。
如圖6所示,圖6(a)為未改進前的P-R曲線,圖6(b)為改進了錨框尺度比例的P-R曲線,圖6(c)為改進了NMS后處理算法的P-R曲線,圖6(d)為同時改進了尺度比例和NMS算法的P-R曲線。可以明顯看出,圖6(d)中曲線下面積最大,代表檢測效果最好。

圖6 P-R曲線圖Fig.6 P-R graph
(3)AP比對
表1為不同的Faster R-CNN迭代70 000次的 AP。可以看出AP最高的為同時改進后的Faster R-CNN迭代70 000次時的0.908 5,這是由于改進后的Faster R-CNN在多尺度和重疊場下能更有效地進行絕緣子識別和定位,同時隨著迭代次數的增加模型的檢測效果也越來越好。在4.1中的檢測圖像使用的即為迭代70 000次后產生的模型zf_faster_rcnn _iter_70000.caffemodel。

表1 不同迭代次數的APTab.1 AP for different iterations
表2為只改進了尺度比例后的Faster R-CNN與未改進前的AP對比,可以看出其中Anchor boxes的數量由9增加到了35,AP由0.797 7變成了0.886 9,有了明顯的提高,這是由于增加了尺度和寬高比,使得絕緣子的檢測范圍更加廣范,檢測到了原來未能檢測到的絕緣子圖像。

表2 不同尺度比例Anchor boxes的APTab.2 AP of different scales Anchor boxes
表3為改進了不同懲罰因子的MNS后處理算法的Faster R-CNN與未改進前AP對比,AP由0.797 7提高至0.854 4,這是由于改進的NMS算法對重疊的情況作了優化,減少了由于閾值選擇不合理導致的漏檢誤檢的情況使得重疊情況下的絕緣子能夠被檢出。

表3 不同NMS算法的APTab.3 AP of different NMS algorithms
表4為同時改進了MNS后處理算法和尺度比例后的Faster R-CNN與未改進前的AP對比,AP由0.797 7提高至0.905 8,由于同時改進了MNS后處理算法和增加了尺度比例,效果顯著。

表4 改進的與未改進的Faster R-CNN的APTab.4 AP of improved and unimproved Faster R-CNN
提出了一種改進的基于卷積神經網絡的絕緣子檢測算法,該算法選擇輕量化的ZF網絡模型增加了工業靈活適應性;通過增加錨框的大小尺度和長寬比例,將anchor boxes的數量調整為35,可以檢測到形態大小多樣的絕緣子,AP由0.797 7提升為0.823 5;同時Greed NMS改為多階段懲罰的ms-NMS后處理算法,改善了絕緣子重疊問題,AP再次提升為0.905 8;故改進后的算法使AP共計提升10.81%。通過對訓練參數的優化選擇后進行實驗,實驗結果表明,改進后的Faster R-CNN在現場的圖片檢測效果對比改進前有明顯優勢,AP得到大幅提升,可以有效地將絕緣子成功檢測,使誤檢率和漏檢率降低。