趙 萍,蔡清華,趙文珍
(1.遼寧省交通高等專科學(xué)校,沈陽 110122;2.中航(沈陽)高新科技有限公司,沈陽 110141;3.遼寧科技學(xué)院 機械工程學(xué)院,本溪 117004)
機器視覺測量系統(tǒng)具有非接觸、速度快、全視場等突出優(yōu)點,可實現(xiàn)在線檢測、動態(tài)檢測、實時分析、實時控制等功能,具有高效、高精度、無損傷的檢測特點,可以滿足現(xiàn)代精密測量技術(shù)的發(fā)展需要,目前已廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、航空、軍事、醫(yī)學(xué)和食品等領(lǐng)域,并得到了極大的關(guān)注。但由于系統(tǒng)的復(fù)雜性,在測量過程中存在多種隨機噪聲和系統(tǒng)誤差,大多數(shù)視覺測量系統(tǒng)的測量精度只達到了0.01mm數(shù)量級,只有少數(shù)案例在小視場的測量條件下可以達到微米級,因此進一步研究提高視覺測量系統(tǒng)的測量精度仍然是該領(lǐng)域研究的熱點[1,2]。
圖像在成像、數(shù)字化和傳輸過程中難免會在灰度值上有各種干擾,形成噪聲,這些噪聲使得圖像上像素點的灰度值不能正確地反映空間物體對應(yīng)點的光強值,由此會造成邊緣檢測的不確定性,這是實現(xiàn)高精度視覺測量必須解決的問題之一。
為了減小或消除隨機噪聲對邊緣檢測的影響,綜合利用圖像的灰度曲面特性和邊緣曲線特性,開發(fā)了包括各向異性雙邊濾波、基于Facet模型的亞像素邊緣提取和邊緣曲線擬合的三級逼近圖像邊緣檢測算法,提高邊緣檢測的精度和可靠性。
目前圖像濾波方法主要分為線性濾波和非線性濾波兩類。線性濾波能夠有效地去除高斯噪聲,但缺點是在去除噪聲的同時,可能會丟失細節(jié)處的灰度信息,不具有梯度保持性。非線性濾波可根據(jù)邊緣特征在不同位置采取不同操作,從而在濾除噪聲的同時保持了圖像邊緣和細節(jié)[3],其中雙邊濾波由于具有簡單、非迭代和局部的特點得到了廣泛地應(yīng)用,但這種濾波方法只能在一定尺度范圍內(nèi)可實現(xiàn)梯度保持性的圖像平滑,濾波效果并不理想[4,5]。為此,本文提出了各向異性雙邊濾波算法(ABF)。
各向異性雙邊濾波可由式(1)來描述。
式中,?為濾波窗口,I(i,j)為輸入圖像,f(x,y)為輸出圖像,wr(i,j)為灰度高斯核,ws(i,j)為各向異性高斯核,ka為歸一化參數(shù)。
其中:
本算法對雙邊濾波的空域權(quán)因子進行了重新定義,通過圖像的局部特征控制各向異性高斯核的方向角θ和長短軸比例k,使得濾波器具有以下功能:在圖像平滑區(qū)域采用相同尺度的濾波,即k=1。在圖像的邊緣,k≈0,濾波器為近似于邊緣切線的線狀濾波器。這樣,在切向由于考慮了較多的邊緣點,使邊緣點的灰度分布的標(biāo)準(zhǔn)差較小,最大限度地濾除了噪聲,在法向濾波近似為0,最大程度地保留了邊緣梯度信息。
LST結(jié)構(gòu)張量[6]描述了圖像在大小為O(ρ)的鄰域內(nèi)沿特征方向的平均對比度變化,包含著圖像的區(qū)域特征信息。特征向量v1是灰度變化最快的方向,v2是灰度變化最小的方向,因此就邊緣而言,v1可以看作是邊緣法線方向,v2可以看作是邊緣切線方向,這樣就可以通過結(jié)構(gòu)張量控制方向角θ,使方向角θ始終和邊緣方向保持一致。將v2分解水平分量v21和垂直分量v22,則方向角θ計算如下:
LST結(jié)構(gòu)張量v1、v2對應(yīng)的特征值分別為μ1、μ2,在平滑區(qū)域 μ1≈ μ2≈ 0 ,在邊緣區(qū)域 μ1>> μ2≈ 0 。因此可以用它們來定義長短軸比例k,即:
式中,τ為比例因子調(diào)整參數(shù),目的是控制k在μ1= 0 時有意義,本文τ取0.005。
分別用均值濾波、高斯濾波、雙邊濾波、各向異性雙邊濾波對圖1(a)的量塊圖像進行濾波,濾波效果如圖1(b)、圖1(c)、圖1(d)、圖1(e)所示,濾波前后邊緣的灰度分布如圖2所示,y=30處梯度方向剖面的灰度分布如圖3所示。
圖1 濾波效果
圖2 用Canny算法提取邊緣的灰度分布
圖3 y=30處梯度方向的灰度分布
通過對圖1、圖2、圖3的分析,可以看出:均值濾波和高斯濾波很好地平滑了圖像,但濾波后邊緣模糊了,且灰度分布與原圖灰度分布的趨勢有較大差異,邊緣梯度明顯減小,由此可能會造成邊緣細節(jié)信息的丟失;雙邊濾波在一定尺度內(nèi)可以保持邊緣的梯度,但邊緣帶的濾波效果不好;采用各向異性雙邊濾波后邊緣處灰度的分布趨勢與原圖基本吻合,在邊緣的法線方向,除了在黑色區(qū)域濾掉少許噪聲之外,其他位置與原圖像幾乎重合。由此可見,各向異性雙邊濾波在提高切向平滑的基礎(chǔ)上不會造成細節(jié)特征的丟失,且有效地保留了邊緣的梯度信息。因此,各向異性雙邊濾波算法同時具有圖像平滑和梯度保持的功能。
在數(shù)字圖像中,輪廓是基于像素網(wǎng)格的,控制點之間的橫縱坐標(biāo)是整數(shù),而實際物體的輪廓控制點的橫縱坐標(biāo)是浮點數(shù),因此像素輪廓很難反映實際輪廓的拓撲信息,為此,從20世紀(jì)80年代開始,有不少研究者提出了各種各樣有效的亞像素邊緣定位算法。根據(jù)計算原理,亞像素邊緣定位方法主要有曲線擬合法、曲面擬合法、矩法和數(shù)字相關(guān)法[7]。其中,曲面擬合法相對其他方法對噪聲的影響不敏感,具有較高的重復(fù)定位精度,但存在的問題是由于對每一個像素都要進行鄰域的曲面擬合和亞像素位置的計算,計算量很大,這對實時處理相當(dāng)不利。為此,本文先用改進的Canny算法[8]進行粗定位,提取單像素精度邊緣,然后用以像素邊緣為中心的鄰域數(shù)據(jù)集擬合Facet曲面模型,根據(jù)單邊階躍邊緣的特征在像素邊緣內(nèi)確定亞像素邊緣位置,實現(xiàn)邊緣的精定位。
2D Facet模型[9]是一個以對稱鄰域中心為坐標(biāo)原點的二元三次多項式,由下面的公式表達:
式中,x、y是像元的坐標(biāo),k1、k2、…、k10是待定系數(shù)。
為了保證算法是位置不變的,先建立一個局部坐標(biāo)系,其原點建立在粗定位點處,則亞像素邊緣點在邊緣像素中的位置如圖4所示。
圖4 亞像素邊緣點在邊緣像素中的位置
則有:
式中,ρ是亞像素邊緣點距離像素中心的距離,α是梯度方向。將式(5)代入式(4),則有:
將式(7)、式(8)代入式(9),就能求得邊緣點的亞像素位置。
式中,(x,y)是邊緣的亞像素坐標(biāo),(xi,yi)是邊緣的像素坐標(biāo)。
2D Facet模型描述了一個二元三次的曲面,為了避免解方程組時出現(xiàn)病態(tài)系數(shù)矩陣,本文用Chebyshev多項式的張量積來生成正交多項式組作基底來重構(gòu)式(4),即:
在鄰域S內(nèi),用最小二乘法求取擬合系數(shù)ci,即:
表明系數(shù)ci可通過對圖像I(x,y)進行模板運算獲得,模板大小為鄰域S的范圍。與像素(x,y)相對的模板通過式(12)計算:
實驗表明,5×5窗提取邊緣的定位精度最高,且不會產(chǎn)生較大的系統(tǒng)誤差,因此,本文采用5×5窗,計算c1~c10的10個模板如圖5所示。
使用本文改進算法和傳統(tǒng)Facet曲面擬合算法提取如圖6所示量塊的亞像素邊緣如圖7(a)所示,邊緣點到擬合直線(由經(jīng)過位置誤差補償后的邊緣點擬合)的距離分布如圖7(b)所示。
由圖7(a)來看,改進算法提取的亞像素邊緣更為平滑。從圖7(b)來看,改進算法比Facet曲面擬合算法的定位精度略有所提高。從計算效率來看,使用改進算法的程序執(zhí)行時間是20ms,使用原算法的時間是47ms,速度提高了1.35倍。
圖5 5×5卷積模板
圖6 量塊圖像
圖7 本文改進算法與傳統(tǒng)Facet曲面擬合算法的對比
雖然在前面的環(huán)節(jié)中,本文將抑制噪聲作為選擇濾波算法和邊緣提取算法的主要準(zhǔn)則,但仍然存在一些噪聲不能濾除,此外,F(xiàn)acet曲面的擬合和亞像素邊緣定位不可避免地引入計算誤差,使得亞像素邊緣的變化幅度較大,不能滿足精密測量的要求。因此為了進一步降低隨機噪聲和計算誤差對邊緣定位精度的影響,本文對提取的亞像素邊緣點進行最小二乘曲線擬合,通過反算得到抑制掉噪聲的新數(shù)據(jù)。
對于具有顯著局部特征的任意曲線的亞像素邊緣,使用一個擬合曲線來描述,擬合精度較低,一個好的解決方法是采用分段多項式擬合,在每段區(qū)間上進行局部最小二乘擬合。然而,擬合函數(shù)在區(qū)間分段點上不一定連續(xù),在相鄰區(qū)間邊界附近的擬合效果不理想。為此,本文對每個分段區(qū)間的最小二乘系數(shù)進行連續(xù)性約束的修正,保證擬合函數(shù)在每個分段點處的連續(xù)性。
將數(shù)據(jù)(xi,yi)分為k個數(shù)據(jù)集2, …, k。如果設(shè)定每個數(shù)據(jù)集中包含m個數(shù)據(jù),待定系數(shù)的個數(shù)為n+1,則有:
令:
對上式建立拉格朗日函數(shù),有:
對L(a,λ)求偏導(dǎo),可解得:
根據(jù)式(15)即可求得進行了連續(xù)性約束修正的最小二乘回歸系數(shù)。
為驗證本文算法的有效性,本文采用piA2400-17gc CCD相機(分辨率為500萬(2448×2050)像素,靶面尺寸2/3"(W=8.8mm,H=6.6mm),芯 片 為 Sony ICX625)、日本 Computar鏡頭M5018-MP2(規(guī)格為2/3",和傳感器相配。焦距50mm,光圈1.8-16C,水平視角10.5°)和OPT-FLP平行背光源搭建了視覺測量系統(tǒng)。
在測量條件不變的情況下,使用搭建的視覺測量系統(tǒng)對5mm、8mm量塊分別連續(xù)采集5張圖像,采用本文算法在5張圖像上提取相同測量面邊緣,以第一張圖像的邊緣為計算基準(zhǔn),分別計算另外4張圖像上的邊緣點到基準(zhǔn)的距離,重復(fù)性定位誤差就等于其中最大值。實驗結(jié)果如表1所示。
表1 定位精度實驗結(jié)果(單位:像素)
從表1來看,最大重復(fù)性定位誤差為0.03345像素,由此可以證明本文算法的重復(fù)定位精度優(yōu)于0.1像素。
為了驗證本文算法的測量精度,對測量系統(tǒng)標(biāo)定后,多次測量量塊的尺寸,本文選取不同位姿5mm和8mm量塊(如圖8所示)進行分析,測量結(jié)果如表2所示。
圖8 測試量塊圖像
從測量結(jié)果來看,采用本文邊緣檢測算法,所搭建的視覺測量系統(tǒng)的測量精度可以達到±5μm。
機器視覺系統(tǒng)應(yīng)用廣泛,但是由于隨機誤差的影響,影響了系統(tǒng)測量的精確度。本文利用圖像的灰度曲面特性和邊緣曲線特性,開發(fā)了包括各向異性雙邊濾波、基于Facet模型的亞像素邊緣提取和邊緣曲線擬合的三級逼近圖像邊緣檢測算法,消除了隨機誤差的影響,提高了邊緣提取的重復(fù)定位精度。通過多次對量塊邊緣的測量,證明該算法的重復(fù)定位精度優(yōu)于0.1像素,使用該算法構(gòu)建的視覺測量系統(tǒng)測量精度可以達到微米級。因此,該算法能夠滿足高精度視覺測量系統(tǒng)的使用要求。
表2 量塊測量結(jié)果(單位:mm)
[1]張少軍,茍中魁,李慶利,等.利用數(shù)字圖像處理技術(shù)測量直齒圓柱齒輪幾何尺寸[J].光學(xué)精密工程,2004,12(6):619-625.
[2]孫秋成.基于機器視覺的軸徑測量[D].吉林:吉林工業(yè)大學(xué),2010.
[3]王丹.基于各向異性高斯濾波的圖像邊緣檢測方法[D].西安:西安電子科技大學(xué),2010.
[4]張志強,王萬玉.一種改進的雙邊濾波算法[J].中國圖形圖象學(xué)報.2009,14(3):443-447.
[5]王玉靈.基于雙邊濾波的圖像處理算法研究[D].西安:西安電子科技大學(xué),2010.
[6]Weickert J.A scheme for coherence-enhancing diffusion filtering with optimized rotation invariance[J].Journal of Visual Communication and Image Representation, 2002,13(1/2):103-118.
[7]于起峰,尚洋.攝像測量學(xué)原理與應(yīng)用研究[M].北京:科學(xué)出版社,2009.
[8]趙萍,趙文珍,段振云,等.一種用于精密樣板檢測的邊緣提取算法.機械設(shè)計與制造[J],2012,(12):177-179.
[9]Harlick R M.Digital step edges from zero crossing of second directional derivatives[C].IEEE Transactions on Pattern Analysis and Machine Intelligence.Piscataway, USA: IEEE Press,1984:58-68.