羅藝,王乾龍,晏凱
(云南電網有限責任公司曲靖供電局,云南 曲靖 655000)
電力巡線無人機有廣闊的應用前景。一方面,無人機巡線具有野外作業風險低、成本低以及作業靈活的特點;另一方面,產生的海量數據需要經過人工判讀才能得到最終的巡檢報告,因此采用圖像識別的方法對這些數據進行部件檢測識別具有十分重要的意義。與傳統的小部件識別相比,無人機巡檢得到的圖像具有背景復雜、小部件與背景對比度低、不同地區不同季節背景差異較大、存在大量干擾等難題。傳統的電力部件識別算法主要采用人工設計的特征,如SIFT(Scal invariant feature transform)[1]、邊緣檢測[2]、HOG(Histogram of Oriented Gridients)等,不能很好地適用于電力部件,采用的分割算法主要基于部件外圍輪廓骨架[3]、自適應閾值[4]等進行圖像分割[5]。但這些方法在設計原則上往往是基于特定類別來實現的,其準確率低,不具有可擴展性;而且方法結構松散,缺少對低層特征進行綜合利用進而達到全局最優識別的目的。但這些方法尚不具備隨樣本數量增多提升識別準確率的能力。
2012 年起,深度學習引起了廣泛關注,并在圖像識別與檢測中取得了良好的識別效果。本文研究了深度學習在電力部件識別中的應用,以及采用優化算法對參數進行調優,并比較了DPM、RCNN(Regionbased Convolutional Neural Network)[6]的SPPnet(Spatial pyramid poolingnetworks)[7]和Faster R-CNN[8]算法,針對電力小部件識別問題分析了不同算法的效果和性能。
對于目標識別主要包括目標位置的確定和目標類別的判別。根據確定目標位置的方式不同,可以分為2 類:
1)采用滑動窗口的方式,逐窗口判斷是否存在目標對象;
2)采用區域提議的方式,先集中生成可能包含目標對象的區域框,再逐一判斷每個候選框是否包含目標對象。滑動窗口方式識別方法的典型算法是可變形部件模型DPM;區域提議方式識別的典型算法是基于區域的卷積神經網絡RCNN。
可 變 形 部 件 模 型DPM 方 法 是 由P.Felzenszwalb 提出的經典目標識別算法。在檢測階段,DPM 在圖像特征金字塔上作為一個滑動窗口運行,圖像特征金字塔通常由HOG 特征建立。DPM 通過優化一個綜合部件變形代價函數和圖像匹配得分的得分函數來給每個滑動窗口賦予一個得分。
Ross 等2014 年提出的基于區域的卷積神經網絡方法RCNN,成為基于區域提議方式進行識別的典型方案。在檢測階段,RCNN 分為4個步驟:
1)使用視覺方法( 如Selective Search) 生成大量候選區域;
2)對每個候選區域用CNN 進行特征提取,形成高維特征向量;
3)將這些特征量送入一個線性分類器計算屬于某個類別的概率,用于判斷所包含對象;
4)對目標外圍框的位置和大小進行一個精細的回歸。
與DPM 使用滑動窗口進行遍歷搜索的方式相比,RCNN 第一步的區域提議是選擇性搜索,使用得分最高的前2000 個區域可以有效減少后面特征提取的計算量,能很好地應對尺度問題;CNN 在實現上采用GPU 進行并行計算,計算效率明顯優于DPM 方法( 實現上采用單CPU計算);外圍框回歸使目標定位的精確性進一步提升。在訓練階段,RCNN 也有4 個步驟:
1)使用選擇性搜索集中生成每張圖片的候選區域,并對每個候選區域用CNN 提取特征,本文CNN 采用的是訓練好的ImageNet 網絡;
2)利用候選區域和提取出的特征對ImageNet 網絡進行調優,調優依據標準的反向傳播算法進行,從特征層開始向后調整各層權重;
3)以特征層輸出的高維特征向量和目標類別標簽為輸入,訓練支持向量機;
4)訓練對目標外圍框位置和大小進行精細回歸的回歸器。
RCNN 方法在準確率和效率上遠遠超過DPM 方法,成為基于深度學習進行識別的典型方案。2014 年和2015 年,Ross 和微軟亞洲研究院的研究者陸續提出了改進的RCNN 方法[9]:SPPnet 首次引入空間金字塔池化層從而放寬了對輸入圖片尺寸限制并提高準確率;Fast-RCNN 采用自適應尺度池化能夠對整個網絡進行調優從而提高深層網絡識別的準確率;Faster R-CNN 通過構建精巧的區域提議網絡來代替時間開銷大的選擇性搜索方法,從而打破了計算區域提議時間開銷大的瓶頸問題,使實時識別成為可能。本文主要研究了利用Faster R-CNN方法對電力部件進行識別。
與SPPNet 和Fast-RCNN 相比,Faster R-CNN方法既突破了計算區域提議的時間瓶頸,又能保證理想的識別率。因此,本文以Faster R-CNN識別方法為主,提取電力小部件的識別特征并進行目標識別驗證。
Faster R-CNN 方法包含2 個CNN 網絡:區域提議網絡RPN(Regional Proposal Network)和Fast R-CNN 檢測網絡。訓練階段的主要步驟如圖1 所示。對RPN 網絡和Fast-RCNN 檢測網絡進行聯合訓練,如圖2 所示。
2.1.1 預訓練CNN模型
RPN 網絡和檢測網絡都需要對預訓練的Image Net 網絡進行初始化,通常采用的網絡主要 有ZFnet 網 絡(Zeilerand Fergus) 和VGG16網絡。因本文數據集規模較小,故選用ZFnet網絡。ZFnet 包含5 個卷積層,有些卷積層后面添加池化層和3 個完全連接的特征層。利用ILSVRC 2012 圖像分類任務中的訓練數據(120萬張圖像,l000 類)對ZFnet 模型進行預訓練。區域提議網絡和檢測網絡都是在ZFnet 輸出后添加特定的層得到。這些特定層可以對輸入圖片提取可能含有目標的區域,并計算出以該區域為目標的概率。

