文 濤, 左東廣, 李站良, 衛(wèi)賓華
(第二炮兵工程大學(xué),西安 710025)
邊緣檢測(cè)作為計(jì)算機(jī)視覺和數(shù)字圖像處理中的關(guān)鍵技術(shù),其目的是要找出周圍像素灰度有屋頂變化或階躍變化的像素點(diǎn)的集合[1],從而為人們分析圖像或描述目標(biāo)提供有價(jià)值的信息。經(jīng)典的邊緣檢測(cè)算法可以分為基于查找的邊緣檢測(cè)算法、基于零穿越的邊緣檢測(cè)算法和Canny 邊緣檢測(cè)算法3 類[2]。其中:基于查找的算法是基于一階導(dǎo)數(shù)的邊緣檢測(cè)算法,該算法通過尋找圖像一階導(dǎo)數(shù)中的最大和最小值來檢測(cè)邊界,常用的微分算子有Roberts 算子、Sobel 算子、Prewitt算子等;基于零穿越的算法是基于二階導(dǎo)數(shù)的邊緣檢測(cè)算法,該算法通過尋找圖像二階導(dǎo)數(shù)零穿越來檢測(cè)邊界,但是這種算法得到的邊緣容易受噪聲的影響。為此,美國學(xué)者M(jìn)ARR 將高斯低通濾波和拉普拉斯邊緣檢測(cè)結(jié)合在一起,提出了高斯—拉普拉斯算子(LOG)。
隨著數(shù)字圖像處理技術(shù)的廣泛應(yīng)用,人們對(duì)邊緣檢測(cè)算法的檢測(cè)效果要求也在不斷提高:一方面,人們希望檢測(cè)算法能夠?qū)?qiáng)噪聲條件下弱目標(biāo)做出檢測(cè)[3];另一方面,人們希望邊緣檢測(cè)的定位精度從像素級(jí)提高到亞像素級(jí)。雖然傳統(tǒng)的邊緣檢測(cè)算法原理簡單且實(shí)時(shí)性好,但其無法滿足高精確定位和強(qiáng)抗干擾性能的雙重要求。
文獻(xiàn)[4]中提出了一種基于小波系數(shù)的多尺度邊緣增強(qiáng)算法,實(shí)現(xiàn)了SAR 圖像的自動(dòng)邊緣增強(qiáng)和檢測(cè);文獻(xiàn)[5]利用多尺度小波變換的邊緣檢測(cè)方法實(shí)現(xiàn)了對(duì)帶有噪聲的印刷電路板圖像邊緣的精確提取;文獻(xiàn)[6]提出了改進(jìn)的形態(tài)梯度算子和Zernike 矩的邊緣檢測(cè)算法,該方法能夠很好地滿足電荷耦合器件測(cè)量系統(tǒng)所需要的亞像素邊緣檢測(cè)。
因此,本文將小波變換和Zernike 矩結(jié)合起來,提出了一種多尺度模極大值亞像素邊緣檢測(cè)算法,該方法首先結(jié)合小波變換和小波模極大值原理,將邊緣點(diǎn)由粗到細(xì)地搜索出來,實(shí)現(xiàn)邊緣的準(zhǔn)確、有效定位,然后再用改進(jìn)后的Zernike 矩算子對(duì)圖像進(jìn)行進(jìn)一步的亞像素邊緣提取。實(shí)驗(yàn)結(jié)果證明,該方法與經(jīng)典的邊緣檢測(cè)算法相比,抗噪能力強(qiáng)且邊緣定位精度高,能夠滿足高精度圖像測(cè)量應(yīng)用。
通俗地講,小波模極大值就是將小波函數(shù)與信號(hào)進(jìn)行卷積運(yùn)算,然后對(duì)計(jì)算結(jié)果取模,最后找到最大值。在圖像處理中,小波變換的模極大值對(duì)應(yīng)著圖像的突變點(diǎn),如噪聲和邊緣信息,因此,可以通過計(jì)算圖像小波變換的模極大值來提取圖像的邊緣信息。
式中,ψx和ψy均滿足積分為零的條件,可以將其看成兩個(gè)二維小波函數(shù)。一般情況下,θ(x,y)取為二維高斯函數(shù),其表達(dá)式和一階偏導(dǎo)數(shù)表達(dá)式為
式中,σ 為正態(tài)分布的標(biāo)準(zhǔn)偏差。
對(duì)于f(x,y)∈L2(R)的任意圖像來說,在尺度為s時(shí)的小波變換的兩個(gè)分量分別為
則小波變換在尺度s 下,梯度的模和幅角分別為
式中:f(x,y)為二維信號(hào);L2(R)為函數(shù)空間。
梯度的模值Mxf(x,y)反映了圖像在點(diǎn)(x,y)處的灰度變化程度,梯度的幅角Axf(x,y)是梯度向量與水平方向的夾角。因此,圖像的邊緣特征點(diǎn)為沿著梯度方向上模為局部極大值的點(diǎn)。
Zernike 矩的復(fù)數(shù)域n 階多項(xiàng)式定義為
式中:m 和n 為整數(shù),且n- |m|為非負(fù)的偶數(shù);ρ 為原點(diǎn)到(x,y)的矢量長度;i 為虛數(shù)單位;徑向多項(xiàng)式Rnm為
Zernike 多項(xiàng)式在單位圓內(nèi)是正交的,即
當(dāng)且僅當(dāng)n=p,m=q 時(shí),式(7)成立,其中V*nm(ρ,φ)為Vpq(ρ,φ)的共軛。
連續(xù)圖像f(x,y)的二維Zernike 矩定義為
離散的數(shù)字圖像f(x,y)的Zernike 矩可以表示為
若圖像旋轉(zhuǎn)φ 角,則旋轉(zhuǎn)之前的Zernike 矩Znm和旋轉(zhuǎn)之后的Zernike 矩Znm' 之間有如下關(guān)系
從式(10)可看出,圖像旋轉(zhuǎn)前后只是相角發(fā)生了變化,而Zernike 矩的模不變,這個(gè)性質(zhì)被稱為旋轉(zhuǎn)不變性。
基于Zernike 矩的邊緣檢測(cè)算法原理是通過建立Zernike 矩與理想的亞像素模型的4 個(gè)邊緣參數(shù)的關(guān)系,分別求解矩而得到圖像模型的4 個(gè)邊緣參數(shù),再將參數(shù)與預(yù)設(shè)的閾值進(jìn)行比較判斷,進(jìn)而精確定位邊緣點(diǎn)。平面亞像素階躍邊緣模型如圖1 所示,其中,h 為背景灰度,k 為階躍高度,l 為中心到邊緣的距離,φ 為l與x 軸之間的夾角。
根據(jù)Zernike 矩原理可知,m 和n 為整數(shù),且n -|m|為非負(fù)的偶數(shù),因此可以得到5 個(gè)不同階次的矩Z00,Z11,Z20,Z31,Z40。
根據(jù)式(6)可得部分徑向多項(xiàng)式Rnm值如表1 所示。
表1 中,r 為原點(diǎn)到點(diǎn)(x,y)的長度。根據(jù)式(5)和表1 可以計(jì)算出Zernike 矩的復(fù)數(shù)域多項(xiàng)式如表2所示。
圖1 理想平面亞像素邊緣模型Fig.1 The ideal model of sub-pixel edge
表1 Zernike 徑向多項(xiàng)式RnmTable 1 Zernike radial polynomials Rnm
表2 Zernike 矩的復(fù)數(shù)域多項(xiàng)式VnmTable 2 Complex domain polynomial of Zernike moments Vnm
在單位圓內(nèi),由Zernike 矩定義和圖1b 中的階躍邊緣模型可以求得
解Z20' 和Z40' 的方程可得
解Z11' 和Z31'的方程可得
由式(10)可知
由圖1 可以看出,Im[Z11']為關(guān)于y 的奇函數(shù),因此Im[Z11']=sin φRe[Z11]-cos φIm[Z11]=0,故
至此,平面亞像素階躍邊緣模型的4 個(gè)參數(shù)已經(jīng)全部確定,由圖1 可得,基于Zernike 矩的亞像素邊緣檢測(cè)式為
式中:(xs,ys)為亞像素坐標(biāo);(x,y)為圖1 中的原點(diǎn)坐標(biāo)。若Zernike 模板大小為N×N,則式(17)可以改寫為
為了進(jìn)一步提高邊緣檢測(cè)精度,本文在文獻(xiàn)[7 -8]提出的5 ×5 模板的基礎(chǔ)上提出了7 ×7 模板,并將Z00,Z11,Z20的模板系數(shù)擴(kuò)展到了Z00,Z11,Z20,Z31,Z40,Zernike 矩的7 ×7 模板如圖2 所示。
圖2 Zernike 矩的7 ×7 模板Fig.2 The mask of size 7 ×7
在單位圓內(nèi),不同區(qū)域像素灰度為常數(shù),因此,式(8)可以改寫為
為了實(shí)現(xiàn)Zernike 矩的快速計(jì)算,定義Znm的模板為,由式(8)可知,將模板Mnm在圖像上移動(dòng),與模板覆蓋下的子圖進(jìn)行卷積運(yùn)算,即可得到圖像的Zernike 矩。
在對(duì)圖像進(jìn)行多尺度分解時(shí),隨著尺度的增大,圖像會(huì)變得更加平滑,邊緣的定位精度會(huì)變得更差,而另一方面,圖像的信噪比會(huì)提高,抗噪能力會(huì)增強(qiáng)。因此,如果用大尺度來抑制信號(hào)的噪聲,而用小尺度來提高邊緣的定位精度,將會(huì)極大地提高邊緣檢測(cè)的效果,在此基礎(chǔ)上,再用改進(jìn)后的Zernike 矩算子對(duì)圖像進(jìn)行進(jìn)一步的亞像素邊緣提取。根據(jù)以上分析,設(shè)計(jì)多尺度模極大值亞像素邊緣檢測(cè)算法步驟如下所述。
1)選擇一個(gè)合適的小波基函數(shù)。文獻(xiàn)[9]中指出小波基的選取應(yīng)遵循3 個(gè)原則:
①邊緣在圖像中表現(xiàn)為高頻信號(hào),因此濾波器應(yīng)當(dāng)是高通濾波器;
②檢測(cè)邊緣的小波應(yīng)當(dāng)是奇函數(shù);
③小波函數(shù)應(yīng)當(dāng)是窗口函數(shù),最好是緊支窗口。實(shí)際上,上述的3 條準(zhǔn)則是小波函數(shù)的必要條件。而文獻(xiàn)[10]于1992 年將3 次B 樣條函數(shù)作為小波函數(shù)運(yùn)用在邊緣檢測(cè)中取得了很好的效果,因此,本文采用3 次B 樣條函數(shù)作為小波函數(shù)。
2)利用選取的小波函數(shù)對(duì)圖像進(jìn)行多層分解,本文選取分解層數(shù)J=3。
3)利用小波模極大值原理對(duì)各層進(jìn)行單尺度邊緣檢測(cè),計(jì)算模極大值Es(x,y)和幅角As(x,y),設(shè)置閾值Et,當(dāng)Es(x,y)>Et,認(rèn)為Es(x,y)為邊緣信息。
4)將尺度為s 的邊緣Es的每一像素點(diǎn)(x,y)與s-1 尺度上對(duì)應(yīng)的3×3 鄰域共9 個(gè)點(diǎn)進(jìn)行比較,將模值和幅角相近的點(diǎn)確定為s-1 尺度的邊緣信息Es-1(x,y),并將s-1 尺度上的其他邊緣信息舍棄,依次計(jì)算,當(dāng)s=1 時(shí)就得到了邊緣圖像E1(x,y)。
5)計(jì)算7×7 模板{M00,M11,M20,M31,M40},將模板在邊緣圖像上移動(dòng),并與模板覆蓋下的子圖進(jìn)行卷積運(yùn)算,從而得到邊緣圖像的Zernike 矩{Z00,Z11,Z20,Z31,Z40}。
6)根據(jù)2.2 節(jié)中介紹的公式計(jì)算平面亞像素階躍邊緣模型的距離l 與角度φ,將其代入式(18)中計(jì)算亞像素坐標(biāo)。
為了驗(yàn)證算法的優(yōu)越性,在Visual Studio2010 平臺(tái)下利用C#語言設(shè)計(jì)了2 組對(duì)比實(shí)驗(yàn)。
第一組實(shí)驗(yàn)?zāi)康氖菫榱颂崛D像邊緣的亞像素坐標(biāo),為此,在電腦上人工生成一幅大小為128 ×128 的二值圖像,如圖3 所示,在圖像中間插入了圓,圓心在(64,64),半徑為40,亞像素邊緣檢測(cè)的部分結(jié)果如表3 所示。
圖3 二值圖像Fig.3 Binary image
表3 三角形斜邊亞像素檢測(cè)Table 3 The triangle hypotenuse subpixel coordinate detection
從表3 中可以看出,邊緣檢測(cè)的最大誤差為0.284像素,整體上誤差較小,亞像素邊緣定位精度較高。
為了測(cè)量某器件的幾何參數(shù),本文構(gòu)建了一套基于圖像的自動(dòng)化測(cè)量系統(tǒng),該系統(tǒng)通過對(duì)該器件的投影圖像進(jìn)行采集處理,達(dá)到測(cè)量的目的,為了滿足可靠性好、精度高的測(cè)量要求,邊緣檢測(cè)算法必須具有高精確定位和強(qiáng)抗干擾性能的雙重優(yōu)勢(shì)。
因此,為了驗(yàn)證算法的優(yōu)越性能,本文對(duì)采集到的帶有很強(qiáng)噪聲的圖像進(jìn)行邊緣檢測(cè),邊緣檢測(cè)結(jié)果如圖4 所示。
圖4 邊緣檢測(cè)結(jié)果對(duì)比Fig.4 Comparison of edge detection results
從圖中可以看出,Sobel 算子和Prewitt 算子檢測(cè)斜向階躍邊緣效果較好,Roberts 算子和LOG 算子精度較高,LOG 算子受噪聲影響較Roberts 算子大,而Canny 算子雖然是基于精確定位和抗干擾的折衷推出的邊緣檢測(cè)算子,但在實(shí)際應(yīng)用中檢測(cè)效果也比較差,而基于改進(jìn)小波變換和Zernike 矩的亞像素邊緣檢測(cè)算法抗噪能力強(qiáng),且定位精度高。
本文研究了一種基于改進(jìn)小波變換和Zernike 矩的亞像素邊緣檢測(cè)算法,并進(jìn)行了邊緣檢測(cè)實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該方法的抗噪能力比較強(qiáng),且定位精度比較高,在提取效果上明顯優(yōu)于經(jīng)典邊緣檢測(cè)算法,是一種穩(wěn)定可靠的圖像邊緣檢測(cè)算法。
[1] 金光遠(yuǎn). 圖像測(cè)量技術(shù)與系統(tǒng)[D]. 長春:吉林大學(xué),2008.(JIN G Y.The design and realization for the measuring system based on image processing [D]. Changchun:Jilin University,2008.)
[2] 張錚,倪紅霞,苑春苗,等.精通Matlab 數(shù)字圖像處理與識(shí)別[M]. 北京:人民郵電出版社,2013. (ZHANG Z,NI H X,YUAN C M,et al.Proficient in Matlab digital image processing and recognition [M]. Beijing:Posts &Telecom Press,2013.)
[3] 孫紅光,李勇. 基于雙正交小波弱目標(biāo)邊緣提取方法[J].長春理工大學(xué)學(xué)報(bào),2004,27(2):53-55. (SUN H G,LI Y.The method of faint object brim pick-up based on double orthogonal wavelet[J].Journal of Changchun University of Science and Technology,2004,27(2):53-55.)
[4] TELLO A M,LóPEZ-MARTIíNEZ C,MALLORQUí J J,et al.Edge enhancement algorithm based on the wavelet transform for automatic edge detection in SAR images[J].IEEE Transactions on Geoscience and Remote Sensing,2011,49(1):222-235.
[5] QIAO N S,TANG J.Study of edge detection of printed circuit board photoelectric image based on multi-scale wavelet transform[J]. Advanced Materials Research,2012,542:850-853.
[6] WEI B Z,ZHAO Z M.A sub-pixel edge detection algorithm based on Zernike moments[J].The Imaging Science Journal,2013,61(5):436-446.
[7] GHOSAL S,MEHROTRA R.Detection of composite edges[J].IEEE Transactions on Image Processing,1994,3(1):14-25.
[8] GHOSAL S,MEHROTRA R.Orthogonal moment operators for subpixel edge detection[J].Pattern Recognition,1993,26(2):295-306.
[9] 張宏群,張雪,肖旺新.小波變換的自適應(yīng)閾值圖像邊緣檢測(cè)方法[J].紅外與激光工程,2003,32(1):32-36.(ZHANG H Q,ZHANG X,XIAO W X.Adaptive thresholds edge detection for image based on wavelet transform[J].Infrared and Laser Engineering,2003,32(1):32-36.)
[10] MALLAT S,ZHONG S G.Characterization of signals from multiscales edges[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,1992,14(7):710-732.