面向自動校驗系統(tǒng)的指針式壓力表讀數(shù)識別
針對基于機器視覺的指針式壓力表校驗系統(tǒng),給出了一種采用幀差分法和角度法自動識別指針儀表讀數(shù)的 方案,并且為了解決殘缺指針區(qū)域的質(zhì)心偏移問題提出了一種利用區(qū)域極值點確定指針質(zhì)心的方法。首先基于霍 夫圓檢測進行表盤中心定位和表盤分割;然后采用三幀差分法檢測指針區(qū)域,并從其八方向極值點中選擇最接近指 針區(qū)域最小外接矩形對角頂點的兩點來定位指針質(zhì)心;最后連接指針質(zhì)心和表盤中心以計算指針偏轉(zhuǎn)角度和識別 讀數(shù)。實驗結(jié)果表明基于區(qū)域極值點的指針質(zhì)心定位可以簡單有效地修正殘缺指針區(qū)域質(zhì)心偏移,整體方案能夠 較準(zhǔn)確地識別指針式壓力表讀數(shù)。
1.引言
指針式模擬儀表仍然以其低成本和高可靠性等優(yōu)勢占盡管數(shù)字化和智能化是儀表行業(yè)發(fā)展的主流趨勢,據(jù)一定市場。但是在對指針儀表進行出廠前檢驗和周期性校驗時,傳統(tǒng)的人工方式效率低下,而且勞動力成 本的日益提高也增加了生產(chǎn)經(jīng)營壓力。然而隨著計算 機和攝像設(shè)備性能的提升和價格的降低,基于機器視覺 技術(shù)對儀表進行自動校驗變得可行且有效' 所以作為 影響整體檢驗和校驗性能的核心技術(shù),指針儀表讀數(shù)自 動識別受到了很多關(guān)注。本文面向?qū)嶋H需求設(shè)計了 一套用機器視覺方法對某指針式氣體密度繼電器的壓 力示數(shù)進行自動識別的方案。
指針儀表讀數(shù)識別的關(guān)鍵在于指針檢測,現(xiàn)有的方 法包括直線擬合法M、幀差法、Hough直線檢測法、 中心投影法、表盤圖像特征法以及對這些方法的綜 合。本方案所面向的儀表指針較短而且不直接與表盤 中心相連,因此直線擬合方法并不適用。而在本文所針 對的實際校驗系統(tǒng)中,每個儀表都要經(jīng)過10個不同壓 力值的測試,每測試一個壓力值校驗平臺就捕捉一幀對 應(yīng)該數(shù)值的儀表監(jiān)控圖像,這樣一個儀表對應(yīng)著10幅 背景相同但是指針偏轉(zhuǎn)不同的圖像。因此本方案采用 了一種幀間求差方法,即基于前后幀差分檢測指針區(qū)域 并提取其質(zhì)心,然后將質(zhì)心與表盤中心連線以確定指針 偏轉(zhuǎn)角度,從而使用角度法識別讀數(shù)。在基于幀差法 進行指針檢測時,如果指針與表盤刻度線有重疊,檢測 到的指針區(qū)域會出現(xiàn)殘缺,按照傳統(tǒng)方法提取到的質(zhì)心 會存在偏差。為了解決這個問題,本文提出了一種利用 指針區(qū)域八方向極值點尋找質(zhì)心的簡單方法,該方法既 可以修正指針質(zhì)心偏移又能避免對殘缺指針區(qū)域進行 修復(fù)性擬合。
2.系統(tǒng)整體方案
如圖1所示,整體讀數(shù)識別方案包括表盤定位、表 盤分割、指針檢測、質(zhì)心提取和讀數(shù)識別5個主要組成 部分。
表盤定位:基于Hough圓檢測用第一個測試 值對應(yīng)幀來定位表盤圓環(huán)中心點和刻度線中間校準(zhǔn)點。
表盤分割:以檢測到的表盤中心為圓心,根據(jù)表 盤尺寸比例從測試值對應(yīng)幀中切割出適合指針檢測的 環(huán)形區(qū)域。
指針檢測:采用三幀差法進行指針檢測,得 到包含測試值所對應(yīng)指針區(qū)域的二值圖像。
質(zhì)心提取:對包含指針區(qū)域的二值圖像做連通 區(qū)域檢測,獲取指針區(qū)域的極值點并計算其質(zhì)心。
讀數(shù)識別:先連接表盤中心點和刻度線中間校 準(zhǔn)點得到刻度基準(zhǔn)線,然后將測試值對應(yīng)的指針質(zhì)心和表盤中心進行連接,根據(jù)連線與基準(zhǔn)線的夾角識別讀數(shù)。
3.表盤定位和分割
3.1表盤定位
雖然自動校驗平臺有固定儀表的裝置,但是不能保 證每個被測儀表的位置完全相同,所以需要對表盤進行 定位以提高精度。在對每個儀表進行多值測試時,只需 用第一個測試值所對應(yīng)的圖像進行一次初始化定位,后 續(xù)測試時可以直接使用該定位結(jié)果。如圖2所示,確定 表盤位置主要依賴兩個關(guān)鍵點:表盤中心點和刻度線的 中間校準(zhǔn)點。校準(zhǔn)點用于確定刻度線的中線位置,為后 續(xù)讀數(shù)識別提供參照。
首先基于Hough變換檢測圓形得到表盤外圓圓心 和半徑,該圓心即為表盤中心O。根據(jù)先驗知識,刻度 線中間校準(zhǔn)點和表盤中心的距離相比于外圓半徑的比 例是一定的。為了避免表盤下半部分文字的干擾,可以 利用該比例對表盤進行半圓弧切割以得到校準(zhǔn)點所在 的上半圓弧區(qū)域。然后對切割區(qū)域進行二值化處理和 連通域檢測,可以獲得校準(zhǔn)點區(qū)域信息,再通過取校準(zhǔn) 點區(qū)域內(nèi)所有點坐標(biāo)的均值來定位質(zhì)心N。在最終的 讀數(shù)識別環(huán)節(jié),就以表盤中心O和該校準(zhǔn)點質(zhì)心N的 連線ON (所對應(yīng)的讀數(shù)為0.4)作為基準(zhǔn)參照線。
3.2 表盤分割
儀表表盤的中心位置有空洞而且有零件顯現(xiàn),在指 針轉(zhuǎn)動過程中,這部分區(qū)域的變化給指針檢測帶來了很 大干擾。所以在檢測指針之前根據(jù)表盤尺寸比例以前 面檢測到的表盤中心為圓心對其進行了環(huán)形切割,只保 留適合檢測的表盤區(qū)域。如圖3所示,分割后的表盤背 景簡單,干擾較少。這樣可以避免對圖像進行去噪處 理,既能提高效率又能提高系統(tǒng)的可靠性。
4.指針檢測和質(zhì)心提取
4.1指針檢測
在對儀表的10個測試值對應(yīng)幀進行分割提取后, 基于三幀差法用每個測試值前后兩個測試值對應(yīng)幀減 去當(dāng)前測試值對應(yīng)幀。求差操作使得無變化的背景區(qū) 域變?yōu)榈拖袼刂?,而前后參考幀的指針區(qū)域本身也為黑 色(低像素值),所以在求差結(jié)果中只有當(dāng)前數(shù)值對應(yīng)的 指針區(qū)域變?yōu)楸肀P背景像素值(高像素值)。假設(shè)第n個 被測數(shù)值對應(yīng)的分割后圖像為In,其前后測試值對應(yīng) 參考圖像為1和In+1 (當(dāng)n = 1時,n - 1定義為10;當(dāng) n = 10時n + 1定義為1),前后兩次求差結(jié)果分別為:
dback = In - 1 - In (1)
d forward = In + 1 - In (2)
為了提高可靠性,對兩次求差所得結(jié)果進行二值化 處理并做邏輯與運算得到顯示當(dāng)前值指針區(qū)域的二值 化圖像:
d = bw(dback) H bw(dLwaJ ( 3 )
其中bw()代表二值化處理。由于圖像背景簡單,本方 案選擇以固定閾值進行二值化。
圖4給出了某儀表的指針檢測結(jié)果,為了方便顯示 和節(jié)省空間,這里將10個檢測結(jié)果對應(yīng)的二值圖像進 行疊加并對圖像求反以保證背景為白色??梢园l(fā)現(xiàn),當(dāng) 某個測試值對應(yīng)指針落在表盤刻度線或者數(shù)字位置上 時,檢測到的指針區(qū)域會留下前后參考幀的刻度線或者 數(shù)字印跡,即指針區(qū)域出現(xiàn)殘缺。接下來采用先膨脹后 腐蝕的閉運算來初步修復(fù)殘缺指針,圖4(b)顯示了進行 閉運算處理后的結(jié)果。
4.2質(zhì)心提取
在得到代表測試值對應(yīng)指針區(qū)域位置信息的二值 化圖像后,可以通過連通域檢測來獲取區(qū)域信息,并計 算區(qū)域質(zhì)心以對其進行定位。從圖4可以看出,盡管閉 運算可以初步修復(fù)殘缺指針,這些指針區(qū)域仍然存在缺 角或者邊緣不連貫的現(xiàn)象。傳統(tǒng)方法取區(qū)域內(nèi)所有點 的坐標(biāo)平均值來當(dāng)作區(qū)域質(zhì)心坐標(biāo),當(dāng)指針區(qū)域出現(xiàn)殘 缺時使用這種方法會使質(zhì)心偏移而影響識別精度。最 直接的修正區(qū)域質(zhì)心的方式是采用最小外接矩形或者 橢圓來包絡(luò)區(qū)域,然后用外接形狀的中心作為其質(zhì)心。 但是這些方法需要進行多次擬合,效率不高。
如圖5所示,本文根據(jù)指針區(qū)域是近似矩形的先驗 知識,從指針區(qū)域的八方向極值點中篩選最接近指針區(qū) 域最小外接矩形對角頂點的兩點,然后取這兩點的中點 作為質(zhì)心。詳細(xì)算法如下:
對指針檢測結(jié)果對應(yīng)二值圖像進行連通域檢 測,得到10個指針區(qū)域Rn,n = 1,2,...,10。
如圖5(a)和圖5(b)所示,在指針區(qū)域Rn內(nèi)的所 有點中,尋找該區(qū)域上、下、左和右4條邊界上的點。按 順時針順序取區(qū)域在各邊界上的起點和終點組成區(qū)域 八方向極值點集合,并按上左、上右、右上、右下、下右、 下左、左下和左上的順序排列。如果區(qū)域在某邊界上的 極值點恰好只有一個,視該點為起點和終點的重合并進 行重復(fù)提取。這樣保證每個區(qū)域都有8個極值點,記為 P,i = 1,2,…,8。
將各個卩免按順時針順序連接,得到勾勒出區(qū)域 輪廓的8條線段,兩個重合極值點構(gòu)成的線段長度為0。 記從第i點出發(fā)的線段為h = PiP,i = 1,2,…,8。當(dāng)i <7 時,,=i + 1,當(dāng)i = 8時,線段18的末端點為Pi。因此對 j的取值用下式進行轉(zhuǎn)換:
j = f (i + 1) = (i + 1) mod 8 + 1{((i + 1) mod 8) == 0} x 8 (4) 其中mod代表模運算。而1{}代表指示函數(shù):當(dāng) ((i + 1) mod 8) == 0 ”條件成立時取值為1,不成立時取 值為0。這樣既能保證i = 8時j取值為1,又能防止i = 7 時j的結(jié)果被模8運算設(shè)置為0。
如圖5(c)所示從所有I!中選擇最長的線段lk :
lk = PkPf (k +1) (5)
其始端點為Pk,末端點為Pf(k +1),該線段方向是指針長 軸方向的概率最大。則最長邊lk后的第4條線段為其 鏡像邊I\ :
廠 k = Pf Ok + 4) Pf(k + 5) (6)
其按順序連線
圖5指針質(zhì)心提取示意圖
最長極值點連線的 鏡像
和第(3)步一樣, 這里需要對k + 1、k + 4和k + 5進行公式(4)所示的轉(zhuǎn)換 以保證其取值是[1,8]內(nèi)的整數(shù)。如果所有l(wèi)中的最長 邊有多個,則取其鏡像邊最長的情況,如果鏡像邊也都 一樣長則取k最小的組合。記Pk為點A,Pf(k +1)為點B,
Pf(k + 4)為點 C,Pf(k + 5)為點 D。
在最長邊AB兩端點和鏡像邊CD兩端點間做 對角連線,此時較長對角連線的兩端點最接近區(qū)域最小 近外接矩形的對角頂點,取這兩端點的中點作為第n個 指針的估計質(zhì)心Mn。
該算法通過兩次篩選,在指針缺角或者有邊緣凹陷 時可以獲取理想指針區(qū)域的近似質(zhì)心,從而起到修正作 用,而且避免了尋找區(qū)域外接形狀所需的擬合操作。
5.讀數(shù)識別
在得到指針區(qū)域的近似質(zhì)心后,連接表盤中心O和 指針區(qū)域Rn的質(zhì)心Mn,以O(shè)Mn和3.1節(jié)中所得基準(zhǔn)線 ON的夾角為依據(jù)來識別該指針的讀數(shù)。如圖6所示, 在計算夾角時將以O點為原點的直角坐標(biāo)系縱軸正半 軸作為參照,分別計算ON相對于縱軸正半軸的偏轉(zhuǎn)角 度和OMn相對于縱軸正半軸的偏轉(zhuǎn)角度,再將兩者求 差得到OMn相對于ON的偏轉(zhuǎn)角度。本文統(tǒng)一定義偏 轉(zhuǎn)角度的取值在[-n,n]之間,且逆時針偏轉(zhuǎn)角度為負(fù), 順時針偏轉(zhuǎn)角度為正。
其始端點為Pf(k + 4),末端點為Pf(k + 5)
圖像坐標(biāo)系以圖像左上角點為原點且坐標(biāo)向右向 下遞增,這與以O為原點的直角坐標(biāo)系有所不同。為了 進行直觀表示,這里首先對O、N和質(zhì)心點Mn進行坐 標(biāo)轉(zhuǎn)化,假設(shè)O點的原坐標(biāo)為(x。,yO),任一 Q點原坐 標(biāo)為(xe,yQ),則Q點轉(zhuǎn)換后的坐標(biāo)為:
xQ = xQ -xO (7)
y Q = -(yQ- yc) (8)
經(jīng)過變換,o點的坐標(biāo)變?yōu)?span>(0,0),以o為原點的 直角坐標(biāo)系中的點坐標(biāo)向右向上遞增。圖6和后續(xù)章 節(jié)中的xN、yN、xM。和yMn分別代表變換后的N點和質(zhì)
心Mn的橫坐標(biāo)與縱坐標(biāo)。圖6僅給出了 N點落在以O(shè) 為原點的直角坐標(biāo)系第二象限時,指針質(zhì)心Mn落在各 個象限的情況。
在儀表被固定后,其校準(zhǔn)點N相對于縱軸正半軸 只會有小范圍左右偏轉(zhuǎn),即N點落在以O(shè)為原點的直 角坐標(biāo)系第一象限或第二象限,此時yN均為非負(fù)。 ON相對于縱軸正半軸的偏轉(zhuǎn)角度可以定義為:
aON = arCtan(XN),yN > 0 (9)
N在第一象限時xN為正,角度為正,ON相對于縱軸正 半軸順時針偏轉(zhuǎn);N在第二象限時Xn為負(fù),角度為負(fù), ON 相對于縱軸正半軸逆時針偏轉(zhuǎn)。
而指針質(zhì)心Mn可能落在以O(shè)為原點的直角坐標(biāo) 系的各個象限。當(dāng)Mn落在第一象限或者第二象限時, 和N點一樣OMn相對于縱軸正半軸的偏轉(zhuǎn)角度定義為:
(aOM = arctan(xM ~M ),yM > 0 (10)
當(dāng)Mn點落在第三象限時arctan(xM /yM )為正且代 表OMn與縱軸負(fù)半軸的夾角。此時OMn相對于縱軸正 半軸逆時針偏轉(zhuǎn),所以考慮到角度定義的正負(fù)將其與縱 軸正半軸的偏轉(zhuǎn)角度定義為:
a3OM =-(兀-arctan(^M ~M》,xM < 0,yM < 0 (11)
n n n n n
同理,當(dāng)Mn點落在第四象限時arctan(xMn為負(fù)且 其絕對值代表OMn與縱軸負(fù)半軸的夾角,則OMn相對 于縱軸正半軸的偏轉(zhuǎn)角度定義為:
a4OM =兀 + arctan(xM !yM ),xM > 0,yM < 0 (12)
n n n n n
這樣OMn相對于ON的偏轉(zhuǎn)角度為:
Pn = aOMn - aON (13)
且OMn相對于ON逆時針偏轉(zhuǎn)時角度為負(fù),反之為正。 而ON對應(yīng)的讀數(shù)為0.4,整個儀表讀數(shù)范圍是1且圖2(a) 所示的刻度區(qū)域圓弧對應(yīng)的角度y為已知參數(shù),所以 OMn對應(yīng)的讀數(shù)為:
vom, = 0.4 + 凡/Y (14)
6.實驗結(jié)果
最后基于MATLAB對整體方案進行了實現(xiàn)與測 試,采集到的圖像尺寸調(diào)整為531x800,圓檢測時的二 值化閾值為0.5,指針檢測時的二值化閾值為0.3,閉運 算處理中的膨脹和腐蝕均選用3x3大小的方形結(jié)構(gòu)元 素。在質(zhì)心提取階段,還采用了區(qū)域點坐標(biāo)平均法和最 小外接矩形法與本文所提出的方法進行對比。在用最 小外接矩形對指針區(qū)域進行包圍時,直接使用了文獻的算法,它是目前較為通用的快速尋找區(qū)域最小外接矩 形的方法。
本文采用Hough變換進行表盤外圓檢測和定位,后 續(xù)操作非常依賴于該檢測結(jié)果。為了說明基于Hough 變換進行表盤外圓檢測的有效性,圖7給出了對標(biāo)準(zhǔn)表 進行檢測的結(jié)果示例,圖中虛線為檢測到的表盤外圓。 可以看出,通過Hough圓檢測能夠獲得理想的外圓輪 廓,這從直觀上說明了采用Hough變換對表盤外圓進行 檢測的有效性。為了驗證其可靠性,本文對標(biāo)準(zhǔn)表的10 個測試值所對應(yīng)圖像都進行了檢測,表1給出了每次檢 測到的圓心坐標(biāo)及其相對于坐標(biāo)平均值的絕對偏差。 可以發(fā)現(xiàn),檢測到的圓心坐標(biāo)在x軸上的最大絕對偏差 為0.3個像素,而在y軸上的最大絕對偏差也僅為0.5個 像素。這說明基于Hough圓檢測進行表盤中心定位不 但有效而且可靠。
圖8是采用本方案對標(biāo)準(zhǔn)表進行自動讀數(shù)識別時 的質(zhì)心提取結(jié)果整體示意圖。可以看出,不管指針是否 有殘缺,檢測到的質(zhì)心基本都在理想質(zhì)心所在的圓上, 且位于區(qū)域中心。表盤中心與各指針質(zhì)心的連線基本 與指針方向重合,說明了本文所提方案的有效性。
圖9給出了使用不同方法提取標(biāo)準(zhǔn)表指針質(zhì)心時, 較完整指針和殘缺指針的質(zhì)心提取結(jié)果。可以發(fā)現(xiàn),在 檢測到的指針相對完整時,三種方法所得質(zhì)心基本重 合。而指針有殘缺時,本文所提出的方法所得質(zhì)心仍重 合于或接近于采用最小外接矩形法所得到的質(zhì)心,而采 用區(qū)域點坐標(biāo)平均法得到的質(zhì)心有明顯偏移。
為了對各種方法進行定量比較,表2給出了采用各 種指針質(zhì)心提取方法所得到的10個測試值讀數(shù)識別結(jié) 果,表3給出了對應(yīng)的誤差分析結(jié)果。與人工讀數(shù)方法 相比,采用區(qū)域點坐標(biāo)平均法得到的讀數(shù)識別結(jié)果的最 大相對誤差為1.6%,而采用本文方法得到的讀數(shù)識別 結(jié)果的最大相對誤差僅為0.9%。與最小外接矩形法相 比,采用區(qū)域點坐標(biāo)平均法得到的讀數(shù)識別結(jié)果的最大 相對誤差為1.0%,而采用本文方法得到的讀數(shù)識別結(jié) 果的最大相對誤差僅為0.4%??傊谥羔樰^完整時,三種方法獲得的讀數(shù)基本一致;而在指針不完整時,相 比于最小外接矩形方法,區(qū)域點坐標(biāo)平均法所得讀數(shù)有 更大偏差。圖9、表2和表3的結(jié)果說明本文所提出的基 于極值點篩選進行質(zhì)心提取的方法能夠有效修正質(zhì)心 偏移,取得近似于最小外接矩形方法的精度。
本文所提出的質(zhì)心提取方法的實質(zhì)是對指針區(qū)域 的八方向極值點進行兩次篩選,不需要擬合區(qū)域外接形 狀,理論上的時間消耗會低于最小外接矩形方法。為了
可以看出,本文所提出的質(zhì)心檢測方法所消耗的時 間不到最小外接矩形方法的50%,而且其時間消耗相比 于區(qū)域點坐標(biāo)平均法僅有微弱增加。實驗結(jié)果說明本 文所提方法能用對這些方法的效率進行對比,表4給出了用三種方法進 行質(zhì)心提取時,從指針檢測開始到識別出讀數(shù)的時間消 耗。該時間是重復(fù)運行20次程序得到的平均結(jié)果,測 試系統(tǒng)配置為:ntel® Core? 2 Duo-2.1 GHz CPU,GB 內(nèi)存。
更少的時間消耗獲得與最小外接矩形 方法相比擬的識別精度,這在其他采用更高分辨率圖像 的應(yīng)用中會更有意義。
7.結(jié)朿語
本文針對實際應(yīng)用提出了一種通過對區(qū)域八方向 極值點進行篩選來提取矩形區(qū)域質(zhì)心的方法,并結(jié)合幀 差法和角度法進行指針式儀表的讀數(shù)識別。實驗結(jié)果 表明該質(zhì)心提取方法能夠以較低的時間消耗有效地修 正殘缺指針質(zhì)心偏移,系統(tǒng)整體方案可以獲得良好的讀 數(shù)識別效果。盡管該方案針對性強,它仍能夠給類似應(yīng) 用帶來借鑒。而且基于區(qū)域極值點的質(zhì)心提取方法也 可以被應(yīng)用于其他對近似矩形區(qū)域進行檢測和定位的 案例。
上一篇:壓力表檢定不容忽視的幾個問題