陳廷兵 敬正彪 楊 濤 李曉曉
1(成都工業學院機械工程學院 四川 成都 611730)2(成都工業職業技術學院 四川 成都 610218)3(成都大學機械工程學院 四川 成都 610106)4(成都海逸機電設備有限公司 四川 成都 610107)
隨著城鎮化改革的推進,自來水表的需求大增,水表生產企業也積極引進信息化技術擴大其產能。指針式水表因其成本低廉以及不受電磁干擾等優勢在數顯示水表發展中仍然占有一席之地[1]。水表校驗是其生產環節中的最后一道工序,其校驗精度與效率是保證水表品質的關鍵。然而,日益增長的水表出貨量與效率低下的人工讀數檢測方式之間的矛盾越來越突出。因此,如何準確、快速地獲取該類水表的讀數成為了制約水表生產企業發展的瓶頸問題之一。指針式儀表自動判讀技術是當前機器視覺領域研究的熱點之一,同時也是模式識別領域一項重要的研究內容和前沿技術[1]。鄭文學等[2]運用機器視覺技術改進了現有水表校驗裝置,提高了校驗效率和校驗精度;宋鷹等[3]運用K-means聚類分析算法研發了一種具備自動觀測、自動識別功能的光性智能校驗系統;李巍等[4]根據指針角度與儀表量程信息計算當前指針讀數;陳碩等[5-6]重點研究了梅花針快速定位的模板匹配算法,完成梅花針轉動齒數的計數,從而實現水表動態容積法的校驗;許麗等[7]針對指針式儀表在傳統Hough變換角度提取法的基礎上增加了指針中心線通過表盤中心的約束條件,提高了識別精度;高建龍等[8]提出一種基于改進ORB(Oriented FAST and Rotated BRIEF)和Hough變換算法的儀表識數算法,在識數速度和精度方面均滿足識讀要求;Ma等[9]提出了一種基于對稱度的二值化閾值確定方法來分割指針區域,有效地解決了指針陰影帶來的讀數影響;文獻[10-11]運用機器視覺技術實現了表盤成像系統自動校準。本文在傳統指針式儀表判讀方法的基礎上另辟蹊徑,連續兩次運用K-means聚類分割方法對表盤指針圖像進行聚類分割,以保證復雜環境條件下提取到的指針的完整性,從而保證了讀數的準確性。指針式水表自動判讀技術的研究對于改進水表校驗臺、提高企業生產效率、降低企業生產成本等具有重要意義。
指針式儀表指針示數判讀方法主要有角度判讀法(Readings Recognition based on Angle,RRA)、距離判讀法(Readings Recognition on Distance,RRD)、模板匹配法和差影法等。傳統指針式儀表的示數判讀過程見圖1。待判讀指針方向與零刻度指針方向的夾角是傳統指針式儀表判讀的關鍵[12],特別是單個指針的儀表(如壓力表、電壓表、電流表等)。然而,這類方法在提取指針圖像過程中對環境光源比較敏感,并且當存在氣泡遮擋指針時更難以提取到完整的指針。因此,如何提高指針提取的完整性與效率已經成為指針式儀表自動判讀技術亟待解決的關鍵核心問題。

圖1 傳統指針式儀表示數判讀方法
傳統指針式儀表示數判讀方法中分割指針時易受到環境光源、氣泡遮擋等復雜環境因素的干擾,影響示數判讀準確性。本文提出了一種改進的水表指針示數判讀方法,以解決傳統圖像處理方法難以適應復雜環境條件下提取指針的完整性問題,如圖2所示。

圖2 改進的指針讀數判讀方法
在水表自動校驗過程中,仍然需要人工裝夾水表,這就可能會引起水表出現輕微的傾斜,導致采集到的水表表盤圖像也出現一定程度的傾斜,進而導致指針相對零刻度線出現不同程度的傾斜,使最終指針讀數出現偏差。因此,水表圖像傾斜校正是影響指針判讀結果的關鍵因素之一[13]。圓形指針式水表的表盤輪廓中存在一些明顯的、較長的直線,將這些直線旋轉為水平直線,使水表圖像得到校正。即先運用Hough變換檢測出水表表盤圖像中的最長的直線,再計算出該直線的傾斜角度,進而順時針旋轉相應角度即可將原圖像校正。
2.1.1 Hough變換檢測圖像中的直線
Hough變換檢測直線算法是運用了圖像空間x-y與參數空間θ-ρ中點與線的對偶性原理,將圖像中給定曲線檢測問題轉化為參數空間中的峰值問題[14]。參數空間中相交于同一點的所有線對應圖像空間中同一直線上的點。在圖像空間x-y中,直線可表示為y=kx+b(k為斜率,b為截距,k、b均存在)。為避免垂直直線斜率沒有定義或無窮大的情況,將圖像空間x-y變換θ-ρ參數空間,直線公式改寫為:
ρ=xcosθ+ysinθ
(1)

因此,圖像空間中直線上所有的點映射到參數空間中都會相交于一點,形成峰點。原始傾斜圖像如見圖3(a)所示,將其灰度化后再使用Canny算子進行邊緣檢測,以減少圖像中需要檢測點的數量;再運用Hough變換檢測圖像中的直線,并將其中最長的直線加粗顯示出來,如圖3(b)所示。

(a) 原始傾斜圖像 (b) Hough變換檢測的傾斜直線圖3 表盤圖像傾斜校正
2.1.2 計算圖像傾斜角度
進一步計算出最長直線兩個端點坐標(x1,y1)、(x2,y2),進而計算出圖像傾斜角度α:
(2)
為避免過度校正圖像,規定-15°≤α≤15°。倘若圖像旋轉角度超過該范圍,圖像不做校正處理并發出相機機位異常警告。
以圖像中心為旋轉中心,α為旋轉角度,旋轉傾斜圖像,從而完成水表圖像的傾斜校正,校正后圖像見圖4。

