canny edge and line detection
play

Canny Edge and Line Detection CS/BIOEN 6640, Fall 2010 Guido Gerig - PowerPoint PPT Presentation

Canny Edge and Line Detection CS/BIOEN 6640, Fall 2010 Guido Gerig with some slides from Tsai Sing Lee with some slides from Tsai Sing Lee, CMU and from J. Cannys Papers Optimal Operator for Noisy Step p p y p Edge: SNR*LOC


  1. Canny Edge and Line Detection CS/BIOEN 6640, Fall 2010 Guido Gerig with some slides from Tsai Sing Lee with some slides from Tsai Sing Lee, CMU and from J. Canny’s Papers

  2. “Optimal Operator” for Noisy Step p p y p Edge: SNR*LOC

  3. Optimization Optimization ∑ Λ ∑ Λ r ∑ : SNR Λ : Localization (how close to true position) X max: distance between adjacent maxima (fraction of operator width) X_max: distance between adjacent maxima (fraction of operator width) r: multiple response performance

  4. r X_max ∑ Λ _ Optimal Operators Optimal Operators

  5. Optimal Operator versus First D Derivative of Gaussian i i f G i

  6. “Optimal Operator” for Noisy Step p p y p Edge: SNR*LOC*MULT

  7. 2D Edge Filter: Output at different scales 1 st order Gaussian Derivatives

  8. Response at different scales Response at different scales

  9. Non-Maximum Suppression Non Maximum Suppression Detect local maxima and suppress all other signals.

  10. What about 2D? What about 2D? original edge orientation At every position in the edge- At every position in the edge edge edge magnitude output, there is a positions coordinate system with normal and coded by tangent. edge magnitude it d

  11. Non-Maximum Suppression Non Maximum Suppression • Canny: Interpolate Gradient along Canny: Interpolate Gradient along gradients (plus and minus a certain distance) and check if center is larger than neighbors. • Simplified: Test for each Gradient B B Magnitude pixel if neighbors along gradient direction (closest neighbors) are smaller than center: Mark C as are smaller than center: Mark C as C maximum if A<C and B<C A

  12. Results Results

  13. Canny: Hysteresis Thresholding Canny: Hysteresis Thresholding • Thresholding/binarization of edge map: Thresholding/binarization of edge map: – Noise and image structures have different structure structure – Simple thresholding: If too low, too many structures appear, if too high, contours are structures appear, if too high, contours are broken into pieces – Idea : Hysteresis: Upper and lower threshold, y pp , keep all connected edges (d m metric) that are connected to upper but above lower threshold

  14. Hysteresis Thresholding Hysteresis Thresholding too little too combi many many nation ti

  15. Optimal Operators for Other Structures Resembles 2 nd derivative of Gaussian

  16. Gaussian Derivatives Gaussian Derivatives

  17. 2 nd Derivative Operator to detect lines and curves

  18. Multidimensional Derivatives Multidimensional Derivatives • Nabla operator: Nabla operator: • Gradient: • Laplacian: • Hessian: (matrix of 2 nd derivatives, gradient of gradient of L)

  19. Laplacian Laplacian Local kernels Laplacian of 2D Gaussian kernel

  20. Laplacian of Gaussian (LoG) Laplacian of Gaussian (LoG) Enhances line-like structures (glasses), creates zero-crossing at edges (positive and negative response at both sides of edges) and negative response at both sides of edges) Source: http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm

  21. Often used: Zero-Crossings of LoG for Edge Detection Hint: Remember that edge positions are extrema of first derivative → zero- crossings of 2 nd derivatives. Be careful: Extrema or maxima & minima!

  22. Line/Ridge Detection Line/Ridge Detection

Recommend


More recommend