徐 馳,孫長庫*,王 鵬,賈偉廣
(1.天津大學精密測試技術及儀器國家重點實驗室,天津 300072;2.國家海洋標準計量中心,天津 300112)
在實際應用中,液位測量是一個普遍的測量任務,比如用于模仿海浪形態(tài)檢定浮子的驗潮儀,城市給排水系統(tǒng)水塔的水位監(jiān)視等。傳統(tǒng)的液位測量方法有微波式[1]、電容式、超聲波式、差壓式和電導式[2]等。電容式[3]方法受到測量范圍的限制,同時要求被測液體具有導電性;超聲波[4]式方法在測量過程中容易受到環(huán)境因素的影響而降低回波的信噪比,降低測量精度;差壓式[5]方法要求被測液體密度相對穩(wěn)定,負向導壓管內靜壓力要基本恒定,正負導壓管內不能有任何結晶堵塞,嚴格限制了該方法的應用范圍。
近幾年隨著計算機視覺理論的不斷發(fā)展和成熟,視覺測量方法[6]被廣泛應用到高精度、非接觸式、測量中,其中的模式識別方法發(fā)展速度尤為明顯。模板匹配[7-8]方法以其速度快、適應性強的優(yōu)點成為較為理想的模式識別方法。模板匹配[9]就是在一幅目標圖像中根據已知模板搜索相匹配的子圖像的過程,主要包括兩個過程:計算目標圖像中子圖與模板的相似度以及根據各點的匹配相似度搜索出最佳匹配位置,國內外學者相應地提出了很多計算相似度的方法以及搜索最佳匹配點的方法[10-11]。
本文利用NCC模板匹配方法識別鋼尺的刻度值,結合鋼尺圖像的灰度特征和鋼尺的結構特征確定鋼尺的刻線位置,利用水管圖像的灰度特征識別液位的位置,根據測得的液位位置反饋控制電機,使電機帶動CCD相機實時跟隨液位進行測量。
系統(tǒng)整體方案如圖1所示,封閉的水罐和塑制測量管組成連通器,通過檢測測量管管內的水位即可測得水罐內的水位;控制系統(tǒng)根據實測的水位位置控制電機,實現自動跟蹤測量,整體過程為:首先電機帶動CCD相機沿導軌運動到初始測量位置獲取水管和鋼尺圖像,然后對圖像進行區(qū)域分割,確定出鋼尺區(qū)域,接下來進行二值化預處理,識別鋼尺上的數字刻度值,然后識別出鋼尺上的刻線位置并確定每一條刻線對應的高度值,最后確定出測量管內水位的位置,控制系統(tǒng)根據水位的位置調整電機位置,使水位的像素位置保持在屏幕的固定區(qū)域,最終完成一次測量。同時為了能夠在光照條件較差環(huán)境下完成測量任務,該系統(tǒng)在鏡頭前方安裝了環(huán)形LED光源,可以比較明顯的改善弱光照環(huán)境。

圖1 系統(tǒng)整體方案
相機采集的圖像如圖2所示,測量原理如圖3所示,ν0是水位的像素位置,ν1、ν2是距離 ν最近的刻線的像素位置,n1、n2是刻線 ν1、ν2對應的高度值,通過ν1和ν2將兩條刻線間的空白區(qū)域依據像素進行細分,然后根據式(1)計算出水位高度h。


圖2 水管和鋼尺圖像

圖3 測量原理圖
為了提高刻度識別速度,模板匹配過程只在鋼尺區(qū)域中搜索子圖,因此需要確定出鋼尺區(qū)域。從圖2中可以看出鋼尺區(qū)域的灰度水平處在整幅圖像低灰度區(qū)域,因此在鋼尺區(qū)域的邊緣處會有明顯的灰度跳變,利用這個特征可以識別出鋼尺區(qū)域。
假定鋼尺寬度為d,圖像灰度用f(i,j)表示,圖像大小為M×N,選定圖像的任一行按照式(2)得到Gm,找出Gm的最小值所對應的m便是鋼尺的左邊緣L,從而確定了鋼尺區(qū)域。

