徐亞超 馬月梅
摘要:本文研究的是基于機(jī)器視覺(jué)、模式識(shí)別對(duì)指針式溫濕度計(jì)讀數(shù)的識(shí)別方法。為了提升識(shí)別精度,本文提出了一種旋轉(zhuǎn)檢測(cè)連通域的方法,并將其應(yīng)用在指針儀式表檢測(cè)中,可以把識(shí)別精度控制在一個(gè)刻度之內(nèi)。該算法具有較好的魯棒性、準(zhǔn)確率,實(shí)用性也很強(qiáng)。
關(guān)鍵詞:指針式溫濕度計(jì);讀數(shù)識(shí)別;機(jī)器視覺(jué);模式識(shí)別;旋轉(zhuǎn)檢測(cè)連通域。
0引言
目前指針式溫濕度儀表精度檢測(cè)主要通過(guò)目測(cè),這種檢測(cè)方法占用大量勞動(dòng)力,且效率低下,誤差較大。隨著機(jī)器視覺(jué)理論和工業(yè)水平的發(fā)展,機(jī)器視覺(jué)技術(shù)應(yīng)用于儀表檢測(cè)的案例屢見(jiàn)不鮮。得益于機(jī)器視覺(jué)在效率和自動(dòng)化方面的優(yōu)勢(shì),一些學(xué)者在指針式儀表機(jī)器視覺(jué)檢測(cè)方法方面做了許多建設(shè)性的研究和應(yīng)用,其中利用指針偏轉(zhuǎn)的角度計(jì)算讀數(shù)的方案占大多數(shù),這種方案一旦儀表位置發(fā)生偏轉(zhuǎn),或指針圓心存在誤差等,都會(huì)導(dǎo)致讀數(shù)誤差增大。陳樹(shù)等在利用K-Means聚類(lèi)算法提取刻度輪廓基礎(chǔ)上,用刻度輪廓質(zhì)心擬合圓,將刻度圓環(huán)全景展開(kāi),細(xì)化指針并檢測(cè)出直線方程,最后通過(guò)直線和圓環(huán)交點(diǎn)識(shí)別讀數(shù),這種方法一定程度上提高了儀表檢測(cè)系統(tǒng)的魯棒性,但是其過(guò)程中,運(yùn)用K-Means聚類(lèi)算法會(huì)增大計(jì)算量;將刻度全景展開(kāi)會(huì)造成圖像扭曲現(xiàn)象;細(xì)化指針、Hough變換都會(huì)因采集圖像的質(zhì)量、光源等因素受到不同程度的影響。本文利用表盤(pán)空間位置直接截取儀表刻度,并且提出一種新的連通域檢測(cè)方法用于對(duì)每個(gè)刻度按照順序標(biāo)號(hào),通過(guò)指針指向與刻度標(biāo)號(hào)之間的距離數(shù)值直接判斷讀數(shù),將誤差限制在一個(gè)刻度以內(nèi)。該方案對(duì)圓心位置的準(zhǔn)確度,儀表擺放位置的偏轉(zhuǎn),以及儀表本身的做工誤差均沒(méi)有特別精細(xì)的要求,故系統(tǒng)魯棒性很高。
1一種新的連通域檢測(cè)方法——旋轉(zhuǎn)檢測(cè)連通域
連通域分析是一種在機(jī)器視覺(jué)和圖像處理等多學(xué)科中常用的方法,主要用于前景目標(biāo)的提取工作。目前在數(shù)字圖像處理中,常用的連通域檢測(cè)方法是按照行或列的順序遍歷圖像,檢測(cè)到的連通域順序也是從上到下或者從左到右。在本文的刻度提取部分,我們需要將原圖進(jìn)行二值化處理后再進(jìn)行連通域分析。尋找連通域?qū)⒃谙袼刂迪嗤臀恢孟噜弮蓚€(gè)條件下進(jìn)行。對(duì)于圖像中的每個(gè)連通域,將標(biāo)記唯一的標(biāo)識(shí)(1abel),以區(qū)別其他的連通域,需要注意的是:掃描指的是按行或按列訪問(wèn)圖像的所有像素點(diǎn),本文算法采用按行掃描方式;被掃描的二值圖像記為B:前景像素值為1,背景像素值為0。
常用連通域分析方法使用Two-Pass算法對(duì)連通域進(jìn)行掃描分析,Two-Pass算法需要對(duì)圖像掃描兩遍,以完成對(duì)所有連通域的尋找標(biāo)記工作。Two-Pass算法的簡(jiǎn)單步驟如下:
第一次掃描,如圖5(a)所示:訪問(wèn)當(dāng)前像素B(x,y),如果B(x,y)=1,如果B(x,y)的鄰接像素的值都為0,則賦予B(x,y)一個(gè)新的label值:label=label+1,B(x,y)=label;如果B(x,y)的鄰接中有像素值>1的像素neighbors,將neighbors中的最小值賦給B(x,y),B(x,y)_min{hel‘ghbors);記錄neighbors中各個(gè)值(1abel)之間的相等關(guān)系,即這些值(1abel)同屬于一個(gè)連通域。
第二次掃描,如圖5(b)所示:訪問(wèn)當(dāng)前像素B(x,y),如果B(x,y)>1,找到與labeI=B(x,y)同屬相等關(guān)系的一個(gè)最小label值,并賦給B(x,y)。掃描完成后,圖像中具有相同label值的像素就組成了同一個(gè)連通域。
本文為了對(duì)環(huán)繞在表盤(pán)邊緣的刻度進(jìn)行排序,提出了旋轉(zhuǎn)檢測(cè)連通域的方法。如圖1,首先將圓盤(pán)以O(shè)為圓心均分成若干角度為a的扇形,a要足夠小,滿足最寬處(p到p的距離)不超過(guò)一個(gè)像素。然后步驟如下:
(1)按照順時(shí)針(如圖1箭頭方向)從①開(kāi)始逐個(gè)扇形掃描圖像,把每一扇形區(qū)域中連續(xù)的白色像素組成一個(gè)集合,并記下它的起點(diǎn)、它的終點(diǎn)以及所在行數(shù)。然后從1號(hào)開(kāi)始按照數(shù)字順序標(biāo)注每個(gè)集合。
(2)對(duì)于除了第一個(gè)扇形外的所有行里的集合,如果它與前一扇形中的所有集合都沒(méi)有重合區(qū)域,則給它一個(gè)新的標(biāo)號(hào);如果它僅與上一扇形中一個(gè)集合有重合區(qū)域,則將上一扇形的那個(gè)集合的標(biāo)號(hào)賦給它;如果它與上一扇形的2個(gè)以上的集合有重疊區(qū)域,則給當(dāng)前集合賦一個(gè)相連集合的最小標(biāo)號(hào),并將上一扇形的這幾個(gè)集合的標(biāo)記寫(xiě)入等價(jià)對(duì),說(shuō)明它們屬于一類(lèi)。
(3)以上述方法遍歷整個(gè)區(qū)域,將各個(gè)集合的標(biāo)號(hào)賦值給該集合每個(gè)像素。
本文選取了市面上常用的一種指針式溫濕度儀作為案例,其算法總體流程在下文詳細(xì)敘述(本文所有提到某點(diǎn)的“角度”均是指該點(diǎn)和圓心的連線與O軸夾角的角度)。
2圖像預(yù)處理
采集到的原始圖像會(huì)由于各種原因的影響而夾雜多種噪聲,對(duì)原始圖像進(jìn)行預(yù)處理,是之后各種處理的前提。預(yù)處理工作的重點(diǎn)是去除圖像中的噪聲干擾并突出圖像中有用的特征信息,然后通過(guò)選擇合適的算法函數(shù)并設(shè)置適當(dāng)?shù)拈撝祬?shù)對(duì)儀表圖像的特征信息進(jìn)行分析識(shí)別的過(guò)程。通過(guò)圖像濾波、圖像增強(qiáng)以及提取特征信息區(qū)域等手段,突出圖像中有價(jià)值的特征信息,提高儀表圖像的可檢測(cè)性,為后續(xù)計(jì)算識(shí)別做準(zhǔn)備。預(yù)處理工作是整個(gè)指針讀數(shù)識(shí)別系統(tǒng)中的必要過(guò)程,預(yù)處理效果的好壞對(duì)儀表讀數(shù)的識(shí)別效果有直接影響,乃至整個(gè)識(shí)別系統(tǒng)的準(zhǔn)確率。采集原圖經(jīng)過(guò)截取,圖像去燥,圖像增強(qiáng),閾值分割,然后得到較為理想二值化的效果如圖3。圖像增強(qiáng)采用伽馬變換,對(duì)輸入圖像灰度值進(jìn)行的非線性操作,使灰度值的輸出與輸入呈指數(shù)關(guān)系如V。經(jīng)過(guò)伽馬變換后的輸入和輸出圖像灰度值關(guān)系如圖2所示。
4表盤(pán)刻度標(biāo)號(hào)
使用上文提出的旋轉(zhuǎn)連通域檢測(cè)方法可以進(jìn)行表盤(pán)刻度標(biāo)號(hào)。在第三步中,已經(jīng)對(duì)刻度盤(pán)進(jìn)行了截取,且每個(gè)刻度是一個(gè)單獨(dú)的實(shí)心連通域,故這里可以對(duì)旋轉(zhuǎn)連通域檢測(cè)方法進(jìn)行簡(jiǎn)化,如圖1,將圓盤(pán)以0為圓心均分成若干角度為a的扇形,如圖1中①②④。為了減少計(jì)算量,a只需滿足小于兩個(gè)距離最小的相鄰刻度之間角度之差的二分之一。⑨是要檢測(cè)的刻度,實(shí)際情況是白色的,像素值為1。設(shè)kn是刻度的標(biāo)號(hào),初始k=0。簡(jiǎn)化后的步驟如下:
5讀數(shù)
根據(jù)先前已經(jīng)確定的指針末尾端點(diǎn)P(x,Y)與最相近兩個(gè)刻度的位置關(guān)系,確定最后的讀數(shù)。首先確定表盤(pán)的刻度數(shù)目n,由上述方法檢測(cè)得出的連通域個(gè)數(shù)k。求出除指針端點(diǎn)所在連通域外其他連通域的質(zhì)心,這就要求在截取表盤(pán)刻度的操作時(shí)將所有刻度切成統(tǒng)一長(zhǎng)度,以免質(zhì)心坐標(biāo)過(guò)度偏離圓弧造成讀數(shù)誤差。圖形的幾何矩為m叩,
6結(jié)語(yǔ)
本文從機(jī)器視覺(jué)和圖像處理的角度對(duì)指針式儀表的刻度提取和標(biāo)號(hào)進(jìn)行了研究,提出的通過(guò)旋轉(zhuǎn)檢測(cè)連通域的方法進(jìn)行對(duì)指針式儀表的檢測(cè),相對(duì)以往的檢測(cè)的方法有效地減小了誤差。在實(shí)際的溫濕度儀表檢測(cè)中,該檢測(cè)算法可以穩(wěn)定的將誤差縮小在一個(gè)刻度之內(nèi),系統(tǒng)魯棒性優(yōu)秀,實(shí)用性強(qiáng)。