Presentation is loading. Please wait.

Presentation is loading. Please wait.

Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision.

Similar presentations


Presentation on theme: "Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision."— Presentation transcript:

1 Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision

2 Edge Detection Using Derivatives Points that lie on an edge can be found by: (1) Detecting the local maxima or minima of the first derivative. (2) Detecting the zero-crossings of the second derivative. 2 nd derivative 1 st derivative 2

3 Image Derivatives How can we differentiate a digital image? −Option 1: reconstruct a continuous image, f(x,y), then compute the derivative. −Option 2: take discrete derivative (i.e., finite differences) Consider this case first! 3

4 Edge Detection Using First Derivative ramp edge roof edge (upward) step edge (downward) step edge (centered at x) 1D functions (not centered at x) 4

5 Edge Detection Using Second Derivative Approximate finding maxima/minima of first derivative by finding places where: Can’t always find discrete pixels where the second derivative is zero – look for zero-crossing instead. 5

6 Replace x+1 with x (centered at x): 1D functions: (centered at x+1) Edge Detection Using Second Derivative 6

7 7

8 (upward) step edge (downward) step edge ramp edge roof edge Edge Detection Using Second Derivative 8

9 Effect of Smoothing on Derivatives Where is the edge? 9

10 Effect of Smoothing on Derivatives 10

11 Combine Smoothing with Differentiation (saves one operation) 11

12 Mathematical interpretation: Numerical differentiation is an ill-posed problem - solution does not exist or it is not unique or it does not depend continuously on initial data Ill-posed problems can be solved using “regularization” - impose additional constraints Smoothing performs image interpolation Combine Smoothing with Differentiation 12

13 13 Edge Detection Using the Gradient The first derivative of an image can be computed using the gradient: To save computations, the magnitude of gradient could be approximated by: 2D functions

14 14 Edge Detection Using the Gradient Properties of the gradient: −The magnitude of gradient provides information about the strength of the edge −The direction of gradient is always perpendicular to the direction of the edge Main idea: −Compute derivatives in x and y directions −Find gradient magnitude −Threshold gradient magnitude

15 Approximate gradient using finite differences: Approximate Gradient 15 hxhx

16 Cartesian vs pixel-coordinates: - j corresponds to x direction - i to -y direction Approximate Gradient 16 i j

17 sensitive to vertical edges! sensitive to horizontal edges! Approximate Gradient 17

18 We can implement  f/  x and  f/  y using the following masks: (x+1/2,y) (x,y+1/2) * * approximation at (x+1/2,y) approximation at (x,y+1/2) Approximate Gradient 18

19 A different approximation of the gradient:  f/  x and  f/  y can be implemented using the masks: * (x+1/2,y+1/2) approximation at Approximate Gradient Roberts edge detector 19

20 20 The Prewitt edge detector −The partial derivatives can be computed by: Note: M x and M y are approximations at (i, j)) −Consider the arrangement of pixels about the pixel (i, j): −The constant c implies the emphasis given to pixels closer to the center of the mask. −Setting c = 1, we get the Prewitt operator: Approximate Gradient

21 21 The Sobel edge detector Note: M x and M y are approximations at (i, j)) −Setting c = 2, we get the Sobel operator: Approximate Gradient

22 22 Edge Detection Using the Gradient Main steps in edge detection using masks:

23 23 Edge Detection Using the Gradient (an example using the Prewitt edge detector) Note: in this example, the divisions by 2 and 3 in the computation of f x and f y are done for normalization purposes only

24 24 Edge Detection Using the Gradient Another example:

25 25 Edge Detection Using the Gradient Example – cont.:

26 26 Edge Detection Using the Gradient Example – cont.:

27 Isotropic Property of Gradient Magnitude The gradient magnitude detects edges in all directions. 27

28 28 Practical Issues −Differential masks act as high-pass filters – tend to amplify noise. −To reduce the effects of noise – first smooth with a low-pass filter. 1)The noise suppression tradeoff −A larger filter reduces noise, but worsens localization (i.e., it adds uncertainty to the location of the edge) and vice-versa.

29 29 Practical Issues 2)Choice of threshold gradient magnitude low thresholdhigh threshold

30 30 Practical Issues 3)Edge thinning and linking −required to obtain good contours

31 31 Criteria for Optimal Edge Detection −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) −Good localization: the edges detected must be as close as possible to the true edges. −Single response constraint: the detector must return one point only for each true edge point; that is, minimize the number of local maxima around the true edge

32 32 The Canny Edge Detector −This is probably the most widely used edge detector in computer vision. −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. −Analysis is based on "step-edges" corrupted by "additive Gaussian noise". The Canny edge detector:

33 33 The Canny Edge Detector

34 34 The Canny Edge Detector The derivative of the Gaussian:

35 35 The Canny Edge Detector Canny – smoothing and derivatives:

36 36 The Canny Edge Detector Canny – gradient magnitude: imagegradient magnitude

37 37 The Canny Edge Detector −To find the edge points, we need to find the local maxima of the gradient magnitude. −Broad ridges must be thinned so that only the magnitudes at the points of greatest local change remain. −All values along the direction of the gradient that are not peak values of a ridge are suppressed. Non-maxima suppression

38 38 The Canny Edge Detector Non-maxima suppression – cont. (i,j) Warning: may require checking interpolated pixels p and r

39 39 The Canny Edge Detector Canny – Non-maxima suppression: gradient magnitudethinned

40 40 The Canny Edge Detector Hysteresis thresholding / Edge linking Standard thresholding: - Can only select “strong” edges - Does not guarantee continuity gradient magnitudelow thresholdhigh threshold

41 The Canny Edge Detector Use two thresholds: For “maybe” edges, use neighboring pixels to decide - low threshold t l - high threshold t h (usually, t h = 2t l ) t l ≤ tltl thth thth Hysteresis thresholding / Edge linking – cont. 41

42 Idea: use a high threshold to start edge curves and a low threshold to continue them. Use edge direction for linking edges The Canny Edge Detector Hysteresis thresholding / Edge linking – cont. 42

43 43 The Canny Edge Detector Hysteresis thresholding / Edge linking – cont. −The algorithm performs edge linking as a by-product of double- thresholding −Note: large gaps are still difficult to bridge (more sophisticated algorithms are required)

44 44 The Canny Edge Detector Canny – Hysteresis thresholding / Edge linking thinned


Download ppt "Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision."

Similar presentations


Ads by Google