林柯楠, 莊 園, 黃詠梅
(中國計量大學(xué) 計量測試工程學(xué)院,浙江 杭州 310018)
水表在人們?nèi)粘I钣盟康挠嬃恐衅鹬陵P(guān)重要的作用,機(jī)械水表目前是我國普及最廣的水表。機(jī)械水表檢定最重要的工作就是水表示值誤差的檢定,該檢定需要準(zhǔn)確讀取水表讀數(shù)。機(jī)械水表大都沒有電信號輸出,需要通過人工進(jìn)行讀數(shù),存在讀取誤差大,檢定效率低,勞動強(qiáng)度高等問題。目前對水表讀數(shù)的研究很多集中在指針讀數(shù)上,通過圖像處理識別水表指針獲得讀數(shù)[1~7],但在小流量檢定時存在耗時長、檢定效率低等問題。梅花轉(zhuǎn)子是水表的最小計量單位,目前采用的主要方法有激光測量法[8]和機(jī)器視覺法[9~11]。激光測量法是利用梅花轉(zhuǎn)子轉(zhuǎn)動時對入射激光的反射,通過反射信號處理得到梅花轉(zhuǎn)子轉(zhuǎn)數(shù)。機(jī)器視覺法是利用模板匹配技術(shù)定位梅花指針進(jìn)行計數(shù),相比激光反射計數(shù)法檢定準(zhǔn)確度更高,但不同生產(chǎn)廠家生產(chǎn)的水表梅花指針齒數(shù)及形狀不同,需要有不同的模板和參數(shù),增加了復(fù)雜性。
本文提出了一種基于機(jī)器視覺技術(shù)的水表小流量檢定方法。以圖像疊加方法為基礎(chǔ),通過梅花轉(zhuǎn)子圖像獲取被檢表的指示體積。該方法可有效利用梅花轉(zhuǎn)子區(qū)域整體圖像,減小氣泡或臟污影響,提高水表檢定準(zhǔn)確性,縮短檢定時間。
通過工業(yè)相機(jī)以自適應(yīng)的采樣頻率采集梅花轉(zhuǎn)子圖像,選擇檢定起始時梅花轉(zhuǎn)子所在位置為參考位置,對應(yīng)圖像為初始幀,利用圖像疊加的方法令后續(xù)每一幀的圖像在初始幀圖像的背景上進(jìn)行疊加并二值化,計算圖像中黑色點占比的大小繪制出曲線圖,用可變閾值對曲線圖進(jìn)行二值化處理,通過雙計時原理計算檢定時間內(nèi)梅花轉(zhuǎn)子轉(zhuǎn)過的齒數(shù);利用梅花轉(zhuǎn)子脈沖當(dāng)量得到該段時間內(nèi)被檢水表的指示體積。
工業(yè)相機(jī)對準(zhǔn)水表表盤中梅花轉(zhuǎn)子區(qū)域進(jìn)行攝像,初始獲取的圖像是彩色的,為方便后續(xù)處理,對每個像素點的3個分量R、G、B求平均得到該點的灰度值。為了得到轉(zhuǎn)子轉(zhuǎn)動后圖像的明暗變化,對圖像進(jìn)行二值化處理,處理后的圖像各個像素點只有2個像素值0和255,分別代表黑色和白色,黑色像素點所在位置代表梅花轉(zhuǎn)子。為正確識別梅花轉(zhuǎn)子,減小其周圍的氣泡及臟污等干擾因素,采用式(1)計算圖像的二值化閾值T:
(1)
式中:Tmax為梅花轉(zhuǎn)子視場最大灰度值;Tmin為梅花轉(zhuǎn)子視場內(nèi)最小灰度值。
圖像疊加方法是以檢定起始相機(jī)獲取的初始幀二值化后的圖像為背景,后續(xù)獲取的每一幀二值化后的圖像在此背景上做疊加處理,初始幀和當(dāng)前幀圖像中黑色部分都體現(xiàn)在疊加后的圖像中。圖像疊加規(guī)則如表1所示,即只要該點像素值大小在背景圖或在當(dāng)前幀圖像至少有一個為0,則疊加后的該點像素值大小為0。若該點像素值大小在背景圖或在當(dāng)前幀圖像均為255,則疊加后的該點像素值大小為255。通過對每個像素點進(jìn)行疊加處理,再將疊加后的新數(shù)組轉(zhuǎn)化成新的圖像即可得到疊加后的圖像。
表1 每個圖像點像素值疊加規(guī)則Tab.1 Pixel value overlap rule of each point
依據(jù)疊加原理,疊加八齒梅花轉(zhuǎn)子圖像,梅花轉(zhuǎn)子初始幀、當(dāng)前幀和疊加后的圖像如圖1所示。
圖1 梅花轉(zhuǎn)子圖像疊加示意圖Fig.1 Image overlap of the plum blossom rotor
在實際檢定過程中,梅花轉(zhuǎn)子轉(zhuǎn)動疊加后如圖2所示。因為圖像的疊加使得轉(zhuǎn)動不同時刻的梅花轉(zhuǎn)子疊加后黑色區(qū)域大小不同。當(dāng)水表轉(zhuǎn)動角度為每齒角度的1/2時,圖像內(nèi)黑色區(qū)域最多;當(dāng)水表轉(zhuǎn)動角度為每齒角度時,兩幅圖像的梅花轉(zhuǎn)子剛好重疊,故黑色區(qū)域最少??梢?當(dāng)轉(zhuǎn)子轉(zhuǎn)動角度從0度到每齒角度的1/2時,圖像黑色區(qū)域占比呈上升趨勢;當(dāng)轉(zhuǎn)子繼續(xù)轉(zhuǎn)動到1個齒位置,圖像黑色區(qū)域呈下降趨勢。
圖2 轉(zhuǎn)子轉(zhuǎn)動后的疊加圖Fig.2 Image overlap of the rotor after rotation
因此,可以根據(jù)圖像內(nèi)黑色區(qū)域占比的變化規(guī)律來計算梅花轉(zhuǎn)子轉(zhuǎn)過的齒數(shù)。圖像中黑色區(qū)域即為圖像中黑色像素點的個數(shù),A為黑點占比為:
(2)
式中:N為黑點個數(shù);x為疊加區(qū)域橫向像素點個數(shù);y為疊加區(qū)域縱向像素點個數(shù)。
以黑點占比個數(shù)的大小為y軸,檢定時間為x軸繪制xy的曲線,該曲線是一條先增大后減小的周期曲線,如圖3所示。
圖3 疊加后的圖像中黑點占比大小曲線Fig.3 The percent of the black dots in the image after rotation
由圖3可知,曲線變化一個周期對應(yīng)著梅花轉(zhuǎn)子剛好轉(zhuǎn)過一齒,所以對其轉(zhuǎn)動總齒數(shù)的計算即為對曲線中增大至減小周期個數(shù)的計算。為方便計算周期個數(shù),對曲線進(jìn)行二值化處理。為了降低檢定過程中環(huán)境光源變化、氣泡位置變化等因素的影響,取疊加后所有黑點占比大小的平均值為二值化閾值。若該幀疊加后圖像黑點占比大于閾值則為1,反之則為0,二值化后的圖像如圖4所示。對脈沖進(jìn)行計數(shù),脈沖個數(shù)與梅花轉(zhuǎn)子轉(zhuǎn)過一齒對應(yīng)體積相乘即為檢定時間內(nèi),被檢表的指示體積。
圖4 疊加后黑點占比二值化曲線Fig.4 The binarization curve of percentage of black dots after over lap
傳統(tǒng)計數(shù)方法是在檢定時間內(nèi)記錄整脈沖個數(shù),會出現(xiàn)在梅花轉(zhuǎn)子轉(zhuǎn)動疊加過程中,檢定起止時間與梅花轉(zhuǎn)子脈沖時間不重合導(dǎo)致的漏脈沖現(xiàn)象。故采用雙計時法[12]對梅花轉(zhuǎn)子轉(zhuǎn)過的齒數(shù)進(jìn)行計數(shù)。
假設(shè)檢定時長為T,該段時間內(nèi)整脈沖個數(shù)為N,第1個整脈沖下降沿及第N個脈沖下降沿對應(yīng)的時間間隔為t,計算兩者之間的總脈沖下降沿個數(shù),用式(3)求得檢定時間T內(nèi)的實際脈沖數(shù)NT為:
(3)
相機(jī)是機(jī)器視覺系統(tǒng)的重要組成部分之一,有2個重要的參數(shù):分辨率和幀率。相機(jī)采集的每一張圖像是以幀為單位出現(xiàn)在顯示屏上的,幀率即為每秒顯示的幀數(shù),幀/s,即本系統(tǒng)中的采樣頻率。分辨率為圖像橫縱方向的像素點個數(shù),分辨率越高,圖像越精細(xì)。這2個參數(shù)是相互綁定的,若選擇高分辨率,則對應(yīng)的幀率低;若選擇低分辨率,則對應(yīng)的幀率高。
在流量Q/m3·h-1不變的情況下,被檢水表轉(zhuǎn)子轉(zhuǎn)過一齒對應(yīng)的流量即脈沖當(dāng)量為P,圖3中周期變化曲線的頻率f0如式(4)所示。
(4)
為了能實時采集到對應(yīng)梅花轉(zhuǎn)子轉(zhuǎn)動的輸出周期信號波形,根據(jù)采樣定理,要求采集頻率是信號頻率的2倍??紤]到梅花轉(zhuǎn)子轉(zhuǎn)動后,疊加的圖像呈現(xiàn)增大-減小-增大的周期性變化,在一個周期內(nèi)至少需要采集到4個點才能保證能采集到梅花轉(zhuǎn)子每轉(zhuǎn)過一個齒圖像的變化,因此,相機(jī)的幀率以轉(zhuǎn)子輸出信號的4倍頻確定。故采樣頻率的表達(dá)式為:
(5)
本裝置選用了超光圖像500萬像素工業(yè)相機(jī),該相機(jī)支持多種分辨率和幀率工作,如當(dāng)幀率為124幀/s時分辨率為640×480像素,或幀率為32幀/s時分辨率為1 600×1 200像素。系統(tǒng)可以根據(jù)操作人員預(yù)設(shè)的流量點、水表脈沖當(dāng)量以及梅花轉(zhuǎn)子齒數(shù)的不同,根據(jù)式(5)計算最低采樣頻率要求,選取合適的幀率采集圖像,在滿足最低幀率要求的前提下,選擇更高的分辨率,在視場范圍內(nèi)細(xì)分出更多的點,獲得更加清晰的梅花轉(zhuǎn)子圖像,有效地提高黑點占比大小的分辨力,從而提高梅花轉(zhuǎn)子轉(zhuǎn)動實時位置識別的準(zhǔn)確性。
為了檢驗本梅花轉(zhuǎn)子計數(shù)方法的可行性,對水表進(jìn)行檢定。根據(jù)JJG 162—2009《飲用冷水水表檢定規(guī)程》[13],水表的檢定需要在3個流量點進(jìn)行,分別為常用流量Q3、分界流量Q2、最小流量Q1。在常用流量Q3下檢定可以直接讀取水表讀數(shù),本方法讀取轉(zhuǎn)子轉(zhuǎn)數(shù)主要用于小流量檢定,即分別在最小流量Q1、分界流量Q2兩個流量點進(jìn)行檢定,將檢定時間內(nèi)的標(biāo)準(zhǔn)水量與該段時間內(nèi)被檢表的指示體積進(jìn)行比較,得出示值誤差,與水表檢定規(guī)程規(guī)定的不同等級水表的誤差允許范圍進(jìn)行比較,判斷被檢表是否合格。
實驗裝置結(jié)構(gòu)圖如圖5所示。實驗采用靜態(tài)質(zhì)量法獲取檢定時間內(nèi)的標(biāo)準(zhǔn)體積量。實驗采用的標(biāo)準(zhǔn)裝置稱重箱精度為0.01 kg,在檢定起止,同步控制標(biāo)準(zhǔn)裝置換向器的切換。并用一臺檢定結(jié)果合格,口徑為25 mm,有6齒梅花轉(zhuǎn)子的2級機(jī)械水表作為被檢表,如圖6所示,由圖6可見,在梅花轉(zhuǎn)子附近有氣泡,在檢定過程中,隨著水流過水表,氣泡形狀及位置會發(fā)生變化,影響梅花轉(zhuǎn)子圖像。
圖5 實驗裝置結(jié)構(gòu)圖Fig.5 Experimental device structure
圖6 水表表盤圖Fig.6 Water meter dial
根據(jù)檢定規(guī)程,2級水表在水溫0.1 ℃至30 ℃范圍內(nèi)的最大允許誤差在高區(qū)(Q2≤Q≤Q4)為±2%,低區(qū)(Q1≤Q 圖7 檢定流程Fig.7 Verification process 設(shè)定實際檢定流量為0.041 m3/h及0.064 m3/h,檢定時間分別為20,30,40,50,60,120,180 s各檢定3次取平均值,計算不同檢定時長下被檢表梅花轉(zhuǎn)子機(jī)器視覺計數(shù)示值誤差,結(jié)果如表2所示。 從表2可以看出,本方法結(jié)果與原有檢定報告的誤差均在允許誤差范圍內(nèi)。且在檢定時長為20 s時,與檢定時間180 s相比,檢定結(jié)果差值較小,因此水表在小流量檢定時,本方法可以縮短檢定時間,且可以替代人工讀數(shù)法。同時,從檢定結(jié)果看,在檢定過程中,氣泡的存在雖然會對圖像產(chǎn)生影響,但從表2中的重復(fù)性可以看出,該方法重復(fù)性較好。由于本方法利用圖像疊加后黑白占比的變化進(jìn)行轉(zhuǎn)數(shù)的計數(shù),且二值化閾值自適應(yīng)調(diào)整,因此氣泡對本方法的結(jié)果影響較小。 表2 基于機(jī)器視覺讀數(shù)的水表誤差Tab.2 The water meter error based on machine vision 根據(jù)檢定規(guī)程[13],2級水表一次檢定的用水量不能小于水表最小檢定分格值的200倍。本檢定方法通過對水表最小計量單位梅花轉(zhuǎn)子進(jìn)行識別,獲得的指示體積分辨力更高,因此,可以減小用水量,縮短檢定時間,提高檢定效率。 本文提出了一種基于機(jī)器視覺的水表小流量檢定方法。在檢定過程中,通過對水表表盤梅花轉(zhuǎn)子的轉(zhuǎn)動齒數(shù)進(jìn)行計數(shù)獲取水表指示體積。通過圖像疊加的方法,對梅花轉(zhuǎn)子全部區(qū)域的像素點進(jìn)行統(tǒng)計,繪制其區(qū)域范圍內(nèi)的黑色像素點占比曲線,對曲線二值化并用雙計時法對脈沖計數(shù)得到轉(zhuǎn)動的齒數(shù)。本方法利用了梅花轉(zhuǎn)子全部區(qū)域圖像信息,能對不同形狀和齒數(shù)的梅花轉(zhuǎn)子進(jìn)行計數(shù),且選取全部黑點占比大小的平均值作為曲線二值化的閾值具有平均效應(yīng)。利用本方法對水表進(jìn)行檢定實驗,結(jié)果表明檢定結(jié)果正確,重復(fù)性好,克服了氣泡對梅花轉(zhuǎn)子轉(zhuǎn)數(shù)計數(shù)帶來的影響。本方法在小流量檢定時,通過對梅花轉(zhuǎn)子轉(zhuǎn)動的齒數(shù)進(jìn)行計數(shù),最小檢定分格值減小,可以縮短檢定時間,提高水表檢定的效率,相較于傳統(tǒng)的檢定方法,提高了檢定過程的自動化,減小人工讀數(shù)誤差。5 結(jié) 論