圖像測量是一種采用CCD( 電荷耦合器件) 進行攝像測量的新型光電(diàn)測量技(jì)術, 它是(shì)將CCD器件與(yǔ)光(guāng)學儀器聯用, 應用於測量領(lǐng)域而形成(chéng)的。圖像測量技術是以現代光學為基礎, 融計算機圖像學(xué)、信息處理、計算機視覺、光電子學等科學技術為一體的現代測量技術(shù), 它把被測對(duì)象的圖像當作檢測和傳遞信息的(de)手段, 從中提取有用的信號來獲得待測的(de)參數。
近年, 圖像測量技術在國內外發(fā)展很快, 已廣泛(fàn)應用於幾何量的尺寸測量、航(háng)空遙感(gǎn)測量、精密複雜零件微尺寸測量(liàng)和外觀監測、光波幹涉圖、應力(lì)應變場狀態(tài)分布圖等和圖像有關的技(jì)術領域。本文將圖像測量技術用到零(líng)件尺寸參數的測量之(zhī)中,並(bìng)為(wéi)了提高測(cè)量係統的精度, 提出了一種先在Sobel算子的基(jī)礎上去掉局部非極大值點(diǎn)獲(huò)得象素級邊緣, 進而在梯度方向(xiàng)上(shàng)進行高斯曲線擬合(hé)插(chā)值, 進(jìn)一步(bù)提高(gāo)圖像邊緣定(dìng)位精度, 從而使測量係統精度大大提高的方法。
1 測量係統的構(gòu)成
圖像測量係統是集光學、光電子學(xué)、精(jīng)密機械及計算機技術為一體的(de)綜合係統。高精度零(líng)件(jiàn)尺寸測量係統由CCD攝(shè)像機、圖(tú)像卡、計(jì)算機及圖(tú)像處理軟件(jiàn)等組成, 再加上相(xiàng)應的照明係統、接口(kǒu)硬件, 結構框(kuàng)圖如圖1所示。其工作過程(chéng)為: 將被(bèi)測零件置於盡可能均(jun1)勻照明(míng)的可控背景前, CCD和圖像卡將被測零件圖像采集到計算機裏, 計算機按一定(dìng)的算法計(jì)算出被測物體的幾(jǐ)何(hé)參數, 最後, 計算機對這些數據進行各種處理並將結果按一定的要(yào)求予以顯(xiǎn)示和存儲。
2 測量(liàng)算法
在圖像測量係統(tǒng)中, 圖像邊緣的檢測是整個測量的(de)基礎和關鍵。圖像邊緣檢測精度高, 整個測量係統的精度就(jiù)可大大(dà)提高。零件的輪廓通常產生階(jiē)躍型邊緣, 因為零件的圖像強(qiáng)度不同於背景的圖像強度。對於階躍型邊緣的檢測, Canny算(suàn)子邊緣檢測效(xiào)果(guǒ)比(bǐ)較好, 但算法(fǎ)複雜;Marr提(tí)出用二維高斯加權函數對原始圖像作平滑, 然後檢測二階方(fāng)向導數作為邊緣點, 過濾(lǜ)了噪聲, 但可能將(jiāng)原有的邊緣也給過濾掉了[1] ; 利用Sobel算(suàn)子檢(jiǎn)測邊緣方法簡單, 處理速度快, 得到的邊緣光滑、連續。雖然得到的邊緣較寬, 但(dàn)在其梯度圖像中去除非局部最大值點, 就可以檢測出更精確的邊緣。
為滿足圖像測量的需要, 本文先在Sobel算子的基礎上去掉局部非極大值點獲得象素級邊緣, 進而(ér)在梯度方向上進行高斯曲線擬合插值, 進一(yī)步提高圖(tú)像邊緣定位精度到亞象素級, 從而大大提高測量係統的精度。
2.1 象素級邊緣提取
象素級邊緣提取(qǔ)是指(zhǐ)用象素級的邊緣檢測(cè)算子(zǐ)對目標初步定位, 得(dé)到象素級(jí)精度的定位過程。本文利用Sobel算子, 在梯度方向上去除非局部最大值點, 成功地獲得了(le)象素級邊緣, 取得(dé)了較(jiào)好的效(xiào)果。具體的步驟如下。
( 1) 用Sobel算(suàn)子(zǐ)對去噪後的圖像g( i, j) 進行卷積(jī), 得到卷積圖(tú)像。
( 2) 計算圖像中每(měi)一點的梯度方向值θ, 其計算公式為: θ( i, j) =tan- 1( f ′y / f ′x) , 這樣就(jiù)可以得(dé)到圖像中每一點的梯度方向值。根據離散數字圖像(xiàng)的特點, 將θ分成(chéng)四個方向範(fàn)圍: 0( 水(shuǐ)平方向(xiàng)) : 0°—22.5°以及157.5°—180°; 45( 45方向(xiàng)) : 22.5°—67.5°; 90( 豎直(zhí)方向) : 67.5°—112.5°; 135 ( 135 方向) : 112.5°—157.5°。
( 3) 對梯(tī)度圖像中的所有(yǒu)邊緣點, 在每一點的3×3鄰域中, 將(jiāng)中心象(xiàng)素梯度值與沿梯度(dù)方向的兩個象素梯度值進行比較, 若在鄰域中心處的幅值比(bǐ)沿梯度方(fāng)向上的兩個相鄰點(diǎn)的幅值大, 則此點為邊緣點, 否則, 此點為非邊(biān)緣點, 賦值為0, 從而得到單象素(sù)邊緣圖像。
圖2是利(lì)用(yòng)Sobel算子在改進前後得到的(de)微孔零件圖像的邊緣圖。從圖2中(zhōng)對比結果(guǒ)可以看(kàn)出, 經典(diǎn)Sobel算子獲得的(de)圖像邊緣比較寬, 而利用改進的算子獲得的圖像邊緣較細, 達到了單象素級水平, 取得了比較滿意的效果。
2.2 亞象素邊緣定位(wèi)
圖像邊(biān)緣(yuán)可以精確到一個象素點, 這樣, 邊緣點坐標可以近似地為像元的幾何中(zhōng)心位置。這(zhè)時係統的測量精度由CCD感光部分的像敏元(yuán)間距決定。因此(cǐ), 圖像測(cè)量係統的測量精度, 在不考慮像差等因素的(de)情況下, 主要(yào)取決於CCD攝像機的(de)分辨率。為了提高(gāo)測量係統的精度, 提出了一種概率統計(jì)細分(fèn)方法來提高CCD尺寸測量分辨率, 提出了解(jiě)調測量方(fāng)法來提(tí)高CCD尺寸測量分辨率, 提出(chū)應用概率論方法來提高CCD尺寸測量分辨率, 提出應用多項式(shì)插值函數來提(tí)高CCD尺寸測(cè)量分辨率等等。本文提出在梯度方向(xiàng)上進行(háng)高(gāo)斯曲線擬合插值進一步提高圖像邊緣定(dìng)位的精(jīng)度(dù), 從而使測量係(xì)統的精度大大提(tí)高的方法。
2.2.1 高斯曲線擬合(hé)原理(lǐ)分析
在(zài)圖像邊緣梯度方向(xiàng)上, 灰度梯度呈一個高斯(sī)曲線分布。若用邊(biān)緣檢測(cè)算子直接提(tí)取(qǔ)圖像邊(biān)緣, 則(zé)隻需找出灰度變(biàn)化(huà)最大的象(xiàng)素的坐標就可以了。但是, 灰度變(biàn)化最大(dà)的象素坐標(biāo)不一定是這個高斯曲線的極值點(diǎn), 而且可以說(shuō)往往不是極值點, 如圖3所示, 我們往往認為0位置點就是圖像的邊(biān)緣點, 但從圖中(zhōng)可以很明顯(xiǎn)地看出來, 實際的邊(biān)緣位置點不是0點, 而是xg點。對於一個圖(tú)像測(cè)量係統來說, 若認定0位(wèi)置點就是(shì)我們所要找的邊緣點(diǎn), 這往(wǎng)往達不到係統測量的精度。為了提高係(xì)統測量的精(jīng)度, 必須找到xg點的準確位置, 這可以通過采用亞象素(sù)細分算法來精確(què)定位xg點(diǎn)。在圖3中, 0點的梯度值(zhí)最大設為F0, - 1點和1點的是在梯度方向上緊挨0點的左右兩點, 設它們的梯度值分(fèn)別為F- 1和F1, 通(tōng)過(guò)這三個梯度值擬合出一(yī)條高斯曲線, 然後通(tōng)過求導來取得其極值點, 則對應極值點的坐標點xg即為圖像邊緣的精確定位點。
2.2.2 梯度方向(xiàng)上高斯曲線擬合插值細分算法
通過Sobel算子可以很方便地得到每個邊緣象(xiàng)素點的梯度值和梯度方向值, 根據這兩個值就能夠進行下一步梯度方向上的高(gāo)斯曲線擬合。高斯曲線的表(biǎo)達式為其中(zhōng)u為均值, σ為標準差。直接對此(cǐ)式進行擬
合很困難, 可以把高斯曲線作(zuò)變換, 兩邊取對數, 有下式成立
可以看出上式(shì)形如y=Ax2+Bx+C, 是一條典型對x的二次曲線。這樣就能用取對數(shù)後的值來擬合(hé)出(chū)拋物線, 求(qiú)出頂點坐(zuò)標, 使計算大大簡化。
為了求出梯度方向上二次(cì)曲線的形式, 我們采用曲麵擬(nǐ)合(hé)的觀(guān)念(niàn): 先用一個二元二次多項式(shì)去擬(nǐ)合邊緣點附近鄰域內象素梯(tī)度的對(duì)數值, 得到曲麵擬合(hé)函數, 然後再通過曲麵擬合函數來得到二次曲(qǔ)線形式。通常, 我們利用邊緣點附近3×3鄰域(yù)象(xiàng)素點來計算(suàn)參數, 當然也可以加大區域取點範圍, 這樣求出的曲麵函數(shù)效(xiào)果也比較好。但是, 這會增加檢測時計算的複雜度, 且增加的效果不(bú)是很(hěn)明顯。所以我們(men)通(tōng)常采用邊緣點附近3×3鄰域(yù)象素點來計算參數。
設曲麵擬合函數為:
f( x, y) =k0+k1x+k2y+k3x2+k4xy+k5y2 ( 2)
其中的x, y為象素點的坐標值, f( x, y) 為在(zài)象素(sù)點(diǎn)( x, y) 處梯度大小的對數值。所以, 關鍵是(shì)計算方(fāng)程( 2)中曲麵擬合函數的係數, 可用最小二乘法求出係數k0, k1, ⋯, k5的值, 然後(hòu)運用公式( 4) 就可以求出邊緣點的準確位置。
根據最小二乘原理( 殘差平方和最小) , 有:】
最小化誤差後, 就(jiù)可以求出係數k0, k1, ⋯, k5的值。以邊緣點為中心, 建立極坐標係, 將x=ρcosθ, y=ρsinθ代入所得的曲麵擬合(hé)函數裏, 得到在梯度方向上關於極徑的二(èr)次曲(qǔ)線方程, 對這個方程求取其極(jí)大值, 即(jí)可得到準確的邊緣點的位置:
在(zài)上麵求解(jiě)k值的過程中, 需要注意到的(de)一點,就是(shì)二次曲線(xiàn)是由原高斯曲線取對數後得到的, 因此求解時(shí)應將象素點的灰度(dù)梯度值用其對數值代(dài)替。這樣, 邊(biān)緣點亞象素位置的提取公式為:
3 實驗結果
本課(kè)題實驗采用的是型號為MTV- 2821CB的黑白(bái)CCD攝像機, 工作台是JX14A數字式工具顯微鏡。圖2中a) 圖是通過(guò)CCD攝像機拍攝到的精密小孔原圖, 測量時, 通過(guò)前後左右移(yí)動工作台, 使小孔在成像視場中的位置發生變化, 采樣10次, 運(yùn)用本文所提出的方法測量小孔的直徑, 得到的實驗(yàn)數(shù)據(jù)如表1所示。
從表1的測量結果中可以看到, 測量結果(guǒ)的精度(dù)達到了0.868 μm, 取得了比較好的效果。
4 結論
本(běn)文首先提出了高精度零件尺寸測量係統的結構、工作原理等問題。然後提出了一種(zhǒng)在Sobel算子的基(jī)礎上去掉局部非極大(dà)值點(diǎn)來快速獲得象素級邊緣的方法, 進而提出在梯度方向上進行高斯曲線擬合插值來提高測量係統的精度, 從實驗結果中可以看出, 取得(dé)了比較好的(de)效果(guǒ)。
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯係本(běn)網(wǎng)編輯(jí)部, 郵箱:skjcsc@vip.sina.com