国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于刻度準確定位的指針式儀表示數(shù)識別方法

2020-12-04 09:50向友君江文阮榮鉅
關鍵詞:油位讀數(shù)指針

向友君 江文 阮榮鉅

(華南理工大學 電子與信息學院,廣東 廣州 510640)

在電網運維巡檢中,以人工巡檢、手動抄表、人工記錄模式對變壓器的油位進行檢定,存在耗時耗力、自動化程度低以及誤差率高等問題。隨著機器人技術的快速發(fā)展,巡檢機器人可代替人工,通過攝像機或紅外熱像儀抓取設備圖像,最終對獲取的圖像進行處理[1- 2]。

雖然數(shù)字式儀表的應用已相當成熟,但考慮到電磁干擾、油污、灰塵等環(huán)境因素的影響,變電站等工業(yè)環(huán)境中并不適宜使用數(shù)字式儀表。指針式儀表具有抗電磁干擾能力強、精度高、價格低等優(yōu)點,在相當長的時間內依然是工業(yè)生產中的主要測量儀表。由于指針式儀表無法輸出數(shù)字信號,所以讀數(shù)只能通過人工讀取,具有工作量大、效率低、出錯率高的缺點,而且安裝在高溫高壓等環(huán)境中的儀表不便觀察[3- 4]。隨著國家電網對無人值守變電站的推廣,實現(xiàn)指針式儀表示數(shù)識別的自動化得到了廣泛關注。

光照變化、儀表反射、拍攝角度、表盤自身信息干擾等問題一直影響著指針式儀表的讀數(shù)精度,國內外學者針對指針式儀表讀數(shù)的計算進行了大量的研究。張文杰等[5]針對光照變化影響指針式儀表讀數(shù)的問題,提出了一種基于視覺顯著性區(qū)域檢測先驗知識來獲得指針區(qū)域的方法,再通過旋轉儀表對比指針投影最大值,獲取指針與橫軸的夾角,計算儀表讀數(shù)。Zhang等[6]將儀表盤中每一個包含數(shù)字的刻度區(qū)間通過梯度金字塔算法單獨分割并編號,用支持向量機訓練分類,識別出圖片中最接近指針的類別,通過三點成一直線理論消除了因表盤微小差異而引起的誤差,得到了較高的準確率。Kim等[7]提出了基于形態(tài)學的處理方法,但過程較為繁瑣,難以實際運用于工業(yè)生產中。李巍等[8]通過一種以圖像金字塔方法來提取儀表圖像特征,并以線性支持向量機來分類的預處理方法,減小了陰影因素的影響,從而提高了讀數(shù)的精確度。

相較于矩形表盤,圓形表盤的示數(shù)識別難度較大,并且拍攝角度一直是影響指針式儀表讀數(shù)精度的重要因素,所以文中重點研究拍攝偏角過大情況下的圓形油位計圓形表盤。目前,大多數(shù)的油位計示數(shù)識別方法還是基于表盤拍攝角度較為正面的情況,如圖1(a)所示。油位計圖像中包含的信息量很大,有表框、刻度、指針、文字標識,部分儀表的外框上還有一些固定物件,相當多的信息并不是讀數(shù)的關鍵信息。事實上,如果油位計拍攝角度傾斜較大,如圖1(b)所示,此時表盤形變?yōu)榻频臋E圓,刻度與刻度之間的間隔也不再統(tǒng)一,會對讀數(shù)的計算產生很大影響。有鑒于此,文中提出一種基于刻度準確定位的儀表示數(shù)識別方法,該方法無需預先添加任何表盤信息,通過粗識別與細識別精確定位出刻度的位置,將擬合刻度的圓心到指針直線的投影點作為計算用圓心,克服了傳統(tǒng)儀表示數(shù)識別方法在傾斜角較大時仍然使用指針中心線必過儀表轉動軸心的約束條件的誤區(qū),從而優(yōu)化了拍攝傾角較大時的指針定位問題,進一步減小了后續(xù)計算的誤差,整個過程僅使用刻度與指針這兩個必要特征來計算表盤讀數(shù)。

圖1 油位計圖片F(xiàn)ig.1 Photos of oil-level meters

1 儀表示數(shù)識別流程

基于刻度準確定位的指針式儀表示數(shù)識別方法包括預處理、指針檢測、刻度定位、油位計表盤中心擬合與儀表讀數(shù)計算5個部分。該方法無需預先添加任何表盤信息,算法流程如圖2所示。整個流程分為兩步且同時進行——第1步,將油位計圖像進行灰度化和邊緣檢測等預處理,再通過指針檢測獲得油位計的指針信息,其中指針檢測又包括概率霍夫變換檢測和指針位置的計算;第2步,將原圖進行灰度化、二值化和膨脹腐蝕等預處理,再經過刻度定位(刻度定位包括粗識別和細識別),使得預處理后的圖像先經過粗識別粗略定位出所有可能包含油位計刻度的區(qū)域,再單獨截取出粗識別的結果并進行細識別,定位出刻度,獲得計算所需要的圓心信息和刻度信息,最終結合這兩步計算出讀數(shù)。

