吳東潞, 高 明, 解錫霖, 劉 昶
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽 110159)
由于指針式儀表具有價格低廉、結(jié)構(gòu)簡單、抗電磁干擾強、使用壽命長等優(yōu)點,更適用于具有復(fù)雜電磁干擾的工作環(huán)境,在電力、鐵路等行業(yè)中仍然被廣泛采用.然而,該類儀表讀數(shù)沒有被數(shù)字化,傳統(tǒng)方法一般采用人工抄表方式,不僅效率低、容易出錯,也不利于數(shù)據(jù)的存儲、管理和分析.近年來,隨著計算機視覺技術(shù)的發(fā)展,陸續(xù)出現(xiàn)了一些通過拍攝儀表面板圖像對儀表讀數(shù)進行識別的“巡檢機器人”,用于代替人工對儀表讀數(shù)進行記錄,指針儀表的讀數(shù)識別方法也成為相關(guān)行業(yè)的關(guān)注熱點.
指針儀表讀數(shù)識別一般通過識別儀表上的指針和刻度兩個主要特征完成.吳禹倫等針對飛機迎角表,采用連通區(qū)方法提取指針,通過骨架細化和Hough變換提取指針直線,利用讀數(shù)與角度的關(guān)系獲取讀數(shù),但該方法要求儀表必須水平放置[1].張平等針對圓形儀表,通過Hough變化檢測圓形表盤和指針尖端位置,將刻度線端點作為起始和終止點[2],該方法對檢測到的圓心位置的準確性要求較高.李娜等通過最小二乘法擬合指針直線[3].向友君等針對一種油位計,采用概率Hough變換提取指針直線,利用Harris角點提取刻度位置[4].李全鵬等通過三次樣條插值去除指針陰影的影響,提高指針提取的準確性[5].徐發(fā)兵等采用深度學(xué)習(xí)的方法,提取識別刻度值,構(gòu)造數(shù)字包圍框中心的連線,通過指針與連線的交點確定讀數(shù)[6].對于圖像中儀表存在傾斜的情況,黃炎等通過提取儀表的SURF特征點,將儀表與標(biāo)準模板進行匹配,獲取校正所需的單應(yīng)矩陣,再通過在模板上定義的測量線及測量線上的灰度變化確定指針位置[7];周登科等采用YOLOv3深度網(wǎng)絡(luò)提取儀表盤上的關(guān)鍵點,再對儀表盤進行傾斜和旋轉(zhuǎn)校正[8].這類方法適用于儀表存在傾斜的情況,但也增加了計算量.也有學(xué)者針對圖像中的多塊儀表進行讀數(shù)識別,如趙健等利用魚眼相機拍攝多塊儀表圖像,經(jīng)圖像校正后對儀表排列的位置關(guān)系區(qū)分出不同儀表再分別識別讀數(shù)[9];楊應(yīng)彬等通過輪廓特征篩選方法區(qū)分不同儀表,再采用概率Hough變換方法提取指針直線[10].受相機視場范圍變大的影響,這類方法中儀表的圖像尺寸相對變小,且容易受到背景的干擾.
儀表讀數(shù)識別算法主要需要解決算法的準確度和魯棒性問題,本文以廣州市宇泰儀表電器有限公司生產(chǎn)的85C1系列儀表為識別目標(biāo),提出一種利用Hough變換和圖像變換進行儀表讀數(shù)識別的方法.
多數(shù)儀表的指針都具有典型的直線特征,85C1系列儀表如圖1a所示,其指針被涂裝成紅色,與背景相比具有顯著的差別.利用該特點,本文采用彩色相機采集儀表的圖像,通過顏色閾值分割方法提取出其紅色指針的區(qū)域,再利用中值濾波去除噪聲點后,得到指針直線的樣本點集,提取的指針區(qū)域見圖1b.
圖1 指針樣本點提取
以圖像左上角作為坐標(biāo)原點建立圖像坐標(biāo)系,水平向右方向為u軸,垂直向下方向為v軸.考慮到該型號儀表指針不可能指向水平方向,則指針的直線方程可表示為
u=kv+b,
(1)
式中:k和b為直線參數(shù).記采集到的樣本點為(ui,vi),i=1,2,…,N,利用最小二乘法可得到直線方程中的k和b的估計值為
(2)
式中
,
(3)
從而可獲得指針的直線方程.
85C1系列儀表的標(biāo)尺線為一條黑色圓弧,該圓弧特征對刻度位置的提取有重要價值,因此本文首先獲取該圓弧所在圓的方程.設(shè)該圓的圓心坐標(biāo)為(uC,vC),半徑為r,考慮到指針儀表的特點,可假設(shè)(uC,vC)位于指針?biāo)诘闹本€(1)上,則uC可由vC通過(1)式計算得到,即
uC=kvC+b.
(4)
此時圓弧所在的圓將由vC和r兩個參數(shù)確定.將儀表原始彩色圖像灰度化后再利用閾值分割的方法將其二值化,圖2a為對圖1a二值化處理后的結(jié)果.應(yīng)用Hough變換的原理對vC和r的值進行初步估計,具體步驟為:
1)對于二值圖中的黑色像素點(ui,vi),其在參數(shù)空間(vC,r)中對應(yīng)的曲線為
(5)
基于(ui,vi)對曲線(5)上的參數(shù)點(vC,r)投票,考慮到儀表圓弧上凸的特點,要求vC>vi,因此曲線(5)的形態(tài)為雙曲線.
2)根據(jù)精度要求對參數(shù)空間(vC,r)的可能取值范圍進行劃分,經(jīng)上述投票過程后,選擇票數(shù)最高的參數(shù)點作為圓的初步提取結(jié)果.
圖2b為圓弧上三點的投票曲線,圖2c為投票的結(jié)果,圖中顏色越深表示票數(shù)越多,圖2d展示了通過以上Hough變換過程提取出的圓在圖像中的位置.由此可見提取出的圓與真實圓弧仍存在少量偏差,有必要進一步提高提取精度.
圖2 圓弧初步提取
注意到雖然前面提取的圓方程存在一定誤差,但仍能提供圓弧的近似位置,可據(jù)此設(shè)定圓弧所在的區(qū)域,對圓弧點進行精細化搜索.
從圖1a可知,85C1系列儀表的標(biāo)尺線圓弧與圓心形成的扇形角是確定的,因而可根據(jù)初步提取的圓心位置和半徑在圖像中取一段圓弧,再對該圓弧沿圖像的垂直方向進行擴展,得到真實圓弧線的搜索區(qū)域.圖3a中高亮的區(qū)域為對所得部分圓弧沿垂直方向擴展了30像素后得到的搜索區(qū)域,可見該區(qū)域包含了大部分真實圓弧點.
由于85C1系列儀表的刻度均位于圓弧線上方,圓弧的下邊緣相對光滑,可在搜索區(qū)域內(nèi)根據(jù)垂直方向的梯度進行邊緣提取.對于具有相同橫坐標(biāo)的邊緣點,選擇縱坐標(biāo)最大的點作為圓弧的邊緣樣本點,構(gòu)成圓弧的樣本點集.圖3b中紅色點為最終提取的圓弧點,圖3c為其局部放大,可見除指針附近存在錯誤提取外,其他位置的點均正確.設(shè)圓弧所在圓的方程為
2αu+2βv+γ=-u2-v2,
(6)
式中α,β,γ為待估參數(shù),利用圓弧樣本點集和最小二乘法可獲得它們的估計值,并有
(7)
從而得到圓方程.圖3d為利用以上過程提取得到的結(jié)果,結(jié)合圖3c,雖然受指針的影響,個別圓弧邊緣點的提取出現(xiàn)錯誤,但其對最終結(jié)果的影響很小.對比圖2d的結(jié)果可見,通過以上方法,圓弧線提取的精度得到明顯提升.
圖3 圓弧的精確提取
由于儀表上的刻度在圓弧線上排列,不易對刻度的起始位置和結(jié)束位置直接進行提取,本文采用圖像變換的方法,將刻度區(qū)域的圖像從(u,v) 坐標(biāo)系變換成(θ,ρ)坐標(biāo)系下的圖像,其中θ為原始圖中向量(u-uC,v-vC)與u軸的夾角,ρ為像素點(u,v)到圓心(uC,vC)的距離.對于坐標(biāo)變換后圖像中的任意點(θi,ρi),其在原始圖像中的對應(yīng)點坐標(biāo)(ui,vi)為
(8)
(θi,ρi)點的灰度值為其在原始灰度圖中對應(yīng)點(ui,vi)的灰度值,若ui和vi為非整數(shù),可通過雙線性插值法,由其臨近點的值計算獲得.由此,原始圖中的圓弧標(biāo)尺線將被變換成一條直線.對變換后的圖像再進行二值化處理,取
(9)
式中:IB(i,j)為二值圖像中(i,j)位置的像素值;IG(i,j)為灰度圖像中對應(yīng)點的灰度值;T為人為設(shè)定的二值化閾值.
對圖1a的原始圖進行以上處理,角度取值范圍為40°≤θ≤140°,變換后尺寸設(shè)定為1 000×60(像素),這樣變換后圖像中橫坐標(biāo)單位像素表達的角度Δθ=0.1°;再設(shè)T=100,對變換后圖像進行二值化,結(jié)果見圖4.由圖4可見原圖中標(biāo)尺線已基本被展平,便于刻度首尾位置的提取.
圖4 刻度線區(qū)域附近的圖像變換結(jié)果
H
i
i
H
i
θ
C
d
θ
C
d
K
K
θ
C
kd
k
K
K
K
θ
C
d
(10)
式中R(·)表示四舍五入取整函數(shù),該問題可通過窮舉法求解.記圖像最左列表示的角度為θ0,則最小和最大刻度對應(yīng)的角度θL和θR分別為
(11)
記1.1節(jié)提取得到的指針直線與1.3節(jié)提取的圓弧的交點坐標(biāo)為(uP,vP),其對應(yīng)的角度為
(12)
若儀表的量程為[0,M],可得此時儀表的讀數(shù)為
(13)
以圖4為例,由上述方法提取得到的θL=136°,θR=46.6°,θP=104.7°,該儀表的最大量程為M=5,計算得到V=1.75,與圖1中的真實值相近.
為驗證本文提出方法的有效性,選擇[0,+5 V]量程的電壓表進行實驗,實驗中相機選用Basler acA640-90gc彩色工業(yè)相機,配25 mm定焦鏡頭,圖像尺寸為640×480(像素).每次實驗選擇不同傾角、按不同距離布置被測儀表,使拍攝的電壓表在圖像中呈現(xiàn)不同的尺寸、模糊度及旋轉(zhuǎn)角度;再通過一個+5 V直流電源和電位器作為電壓表的信號源,使電壓表顯示不同讀數(shù).圖5為4次實驗的圖像與識別結(jié)果,圖中同時標(biāo)注了圓弧標(biāo)尺線的提取結(jié)果以及最小、最大刻度的角度提取結(jié)果.
圖5 部分實驗圖像及識別結(jié)果
從實驗結(jié)果看,本文方法對成像模糊、非水平擺放的儀表均能正確識別讀數(shù),識別精度與人眼識別結(jié)果相當(dāng),說明本文方法不僅具有較高的精度,也具有較強的魯棒性.
本文針對廣州市宇泰儀表電器有限公司生產(chǎn)的85C1系列儀表提出一種讀數(shù)識別方法,精度上能達到人眼識別的水平,并且具有較強的魯棒性,可應(yīng)用于儀表的自動巡檢系統(tǒng)中;該方法雖然僅針對一種規(guī)格儀表設(shè)計,但算法的設(shè)計思想對其他類型儀表的讀數(shù)識別問題也有借鑒價值.