Edge Detection Ref: Forsyth+Ponce Ch. 7,8 Trucco+Verri Ch. 4
• Our goal is to extract a “line drawing” representation from an image • Useful for recognition: edges contain shape information – invariance
Edge detection
Derivatives • Edges are locations with high image gradient or derivative* • Estimate derivative using finite difference • Problem?
Smoothing • Reduce image noise by smoothing with a Gaussian
Convolution is Associative • We compute derivative of smoothed image: • Since convolution is associative:
Separable Convolution • Note that G can be factored as and computed as two 1-D convolutions
Edge orientation • Would like gradients in all directions • Approximate: – Compute smoothed derivatives in x,y directions – Edge strength – Edge normal
Canny Edge Detection • Compute edge strength and orientation at all pixels • “Non-max suppression” – Reduce thick edge strength responses around true edges • Link and threshold using “hysteresis” – Simple method of “contour completion”
Non-maximum suppression: Select the single maximum point across the width of an edge. Slides by D. Lowe
Non-maximum suppression At q, the value must be larger than values interpolated at p or r.
Examples: Non-Maximum Suppression courtesy of G. Loy Non-maxima Original image Gradient magnitude suppressed Slide credit: Christopher Rasmussen
fine scale high threshold
coarse scale, high threshold
coarse scale low threshold
Linking to the next edge point Assume the marked point is an edge point. Take the normal to the gradient at that point and use this to predict continuation points (either r or s).
Edge Hysteresis • Hysteresis : A lag or momentum factor • Idea: Maintain two thresholds k high and k low – Use k high to find strong edges to start edge chain – Use k low to find weak edges which continue edge chain • Typical ratio of thresholds is roughly k high / k low = 2
Example: Canny Edge Detection gap is gone Strong + Original connected image weak edges Strong Weak edges edges only courtesy of G. Loy
Problem? • Texture – Canny edge detection responds all over textured regions
Recommend
More recommend