司朋偉,樊紹勝
(長(zhǎng)沙理工大學(xué) 電氣與信息工程學(xué)院,湖南 長(zhǎng)沙 410114)
隨著智能電力機(jī)房的大力推廣,電力機(jī)房智能巡檢機(jī)器人將逐步代替人工完成電力機(jī)房設(shè)備的巡檢工作。巡檢機(jī)器人攜帶高清紅外相機(jī)和各類傳感器,采集電力機(jī)房各類儀表圖像,采用圖像處理技術(shù)完成對(duì)各類儀表的自動(dòng)識(shí)別,但是由于光照等環(huán)境影響,自動(dòng)識(shí)別過程中存在儀表漏檢和誤檢現(xiàn)象,識(shí)別率低。
近年來,國(guó)內(nèi)外學(xué)者針對(duì)儀表檢測(cè)和定位提出了不同的視覺算法。在儀表檢測(cè)方面,文獻(xiàn)[1]提出了模板匹配的方法識(shí)別與定位儀表,該方法不能很好地區(qū)分多種類型的儀表,識(shí)別準(zhǔn)確率也相對(duì)較低。張文杰等[2]提出了基于視覺顯著性的儀表區(qū)域檢測(cè)技術(shù),該方法不適合做儀表分類檢測(cè)。在儀表讀數(shù)識(shí)別方面,針對(duì)光照對(duì)指針式儀表刻度影響的問題,文獻(xiàn)[2-4]提出了一種利用減影法提取指針位置,然后利用Hough變換計(jì)算指針夾角的方法,該方法不適合變量程儀表。距離法[5]是通過儀表指針與表盤的相對(duì)位置得到指針讀數(shù),主要在識(shí)別表盤刻度的基礎(chǔ)上,通過計(jì)算指針直線與左邊刻度中點(diǎn)和右邊刻度中點(diǎn)的距離,得出指針讀數(shù)。
由文獻(xiàn)[6-9]可知,指針式儀表的檢測(cè)定位和讀數(shù)識(shí)別已經(jīng)存在很多方法并取得了一定成果,但是仍然存在一些問題,如強(qiáng)光照、刻度盤模糊等因素造成表盤信息不能被很好地獲取。本文提出的Faster RCNN+模板匹配的方法對(duì)儀表進(jìn)行檢測(cè)定位,解決了傳統(tǒng)方法不能很好地檢測(cè)定位的問題;針對(duì)儀表傾斜的問題,采用基于輪廓的矯正方法進(jìn)行矯正;針對(duì)儀表讀數(shù)識(shí)別問題,提出自適應(yīng)Canny邊緣提取和基于線性分析拓?fù)浣Y(jié)構(gòu)的直線段檢測(cè)方法,運(yùn)用特征插值恢復(fù)表盤小刻度,并建立刻度坐標(biāo)系,通過判斷指針與表盤刻度的相對(duì)位置完成指針式儀表讀數(shù)的自動(dòng)識(shí)別。該方法能很好地解決變量程儀表讀數(shù)識(shí)別問題。
電力機(jī)房環(huán)境復(fù)雜,儀表類型、數(shù)量眾多,首先需要把儀表準(zhǔn)確檢測(cè)出來,才能進(jìn)行儀表讀數(shù)識(shí)別。本文的檢測(cè)算法分為Faster-RCNN[10-11]儀表檢測(cè)和目標(biāo)位置優(yōu)選兩部分。首先進(jìn)行Faster-RCNN儀表檢測(cè),然后為了彌補(bǔ)網(wǎng)絡(luò)不能精確判別的缺陷,采用建立特征模板的方法對(duì)初步的局部極大值做進(jìn)一步的篩選。
1.1.1儀表檢測(cè)候選集
本文選擇卷積神經(jīng)網(wǎng)絡(luò)VGGNet-16對(duì)感興趣的區(qū)域進(jìn)行特征提取,提取后的特征圖共享于RPN網(wǎng)絡(luò)[12-15],生成初始的目標(biāo)候選集。在卷積網(wǎng)絡(luò)的最后一層,采用3×3的卷積核以滑動(dòng)窗口的形式生成候選目標(biāo)位置,并且在每個(gè)位置采用三種尺度、三種寬高比,獲得9種錨。經(jīng)過此過程一幅500×400的圖像大約生成2 000個(gè)候選包圍框,如何從龐大的候選集中判斷并選擇包含目標(biāo)的位置是一個(gè)很大挑戰(zhàn)[16-18]。
1.1.2儀表檢測(cè)結(jié)果
按照一般的方法,將得分閾值高于0.6的作為檢測(cè)結(jié)果,會(huì)使低得分區(qū)中正確的目標(biāo)位置被漏掉,而高得分的局部最大值被保留,造成誤檢和漏檢情況,如圖1所示。
圖1 儀表檢測(cè)結(jié)果
針對(duì)儀表的漏檢和誤檢情況,本文根據(jù)同類儀表之間相似度和不同類儀表之間差異度的規(guī)律,選取高分類得分的局部極大值作為模板,將低得分的局部極大值與模板比較,匹配度高的加入檢測(cè)結(jié)果中,匹配度低的舍棄。最后綜合模板區(qū)域和篩選的部分作為最終的檢測(cè)結(jié)果。
1.2.1特征相似性分析
本文采用漢明距離來計(jì)算VGG16網(wǎng)絡(luò)中兩層特征之間的距離,距離越大說明差異性越大,也就是相似性低。距離計(jì)算公式為:
(1)
其中,fconvi,fconvj表示第i層和j層卷積特征,fConvik,fConvjk分別表示第i層和j層中的第k個(gè)feature maps。
為了選擇最合適的卷積層特征作為模板特征,本文選擇VGG-16中的Conv1-2、Conv3-1、Conv4-1、Fc6和Fc7作為測(cè)量的卷積層,相似度與差異度計(jì)算公式為:
(2)
(3)
其中,a、b為兩類數(shù)據(jù),fai、fbj為圖像特征,N為數(shù)量集6 000。 表1、表2分別為同類儀表各層特征之間的相似度和不同類儀表各層特征之間的差異度。
表1 同類儀表各層特征之間的相似度S(%)
表2 不同類儀表各層特征之間的差異度D(%)
由表1、表2可知,網(wǎng)絡(luò)層數(shù)越深,同類儀表之間的相似性越大,不同類儀表之間的差異性越小。Fc7層對(duì)于不同類儀表的區(qū)分能力比其他層效果要好,并且對(duì)儀表特性具有更強(qiáng)的全局性描述。綜上多種因素,選擇Fc7層的特征作為模板特征。
1.2.2特征模板匹配
設(shè)定分類器得分閾值為P、相似度閾值為Q,把高于該閾值的局部極大值作為模板,組成的模板集為O={o1,o2,o3,…,on},對(duì)應(yīng)的特征集合為F={fo1,fo2,fo3,…,fon},取特征集合的平均值作為模板,計(jì)算公式為:
(4)
低于該閾值的局部極大值要做進(jìn)一步匹配篩選,該局部極大值集合為L(zhǎng)={l1,l2,l3,…,lm},對(duì)應(yīng)的特征集合為Fp={fp1,fp2,fp3,…,fpm},采用余弦度量計(jì)算特征集合中每個(gè)局部極大值和模板之間的相似度,即:
m=1,2,3,…,m
(5)
當(dāng)某個(gè)局部極大值特征相似度大于設(shè)定的閾值Q時(shí),該局部極大值標(biāo)記為1,否則標(biāo)記為0。集合L在設(shè)定標(biāo)簽后,設(shè)定為集合Y,Y={y1,y2,…,ym},即:
(6)
標(biāo)簽為1的局部極大值即為篩選出來的結(jié)果,再加上模板集F,即為最終的檢測(cè)結(jié)果Rresult。
1.2.3檢測(cè)結(jié)果分析
通過模板匹配、Faster-RCNN+VGG-16和Faster-RCNN+VGG16+模板匹配三組對(duì)比實(shí)驗(yàn)可以看出,該方法有助于改善目標(biāo)的檢測(cè)精度,避免了直接通過閾值來劃分目標(biāo)的不足。圖2為Faster RCNN添加特征模板匹配后的結(jié)果。
圖2 優(yōu)化后的檢測(cè)結(jié)果
表3為三種方法對(duì)100張相同樣本的檢測(cè)結(jié)果對(duì)比情況。
表3 檢測(cè)精度對(duì)比
本文提出了一種自適應(yīng)的Canny邊緣檢測(cè)算法對(duì)表盤進(jìn)行邊緣提取并通過基于線性拓?fù)浣Y(jié)構(gòu)的直線段篩選。
自適應(yīng)Canny邊緣檢測(cè)算法在設(shè)置高低閾值時(shí),首先利用OTSU[19]算法得到一個(gè)最優(yōu)的分割閾值μ,然后將高低閾值分別設(shè)置為(1+α)μ和(1-α)μ,其中α為閾值控制量,α過大會(huì)導(dǎo)致缺失很多較弱的邊緣信息,過小會(huì)導(dǎo)致檢測(cè)出較多的偽邊緣,這里α設(shè)置為0.4。
分析拓?fù)浣Y(jié)構(gòu)的線性關(guān)系,首先,獲取當(dāng)前單像素邊緣第[j,2m+j-1] (0
識(shí)別刻度線段即通過進(jìn)行線段過濾實(shí)現(xiàn)非刻度線段的剔除,得到較高置信度的刻度線段。對(duì)過濾后的線段進(jìn)行最小二乘橢圓擬合,得到表盤刻度所在的部分橢圓,最后利用橢圓對(duì)LSD算法檢測(cè)到直線進(jìn)行約束,從而識(shí)別刻度線段。
考慮到一條刻度對(duì)應(yīng)兩條長(zhǎng)度相近、互相平行且距離相近的兩條線段,將刻度直線段一分為二,分解為左右兩個(gè)線段集合,對(duì)兩個(gè)線段對(duì)應(yīng)的直線進(jìn)行兩兩求交點(diǎn),得到左右兩個(gè)交點(diǎn)集ΩL、ΩR,再求取兩個(gè)交點(diǎn)集的平均坐標(biāo)cL、cR,即:
(7)
(8)
使用平均坐標(biāo)計(jì)算出刻度線段所在橢圓的近似中心c,然后對(duì)刻度直線段的中心進(jìn)行橢圓擬合,得到儀表刻度線段中點(diǎn)所在的橢圓及橢圓中心如圖3所示。
圖3 線段過濾效果圖
圖4 刻度及指針識(shí)別效果
本文提出的線段檢測(cè)算法依然存在部分刻度缺省的現(xiàn)象,需要對(duì)缺省的刻度進(jìn)行修復(fù),進(jìn)而建立完整的坐標(biāo)系。對(duì)于缺省的刻度采用特征插值的方法恢復(fù)表盤刻度。首先,利用刻度線的長(zhǎng)度特征將大小刻度分離;然后,根據(jù)大刻度間距離的相似性完成對(duì)小刻度的插值,得到完整的儀表刻度分布如圖5所示。
圖5 缺省刻度修補(bǔ)效果圖
以上方法都是解決儀表指針、刻度清晰的情況下儀表的識(shí)別,但是由于光照、圖片清晰度、表面灰塵等因素會(huì)造成表盤線段刻度缺省,使得建立儀表坐標(biāo)系不完備。受干擾的表盤圖如圖6所示。
圖6 受燈光干擾的表盤
識(shí)別表盤線段并通過上文算法修復(fù)刻度后的結(jié)果如圖7所示。
圖7 刻度缺省表盤
本文采用一種新穎的刻度缺省數(shù)目計(jì)算與修復(fù)方法來解決這些影響因素造成的刻度缺省現(xiàn)象。首先,按照刻度長(zhǎng)度特征將大刻度和小刻度進(jìn)行區(qū)分;然后進(jìn)行需要插值的線段數(shù)目計(jì)算和插值位置定位,先對(duì)缺省的大刻度進(jìn)行插值,再對(duì)小刻度進(jìn)行插值,直到完成整個(gè)表盤刻度的修復(fù)。
假設(shè)儀表缺省刻度圖如圖8所示,A、B、C、D、E為刻度位置,虛線OB、OC為缺省線段,Δθ1為缺省刻度的角度,Δθ2為相鄰刻度間的角度。
圖8 缺省刻度計(jì)算與修復(fù)示意圖
刻度B、C、D對(duì)扇形區(qū)域做了等值劃分,計(jì)算扇形區(qū)域平均角度公式如式(9)所示。
(9)
其中,MeanL表示平均角度值,θmax表示扇形區(qū)域中刻度的最大角度,θmin代表的是扇形區(qū)域中刻度的最小角度。
然后計(jì)算刻度間的角度值和平均角度值之間的倍率關(guān)系,得到需要插值的數(shù)目num,計(jì)算公式如公式(10)所示。
(10)
圖9 改進(jìn)算法修復(fù)缺省刻度
以橢圓圓心為中心,順時(shí)針建立儀表刻度的角度坐標(biāo)系,通過指針對(duì)應(yīng)角度在儀表刻度中的角度坐標(biāo)系中的位置,讀取指針式儀表的數(shù)值。建立刻度坐標(biāo)系后的效果圖如圖10所示。
圖10 指針式儀表坐標(biāo)系建立效果圖
根據(jù)以上思路,研發(fā)了軌道式巡檢機(jī)器人,并且在多個(gè)電力機(jī)房進(jìn)行現(xiàn)場(chǎng)實(shí)驗(yàn),在無人工干預(yù)的情況下,可以完成整個(gè)電力機(jī)房?jī)x表讀數(shù)識(shí)別任務(wù)。另外機(jī)器人還具有開關(guān)柜保護(hù)壓板狀態(tài)識(shí)別功能。圖11為機(jī)器人投入現(xiàn)場(chǎng)作業(yè)。
圖11 機(jī)器人現(xiàn)場(chǎng)作業(yè)圖
本文提出了一種指針式儀表檢測(cè)與識(shí)別新方法,儀表檢測(cè)方法采用Faster RCNN網(wǎng)絡(luò)生成候選集,然后采用了基于特征相似度比較的模板匹配策略,從而減少誤檢和漏檢情況,提高了儀表的檢測(cè)精度。指針式儀表識(shí)別方法采用一種自適應(yīng)Canny算法進(jìn)行邊緣檢測(cè),然后使用八領(lǐng)域輪廓跟蹤算法串聯(lián)邊緣點(diǎn)獲取輪廓,最后分析輪廓形態(tài),對(duì)缺省小刻度進(jìn)行修復(fù),建立完備刻度坐標(biāo)系,根據(jù)指針與刻度之間的相對(duì)位置得到儀表讀數(shù),該方法提高了指針式儀表的識(shí)別精度。本文提出的指針式儀表檢測(cè)和識(shí)別方法,提高了指針式儀表識(shí)別的準(zhǔn)確率,提高了軌道式巡檢機(jī)器人的作業(yè)效率。