国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種新型Canny邊緣檢測算法研究

2020-01-09 08:09:08段志達(dá)魏利勝
關(guān)鍵詞:同態(tài)濾波梯度灰度

段志達(dá) 魏利勝 丁 坤

(安徽工程大學(xué)電氣工程學(xué)院, 安徽 蕪湖 241000)

1 引言

圖像的顯著特征之一是圖像的邊緣信息,邊緣檢測是提取圖像特征的一種基本方法,在圖像處理中起到重要的作用。圖像的邊緣檢測直接影響到后期圖像的分析和識別,因此進(jìn)行邊緣檢測研究具有十分重要的意義。[1-2]

常見的圖像邊緣檢測算法有Sobel、Log、Roberts等微分算子,由于微分運(yùn)算對噪聲較為敏感,導(dǎo)致邊緣檢測精度不是很高。1986年John F.Canny提出了Canny邊緣檢測算法,通過信噪比、定位精度和單邊響應(yīng)三個(gè)最優(yōu)準(zhǔn)則以提高邊緣檢測精度。傳統(tǒng)的Canny算法易受光照、噪聲等影響,需要根據(jù)經(jīng)驗(yàn)人為地設(shè)置高、低閾值。如何進(jìn)一步提高圖像邊緣檢測算法精度,國內(nèi)外諸多學(xué)者相繼進(jìn)行了研究。[3-5]張?jiān)聢A等[6]針對經(jīng)典邊緣檢測算法抗椒鹽噪聲性能較差及閾值選取自適應(yīng)差等問題,提出了基于大津法和最大熵法的改進(jìn)邊緣檢測算法,自適應(yīng)地獲取高低閾值,對于背景復(fù)雜的圖像具有更好的檢測結(jié)果;段軍等[7]針對經(jīng)典邊緣檢測算法出現(xiàn)的偽邊緣和邊緣丟失的問題,提出了一種采用統(tǒng)計(jì)濾波去噪和基于灰度的迭代法計(jì)算閾值的邊緣檢測算法,減少了偽邊緣和信息丟失的情況;Gunawan等[8]提出了一種改進(jìn)的邊緣檢測算法,用于檢測道路中的裂縫,實(shí)驗(yàn)結(jié)果表明,在Canny算法中使用閾值函數(shù)可以檢測到更好的道路損傷;錢紅瑩[9]針對傳統(tǒng)Canny算子在高斯濾波去噪時(shí)會(huì)濾除一些邊緣信息,且需要人為設(shè)定高斯濾波方差及高低閾值,缺乏自適應(yīng)性的問題,提出一種改進(jìn)的Canny檢測算法,更準(zhǔn)確地檢測到了邊緣信息;劉麗霞等[10]針對Canny算子人為設(shè)定高、低閾值的局限性問題,采用大律法自適應(yīng)地根據(jù)圖像灰度選取高、低閾值,在進(jìn)行邊緣檢測時(shí)采用波段分解,逐波段進(jìn)行處理,提高了檢測精度;Hu等[11]針對圖像過度平滑和缺陷的缺點(diǎn),提出了一種改進(jìn)的Canny算法來檢測葉片弦渦輪發(fā)電機(jī)的長度。實(shí)驗(yàn)結(jié)果表明改進(jìn)的Canny邊緣檢測算法可以準(zhǔn)確檢測刀片的真實(shí)邊緣,并具有很強(qiáng)的自適應(yīng)性;Ranita等[12]針對照明不良引起圖像中的區(qū)域邊界模糊現(xiàn)象,在梯度圖像中產(chǎn)生不確定性的問題,提出了一種基于類型2模糊集概念的算法來處理不確定性,該不確定性使用經(jīng)典的Canny邊緣檢測算法自動(dòng)選擇分割梯度圖像所需的閾值。結(jié)果表明,改進(jìn)算法在不同的基準(zhǔn)圖像和醫(yī)學(xué)圖像上檢測結(jié)果與傳統(tǒng)Canny算法相比更準(zhǔn)確。

以上研究成果,均圍繞提高圖像邊緣檢測精度展開的,但還存在一些邊緣漏檢情況。為了進(jìn)一步提高圖像邊緣檢測精度,本文提出一種新型Canny算法,將結(jié)合小波變換的同態(tài)濾波算法代替高斯濾波算法對圖像進(jìn)行濾波處理,增強(qiáng)了圖像的對比度的同時(shí)還保留了圖像的細(xì)節(jié)信息,并采用迭代閾值分割法和改進(jìn)Ostu算法分別推導(dǎo)Canny算法的高、低閾值,能夠自適應(yīng)地選取高地閾值。實(shí)驗(yàn)結(jié)果表明,本文算法減少了傳統(tǒng)Canny算法檢測的虛假邊緣,使邊緣信息更加完整,檢測的邊緣精度更高。

