Skip to main content

Advanced Edge Detection 高級邊緣檢測

What Causes Intensity Changes? 是什麼導致強度變化?

  • Geometric events 幾何事件
    • surface orientation (boundary) discontinuities 表面方向(邊界)不連續
    • depth discontinuities 深度不連續
    • color and texture discontinuities 顏色和紋理不連續
  • Non-geometric events 非幾何事件
    • illumination changes 照明變化
    • specularities 鏡面反射
    • shadows 陰影
    • inter-reflections 互相反射

1

Goal of Edge Detection 邊緣檢測的目標

  • Produce a line "drawing" of a scene from an image of that scene. 從場景的圖像中產生場景的線條圖。

2

Why is Edge Detection Useful? 為什麼邊緣檢測有用?

  • Important features can be extracted from the edges of an image (e.g., corners, lines, curves). 重要的特徵可以從圖像的邊緣中提取出來(例如,拐角,線,曲線)。
  • These features are used by higher-level computer vision algorithms (e.g., recognition). 這些特徵被更高級的電腦視覺算法使用(例如,識別)。

2

Effect of Illumination 照明效果

3

Edge Descriptors 邊緣描述符

  • Edge direction: perpendicular to the direction of maximum intensity change (i.e., edge normal) 邊緣方向:垂直於最大強度變化的方向(即邊緣法線)

  • Edge strength: related to the local image contrast along the normal. 邊緣強度:與沿法線的本地圖像對比相關。

  • Edge position: the image position at which the edge is located. 邊緣位置:圖像位置在邊緣所在的位置。

4

Main Steps in Edge Detection 邊緣檢測的主要步驟

  1. Smoothing: suppress as much noise as possible, without destroying true edges. 平滑:盡可能減少噪聲,而不破壞真實的邊緣。
  2. Enhancement: apply differentiation to enhance the quality of edges (i.e., sharpening). 增強:應用差分增強邊緣的質量(即銳化)。
  3. Thresholding: determine which edge pixels should be discarded as noise and which should be retained (i.e., threshold edge magnitude). 閾值:確定哪些邊緣像素應該被丟棄為噪聲,哪些應該被保留(即閾值邊緣幅度)。
  4. Localization: determine the exact edge location. 定位:確定精確的邊緣位置。

sub-pixel resolution might be required for some applications to estimate the location of an edge to better than the spacing between pixels. 對於某些應用程序,可能需要子像素分辨率以估計邊緣的位置,以比像素之間的間距更好。

Edge Detection Using Derivatives 使用微分的邊緣檢測

  • Often, points that lie on an edge are detected by: 通常,位於邊緣上的點通過以下方式檢測:
    1. Detecting the local maxima or minima of the first derivative. 檢測第一個微分的局部最大值或最小值。
    2. Detecting the zero-crossings of the second derivative. 檢測第二個微分的零交點。

Effect Smoothing on Derivates 平滑對微分的影響

5

Effect of Smoothing on Derivatives (cont'd) 平滑對微分的影響(繼續)

6

Combine Smoothing with Differentiation 將平滑與微分結合

7

Prewitt Operator 約翰·普維特算子

8

Sobel Operator 索貝爾算子

9

Edge Detection Steps Using Gradient 使用梯度的邊緣檢測步驟

10

Practical Issues 實際問題

  • Noise suppression-localization tradeoff. 噪聲抑制-定位權衡。
    • Smoothing depends on mask size (e.g., depends on σ for Gaussian filters). 平滑取決於掩模大小(例如,取決於高斯濾波器的 σ)。
    • Larger mask sizes reduce noise, but worsen localization (i.e., add uncertainty to the location of the edge) and vice versa. 較大的掩模大小可減少噪聲,但會使定位變差(即增加邊緣位置的不確定性),反之亦然。

11

Practical Issues (cont'd) 實際問題(繼續)

  • Choice of threshold. 閾值的選擇。

12

Criteria for Optimal Edge Detection 邊緣檢測的最佳條件

  1. Good detection 良好的檢測
    • Minimize the probability of false positives(i.e., spurious edges). 最小化誤報的概率(即虛假邊緣)。
    • Minimize the probability of false negatives(i.e., missing real edges). 最小化誤報的概率(即遺漏真實邊緣)。
  2. Good localization 好的定位
    • Detected edges must be as close as possible to the true edges. 檢測到的邊緣必須盡可能接近真實邊緣。
  3. Single response 單一回應
    • Minimize the number of local maxima around the true edge. 最小化真實邊緣周圍的局部最大值的數量。

Canny edge detector Canny 邊緣檢測器

  • Canny has shown that the first derivative of the Gaussian closely approximates the operator that optimizes the product of signal-to-noise ratio and localization. (i.e., analysis based on "step-edges" corrupted by "Gaussian noise") Canny 顯示,高斯的第一個微分近似地近似了優化 信號與噪聲 比率和定位的算子。 (即基於"步邊緣"並受到"高斯噪聲"損壞的分析)

13

J. Canny, A Computational Approach To Edge Detection , IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986.

Steps of Canny edge detector Canny 邊緣檢測器的步驟

14

Steps of Canny edge detector (cont'd) Canny 邊緣檢測器的步驟(繼續)

15

Canny edge detector - example Canny 邊緣檢測器 - 例子

16

Canny edge detector – example (cont'd) Canny 邊緣檢測器 - 例子(繼續)

17 18 19

Non-maxima suppression 非最大值抑制

  • Check if gradient magnitude at pixel location (i,j) is local maximum along gradient direction 檢查像素位置 (i,j) 的梯度幅值是否為沿梯度方向的局部最大值

20

Non-maxima suppression (cont'd) 非最大值抑制(繼續)

21

Hysteresis thresholding 閾值連接

  • Standard thresholding: 標準閾值

    E(x,y)={1 if f(x,y)>T for some threshold T0 otherwise E(x, y)= \begin{cases}1 & \text { if }\|\nabla f(x, y)\|>T \text { for some threshold } T \\ 0 & \text { otherwise }\end{cases}
    • Can only select "strong" edges. 只能選擇"強"邊緣。
    • Does not guarantee "continuity". 不保證"連續性"。

22

Hysteresis thresholding (cont'd) 閾值連接(繼續)

  • Hysteresis thresholding uses two thresholds: 閾值連接使用兩個閾值:
    • low threshold tl
    • high threshold th( usually, th = 2 tl)
  • For "maybe" edges, decide on the edge if neighboring pixel is a strong edge. 對於"可能"邊緣,如果鄰近像素是強邊緣,則決定邊緣。

Hysteresis thresholding/Edge Linking 閾值連接/邊緣連接

Idea: use a high threshold to start edge curves and a low threshold to continue them. 概念:使用高閾值來開始邊緣曲線,並使用低閾值來繼續它們。

23