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