唐守鋒,翟少奇,仝光明,鐘鵬飛,史經(jīng)燦,史 凡
(中國礦業(yè)大學(xué) 信息與控制工程學(xué)院,江蘇 徐州 221116)
紅外圖像邊緣檢測伴隨著紅外技術(shù)的日益發(fā)展而成為圖像處理中熱點(diǎn)問題之一,并在特征提取、目標(biāo)識別等領(lǐng)域有著廣泛應(yīng)用。針對紅外圖像邊緣提取常用的方法有Sobel算子、Canny算子、Krisch算子等一階微分算子和類似Laplace算子的二階微分算子[1-3],紅外圖像存在以下問題:①分辨率低以及圖像對比度低;②邊緣細(xì)節(jié)損失、模糊;③存在各種背景噪聲等。由于上述原因,增加了對紅外圖像邊緣檢測的難度。因此,許多學(xué)者針對傳統(tǒng)邊緣檢測方法進(jìn)行改進(jìn),提升邊緣檢測的精度以及普適性。文獻(xiàn)[3]利用數(shù)學(xué)形態(tài)學(xué)方法對圖像進(jìn)行邊緣檢測,得到的圖像邊緣比較完整且光滑,但在噪聲圖像中出現(xiàn)了偽邊緣且抗噪能力不足。文獻(xiàn)[4]對傳統(tǒng)的Canny算子進(jìn)行改進(jìn),在濾波環(huán)節(jié)使用數(shù)學(xué)形態(tài)學(xué)代替高斯濾波進(jìn)行去噪,利用Otsu算法代替雙閾值算法提高算法的自適應(yīng)性,在噪聲環(huán)境下取得了較好的邊緣檢測效果且具有較強(qiáng)的自適應(yīng)性。文獻(xiàn)[5]對傳統(tǒng)Sobel算子進(jìn)行改進(jìn)并在FPGA中實(shí)現(xiàn),取得了良好的檢測效果。文獻(xiàn)[6]利用深度學(xué)習(xí)技術(shù)在紅外圖像邊緣提取方向提出一種改進(jìn)的整體嵌套邊緣檢測(holistically-nested edge detection,HED)網(wǎng)絡(luò),該方法可以有效抑制背景干擾。任何單一的算法都不能完全兼容所有算法的優(yōu)點(diǎn)。因此這就促使研究者們一直致力于構(gòu)想出性能更優(yōu)的邊緣檢測算子。
因此,本文針對傳統(tǒng)Canny算法的缺陷,從濾波環(huán)節(jié)、梯度幅值計算環(huán)節(jié)以及閾值選取環(huán)節(jié)進(jìn)行改進(jìn),并為了進(jìn)一步提升算法的抗噪性,將多尺度形態(tài)學(xué)與改進(jìn)的Canny算法相結(jié)合提出一種邊緣檢測算法。實(shí)驗(yàn)結(jié)果表明,本文算法具備很好的抗噪性,檢測后得到邊緣圖像輪廓清晰平滑,細(xì)節(jié)邊緣突出,層次感鮮明。
Canny邊緣檢測算法被John F.Canny提出,它是一種傳統(tǒng)的多級步驟邊緣檢測方法且在理論上完善了邊緣檢測評價標(biāo)準(zhǔn)。Canny算子檢測精度高且運(yùn)算速度快,但是通過對算法的原理的研究和分析,發(fā)現(xiàn)其中存在不少缺陷,算法流程如圖1所示。
圖1 傳統(tǒng)Canny算法流程
Canny算法通常處理的圖像為灰度圖,紅外圖像有灰度圖和彩色圖,因此圖中的輸入圖像為紅外圖像的灰度圖。輸出圖像為Canny算法邊緣檢測梯度二值化圖。
傳統(tǒng)Canny算法存在以下缺陷:①傳統(tǒng)Canny算子使用高斯濾波進(jìn)行平滑降噪,僅考慮了圖像在空間域內(nèi)的相似性,在濾波過程中會導(dǎo)致部分有用的弱邊緣丟失,并且高斯濾波卷積核大小的選取受人為因素的影響較大,若卷積核半徑的取值較小,圖像的噪聲無法得到有效抑制,當(dāng)核的大小過大,則平滑后的圖像太模糊,導(dǎo)致邊緣定位精度降低,在處理不同圖像時難以準(zhǔn)確的取得適應(yīng)值;②傳統(tǒng)Canny算法流程圖中采用2×2大小的卷積核,僅從水平和豎直兩個方向進(jìn)行檢測,卷積核較小,無法提取到完整的邊緣信息,且對噪聲過于敏感,容易出現(xiàn)偽邊緣;③傳統(tǒng)Canny算法對高低閾值的選取方式是依靠人為經(jīng)驗(yàn)進(jìn)行設(shè)定,而不是依據(jù)圖像本身的特性決定,因此不僅無法顧及局部特征信息,還會因閾值的不確定性而出現(xiàn)一定的誤差,缺乏自適應(yīng)性。
針對上述傳統(tǒng)Canny算子中存在的缺陷,本文對其進(jìn)行了改進(jìn),本文主要在以下3個方面進(jìn)行了改進(jìn):①采用快速引導(dǎo)濾波代替高斯濾波;②將原來2×2的模板大小改為3×3,并增加對角方向上的梯度分量;③采用改進(jìn)的Otsu算法對高低閾值進(jìn)行選取。
引導(dǎo)濾波[7]又稱導(dǎo)向?yàn)V波,由何凱明等提出,是一種在保留雙邊濾波優(yōu)勢的基礎(chǔ)之上,同時能降低算法時間復(fù)雜度,改善邊緣輪廓信息的濾波器。引導(dǎo)濾波是通過輸入一幅圖像作為導(dǎo)向圖I(x,y), 對初始圖像P(x,y) 進(jìn)行濾波處理,盡可能使得輸出圖像Q(x,y)的梯度和導(dǎo)向圖相似,同時讓輸出圖像的大致輪廓與輸入圖像相似,以此來保留邊緣并且濾除噪聲。而快速引導(dǎo)濾波基本原理是先將引導(dǎo)圖I(x,y) 和輸入圖P(x,y) 進(jìn)行下采樣后作為新的引導(dǎo)圖和輸入圖對系數(shù)ak和bk進(jìn)行計算,然后對ak和bk進(jìn)行上采樣恢復(fù)原始大小,快速引導(dǎo)濾波大大減少了濾波的計算時間。引導(dǎo)濾波的原理如圖2所示。
圖2 引導(dǎo)濾波原理
圖2已知的是I和p,需要求的是q,圖中的n代表噪聲,而q是p消除噪聲后的圖像。本文將紅外圖像看作是一個二維函數(shù),假設(shè)該函數(shù)的輸出與輸入在一個二維窗口內(nèi)滿足線性關(guān)系,公式如下
qi=akIi+bk, ?i∈ωk
(1)
其中,q為輸出像素的值,I為輸入像素值,ωk為滑動窗口,k為此時窗口中心像素點(diǎn)的索引,ak和bk是當(dāng)窗口中心位于k時該線性函數(shù)的系數(shù)。為了擬合函數(shù)的輸出值q與真實(shí)值p之間的差距最小,并以此來求解每一個局部線性函數(shù)中的系數(shù)大小。通過最小二乘法進(jìn)行計算,轉(zhuǎn)化為最優(yōu)化問題即
(2)
(3)
式(2)為引導(dǎo)濾波算法最小二乘法表示的方法,式(3) 中E(ak,bk) 表示計算最優(yōu)值的損失函數(shù),ε是為了防止ak過大而引入的正則化參數(shù)。通過計算后,我們可以求得線性函數(shù)的系數(shù)ak和bk為
(4)
(5)
(6)
本文傳統(tǒng)Canny算法中2×2的鄰域內(nèi)有限差分模板大小改為3×3,在保留原Sobel算子卷積模板的基礎(chǔ)上,以x方向?yàn)榛鶞?zhǔn),逆時針增加了45°和135°方向上一階偏導(dǎo)數(shù)的差分模板。中心像素8鄰域內(nèi)的梯度模板可以表示為
(7)
其中,Sx、SOpr、Sy、SOpl分別表示x方向、45° 方向、y方向以及135° 方向上的卷積核。通過卷積核對圖像進(jìn)行卷積操作,分別得到各個方向上的梯度分量gx、gOpr、gy和gOpl, 最后進(jìn)行計算得到圖像的梯度幅值G與梯度方向角θ
(8)
(9)
傳統(tǒng)OTSU算法通過計算不同閾值下前景與背景的最大類間方差,使得兩類像素之間區(qū)分度最大,以此來獲取最佳閾值。假設(shè)一幅圖像表示為I(x,y), 圖像大小為M×N, 前景GF和背景GD的分割閾值為T, 灰度值為i的像素點(diǎn)出現(xiàn)的概率記作Pi。 OTSU算法計算閾值則可以表示為
(10)
(11)
μ=ω0·μ0+ω1·μ1
(12)
σ2=ω0(μ0-μ)2+ω1(μ1-μ)2
(13)
其中,ω0、ω1表示前景和背景像素點(diǎn)在整幅圖像中所占的比例,μ、μ0、μ1分別代表整幅圖像、前景區(qū)域以及背景區(qū)域的平均灰度值,σ2表示為類間方差。將每個灰度值作為閾值進(jìn)行計算,選取最大的類間方差值所對應(yīng)的灰度值作為最佳閾值即
(14)
本文首先將傳統(tǒng)OTSU算法對類間方差計算中的平均灰度改為方差信息。使用方差來代替平均灰度值具有更好的自適應(yīng)性。改進(jìn)后的OTSU算法可以表示為
(15)
(16)
(17)
同時,由于整體圖像的亮度較暗,將閾值領(lǐng)域內(nèi)灰度值的分布概率作為權(quán)重,使得閾值向低灰度區(qū)域偏移,已獲得最佳閾值。添加權(quán)重后的類間方差σ2為
(18)
(19)
式中:等號左側(cè)表示閾值T在范圍為 (2k+1) 的鄰域內(nèi)灰度的分布概率,本文k中取值為2。最終,通過上述式(14)得到最佳閾值。
形態(tài)學(xué)邊緣檢測能夠有效抑制圖像噪聲,其最重要的是對結(jié)構(gòu)元素的選取,選擇不同大小結(jié)構(gòu)的結(jié)構(gòu)元素,處理后的效果也大相徑庭。為達(dá)到有效識別邊緣、平滑噪聲的目的,需要選取合適尺度和類型的結(jié)構(gòu)元素進(jìn)行形態(tài)學(xué)邊緣檢測。
為進(jìn)一步提高改進(jìn)算法的抗噪能力,選擇使用3個不同大小結(jié)構(gòu)的結(jié)構(gòu)元素對圖像進(jìn)行檢測,既對噪聲具有好的抑制作用,又可以得到更完整的邊緣輪廓。本文中選用的結(jié)構(gòu)元素B1、B2、B3的具體形式分別如下
(20)
首先,采用抗噪膨脹型算子對圖像的外邊緣輪廓進(jìn)行提取,同時通過抗噪腐蝕型算子得到圖像的內(nèi)邊緣,算子的具體公式如下
yd=(((f°B1)·B2·B3)°B3⊕B1)°B1-
((f°B1)·B2·B3)°B3
(21)
ye=((f°B1)·B2·B3)°B3-
(((f°B1)·B2·B3)ΘB1)·B1
(22)
式中:yd表示為外邊緣輪廓,ye表示內(nèi)邊緣輪廓,f為輸入圖像,°為開運(yùn)算,·為閉運(yùn)算,⊕為膨脹運(yùn)算,Θ為腐蝕運(yùn)算。
最后將得到的內(nèi)外邊緣、界于內(nèi)外邊緣之間的邊緣進(jìn)行加權(quán)融合,從而得到增強(qiáng)的抗噪形態(tài)學(xué)邊緣檢測算法,具體融合方式為
Emax=max(ye,yd),Emin=min(ye,yd)
(23)
Ea=yd+ye+1.2(Emax-Emin)
(24)
其中,Ea為改進(jìn)后的形態(tài)學(xué)邊緣檢測算法處理后的低噪邊緣圖像。
本文將改進(jìn)的Canny算子與多尺度形態(tài)學(xué)進(jìn)行融合,提出一種基于改進(jìn)Canny算子與數(shù)字形態(tài)學(xué)的邊緣檢測算法。融合算法具體流程如圖3所示。
圖3 算法流程
圖3所示輸入圖像為紅外圖像,輸出圖像為融合算法處理得到的邊緣檢測結(jié)果圖。借鑒文獻(xiàn)[9]對雙閾值連接的處理方法,對兩者進(jìn)行融合,得到輪廓清晰,降噪效果良好的邊緣圖像。具體步驟如下:
(1)首先,分別采用改進(jìn)的Canny算法和形態(tài)學(xué)方法對輸入圖像的邊緣進(jìn)行檢測,得到邊緣圖像E1、E2;
(2)其次,對兩幅邊緣圖像作差,求得E1與E2之間的差異圖Ed, 即
Ed=E1-E2
(25)
(3)針對差異圖中灰度值不為零的像素點(diǎn)Ed(x,y), 在其5×5鄰域內(nèi)根據(jù)區(qū)域生長法尋找與其相連的邊緣點(diǎn),并標(biāo)記為1;
(4)確定細(xì)節(jié)邊緣點(diǎn)。若在重新生成的矩陣內(nèi),中心像素點(diǎn)周圍存在1的個數(shù)大于4,則該點(diǎn)為弱邊緣點(diǎn)。最終,得到細(xì)節(jié)邊緣圖e(x,y), 示意圖如圖4所示;
圖4 像素點(diǎn)鄰域及其生長結(jié)果
(5)將邊緣圖像E1、E2與細(xì)節(jié)邊緣圖e(x,y) 進(jìn)行有效融合得到輪廓清晰、細(xì)節(jié)突出的圖像邊緣E
E=E1*E2+1.5e
(26)
式中:*表示取模操作,E表示為融合后的邊緣圖。
為驗(yàn)證本文所提算法對紅外圖像邊緣檢測的優(yōu)越性,本次進(jìn)行實(shí)驗(yàn)的平臺配置為:硬件環(huán)境CPU Intel(R) Core(TM)-i5-4200H @3.4 GHz、內(nèi)存為4 GB,運(yùn)行在Windows 10操作系統(tǒng),運(yùn)行軟件為Visual Studio 2015。如圖5所示,分別為行人車輛、房屋建筑、原油儲罐內(nèi)部場景以及加了噪聲的原油儲罐內(nèi)部場景下不同算法對紅外圖像的邊緣檢測結(jié)果。
圖5 不同方法對紅外圖像的邊緣檢測結(jié)果(行人車輛)
圖5(a)~圖5(e)分別表示原始圖像、傳統(tǒng)Canny算子、文獻(xiàn)[4]所提改進(jìn)后的Canny算法、文獻(xiàn)[10]所提改進(jìn)的形態(tài)學(xué)邊緣檢測算法以及本文中提出算法檢測后的邊緣圖像。對比圖5中的結(jié)果圖可以看出,傳統(tǒng)的Canny邊緣檢測算子雖然可以檢測到較為豐富的圖像邊緣,并且定位精度較高,可以提取到大量的細(xì)節(jié)邊緣,但同時也提取到許多無用信息,存在許多誤檢,視覺效果較差;通過文獻(xiàn)[4]和文獻(xiàn)[10]所提算法處理后得到的邊緣圖像相比于傳統(tǒng)的Canny算子檢測效果得到了明顯的提升,檢測到的圖像邊緣較為完整,且輪廓邊緣清晰,但仔細(xì)觀察圖5(c)可以看出結(jié)果圖中依舊存在不少偽邊緣,而圖5(d)雖然整體圖像較為平滑,且大致輪廓較為清晰,但原圖中的部分細(xì)節(jié)邊緣處理后未得到很好的保留。通過圖5(e)可以看出,本文算法相較于其它算法處理后的邊緣圖像不僅檢測到的邊緣輪廓更加清晰,并且可以保留更多的細(xì)節(jié)邊緣,整體圖像平滑,視覺效果更佳。
圖6和圖7分別展示了不同方法對油罐內(nèi)部和城鄉(xiāng)建筑場景的紅外圖像邊緣檢測結(jié)果。從圖6(b)和圖7(b)結(jié)果可以看出,經(jīng)典Canny邊緣檢測算法對油罐內(nèi)部的紅外圖像的檢測效果明顯優(yōu)于房屋建筑場景下的紅外圖像,對于較復(fù)雜,內(nèi)含細(xì)節(jié)信息量較豐富的建筑圖像,Canny算法雖然可以得到較為完整的輪廓邊緣,但圖像中存在比較多的偽邊緣,檢測的準(zhǔn)確率較低,圖像整體看上去比較雜亂,且圖像視覺效果略顯生硬;對比圖6、圖7中的圖(c)和圖(d)可以看出,在房屋建筑場景內(nèi),圖6中圖(d)的檢測效果明顯優(yōu)于圖(c),即在復(fù)雜,細(xì)節(jié)信息較多的環(huán)境中,改進(jìn)的形態(tài)學(xué)邊緣檢測算法對圖像的檢測效果更佳,但在圖7中,改進(jìn)的Canny算子相對于多尺度形態(tài)學(xué)操作,處理結(jié)果后的邊緣輪廓更完整,細(xì)節(jié)邊緣更加突出;本文算法在兩種環(huán)境下,檢測到的邊緣信息均較為完整清晰,且偽邊緣非常少,圖像視覺效果更佳。因此,從上述3組對比實(shí)驗(yàn)可以得出,本文算法在檢測城鄉(xiāng)建筑以及車輛行人等不同場景紅外圖像的邊緣具有良好的自適應(yīng)性,邊緣相對更加完整、平滑且具備更佳的定位精度。
圖6 不同方法對紅外圖像的邊緣檢測結(jié)果(城鄉(xiāng)建筑)
圖7 不同方法對紅外圖像的邊緣檢測結(jié)果(油罐內(nèi)部)
為了進(jìn)一步驗(yàn)證本文算法對含噪聲圖像的檢測性能,在行人車輛、城鄉(xiāng)建筑、有關(guān)內(nèi)部場景下的各選一幅圖像中添加椒鹽噪聲以及高斯白噪聲,并采用上文中對比實(shí)驗(yàn)中的算法進(jìn)行邊緣檢測實(shí)驗(yàn)。
對比圖8(a)~圖8(e)可以看出,在處理添加椒鹽噪聲后的紅外圖像時,傳統(tǒng)Canny邊緣檢測算法的檢測效果很不理想,受噪聲的影響比較嚴(yán)重,導(dǎo)致邊緣被噪聲“淹沒”,無法準(zhǔn)確的檢測到輪廓邊緣;通過圖8(c)和圖8(d),可以看出改進(jìn)后的Canny算法和改進(jìn)形態(tài)學(xué)邊緣檢測算法對噪聲起到了一定的抑制作用,兩者檢測到的輪廓均比較完整,但前者中還是會存在不少噪聲和偽邊緣,后者整體圖像相對模糊,缺少細(xì)節(jié)邊緣。通過圖8(e)可以看出,本文算法相較于其余算法,不僅可以檢測到更加清晰完整的邊緣,且圖像中含有的噪聲較少,對椒鹽噪聲起到了很好的抑制作用。
圖8 含椒鹽噪聲情況下圖像邊緣檢測效果
從圖9可以看出,改進(jìn)后的Canny算法和改進(jìn)形態(tài)學(xué)邊緣檢測算法受噪聲的影響小一些,可以識別到目標(biāo)的大致輪廓,但還是存在漏檢、毛刺現(xiàn)象。對比其它結(jié)果圖,明顯可以看出本文算法不僅有效抑制了噪聲的干擾和非邊緣點(diǎn)的出現(xiàn),且邊緣輪廓更加平滑連續(xù)。
圖9 含高斯噪聲情況下圖像邊緣檢測效果
為了進(jìn)一步證實(shí)本文所提算法的有效性,通過對不同算法處理后圖像的均方根誤差(mean squared error)和圖像的峰值信噪比(peak signal to noise ratio)進(jìn)行計算,以此為依據(jù)對圖像的邊緣檢測效果進(jìn)行評價。
MSE即均方根誤差,指參數(shù)估計值與參數(shù)真值之差平方的期望值。均方誤差可以表征輸入圖像與對比圖的相似程度,可以衡量處理后的邊緣圖像是否對原圖中的邊緣信息得到完整的保留。MSE的值越小,則說明檢測效果更佳。其計算公式為
(27)
式中:f′(i,j)、f(i,j) 分別為邊緣圖像和輸入圖像,M和N代表圖像的寬和高。
PSNR即圖像的峰值信噪比,表示圖像的最大信號量與噪聲強(qiáng)度的比值,同樣是目前使用最為廣泛的圖像邊緣評價指標(biāo)之一。圖像的噪聲越小,峰值信噪比越大,反之峰值信噪比越大。其計算公式為
(28)
將式(27)帶入得
(29)
式中:f′(i,j)、f(i,j) 分別為邊緣圖像和輸入圖像,M和N分別代表圖像的寬和高,L為每個采樣點(diǎn)位數(shù),假設(shè)圖像每個采樣點(diǎn)用8位表示, max(L) 的取值為255。
表1展示了部分不同邊緣檢測算法對不含噪聲圖像處理后邊緣圖像MSE以及PNSR的對比結(jié)果,以不含噪聲圖像的Canny算子檢測結(jié)果為標(biāo)準(zhǔn)。
表1 不同算法處理后圖像的結(jié)果
(1)無噪聲環(huán)境下
通過表1可以看出,在不同場景下,本文算法處理后的MSE均為最小值,文獻(xiàn)[4]算法和文獻(xiàn)[10]算法之間的值相差較小,而Canny算子處理后的MSE值最高。這表明保留圖像邊緣的清晰和完整性方面,本文算法的檢測效果最佳,所得圖像不僅邊緣紋理特征顯著而且細(xì)節(jié)信息較豐富。而本文算法處理后圖像PSNR最大、多尺度形態(tài)學(xué)次之、Canny算子最差,說明本文算法處理后得到的圖像相較于其它算法邊緣更加平滑,噪聲更小,視覺效果更佳。
表2展示了部分不同邊緣檢測算法對含噪聲圖像處理后邊緣圖像MSE以及PNSR的對比結(jié)果,以含噪聲圖像的Canny算子檢測結(jié)果為標(biāo)準(zhǔn)。
表2 不同算法處理噪聲后圖像的結(jié)果
(2)含噪聲環(huán)境下
通過表2可以看出,在不同噪聲的影響下,Canny算子檢測到圖像邊緣的MSE均取得最大值,且PSNR為最小值,說明Canny算法對圖像的噪聲非常敏感;文獻(xiàn)[4]算法和文獻(xiàn)[10]算法所得結(jié)果兩者相比,文獻(xiàn)[4]算法對噪聲更加敏感,處理后邊緣圖像的MSE更大,且PSNR值更??;反觀本文算法在不同噪聲環(huán)境中,處理后圖像的MSE均遠(yuǎn)小于其它算法,PSNR也為最大值。綜上所述,本文算法在處理含噪聲圖像時對噪聲具有更好的抑制效果,對邊緣的檢測性能更佳。
本文設(shè)計了一種基于改進(jìn)Canny算子與多尺度形態(tài)學(xué)融合的邊緣檢測算法對紅外圖像進(jìn)行邊緣檢測。該方法針對傳統(tǒng)Canny算法對噪聲敏感、存在偽邊緣以及缺乏自適應(yīng)性的問題進(jìn)行改進(jìn),并為了進(jìn)一步提升算法對噪聲的抑制效果,與多尺度形態(tài)學(xué)邊緣算法進(jìn)行融合,得到最終的邊緣檢測算法;最后,通過仿真實(shí)驗(yàn)進(jìn)行對比與分析,從視覺效果和客觀評價兩方面驗(yàn)證了本算法的有效性,具備很好的抗噪性,檢測后得到邊緣圖像輪廓清晰平滑,細(xì)節(jié)邊緣突出,層次感鮮明,并且可以實(shí)際應(yīng)用于原油儲油罐內(nèi)部探測以及紅外目標(biāo)識別等領(lǐng)域。