基于連通域標記的壓力表讀數(shù)自動識別系統(tǒng)
針對壓力表這種模擬儀表沒有提供接口供外部讀取數(shù)據(jù)的情況,設(shè)計一種通過機器視覺技術(shù)來自動識別壓力表讀數(shù)的系統(tǒng)。運用標 記連通域的方法標記指針及刻度線,Hough變換求取指針直線,求出表盤的圓心及半徑,再在指針所指刻度區(qū)間運用角度法求得指針讀數(shù)。經(jīng) 實驗證明,該系統(tǒng)讀取數(shù)據(jù)較人工估讀數(shù)據(jù)更加準確,能夠避免人為因素干擾,并能提高壓力表檢定效率。
0.引言
壓力表是以彈性元件為敏感元件,用于測量對 儀表零件不起腐蝕作用的液體、氣體和蒸汽表壓力 的儀表,一般可分為普通壓力表和精密壓力表。壓 力表結(jié)構(gòu)簡單、堅固耐用,使用方便,易于維護修理, 在基層單位應(yīng)用普遍?;鶎訂挝皇褂玫膲毫Ρ恚^ 大部分是普通壓力表,一塊普通壓力表,一年可能要 送到計量站溯源兩次,計量站壓力表一年的檢定任 務(wù)量到達上千臺次。而大部分壓力表屬于機械儀 表,表本身并沒有提供可供外部讀取數(shù)據(jù)的接口,每 次檢定壓力表,都需要人為的讀取數(shù)據(jù),再與標準表 讀數(shù)計算得出誤差,效率低下,受人為因素影響較 大,隨著檢定業(yè)務(wù)量的增大,檢定人員也會產(chǎn)生視覺 疲勞,影響數(shù)據(jù)的估讀,可靠性及準確性都會隨著降 低。近年來,計算機視覺技術(shù)快速發(fā)展,為壓力表等 模擬指針儀表實現(xiàn)自動讀數(shù)提供了強有力的技術(shù)支 持,將人眼讀數(shù)轉(zhuǎn)化為計算機自動讀數(shù),避免了人為 因素對讀數(shù)產(chǎn)生的影響,同時提高了讀數(shù)的精確性 及檢定效率。
1.系統(tǒng)構(gòu)成
此系統(tǒng)由三大部分構(gòu)成,組成框圖如圖1所示。
儀表部分:在同一壓力泵平臺上,安裝標準表及 被檢表(以普通壓力表為例),檢定規(guī)程參照《JJG 52 -2013彈性元件式一般壓力表、壓力真空表和真空表檢定規(guī)程》。
攝像頭部分:使用特定的鏡頭及相機對被檢表 進行拍攝,將圖片通過數(shù)據(jù)線傳送給計算機,供后續(xù) 算法使用。
讀數(shù)識別系統(tǒng)部分:這是系統(tǒng)核心部分,通過一 系列算法獲取被檢表的讀數(shù),從而實現(xiàn)壓力表讀數(shù) 的自動識別。
2.系統(tǒng)流程圖及主要算法實現(xiàn)
整套系統(tǒng)算法的流程如圖2所示。
被檢表圖像傳入計算機,首先對圖像進行預處理。 對處理后的圖像提取指針回轉(zhuǎn)中心及半徑,去除半 徑外的圖像,得到感興趣區(qū)域ROI( Region of Inter-esting )。在ROI中,標記刻度線位置及角度,同時標 記指針及其所指向的角度,通過對指針所指刻度區(qū) 間運用角度比例法,得到壓力表讀數(shù)。
2. 1圖像預處理
圖像預處理主要包括圖像去噪及圖像二值化處 理。相機拍攝被檢表圖像經(jīng)數(shù)據(jù)線傳入計算機后, 因各種原因,圖像會帶有噪聲等干擾因素,會加大后 續(xù)算法的計算量。本系統(tǒng)通過使用中值濾波來濾除 圖像噪聲。同時為了減少后續(xù)算法計算量,我們還 需要對圖像進行二值化處理。
2.1.1中值濾波
中值濾波是一種典型的非線性濾波技術(shù),基本 原理是運用統(tǒng)計排序的方法,用像素點鄰域灰度值 的中間值來代替該像素點的灰度值,讓周圍的像素 值接近真實值,從而消除孤立的噪聲點。該方法在
2.1.2圖像二值化
圖像的二值化通常通過對圖像進行閾值處理來 實現(xiàn)。圖像閾值處理是一種最基本的圖像分割方 法,它通過選取一個閾值,將圖像各個像素值中大于 (或大于等于)和小于等于(或小于)該閾值的像素 點分別設(shè)置為不同的值,從而形成兩個像素值集合, 以達到分割對象圖像和背景圖像的目的。常用的閾 值處理方法包括基于最大類間方差法(OTSU)的自 適應(yīng)全局閾值化分割法和基于高斯算子的局部閾值 化分割法,此系統(tǒng)選取第二種方法進行分割。
局部自適應(yīng)閾值基于像素鄰域塊的像素值分布 來計算得到該像素點位置上的分割閾值,其好處是 閾值是根據(jù)像素點鄰域的像素分布來計算得出。其 原理為:
{255,/( x,> T( x,
I0,x,) ^T( x,)
其中T( x,)為當前像素點的領(lǐng)域加權(quán)值,其權(quán)值 為高斯核值,其中采用的二維高斯濾波器函數(shù)是
圖4為基于OTSU閾值處理及基于高斯算子的 局部閾值處理后的圖像:
2.2指針提取
為了后續(xù)指針及刻度的角度確定并減少算法計算量,需要提前確定被檢表的回轉(zhuǎn)中心(即圓心)。 在拍攝被檢表圖像的時候,也可以將圖像的中心與 表盤的回轉(zhuǎn)中心重合,但人為因素可能帶來誤差,因 此我們要計算得出圓心的位置,避免人為因素影響。
通過觀察表盤可以發(fā)現(xiàn),所有的刻度的延長線 都經(jīng)過圓心,同時,指針也隨圓心轉(zhuǎn)動,所以指針也 經(jīng)過圓心,求取所有刻度線與指針的交點,即可以得 出圓心位置。同時觀察圖4,除了需要的刻度及指 針對象外,圖像還有許多其他背景圖像,由此,還需 要將表盤外圈及文字和數(shù)字去掉,盡可能只剩下表盤 刻度及指針這些有用的對象,方便后續(xù)算法處理。
通過對表盤外圈進行擬合圓操作,可以得到一 個大概的圓心位置及其半徑,就可以提取感興趣區(qū) 域ROI,此系統(tǒng)一共提取兩個ROI,分別用于刻度的 標記及指針的提取。提取出的ROI如圖5所示。
圖像中每個像素點,其周圍4個水平和垂直的 像素稱為該像素的4鄰域,其周圍4個水平和垂直 的像素和4個對角相鄰像素稱為該像素的8鄰域, 如圖6所示。連通域就是在一個像素集合中,所有 像素都以一種鄰接方式(4鄰接或8鄰接)相鄰接,并 與其他像素集合不相鄰。將圖5( b)進行連通域標記, 提取最大一塊連通域就能得到指針對象,如圖7所示。 同時對圖5 ( a)中刻度進行連通域標記。
圖6像素點X的4鄰域和8鄰域
提取到細化后的指針,則需要運用Hough變換 從指針圖像中提取指針直線方程,一是用于圓心的 提取,二是確定指針所指的角度方向。在直角坐標 系中,直線的方程可以表示為y = kx + 6,其對應(yīng)在 極坐標系中則表示為:r = xcos^ + ysin0,這就說明直
2. 3圓心提取
對圖5( a)進行連通域標記后,對每一個刻度用 最小二乘法進行線性擬合,得出每條刻度線的直線 方程,以便于后續(xù)圓心的提取。
最小二乘法的原理:設(shè)某條刻度擬合的直線方 程為:y = kx + b,則該條刻度連通域內(nèi)像素點(,1) 和直線上(xt,yt)的偏差為:dl = yl - kXi - b;最小二
乘法就是計算得到k和b使gd2最小。求取各個刻度直線與指針直線的交點,再取各個交點的平均值, 記為圓心。
對刻度進行直線擬合后,選取每個刻度連通域 中擬合直線的中點或者該刻度連通域的質(zhì)心,用于 標記其代表的刻度,便于后續(xù)讀數(shù)的計算。標記方 法:將所有的標記點按橫坐標分為圓心左邊部分和 圓心右邊部分,按照縱坐標大小不同,左邊部分從下 往上標記,右邊部分從上往下標記,即將表盤的刻度 從小到大依次標記完成,將標記的結(jié)果保存于數(shù)組 中,數(shù)組的索引為刻度的序號,數(shù)組值為該刻度對應(yīng) 的角度(角度以表盤6點鐘位置為0度,順時針依次 增大)。圓心的結(jié)果和刻度的標記如圖9所示。
2. 4計算指針讀數(shù)
此系統(tǒng)指針讀數(shù)計算方法是:刻度值根據(jù)其在 標記結(jié)果數(shù)組中的索引值乘于表盤刻度分度值,再 加上表盤的最小值來計算,指針的讀數(shù)用指針所指 的角度與相鄰的兩個刻度的角度比例來計算。由于 連通域標記可能會將某些刻度與指針標記在一起 (包括指針和刻度重合的情況),所以指針讀數(shù)計算 會有以下幾種情況。
設(shè)指針的角度為&兩個標記的刻度值的角度 為^和eB、壓力值為:va和vb,分度值為F。
第一種情況:
指針讀數(shù)為:s = H ? V + Vb。
"A -廿 B
第二種情況(包含指針和刻度重合的情況): 指針讀數(shù)為:s = H ? ? V + Vb。
"A -廿 B
第三種情況:
指針讀數(shù)為:s = H ? V + Va。
^ A - " B
實驗驗證
該系統(tǒng)在VS2013環(huán)境下編寫完成,選取的標 準表為ConST273數(shù)字式壓力校驗儀,選取的普通壓力 表的信息如表1所示,實驗結(jié)果如表2、表3所示。
表2及表3結(jié)果表明,自動識別讀數(shù)精確度要 高于人工估讀讀數(shù),由于角度比例法只在指針所指 相鄰刻度間進行,比全局使用角度比例法誤差更小,說 明了這套系統(tǒng)能夠用于壓力表的讀數(shù)識別,并且精確 度更高,能夠避免人為因素干擾,達到了預計需求。
4.結(jié)論
本文針對普通的一般壓力表的檢定讀數(shù),提出 了基于機器視覺的自動讀數(shù)方案,通過對壓力表圖 像中指針及刻度線進行連通域標記,求得圓心,并將 刻度值進行標記,運用局部角度比例法,計算壓力表 的讀數(shù)。通過實驗對自動識別讀數(shù)算法進行了可行 性論證,通過實驗表明,該方法精確度更高,準確性 更好,同時避免了人為干擾因素,提高了壓力表檢定 效率。