1 / 28

Boundary Detection - Edges

Boundary Detection - Edges. Boundaries of objects Usually different materials/orientations, intensity changes. We also get: Boundaries of surfaces. Boundaries of materials properties. Boundaries of lighting. Edge is Where Change Occurs. Change is measured by derivative in 1D

Gabriel
Télécharger la présentation

Boundary Detection - Edges

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Boundary Detection - Edges • Boundaries of objects • Usually different materials/orientations, intensity changes.

  2. We also get:Boundaries of surfaces

  3. Boundaries of materials properties

  4. Boundaries of lighting

  5. Edge is Where Change Occurs • Change is measured by derivative in 1D • Biggest change, derivative has maximum magnitude • Or 2nd derivative is zero.

  6. Noisy Step Edge • Derivative is high everywhere. • Must smooth before taking derivative.

  7. Implementing1D Edge Detection • Filter out noise: correlate with Gaussian • Take a derivative: correlate with [-.5 0 .5] • Matlab • We can combine 1 and 2. • Matlab

  8. Implementing 1D Edge Detection 3. Find the peak: Two issues: • Should be a local maximum. • Should be sufficiently high. Matlab

  9. Scale • Smoothing more removes small scale structures. • Varying smoothing varies the scale of edges we locate. • Matlab

  10. 2D Edge Detection: Canny • Filter out noise • Use a 2D Gaussian Filter. • Take a derivative

  11. What is the gradient? No Change Change

  12. What is the gradient? Change No Change

  13. What is the gradient? Less Change Gradient direction is perpendicular to edge. Much Change Gradient Magnitude measures edge strength.

  14. Gradient – More formal • Suppose we move D in direction q. • Motion: v=(Dcosq, Dsinq) • Intensity change: <v, I> • Recall <v,w> = ||v|| ||w|| cos a. • So <v, I> is maximized when v is in the direction of I. • In that direction, rate of image change is: || I||.

  15. Gradient and Convolution • How do we compute gradients with convolution? • = derivative in x direction • Correlation with [-.5, 0, .5] • Likewise, correlation with [-.5; 0; .5] for derivative in y direction.

  16. Smoothing and Differentiation • Need two derivatives, in x and y direction. • We can use a derivative of Gaussian filter • because differentiation is convolution, and convolution is associative

  17. Scale Smoothing • Eliminates noise edges. • Makes edges smoother. • Removes fine detail. • Matlab (Forsyth & Ponce)

  18. Finding the Peak 1) The gradient magnitude is large along thick trail; how do we identify the significant points? 2) How do we link the relevant points up into curves?

  19. We wish to mark points along the curve where the magnitude is biggest. We can do this by looking for a maximum along a slice normal to the curve (non-maximum suppression). These points should form a curve. (Forsyth & Ponce)

  20. Non-maximum suppression At q, we have a maximum if the value is larger than those at both p and at r. Interpolate to get these values. (Forsyth & Ponce)

  21. Hysteresis • Check that maximum value of gradient value is sufficiently large • drop-outs? use hysteresis • use a high threshold to start edge curves and a low threshold to continue them.

  22. fine scale high threshold

  23. coarse scale, high threshold

  24. coarse scale low threshold

  25. Demo of Edge Detection

  26. Why is Canny so Dominant • Still widely used after 20 years. • Theory is nice (but end result same). • Details good (magnitude of gradient). • Hysteresis an important heuristic. • Code was distributed. • Perhaps this is about all you can do with linear filtering.

More Related