圖2 文中算法流程Fig.2 Flow chart of the proposed algorithm

2 預處理

在用無人巡檢機拍攝油位計圖片時,由于表盤自身信息干擾或光照變化等因素的影響,無法準確提取出有用的儀表信息,從而會影響儀表讀數(shù)的計算。因此,在提取指針區(qū)域之前必須對圖像進行預處理以去除部分噪聲,為后續(xù)指針識別和刻度定位信息的精確提取提供清晰的圖像,以獲得精度更高的指針式儀表讀數(shù)。

2.1 二值化

指針式儀表通常暴露在室外,再加上工業(yè)生產中的光線變化及油位計自身表框或周圍儀器的遮擋產生的陰影,巡檢機器人采集到的圖像很可能是部分陰影、部分光亮的表盤圖片。為了后續(xù)精確定位刻度和提高計算效率,需要對彩色的油位計圖像進行二值化處理,去除對提取表針有干涉影響的背景。圖像的二值化處理就是把圖像中的像素按照給定的閾值分化成黑白兩種顏色。二值化處理后的油位計如圖3所示。

圖3 油位計的二值圖Fig.3 Binary image of oil-level meter

2.2 膨脹腐蝕

為消除表盤噪聲點和非實心區(qū)域,同時盡量避免對表盤內部的實心刻度與指針信息造成影響,文中采用形態(tài)學處理中的膨脹和腐蝕操作對二值化表盤圖像進行預處理,具體步驟如下:首先對二值化圖像的白像素進行膨脹,消除孤立噪聲點和非黑的實心圖像區(qū)域;然后對膨脹后的圖像進行腐蝕,將被壓縮的黑色部分近似恢復到原來的大小,還原表盤有效信息。膨脹腐蝕效果如圖4所示。

圖4 二值圖膨脹腐蝕后的效果Fig.4 A binary picture going through expansion and corrosion

2.3 邊緣檢測

為了后續(xù)表盤指針的精確識別,需先將表盤圖像轉化為灰度圖后再進行邊緣檢測。目前較為主流的邊緣檢測算子主要有Canny算子[9]、Laplace算子[10]、Roberts算子[11]、Sobel算子[12]等。而在所有的邊緣檢測算法中,Canny邊緣檢測[13]不但定義嚴格,還具有實現(xiàn)過程簡單、檢測可靠性高等優(yōu)點,因此文中選擇Canny檢測算法來進行油位計圖像的邊緣檢測,結果如圖5所示。相比于其他3種邊緣檢測算法,Canny算法的檢測結果更加連續(xù),保留了原圖中更多的細節(jié),更適合后續(xù)處理中所用的方法。

圖5 4種不同算子得到的油位計邊緣檢測結果

3 指針檢測與刻度定位

通常指針直線檢測都是采用霍夫變換進行的,然后直接選擇矩形刻度的幾何中心來計算表盤讀數(shù)。在拍攝角度傾斜過大的情況下,矩形寬刻度將會被部分遮擋,使得刻度大小不一,且直接選擇矩形刻度的幾何中心計算刻度時會產生較大的誤差,所以文中先用矩形刻度的幾何中心擬合出一個粗略的圓心,然后選擇每個刻度距粗略圓心較近的兩個角點的中點來計算油位計讀數(shù),同時對該粗略圓心進行修正。

3.1 指針檢測

霍夫變換[14- 16]一直是直線檢測中比較流行的方法,其通過兩個坐標空間之間的變換,將圖像中直線上的所有點都在變換空間的某個點上形成峰值。但是傳統(tǒng)的霍夫變換無法檢測出油位計指針的方向。文中采用累計概率霍夫變換(Progressive Probabilistic Hough Transform,PPHT)[17]來提取指針。累計概率霍夫變換算法是標準霍夫變換算法的一個改進,它在一定的范圍內進行霍夫變換,算出獨立線段的范圍和方向,可以實質性地減少計算時間,運行效率很高。由于油位表的指針較粗,將檢測出兩條線段,并且累計概率霍夫變換檢測出的結果是一條直線上的兩個點,這兩條直線的交點即為指針針尖,指針的指向即為從圓心到針尖的方向。文中采取斜率為這兩條直線斜率的平均值且穿過針尖的直線作為該油位計指針。累計概率霍夫變換檢測是在油位計邊緣檢測的圖上進行的,但是為了更顯著地顯示出累計概率霍夫變換的結果,文中將檢測結果顯示在原儀表圖上,如圖6所示。圖6中共有4個點,這4個點即為指針累計概率霍夫變換檢測的兩側直線的結果,圖中所示的直線是穿過指針兩側直線交點且斜率為指針兩側直線斜率的平均值的直線,可認為這條直線是油位計指針所在的直線。

