lecture edge detection
play

Lecture: Edge Detection Juan Carlos Niebles and Ranjay Krishna - PowerPoint PPT Presentation

Edges Lecture: Edge Detection Juan Carlos Niebles and Ranjay Krishna Stanford Vision and Learning Lab 03-Oct-2019 1 St Stanfor ord University CS 131 Roadmap Edges Pixels Segments Images Videos Web Recognition Neural networks


  1. Designing an edge detector • Criteria for an “optimal” edge detector: – Good detection: the optimal detector must minimize the probability of false positives (detecting spurious edges caused by noise), as well as that of false negatives (missing real edges) Edges 03-Oct-2019 54 St Stanfor ord University

  2. Designing an edge detector • Criteria for an “optimal” edge detector: – Good detection: the optimal detector must minimize the probability of false positives (detecting spurious edges caused by noise), as well as that of false negatives (missing real edges) Edges – Good localization: the edges detected must be as close as possible to the true edges 03-Oct-2019 55 St Stanfor ord University

  3. Designing an edge detector • Criteria for an “optimal” edge detector: – Good detection: the optimal detector must minimize the probability of false positives (detecting spurious edges caused by noise), as well as that of false negatives (missing real edges) Edges – Good localization: the edges detected must be as close as possible to the true edges – Single response: the detector must return one point only for each true edge point; that is, minimize the number of local maxima around the true edge 03-Oct-2019 56 St Stanfor ord University

  4. What we will learn today • Edge detection • Image Gradients • A simple edge detector Edges • Sobel Edge detector • Canny edge detector • Hough transform 03-Oct-2019 57 St Stanfor ord University

  5. Sobel Operator • uses two 3×3 kernels which are convolved with the original image to calculate approximations of the derivatives • one for horizontal changes, and one for vertical Edges 03-Oct-2019 58 St Stanfor ord University

  6. Sobel Operation • Smoothing + differentiation Edges Gaussian smoothing differentiation 03-Oct-2019 59 St Stanfor ord University

  7. Sobel Operation • Magnitude: Edges • Angle or direction of the gradient: 03-Oct-2019 60 St Stanfor ord University

  8. Sobel Filter example Edges 03-Oct-2019 61 St Stanfor ord University

  9. Sobel Filter Problems Edges • Poor Localization (Trigger response in multiple adjacent pixels) 03-Oct-2019 • Thresholding value favors certain directions over others – Can miss oblique edges more than horizontal or vertical edges – False negatives 62 St Stanfor ord University

  10. What we will learn today • Edge detection • Image Gradients • A simple edge detector Edges • Sobel Edge detector • Canny edge detector • Hough Transform 03-Oct-2019 63 St Stanfor ord University

  11. Canny edge detector • This is probably the most widely used edge detector in computer vision • Theoretical model: step-edges corrupted by additive Edges Gaussian noise • 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 03-Oct-2019 J. Canny, A Computational Approach To Edge Detection , IEEE Trans. Pattern Analysis and Machine Intelligence, 8:679-714, 1986. 64 St Stanfor ord University

  12. Canny edge detector • Suppress Noise • Compute gradient magnitude and direction • Apply Non-Maximum Suppression Edges – Assures minimal response • Use hysteresis and connectivity analysis to detect edges 03-Oct-2019 65 St Stanfor ord University

  13. Example Edges 03-Oct-2019 • original image 66 St Stanfor ord University

  14. Derivative of Gaussian filter Edges y -direction x -direction 03-Oct-2019 67 St Stanfor ord University

  15. Compute gradients (DoG) Edges 03-Oct-2019 X-Derivative of Gaussian Y-Derivative of Gaussian Gradient Magnitude Source: J. Hayes 68 St Stanfor ord University

  16. Get orientation at each pixel Edges 03-Oct-2019 Source: J. Hayes 69 St Stanfor ord University

  17. Compute gradients (DoG) Edges 03-Oct-2019 X-Derivative of Gaussian Y-Derivative of Gaussian Gradient Magnitude 70 St Stanfor ord University

  18. Canny edge detector • Suppress Noise • Compute gradient magnitude and direction • Apply Non-Maximum Suppression Edges – Assures minimal response 03-Oct-2019 71 St Stanfor ord University

  19. Non-maximum suppression • Edge occurs where gradient reaches a maxima • Suppress non-maxima gradient even if it passes threshold • Only eight angle directions possible Edges – Suppress all pixels in each direction which are not maxima – Do this in each marked pixel neighborhood 03-Oct-2019 72 St Stanfor ord University

  20. Remove spurious gradients is the gradient at pixel (x, y) 𝛼𝐻 𝑦, 𝑧 Edges 𝛼𝐻 𝑦, 𝑧 𝛼𝐻 𝑦, 𝑧 > 𝛼𝐻 𝑦′, 𝑧′ 𝛼𝐻 𝑦, 𝑧 > 𝛼𝐻 𝑦′′, 𝑧′′ 03-Oct-2019 73 St Stanfor ord University

  21. Non-maximum suppression • Edge occurs where gradient reaches a maxima • Suppress non-maxima gradient even if it passes threshold • Only eight angle directions possible Edges – Suppress all pixels in each direction which are not maxima – Do this in each marked pixel neighborhood 03-Oct-2019 74 St Stanfor ord University

  22. Non-maximum suppression At q, we have a maximum if the value is larger than Edges those at both p and at r. Interpolate to get these values. 03-Oct-2019 75 St Stanfor ord University Source: D. Forsyth

  23. Non-max Suppression Edges 03-Oct-2019 Before After 76 St Stanfor ord University

  24. Canny edge detector • Suppress Noise • Compute gradient magnitude and direction • Apply Non-Maximum Suppression Edges – Assures minimal response • Use hysteresis and connectivity analysis to detect edges 03-Oct-2019 77 St Stanfor ord University

  25. Edges 03-Oct-2019 78 St Stanfor ord University

  26. Hysteresis thresholding • Avoid streaking near threshold value • Define two thresholds: Low and High – If less than Low, not an edge Edges – If greater than High, strong edge – If between Low and High, weak edge 03-Oct-2019 79 St Stanfor ord University

  27. Hysteresis thresholding If the gradient at a pixel is • above High, declare it as an ‘strong edge pixel’ • below Low, declare it as a “non-edge-pixel” Edges • between Low and High – Consider its neighbors iteratively then declare it an “edge pixel” if it is connected to an ‘strong edge pixel’ directly or via pixels between Low and High 03-Oct-2019 80 St Stanfor ord University

  28. Hysteresis thresholding weak but connected strong edge pixel Edges edge pixels strong edge pixel 03-Oct-2019 Source: S. Seitz 81 St Stanfor ord University

  29. Final Canny Edges Edges 03-Oct-2019 82 St Stanfor ord University

  30. Canny edge detector 1. Filter image with x, y derivatives of Gaussian 2. Find magnitude and orientation of gradient Edges 3. Non-maximum suppression: – Thin multi-pixel wide “ ridges ” down to single pixel width 4. Thresholding and linking (hysteresis): – Define two thresholds: low and high 03-Oct-2019 – Use the high threshold to start edge curves and the low threshold to continue them 83 St Stanfor ord University

  31. Effect of s (Gaussian kernel spread/size) Edges original Canny with Canny with 03-Oct-2019 The choice of s depends on desired behavior • large s detects large scale edges • small s detects fine features Source: S. Seitz 84 St Stanfor ord University

  32. Gradients (e.g. Canny) Color Edges Texture 03-Oct-2019 Combined Human 85 St Stanfor ord University

  33. 45 years of boundary detection Edges 03-Oct-2019 86 St Stanfor ord University Source: Arbelaez, Maire, Fowlkes, and Malik. TPAMI 2011 (pdf)

  34. What we will learn today • Edge detection • Image Gradients • A simple edge detector Edges • Sobel Edge detector • Canny edge detector • Hough Transform 03-Oct-2019 87 St Stanfor ord University

  35. Intro to Hough transform • The Hough transform (HT) can be used to detect lines. • It was introduced in 1962 (Hough 1962) and first used to find lines in images a decade later (Duda 1972). Edges • The goal is to find the location of lines in images. • Caveat : Hough transform can detect lines, circles and other structures ONLY if their parametric equation is known. • It can give robust detection under noise and partial occlusion 03-Oct-2019 88 St Stanfor ord University

  36. Prior to Hough transform • Assume that we have performed some edge detection, and a thresholding of the edge magnitude image. • Thus, we have some pixels that may partially describe the boundary of Edges some objects. 03-Oct-2019 89 St Stanfor ord University

  37. Detecting lines using Hough transform • We wish to find sets of pixels that make up straight lines. • Consider a point of known coordinates (x i ;y i ) – There are many lines passing through the point (x i ,y i ). Edges • Straight lines that pass that point have the form y i = a*x i + b – Common to them is that they satisfy the equation for some set of parameters (a, b) 03-Oct-2019 90 St Stanfor ord University

  38. Detecting lines using Hough transform • This equation can obviously be rewritten as follows: – b = -a*x i + y i – We can now consider x and y as parameters Edges – a and b as variables. • This is a line in (a, b) space parameterized by x and y. – So: a single point in x 1 ,y 1 -space gives a line in (a,b) space. – Another point (x 2 , y 2 ) will give rise to another line (a,b) space. 03-Oct-2019 91 St Stanfor ord University

  39. Detecting lines using Hough transform Edges 03-Oct-2019 92 St Stanfor ord University

  40. Detecting lines using Hough transform Edges 03-Oct-2019 93 St Stanfor ord University

  41. Detecting lines using Hough transform • Two points (x 1 , y 1 ) and(x 2 y 2 ) define a line in the (x, y) plane. • These two points give rise to two different lines in (a,b) space. • In (a,b) space these lines will intersect in a point (a’ b’) Edges • All points on the line defined by (x 1 , y 1 ) and (x 2 , y 2 ) in (x, y) space will parameterize lines that intersect in (a’, b’) in (a,b) space. 03-Oct-2019 94 St Stanfor ord University

  42. Algorithm for Hough transform • Quantize the parameter space (a b) by dividing it into cells • This quantized space is often referred to as the accumulator cells. • Count the number of times a line intersects a given cell. Edges – For each pair of points (x 1 , y 1 ) and (x 2 , y 2 ) detected as an edge, find the intersection (a’,b’) in (a, b)space. – Increase the value of a cell in the range [[a min , a max ],[b min ,b max ]] that (a’, b’) belongs to. – Cells receiving more than a certain number of counts (also called ‘votes’) are assumed to 03-Oct-2019 correspond to lines in (x,y) space. 95 St Stanfor ord University

  43. Output of Hough transform • Here are the top 20 most voted lines in the image: Edges 03-Oct-2019 96 St Stanfor ord University

  44. Other Hough transformations • We can represent lines as polar coordinates instead of y = a*x + b • Polar coordinate representation: Edges – x*cosθ + y*sinθ = ρ • Can you figure out the relationship between – (x y) and (ρ θ)? 03-Oct-2019 97 St Stanfor ord University

  45. Other Hough transformations • Note that lines in (x y) space are not lines in (ρ θ) space, unlike (a b) space. Edges • A vertical line will have θ=0 and ρ equal to the intercept with the x-axis. • A horizontal line will have θ=90 and ρ equal 03-Oct-2019 to the intercept with the y-axis. 98 St Stanfor ord University

  46. Example video • https://youtu.be/4zHbI-fFIlI?t=3m35s Edges 03-Oct-2019 99 St Stanfor ord University

  47. Concluding remarks • Advantages: – Conceptually simple. – Easy implementation Edges – Handles missing and occluded data very gracefully. – Can be adapted to many types of forms, not just lines • Disadvantages: – Computationally complex for objects with many parameters. – Looks for only one single type of object 03-Oct-2019 – Can be “fooled” by “apparent lines”. – The length and the position of a line segment cannot be determined. – Co-linear line segments cannot be separated. 100 Stanfor St ord University

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend