李延海,李星全,申 晉,喬夏菲
測繪信息技術(shù)總站,陜西 西安,710054
?
數(shù)字水準儀應(yīng)用中的條碼圖像匹配識別算法
李延海,李星全,申 晉,喬夏菲
測繪信息技術(shù)總站,陜西 西安,710054
在數(shù)字水準儀條碼標尺定位測量中,標尺條碼圖像的準確識別是實現(xiàn)水準測量的前提。遠距離條碼圖像嚴重模糊,直接利用邊緣檢測條碼識別的方法失效。本文通過頻域物像比求解,利用相對穩(wěn)定的實測條碼條空重心位置與理想光學成像條碼中心位置進行匹配,提出了條碼圖像亞像素匹配識別新算法,有效避免了高空間頻率下信號降晰帶來的邊緣識別難題。實驗表明:本文算法具有較強的抗模糊和抗噪聲能力,實現(xiàn)了視距70m的正確水準測量,達到了較高的測量精度。
數(shù)字水準儀;條碼標尺;圖像匹配;水準測量
數(shù)字水準儀作為高精度幾何水準測量的核心儀器,是集光電技術(shù)、圖像處理技術(shù)和計算機技術(shù)為一體的高科技測繪儀器。它以條碼標尺取代傳統(tǒng)的刻線標尺,以CCD取代肉眼觀測,通過算法進行條碼識別,完成了高度和視距的自動讀數(shù),實現(xiàn)了水準測量自動化。數(shù)字水準儀在大地測繪、水利建設(shè)、工程施工等各個領(lǐng)域中有著廣泛的應(yīng)用,起著至關(guān)重要的作用[1]。條碼識別技術(shù)是數(shù)字水準儀實現(xiàn)自動讀數(shù)的關(guān)鍵,是數(shù)字水準儀生產(chǎn)中的技術(shù)瓶頸。水準測量時,儀器和條碼標尺是分離的,隨著測量視距的加大,條碼密度隨之增加,視距變化從幾米至幾百米,條碼成像的尺度也隨之大范圍變化;加之大氣折射、環(huán)境光線等諸多因素的影響,圖像傳感器采集到的條碼圖像退化嚴重,不但邊緣模糊不清,而且相鄰邊緣的相互疊加使得條碼信號的邊緣出現(xiàn)偏移,條碼識別的難度大大增加[2]。如果直接利用邊緣檢測方法進行條碼識別會出現(xiàn)很大的誤差,甚至失效,根本無法完全滿足高精度水準測量的需求[3]。因此,研究水準儀條碼標尺識別算法關(guān)鍵技術(shù),對加快高精度數(shù)字水準儀產(chǎn)品的國產(chǎn)化進程,推動測繪儀器的數(shù)字化和自動化發(fā)展必將具有十分重要的意義。
目前,國產(chǎn)數(shù)字水準儀采用比較成熟和常用的方法是邊緣檢測法,但由于受制于邊緣難以識別的問題,其在測量精度、識別穩(wěn)定性和對環(huán)境的適應(yīng)能力方面與進口高精度水準儀還存在著一定的差距。為此,本文研究提出了基于條碼圖像匹配的識別算法,用理想條碼條空的中心點與實測條碼重心點進行位置匹配,有效避免了邊緣識別的難題,達到了亞像素的定位精度,提高了條碼的識別穩(wěn)定性和對環(huán)境的適應(yīng)能力,使有效測程達70m,測量精度達到每公里往返標準差優(yōu)于0.5mm,滿足了高精度水準測量的需求。
在數(shù)字水準儀的水準測量中,由于CCD的條碼成像是多尺度的,若實現(xiàn)條碼標尺理想圖像和CCD實測條碼圖像的匹配,則必須先求解出物象比,將條碼標尺圖像按物像比縮放至與CCD實測條碼相同的尺度,計算出理想條碼圖像的條空中點位置;然后計算出實測條碼的條空重心位置,將兩者進行位置匹配,完成標尺高度的粗定位值;最后,由每個條碼的粗定位高度計算其對應(yīng)到視準軸的高度及標尺高度的精定位值,完成數(shù)字水準儀的高度讀數(shù),其流程如圖1所示。
圖1 條碼圖像匹配識別算法流程圖
數(shù)字水準儀的條碼編碼大多為周期性條碼,利用其頻率特性,在頻域用傅里葉變換檢測條碼信號的頻率[4],通過CCD實測條碼信號的特征譜線求解物像比。
像素點為N的條碼圖像信號序列s(n)的離散傅里葉變換為:
(1)
式中,k為信號序列的特征譜線號,若其采樣頻率為ωS,則信號序列對應(yīng)的空間頻率ω為:ω=kωs/N。
假設(shè)碼條間距為ΔL,物像比為d,則通過光學系統(tǒng)在CCD像平面上成像的碼條間距為ΔL/d,其條碼信號對應(yīng)的基頻值ω0為:
ω0=2πd/ΔL
(2)
若CCD的像素寬度為μ,則采樣頻率ωs為:ωs=2π/u.
由式1進行CCD條碼信號離散傅里葉變換,若檢測到特征譜線號為k0,則條碼信號的物理頻率為:
(3)
由式2和3,即可求得物像比:
(4)
若數(shù)字水準儀實際條碼標尺的波谷中心位置為Lt,通過物像比縮放后,則CCD理想條碼信號的波谷中心點位置lt為:
lt(i)=Lt(i)/(d·μ)=i·ΔL/(d·μ)
(5)
波峰中心點位置lp為:
CCD成像實測條碼由于光學系統(tǒng)的模糊作用和相鄰條碼的相互作用,其波峰波谷中心點位置并非其區(qū)間極大值和極小值點。通過實驗分析,波峰波谷區(qū)間的重心位置與其最為接近,因此,采用條空重心法計算實測條碼的峰谷中心點位置[5]。若取波峰或波谷區(qū)間為[a,b],則計算區(qū)間[a,b]內(nèi)所有點的加權(quán)平均值,即可得到準確的條碼信號的波峰波谷的亞像素重心位置 :
(7)
通過條空重心法檢測到實測條碼信號的波峰波谷點位置如圖2所示:
圖2 計算得到的實測條碼條空重心位置
條碼標尺是由一系列寬度不同的碼條按一定的編碼規(guī)則排列組成,當兩個相鄰條碼(黑色區(qū)域)寬度不同時,相應(yīng)的條碼間白色區(qū)域的位置會發(fā)生變化,其中點位置(波峰位置)也會相應(yīng)變化。如圖3所示:
圖3 理想條碼條空中心位置示意圖
當相鄰兩條碼寬度相同時,其波峰位置Lp(i)與Lp(j)相重合;反之,其波峰位置Lp(i+1)、Lp(i+2)與Lp(j+1)、Lp(j+2) 就存在差值。利用這一特性,通過計算實測信號中的所有條碼與相同長度CCD成像的理想條碼信號的方差和,即可確定兩段條碼的匹配程度。
假設(shè)實測信號共檢測到M個波谷點(即M個條碼),波谷點和波峰點分別為st和sp,整個條碼標尺共有N個條碼。若理想CCD條碼信號的波谷點和波峰點分別為lt和lp,則從整個條碼標尺的第1個到第N-M個條碼的方差和,用匹配誤差E表示為:
(8)
其中,i=0,1,2,…,N-M-1。
當實測條碼信號與CCD理想條碼信號處在同一高度時,即其兩段條碼內(nèi)的所有碼條寬度相同時,其匹配誤差E(i)達到最小值Emin:
Emin=min[E(i)]i=0,1,2,…,N-M-1
(9)
理論上,若實測信號的所有波谷和相鄰兩波峰的距離差與理想信號的波谷和相鄰兩波峰的距離差完全相同時,即條碼寬度完全一致時,其方差和為零;但在實際測量中,由于信號噪聲、物像比計算誤差等因素的影響,得到的實測信號峰谷重心點位置和理想信號的條空中點位置都會產(chǎn)生細微的誤差,因而其方差和不可能為零。但方差和越小,則實測信號的所有條碼寬度與此段理想信號對應(yīng)的條碼寬度越接近,即CCD采集到的條碼和理想條碼處于同一段編碼區(qū)域,亦即處于標尺的同一高度。
將CCD實測條碼信號與理想信號按式8算法進行匹配,得到實測條碼信號的匹配誤差E(i),如圖4所示:
圖4 條碼匹配誤差E(i)分布
由上圖可以看出,當實測條碼信號與CCD理想條碼信號處在同一高度時,其匹配誤差E(i)達到最小值(Emin=0.84),當其中有個別或部分條碼寬度不同時,其匹配誤差大大增加。匹配誤差E(i)的次小值為4.02,遠遠大于Emin。因此,依據(jù)最佳匹配位置的CCD理想條碼信號的高度值,可求得實測條碼信號的高度粗值h(i)。
若CCD對應(yīng)于視準軸的像素位置為P,物像比為d,CCD像素大小為μ,則每一個條碼對應(yīng)的視準軸的標尺高度精讀數(shù)H(i):
H(i)=h(i)+(st(i)-P)·d·μi=0,1,2,…,M-1
(10)
(11)
水準測量實驗時,利用螺旋測微器(最小分度值為 0.01mm)調(diào)節(jié)條碼標尺的垂直高度,用本文算法對條碼標尺圖像進行識別和計算,每次將標尺上升ΔH=2.00mm,分別在視距L為30m、50m和70m各進行8次水準測量,計算出水準讀數(shù)h (數(shù)字水準儀水平視線對應(yīng)于條碼標尺的高度),水準測量實驗結(jié)果如表1所示:
表1 水準測量實驗結(jié)果
L=30mL=50mL=70m測量次數(shù)讀數(shù)值h/mm高差△h/mm讀數(shù)值h/mm高差△h/mm讀數(shù)值h/mm高差△h/mm1763.851034.37936.212765.831.981036.432.06938.011.803767.882.051038.351.92939.871.864769.892.011040.362.01942.032.165771.942.051042.442.08944.122.096773.911.971044.492.05945.981.867775.871.961046.421.93947.931.958777.851.981048.512.09949.721.79平均值2.002.021.93標準差0.030.070.15
從水準測量實驗結(jié)果可以看出,當視距為30m時,最大誤差為0.05mm,標準偏差為0.03mm;當視距為50m時,最大誤差為0.09mm,標準偏差為0.07mm;當視距為70m時,最大誤差為0.21mm,標準偏差為0.15mm。該方法具有較好的穩(wěn)定性,達到了較高的測量精度。
在數(shù)字水準儀測量中,由于在中遠距離測量時條碼空間頻率很高,加之光學系統(tǒng)的模糊作用,以及環(huán)境光線、噪聲等諸多因素的影響,圖像傳感器采集到的條碼圖像退化嚴重,增加了條碼識別的難度,從而限制了水準儀的測程和測量精度。將本文算法應(yīng)用于數(shù)字水準儀的水準測量實驗,實現(xiàn)了70m視距的準確識別和讀數(shù),具有較好的穩(wěn)定性,達到了較高的測量精度,完全能夠滿足通用水準測量的需求,對提高數(shù)字水準儀的精度和測量視距范圍有較大的實用價值。
[1]楊俊志,劉宗泉.數(shù)字水準儀的測量原理及其檢定[M].北京:測繪出版社,2005.
[2]姜文龍.電子水準儀在精密水準測量中的應(yīng)用[C].第十三屆華東六省一市測繪學會學術(shù)交流會論文集,2011.
[3]安崗.CCD光學成像系統(tǒng)的點擴散函數(shù)及其在亞像素邊緣定位中的應(yīng)用[D].長春:吉林大學,2008.
[4] Selim Esedoglu. Blind deconvolution of bar code signals[J].Inverse Problems,2004(1):121-135.
[5]甘嵐, 劉寧鐘.基于亞像素邊緣檢測的二維條碼識別[J].計算機工程,2003,29(22):155-157.
Barcode Image Matching Recognition Algorithm in Application of Digital Levels
Li Yanhai,Li Xingquan,Shen Jin,Qiao Xiafei
Technical Division of Surveying and Mapping,Xi’an 710054, China
The accurate recognition of bar code image is the precondition for level measurement in the digital leveling with a barcode ruler. The direct edge detection method fails to detect barcode correctly when the stadia is long. The paper puts forward a new barcode image subpixel matching algorithm through getting the ratio of objects and frequency domain image and using the relatively stable bar-space barycenter position to match the ideal optical imaging barcode center. The algorithm effectively avoids the edge recognition problem caused by high spatial frequency. The experiment shows that the algorithm has a strong resistance to blur and noise immunity, the stadia measuring range is up to 70m and the level measurement achieves a high accuracy.
digital levels; barcode ruler; image matching; level measurement
2015-04-27。
李延海(1976—),男,工程師,主要從事裝備技術(shù)與儀器專業(yè)方面的研究。
P
A