2 改進(jìn)的Canny算法

傳統(tǒng)的Canny算子選擇高、低閾值的方法需要人為設(shè)置,需要依賴經(jīng)驗(yàn)知識。因此,本文引入迭代閾值分割法和改進(jìn)的Ostu閾值分割法求取高低閾值。改進(jìn)的Canny算法原理實(shí)現(xiàn)如下圖所示:

2.1 基于小波變換的同態(tài)濾波

同態(tài)濾波是一種把頻率過濾和灰度變換結(jié)合起來的圖像處理方法,通過選擇合適的濾波函數(shù),使圖像灰度動(dòng)態(tài)范圍壓縮又能使感興趣的物體圖像灰度級擴(kuò)展,以改善圖像的質(zhì)量。一幅圖像可以表示成反射分量和照射分量的乘積,即:

式(1)中,i(x , y)是照射分量,r(x , y)是反射分量,并且兩者都是正值。

圖像的照射分量頻譜一般集中在低頻段,而反射分量頻譜集中在高頻段,主要體現(xiàn)在圖像的邊緣部分??梢酝ㄟ^抑制照射分量增強(qiáng)反射分量的操作來保留圖像細(xì)節(jié)信息和去除噪聲,一般先對式(1)中的公式兩邊取對數(shù),再進(jìn)行傅里葉變換。公式如下:

式(4)中,F(xiàn)(x , y)是lnf(x,y)的傅里葉變換,I(x , y)和R(x , y)是lni(x , y)和lnr(x ,y)的傅里葉變換。對式(4)中的F(x , y)利用濾波傳遞函數(shù)H(x , y)進(jìn)行濾波處理,可得:

式(5)中,Z(x , y)代表濾波后的頻譜,對其進(jìn)行傅里葉逆變換,即:

最后再對式(6)中公式兩邊進(jìn)行指數(shù)變換,如下所示:

使用傳統(tǒng)同態(tài)濾波器進(jìn)行濾波處理可能會(huì)使濾波后的圖像失去一些細(xì)節(jié)部分,因此采用一種結(jié)合小波變換的同態(tài)濾波方法,[13]-[14]用于增強(qiáng)圖像的細(xì)節(jié)信息,同時(shí)提高圖像的對比度。

本文采用Mallat算法來實(shí)現(xiàn)三級小波的快速分解,在此基礎(chǔ)上,運(yùn)用高通濾波函數(shù)調(diào)整小波分解后的高頻區(qū)域,并利用線性函數(shù)調(diào)整小波分解后的低頻區(qū)域。三級小波分解塔形圖如下圖所示:

圖2 三級小波分解示意圖

對于高頻區(qū)域小波系數(shù),使用一種改進(jìn)的巴特沃斯濾波器對LHi、HHi、HLi高頻區(qū)域的小波系數(shù)進(jìn)行調(diào)整,巴特沃斯濾波器實(shí)現(xiàn)公式如下:

式(8)中,系數(shù)p用來調(diào)節(jié)圖像的亮度不均勻性,且當(dāng)~k=0,~v=1時(shí),濾波函數(shù)H ( j ,~k,~)實(shí)現(xiàn)對LHi區(qū)域的小波系數(shù)的調(diào)整;當(dāng)~k=1,~v=1時(shí),濾波函數(shù)H ( j ,~k,~)實(shí)現(xiàn)對HHi區(qū)域的小波系數(shù)的調(diào)整;當(dāng)~k=0,~v=0時(shí),濾波函數(shù)H ( j ,~k,~)實(shí)現(xiàn)對HLi區(qū)域的小波系數(shù)的調(diào)整。

對于低頻區(qū)域的小波系數(shù),采用線性函數(shù)調(diào)整對低頻區(qū)域的小波系數(shù)進(jìn)行調(diào)整,線性函數(shù)公式選擇如下:

式(9)中,TLLn表示調(diào)整低頻小波系數(shù)的線性函數(shù),m表示低頻區(qū)域LLn小波系數(shù)的均值,且滿足0≤k≤1,且當(dāng)時(shí)k=0時(shí),圖像的細(xì)節(jié)部分能夠很好地保留下來,但是無法改善光照不均勻性;當(dāng)k=1時(shí),圖像的光照不均勻性可以得到很大程度的改善,但同時(shí)也會(huì)帶來圖像細(xì)節(jié)的損失。本文結(jié)合熵最大化的原理來自適應(yīng)地選取p和k,通過實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)p值處于0.5到1之間,k值處于0到1之間,且都以步長0.1進(jìn)行遍歷時(shí),輸出的濾波圖像效果最好。

2.2 梯度計(jì)算

本文采用Sobel算子的水平方向模板和豎直方向模板對同態(tài)濾波后的圖像進(jìn)行卷積操作,從而計(jì)算出同態(tài)濾波后的圖像的水平和豎直方向的梯度值。Sobel算子水平方向模板和豎直方向模板如下:

圖3 水平和豎直方向的梯度計(jì)算模板

水平方向的梯度計(jì)算公式如下:

式(10)中,Gradx(x , y)是經(jīng)過同態(tài)濾波后的圖像的水平方向的梯度值,Dx是水平方向的梯度計(jì)算模板,g(x , y)是同態(tài)濾波后的圖像,‘*’代表卷積操作。

豎直方向的梯度計(jì)算公式如下:

式(11)中,Gradv(x , y)是經(jīng)過同態(tài)濾波后的圖像的豎直方向的梯度值,Dv是豎直方向的梯度值計(jì)算所用的模板。

梯度幅值的計(jì)算公式如下:

式(12)中,Grad(x,y)表示經(jīng)過同態(tài)濾波后的圖像的梯度幅值。梯度的方向計(jì)算公式如下:

式(13)中,i(x , y)表示經(jīng)過同態(tài)濾波后的圖像的梯度方向。

2.3 Canny算子高、低閾值選取

本文利用迭代閾值分割法計(jì)算出經(jīng)過非極大值抑制后的圖像(以下簡稱為NMs(x,y))的最佳閾值TH,并將其作為Canny算子的高閾值,然后在NMs(x,y)的灰度范圍0到TH之間,基于改進(jìn)的Ostu法計(jì)算出最佳閾值TL,并將其作為Canny算子的低閾值。通過結(jié)合迭代閾值分割法和基于改進(jìn)的Ostu法來自適應(yīng)地選取Canny算子的最佳高、低閾值,可以解決單純使用Ostu算法或者迭代法設(shè)置高、低閾值時(shí)存在的虛假邊緣問題。

1)基于迭代閾值分割算法的高閾值選取

迭代閾值分割是一種基于逼近的分割算法,通過不斷迭代來尋找合適的閾值來將圖像分為兩類。具體算法原理如下:

首先,進(jìn)行閾值初始化:

式中T為分割圖像前景和背景的閾值,Tmax和Tmin分別為輸入圖像最大和最小灰度值。

其次,用閾值T將圖像NMs(x,y)灰度級分為A和B兩類,其中A、B兩類的平均灰度值分別為ηA和ηB。

在此基礎(chǔ)上,根據(jù)以下公式計(jì)算新的閾值T:

最后,判斷第3步和第2步求得的閾值之差DTT=T'-T是否滿足要求,如果滿足,則結(jié)束迭代過程,并將T作為Canny算法中的高閾值TH,否則,轉(zhuǎn)到第2步,并令T=T',繼續(xù)執(zhí)行迭代過程,直至結(jié)束。

2)基于改進(jìn)Ostu算法的低閾值選取

本文利用Ostu閾值分割算法在NMs(x,y)的灰度范圍0到TH之間計(jì)算最大類間方差,并將滿足最大類間方差的最佳閾值作為Canny算法中的低閾值。算法原理如下:

假設(shè)非極大值抑制后的圖像NMs(x,y)大小為M×N,且圖像中像素的灰度級大于閾值T的為前景,小于閾值T的為背景,則前景或背景像素總數(shù)占整幅圖像總像素?cái)?shù)的比例的計(jì)算公式如下所示:

式(16)中,C0代表圖像NMs(x,y)前景的像素總數(shù),λ0代表圖像NMs(x,y)前景像素總數(shù)占整幅圖像總像素?cái)?shù)的比例,C1代表圖像NMs(x,y)背景的像素總數(shù),λ1代表圖像NMs(x,y)背景像素總數(shù)占整幅圖像總像素?cái)?shù)的比例。

圖像NMs(x,y)前景和背景的平均灰度值的計(jì)算公式如下所示:

式(17)中,L代表圖像NMs(x,y)圖像灰度級上限,ni代表灰度級為i的所有灰度值的和,μ0代表圖像NMs(x,y)前景的平均灰度值,μ1代表圖像NMs(x,y)背景的平均灰度值。

圖像NMs(x,y)的整體灰度平均值計(jì)算如下:

式(18)中,μ代表整幅圖像NMs(x,y)的整體灰度平均值。

圖像NMs(x,y)前景和背景的方差為:

式(19)中,S(T)代表兩類間的方差。

為了減少計(jì)算量,式(19)中的S(T)可以等價(jià)為:

由于傳統(tǒng)的Ostu算法需要遍歷每一個(gè)像素級求最大類間方差,計(jì)算量較大,耗時(shí)較長,因此本文采用模擬退火粒子群算法[15]代替?zhèn)鹘y(tǒng)的Ostu算法中的遍歷操作來加速類間方差S(T)的最大值的計(jì)算過程。具體算法流程如下所示:

1)初始化粒子群算法的種群個(gè)數(shù)為N,自我學(xué)習(xí)因子為c1和c2,慣性權(quán)重為w,粒子速度和位置為V和X,個(gè)體和種群最佳歷史位置為Xm和Ym,個(gè)體和種群歷史最優(yōu)值S1(Xm)和S1(Ym)等參數(shù)。

2)設(shè)置模擬退火算法中的初始溫度為T,降溫系數(shù)為a,終止溫度為Tf。

3)更新粒子速度和位置為V1和X1,并計(jì)算粒子新的適應(yīng)度值S1(X1)。

4)令DS =S1(X1) -S1 (X),當(dāng)DS<0時(shí),則更新粒子位置為X=X1,然后進(jìn)行降溫,令T=a*T,當(dāng)DS>0時(shí),在此基礎(chǔ)上判斷是否滿足exp ( - DS1 /T) > rand (0,1),如果滿足,則更新粒子位置為X=X1,然后進(jìn)行降溫,T=a*T;否則保留當(dāng)前的粒子速度和位置。

5)更新粒子當(dāng)前的全局和局部最優(yōu)。

6)如果滿足T<Tf的條件時(shí),結(jié)束循環(huán)并根據(jù)種群歷史最優(yōu)值S1(Xm)輸出最優(yōu)解對應(yīng)的灰度值,并將其作為Canny算法中的低閾值TL,否則繼續(xù)從步驟3)開始。

2.4 邊緣確定

通過迭代閾值分割算法和改進(jìn)的Ostu算法可以計(jì)算出Canny算法所需的最佳高閾值TH和低閾值TL,在此基礎(chǔ)上,利用高閾值TH對圖像NMs(x,y)進(jìn)行粗分割,并將NMs(x,y)中大于TH的像素值置為1,小于TH的像素值置為0,從而得到一個(gè)強(qiáng)邊緣圖像。但是由于迭代法計(jì)算出的閾值較TH大,會(huì)使得粗分割產(chǎn)生的邊緣圖像不閉合,需要進(jìn)一步在強(qiáng)邊緣圖像各斷點(diǎn)處的8鄰域內(nèi)尋找像素值大于低閾值TL的像素點(diǎn),并將該像素點(diǎn)與對應(yīng)的斷點(diǎn)進(jìn)行連接,直到該強(qiáng)邊緣圖像形成一個(gè)閉合的輪廓。

3 實(shí)驗(yàn)驗(yàn)證

本文基于中值濾波、高斯濾波和結(jié)合小波板換的同態(tài)濾波算法設(shè)計(jì)實(shí)驗(yàn)進(jìn)行比較,以說明本文結(jié)合小波變換的同態(tài)濾波算法的有效性和可行性。實(shí)驗(yàn)利用MATLABR2016軟件進(jìn)行仿真,仿真結(jié)果如圖4所示:

可以發(fā)現(xiàn)圖4(b)中值濾波能更好地過濾掉椒鹽噪聲,但是對于高斯噪聲的抑制效果不是很好,圖4(c)高斯濾波使圖像變得模糊,丟失了圖像的一些細(xì)節(jié)信息,而圖4(d)結(jié)合小波變換的同態(tài)濾波方法濾波后的圖像在保留細(xì)節(jié)信息的同時(shí)提高了圖像的對比度,實(shí)驗(yàn)參數(shù)如下表1所示。

圖4 軸承圖濾波增強(qiáng)結(jié)果

表1 本文濾波算法和其它算法濾波效果對比表

由表1可知,結(jié)合小波變換的同態(tài)濾波后的圖像的信息熵比中值濾波和高斯濾波后的圖像的值高,圖像的細(xì)節(jié)信息保存的更加完整;而經(jīng)本文算法濾波后的圖像的對比度比中值濾波和高斯濾波后的圖像的值高,有利提高下一步邊緣檢測的精度。

為了驗(yàn)證本文邊緣檢測算法的有效性和可行性,分別基于Canny算法、Sobel算法、文獻(xiàn)[6]的Ostu-Canny算法和本文改進(jìn)的Canny邊緣檢測算法,分別對圖4(a)進(jìn)行邊緣檢測,實(shí)驗(yàn)結(jié)果如圖5所示:

圖5 軸承圖像邊緣檢測結(jié)果

從圖5(a)可以發(fā)現(xiàn),Canny算法對噪聲比較敏感,并且容易受到光照因素的影響,因此保留了噪聲產(chǎn)生的邊緣。而圖5(b)Sobel算法檢測出了大部分的邊緣,但仍然有一些細(xì)節(jié)部分并未檢測出來。圖5(c)Ostu—Canny算法檢測結(jié)果較為精準(zhǔn),但是保留了一些噪聲產(chǎn)生的邊緣。圖5(d)本文算法去除了噪聲的干擾,同時(shí),檢測的邊緣更完整,具體實(shí)驗(yàn)參數(shù)如下表2所示。

表2 本文邊緣檢測算法和其它邊緣檢測算法對比表

表2中,四種算法的峰值信噪比的值和結(jié)構(gòu)相似度的值由人工標(biāo)注邊緣的圖像為基準(zhǔn)計(jì)算所得。從表2可以發(fā)現(xiàn),與Canny算法、Sobel算法和Ostu-Canny算法相比,本文方法檢測結(jié)果結(jié)構(gòu)相似度的值較高,因此邊緣檢測結(jié)果更加準(zhǔn)確;與Canny算法、Sobel算法和Ostu-Canny算法相比,本文法檢測結(jié)果峰值信噪比的值較高,說明本文算法的抗噪聲能力更強(qiáng)。且由實(shí)驗(yàn)結(jié)果可知,沒有結(jié)合模擬退火粒子群算法時(shí),算法運(yùn)行時(shí)間為2.62s,結(jié)合模擬退火粒子群算法時(shí),本文算法運(yùn)行時(shí)間為0.72s,由此可以看出,本文算法結(jié)合了模擬退火粒子群算法,進(jìn)而加快了邊緣檢測的速度。

4 結(jié)論

針對Canny算法容易受到光照影響,且需要根據(jù)經(jīng)驗(yàn)人為地設(shè)置高、低閾值,存在自適應(yīng)性差等問題,本文算法利用結(jié)合小波變換的同態(tài)濾波代替高斯濾波對圖像進(jìn)行預(yù)處理,以改善光照不均勻的影響,提高對比度,同時(shí)降低噪聲的影響,并基于迭代閾值分割法和改進(jìn)的Ostu算法自適應(yīng)計(jì)算出Canny算法所需的最佳高、低閾值,以解決人工選取高地閾值時(shí)存在虛假邊緣問題,同時(shí),使檢測到的圖像的邊緣信息更加完整,提高了邊緣檢測精度。

猜你喜歡
同態(tài)濾波梯度灰度
基于改進(jìn)同態(tài)濾波的無人機(jī)影像勻光勻色應(yīng)用
北京測繪(2023年9期)2023-12-25 07:15:14
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
基于灰度拉伸的圖像水位識別方法研究
一種自適應(yīng)Dai-Liao共軛梯度法
一類扭積形式的梯度近Ricci孤立子
基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
基于同態(tài)濾波和Retinex的圖像去霧算法
利用同態(tài)濾波提取高分辨率遙感影像樹冠信息
遙感信息(2015年3期)2015-12-13 07:26:52
班戈县| 江山市| 江川县| 芒康县| 沙坪坝区| 六安市| 错那县| 阿拉善左旗| 张家港市| 邮箱| 纳雍县| 长治市| 新野县| 申扎县| 新和县| 余姚市| 衡阳市| 比如县| 特克斯县| 德惠市| 张家港市| 绥化市| 奉新县| 兴化市| 灵寿县| 通许县| 浦县| 蒙山县| 沈丘县| 德州市| 柘城县| 棋牌| 加查县| 罗山县| 华池县| 嘉善县| 乐山市| 三江| 沧源| 焉耆| 横峰县|