付華棟,廖一鵬
(福州大學 物理與信息工程學院,福建 福州 350108)
基于NSCT及改進Canny的圖像邊緣檢測*
付華棟,廖一鵬
(福州大學 物理與信息工程學院,福建 福州 350108)
為進一步提取豐富的圖像邊緣信息,提出了一種基于非下采樣Contourlet變換(Nonsubsampled Contourlet Transform,NSCT)及改進Canny的圖像邊緣檢測方法。該方法是將圖像進行NSCT多尺度分解,得到低頻和高頻子帶。首先對低頻子帶使用改進Canny算子提取低頻輪廓,再使用非線性函數對高頻子帶信息中各尺度各方向上的系數進行調整,實現(xiàn)邊緣增強和噪聲抑制,最后將NSCT域尺度內和尺度間的檢測結果相融合來得到完整的邊緣圖像。實驗結果表明,相比Sobel、Canny算子和現(xiàn)有的NSCT邊緣檢測方法,文中方法具有更好的邊緣檢測效果,邊緣定位準確、完整、連續(xù)、細節(jié)豐富。
邊緣檢測;NSCT;改進Canny;多尺度分解;非線性函數
圖像邊緣其實就是圖像中局部區(qū)域亮度變化劇烈的部分[1],是圖像中最重要的特征之一,它包含的目標邊界信息可以用于特征提取、目標識別等[2]。所以國內外很多學者都在研究這個熱點問題。經典的圖像邊緣檢測方法有Sobel算子、Canny算子、LOG算子及Prewitt算子等。這些方法其實是利用圖像梯度的極大值或二階導數過零點值來檢測圖像邊緣[3]。這些傳統(tǒng)算子雖簡單方便,但在邊緣附近會產生較寬的響應聲,影響邊緣定位的精度[4]。因為邊緣檢測過程中存在的復雜性,傳統(tǒng)算法在抗噪性能和邊緣定位方面還是滿足不了復雜實際應用需求。
近年來,學者們提出的改進算法不再是基于原來的單一尺度下進行處理,逐漸往多尺度方向發(fā)展。NSCT變換是小波變換的新延續(xù),比小波變換具有更強的方向選擇性。而且NSCT克服了Contourlet變換不具備平移不變性且存在頻譜混淆現(xiàn)象的缺點,是一種平移不變、多方向、多尺度的超完備變換。文獻[5]提出在NSCT域使用自適應閾值方法進行邊緣檢測,但這種算法會丟失一部分高頻信息。為了能提取到更加豐富的邊緣信息,本文提出了一種基于NSCT[6]變換及改進Canny的圖像邊緣檢測方法。該方法通過對原圖像進行NSCT多尺度分解,對所得到的低頻和高頻子帶分別采用不同的方法進行檢測,低頻使用改進Canny進行檢測,高頻使用非線性函數進行調整系數,最后將NSCT域尺度內和尺度間的檢測結果融合來獲得完整的邊緣圖像,并通過實驗驗證所提出方法的有效性。
Contourlet變換又稱塔型方向濾波器組[7],變換中的LP分解及DFB分解都涉及到下采樣,這就導致Contourlet變換缺乏平移不變性。Coifman等人提出具有平移不變性的變換能達到更高的圖像去噪效果[8]。然后Cunha等人提出了非下采樣Contourlet變換(Nonsubsampled Contourlet Transform,NSCT),它兼具Contourlet變換的各向異性和多方向性,而且實現(xiàn)了平移不變性。
NSCT由非下采樣金字塔濾波器組(NSPFB)和非下采樣方向濾波器組(NSDFB)兩部分構成[9]。其中NSPFB實現(xiàn)多尺度分解,NSDFB完成多方向分解。對圖像進行多尺度、多方向的分解,這樣可以獲得更多的細節(jié)信息。它的分解流程圖如圖1所示。
圖1 NSCT分解流程圖
傳統(tǒng)的Canny算法組成部分如下:(1)高斯平滑圖像;(2)計算圖像梯度幅值和方向;(3)對梯度幅值非極大值抑制;(4)雙閾值確定與邊緣連接。
低頻輪廓良好的檢測需要合適的Canny算子。其中傳統(tǒng)Canny算法中第一步:高斯平滑圖像,不單單濾除噪聲,也會把圖像的一些邊緣模糊掉。而經過NSCT變換之后,圖像的噪聲大部分會分布在高頻區(qū)域,這里對低頻圖像進行去噪并不合適,所以本文引入自適應分數階微分進行增強處理。傳統(tǒng)Canny算法中第四步:高、低閾值是人為設定的,而隨著圖像的改變,這一組高、低閾值并沒有針對性,肯定會影響到檢測效果。于是本文使用一種基于圖像梯度直方圖自適應確定閾值方法。
改進Canny算法如下:
(1)使用動態(tài)梯度的自適應分數階微分增強低頻圖像,有效增強圖像邊緣紋理信息。它的階次具體如下:
(1)
其中,M(i,j)表示像素點(i,j)的8領域梯度的平均值m。對于一幅M×N大小的數字圖像f(i,j),它的m值如下:
|f(i,j)-f(i-1,j)|+|f(i,j)-f(i-1,j+1)|+
|f(i,j)-f(i,j-1)|+|f(i,j)-f(i,j+1)|+
|f(i,j)-f(i+1,j-1)|+|f(i,j)-f(i+1,j)|+
|f(i,j)-f(i+1,j+1)|)
(2)
(2)計算增強后低頻圖像S(i,j)的梯度幅值和方向。它的梯度可以使用2×2一階有限差分近似式來計算,x與y的偏導數對應Px(i,j)與Py(i,j):
Px(i,j)≈(S(i+1,j)-S(i,j)+S(i+1,j+1)-S(i,j+1))/2
(3)
Py(i,j)≈(S(i,j+1)-S(i,j)+S(i+1,j+1)-S(i+1,j))/2
(4)
梯度幅值:
(5)
梯度方向:
(6)
(3)對梯度幅值進行非極大值抑制,目的就是細化梯度幅值屋脊。
(4)使用自適應高低閾值進行連接邊緣?;舅枷胧牵簩⒎菢O大值抑制后的圖像轉成梯度直方圖,它可以描繪出圖像邊緣信息,其中非邊緣信息以尖峰形式表示。通過梯度直方圖,可以從低到高獲得累計圖像點個數,只要累計數達到總像素點的H倍時,此時梯度值就確定為高閾值Th。H表示非邊緣點與總像素點個數的比值。通過實驗統(tǒng)計,H一般取0.6比較合適。而低閾值Tl定義如下:
Tl=L·Th
(7)
其中L取為0.3。
圖像通過NSCT分解后,原圖像中的邊緣、細節(jié)和噪聲都會分布在高頻子帶中。采用式(8)的非線性函數調整高頻系數,可以達到增強邊緣細節(jié)和抑制噪聲的目的[10]。
(8)
本文在NSCT高頻域中采用自適應選取各尺度各方向中的閾值,根據下式進行計算:
(9)
根據文獻[11]所談到的問題,需要先對高頻子帶系數進行歸一化,max表示子帶內系數的最大值。根據方程f(x)=x,可以計算出b的值:
(10)
當得到參數b、c的值后,函數也就固定了,于是根據式(11)調整每個高頻子帶系數:
(11)
本文提出的基于NSCT變換及改進Canny的圖像邊緣檢測方法的具體步驟如下:
(1)將原圖像進行NSCT變換,獲得低頻和高頻分量信息;
(2)使用改進Canny算子對低頻子帶信息進行提取低頻輪廓邊緣信息E1;
(3)使用非線性函數對高頻子帶信息中各尺度各方向上的系數進行調整,實現(xiàn)邊緣增強和噪聲抑制,再進行尺度1和尺度2的高頻信息加權融合,最后進行二值化處理得到高頻邊緣圖像E2;
(4)對E1與E2進行相加融合,得到完整的邊緣圖像E。
本次試驗條件:(1)硬件:臺式計算機(CPU:Intel(R) Pentium(R) CPU G2020@2.90 GHz,內存:4 GB)一臺; (2)軟件平臺:Window7操作系統(tǒng);MATLAB R2014a。實驗過程中,NSCT分解采用“maxflat”塔型分解和“dmaxflat7”方向濾波器,一共分解為3層,第一層為低頻子帶,不進行方向的分解。高頻層分別為2、3層,方向數目分別設定為4、8。為了客觀地評價實驗中得到的邊緣檢測結果,本文選用文獻[12]中的連續(xù)邊緣像素比(R)來分析以下幾種檢測算法的性能。R定義為:
(12)
式中:CEN表示邊緣圖像中連續(xù)邊緣像素總數,TEN表示邊緣圖像中總的像素數,R越大,表示邊緣圖像的邊緣連續(xù)性越好。
本文選用256×256像素的標準測試灰度圖像Lena和彩色荷花圖像進行邊緣檢測,如下圖2所示。
圖2 實驗原始圖像
為了驗證本文提出方法的有效性,采用經典的Sobel 算子、Canny 算子和現(xiàn)有的NSCT邊緣檢測方法對這兩幅圖像進行處理,所得結果與本文算法檢測的結果進行對比,分別如圖3和圖4所示。
圖3 Lena實驗結果圖像
圖4 荷花實驗結果圖像
從圖3、圖4可以觀察到,Sobel算子的邊緣檢測圖像中較多的邊緣信息沒有檢測出來,邊緣斷斷續(xù)續(xù)。Canny算子相比Sobel 算子檢測出的邊緣信息更豐富,但主要邊緣輪廓還是不清晰,丟失了一部分邊緣信息。而采用文獻[5]方法的邊緣檢測結果相比Sobel和Canny算子檢測出的邊緣細節(jié)較多,但有些邊緣會斷裂,連貫性不是很好。而本文所提出的方法與前三種方法相比輪廓更完整連貫,細節(jié)邊緣的定位更準確,相比可以獲得更多的邊緣輪廓信息。
從表1、表2中給出的數據可以觀察到:本文算法的CEN、TEN和R值都是最大的,說明本文方法可以較好地檢測出強邊緣和較弱的邊緣信息。而且本文方法也保證了較好的邊緣連續(xù)性。
表1 Lena圖像邊緣檢測結果比較
表2 荷花圖像邊緣檢測結果比較
本文提出了一種基于非下采樣Contourlet變換(NSCT)及改進Canny的圖像邊緣檢測方法。通過對原始圖像進行NSCT多尺度分解,對所獲得的低頻與高頻分量分別采用不同方法檢測,首先對低頻子帶使用改進Canny算子提取低頻輪廓,再使用非線性函數對高頻子帶信息中各尺度各方向上的系數進行調整,實現(xiàn)邊緣增強和噪聲抑制,最后將NSCT域尺度內和尺度間的檢測結果融合來得到完整的邊緣圖像。實驗結果說明:本文算法對于灰度圖像和彩色圖像都是適用的,相對傳統(tǒng)和現(xiàn)有的NSCT邊緣檢測方法,檢測到的輪廓更完整連貫,邊緣的定位更準確。
[1] 劉靜寒, 魯昌華, 劉玉娜. 基于非下采樣Contourlet變換和形態(tài)學的圖像邊緣檢測[J]. 微型機與應用, 2012, 31(8):38-40.
[2] TAKASU T, KUMAGAI Y, OHASHI G. Object extraction using an edge-based feature for query-by-sketch image retrieval[J]. Ieice Transactions on Information & Systems, 2015, E98.D(1):214-217.
[3] CARPINTERI A, CORNETTI P, KOLWANKAR K M. Calculation of the tensile and flexural strength of disordered materials using fractional calculus[J]. Chaos Solitons and Fractals, 2004, 21(3):623-632.
[4] 袁春蘭, 熊宗龍, 周雪花,等. 基于Sobel算子的圖像邊緣檢測研究[J]. 激光與紅外, 2009(1):85-87.
[5] 華梓錚, 華澤璽. 結合NSCT高低頻特征的圖像邊緣檢測算法[J]. 四川師范大學學報(自然科學版), 2014, 37(4):612-617.
[6] 吳一全, 殷駿, 戴一冕. 基于人工蜂群優(yōu)化的NSCT域圖像模糊集增強方法[J]. 華南理工大學學報 (自然科學版), 2015, 43(1):59-65..
[7] 廖一鵬, 王衛(wèi)星. 結合多尺度邊緣增強及自適應谷底檢測的浮選氣泡圖像分割[J]. 光學精密工程, 2016, 34(10):2589-2600.
[8] BUI T D, CHEN G. Translation-invariant denoising using multiwavelets[J]. IEEE Transactions on Signal Processing, 1998, 46(12): 3414-3420.
[9] ZHOU J, CUNHA A L, DO M N. Nonsubsampled contourlet transform: construction and application in enhancement[C]. IEEE International Conference on Image Processing. IEEE, 2005:469-472.
[10] 石丹, 李慶武, 倪雪,等. 基于Contourlet變換的紅外圖像非線性增強算法[J].光學學報, 2009, 29(2):342-346.
[11] 顧桂梅, 黃濤. 基于自適應多尺度積閾值的鋼軌裂紋紅外圖像增強[J]. 鐵道學報, 2015,37(2):58-63.
[12] 張光玉, 龔光珍, 朱維樂. 基于克隆算法的彩色圖像邊緣檢測新算法[J]. 電子學報, 2006, 34(4):702-707.
Edge detection of images based on NSCT and improved Canny
Fu Huadong, Liao Yipeng
(College of Physics and Information Engineering, Fuzhou University, Fuzhou 350108, China)
In order to extract more abundant image edge information, a method of image edge detection based on Nonsubsampled Contourlet Transform (NSCT) and improved Canny was proposed. In this method, the image was decomposed in multiple scales by using NSCT to obtain the low frequency sub-band and high frequency sub-band. Firstly, the improved Canny operator was used to extract the low frequency contours for the low frequency sub-band, and then the nonlinear function was used to adjust the coefficients in the various directions of the high frequency sub-band to realize the edge enhancement and noise suppression. Finally, the complete edge image was obtained through the fusion of the measurement results of the same and different scales. Experimental results show that compared with Sobel, Canny and the existing NSCT edge detection method, the proposed method has better edge detection effect, and the edge location is accurate, complete, continuous and rich in details.
edge detection; NSCT; improved Canny; multi-scale decomposition; nonlinear function
TP391.4
A
10.19358/j.issn.1674- 7720.2017.23.014
付華棟,廖一鵬.基于NSCT及改進Canny的圖像邊緣檢測[J].微型機與應用,2017,36(23):46-49,57.
國家自然科學基金項目(61170147)
2017-06-02)
付華棟(1992-),男,碩士研究生,主要研究方向:圖像處理。
廖一鵬(1982-),男,博士研究生,講師,主要研究方向:圖像處理、模式識別。