摘 要:提出用一個非線性的小波尺度空間代替高斯尺度空間,得到小波尺度空間中的邊緣檢測算法。實驗結果表明該邊緣檢測方法優于Canny邊緣檢測的多尺度方法,能夠保留更多的圖像細節邊緣,具有較強的抗噪聲能力。
關鍵詞:邊緣檢測;尺度空間;平移不變小波閾值;高斯濾波
中圖分類號:TN911.73文獻標志碼:A
文章編號:1001—3695(2007)03—0097—03
邊緣檢測是計算機視覺和圖像分析領域中一個非常基礎而又重要的課題。邊緣表示了信號的突變情況,它包含了圖像的大量信息,反映了物體的特征。因此,尋求有效的邊緣檢測方法一直是人們研究的重點。傳統的邊緣檢測算子如Robert、Sobel、Prewitt和Kirch等算子都是對像素點的領域操作,用像素模板逼近梯度。這些邊緣檢測算子一般對噪聲比較敏感,并且常常會在檢測邊緣的同時加強噪聲。基于傳統邊緣檢測的不足,人們從各個角度提出了新的邊緣檢測算法:Marr和Hildreth[1]引入了邊緣檢測的理論并用LOG算子的零交叉點來確定邊緣;Haralick[2]利用二階方向導數的零交叉點來確定圖像的邊緣;Canny[3]首次提出了用于圖像邊緣檢測的一種連續的計算模型,給出邊緣檢測準則并依此提出了次最優的高斯函數一階導數邊緣檢測算子。
用單一尺度的邊緣檢測算子不可能正確地檢測出邊緣,同時,為避免在濾除噪聲時影響邊緣的準確檢測,用多尺度的方法檢測邊緣越來越引起人們的重視。多尺度邊緣檢測就是有效地組合利用多個不同尺度的邊緣檢測算子,正確地檢測出圖像的邊緣。常用的多尺度邊緣檢測方法是,先分別用幾個不同尺度的邊緣檢測算子檢測邊緣,再組合它們的輸出結果以獲得理想的邊緣,如多尺度形態學邊緣檢測[4]、多尺度自適應加權形態邊緣檢測算法[5]。但如何根據不同的圖像選擇尺度參數和如何有效地組合不同尺度濾波器的輸出結果,并沒有得到很好的解決。組合幾個不同尺度的Canny邊緣檢測結果得到其多尺度形式。實際上,Canny邊緣檢測方法的多尺度形式等價于在一個高斯線性尺度空間中進行Canny最優算子的邊緣檢測。高斯線性尺度空間是通過高斯平滑濾波獲得的。高斯濾波實際上是一種線性低通濾波,這種濾波模糊圖像的部分邊緣,使原圖像出現過度平滑及邊緣移位現象,不利于圖像的邊緣檢測。因此可以用非線性的小波尺度空間代替高斯尺度空間作邊緣檢測,這樣能避免上述問題,獲得更好的邊緣檢測結果。
1 尺度空間
1983年,Witkin[6]提出尺度空間的概念,開辟了多尺度邊緣檢測的廣闊空間。尺度空間把一組圖像同時在多個尺度上表述,圖像的多個尺度通過高斯平滑來獲得。假設I是R2中的一個有界子集, f:I→R表示原始圖像,L:I×R→R表示它的尺度空間,由以下公式定義
其中,g(x,y,σ)表示兩維的高斯核。由式(1)定義的尺度空間是線性的。
2002年,Chambolle和Lucier[7]提出了一個基于小波的非線性圖像光滑尺度空間。該尺度空間是通過迭代的平移不變小波閾值得到的。他們提出可以將迭代的平移不變小波閾值看作L2(I)上的一個連續收縮半群,即可以把它們看作關于B11(L1(I))空間半范數的梯度下降,從而可以在對圖像進行迭代的平移不變小波閾值中得到圖像的一個非線性小波尺度空間。
2 小波尺度空間中的邊緣檢測
由于物理和光照等原因,實際圖像中的邊緣常常產生在不同的尺度范圍上,并且每一邊緣像元的尺度信息是未知的,利用單一固定尺度的邊緣檢測算子不可能最佳地檢測出這些邊緣。實際上,小尺度參數的邊緣檢測算子能夠檢測出灰度發生的細變化,而大尺度參數的邊緣檢測算子能夠檢測出圖像發生的粗變化,并且相同類型的邊緣在不同尺度上存在著因果關系。因此,利用多尺度技術檢測邊緣是獲得理想邊緣檢測的一個好途徑。所謂多尺度邊緣檢測,就是有效組合利用多個不同尺度的邊緣檢測算子同時正確地檢測一幅圖像內發生在各個尺度上的邊緣。Canny邊緣檢測的多尺度方法就是組合利用多個不同尺度的Canny檢測算子進行邊緣檢測。
從尺度空間的觀點來說,Canny邊緣檢測的多尺度方法等價于在一個高斯線性尺度空間中進行Canny最優算子的邊緣檢測。該尺度空間用高斯函數作為濾波器,雖然高斯平滑具有良好的尺度性能及容易計算的特點,但是高斯平滑是一種線性低通濾波,這種濾波會導致一些邊緣模糊,使原圖像出現過度平滑及邊緣移位現象,不利于圖像的邊緣檢測。筆者用非線性的小波尺度空間代替高斯尺度空間作邊緣檢測,就能避免上述問題,獲得更好的邊緣檢測結果,得到本文的小波尺度空間中的邊緣檢測算法。新算法的具體步驟如下:
根據小波尺度空間的定義,對尺度進行等間距采樣。尺度是產生小波尺度空間在該尺度上的圖像時所用閾值的兩倍。
(2)獲得邊緣強度映射
先用迭代的平移不變小波閾值產生(1)中尺度集合上的小波尺度空間;然后在每個尺度上,作高斯導數得到邊緣強度。假設f′k(r,c), k=0,1,…,K-1表示圖像f(r,c)在尺度σk的邊緣強度。
(3)組合邊緣強度
通過簡單的加權求和組合不同尺度上的邊緣強度,即
其中,wk是尺度σk上的加權。關于權值wk的取法:①權值wk取均值,即wk=1/K,此時各個尺度檢測的邊緣對最終邊緣貢獻一樣大,適合于無噪聲或噪聲較小的圖像;②對于含噪的圖像,為了更好地濾除噪聲得到最佳的邊緣圖像,取非均值權值。其基本原則根據不同尺度抗噪性能的不同來確定。大尺寸的閾值濾波去除噪聲能力強,小尺寸的閾值濾波去噪聲能力弱,因而可將大尺度的權重取得大一些,小尺度取得小一些。以下算法定量地給出了不同尺度下的權值:
這樣,所取的權值與圖像差值成反比,大尺度下加權因子取得大一些,小尺度下取得小一些,得到抗噪性能和細節保持兼顧的良好邊緣。
(4)非最大運算方法
式(2)結果中的山脊就是圖像的邊緣,因此可以采用非最大運算方法[4]提取圖像的邊緣點。不是局部峰值的梯度值設為零。找到邊緣點連接的集合。設a1,…,a8是像素a的3×3鄰域上的像素值,即
這樣得到的圖像邊緣較厚,采用文獻[9]的方法對所得到的圖像邊緣進行細化。
3 實驗仿真及結束語
在實驗中,使用兩幅灰度圖像,即標準的Lena圖像(256×256)和一個屋頂圖像(128×128)。為了檢測新邊緣檢測方法的性能,筆者把該方法檢測的邊緣與Canny邊緣檢測的多尺度方法的結果進行比較。對高斯尺度空間的尺度進行指數采樣,取底數為1.1。
對標準的Lena圖像采用上述兩種方法進行邊緣檢測,這是一幅邊緣較復雜的自然圖像。取最小尺度為0.5,尺度間隔Δσ=0.05,所用的迭代數為15。實驗結果如圖1所示。
可以看出,Canny檢測的多尺度方法提取的邊緣圖像不連續,丟掉了圖像的細節信息;文中方法得到的圖像邊緣效果較好,包含更多的圖像細節,如眼睛、帽檐及帽子頂部。帽子上的裝飾顯得更加真實。
為了檢驗文中方法的抗噪聲能力,對屋頂圖像分別加方差為0.05和0.1的高斯白噪聲,然后采用上述兩種方法進行邊緣檢測。取最小尺度為0.5,尺度間隔Δσ=0.15,所用的迭代數為15。實驗結果如圖2和3所示。可以看出,文中方法得到的圖像邊緣效果較好,抗噪聲能力較強。對噪聲圖像用文中方法進行邊緣檢測時,應該取尺度間隔大一些,這樣有利于去除噪聲。
一般來說,采用越多的尺度進行邊緣檢測得到的邊緣圖像就越準確,越能保留更多的細節。但是當尺度數目達到一定程度時,圖像邊緣再也沒有明顯的提高。
對于含少量椒鹽噪聲的圖像,文中方法比Canny邊緣檢測的多尺度方法稍有優勢。
從尺度空間的觀點來說,Canny邊緣檢測的多尺度方法等價于在一個高斯線性尺度空間中進行Canny最優算子的邊緣檢測。該尺度空間用高斯函數作為濾波器,雖然高斯平滑具有良好的尺度性能及容易計算的特點,但是高斯平滑是一種線性低通濾波,這種濾波會導致一些邊緣模糊,使原圖像出現過度平滑及邊緣移位現象,不利于圖像的邊緣檢測。用非線性的小波尺度空間代替高斯尺度空間作邊緣檢測,獲得更好的邊緣檢測結果,得到本文的小波尺度空間中的邊緣檢測算法。在小波尺度空間中可以提取圖像在不同尺度下的邊緣,再經過合成及非極值運算,得到較好的圖像邊緣。對于含噪聲圖像,生成小波尺度空間的平移不變小波閾值是一種非線性濾波,能夠在小尺度下保留細節,在大尺度下去除噪聲。總之,該算法避免了整體性平滑可能帶來的邊緣模糊,既抑制了圖像中的噪聲,又保證了較高的邊緣定位精度。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。