在計算相關因子過程中有大量的乘法計算,因為計算機對零的乘法運算所需時間很少[12],因此在匹配前對鋼尺區(qū)域做二值化處理,然后利用二值化后的圖像制作模板,完成后續(xù)識別,可以大幅度的提高算法的運算速度。
圖4是鋼尺刻度區(qū)域的灰度直方圖,此灰度直方圖呈雙峰形狀[13],因此鋼尺的刻度和背景在灰度級上有著明顯的區(qū)別,利用全局閾值法確定二值化閾值。

圖4 刻度值附近灰度直方圖
2.3.1 選擇相關因子
目前模板匹配中常用的相關因子有SSD(Sum of Squared Difference)因子、SAD(Sum of Absolute Difference)因子、ZSAD(zero mean SAD)因子和NCC(Normalized Cross Correlation)因子[14-15]。假定在圖像f(i,j)中依據大小為Mt×Nt的模板t(i,j)進行匹配,利用式(3)計算NCC相關因子。

NCC因子在實際應用過程中有著更好的魯棒性,本文選擇了NCC因子作為模板匹配相關因子,圖5 是刻度“155”分別與模板“0”“1”“5”匹配后的相關因子曲線,NCC因子值越大,表示匹配程度越好。

圖5 刻度“155”的NCC相關因子曲線
2.3.2 搜索最佳匹配位置
以識別刻度“155”中的“5”為例,由于存在兩個待識別位置,圖5(c),因此如果僅以搜索相關因子的最大值為依據確定最佳匹配點位置并不能完成識別任務。為此本文提出如下鋼尺刻度識別算法:
(1)根據NCC相關因子判斷是否有匹配點:找出NCC相關因子的最大值 NCCmax,如果 NCCmax>Rmax(在實驗中Rmax取值為0.65),確定候選匹配點的相關因子范圍[NCCmax-δ,NCCmax](δ在實驗中取0.1),否則進行下一個數字的識別。
(2)確定候選匹配點集P{pt[xya]}(α 是(x,y)點處的相關因子值):對所有的匹配點進行遍歷搜索,選擇 α∈[NCCmax-δ,NCCmax]的點為候選匹配點。
(3)確定最佳匹配點。將候選匹配點集P按照α值從大到小進行排序,剔除與P1的y值相差小于σ的匹配點(σ是刻度值每兩個數字間的像素距離,實驗中取為30),同時選擇P1為最佳匹配點集Q{pt[xy]}中的元素,然后對除P1以外的新的候選匹配點集P重復(3)尋找下一個最佳匹配點。
(4)根據最佳匹配點集Q{pt[xy]}得出刻度值。將Q{pt[xy]}按照y值從大到小進行排序,y值從大到小依次對應刻度值的百位、十位和個位,完成刻度識別。
鋼尺上的刻線和背景有著明顯的灰度差異,在刻線處,灰度由高到低,再由低到高連續(xù)跳變兩次,通過確定灰度突變的位置確定鋼尺的刻線。具體算法如下:
首先依據式(4)對§3.1中確定出的鋼尺區(qū)域做求和運算,假定D為求和區(qū)域寬度,L為鋼尺左邊緣,如圖6所示。


圖6 求和區(qū)域示意圖
然后對MI進行差分運算得到DI(圖7),找出所有大于DI均值的DI;
最后依據各個DI之間I>10的原則剔除不滿足條件的DI,得到刻線點集K{pt[xy]},其中y取DI中的I值,x取鋼尺左邊緣L。

圖7 DI曲線和DI均值
首先確定按照y值從大到小排好序的最佳匹配點集Q{pt[xy]}的中間點Qm:

其中Q1和QN是Q{pt[xy]}中的第一點和最后一點;
然后在點集K{pt[xy]}找到距離Qm的最近刻線點,便確定出了與刻度值對應的長刻線。
為了提高算法的運算速度,首先在確定出鋼尺的區(qū)域基礎上識別出水管區(qū)域:
(1)對區(qū)域 φ={(x,y)|0<x<L,0<y<N}(L是鋼尺左邊緣,N是整幅圖像的高度)按照式(5)進行列掃描;

