邊緣檢測與梯度算子


邊緣檢測

邊緣是指圖象中灰度發生急劇變化的區域。圖象 灰度的變化情況可以用灰度分布的梯度來反映,給定連續圖象f(x,y),其 方向導數在邊緣法線方向上取得局部最大值。
圖象中一點的邊緣被定義為一個矢量,模為當前點最人的方向導數,方向為該角度代表的方向。通常我們只考慮其模,而不關心方向。

梯度算子

(一)梯度算子可分為3類:
1、使用差分近似圖像函數導數的算子。有些是具有旋轉不變性的(如: Laplacian算子),因此只需要一個卷積掩模來計算。其它近似 一階導數的算子使用幾個掩模。
2、基於圖像函數二階導數過零點的算子(如:M arr—Hild reth或Canny邊緣檢測算子。
3、試圖將圖像函數與邊緣的參數模型相匹配的箅子。
 
(二)第一類梯度算子
拉普拉斯(Laplace)算子通常使用3×3的掩模,有時也使用強調中心象素或其鄰接性的 拉普拉斯算子(這種近似不再具有旋轉不變性)。
拉普拉斯算子的缺點:它對圖像中的某些邊緣產生雙重響應。
圖像銳化(shapeening)
圖像銳化的目的是圖像的邊緣更陡峭、清晰。 銳化的輸出圖像f是根據下式從輸入圖像g得到的:f(i,j)=g(i,j)-c s(i,j),其中c是反映銳化程度的正系數,s(i,j)是圖像函數銳化程度的度量,用梯度箅子來計算,Laplacian箅子常被用於這一目的。
Prewitt邊緣檢測算子
Sobel邊緣檢測算子
 
(三)第二類梯度算子--二階導數過零點算子
根據圖象邊緣處的一階微分(梯度)應該是極值點的事實,圖象邊緣處的二階微分應為零,確定過零點的位置要比確定極值點容易得多也比較精確。右側是Lena的過零點檢測結果。
為抑制噪聲,可先作平滑濾波然后再作二次微分,通常采用高斯函數作平滑濾波,故有LoG(Laplacian of Gaussian)算子。
高斯-拉普拉斯(LoG,Laplacian of Gaussian)算子。
噪聲點對邊緣檢測有較大的影響,效果更好的邊緣檢測器是高斯-拉普拉斯(Lo G)算子。它把高斯平滑濾波器和拉普拉斯 銳化濾波器結合起來,先平滑掉噪聲,再進行 邊緣檢測,所以效果更好。
 
過零點檢測
在實現時一般用兩個不同參數的高斯函數的差DoG(Difference ofGaussians)對圖象作卷積來近似,這樣檢測來的邊緣點稱為f(x,y)的過零點(Zero—crossing)。
與前面的微分算子出僅采用很小的鄰域來檢測邊緣不同,過零點(Zero-crossing)的檢測所依賴的范闈與參數。有關,但邊緣位置與0的選擇無關,若只關心全局性的邊緣可以選取比較大的 鄰域(如0=4時,鄰域接近40個象素寬)來獲取明顯的邊緣。過零點檢測更可靠,不易受噪聲影響,但.缺點是對形狀作了過分的平滑,例如會丟失欠明顯的 角點;還有產生環行邊緣的傾向。
產生環行邊緣的原因是:圖象的邊緣多出現於亮度呈現突起或凹陷的位置上,其附近邊緣法向線條上一階微分會出現兩個極值點,也就是會出現兩個過零點。其整體結果是邊緣呈現環行狀態。
 
(四)Canny邊緣提取(或邊緣檢測Edge Detection)
在如下的三個標准意義下,Canny邊緣檢測算子對受閂噪聲影響的階躍型邊緣是最優的:
1)檢測標准--不丟失重要的邊緣,不應有虛假的邊緣;
2)定位標准--實際邊緣與檢測到的邊緣位置之間的偏差最小;
3)單響應標准--將多個響應降低為單個邊緣響應。
 
Canny邊緣檢測算子的提出是基於以下概念:
(1)邊緣檢測算子是針對一維信號和前兩個最優標准(即檢測標准和定位標准)表達的,用微積分方法可以得到完整的解;
(2)如果考慮第三個標准(多個響應),需要通過數值優化的辦法得到最優解,該最優濾波器可以有效地近似為標准差為(的高斯平滑濾波器的一階微分,其誤差小於20%,這是為了便於實現;這與M ar—Hild reth邊緣檢測算子很相似;它是基於LoG邊緣檢測算子的;
(3)將邊緣檢測箅子推廣到兩維情況。階躍邊緣由位置、方向和可能的幅度(強度)來確定。可以證明將圖象與一對稱2 D Gaussian做 卷積后再沿梯度方向微分,就構成了一個簡單而有效的方向 算子(回想一下,LoG過零點算子並不能提供邊緣方向的信息,因為它使用了Laplacian濾波器)。
(4)由於噪聲引起的對單個邊緣的(多個)虛假響應通常造成所謂的“紋狀(streaking)"問題。一般而言,該問題在 邊緣檢測中是非常普遍的。
邊緣檢測算子的輸出通常要做閾值化處理,以確定哪些邊緣是突出的。
紋狀是指邊緣輪廓斷開的情形,是由算子輸出超出或低於閾值的波動引起的。紋狀現象可以通過帶滯后的 閾值處理(thresh01ding withhysteresis)來消除;
如果邊緣響應超過一給定高閾值時,這些象素點構成了某個尺度下的邊緣檢測算子的確定的輸出。
個別的弱響應通常對應於噪聲,但是如果這些點是與某些具有強響應的點連接時,它們很可能是圖象中真實的邊緣。這些連接的象素點在當其響應超過一給定的低閾值時,就被當作邊緣象素。
這里的低閾值和高閾值需要根據對信噪比的估計來確定。
(5)算子的合適尺度取決於圖象中所含的物體情況。解決該 未知數的方法是使用多個尺度,將所得信息收集起來。不同尺度的Canny檢測 算子由高斯的不同的標准差(來表示。有可能存在幾個尺度的算子對邊緣都給出突出的響應(即信噪比超過 閾值);在這種情況下,選擇具有最小尺度的算子,因為它定位最准確。
特征綜合方法(Feature synthesis appmach)
首先標記出所有由最小尺度算子得到的突出邊緣。具有較大尺度(的算子產生的邊緣根據它們(標記出的邊緣)合成得到(即,根據從較小的尺度收集到的證據來預測較大尺度(應具有的作用效果)。然后將合成得到的邊緣響應與較大尺度(的實際邊緣響應作比較。僅當它們比通過合成預測的響應顯著地強時,才將其標記為邊緣。
這一過程可以對一個尺度序列(從小到大)重復進行,通過不斷加入較小的尺度中沒有的邊緣點的方式累積起來生成邊緣圖。
 
Canny邊緣檢測算法
l、對於遞增的標准差(重復(2)到(6)步驟);
2、將圖象f與尺度為高斯函數做卷積;
3、對圖象中的每個象素,估計局部邊緣的法向n;
4、用非最大抑制公式找到邊緣的位置;
5、用公式計算邊緣強度;
6、對邊緣圖像做滯后閾值化處理,消除虛假響應;
7、用特征綜合方法,收集來自多尺度的最終的邊緣信息。 (通常的實現,省略該步。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM