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