圖6 油位計的累計概率霍夫變換檢測結果Fig.6 PPHT detection result of for oil-level meter

3.2 刻度粗識別與精準定位

在識別傾斜角過大情況下獲得的油位計讀數(shù)時,由于表盤內部信息(數(shù)字、符號、儀表編號、生產廠商等)的干擾,且矩形刻度并非水平,自身的旋轉角度各不相同,使用傳統(tǒng)方法在整個油位計表盤的圖像中直接定位出油位計刻度位置較為困難。為此,文中提出一個先粗識別再精確識別并定位出刻度的方法,在識別傾斜角過大情況下獲得的油位計示數(shù)時,也能準確地定位出油位計刻度的位置,并提取出刻度中更有利于抗角度干擾的后續(xù)計算讀數(shù)所需的信息。

首先對油位計刻度進行粗識別,在膨脹腐蝕結果中尋找各個閉合形狀的邊緣點集,判斷各個閉合區(qū)域的大小,設定最大閾值和最小閾值,將面積不屬于該閾值范圍內的區(qū)域過濾掉,然后求出該區(qū)域的最小外接矩形,將最小外接矩形的中心坐標保存在一個列表中。粗識別的結果如圖7所示。此時保留的中心坐標包括了刻度外接矩形的中心坐標和一些干擾信息的中心坐標。為了去除這些干擾信息,以粗識別獲得的最小外接矩形中心繼續(xù)作為中心,略微擴大矩形框的長與寬,在對應表盤原圖中截取如圖8(a)所示的圖片。對截取的圖片使用Harris角點檢測方法[18]進行矩形檢測,排除掉角點過多和角點無法形成矩形的圖,得到真正的刻度。Harris角點檢測結果如圖8(b)所示。所得矩形刻度4個角點中,距離圓心較近的兩個角點所對應線段的中點用于后續(xù)油位計讀數(shù)的計算。

圖7 油位計粗識別結果Fig.7 Result of coarse recognition of oil-level meter

圖8 截取的粗識別出的部分圖片及其Harris角點檢測結果

3.3 油位計表盤中心的擬合

在精確定位刻度之后,先用所有矩形刻度的幾何中心擬合出一個粗略的圓心,獲取每個矩形刻度的4個角點與該圓心的距離,距圓心最短的兩個角點的連線中點構成一組坐標點。這組坐標有一個共同點,即該組坐標全部近似位于一個橢圓上,滿足以下關系:

x2+Axy+By2+Cx+Dy+E=0

(1)

式中,A、B、C、D、E為橢圓的未知參數(shù)。通過最小二乘法對該組坐標進行擬合,得到目標橢圓,因此可設置目標函數(shù)F如下:

Cxi+Dyi+E)2

(2)

由于有A、B、C、D、E共5個未知數(shù),所以要求的采樣點至少為5個,式中N為采樣點個數(shù)。

要使目標函數(shù)F最小,即需

(3)

可得圓心方程為

(4)

設滿足上述目標函數(shù)的目標橢圓圓心為(xc,yc)。擬合的結果如圖9所示。

圖9 擬合的圓心Fig.9 Fitted center

在拍攝傾角過大時,擬合得到的橢圓圓心與指針并不在一條直線上,若將其直接用于計算讀數(shù),獲取的油位計讀數(shù)誤差會較大。因此,選擇圓心(xc,yc)距累計概率霍夫檢測得到的指針直線方程上最近的一點作為真正用于計算的圓心(xt,yt)。

4 讀數(shù)計算

傳統(tǒng)方法[19]計算指針式儀表的讀數(shù)時,一般通過Hough變換直線檢測來獲取正面圓盤圖像的指針角度信息,在獲得直線的角度后,即可計算出讀數(shù)。假設:直線的角度為θ;最小刻度為kmin,對應的角度為θmin;最大刻度為kmax,對應的角度為θmax;讀數(shù)用k表示。那么,k可由以下公式計算:

(5)

