羅藝,王乾龍,晏凱
(云南電網(wǎng)有限責(zé)任公司曲靖供電局,云南 曲靖 655000)
電力巡線無人機有廣闊的應(yīng)用前景。一方面,無人機巡線具有野外作業(yè)風(fēng)險低、成本低以及作業(yè)靈活的特點;另一方面,產(chǎn)生的海量數(shù)據(jù)需要經(jīng)過人工判讀才能得到最終的巡檢報告,因此采用圖像識別的方法對這些數(shù)據(jù)進行部件檢測識別具有十分重要的意義。與傳統(tǒng)的小部件識別相比,無人機巡檢得到的圖像具有背景復(fù)雜、小部件與背景對比度低、不同地區(qū)不同季節(jié)背景差異較大、存在大量干擾等難題。傳統(tǒng)的電力部件識別算法主要采用人工設(shè)計的特征,如SIFT(Scal invariant feature transform)[1]、邊緣檢測[2]、HOG(Histogram of Oriented Gridients)等,不能很好地適用于電力部件,采用的分割算法主要基于部件外圍輪廓骨架[3]、自適應(yīng)閾值[4]等進行圖像分割[5]。但這些方法在設(shè)計原則上往往是基于特定類別來實現(xiàn)的,其準(zhǔn)確率低,不具有可擴展性;而且方法結(jié)構(gòu)松散,缺少對低層特征進行綜合利用進而達到全局最優(yōu)識別的目的。但這些方法尚不具備隨樣本數(shù)量增多提升識別準(zhǔn)確率的能力。
2012 年起,深度學(xué)習(xí)引起了廣泛關(guān)注,并在圖像識別與檢測中取得了良好的識別效果。本文研究了深度學(xué)習(xí)在電力部件識別中的應(yīng)用,以及采用優(yōu)化算法對參數(shù)進行調(diào)優(yōu),并比較了DPM、RCNN(Regionbased Convolutional Neural Network)[6]的SPPnet(Spatial pyramid poolingnetworks)[7]和Faster R-CNN[8]算法,針對電力小部件識別問題分析了不同算法的效果和性能。
對于目標(biāo)識別主要包括目標(biāo)位置的確定和目標(biāo)類別的判別。根據(jù)確定目標(biāo)位置的方式不同,可以分為2 類:
1)采用滑動窗口的方式,逐窗口判斷是否存在目標(biāo)對象;
2)采用區(qū)域提議的方式,先集中生成可能包含目標(biāo)對象的區(qū)域框,再逐一判斷每個候選框是否包含目標(biāo)對象?;瑒哟翱诜绞阶R別方法的典型算法是可變形部件模型DPM;區(qū)域提議方式識別的典型算法是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)RCNN。
可 變 形 部 件 模 型DPM 方 法 是 由P.Felzenszwalb 提出的經(jīng)典目標(biāo)識別算法。在檢測階段,DPM 在圖像特征金字塔上作為一個滑動窗口運行,圖像特征金字塔通常由HOG 特征建立。DPM 通過優(yōu)化一個綜合部件變形代價函數(shù)和圖像匹配得分的得分函數(shù)來給每個滑動窗口賦予一個得分。
Ross 等2014 年提出的基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)方法RCNN,成為基于區(qū)域提議方式進行識別的典型方案。在檢測階段,RCNN 分為4個步驟:
1)使用視覺方法( 如Selective Search) 生成大量候選區(qū)域;
2)對每個候選區(qū)域用CNN 進行特征提取,形成高維特征向量;
3)將這些特征量送入一個線性分類器計算屬于某個類別的概率,用于判斷所包含對象;
4)對目標(biāo)外圍框的位置和大小進行一個精細的回歸。
與DPM 使用滑動窗口進行遍歷搜索的方式相比,RCNN 第一步的區(qū)域提議是選擇性搜索,使用得分最高的前2000 個區(qū)域可以有效減少后面特征提取的計算量,能很好地應(yīng)對尺度問題;CNN 在實現(xiàn)上采用GPU 進行并行計算,計算效率明顯優(yōu)于DPM 方法( 實現(xiàn)上采用單CPU計算);外圍框回歸使目標(biāo)定位的精確性進一步提升。在訓(xùn)練階段,RCNN 也有4 個步驟:
1)使用選擇性搜索集中生成每張圖片的候選區(qū)域,并對每個候選區(qū)域用CNN 提取特征,本文CNN 采用的是訓(xùn)練好的ImageNet 網(wǎng)絡(luò);
2)利用候選區(qū)域和提取出的特征對ImageNet 網(wǎng)絡(luò)進行調(diào)優(yōu),調(diào)優(yōu)依據(jù)標(biāo)準(zhǔn)的反向傳播算法進行,從特征層開始向后調(diào)整各層權(quán)重;
3)以特征層輸出的高維特征向量和目標(biāo)類別標(biāo)簽為輸入,訓(xùn)練支持向量機;
4)訓(xùn)練對目標(biāo)外圍框位置和大小進行精細回歸的回歸器。
RCNN 方法在準(zhǔn)確率和效率上遠遠超過DPM 方法,成為基于深度學(xué)習(xí)進行識別的典型方案。2014 年和2015 年,Ross 和微軟亞洲研究院的研究者陸續(xù)提出了改進的RCNN 方法[9]:SPPnet 首次引入空間金字塔池化層從而放寬了對輸入圖片尺寸限制并提高準(zhǔn)確率;Fast-RCNN 采用自適應(yīng)尺度池化能夠?qū)φ麄€網(wǎng)絡(luò)進行調(diào)優(yōu)從而提高深層網(wǎng)絡(luò)識別的準(zhǔn)確率;Faster R-CNN 通過構(gòu)建精巧的區(qū)域提議網(wǎng)絡(luò)來代替時間開銷大的選擇性搜索方法,從而打破了計算區(qū)域提議時間開銷大的瓶頸問題,使實時識別成為可能。本文主要研究了利用Faster R-CNN方法對電力部件進行識別。
與SPPNet 和Fast-RCNN 相比,F(xiàn)aster R-CNN方法既突破了計算區(qū)域提議的時間瓶頸,又能保證理想的識別率。因此,本文以Faster R-CNN識別方法為主,提取電力小部件的識別特征并進行目標(biāo)識別驗證。
Faster R-CNN 方法包含2 個CNN 網(wǎng)絡(luò):區(qū)域提議網(wǎng)絡(luò)RPN(Regional Proposal Network)和Fast R-CNN 檢測網(wǎng)絡(luò)。訓(xùn)練階段的主要步驟如圖1 所示。對RPN 網(wǎng)絡(luò)和Fast-RCNN 檢測網(wǎng)絡(luò)進行聯(lián)合訓(xùn)練,如圖2 所示。
2.1.1 預(yù)訓(xùn)練CNN模型
RPN 網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)都需要對預(yù)訓(xùn)練的Image Net 網(wǎng)絡(luò)進行初始化,通常采用的網(wǎng)絡(luò)主要 有ZFnet 網(wǎng) 絡(luò)(Zeilerand Fergus) 和VGG16網(wǎng)絡(luò)。因本文數(shù)據(jù)集規(guī)模較小,故選用ZFnet網(wǎng)絡(luò)。ZFnet 包含5 個卷積層,有些卷積層后面添加池化層和3 個完全連接的特征層。利用ILSVRC 2012 圖像分類任務(wù)中的訓(xùn)練數(shù)據(jù)(120萬張圖像,l000 類)對ZFnet 模型進行預(yù)訓(xùn)練。區(qū)域提議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)都是在ZFnet 輸出后添加特定的層得到。這些特定層可以對輸入圖片提取可能含有目標(biāo)的區(qū)域,并計算出以該區(qū)域為目標(biāo)的概率。
圖1 部件識別的聯(lián)合網(wǎng)絡(luò)訓(xùn)練過程
圖2 網(wǎng)絡(luò)訓(xùn)練過程示意圖
ZFnet 的最后一個卷積層( 即第5 個卷積層) 包含256 個通道,被稱為特征圖(Feature Map)。特征圖為輸入圖像的深層卷積特征,同類物體的深層特征十分接近;而不同類物體的深層特征差異很大,即在特征圖上物體具有很好的可分性。
2.1.2 RPN網(wǎng)絡(luò)訓(xùn)練
用電力部件圖像構(gòu)建圖像訓(xùn)練集,但電力部件圖像集與預(yù)訓(xùn)練圖像集無論是類別數(shù)量還是圖像樣式都存在很大的差別。在用電力部件圖像集訓(xùn)練RPN 網(wǎng)絡(luò)時,直接用上一步預(yù)訓(xùn)練的ZFnet 模型初始化RPN,使用反向傳播算法對區(qū)域提議網(wǎng)絡(luò)進行淵優(yōu)。RPN 網(wǎng)絡(luò)以任意大小的圖像為輸入,之后輸出一系列可能包含目標(biāo)的區(qū)域框。如圖3 所示,在ZFnet 的CONV5后面添加一個小的卷積層,這個小的卷積層采用滑動方式運作,對于特征圖上的每一個位置(對應(yīng)原始圖像上一個位置),南小卷積層進行卷積運算,即在此位置開一個小窗口進行卷積運算,得到同一個位置對應(yīng)的256 維向量( 由于有256 個通道),該向量反映了該位置小窗口(對應(yīng)原始圖像上某一窗口)內(nèi)的深層特征。由這個256 維的特征向量可以預(yù)測:①該位置小窗口屬于目標(biāo)/背景的概率值,即得分;②該位置附近包含目標(biāo)的窗口相對于該位置小窗口的偏差,用4 個參數(shù)表示,2 個平移,2 個放縮。采用3 種不同尺寸和3 種不同比例(1:l,l:2,2:1)組合成的9 種基準(zhǔn)小窗口對包含目標(biāo)的窗口位置進行預(yù)測,可以使區(qū)域提議更準(zhǔn)確。
圖3 檢測識別過程
2.1.3 Fast R-CNN檢測網(wǎng)絡(luò)訓(xùn)練
根據(jù)步驟(2) 生成的區(qū)域提議結(jié)果是基于Fast。RCNN 方法訓(xùn)練獨立的檢測網(wǎng)絡(luò),檢測網(wǎng)絡(luò)也利用ZFnet 預(yù)訓(xùn)練模型初始化。對輸入圖像進行5 層卷積網(wǎng)絡(luò)的特征提取,第5 層特征圖(CONV5) 是一個256x256 的特征圖,取CONV5 上對應(yīng)的深度特征,將256 個通道內(nèi)的全部特征串聯(lián)成一個高維(4096 維)特征向量,稱為FC6 特征層,后面添加另一個4096 維的特征層,形成FC7,F(xiàn)C6 和FC7 之間采用完全連接。由FC7 特征層可預(yù)測:①候選區(qū)域框?qū)儆诿總€類別的概率,即得分;②目標(biāo)對象外圍框的更合適的位置,用它相對于候選區(qū)域框的2 個平移和2 個放縮共4 個參數(shù)表示。通過預(yù)先標(biāo)記的信息利用反向傳播算法對該檢測網(wǎng)絡(luò)進行微調(diào)。
2.1.4 2個網(wǎng)絡(luò)的CNN共享和聯(lián)合調(diào)優(yōu)
將2 個網(wǎng)絡(luò)單獨訓(xùn)練并未實現(xiàn)卷積網(wǎng)絡(luò)的參數(shù)進行共享。利用步驟(3)訓(xùn)練的檢測網(wǎng)絡(luò)來初始化RPN 網(wǎng)絡(luò),并固定共享的深度卷積層,對RPN 網(wǎng)絡(luò)的特殊部分進行調(diào)優(yōu),為了與檢測網(wǎng)絡(luò)對應(yīng),稱此部分為RPN 網(wǎng)絡(luò)的FC 層,這樣2 個網(wǎng)絡(luò)就共享了深度卷積層。最后,固定共享的卷積層,對Fast R-CNN 的FC 層進行調(diào)優(yōu)。這樣2 個網(wǎng)絡(luò)就共享了卷積層并形成了一個聯(lián)合的網(wǎng)絡(luò)。
由上面的訓(xùn)練可知,2 個網(wǎng)絡(luò)最終可共用同一個5 層的卷積神經(jīng)網(wǎng)絡(luò),這使整個檢測過程只需完成系列卷積運算即可完成檢測識別過程,徹底解決了原來區(qū)域提議步驟時間開銷大的瓶頸問題。檢測識別的過程如圖3 所示,其實現(xiàn)步驟為:
1) 對整個圖像進行系列卷積運算,得到特征圖CONV5;
2) 由區(qū)域提議網(wǎng)絡(luò)在特征圖上生成大量候選區(qū)域框;
3) 對候選區(qū)域框進行非最大值抑制,保留得分較高的前300 個框;
4) 提取特征圖上候選區(qū)域框內(nèi)的特征形成高維特征向量,檢測網(wǎng)絡(luò)計算類別得分,并預(yù)測更合適的目標(biāo)外圍框位置。
無人機拍攝影像具有分辨率較高、包含目標(biāo)較小的特點,拍攝影像的角度具有多樣性和一定隨機性。本文識別3 類小型電力部件一間隔棒、防震錘和均壓環(huán)。
數(shù)據(jù)集來源于多旋翼無人機巡檢圖像,從季節(jié)上覆蓋了春、夏、秋、冬4 個季節(jié)。原始影像大小為5184x3456,截取以目標(biāo)為主體的正方形小塊圖像,統(tǒng)一放縮至512x512,作為訓(xùn)練樣本。
表1 訓(xùn)練圖像樣本數(shù)量表
本次試驗,對于間隔棒、均壓環(huán)和防震錘的每一類部件,分別收集三個種類在春夏秋冬四個季節(jié)不同背景真實樣本,分別有2088、2197、2195 張圖片來構(gòu)筑樣本庫,樣本分布和數(shù)量如表1 所示。訓(xùn)練測試數(shù)據(jù)集分布比例按照8:2 隨機按比例分配。對訓(xùn)練集中每張圖片里完整出現(xiàn)的沒有被遮擋的小型電力部件標(biāo)記其外圍框樣本,而對測試集,要標(biāo)出每張圖片里出現(xiàn)的所有電力部件,包括不完整的和被遮擋的。
測試時,當(dāng)識別出的外圍框與標(biāo)記的外匍框重疊面積達到標(biāo)記外框的90%以上時,視為一次成功識別。本次試驗中,用正確率和召回率來評判識別的準(zhǔn)確性,其中正確率為目標(biāo)類別標(biāo)記正確的外同框個數(shù)除以所有標(biāo)記的外同框個數(shù);召回率為目標(biāo)類別標(biāo)記正確的外框個數(shù)除以所有標(biāo)準(zhǔn)的外圍框個數(shù)。由于本次試驗識別的類別僅有3 種類型,因此分別對每一類電力部件識別的正確率和召回率做統(tǒng)計件。
本文使用Caffe 框架實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)模型。使用3.2 節(jié)構(gòu)建的訓(xùn)練集和測試集,首先研究了多個Faster R-CNN 參數(shù)對mAP( 平均準(zhǔn)確率均值)的影響,然后將Faster R-CNN 方法與基于Selective Search 方法進行區(qū)域提議的SPPnet 方法和DPM 方法進行對比。Faster R-CNN 涉及到一些參數(shù),例如dropout 比例、最大迭代次數(shù)、批處理尺寸、nms(非極大值抑制)前后區(qū)域保留個數(shù),這些參數(shù)對mAP 有較大影響。測試結(jié)果隨著nms 數(shù)量的減小,mAP也逐漸減小,這是因為經(jīng)過nms 后,保留的候選區(qū)域也隨之減小,導(dǎo)致檢測結(jié)果準(zhǔn)確度下降。因此較高的nms 可以得到較好的檢測結(jié)果。
根據(jù)實驗數(shù)據(jù),當(dāng)dropout 的比例從0.2 增大至0.8 時,mAP 總體上是下降趨勢,但是在0.6 時有一個最高值。目前并無相關(guān)理論解釋dropout 對mAP 的影響,通常取經(jīng)驗值。令dropout 取值為0.6,改變nms 前后候選區(qū)域數(shù)量,測試其對mAP 的影響,隨著nms 數(shù)量的減小,mAP 也逐漸減小,這是因為經(jīng)過nms 后,保留的候選區(qū)域也隨之減小,導(dǎo)致檢測結(jié)果準(zhǔn)確度下降。岡此較高的nms 可以得到較好的檢測結(jié)果。
令nms 前后候選區(qū)域個數(shù)分別取2000 和300,改變批尺寸,測試其對mAP 的影響,結(jié)果如表4 所示。不同的批尺寸得到不同的mAP。隨著批尺寸逐漸變小,mAP 逐漸增大。
表2 不同dropout對mAP的影響
表3 不同nms數(shù)目對mAP的影響
表4 不同批尺寸對mAP的影響
表5 在測試集上的準(zhǔn)確率召回率對比
有理論表明,當(dāng)batchsize 為1 時,優(yōu)化速度最快。根據(jù)mAP 最大時對應(yīng)的參數(shù),對測試集使用Faster R-CNN 與SPPnet、DPM 進行部件識別,對應(yīng)的3 類電力部件的正確率和召回率如表5 所示。從表5 可看出,F(xiàn)aster R-CNN方法識別的準(zhǔn)確率明顯高于SPPnet 和DPM,而DPM 方法準(zhǔn)確率最低。這主要是由于區(qū)域提議網(wǎng)絡(luò)可以產(chǎn)生比SPPnet 更精準(zhǔn)的候選框,而DPM 方法采用滑動窗口進行檢測,其特征為HOG 特征,而不是深度訓(xùn)練特征。此外,F(xiàn)aster R-CNN 在網(wǎng)絡(luò)訓(xùn)練的第(2) 步對全部特征層和卷積層的權(quán)重進行調(diào)優(yōu),而SPPnet 僅調(diào)優(yōu)特征層,從而限制了識別準(zhǔn)確率。值得注意的是,F(xiàn)aster R-CNN 采用的區(qū)域提議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)具有很好的泛化能力,能夠識別出部分被遮擋和中間穿過鐵桿的間隔棒,且對各種不同方向的部件都可正確識別。
本文在總結(jié)分析當(dāng)前幾種典型的目標(biāo)檢測識別方法的基礎(chǔ)上,驗證了利用RCNN 等深度學(xué)習(xí)算法對電力小部件識別的準(zhǔn)確性和效率,并分析了不同參數(shù)對Faster R-CNN 檢測結(jié)果的影響。實驗表明,利用特定的GPU 計算單元可以實時目標(biāo)檢測和識別,可為后期無人機巡檢圖像的智能化處理及巡檢無人機的精確拍攝奠定良好的基礎(chǔ)。
此外,根據(jù)深度學(xué)習(xí)的特點,構(gòu)建更大的樣本庫可能進一步提高準(zhǔn)確率。下一步的工作是構(gòu)建更精細的識別類別,包括某些部件的缺陷圖像都可看做一種類型,這樣不但可以實現(xiàn)目標(biāo)部件的分類,還可實現(xiàn)部件的缺陷識別。