徐亞超 錢廣秀

摘要:本文研究的是基于機器視覺、模式識別對指針式溫濕度計讀數的識別方法。為了提升識別精度,本文提出了一種旋轉檢測連通域的方法,并將其應用在指針儀式表檢測中,可以把識別精度控制在一個刻度之內。該算法具有較好的魯棒性、準確率,實用性也很強。
關鍵詞:指針式溫濕度計;讀數識別;機器視覺;模式識別;旋轉檢測連通域。
0 引言
得益于機器視覺在效率和自動化方面的優勢,一些學者在指針式儀表機器視覺檢測方法方面做了許多建設性的研究和應用,其中利用指針偏轉的角度計算讀數的方案占大多數,這種方案一旦儀表位置發生偏轉,或指針圓心存在誤差等,都會導致讀數誤差增大。陳樹等在利用K-Means聚類算法提取刻度輪廓基礎上,用刻度輪廓質心擬合圓,將刻度圓環全景展開,細化指針并檢測出直線方程,最后通過直線和圓環交點識別讀數,這種方法一定程度上提高了儀表檢測系統的魯棒性[1],但是其過程中,運用K-Means聚類算法會增大計算量;將刻度全景展開會造成圖像扭曲現象[2];細化指針、Hough變換都會因采集圖像的質量、光源等因素受到不同程度的影響。本文利用表盤空間位置直接截取儀表刻度,并且提出一種新的連通域檢測方法用于對每個刻度按照順序標號,通過指針指向與刻度標號之間的距離數值直接判斷讀數,將誤差限制在一個刻度以內。
找到表盤圓心是各類檢測方法的關鍵,然而本文提出的方案對圓心位置的準確度沒有特別精細的要求,故對圓心的確定問題不在贅述。
1 一種新的連通域檢測方法——旋轉檢測連通域
本文為了對環繞在表盤邊緣的刻度進行排序,提出了旋轉檢測連通域的方法。如圖1,首先將圓盤以O為圓心均分成若干角度為α的扇形,α要足夠小,滿足最寬處(p到p'的距離)不超過一個像素。然后步驟如下:
(1)按照順時針(如圖1箭頭方向)從①開始逐個扇形掃描圖像,把每一扇形區域中連續的白色像素組成一個集合,并記下它的起點、它的終點以及所在行數。然后從1號開始按照數字順序標注每個集合。
(2)對于除了第一個扇形外的所有行里的集合,如果它與前一扇形中的所有集合都沒有重合區域,則給它一個新的標號;如果它僅與上一扇形中一個集合有重合區域,則將上一扇形的那個集合的標號賦給它;如果它與上一扇形的2個以上的集合有重疊區域,則給當前集合賦一個相連集合的最小標號,并將上一扇形的這幾個集合的標記寫入等價對,說明它們屬于一類。
(3)以上述方法遍歷整個區域,將各個集合的標號賦值給該集合每個像素。
2 圖像截取、去燥,二值化
采集原圖經過截取,圖像去燥、二值化。設左為x軸方向,上為y軸方向。在圖中找到指針不動點,即所謂圓心O,指針末尾端點P。
3 截取刻度盤
截取圖像需要檢測的區域,并取反。根據圖像先驗知識,設置一個起始點S,一個終止點F,則起始點角度為θ1,終止點角度為θ2。
因為刻度盤區域是以O為圓心的帶狀圓弧,則選擇適當長度的半徑R1,R2,使選定區域限定在該區域內。令截取范圍內像素點的值不改變,其他像素點的值置為0。
4 表盤刻度標號
在第三步中,已經對刻度盤進行了截取,且每個刻度是一個單獨的實心連通域,故這里可以對前文提出的旋轉連通域檢測方法進行簡化,如圖1,將圓盤以O為圓心均分成若干角度為α的扇形①②④。為了減少計算量,α只需滿足小于兩個距離最小的相鄰刻度之間角度之差的二分之一。③是要檢測的刻度,實際情況是像素值為1的白色區域。設kn是刻度的標號,初始k0=0。簡化后的步驟如下:
(1)按圖中箭頭方向從①開始逐個扇形掃描圖像,①中沒有像素值為1的點,k=0不變;
(2)掃描扇形區域②,③的一部分像素在區域②中,即②中值為1的像素個數大于0,且上一個扇形①中值為1的像素個數等于0,則k1=k0+1,將k1賦值給扇形區域②中值為1的像素點;
(3)掃描扇形區域④,③的一部分像素在區域④中,即④中值為1的像素個數大于0,且上一個扇形②中值為1的像素個數大于0,則刻度的標號保持k1不變,將k1賦值給扇形區域④中值為1的像素點;
(4)繼續掃描下一個扇形區域,當正在掃描的扇形區域的白色像素點個數為0時,繼續掃描下一個,不執行其他操作;而當正在掃描的扇形區域的白色像素點個數大于0,該刻度的標號為前一個標號加1,即kn=kn-1+1,同時將kn賦值給該區域中值為1的像素點。以上述方法遍歷整個區域。
5 讀數
根據先前已經確定的指針末尾端點P與最相近兩個刻度的位置關系,確定最后的讀數。首先確定表盤的刻度數目n,由上述方法檢測得出的連通域個數k。求出除指針端點所在連通域外其他連通域的質心,這就要求在截取表盤刻度的操作時將所有刻度切成統一長度,以免質心坐標過度偏離圓弧造成讀數誤差。然后找出與指針端點P所在連通域相鄰的兩個連通域的質心,分別記為A和B,A是位置靠前的點,所在連通域標號為kA,P到A、B的距離記為LA、LB,當k=n時,圖像中指針與刻度發生重合;當 k=n+1時,指針在刻度之間;當k=n-i時,i為大于0的正整數,則指針與刻度發生黏連。故
其中Degree為讀數,μ是起始刻度對應的讀數。若以本文的實驗對象μ=-10為例,經檢測k=55,n=56,即k=n-1。P所在連通域標號為33,將值為33的像素點畫出來,如圖8所示,可知指針圖像將兩個相鄰刻度連接了起來,起始讀數,kA=22,計算得 ,則讀數 。
6 結語
本文提出的通過旋轉檢測連通域的方法進行對指針式儀表的檢測,相對以往的檢測的方法有效地減小了誤差。在實際的溫濕度儀表檢測中,該檢測算法可以穩定的將誤差縮小在一個刻度之內,系統魯棒性優秀,實用性強。
參考文獻:
[1]陳樹,王磊.基于機器視覺的指針式儀表檢測方法[J].計算機與數字工程,2016,44(9):1821-1826.
[2]龔小林,田向陽.全景視覺還原算法分析與應用[J].計算機技術與發展,2014,24(6):233-235.
作者簡介:徐亞超,出生年1992,漢,山東泰安,研究生,山東科技大學,研究方向:機器視覺與模式識別
錢廣秀,出生年1992,漢,山東菏澤,研究生,山東科技大學,研究方向:對抗性網絡