(1.石家莊鐵道大學(xué) 電氣與電子工程學(xué)院,河北 石家莊 050043;2.威海海洋職業(yè)學(xué)院,山東 威海 264300;3.中鐵電氣化局集團(tuán)有限公司設(shè)計(jì)研究院,北京 100071;4.煙臺市龍口公路管理局,山東 煙臺 265700)
隨著國家“建設(shè)堅(jiān)強(qiáng)智能電網(wǎng)”的發(fā)展目標(biāo)的提出[1],利用機(jī)器視覺技術(shù)代替人力巡檢已經(jīng)廣泛應(yīng)用于電力行業(yè)。除了傳統(tǒng)的遙視系統(tǒng)外,隨著電力系統(tǒng)巡檢機(jī)器人、無人機(jī)等移動設(shè)備的廣泛應(yīng)用,在處理獲取的圖像資料時,對檢測過程中處理速度、精度、尺度變換、角度變化等也提出了更高要求。因此,提高變電所設(shè)備的識別定位的精度和快速、智能分析等具有重要意義。本文對變電站配置的許多指針儀表,如氣壓表、溫度表、油溫表、避雷器表在多種巡檢環(huán)境下的匹配和讀數(shù)識別問題進(jìn)行深入應(yīng)用研究。
基于SIFT、SURF的算法,在目標(biāo)檢測中應(yīng)用廣泛,并且廣泛應(yīng)用于電力系統(tǒng)中目標(biāo)檢測與研究中。文獻(xiàn)[2]結(jié)合SIFT算法,經(jīng)過國內(nèi)某500 kV智能變電站巡檢機(jī)器人實(shí)地測試,在輸入圖像中匹配提取儀表表盤區(qū)域子圖像[2],并利用智能機(jī)器人能夠自動實(shí)現(xiàn)對儀表設(shè)備的狀態(tài)識別,此算法精度較高,但速度較慢,不滿足實(shí)時性要求。SURF算法[3-5]借鑒了SIFT[6]簡化近似思想,將DOH中的高階二階微分模板進(jìn)行了近似簡化,可以采用積分圖像計(jì)算,實(shí)驗(yàn)證明SURF算法綜合性能優(yōu)于SIFT算法。文獻(xiàn)[7]通過模板匹配或橢圓擬合確定儀表表盤在圖像中的基本位置及區(qū)域范圍[5],雖然其算法特定條件下有一定實(shí)時性和魯棒性,但對于移動狀態(tài)的巡檢機(jī)器人、無人機(jī)系統(tǒng)中采集到的圖像不適用。文獻(xiàn)[8]提到把刻度作為小段的直線,利用Hough變換同時識別指針與刻度,雖然可以保證一定的精度,但對一些多符號、多條紋的干擾的儀表并不適用。另外文獻(xiàn)中的減影法對拍攝平面角度要求嚴(yán)格,如果兩幅圖像角度差異大,則不適合當(dāng)前多距離多角度圖像的分析[8]。
本文針對變電所設(shè)備匹配的精度與速度問題,采取SURF+FLANN結(jié)合算法提高特征匹配速度與精度;針對儀表指針識別精度與魯棒性問題,利用log變換對圖像增強(qiáng),結(jié)合累計(jì)概率霍夫變換對指針進(jìn)行檢測,提高指針識別的精度與魯棒性。
SURF算法于2006年由Bay等人提出,在特征檢測領(lǐng)域應(yīng)用廣泛。SURF算法是一種快速的特征匹配算法,不僅具有SIFT算法尺度不變、旋轉(zhuǎn)不變的特性(如圖1(a)、圖1(b)),而且運(yùn)算速度又大大優(yōu)于SIFT算法[9]。SURF算法的實(shí)現(xiàn)主要有以下4個步驟。
(1)特征點(diǎn)檢測。利用不同盒子濾波器(Box Fliter)建立尺度空間金字塔,應(yīng)用Hessian矩陣檢測不同尺度空間的極值點(diǎn)。以3×3濾波器為例,對該點(diǎn)與鄰近的3×3×3尺度空間進(jìn)行非極大值抑制,若響應(yīng)值大于本層8個點(diǎn)和上下尺度層的各9個點(diǎn)的響應(yīng)值,則該點(diǎn)為特征點(diǎn)。在圖像I中的點(diǎn)x(i,j)處,尺度為σ的Hessian矩陣H(x,σ)表示為
(1)
Det(Hopprox)=DXXDYY-(0.912DXY)2
(2)
判別式的值是H矩陣的特征值,利用判別式的正負(fù),判別該點(diǎn)是否為極值點(diǎn)。
(2)選取特征點(diǎn)主方向。在特征點(diǎn)半徑為6σ(σ是該點(diǎn)所在的尺度)內(nèi)統(tǒng)計(jì)60°扇形區(qū)內(nèi)x和y方向的Haar小波特征總和,然后一定的間隔旋轉(zhuǎn)扇形區(qū),將響應(yīng)值最大的那個扇形區(qū)方向作為特征點(diǎn)主方向。
《規(guī)范》對車站細(xì)水霧滅火系統(tǒng)的相關(guān)條文做了比較明確的規(guī)定,但部分條文對于地鐵車站的特點(diǎn)仍存在一些適用性爭議,而原細(xì)水霧滅火系統(tǒng)在地鐵車站中的成熟應(yīng)用方案是基于地方規(guī)范或行業(yè)標(biāo)準(zhǔn),是否仍可沿用尚需驗(yàn)證及討論。本文主要描述了細(xì)水霧滅火系統(tǒng)在地鐵中的一種成熟應(yīng)用方案,以及《規(guī)范》實(shí)施后相關(guān)的條文所帶來的主要影響,在必須執(zhí)行《規(guī)范》的前提下,結(jié)合原設(shè)計(jì)方案,提出一種新的細(xì)水霧滅火系統(tǒng)的應(yīng)對方案,以供參考。
(3)生成SURF特征描述算子。以特征點(diǎn)為中心,沿主方向?qū)?0σ×20σ的圖像劃分為4×4個子塊,每個子塊利用尺寸2σ的Harr模板進(jìn)行響應(yīng)值計(jì)算[10],然后對響應(yīng)值進(jìn)行統(tǒng)計(jì),∑dx、∑|dx|、∑dy、∑|dy|形成特征矢量(dx,dy分別表示水平垂直方向的響應(yīng))。然后統(tǒng)計(jì)子塊的響應(yīng)值,從而得到如式(3)的每個子塊矢量,最后形成64維特征描述子。
V子塊=[∑dx,∑|dx|,∑dy,∑|dy| ]
(3)
(4)特征點(diǎn)匹配。采用最小歐氏距離衡量特征點(diǎn)相似性,將2幅圖像中描述子進(jìn)行比較,把距離最近的特征描述子作為最佳匹配。
2.1.1 結(jié)合FLANN交叉驗(yàn)證算法的匹配改進(jìn)
FLANN 實(shí)現(xiàn)快速高效匹配( 快速最近鄰逼近搜索函數(shù)庫(Fast Approximate Nearest Neighbor Search Library)來解決SURF高維特征向量空間中的最近鄰搜索問題,由于高維空間的計(jì)算量較大,為了提高性能,采用分層K-均值和多重隨機(jī)KD樹。在計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域中高維特征訓(xùn)練問題是一個復(fù)雜性難題,目前最有效的高維數(shù)據(jù)特征查找常采用FLANN最近鄰算法[11]。
FLANN中多重隨機(jī)數(shù)采用隨機(jī)KD樹算法,KD樹是一棵二叉樹,樹中存儲的是一些K維數(shù)據(jù)。在一個K維數(shù)據(jù)集合上構(gòu)建一棵KD樹代表了對該K維數(shù)據(jù)集合空間的一個劃分,即樹中的每個節(jié)點(diǎn)對應(yīng)了一個K維超矩形區(qū)域。KD樹構(gòu)造首先在數(shù)據(jù)集中找到方差最高維度,根據(jù)這個最高維度數(shù)值將數(shù)據(jù)集劃分為2個部分,對符合特征的每個子集進(jìn)行上述操作,如果當(dāng)前子集不能再劃分時,則該子集中數(shù)的據(jù)點(diǎn)將保存在葉子節(jié)點(diǎn);然后建立隨機(jī)KD樹,從具有最高方差維度的數(shù)據(jù)集中選取若干維度用于劃分,然后對隨機(jī)KD樹進(jìn)行遍歷搜索,其中所有的隨機(jī)KD樹將共享一個優(yōu)先隊(duì)列。
實(shí)驗(yàn)?zāi)繕?biāo)圖像大小4 368×2 912,模板圖像大小434×365,本文方法在目標(biāo)圖像縮小至25%(1 092×728)時,Debug版時間3.5 s,Release版時間0.9 s。本文方法在目標(biāo)圖像縮小至10%(437×292)時,Debug版時間2.0 s,Release版時間0.68 s。一般國內(nèi)使用的高清圖像為(1 024×720 p)、標(biāo)清圖像為(640×480 480×320),硬件實(shí)驗(yàn)平臺為Intel(R) Celeron(R) CPU 1.5 GHz,內(nèi)存4 G,Windows7 32位操作系統(tǒng),處理器CPU是賽揚(yáng)系列CPU,主頻僅有1.5 GHz,但在1 s內(nèi)Release版仍然可以同時完成模板圖像和目標(biāo)高清圖像的特征提取匹配。編程語言采用C++語言,Debug版為調(diào)試版本含有調(diào)試信息;Release版為發(fā)布版本代碼效率最優(yōu)。
表1 SIFT、SURF算法、SURF+FLANN交叉驗(yàn)證算法實(shí)驗(yàn)效果對比
圖2 SIFT、SURF算法、SURF+FLANN交叉驗(yàn)證算法目標(biāo)識別匹配結(jié)果
2.1.2 利用透視變換確定目標(biāo)區(qū)域
透視變換(Perspective Transformation)是將圖片投影到一個新的視平面(Viewing Plane),也稱作投影映射(Projective Mapping)。通用的變換公式為
(4)
式中,u,v是原始圖片左邊,第二項(xiàng)為變換矩陣,對應(yīng)得到變換后的圖片坐標(biāo)x,y,其中x=x′/w′,y=y′/w′。尋找透視變換時應(yīng)用到opencv開源視覺庫中findHomography()函數(shù),并設(shè)置其中基于RANSAC(“Random Sample Consensus(隨機(jī)抽樣一致)”)的魯棒性方法用于計(jì)算單應(yīng)矩陣的方法。也可以應(yīng)用最小中值魯棒性方法。透視變換如圖2(c)所示。
指針識別流程:(1)對SURF+FLANN交叉驗(yàn)證算法匹配的目標(biāo)儀表圖像,進(jìn)行canny邊緣檢測。(2)利用霍夫圓變換進(jìn)行表盤圓檢測、圓心檢測,并篩選符合條件的圓[12]。(3)利用霍夫變換檢測并篩選符合條件的直線。(4)直線歸類分組。(5)根據(jù)對應(yīng)角度映射對應(yīng)刻度值。
2.2.1 對數(shù)變換的圖像增強(qiáng)
對數(shù)變換可以將圖像的低灰度值部分?jǐn)U展,壓縮高灰度值部分,從而顯示出低灰度部分更多的細(xì)節(jié),達(dá)到強(qiáng)調(diào)圖像低灰度部分的目的。通過log變換的圖像增強(qiáng)可以提高指針檢測的魯棒性。變換公式如下(5),r、s分別為輸入、輸出灰度級,c常數(shù)。
s=c·lg(1+r)r≥0
(5)
2.2.2 累計(jì)概率霍夫變換PPHT
累計(jì)概率霍夫變換執(zhí)行效率很高相比于HoughLines函數(shù),更傾向使用HoughLinesP函數(shù)。累計(jì)概率霍夫變換(PPHT)算法[13]是標(biāo)準(zhǔn)霍夫變換(SHT)算法的一個改進(jìn),它在一定的范圍內(nèi)進(jìn)行霍夫變換,計(jì)算單獨(dú)線段的方向以及范圍,從而減少計(jì)算量,縮短計(jì)算時間。PPHT因?yàn)椴⒉粚⒗奂悠髌矫鎯?nèi)的所有可能的點(diǎn)累加,而只是累加其中的一部分,該想法是如果峰值足夠高,僅用少部分時間去尋找,從而減少計(jì)算時間。
實(shí)驗(yàn)中以Visual Studio 2010+Opencv計(jì)算機(jī)視覺的函數(shù)庫為平臺進(jìn)行算法編程實(shí)驗(yàn),Opencv中采用了C++/python語言函數(shù)庫,本文選取C++語言。對SURF+FLANN交叉驗(yàn)證算法定位的目標(biāo)儀表(溫度表、油位計(jì))圖像進(jìn)行指針識別。下面對算法改進(jìn)前后、目標(biāo)尺度變化50%、油位計(jì)表及整體環(huán)境下的實(shí)驗(yàn)結(jié)果進(jìn)行分析。
本實(shí)驗(yàn)在牽引變電所獲取現(xiàn)場圖像進(jìn)行分析。變壓器溫度儀表型號為BWY-804A(TH)(量程0~150°)。通過實(shí)驗(yàn)對比分析驗(yàn)證了本文算法的綜合性能與良好實(shí)際應(yīng)用性。
圖3(a)~圖3(c)分別是變壓器溫度表指針檢測原圖、改進(jìn)前檢測圖、改進(jìn)后檢測圖。改進(jìn)前,每幅圖像都有較多的指針誤檢測,背景處理效果也不理想。改進(jìn)后檢測到的線段角度可由PPHT函數(shù)輸出的線段端點(diǎn)與圓心坐標(biāo)關(guān)系計(jì)算得到,程序編寫時最好封裝1個線段類,以便于計(jì)算檢測到的指針角度、長度和指針角度與實(shí)際表盤面刻度的映射關(guān)系。
圖3(a)~圖3(c)溫度表指針檢測改進(jìn)前,有1根指針沒有檢測出,漏掉其2條邊線。指針1角度(檢測出2條)分別為105°、109°;指針2角度(檢測出3條)144°、148°、149°;平均值分別為107°、147°。圖3(d)~圖3(f)溫度表尺度變化50%圖,改進(jìn)前也有1條指針未能檢測出,其中有1條檢測錯誤。表的原圖尺度變化50%時,指針1角度(檢測出2條)104°、109°;指針2角度(檢測出3條)144°、148°、149°,平均值分別為106.5°、147°,對應(yīng)的角度與刻度映射為30°、72°。與實(shí)際指針指示角度相符,且在一定的尺度變化內(nèi)也能準(zhǔn)確地識別指針。
為了驗(yàn)證該算法的廣泛適用性,本文又選取了變壓器用BWY-803型溫度儀表(量程0~100°)進(jìn)行原圖與尺度變化后的實(shí)驗(yàn)驗(yàn)證。另外對變電所內(nèi),YZF3-250型油位計(jì)進(jìn)行讀數(shù)識別,0位置表示為最低油位,10表示為最高油位,指針若超出0~10之間的數(shù)字,就證明進(jìn)入了油位警戒區(qū)(±45°)。
圖3 儀表指針檢測圖
實(shí)驗(yàn)結(jié)果如圖4,下面分析改進(jìn)后檢測到的指針角度變化情況。溫度表原圖,指針1角度(檢測出2條)分別為28°、31°;指針2角度(檢測出3條)145°、146°、146°;平均值分別為29°、145.7°。原圖尺度變化50%時,指針1角度(檢測出1條)31°;指針2角度(檢測出4條)140°、146°、146°、147°,平均值分別為31°、144.7°。油表圖,指針角度(檢測出2條)為215°、220°;平均值為217.5°。圖4(g)可以看出整體測試環(huán)境下也能較好檢測到指針,驗(yàn)證算法良好的魯棒性。在霍夫圓檢測確定圓心的條件下,角度識別檢測誤差范圍小于3%,對于量程為300°的儀表映射識別準(zhǔn)確率大于99%,進(jìn)行角度與實(shí)際刻度映射換算時,注意水平0°對應(yīng)的刻度值,提前加減相應(yīng)的角度值,油位計(jì)指針角度為217.5°,不在±45°內(nèi)屬于正常范圍。
圖4 其他型儀表指針檢測圖
在文中圖像處理算法改進(jìn)與過程優(yōu)化中,重點(diǎn)對耗時較長的設(shè)備配準(zhǔn)定位算法(SIFT、SURF算法、SURF+FLANN交叉驗(yàn)證算法)進(jìn)行了時間效果比較。在指針識別步驟中,應(yīng)用的累計(jì)概率霍夫變換(PPHT)算法相對于標(biāo)準(zhǔn)霍夫變換(SHT)算法的效率問題,在相關(guān)參考文獻(xiàn)已經(jīng)給出解釋與論證,且在實(shí)際應(yīng)用中,其他環(huán)節(jié)對算法運(yùn)行時間的影響較小,并且算法運(yùn)行時間和Opencv函數(shù)庫中參數(shù)設(shè)置相關(guān),缺乏比較意義,因此未對算法的整體運(yùn)行時間進(jìn)行統(tǒng)計(jì)。
本文建立了變電所指針儀表自動圖像識別系統(tǒng),介紹系統(tǒng)各環(huán)節(jié)使用的主要方法,并利用實(shí)際現(xiàn)場圖像進(jìn)行實(shí)驗(yàn),驗(yàn)證了本文算法相比于其他傳統(tǒng)算法的匹配準(zhǔn)確率更高;系統(tǒng)角度識別檢測誤差范圍小于3%?;緷M足了儀表定位與讀數(shù)識別的速度與精度要求,具有較好的實(shí)際應(yīng)用價值和研究意義。