陳 順,李登峰
(武漢紡織大學(xué) 數(shù)學(xué)與計算機學(xué)院,湖北 武漢 430200)
圖像的邊緣檢測是圖像分割、目標識別和區(qū)域提取等圖像分析領(lǐng)域十分重要的基礎(chǔ)[1]。圖像邊緣檢測的原理是提取目標與目標、目標與背景之間的邊界信息[2],關(guān)鍵在于有效抑制噪聲,同時能檢測到更多的圖像邊緣信息。由于圖像噪聲和邊緣都屬于高頻信號,導(dǎo)致傳統(tǒng)邊緣檢測算子對噪聲敏感,難以區(qū)分邊緣和噪聲,不利于實際應(yīng)用?,F(xiàn)代邊緣檢測算法中,神經(jīng)網(wǎng)絡(luò)算法[3]、啟發(fā)式算法[4]等算法搜索能力強、定位精度高,適用于各類復(fù)雜圖像。但是其算法實現(xiàn)成本高,需要大量的訓(xùn)練樣本建立模型,效率較低。
Canny算子是一種滿足最有準則的邊緣檢測算子,其檢測結(jié)果包含了圖像更多邊緣信息,所以相比其他傳統(tǒng)算子能夠取得更好的檢測效果[5]。并且Canny算子從理論上首次形成了完善的邊緣檢測評價標準,成為評價其他邊緣檢測方法的標準[6],因此,引起了許多研究者對傳統(tǒng)Canny算子進行改進。文獻[7]用自適應(yīng)濾波器代替高斯濾波器進行了預(yù)處理,并結(jié)合貝葉斯判斷理論,通過最大化將像素點判決到不同區(qū)域的后驗概率來獲取最優(yōu)的高低閾值;文獻[8]提出了一種基于改進Canny算子的路面裂縫檢測技術(shù),利用形態(tài)學(xué)濾波對原有的濾波方式進行了改進,使用Otsu算法實現(xiàn)雙閾值自適應(yīng)獲取;文獻[9]利用分治法思想和相鄰窗口排序信息相關(guān)性原理來改進了自適應(yīng)中值濾波器,并用二分查找原理改進了Otsu算法計算梯度幅值的高、低閾值。
數(shù)學(xué)形態(tài)學(xué)是利用具有不同形狀大小的結(jié)構(gòu)元素對二維圖像進行數(shù)學(xué)形態(tài)學(xué)運算,最后與原圖像相減來獲得邊緣圖像,是一種分析和處理各類圖像的重要方法[10]。其中結(jié)構(gòu)元素的選取對圖像邊緣檢測具有很大影響。小尺寸的結(jié)構(gòu)元素雖然能很好地保護邊緣細節(jié),但去噪能力較弱。大尺寸的結(jié)構(gòu)元素去噪能力較強,但去噪后的圖像變得模糊,導(dǎo)致部分細節(jié)信息不突出。文獻[11]提出了基于形態(tài)學(xué)算子和小波變換融合的邊緣檢測算法,采用自適應(yīng)多形狀的結(jié)構(gòu)元素,設(shè)計了0°、45°、90°、135°方向的3×3線性結(jié)構(gòu)元素和方形結(jié)構(gòu)元素。該算法能有效地提取復(fù)雜背景缺陷輪廓;文獻[12]提出了用差影法融合雙閾值小波和數(shù)學(xué)形態(tài)學(xué)的邊緣檢測算法,利用多尺度多結(jié)構(gòu)數(shù)學(xué)形態(tài)學(xué)算法處理低頻分量。該算法具有很好的抑制噪聲能力。
本文將結(jié)合改進的Canny算子和新型多尺度多結(jié)構(gòu)數(shù)學(xué)形態(tài)學(xué)邊緣檢測的優(yōu)點,對邊緣圖像小波分解后的子圖進行自適應(yīng)加權(quán)融合,得到新的邊緣圖像子圖,重構(gòu)得到最終的邊緣檢測圖像。
傳統(tǒng)邊緣檢測算子中,Canny算子3個基本評價標準[13]為:
(1)低錯誤率。所有邊緣都應(yīng)該被找到,檢測到的邊緣盡可能是真實邊緣;
(2)邊緣定位精度。定位邊緣盡可能接近真實邊緣;
(3)單一邊緣響應(yīng)。對于圖像真實邊緣,檢測器應(yīng)該只返回一個邊緣點。
傳統(tǒng)Canny算子邊緣檢測步驟如下:
(1)使用高斯濾波器對圖像進行預(yù)處理,其中高斯函數(shù)方差人為設(shè)定;
(2)對預(yù)處理后的圖像采用2×2模板計算梯度幅值和梯度方向;
(3)對梯度圖像進行非極大值抑制,將梯度最大值點作為候選邊緣點;
(4)人為確定高、低閾值并采用連接方法確定圖像最終邊緣。
從上述標準可以看出,傳統(tǒng)Canny算子的高斯濾波器參數(shù)人為設(shè)定,導(dǎo)致濾波效果不佳;使用2×2模板計算梯度使得對噪聲敏感,容易漏檢真實邊緣;高低閾值人為選取,自適應(yīng)能力差,易產(chǎn)生偽邊緣。因此,本文針對以上問題對Canny算子進行改進,以取得良好的去噪效果。
1.2.1 混合濾波器
中值濾波是一種非線性數(shù)字濾波器技術(shù),在處理脈沖噪聲和椒鹽噪聲時效果良好,常用于圖像的去噪處理。但是傳統(tǒng)中值濾波器在保護圖像細節(jié)和去噪方面存在著一定的矛盾,所以本文采用自適應(yīng)中值濾波器。相比于傳統(tǒng)中值濾波器,其具有良好去噪效果,同時能保護圖像細節(jié)。
均值濾波器是一種線性濾波器,使用起來簡單快速。本文選取修正的阿爾法均值濾波器。相比其他幾種濾波器,修正的阿爾法濾波器去噪效果更好。
最后將采用自適應(yīng)中值濾波器處理后的圖像作為修正的阿爾法均值濾波器的輸入,組成一個混合濾波器進行圖像預(yù)處理,達到了良好的去噪效果。
1.2.2 梯度幅值和幅角
本文將原來的2×2模板改為3×3模板,借鑒Sobel算子在水平方向和垂直方向的模板,并增加45°和135°方向梯度模板。因此可以得到當前梯度幅值和梯度幅角分別為:
F(i,j)=sqrt(Fx(i,j)2+Fy(i,j)2+
F45°(i,j)2+F135°(i,j)2)
(1)
(2)
式中:Fx(i,j),F(xiàn)y(i,j),F(xiàn)45°(i,j),F(xiàn)135°(i,j)—4個方向的梯度幅值。
1.2.3 自適應(yīng)雙閾值選取
圖像標準差反映了圖像灰度值與均值之間的離散程度。本文根據(jù)下式所得梯度圖像求出梯度均值和梯度標準差求解閾值:
(3)
(4)
H=M+σ2*σ2
(5)
式中:M—梯度圖像均值;σ2—梯度圖像方差;H—高閾值。
為了減少計算量,本文選取高閾值的40%作為低閾值。
數(shù)學(xué)形態(tài)學(xué)建立在集合論基礎(chǔ)上,其從集合論的角度分析、刻畫圖像的性質(zhì)和特征,是圖像處理中廣泛應(yīng)用的新技術(shù)之一。其基本思想是利用結(jié)構(gòu)元素對圖像進行相關(guān)形態(tài)學(xué)運算,從而達到對圖像分析和識別的目的[14]?;叶葦?shù)學(xué)形態(tài)學(xué)的基本運算有灰度膨脹、灰度腐蝕、灰度開運算和灰度閉運算。
灰度膨脹運算:
(img⊕s)(x,y)=max{img(x-i,y-j)+s(i,j)
|(x-i),(y-j)∈Di;(i,j)∈Ds}
(6)
灰度腐蝕運算:
(imgΘs)(x,y)=max{img(x+i,y+j)-s(i,j)
|(x+i),(y+j)∈Di;(i,j)∈Ds}
(7)
灰度開運算:
(8)
灰度閉運算:
img*s=(img⊕s)Θs
(9)
上述基本的灰度數(shù)學(xué)形態(tài)學(xué)算子操作起來簡單快速,但是去噪效果不佳,在實際應(yīng)用中難以運用。因此有學(xué)者構(gòu)造出抗噪腐蝕型算子、抗噪膨脹型算子以及抗噪膨脹腐蝕型算子。
3種算子設(shè)計如下[15]:
抗噪膨脹型算子:
(10)
抗噪腐蝕型算子:
(11)
抗噪膨脹腐蝕型算子:
(12)
針對以上分析,為了有效抑制噪聲的同時能檢測到更多的邊緣信息,同時相比其他形態(tài)學(xué)算法計算復(fù)雜度更小,本文采用多尺度多結(jié)構(gòu)元素灰度形態(tài)學(xué)邊緣檢測算子進行圖像的邊緣檢測,設(shè)計2×2的正方形結(jié)構(gòu)元素、3×3的十字形兩個結(jié)構(gòu)元素。
結(jié)構(gòu)元素如下所示:
經(jīng)過多次實驗分析,改進的形態(tài)學(xué)算子如下:
(13)
式中:Ai,Bi—結(jié)構(gòu)元素,Bi=B⊕B⊕…⊕B,即A和B可以經(jīng)過i次結(jié)構(gòu)元素的自我膨脹得到大尺度結(jié)構(gòu)元素。
具體計算步驟如下:
(1)通過膨脹運算得到結(jié)構(gòu)元素A1、A2和B1、B2;
(2)根據(jù)公式(13)分別求出結(jié)構(gòu)元素所對應(yīng)的圖像邊緣E1、E2;
(3)將圖像邊緣根據(jù)圖像信息熵加權(quán)融合,最后得到的圖像邊緣如下:
(14)
圖像信息熵反映了圖像信息的豐富程度,具體公式如下:
(15)
式中:αi—各邊緣圖像的信息熵。
當噪聲濃度較低時,改進的Canny算子具有不錯的去噪效果,并且邊緣定位精度高、邊緣連續(xù)清晰,但是高濃度噪聲下難以達到明顯的去噪效果。當噪聲濃度較高時,數(shù)學(xué)形態(tài)學(xué)依然具有良好的去噪效果,但是邊緣定位精度低、輪廓不明顯、邊緣較粗。因此本文融合算法結(jié)合兩種算法,根據(jù)圖像信息熵自適應(yīng)融合,提高算法計算效率,并且得到的邊緣輪廓清晰,去噪效果良好。
為了得到效果更好的邊緣圖像,本文融合算法具體步驟如下:
(1)對含噪圖像進行改進的Canny算子邊緣檢測,得到邊緣圖像F1;
(2)對含噪圖像進行新型數(shù)學(xué)形態(tài)學(xué)邊緣檢測,得到邊緣圖像F2。為了減少計算量,令公式(13)中的i=2;
(3)由于噪聲信號存在于圖像高頻區(qū)域,利用小波分解的優(yōu)勢,將邊緣圖像分解為低頻細節(jié)子圖和高頻子圖。為了減少計算復(fù)雜度,對邊緣圖像F1進行二維單尺度小波分解一層。其中小波基選用db2;
(4)對兩幅邊緣圖像分解得到的子圖像根據(jù)信息熵自適應(yīng)加權(quán)融合,得到融合后的4幅子圖像。融合公式如下:
F(i,j)=α1*F1(i,j)+α2*F2(i,j)
(16)
式中:α1,α2—公式(15)所求子圖的信息熵。
(5)最后對子圖像進行小波逆變換,得到最終的邊緣檢測圖像。
為了驗證本文融合算法去噪能力和邊緣檢測效果,實驗在Matlab R2016b平臺上實現(xiàn),以512×512的標準Lena圖像、不同大小和背景的齒輪圖像為例,對比分析算法在去噪能力、定位精度、邊緣連續(xù)性等方面的效果。
加入3%的椒鹽噪聲檢測Lean圖像結(jié)果如圖1所示。
圖1 實驗1
加入3%的椒鹽噪聲檢測Lean圖像客觀評價指標如表1所示。
表1 邊緣檢測算法PSNR、SNR值
從圖1和表1中可以看出:
(1)本文新型形態(tài)學(xué)采取多尺度多結(jié)構(gòu)的結(jié)構(gòu)元素,利用結(jié)構(gòu)元素尺度小去噪能力弱,但能保護圖像的細節(jié)信息,結(jié)構(gòu)元素尺度大去噪能力強,但會使圖像細節(jié)模糊的特點,使用3個不同尺度的結(jié)構(gòu)元素進行形態(tài)學(xué)操作,并且公式(13)可以通過因子i的取值控制結(jié)構(gòu)元素尺度來控制去噪效果。因此能夠達到在保護圖像細節(jié)的同時,取得良好的去噪效果;
(2)本文算法客觀評價指標峰值信噪比(PSNR)和信噪比(SNR)均高于其他算法,并且計算復(fù)雜度較小。
對Lean圖加入不同噪聲濃度的椒鹽噪聲結(jié)果如表2所示。
表2 不同噪聲濃度下PSNR、SNR值
從表2中可以看出:隨著椒鹽噪聲濃度的增加,本文形態(tài)學(xué)依然具有良好的去噪效果。
加入5%濃度噪聲的齒輪圖像實驗結(jié)果如圖2所示。
圖2 實驗2
加入5%濃度的噪聲齒輪圖像評價指標如表3所示。
表3 邊緣檢測算法PSNR、SNR和SSIM值
從圖2和表3中可以看出:當加入5%的椒鹽噪聲檢測齒輪圖像時,本文自適應(yīng)融合算法得到的齒輪邊緣圖像邊緣連續(xù)、輪廓清晰,并且客觀評價指標均高于其他算法。
加入方差0.007高斯白噪聲,檢測復(fù)雜齒輪圖像結(jié)果如圖3所示。
圖3 實驗3
針對含噪齒輪圖像邊緣檢測過程中存在難以有效抑制噪聲和檢測更多真實邊緣等問題,本文提出一種融合改進的Canny算子和新型數(shù)學(xué)形態(tài)學(xué)算法,結(jié)合小波分解的優(yōu)勢,使其在圖像噪聲濃度較高時依然具有良好的去噪效果和檢測效果。
實驗及研究結(jié)果表明:算法自適應(yīng)加權(quán)融合更好地結(jié)合了單獨使用Canny算子和數(shù)學(xué)形態(tài)學(xué)的優(yōu)勢,使得最終邊緣檢測圖在去噪效果、邊緣檢測數(shù)量、邊緣連續(xù)清晰效果和定位精度方面都有明顯的提高;并且本文新型形態(tài)學(xué)算法計算復(fù)雜度更小,具有良好的自適應(yīng)性。根據(jù)以上敘述,本文算法具有良好的去噪效果和邊緣檢測效果,計算復(fù)雜度低,并且同樣可用于其他圖像,是一種可行的無監(jiān)督算法。
本文算法也存在一定的不足,融合后的邊緣圖像部分真實邊緣未能完全檢測出來;算法用于其他復(fù)雜圖像時,能否依然能保持良好的檢測效果,這是將來需要研究的問題。