本發(fā)明涉及一種基于Faster R-CNN的無人機(jī)巡檢圖像電力小部件識別方法及系統(tǒng)。
背景技術(shù):
近幾年隨著無人機(jī)(Unmanned Aerial Vehicle,UAV))應(yīng)用的逐漸普及,電力巡線無人機(jī)受到各大電網(wǎng)公司的廣泛關(guān)注并進(jìn)行示范和推廣應(yīng)用。無人機(jī)巡線具有野外作業(yè)低風(fēng)險(xiǎn)、低成本以及靈活作業(yè)的特點(diǎn);同時(shí),也帶來巡線作業(yè)的內(nèi)業(yè)工作量增加,使得海量的數(shù)據(jù)需要經(jīng)過大量的人工判讀才能得到最終的巡檢報(bào)告。
目前,電力部件識別仍停留在傳統(tǒng)的基于淺層特征的識別層面,通過精細(xì)設(shè)計(jì)的淺層特征,例如SIFT(Scale-invariant feature transform)、邊緣檢測符、HOG(Histogram of Oriented Gridients),或基于部件外圍輪廓骨架、自適應(yīng)閾值等進(jìn)行圖像分割,從而達(dá)到識別的目的。但這些方法在設(shè)計(jì)原則上往往是基于特定類別來實(shí)現(xiàn)的,對絕緣子、導(dǎo)線等單一部件能夠充分挖掘其表觀形態(tài)特征,但其準(zhǔn)確率低,不具有可擴(kuò)展性;而且方法結(jié)構(gòu)松散,缺少對低層特征進(jìn)行綜合利用進(jìn)而達(dá)到全局最優(yōu)識別的目的。
與之相比,Malik團(tuán)隊(duì)的輪廓檢測及層次圖像分割方法和多尺度組合聚合(Multiscale Combinatorial Grouping,MCG)方法,以及J.Uijlings和K.van de Sande等人提出的基于選擇性搜索(Selective Search)的目標(biāo)識別方法給出了將多種低層次特征進(jìn)行全局優(yōu)化并構(gòu)建層次結(jié)構(gòu)模型的范式,提高了準(zhǔn)確率,但這些方法尚不具備隨樣本數(shù)量增多提升識別準(zhǔn)確率的能力。
中國發(fā)明專利(申請?zhí)枺?01510907472.X,專利名稱:一種輸電線路小型部件識別方法),這種方法雖然能夠根據(jù)導(dǎo)線與小型部件的關(guān)系實(shí)現(xiàn)對間隔棒、防震錘的識別與定位,但是對于復(fù)雜背景下的識別效率與識別效果并不好,還不能滿足現(xiàn)場的需要。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了解決上述問題,提供一種基于Faster R-CNN的無人機(jī)巡檢圖像電力小部件識別方法及系統(tǒng),分別對DPM、SPPNet和Faster R-CNN識別方法進(jìn)行了對比分析,利用實(shí)際采集的電力小部件巡檢數(shù)據(jù)構(gòu)建的數(shù)據(jù)集對三種方法進(jìn)行測試驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,基于深度學(xué)習(xí)的巡檢圖像電力小部件識別方法來實(shí)現(xiàn)電力小部件的識別是可行的,而且利用Faster R-CNN進(jìn)行多種類別的電力小部件識別定位可以達(dá)到每張近80ms的識別速度和92.7%的準(zhǔn)確率。RCNN(Region based Convolutional Neural Network),基于區(qū)域提議的卷積神經(jīng)網(wǎng)絡(luò)。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
基于FasterR-CNN的無人機(jī)巡檢圖像電力小部件識別方法,包括步驟如下:
步驟(1):對ZFnet模型進(jìn)行預(yù)訓(xùn)練,提取無人機(jī)巡檢圖像的特征圖;對RPN區(qū)域提議網(wǎng)絡(luò)模型和Faster R-CNN檢測網(wǎng)絡(luò)進(jìn)行初始化;
步驟(2):對初始化得到的RPN區(qū)域提議網(wǎng)絡(luò)模型訓(xùn)練,得到區(qū)域提取網(wǎng)絡(luò),利用區(qū)域提取網(wǎng)絡(luò)在圖像的特征圖上生成候選區(qū)域框,對候選區(qū)域框中的特征進(jìn)行提取,提取到目標(biāo)的位置特征和深層特征;
步驟(3):利用目標(biāo)的位置特征、深層特征和特征圖,對初始化得到的Faster R-CNN檢測網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到電力小部件檢測模型;
步驟(4):利用電力小部件檢測模型進(jìn)行實(shí)際的電力小部件識別檢測。
使用ImageNet分類數(shù)據(jù)集對ZFnet模型進(jìn)行預(yù)訓(xùn)練得到預(yù)訓(xùn)練后的ZFnet模型。
使用ImageNet分類數(shù)據(jù)集對ZFnet模型進(jìn)行預(yù)訓(xùn)練的步驟如下:
ZFnet模型為8層網(wǎng)絡(luò)結(jié)構(gòu),包含5個卷積層和3個全連接層,從上往下數(shù)在第一層、第二層和第五層卷積層后面均添加Max Pooling池化操作。
使用ImageNet分類數(shù)據(jù)集對ZFnet模型進(jìn)行預(yù)訓(xùn)練的步驟如下:
ZFNet模型的從上往下數(shù),
第一個卷積層對輸入的ImageNet分類數(shù)據(jù)集進(jìn)行卷積,卷積后,進(jìn)行第一個Max Pooling池化操作;
第二個卷積層對第一個Max Pooling池化操作的結(jié)果進(jìn)行卷積,卷積后,進(jìn)行第二個Max Pooling池化操作;
第三個卷積層對第二個Max Pooling池化操作的結(jié)果進(jìn)行卷積;卷積后,
第四個卷積層對第三個卷積層的卷積結(jié)果進(jìn)行卷積;卷積后,
第五個卷積層對第四個卷積層的卷積結(jié)果進(jìn)行卷積,卷積后,進(jìn)行第三個Max Pooling池化操作;
第三個Max Pooling池化操作之后得到256個輸出單元,形成特征圖(Feature Map)。
對RPN區(qū)域提議網(wǎng)絡(luò)模型和Faster R-CNN檢測網(wǎng)絡(luò)進(jìn)行初始化:
設(shè)定RPN網(wǎng)絡(luò)提取模塊的滑動步長、滑動窗口尺寸等初始化信息。
根據(jù)訓(xùn)練數(shù)據(jù)集類別數(shù)設(shè)定檢測網(wǎng)絡(luò)的輸出單元數(shù)目,并初始化檢測網(wǎng)絡(luò)的權(quán)重參數(shù)。
步驟(2):用電力小部件圖像構(gòu)建電力小部件圖像集,在用電力小部件圖像集訓(xùn)練初始化后的RPN區(qū)域提議網(wǎng)絡(luò)時(shí),使用反向傳播算法對初始化后的區(qū)域提議網(wǎng)絡(luò)進(jìn)行調(diào)優(yōu)。
RPN區(qū)域提議網(wǎng)絡(luò)以任意大小的圖像為輸入,RPN區(qū)域提議網(wǎng)絡(luò)輸出若干個包含候選目標(biāo)的候選區(qū)域框。
在ZFnet模型的第五個卷積層后面添加一個RPN區(qū)域提議網(wǎng)絡(luò)卷積層,卷積操作采用滑動方式運(yùn)作,對于ZFNet模型特征圖上的每一個手動標(biāo)記的目標(biāo)位置上開一個窗口,利用RPN區(qū)域提議網(wǎng)絡(luò)進(jìn)行卷積運(yùn)算,得到每一個位置對應(yīng)的256維特征向量,所述256維特征向量用于反映每一個位置的窗口內(nèi)的深層特征;
RPN區(qū)域提議網(wǎng)絡(luò)卷積層采用3種不同尺寸和3種不同比例組合成的9種卷積核函數(shù)對包含候選目標(biāo)的窗口的位置進(jìn)行目標(biāo)提取,得到關(guān)于目標(biāo)的位置特征,將目標(biāo)的位置特征作為輸入的訓(xùn)練數(shù)據(jù),輸入到步驟(3)。
由所述256維特征向量可預(yù)測:
1)256維特征向量對應(yīng)的位置的窗口屬于前景/背景的概率值;
2)256維特征向量對應(yīng)的位置附近包含候選目標(biāo)的窗口相對于256維特征向量對應(yīng)的位置的窗口的偏差。
所述3種不同比例是指:1:1、1:2和2:1。
所述步驟(3)步驟如下:
步驟(3-1):將第五個卷積層得到的深層特征,全連接形成高維特征向量實(shí)現(xiàn)圖像的整體特征描述,作為第六層全連接層FC6的輸入。
將RPN區(qū)域提議網(wǎng)絡(luò)卷積層得到的位置特征也作為第六層全連接層FC6的輸入;
第六層全連接層FC6與第七層預(yù)測層FC7之間為全連接的方式進(jìn)行數(shù)據(jù)交換;
第七層預(yù)測層FC7包含分類模塊與回歸模塊;
分類模塊用于判斷特征的類型,回歸模塊用于精確定位特征的目標(biāo)位置;
步驟(3-2):計(jì)算網(wǎng)絡(luò)整體損失函數(shù)并根據(jù)損失函數(shù)進(jìn)行網(wǎng)絡(luò)各層參數(shù)優(yōu)化。
損失函數(shù)L(p,k*,t,t*):
訓(xùn)練數(shù)據(jù)集共分為K+1類,k*表示正確的分類標(biāo)簽,p=(p0,...,pK)表示分類為k的概率,表示回歸模塊計(jì)算得到的標(biāo)記框信息:標(biāo)記框的橫坐標(biāo)、標(biāo)記框的縱坐標(biāo)、標(biāo)記框的寬和標(biāo)記框的高。
計(jì)算公式為:
根據(jù)訓(xùn)練集中標(biāo)定的標(biāo)簽進(jìn)行檢測網(wǎng)絡(luò)的參數(shù)微調(diào)訓(xùn)練,通過隨機(jī)梯度下降方(Stochastic Gradient Descent,SGD),交替優(yōu)化網(wǎng)絡(luò)參數(shù)。
在優(yōu)化分類模塊參數(shù)時(shí)固定回歸模塊參數(shù)不變,在優(yōu)化回歸模塊參數(shù)時(shí)固定分類模塊參數(shù)不變。
所述高維特征向量是指4096維特征向量。
由第七層預(yù)測層FC7可預(yù)測:
1)包含候選目標(biāo)的區(qū)域框?qū)儆谌魏晤悇e的概率;
2)目標(biāo)對象外圍框的精確信息集合,包括目標(biāo)在特征描述中的位置對應(yīng)原始輸入圖像位置信息上的橫縱坐標(biāo)的2個平移量,以及在橫縱坐標(biāo)軸上的放大或者縮小的兩個放縮系數(shù)。通過具備這4個參數(shù)的精確信息集合,實(shí)現(xiàn)目標(biāo)在原圖像中的精確標(biāo)定。
RPN區(qū)域提議網(wǎng)絡(luò)與Faster R-CNN檢測網(wǎng)絡(luò)最終共享了卷積層并形成了一個電力小部件檢測模型。
步驟(4)步驟如下:
步驟(4-1):根據(jù)訓(xùn)練得到的電力小部件檢測模型,初始化電力小部件檢測模型參數(shù);
步驟(4-2):輸入圖像,經(jīng)過電力小部件檢測模型后得到對圖像中所包含的每個類別的概率值及位置信息;
步驟(4-3):根據(jù)位置信息,在原圖上標(biāo)注目標(biāo)的具體位置。
所述電力小部件包括間隔棒、均壓環(huán)和防震錘。
RPN,Region Proposal Networks
基于FasterR-CNN的無人機(jī)巡檢圖像電力小部件識別系統(tǒng),包括:
預(yù)訓(xùn)練模塊:對ZFnet模型進(jìn)行預(yù)訓(xùn)練,提取無人機(jī)巡檢圖像的特征圖;對RPN區(qū)域提議網(wǎng)絡(luò)模型和Faster R-CNN檢測網(wǎng)絡(luò)進(jìn)行初始化;
特征提取模塊:對初始化得到的RPN區(qū)域提議網(wǎng)絡(luò)模型訓(xùn)練,得到區(qū)域提取網(wǎng)絡(luò),利用區(qū)域提取網(wǎng)絡(luò)在圖像的特征圖上生成候選區(qū)域框,對候選區(qū)域框中的特征進(jìn)行提取,提取到目標(biāo)的位置特征和深層特征;
模型訓(xùn)練模塊:利用目標(biāo)的位置特征、深層特征和特征圖,對初始化得到的Faster R-CNN檢測網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到電力小部件檢測模型;
檢測模塊:利用電力小部件檢測模型進(jìn)行實(shí)際的電力小部件識別檢測。
本發(fā)明的有益效果:
1利用Faster R-CNN等深度學(xué)習(xí)算法對電力小部件識別的準(zhǔn)確性和效率都比較高,實(shí)驗(yàn)表明利用特定的GPU計(jì)算單元可使基于統(tǒng)計(jì)的深度學(xué)習(xí)方法實(shí)現(xiàn)對巡檢視頻或圖像的實(shí)時(shí)目標(biāo)檢測和識別,可為后期無人機(jī)巡檢圖像的智能化處理及巡檢無人機(jī)的精確拍攝奠定良好的基礎(chǔ)。
2與Sppnet和Fast R-CNN相比,F(xiàn)aster R-CNN方法既突破了計(jì)算區(qū)域提議的時(shí)間瓶頸,又能保證理想的識別率。
3本發(fā)明方法采用的區(qū)域提議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)具有很好的泛化能力,能夠識別出部分被遮擋和中間穿過鐵桿的間隔棒,且對各種不同方向的部件都可正確識別。
附圖說明
圖1為本發(fā)明使用的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;
圖2為部件識別的聯(lián)合網(wǎng)絡(luò)訓(xùn)練過程;
圖3為網(wǎng)絡(luò)訓(xùn)練過程示意圖;
圖4為檢測識別過程;
圖5(a)為原始數(shù)據(jù)圖;
圖5(b)為訓(xùn)練樣本數(shù)據(jù)圖;
圖6(a)為間隔棒、防震錘檢測效果圖;
圖6(b)為均壓環(huán)、間隔棒檢測效果示意圖。
具體實(shí)施方式
下面結(jié)合附圖與實(shí)施例對本發(fā)明作進(jìn)一步說明。
2012年起,伴隨著高性能GPU并行計(jì)算的發(fā)展,深度學(xué)習(xí)研究取得突破,超越了基于淺層特征和線性分類器的傳統(tǒng)方法,成為目標(biāo)識別領(lǐng)域的領(lǐng)導(dǎo)者,PASCAL(pattern analysis,statistical modelling and computational learning)和ILSVRC(Imagenet Large Scale Vision Recognition Challenge)競賽成為評定通用識別算法的樣本庫基準(zhǔn),見證了深度學(xué)習(xí)方法的突破和逐步提升。本發(fā)明通過對深度學(xué)習(xí)在識別方面的研究,針對電力部件識別問題和數(shù)據(jù)特點(diǎn),構(gòu)建了三類電力部件的識別和測試樣本庫,研究了DPM(Deformable Part Models)、基于RCNN(Region based Convolutional Neural Network)的Sppnet(Spatial pyramid pooling networks)和Faster R-CNN三種算法,并對電力小部件進(jìn)行識別定位測試和驗(yàn)證,分析了各個算法的優(yōu)劣,給出適用于電力部件識別的算法,為后期無人機(jī)巡檢圖像的智能化處理及無人機(jī)圖像的精確拍攝奠定了基礎(chǔ)。
1經(jīng)典DPM方法和RCNN
在識別方面,關(guān)鍵問題有兩個,一個是目標(biāo)位置的確定;另一個是目標(biāo)類別的判別。這兩個問題是相互關(guān)聯(lián)的。依據(jù)目標(biāo)位置初始確定的方式不同,可以將識別方法歸為兩類:一類是采用滑動窗口的方式,逐窗口判斷是否存在目標(biāo)對象;另一類是采用區(qū)域提議的方式,先集中生成可能包含目標(biāo)對象的區(qū)域框,再逐一判斷每個候選框是否包含目標(biāo)對象?;瑒哟翱诜绞阶R別方法的典型算法是可變形部件模型DPM;區(qū)域提議方式識別的典型算法是基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)RCNN。
1.1可變形部件模型DPM
可變形部件模型DPM方法是由P.Felzenszwalb提出的經(jīng)典目標(biāo)識別算法。在檢測階段,DPM在圖像特征金字塔上作為一個滑動窗口運(yùn)行,圖像特征金字塔通常由HOG特征建立。DPM通過優(yōu)化一個綜合部件變形代價(jià)函數(shù)和圖像匹配得分的得分函數(shù)給每個滑動窗口賦予一個得分。2007年至2011年全部PASCAL識別比賽的最優(yōu)結(jié)果都是由DPM方法及其變種取得的。然而,DPM方法也有其固有的缺陷:1)滑動窗口方式實(shí)際上是一種遍歷搜索(exhaustive search)的方式,這使得DPM不具有尺度擴(kuò)展的可行性,而且隨著圖像分辨率的提高,DPM方法的計(jì)算量呈幾何級數(shù)增長;2)實(shí)驗(yàn)結(jié)果表明,隨著訓(xùn)練樣本數(shù)量增多,DPM方法的識別準(zhǔn)確率會達(dá)到飽和,無法充分利用無人機(jī)獲取圖像便利的優(yōu)勢來提高識別的準(zhǔn)確率。
1.2基于區(qū)域提議的卷積神經(jīng)網(wǎng)絡(luò)RCNN
Ross等在2014年提出的基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)方法RCNN,大幅提升了PASCAL識別競賽的準(zhǔn)確率,以PASCAL VOC2012競賽為例,將識別準(zhǔn)確率從41%(DPM++)提高到53.3%(RCNN),它成為基于區(qū)域提議方式進(jìn)行識別的典型方案。在檢測階段,它分為以下4個步驟:
1)首先用一些視覺方法(例如Selective Search)生成大量候選區(qū)域。
2)其次,對每個候選區(qū)域用卷積神經(jīng)網(wǎng)絡(luò)CNN進(jìn)行特征表示,最終形成高維特征向量。
3)然后,將這些特征量送入一個線性分類器計(jì)算類別得分,用于判斷所包含對象。
4)最后,對目標(biāo)外圍框的位置和大小進(jìn)行一個精細(xì)的回歸。
與DPM的滑動窗口的遍歷搜索方式相比,第一步的區(qū)域提議是選擇性的搜索,使用得分最高的前2000個區(qū)域可以有效減少后面特征提取的計(jì)算量,能很好地應(yīng)對尺度問題;卷積神經(jīng)網(wǎng)絡(luò)CNN在實(shí)現(xiàn)上采用圖形計(jì)算單元GPU進(jìn)行并行計(jì)算,計(jì)算效率明顯優(yōu)于DPM方法(實(shí)現(xiàn)上采用單CPU計(jì)算);外圍框回歸使得對目標(biāo)定位的精確性進(jìn)一步提升。RCNN在訓(xùn)練階段也有以下4個步驟。
1)首先用選擇性搜索集中生成每張圖片的候選區(qū)域,并對每個候選區(qū)域用CNN提取特征,這里CNN采用的是訓(xùn)練好的ImageNet網(wǎng)絡(luò)(由ILSVRC分類比賽的1000類上百萬張圖像訓(xùn)練得到)。
2)其次,利用候選區(qū)域和提取出的特征對ImageNet網(wǎng)絡(luò)進(jìn)行調(diào)優(yōu),調(diào)優(yōu)依據(jù)標(biāo)準(zhǔn)的反向傳播算法進(jìn)行,從特征層開始向后調(diào)整各層權(quán)重。
3)然后,以特征層輸出的高維特征向量和目標(biāo)類別標(biāo)簽為輸入,訓(xùn)練支持向量機(jī)。
4)最后,訓(xùn)練對目標(biāo)外圍框位置和大小進(jìn)行精細(xì)回歸的回歸器。
RCNN方法在準(zhǔn)確率和效率上遠(yuǎn)遠(yuǎn)超過DPM方法,成為基于深度學(xué)習(xí)進(jìn)行識別的典型方案。2014年和2015年,Ross和微軟亞洲研究院的研究者陸續(xù)提出了改進(jìn)的RCNN方法,包括首次引入空間金字塔池化層從而放寬了對輸入圖片尺寸限制并提高準(zhǔn)確率的SPPnet;采用自適應(yīng)尺度池化能夠?qū)φ麄€網(wǎng)絡(luò)進(jìn)行調(diào)優(yōu)從而提高深層網(wǎng)絡(luò)識別的準(zhǔn)確率的Fast R-CNN;最后是Faster R-CNN,他通過構(gòu)建精巧的區(qū)域提議網(wǎng)絡(luò)來代替時(shí)間開銷大的選擇性搜索方法,從而打破了計(jì)算區(qū)域提議時(shí)間開銷大的瓶頸問題,使基于視覺特征的實(shí)時(shí)識別成為可能。本發(fā)明主要講述利用Faster R-CNN方法對電力部件進(jìn)行識別。
2基于Faster R-CNN方法的電力部件識別定位
與Sppnet和Fast R-CNN相比,F(xiàn)aster R-CNN方法既突破了計(jì)算區(qū)域提議的時(shí)間瓶頸,又能保證理想的識別率。因此,本發(fā)明以Faster R-CNN識別方法為主,提取電力小部件的識別特征并進(jìn)行目標(biāo)識別驗(yàn)證。
本發(fā)明對網(wǎng)絡(luò)的訓(xùn)練和測試樣本的檢測均基于開源的Caffe CNN庫進(jìn)行。Caffe是一個清晰而高效的深度學(xué)習(xí)框架,其可讀性、簡潔性和性能都很優(yōu)秀,并且直接集成了卷積神經(jīng)網(wǎng)絡(luò)神經(jīng)層。由于深度卷積網(wǎng)絡(luò)本身的特性,用GPU加速運(yùn)算可以大大縮短算法訓(xùn)練時(shí)間,Caffe也提供了相應(yīng)的接口。
如圖1所示,ZFnet模型為8層網(wǎng)絡(luò)結(jié)構(gòu),包含5個卷積層和3個全連接層,從上往下數(shù)在第一層、第二層和第五層卷積層后面均添加Max Pooling池化操作。
使用ImageNet分類數(shù)據(jù)集對ZFnet模型進(jìn)行預(yù)訓(xùn)練的步驟如下:
ZFNet模型的從上往下數(shù),
第一個卷積層對輸入的ImageNet分類數(shù)據(jù)集進(jìn)行卷積,卷積后,進(jìn)行第一個Max Pooling池化操作;
第二個卷積層對第一個Max Pooling池化操作的結(jié)果進(jìn)行卷積,卷積后,進(jìn)行第二個Max Pooling池化操作;
第三個卷積層對第二個Max Pooling池化操作的結(jié)果進(jìn)行卷積;卷積后,
第四個卷積層對第三個卷積層的卷積結(jié)果進(jìn)行卷積;卷積后,
第五個卷積層對第四個卷積層的卷積結(jié)果進(jìn)行卷積,卷積后,進(jìn)行第三個Max Pooling池化操作;
第三個Max Pooling池化操作之后得到256個輸出單元,形成特征圖(Feature Map)。
將第五個卷積層得到的深層特征,全連接形成高維特征向量實(shí)現(xiàn)圖像的整體特征描述,作為第六層全連接層FC6的輸入。
將RPN區(qū)域提議網(wǎng)絡(luò)卷積層得到的位置特征也作為第六層全連接層FC6的輸入;
第六層全連接層FC6與第七層預(yù)測層FC7之間為全連接的方式進(jìn)行數(shù)據(jù)交換;
第七層預(yù)測層FC7包含分類模塊與回歸模塊;
分類模塊用于判斷特征的類型,回歸模塊用于精確定位特征的目標(biāo)位置;
2.1對電力部件識別的網(wǎng)絡(luò)進(jìn)行訓(xùn)練
Faster R-CNN方法包含兩個CNN網(wǎng)絡(luò):區(qū)域提議網(wǎng)絡(luò)RPN(Regional Proposal Network)和Fast R-CNN檢測網(wǎng)絡(luò)。訓(xùn)練階段的主要步驟如圖2所示,圖3是對RPN網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)進(jìn)行聯(lián)合訓(xùn)練圖。
(1)預(yù)訓(xùn)練CNN模型
RPN網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)都需要預(yù)訓(xùn)練的ImageNet網(wǎng)絡(luò)進(jìn)行初始化,可以選擇具有5層網(wǎng)絡(luò)結(jié)構(gòu)的ZFnet網(wǎng)絡(luò)(Zeiler and Fergus),也可以選擇具有16層網(wǎng)絡(luò)結(jié)構(gòu)的VGG16網(wǎng)絡(luò)(Simonyan and Zisserman modal)。因本發(fā)明構(gòu)建的數(shù)據(jù)集規(guī)模較小,故選用ZFnet網(wǎng)絡(luò)。
利用ILSVRC2012圖像分類任務(wù)中的訓(xùn)練數(shù)據(jù)(120萬張圖像,1000類)對ZFnet模型進(jìn)行預(yù)訓(xùn)練。區(qū)域提議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)都是在ZFnet基礎(chǔ)上添加特定的層得到的。ZFnet曾在ILSVRC比賽數(shù)據(jù)集上達(dá)到了更高的分類準(zhǔn)確率。ZFnet包含5個卷積層,有些卷積層后面添加Max Pooling池化層和3個完全連接的特征層。
ZFNet的最后一個卷積層,即第5個卷積層包含256個通道,被稱為特征圖(Feature Map)。特征圖可以直觀地理解為原始圖像的深層卷積特征,同類物體的深層特征十分接近;而不同類物體的深層特征差異很大,即在特征圖上物體具有很好的可分性,這正是深度神經(jīng)網(wǎng)絡(luò)的能力所在——卓越的特征學(xué)習(xí)和表示能力。
本發(fā)明使用由ILSVRC分類數(shù)據(jù)集(120萬張圖片,1000類)訓(xùn)練得到的ZFnet網(wǎng)絡(luò)對區(qū)域提議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)進(jìn)行初始化。實(shí)驗(yàn)證明,使用由大數(shù)據(jù)量和較多類別的樣本庫(相較于小數(shù)據(jù)量和較少類別的樣本庫)訓(xùn)練的分類網(wǎng)絡(luò)初始化識別網(wǎng)絡(luò),準(zhǔn)確率更高。
(2)RPN網(wǎng)絡(luò)訓(xùn)練
用電力部件圖像構(gòu)建圖像訓(xùn)練集,但電力部件圖像集與預(yù)訓(xùn)練圖像集無論是類別數(shù)量還是圖像樣式都存在很大的差別。在用電力部件圖像集訓(xùn)練RPN網(wǎng)絡(luò)時(shí),直接用上一步預(yù)訓(xùn)練的ZFnet模型初始化RPN,使用反向傳播算法對區(qū)域提議網(wǎng)絡(luò)進(jìn)行調(diào)優(yōu)。
RPN網(wǎng)絡(luò)以任意大小的圖像為輸入,之后可以輸出一系列可能包含目標(biāo)的區(qū)域框。如圖3所示,在ZFnet的CONV5后面添加一個小的卷積層,這個小的卷積層采用滑動方式運(yùn)作,對于特征圖上的每一個位置(對應(yīng)原始圖像上一個位置),由小卷積層進(jìn)行卷積運(yùn)算,即在此位置開一個小窗口進(jìn)行卷積運(yùn)算,得到同一個位置對應(yīng)的256維向量(由于有256個通道),該向量反映了該位置小窗口(對應(yīng)原始圖像上某一窗口)內(nèi)的深層特征。由這個256維的特征向量可以預(yù)測:1)該位置小窗口屬于前景/背景的概率值,即得分;2)該位置附近包含目標(biāo)的窗口相對于該位置小窗口的偏差,用4個參數(shù)表示,2個平移,2個放縮。
通過實(shí)驗(yàn)分析,采用3種不同尺寸和3種不同比例(1:1,1:2,2:1)組合成的9種基準(zhǔn)小窗口對包含目標(biāo)的窗口的位置進(jìn)行預(yù)測,可以使區(qū)域提議更加準(zhǔn)確。
(3)Fast R-CNN檢測網(wǎng)絡(luò)訓(xùn)練
根據(jù)上一步生成的區(qū)域提議結(jié)果基于Fast R-CNN方法訓(xùn)練獨(dú)立的檢測網(wǎng)絡(luò),檢測網(wǎng)絡(luò)也利用ZFnet預(yù)訓(xùn)練模型初始化。
對輸入圖像進(jìn)行5層卷積網(wǎng)絡(luò)的特征提取,第5層特征圖(CONV5)是一個256×256的特征圖,取出CONV5上對應(yīng)的深度特征,將256個通道內(nèi)的全部特征串聯(lián)成一個高維(4096維)特征向量,稱為FC6特征層,后面添加另一個4096維的特征層,形成FC7,F(xiàn)C6和FC7之間采用完全連接。由FC7特征層可預(yù)測:1)候選區(qū)域框?qū)儆谌魏晤悇e的概率,即得分;2)目標(biāo)對象外圍框的更合適的位置,用它相對于候選區(qū)域框的2個平移和2個放縮共4個參數(shù)表示。通過預(yù)先標(biāo)記的信息利用反向傳播算法對該檢測網(wǎng)絡(luò)進(jìn)行微調(diào)。在訓(xùn)練ZFnet時(shí),使用的不是電力部件數(shù)據(jù),訓(xùn)練得到的模型與電力部件不吻合,要用電力部件數(shù)據(jù)進(jìn)行參數(shù)調(diào)優(yōu)。反向傳播就是利用隨機(jī)梯度下降法完成參數(shù)調(diào)優(yōu)的過程,調(diào)整網(wǎng)絡(luò)的權(quán)重參數(shù)。
(4)兩個網(wǎng)絡(luò)的CNN共享和聯(lián)合調(diào)優(yōu)
將兩個網(wǎng)絡(luò)單獨(dú)訓(xùn)練并未實(shí)現(xiàn)卷積網(wǎng)絡(luò)的參數(shù)進(jìn)行共享。
利用第三步訓(xùn)練的檢測網(wǎng)絡(luò)來初始化RPN網(wǎng)絡(luò),并固定共享的深度卷積層。即在優(yōu)化RPN網(wǎng)絡(luò)及分類模塊時(shí)使用同一塊輸入數(shù)據(jù)。如圖3所示,對RPN網(wǎng)絡(luò)的特殊部分進(jìn)行調(diào)優(yōu),為了與檢測網(wǎng)絡(luò)對應(yīng),稱此部分為RPN網(wǎng)絡(luò)的FC層,這樣兩個網(wǎng)絡(luò)就共享了深度卷積層;
最后,固定共享的卷積層,對Fast R-CNN的FC層進(jìn)行調(diào)優(yōu)。這樣兩個網(wǎng)絡(luò)就共享了卷積層并形成了一個聯(lián)合的網(wǎng)絡(luò)。
2.2檢測識別過程
由上面的訓(xùn)練可知,兩個網(wǎng)絡(luò)最終可共用同一個5層的卷積神經(jīng)網(wǎng)絡(luò),這就使得整個檢測過程只需完成系列卷積運(yùn)算即可完成檢測識別過程,徹底解決了原來區(qū)域提議步驟時(shí)間開銷大的瓶頸問題。
檢測識別的過程如圖4所示,其實(shí)現(xiàn)步驟為:
1)首先對整個圖像進(jìn)行系列卷積運(yùn)算,得到特征圖CONV5;
2)由區(qū)域提議網(wǎng)絡(luò)在特征圖上生成大量候選區(qū)域框;
3)對候選區(qū)域框進(jìn)行非最大值抑制,保留得分較高的前300個框;
取出特征圖上候選區(qū)域框內(nèi)的特征形成高維特征向量,由檢測網(wǎng)絡(luò)計(jì)算類別得分,并預(yù)測更合適的目標(biāo)外圍框位置。
3實(shí)驗(yàn)結(jié)果對比
無人機(jī)拍攝影像具有分辨率較高、包含目標(biāo)較小的特點(diǎn),拍攝影像的角度具有多樣性和一定隨機(jī)性,適合為深度學(xué)習(xí)方法提供有足夠容差量的樣本庫。在實(shí)驗(yàn)中,我們將識別3類小型電力部件—間隔棒、防震錘和均壓環(huán)。
3.1訓(xùn)練樣本處理
數(shù)據(jù)集來源于多旋翼無人機(jī)和直升機(jī)巡檢圖像,從季節(jié)上覆蓋了春、夏、秋和冬四個季節(jié)。原始影像像素大小為5184×3456(如圖5(a)所示),截取以目標(biāo)為主體的正方形小塊圖像,統(tǒng)一放縮至500×500(如圖5(b)),作為訓(xùn)練樣本,這樣處理使得樣本中目標(biāo)的大小比例接近PASCAL識別競賽中樣本的比例。
3.2訓(xùn)練集和測試集構(gòu)建
本次試驗(yàn),對于間隔棒、均壓環(huán)和防震錘的每一類部件,均使用1500張訓(xùn)練樣本,共4500張樣本構(gòu)成訓(xùn)練集;每類500張測試影像,共1500張影像構(gòu)成測試集。對訓(xùn)練集中每張圖片里完整出現(xiàn)的沒有被遮擋的小型電力部件標(biāo)記其外圍框(訓(xùn)練集圖片中不完整或被遮擋的電力部件不標(biāo)記);而對測試集,要標(biāo)出每張圖片里出現(xiàn)的所有電力部件,包括不完整的和被遮擋的。
測試時(shí),識別出的外圍框與標(biāo)記的外圍框重疊面積達(dá)到標(biāo)記外圍框的90%以上時(shí)就視為一次成功識別。本次試驗(yàn)中,用正確率和召回率來評判識別的準(zhǔn)確性,其中正確率為目標(biāo)類別標(biāo)記正確的外圍框個數(shù)除以所有標(biāo)記出的外圍框個數(shù);召回率為目標(biāo)類別標(biāo)記正確的外圍框個數(shù)除以所有標(biāo)準(zhǔn)的外圍框個數(shù)。由于本次試驗(yàn)識別的類別僅有三種類型,因此分別對每一類電力部件識別的正確率和召回率做統(tǒng)計(jì)。
3.3實(shí)驗(yàn)結(jié)果
本發(fā)明采用伯克利視覺與學(xué)習(xí)中心開發(fā)的Caffe框架實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)模型。使用3.2節(jié)構(gòu)建的訓(xùn)練集和測試集,將Faster R-CNN方法與基于Selective Search方法進(jìn)行區(qū)域提議的SPPnet方法和DPM方法進(jìn)行對比,測試結(jié)果如表1所示。
表1本發(fā)明方法和SPPnet在測試集上識別準(zhǔn)確率的對比
從表1可以看出Faster R-CNN方法識別的準(zhǔn)確率明顯高于SPPnet和DPM,而DPM方法準(zhǔn)確率最低。這主要是由于區(qū)域提議網(wǎng)絡(luò)可以產(chǎn)生比SPPnet更精準(zhǔn)的候選框,而DPM方法采用滑動窗口進(jìn)行檢測,其特征為HOG特征,而不是深度訓(xùn)練特征。此外,本發(fā)明方法在網(wǎng)絡(luò)訓(xùn)練的第2步對全部特征層和卷積層的權(quán)重進(jìn)行調(diào)優(yōu),而SPPnet僅調(diào)優(yōu)特征層,從而限制了識別準(zhǔn)確率。值得注意的是,本發(fā)明方法采用的區(qū)域提議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)具有很好的泛化能力,能夠識別出部分被遮擋和中間穿過鐵桿的間隔棒,且對各種不同方向的部件都可正確識別,而其他兩種方法則稍遜一些。圖6(a)-圖6(b)是利用Faster R-CNN方法對三種電力小部件識別的結(jié)果。
本發(fā)明所有試驗(yàn)均基于同一臺服務(wù)器而進(jìn)行測試,測試集圖片大小為5184×3456,DPM方法基于CPU而實(shí)現(xiàn),F(xiàn)aster R-CNN方法和SPPnet都使用Nivdia Titan Black GPU(6G顯存)進(jìn)行卷積計(jì)算,識別過程耗用3G顯存。另外,本發(fā)明方法的非最大值抑制也采用GPU實(shí)現(xiàn)。從表2可以看出,DPM的運(yùn)算時(shí)間在分鐘級,無法與其他兩種方法進(jìn)行時(shí)間效率的對比;對于SPPnet這樣的典型的RCNN方法,區(qū)域提議占據(jù)了主要的計(jì)算時(shí)間;而本發(fā)明方法,由于卷積特征的共用(區(qū)域提議網(wǎng)絡(luò)和檢測網(wǎng)絡(luò)的特殊層都添加在共用的特征圖CONV5的后面),使得區(qū)域提議時(shí)間幾乎可以忽略不計(jì),檢測時(shí)間可以在近80ms內(nèi)即可完成。
試驗(yàn)結(jié)果表明,采用深度學(xué)習(xí)方法基于特定的圖形加速卡可以實(shí)現(xiàn)巡檢圖像的實(shí)時(shí)檢測。
表2本發(fā)明方法和SPPNet、DPM方法計(jì)算時(shí)間開銷對比
上述雖然結(jié)合附圖對本發(fā)明的具體實(shí)施方式進(jìn)行了描述,但并非對本發(fā)明保護(hù)范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。