黃德斌,王 琰
(沈陽理工大學(xué)信息科學(xué)與工程學(xué)院,遼寧沈陽 110159)
邊緣檢測技術(shù)常用在機(jī)器視覺中對物體的邊緣進(jìn)行定位。通過軟件方法提高亞像素邊緣定位的精度比通過硬件方法需要的成本低,使得軟件亞像素邊緣提取算法得到了廣泛的研究和應(yīng)用。黑片是制作變壓器的一種材料,其平面幾何參數(shù)的精確度對變壓器的性能有重大影響。機(jī)器視覺技術(shù)可以更精確地檢驗產(chǎn)品精度,滿足工業(yè)高精度要求。對黑片邊緣的亞像素檢測[1],一般都是在經(jīng)典算法處理基礎(chǔ)上再做處理得到亞像素精確邊緣。常用的方法有插值法、擬合法、幾何矩方法等。本文采用多項式插值法[2],首先用經(jīng)典的Sobel算子[3]得到像素級的邊緣,然后再細(xì)化得到單像素的邊緣,在單像素邊緣的基礎(chǔ)上,結(jié)合原梯度圖像進(jìn)行方向插值,得到亞像素的黑片邊緣。算法的邊緣定位精度最高可達(dá)個像素。
通過橫豎兩個方向模板檢測橫豎方向上的邊緣。模板如下:
Sobel邊緣檢測算子的表達(dá)式為
適當(dāng)選取閾值 t,如果 g(i,j)> t,則認(rèn)為(xi,yj)為邊緣點(diǎn),這樣可以粗略地找出可能的邊緣點(diǎn)并標(biāo)記。
經(jīng)典的Sobel算子具有檢測定位速度快,并且可以粗略地檢測出邊緣,為下一步的亞像素邊緣檢測做好準(zhǔn)備。
本文在原Sobel邊緣檢測算法橫豎兩個模板的基礎(chǔ)上增加了兩個對角線上的模板。原Sobel模板在梯度方向為水平和垂直時的邊緣檢測效果較好,而沒有考慮和水平及垂直方向成45°方向的梯度邊緣。本文增加的兩個斜對角模板,考慮了45°方向上的梯度邊緣。本文模板如下:
檢測的結(jié)果表達(dá)式為
本文算法在得到的梯度數(shù)值矩陣上乘以權(quán)值系數(shù)0.5(乘以權(quán)值系數(shù)的目的是把梯度矩陣?yán)锏奶荻戎等康缺壤档?55以內(nèi),以便機(jī)器可以直接顯示),得到梯度邊緣圖像較好地抑制噪聲的同時也相對細(xì)化了邊緣。
本文使用有方向的邊緣細(xì)化,在改進(jìn)的Sobel算法處理后得到的黑片邊緣梯度圖像,再結(jié)合已經(jīng)取得的梯度矩陣結(jié)合原方向模板判定(xi,yj)點(diǎn)的梯度方向。在此方向上,比較(xi,yj)點(diǎn)和它梯度方向上的前后兩個點(diǎn)的梯度大小,如果前后兩個點(diǎn)的梯度值都小于此點(diǎn)梯度值,且此點(diǎn)的梯度值大于設(shè)定的閾值,則將此點(diǎn)梯度值設(shè)置為255,最后得到細(xì)化后的單像素邊緣。
根據(jù)多項式插值理論[4],插值函數(shù)形式如下:
式中:xk為插值點(diǎn);yk為離散的函數(shù)值;f(x)為插值函數(shù)。
對已用其他算子檢測確定的邊緣點(diǎn)(xi,yi),在梯度圖像 T(i,j)的方向上取三點(diǎn) T(i-1,j),T(i,j),T(i+1,j),以這三點(diǎn)的梯度幅值作為函數(shù)值,以(xiw),xi,(xi+w)三點(diǎn)為插值點(diǎn)(其中 w為像素 x方向的間距),代入式(1)求得亞像素邊緣坐標(biāo)
式中h為像素y方向的間距。
多項式插值在理論上可以獲得較為精確的邊緣。但原有的多項式插值法只考慮x和y兩個方向上進(jìn)行插值計算,結(jié)果容易丟失其他方向的精確邊緣信息。本文考慮到前面使用的Sobel方向模板,與其方向結(jié)合進(jìn)行準(zhǔn)確的方向插值,可以相對較精確的邊緣定位。對已經(jīng)檢測確定的邊緣點(diǎn)(xi,yi),先比對原梯度模板的方向確定插值的方向,在梯度圖像 T(i,j)的方向上取三點(diǎn) T(i-1,j),T(i,j),T(i+1,j),以(xi- w),xi,(xi+w)三點(diǎn)為插值點(diǎn)(因為本文插值為有方向的插值,其中w為像素x方向間距的,算法在公式上同原差值算法一樣。但本文在像素邊緣坐標(biāo)的計算上,增加了一組計算在交叉45°方向的公式。
在x和y兩個方向的計算公式:
式中r、d分別為原像素點(diǎn)和x、y方向成45°像素點(diǎn)間距的
實(shí)驗所用的圖像為156×157的黑片灰度圖像,使用的計算機(jī)配置:Intel(R)Core(TM)2 Duo CPU T5450 1.66GHz 1.67GHz;內(nèi)存:2GB;用VC6.0實(shí)現(xiàn)本文的所有算法。
圖1為黑片的原始圖像,圖2為用原Sobel算法提取的邊緣圖像,圖3為本文改進(jìn)Sobel加權(quán)值后的邊緣圖像,圖4為本文改進(jìn)Sobel細(xì)化后的邊緣圖像,圖5為本文改進(jìn)Sobel加閾值細(xì)化后的邊緣圖像。
圖1 原始黑片圖像
圖2 Sobel算子檢測結(jié)果
圖3 改進(jìn)Sobel加權(quán)值后結(jié)果
圖4 改進(jìn)Sobel細(xì)化后的結(jié)果
圖5 改進(jìn)Sobel加閾值細(xì)化后的結(jié)果
由圖1~圖5可以看出,Sobel提取的邊緣較粗,易受噪聲干擾。本文改進(jìn)的Sobel提取邊緣較細(xì),抗噪性相對較好;經(jīng)過本文算法細(xì)化后的邊緣為單像素,但出現(xiàn)很多偽邊緣;改進(jìn)添加閾值細(xì)化后得到較為理想的單像素低噪聲的邊緣圖像。
在單像素邊緣的基礎(chǔ)上,使用兩種插值算法取得的插值細(xì)化數(shù)據(jù)如表1所示。
表1 本文算法取得的部分插值數(shù)據(jù)
表2 原算法取得的部分插值數(shù)據(jù)
由表1和表2的數(shù)據(jù)可以看出,本文采用的方向插值在邊緣插值的方向上有很大改進(jìn)。本文算法在精度上相對原插值算法也有很大提高。
在亞像素細(xì)化邊緣得到更精確的邊緣中,使用方向插值使誤差降低了,根據(jù)誤差理論[5],對式(4)進(jìn)行微分運(yùn)算,計算x方向上的誤差dx.可得
因為式(4)后有限定項,則可得
由于一般的圖像采集卡灰度級量化誤差不大于±1個灰度級,則采用方向插值可以在誤差上降低,總體結(jié)果精度較高。
在單像素邊緣檢測中,本文用方向模板確定梯度的方向,從而減少了丟失邊緣點(diǎn)方向信息的可能。在細(xì)化的過程中采用梯度圖像加權(quán)值后設(shè)定閾值,在此基礎(chǔ)上使用原方向信息確定同方向的梯度最大點(diǎn)為邊緣點(diǎn),減少了偽邊緣,提高了精度。在亞像素插值中,采用有方向選擇的多項式插值。在精度上有所提高,誤差相對降低。
[1]羅敏,王琰.一種黑片圖像亞像素邊緣檢測方法[J].沈陽理工大學(xué)學(xué)報,2010,4(4):77 -81.
[2]王吉林,姚勵,趙力.基于改進(jìn)的多項式插值亞像素法電纜護(hù)套材料厚度測量[J].電測與儀表,2009,46(12):25-32.
[3] L Sobel.Camera Models and Machine Perception[D].PhD theses,Stanford University,Standford,CA,USA,1970.
[4]章毓晉.圖像工程[M].北京:清華大學(xué)出版社,2007.
[5]李慶利,張少軍,李忠富,等.一種基于多項式插值改進(jìn)的亞像素細(xì)分算法[J].北京科技大學(xué)學(xué)報,2003,25(3):280-283.