但是,在拍攝角度傾斜較大的情況下,每兩個相鄰的刻度與圓心組成的夾角不是一個完全相等的值,也就是說,采集圖像中的指針與刻度線的角度差有的偏小有的偏大。這將導致指針相對于每個刻度線的讀數(shù)出現(xiàn)誤差。對于傳統(tǒng)方法,可以使用透視變換來對油位計的圖片先進行校正。透視變換是將圖片投影到一個新的視平面,擁有較高的靈活性。結合油位計的先驗信息(起始刻度傾角與末位刻度傾角),即可用傳統(tǒng)的方法計算出油位計的讀數(shù)。但該方法需要預先選取4個點,而油位計表盤沒有合適的參考點,因此需要手動選出4個點來校正表盤。而文中提出的油位計示數(shù)識別方法,無需對表盤進行校正也能準確地計算出讀數(shù)。

文中讀數(shù)計算方法的步驟如下:

步驟1 計算所有矩形刻度精確定位后所得坐標點與相鄰兩個坐標點的距離并求和;

步驟2 根據(jù)油位計表盤信息可得:距離和最大的兩個點為0與10,且巡檢機器人拍得的圖片中0的縱坐標大于10的縱坐標,即可求得0與10坐標;

步驟3 接著計算與0距離最近的點,即為1,依次可將所有坐標點對應的數(shù)字一一求出;

步驟4 計算所有坐標點與指針針尖的距離,距離針尖最近的兩個坐標點記為k1與k2(k1+1=k2);

步驟5 使用式(6)計算表盤讀數(shù)k:

(6)

式中,d1、d2分別為k1、k2到指針所在直線的距離,s1、s2分別為k1、k2與計算用圓心(xt,yt)的距離。參數(shù)位置如圖10所示。

5 實驗結果分析

在Window 10(處理器為Intel(R)Core(TM)i5-8500 CPU 3.00 GHz,內存16 GB)系統(tǒng)下使用Python作為開發(fā)環(huán)境并對油位計圖像進行處理。為了檢測算法的適用性和穩(wěn)定性,文中實驗采用了不同儀表示數(shù)、不同光照條件、不同天氣環(huán)境下拍攝的傾斜角較大的指針式儀表圖像樣本共50幅,通過文中的儀表示數(shù)識別方法對指針式油位計示數(shù)進行識別,總誤差率為0.92%。圖11所示為其中10幅樣本,表1為該10幅樣本對應的真實值和采用3種方法分別得到的測試結果。由表1可知:傳統(tǒng)的角度計算方法在處理拍攝傾角較大的圖像的時候,誤差率高達8.55%;經過透視變換后,傳統(tǒng)方法的誤差率降低了5.26個百分點;文中方法所得結果與真實值的誤差率為0.86%。3個識別方法中,透視變換校正表盤的方法忽略了手動選取參考點的時間,因此,從表1可看出,文中算法雖然增加了一些復雜度,但仍然可以滿足實際工程應用中的需求。

圖11 10幅樣本表盤Fig.11 10 sample oil-level meters

表1 指針式油位表示數(shù)識別的實驗結果

6 結論

針對拍攝角度較大時傳統(tǒng)儀表示數(shù)識別方法計算精度較低的問題,文中提出了一種可以精確定位出刻度并識別對應刻度的、基于刻度準確定位的儀表示數(shù)識別方法。該方法不需要在識別示數(shù)前預先提取指針區(qū)域和定位指針中心線,僅使用刻度與指針這兩個必要信息特征來實現(xiàn)表盤讀數(shù)的計算。通過累計概率霍夫變換,既能檢測出更能代表指針的平均斜率直線,也能判斷出指針的指向。采用角點檢測后的近圓心坐標點作為計算用坐標點,解決了刻度被部分遮擋情況下對整個油位計刻度定位難的問題。采用擬合圓心到指針直線的投影點作為計算用圓心,克服了傳統(tǒng)儀表示數(shù)識別方法在傾斜角較大時仍然使用指針中心線必過儀表轉動軸心的約束條件的誤區(qū)。實驗結果表明,該方法獲得的儀表讀數(shù)精度平均達到99.08%,較其他傳統(tǒng)算法更加穩(wěn)定可靠。

在極端拍攝傾角下,有些刻度將被徹底遮擋,這會對指針式儀表讀數(shù)產生很大的影響。在下一步研究中,將結合數(shù)字識別,研究極端拍攝傾角下刻度丟失時的儀表讀數(shù)計算問題,并將探索在水霧、雨滴、灰塵等遮擋所引起的表盤圖像模糊情況下的儀表自動讀數(shù)問題。

猜你喜歡
油位讀數(shù)指針
“0”的讀法和要領
垂懸指針檢測與防御方法*
關于游標卡尺讀數(shù)問題易錯點的剖析
油浸式電流互感器油位監(jiān)測系統(tǒng)設計
為什么表的指針都按照順時針方向轉動
2011年寶馬523Li燃油液位顯示不準
2011年寶馬320Li燃油表顯示不準確
寶馬523Li車機油油位無法顯示
儀器工作原理決定了儀器的讀數(shù)規(guī)則
淺析C語言指針