(2)對XI做差分運算,找到XI的梯度位置,對應的I便是水管的左邊緣J。
為了提高水位識別精度,減少誤識別的情況,實驗過程中在水管中加入了一個浮子(如圖2所示),用來增強水位和背景的灰度區(qū)分度。由于像素灰度值在浮子區(qū)域處急劇跳變,因此通過確定出此跳變位置便可以確定出浮子位置。
首先依據式(6)在水管區(qū)域中進行灰度求和運算,假定水管區(qū)域寬度為w,浮子大小為m×w。

其中I=0,1,2,…,N-m+1
J是水管的左邊緣
然后對LevelI做差分運算,找到LevelI的梯度位置I,便確定了水位位置。
本文在Visual C++平臺上實現了算法并對系統(tǒng)進行了測試,實驗中的水罐高10 m,電機可以帶動相機沿導軌運動,完成0 m~10 m的測量任務,同時為了防止由于時間長,鋼尺生銹等原因,引起鋼尺刻度、刻線模糊,導致測量精度下降,在實際應用中,對鋼尺進行了鍍膜處理,并且采取定期清洗措施。圖8是刻度“155”處的實驗結果,圖8(a)中綠線內部是算法確定出的鋼尺區(qū)域,圖8(b)是鋼尺區(qū)域二值化后的結果,圖8(c)中的紅線框內是刻度識別后結果,圖8(d)顯示了鋼尺的刻線識別結果,紅線對應的短刻線,藍線對應的是長刻線,圖8(e)是測量管內液位的識別結果,紅線顯示出了測量管內每一行的灰度梯度情況,梯度最大的位置對應了液位。圖9是在固定水位處連續(xù)測量24次的數據結果,水位顯示值的平均值為1 531.67 mm,標準差為0.06 mm。

圖8 “155”刻度處測量效果圖

圖9 1 531.6 mm處測量結果
本文設計了一套以CCD攝像頭采集得到的液位和鋼尺圖像為基礎,以視覺檢測方法為測量手段的高精度、大范圍的實時跟蹤快速液位測量系統(tǒng),該測量系統(tǒng)具有非接觸測量、抗干擾能力強的特點,可以被廣泛應用在工業(yè)環(huán)境中的液位測量需要中。
[1]齊國清,賈欣樂.高精度液位測量系統(tǒng)[J].電子測量與儀器學報,1999,6:56-60.
[2]衛(wèi)開夏,李斌,朱信誠.導電性液體新型液位測量方法研究及應用[J].電子測量與儀器學報,2010,10:964-968.
[3]鐘偉,葛召炎,秦康,等.基于電容柵編碼傳感器的液位測量系統(tǒng)[J].儀表技術與傳感器,2010,8:9-11.
[4]王超,潘瑋華,劉蘇儀,等.一種超聲波液位測量儀的設計方案[J].南京師范大學學報,2010,3:44-46.
[5]于香波,張小葉,馬俊紅.差壓式液位計在易揮發(fā)介質中的液位測量[J].化工文摘,2005,4:55-56.
[6]韓賀磊,李劍中,馮剛.基于計算機視覺的玻璃制品在線分類識別[J].儀器儀表學報,2006,6:777-778.
[7]安博文,李丹,龐然.基于邊界模板匹配算法的集裝箱箱號識別[J].科學技術與工程,2010,10(16):4043-4048.
[8]邱立可,王曉年,朱勁,等.基于模板匹配和Tesseract的票據歸類和索引[J].計算機與現代化,2010,7:132-135.
[9]關宇東,楊琳,吳萍萍,等.基于圖像處理的變造幣識別技術[J].儀器儀表學報,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].計算機應用,2010,6(6):1559-1564.
[12]孫曉玲,侯德文,儲凡靜.基于灰度積分投影和模板方法的人眼定位[J].信息技術與信息化,2007,32(4):74-76.
[13]高潮,常永鑫,郭永彩.機械工件數字識別的二值化算法研究[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.