圖4 傾斜校正后圖像
為便于識別指針示數,需要進一步分割出指針圖像,常見的Otsu分割、直方圖雙峰法等閾值分割方法難以適應弱光拍攝、氣泡遮擋指針等情況。而K-means聚類算法是通過迭代過程把圖像所包含的數據集中的個體劃分為K類,使得評價聚類性能的準則函數達到最優,從而得到類內緊湊、類間獨立的K個聚類結果,是目前較流行的圖像分割方法之一[14]。
2.2.1 K-means聚類分割
對于給定的D維歐幾里得空間的一組數據,K-means聚類算法就是尋找K個聚類中心,將所有的數據分配到距離最近的聚類中心,使得每個點與其相應的聚類中心cj距離的平方和J最小,公式如下:
(3)

K-means聚類分割算法流程見圖5,該算法需要人為根據具體情況設定聚類個數K和隨機選擇初始聚類中心cj。

圖5 K-means聚類分割算法流程
為得到較完整、無噪聲的指針圖像,測試了不同K值對不同拍攝條件下水表圖像的指針分割效果,如圖6所示。結果表明,隨著K值增大,指針圖像逐漸被分割出來。但是,對于弱光條件下拍攝的水表表盤圖像,指針圖像中仍然存在一些可能影響后期分割指針的噪點。同時,對于拍攝效果較好的水表表盤圖像,若K值過大,往往會出現過分割現象。


圖6 不同K值下指針分割效果
若采用腐蝕、膨脹等形態學處理,固然能夠去除一些噪聲點,但同時也會對指針輪廓造成一定的影響,特別是對于光照條件較差的指針圖像會產生較大的影響。由此可見,通過增大K值來達到增強指針分割效果的方法并不理想。
為進一步提高K-means聚類分割指針方法的穩定性,使其適應弱光、強光、有氣泡遮擋等復雜環境條件,采用兩次聚類的方法進行指針圖像分割,即對采用K=4聚類分割得到的圖像再進行一次分割,對不同采集條件下的表盤圖像分割效果見表1。由此可見,該指針分割方法適應性強、受環境因素影響較小,具備較強的魯棒性。

表1 不同拍攝條件下指針分割效果
2.2.2 裁切出單個指針
進一步將分割得到的彩色指針圖像進行二值化,再對該二值圖像進行連通域分析,將斷開的指針圖像合并以消除氣泡遮擋指針的影響。然后,計算出各區域的質心,再以該質心坐標為中心繪制一個100×100像素的矩形,逐一將裁剪出各指針并按序編號為a、b、c、d,如圖7所示。

圖7 二值圖像指針裁剪
常見的指針示數判讀方法有距離法、差影法、步長法、模板匹配法等[15]。本文采用模板匹配的方法進行指針示數的判讀并進行了讀數修正與誤差分析。
2.3.1 建立指針模板
選擇一個沒有被氣泡遮擋且剛好指向0刻度的指針二值圖像作為基準模板,運用Hough變換檢測圖像中的指針圓,再以該圓的圓心為旋轉中心,每順時針旋轉一個β角即建立一個該方向上的指針模板。由此,得到M個指針模板并按照1~M依次編號。那么,編號為L的模板其指針指向的刻度值N應滿足:
(4)

2.3.2 模板相似度計算
對于大小均為m×n的兩個矩陣X和Y,其相似度為:
(5)

將分割出的指針逐一與模板計算一次相似度,取相似度最大的模板編號Lrmax,再由式(4)計算出該模板對應的指針示數。對于模板數量較多可能會出現多個相似度一致的情況,取其對應的模板編號的平均值作為該指針的匹配讀數。
水表指針讀數最后一位需要估讀,其余位數只讀取最小正整數部分。因此,對圖7中a、b、c三個指針的示數向下取整舍棄小數部分,d指針示數保留小數部分,然后再計算出該水表指針的讀數num。
(6)
num=0.1×Na+0.01×Nb+0.001×Nc+0.000 1×Nd
(7)
研究團隊基于MATLAB開發出指針示數判讀系統并在成都海逸機電設備有限公司研制的自動校表臺上進行測試,測試系統界面如圖8所示。

圖8 水表指針示數判讀子系統界面

圖9 模板數量與指針判讀準確率、所需時間關系
以人工讀數為標準,對比系統判讀結果與人工讀數的誤差:
(8)
不同模板數量的誤差值ξ如圖10所示。可見:模板數量較少時,容易在臨界位置出現錯誤,進而導致識別誤差交大。隨著模板數量的增加,系統誤差逐漸減小,當模板數量M≥200時,誤差值ξ均小于±2%。并且,由圖10可知,當M=200時,系統判讀正確率η與耗時t均表現良好。由此可見,該方法能夠判別的最小刻度為1/20,遠高于人眼能夠分辨的1/5格[14]。此外,人眼在讀數時存在較大的視點誤差,而該方法能夠輕易做到鏡頭與水表表盤平面平行且對中從而避免視點帶來的誤差。綜上所述,該方法讀數精度遠高于人工讀數,滿足水表校驗讀數要求。

圖10 系統與人工校對偏差值
本文對傳統機器視覺指針式儀表自動判讀技術進行了一些改進,運用兩次聚類分割很好地消除了環境光源、氣泡等不利因素的影響;運用模板匹配技術實現了指針式水表指針示數自動判讀,且相對人工讀數大幅提高了讀數精度與效率。這對于改進水表自動校驗裝置,實現全自動水表自動校驗,提高生產效率、節省企業成本有重要意義。