徐 馳,孫長庫*,王 鵬,賈偉廣
(1.天津大學(xué)精密測試技術(shù)及儀器國家重點(diǎn)實(shí)驗(yàn)室,天津 300072;2.國家海洋標(biāo)準(zhǔn)計(jì)量中心,天津 300112)
在實(shí)際應(yīng)用中,液位測量是一個普遍的測量任務(wù),比如用于模仿海浪形態(tài)檢定浮子的驗(yàn)潮儀,城市給排水系統(tǒng)水塔的水位監(jiān)視等。傳統(tǒng)的液位測量方法有微波式[1]、電容式、超聲波式、差壓式和電導(dǎo)式[2]等。電容式[3]方法受到測量范圍的限制,同時要求被測液體具有導(dǎo)電性;超聲波[4]式方法在測量過程中容易受到環(huán)境因素的影響而降低回波的信噪比,降低測量精度;差壓式[5]方法要求被測液體密度相對穩(wěn)定,負(fù)向?qū)汗軆?nèi)靜壓力要基本恒定,正負(fù)導(dǎo)壓管內(nèi)不能有任何結(jié)晶堵塞,嚴(yán)格限制了該方法的應(yīng)用范圍。
近幾年隨著計(jì)算機(jī)視覺理論的不斷發(fā)展和成熟,視覺測量方法[6]被廣泛應(yīng)用到高精度、非接觸式、測量中,其中的模式識別方法發(fā)展速度尤為明顯。模板匹配[7-8]方法以其速度快、適應(yīng)性強(qiáng)的優(yōu)點(diǎn)成為較為理想的模式識別方法。模板匹配[9]就是在一幅目標(biāo)圖像中根據(jù)已知模板搜索相匹配的子圖像的過程,主要包括兩個過程:計(jì)算目標(biāo)圖像中子圖與模板的相似度以及根據(jù)各點(diǎn)的匹配相似度搜索出最佳匹配位置,國內(nèi)外學(xué)者相應(yīng)地提出了很多計(jì)算相似度的方法以及搜索最佳匹配點(diǎn)的方法[10-11]。
本文利用NCC模板匹配方法識別鋼尺的刻度值,結(jié)合鋼尺圖像的灰度特征和鋼尺的結(jié)構(gòu)特征確定鋼尺的刻線位置,利用水管圖像的灰度特征識別液位的位置,根據(jù)測得的液位位置反饋控制電機(jī),使電機(jī)帶動CCD相機(jī)實(shí)時跟隨液位進(jìn)行測量。
系統(tǒng)整體方案如圖1所示,封閉的水罐和塑制測量管組成連通器,通過檢測測量管管內(nèi)的水位即可測得水罐內(nèi)的水位;控制系統(tǒng)根據(jù)實(shí)測的水位位置控制電機(jī),實(shí)現(xiàn)自動跟蹤測量,整體過程為:首先電機(jī)帶動CCD相機(jī)沿導(dǎo)軌運(yùn)動到初始測量位置獲取水管和鋼尺圖像,然后對圖像進(jìn)行區(qū)域分割,確定出鋼尺區(qū)域,接下來進(jìn)行二值化預(yù)處理,識別鋼尺上的數(shù)字刻度值,然后識別出鋼尺上的刻線位置并確定每一條刻線對應(yīng)的高度值,最后確定出測量管內(nèi)水位的位置,控制系統(tǒng)根據(jù)水位的位置調(diào)整電機(jī)位置,使水位的像素位置保持在屏幕的固定區(qū)域,最終完成一次測量。同時為了能夠在光照條件較差環(huán)境下完成測量任務(wù),該系統(tǒng)在鏡頭前方安裝了環(huán)形LED光源,可以比較明顯的改善弱光照環(huán)境。
圖1 系統(tǒng)整體方案
相機(jī)采集的圖像如圖2所示,測量原理如圖3所示,ν0是水位的像素位置,ν1、ν2是距離 ν最近的刻線的像素位置,n1、n2是刻線 ν1、ν2對應(yīng)的高度值,通過ν1和ν2將兩條刻線間的空白區(qū)域依據(jù)像素進(jìn)行細(xì)分,然后根據(jù)式(1)計(jì)算出水位高度h。
圖2 水管和鋼尺圖像
圖3 測量原理圖
為了提高刻度識別速度,模板匹配過程只在鋼尺區(qū)域中搜索子圖,因此需要確定出鋼尺區(qū)域。從圖2中可以看出鋼尺區(qū)域的灰度水平處在整幅圖像低灰度區(qū)域,因此在鋼尺區(qū)域的邊緣處會有明顯的灰度跳變,利用這個特征可以識別出鋼尺區(qū)域。
假定鋼尺寬度為d,圖像灰度用f(i,j)表示,圖像大小為M×N,選定圖像的任一行按照式(2)得到Gm,找出Gm的最小值所對應(yīng)的m便是鋼尺的左邊緣L,從而確定了鋼尺區(qū)域。
在計(jì)算相關(guān)因子過程中有大量的乘法計(jì)算,因?yàn)橛?jì)算機(jī)對零的乘法運(yùn)算所需時間很少[12],因此在匹配前對鋼尺區(qū)域做二值化處理,然后利用二值化后的圖像制作模板,完成后續(xù)識別,可以大幅度的提高算法的運(yùn)算速度。
圖4是鋼尺刻度區(qū)域的灰度直方圖,此灰度直方圖呈雙峰形狀[13],因此鋼尺的刻度和背景在灰度級上有著明顯的區(qū)別,利用全局閾值法確定二值化閾值。
圖4 刻度值附近灰度直方圖
2.3.1 選擇相關(guān)因子
目前模板匹配中常用的相關(guān)因子有SSD(Sum of Squared Difference)因子、SAD(Sum of Absolute Difference)因子、ZSAD(zero mean SAD)因子和NCC(Normalized Cross Correlation)因子[14-15]。假定在圖像f(i,j)中依據(jù)大小為Mt×Nt的模板t(i,j)進(jìn)行匹配,利用式(3)計(jì)算NCC相關(guān)因子。
NCC因子在實(shí)際應(yīng)用過程中有著更好的魯棒性,本文選擇了NCC因子作為模板匹配相關(guān)因子,圖5 是刻度“155”分別與模板“0”“1”“5”匹配后的相關(guān)因子曲線,NCC因子值越大,表示匹配程度越好。
圖5 刻度“155”的NCC相關(guān)因子曲線
2.3.2 搜索最佳匹配位置
以識別刻度“155”中的“5”為例,由于存在兩個待識別位置,圖5(c),因此如果僅以搜索相關(guān)因子的最大值為依據(jù)確定最佳匹配點(diǎn)位置并不能完成識別任務(wù)。為此本文提出如下鋼尺刻度識別算法:
(1)根據(jù)NCC相關(guān)因子判斷是否有匹配點(diǎn):找出NCC相關(guān)因子的最大值 NCCmax,如果 NCCmax>Rmax(在實(shí)驗(yàn)中Rmax取值為0.65),確定候選匹配點(diǎn)的相關(guān)因子范圍[NCCmax-δ,NCCmax](δ在實(shí)驗(yàn)中取0.1),否則進(jìn)行下一個數(shù)字的識別。
(2)確定候選匹配點(diǎn)集P{pt[xya]}(α 是(x,y)點(diǎn)處的相關(guān)因子值):對所有的匹配點(diǎn)進(jìn)行遍歷搜索,選擇 α∈[NCCmax-δ,NCCmax]的點(diǎn)為候選匹配點(diǎn)。
(3)確定最佳匹配點(diǎn)。將候選匹配點(diǎn)集P按照α值從大到小進(jìn)行排序,剔除與P1的y值相差小于σ的匹配點(diǎn)(σ是刻度值每兩個數(shù)字間的像素距離,實(shí)驗(yàn)中取為30),同時選擇P1為最佳匹配點(diǎn)集Q{pt[xy]}中的元素,然后對除P1以外的新的候選匹配點(diǎn)集P重復(fù)(3)尋找下一個最佳匹配點(diǎn)。
(4)根據(jù)最佳匹配點(diǎn)集Q{pt[xy]}得出刻度值。將Q{pt[xy]}按照y值從大到小進(jìn)行排序,y值從大到小依次對應(yīng)刻度值的百位、十位和個位,完成刻度識別。
鋼尺上的刻線和背景有著明顯的灰度差異,在刻線處,灰度由高到低,再由低到高連續(xù)跳變兩次,通過確定灰度突變的位置確定鋼尺的刻線。具體算法如下:
首先依據(jù)式(4)對§3.1中確定出的鋼尺區(qū)域做求和運(yùn)算,假定D為求和區(qū)域?qū)挾龋琇為鋼尺左邊緣,如圖6所示。
圖6 求和區(qū)域示意圖
然后對MI進(jìn)行差分運(yùn)算得到DI(圖7),找出所有大于DI均值的DI;
最后依據(jù)各個DI之間I>10的原則剔除不滿足條件的DI,得到刻線點(diǎn)集K{pt[xy]},其中y取DI中的I值,x取鋼尺左邊緣L。
圖7 DI曲線和DI均值
首先確定按照y值從大到小排好序的最佳匹配點(diǎn)集Q{pt[xy]}的中間點(diǎn)Qm:
其中Q1和QN是Q{pt[xy]}中的第一點(diǎn)和最后一點(diǎn);
然后在點(diǎn)集K{pt[xy]}找到距離Qm的最近刻線點(diǎn),便確定出了與刻度值對應(yīng)的長刻線。
為了提高算法的運(yùn)算速度,首先在確定出鋼尺的區(qū)域基礎(chǔ)上識別出水管區(qū)域:
(1)對區(qū)域 φ={(x,y)|0<x<L,0<y<N}(L是鋼尺左邊緣,N是整幅圖像的高度)按照式(5)進(jìn)行列掃描;
(2)對XI做差分運(yùn)算,找到XI的梯度位置,對應(yīng)的I便是水管的左邊緣J。
為了提高水位識別精度,減少誤識別的情況,實(shí)驗(yàn)過程中在水管中加入了一個浮子(如圖2所示),用來增強(qiáng)水位和背景的灰度區(qū)分度。由于像素灰度值在浮子區(qū)域處急劇跳變,因此通過確定出此跳變位置便可以確定出浮子位置。
首先依據(jù)式(6)在水管區(qū)域中進(jìn)行灰度求和運(yùn)算,假定水管區(qū)域?qū)挾葹閣,浮子大小為m×w。
其中I=0,1,2,…,N-m+1
J是水管的左邊緣
然后對LevelI做差分運(yùn)算,找到LevelI的梯度位置I,便確定了水位位置。
本文在Visual C++平臺上實(shí)現(xiàn)了算法并對系統(tǒng)進(jìn)行了測試,實(shí)驗(yàn)中的水罐高10 m,電機(jī)可以帶動相機(jī)沿導(dǎo)軌運(yùn)動,完成0 m~10 m的測量任務(wù),同時為了防止由于時間長,鋼尺生銹等原因,引起鋼尺刻度、刻線模糊,導(dǎo)致測量精度下降,在實(shí)際應(yīng)用中,對鋼尺進(jìn)行了鍍膜處理,并且采取定期清洗措施。圖8是刻度“155”處的實(shí)驗(yàn)結(jié)果,圖8(a)中綠線內(nèi)部是算法確定出的鋼尺區(qū)域,圖8(b)是鋼尺區(qū)域二值化后的結(jié)果,圖8(c)中的紅線框內(nèi)是刻度識別后結(jié)果,圖8(d)顯示了鋼尺的刻線識別結(jié)果,紅線對應(yīng)的短刻線,藍(lán)線對應(yīng)的是長刻線,圖8(e)是測量管內(nèi)液位的識別結(jié)果,紅線顯示出了測量管內(nèi)每一行的灰度梯度情況,梯度最大的位置對應(yīng)了液位。圖9是在固定水位處連續(xù)測量24次的數(shù)據(jù)結(jié)果,水位顯示值的平均值為1 531.67 mm,標(biāo)準(zhǔn)差為0.06 mm。
圖8 “155”刻度處測量效果圖
圖9 1 531.6 mm處測量結(jié)果
本文設(shè)計(jì)了一套以CCD攝像頭采集得到的液位和鋼尺圖像為基礎(chǔ),以視覺檢測方法為測量手段的高精度、大范圍的實(shí)時跟蹤快速液位測量系統(tǒng),該測量系統(tǒng)具有非接觸測量、抗干擾能力強(qiáng)的特點(diǎn),可以被廣泛應(yīng)用在工業(yè)環(huán)境中的液位測量需要中。
[1]齊國清,賈欣樂.高精度液位測量系統(tǒng)[J].電子測量與儀器學(xué)報,1999,6:56-60.
[2]衛(wèi)開夏,李斌,朱信誠.導(dǎo)電性液體新型液位測量方法研究及應(yīng)用[J].電子測量與儀器學(xué)報,2010,10:964-968.
[3]鐘偉,葛召炎,秦康,等.基于電容柵編碼傳感器的液位測量系統(tǒng)[J].儀表技術(shù)與傳感器,2010,8:9-11.
[4]王超,潘瑋華,劉蘇儀,等.一種超聲波液位測量儀的設(shè)計(jì)方案[J].南京師范大學(xué)學(xué)報,2010,3:44-46.
[5]于香波,張小葉,馬俊紅.差壓式液位計(jì)在易揮發(fā)介質(zhì)中的液位測量[J].化工文摘,2005,4:55-56.
[6]韓賀磊,李劍中,馮剛.基于計(jì)算機(jī)視覺的玻璃制品在線分類識別[J].儀器儀表學(xué)報,2006,6:777-778.
[7]安博文,李丹,龐然.基于邊界模板匹配算法的集裝箱箱號識別[J].科學(xué)技術(shù)與工程,2010,10(16):4043-4048.
[8]邱立可,王曉年,朱勁,等.基于模板匹配和Tesseract的票據(jù)歸類和索引[J].計(jì)算機(jī)與現(xiàn)代化,2010,7:132-135.
[9]關(guān)宇東,楊琳,吳萍萍,等.基于圖像處理的變造幣識別技術(shù)[J].儀器儀表學(xué)報,2007,10:1852-1856.
[10]Li Hao,Duan Hai-Bin,Zhang Xiang-Yin.A Novel Image Template Matching Based on Particle Filtering Optimization[J].Pattern Recogniton Letters,2010(31):1825-1832.
[11]唐琎,李青.一種快速的模板匹配算法[J].計(jì)算機(jī)應(yīng)用,2010,6(6):1559-1564.
[12]孫曉玲,侯德文,儲凡靜.基于灰度積分投影和模板方法的人眼定位[J].信息技術(shù)與信息化,2007,32(4):74-76.
[13]高潮,常永鑫,郭永彩.機(jī)械工件數(shù)字識別的二值化算法研究[J].光電工程,2010,6(6):1-5.
[14]Lewis J P.Fast Template Matching[C]//Vision Interface,1995:120-123.
[15]Zhao Feng,HuangQing-ming,GaoWen.ImageMatchingby Normalized Cross-Correlation[C]//IEEE International Conference on Acoustics Speed and Signal Processing Proceedings,2006:729-732.