圖1 部件識別的聯合網絡訓練過程

圖2 網絡訓練過程示意圖
ZFnet 的最后一個卷積層( 即第5 個卷積層) 包含256 個通道,被稱為特征圖(Feature Map)。特征圖為輸入圖像的深層卷積特征,同類物體的深層特征十分接近;而不同類物體的深層特征差異很大,即在特征圖上物體具有很好的可分性。
2.1.2 RPN網絡訓練
用電力部件圖像構建圖像訓練集,但電力部件圖像集與預訓練圖像集無論是類別數量還是圖像樣式都存在很大的差別。在用電力部件圖像集訓練RPN 網絡時,直接用上一步預訓練的ZFnet 模型初始化RPN,使用反向傳播算法對區域提議網絡進行淵優。RPN 網絡以任意大小的圖像為輸入,之后輸出一系列可能包含目標的區域框。如圖3 所示,在ZFnet 的CONV5后面添加一個小的卷積層,這個小的卷積層采用滑動方式運作,對于特征圖上的每一個位置(對應原始圖像上一個位置),南小卷積層進行卷積運算,即在此位置開一個小窗口進行卷積運算,得到同一個位置對應的256 維向量( 由于有256 個通道),該向量反映了該位置小窗口(對應原始圖像上某一窗口)內的深層特征。由這個256 維的特征向量可以預測:①該位置小窗口屬于目標/背景的概率值,即得分;②該位置附近包含目標的窗口相對于該位置小窗口的偏差,用4 個參數表示,2 個平移,2 個放縮。采用3 種不同尺寸和3 種不同比例(1:l,l:2,2:1)組合成的9 種基準小窗口對包含目標的窗口位置進行預測,可以使區域提議更準確。

圖3 檢測識別過程
2.1.3 Fast R-CNN檢測網絡訓練
根據步驟(2) 生成的區域提議結果是基于Fast。RCNN 方法訓練獨立的檢測網絡,檢測網絡也利用ZFnet 預訓練模型初始化。對輸入圖像進行5 層卷積網絡的特征提取,第5 層特征圖(CONV5) 是一個256x256 的特征圖,取CONV5 上對應的深度特征,將256 個通道內的全部特征串聯成一個高維(4096 維)特征向量,稱為FC6 特征層,后面添加另一個4096 維的特征層,形成FC7,FC6 和FC7 之間采用完全連接。由FC7 特征層可預測:①候選區域框屬于每個類別的概率,即得分;②目標對象外圍框的更合適的位置,用它相對于候選區域框的2 個平移和2 個放縮共4 個參數表示。通過預先標記的信息利用反向傳播算法對該檢測網絡進行微調。
2.1.4 2個網絡的CNN共享和聯合調優
將2 個網絡單獨訓練并未實現卷積網絡的參數進行共享。利用步驟(3)訓練的檢測網絡來初始化RPN 網絡,并固定共享的深度卷積層,對RPN 網絡的特殊部分進行調優,為了與檢測網絡對應,稱此部分為RPN 網絡的FC 層,這樣2 個網絡就共享了深度卷積層。最后,固定共享的卷積層,對Fast R-CNN 的FC 層進行調優。這樣2 個網絡就共享了卷積層并形成了一個聯合的網絡。
由上面的訓練可知,2 個網絡最終可共用同一個5 層的卷積神經網絡,這使整個檢測過程只需完成系列卷積運算即可完成檢測識別過程,徹底解決了原來區域提議步驟時間開銷大的瓶頸問題。檢測識別的過程如圖3 所示,其實現步驟為:
1) 對整個圖像進行系列卷積運算,得到特征圖CONV5;
2) 由區域提議網絡在特征圖上生成大量候選區域框;
3) 對候選區域框進行非最大值抑制,保留得分較高的前300 個框;
4) 提取特征圖上候選區域框內的特征形成高維特征向量,檢測網絡計算類別得分,并預測更合適的目標外圍框位置。
無人機拍攝影像具有分辨率較高、包含目標較小的特點,拍攝影像的角度具有多樣性和一定隨機性。本文識別3 類小型電力部件一間隔棒、防震錘和均壓環。
數據集來源于多旋翼無人機巡檢圖像,從季節上覆蓋了春、夏、秋、冬4 個季節。原始影像大小為5184x3456,截取以目標為主體的正方形小塊圖像,統一放縮至512x512,作為訓練樣本。

表1 訓練圖像樣本數量表
本次試驗,對于間隔棒、均壓環和防震錘的每一類部件,分別收集三個種類在春夏秋冬四個季節不同背景真實樣本,分別有2088、2197、2195 張圖片來構筑樣本庫,樣本分布和數量如表1 所示。訓練測試數據集分布比例按照8:2 隨機按比例分配。對訓練集中每張圖片里完整出現的沒有被遮擋的小型電力部件標記其外圍框樣本,而對測試集,要標出每張圖片里出現的所有電力部件,包括不完整的和被遮擋的。
測試時,當識別出的外圍框與標記的外匍框重疊面積達到標記外框的90%以上時,視為一次成功識別。本次試驗中,用正確率和召回率來評判識別的準確性,其中正確率為目標類別標記正確的外同框個數除以所有標記的外同框個數;召回率為目標類別標記正確的外框個數除以所有標準的外圍框個數。由于本次試驗識別的類別僅有3 種類型,因此分別對每一類電力部件識別的正確率和召回率做統計件。
本文使用Caffe 框架實現卷積神經網絡模型。使用3.2 節構建的訓練集和測試集,首先研究了多個Faster R-CNN 參數對mAP( 平均準確率均值)的影響,然后將Faster R-CNN 方法與基于Selective Search 方法進行區域提議的SPPnet 方法和DPM 方法進行對比。Faster R-CNN 涉及到一些參數,例如dropout 比例、最大迭代次數、批處理尺寸、nms(非極大值抑制)前后區域保留個數,這些參數對mAP 有較大影響。測試結果隨著nms 數量的減小,mAP也逐漸減小,這是因為經過nms 后,保留的候選區域也隨之減小,導致檢測結果準確度下降。因此較高的nms 可以得到較好的檢測結果。
根據實驗數據,當dropout 的比例從0.2 增大至0.8 時,mAP 總體上是下降趨勢,但是在0.6 時有一個最高值。目前并無相關理論解釋dropout 對mAP 的影響,通常取經驗值。令dropout 取值為0.6,改變nms 前后候選區域數量,測試其對mAP 的影響,隨著nms 數量的減小,mAP 也逐漸減小,這是因為經過nms 后,保留的候選區域也隨之減小,導致檢測結果準確度下降。岡此較高的nms 可以得到較好的檢測結果。
令nms 前后候選區域個數分別取2000 和300,改變批尺寸,測試其對mAP 的影響,結果如表4 所示。不同的批尺寸得到不同的mAP。隨著批尺寸逐漸變小,mAP 逐漸增大。

表2 不同dropout對mAP的影響

表3 不同nms數目對mAP的影響

表4 不同批尺寸對mAP的影響

表5 在測試集上的準確率召回率對比
有理論表明,當batchsize 為1 時,優化速度最快。根據mAP 最大時對應的參數,對測試集使用Faster R-CNN 與SPPnet、DPM 進行部件識別,對應的3 類電力部件的正確率和召回率如表5 所示。從表5 可看出,Faster R-CNN方法識別的準確率明顯高于SPPnet 和DPM,而DPM 方法準確率最低。這主要是由于區域提議網絡可以產生比SPPnet 更精準的候選框,而DPM 方法采用滑動窗口進行檢測,其特征為HOG 特征,而不是深度訓練特征。此外,Faster R-CNN 在網絡訓練的第(2) 步對全部特征層和卷積層的權重進行調優,而SPPnet 僅調優特征層,從而限制了識別準確率。值得注意的是,Faster R-CNN 采用的區域提議網絡和檢測網絡具有很好的泛化能力,能夠識別出部分被遮擋和中間穿過鐵桿的間隔棒,且對各種不同方向的部件都可正確識別。
本文在總結分析當前幾種典型的目標檢測識別方法的基礎上,驗證了利用RCNN 等深度學習算法對電力小部件識別的準確性和效率,并分析了不同參數對Faster R-CNN 檢測結果的影響。實驗表明,利用特定的GPU 計算單元可以實時目標檢測和識別,可為后期無人機巡檢圖像的智能化處理及巡檢無人機的精確拍攝奠定良好的基礎。
此外,根據深度學習的特點,構建更大的樣本庫可能進一步提高準確率。下一步的工作是構建更精細的識別類別,包括某些部件的缺陷圖像都可看做一種類型,這樣不但可以實現目標部件的分類,還可實現部件的缺陷識別。