Professional Documents
Culture Documents
CMPUT 412
University of Alberta, Computing Science
Winter 2007
Csaba Szepesvari
Summary
• Low level feature detection
• Edge detection
– Differencing
– 1st order: Roberts, Prewitt, Sobel, Canny
– 2nd order: LoG, Marr-Hildreth
– Others
• Curvature
– differencing
– continuous curve approximation
What is “low level”?
• No shapes; “higher
spatial” information
– no spatial integration
– local processing
• Examples:
– edges (lines)
– corners (=high
curvature points of
lines)
Edge detection
• (almost) insensitive to illumination changes
• highlights image contrast
• what is an edge?
– position of “step change” in contrast
• approaches:
– first order differentiation
– second order ..
– other..
Edge detection by finite differences
• Change in intensity:
– Difference adjacent pixels
• Horizontally:
–
– detects vertical edges
• Vertically:
–
– detects horizontal edges
• Combined:
Edge detection by finite differences
uniform thresholding
=> binary edge images
Symmetric differences
• Taylor series:
First-order edge detection
Alternative:
edge direction
edge strength
Prewitt edge detection operator
• Goal: reduce sensitivity to noise
• Method: Averaging
Prewitt (1966)
Results for the Prewitt op.
Sobel edge detector
• Better smoothing:
– Replace “rectangle” with “Gauss” window
• Smoothing:
• Differencing:
Sobel (1970)
Sobel cont’d
• Sobel’s operators
– 0. Select a (rect) neighborhood of a point
– 1. smooth image along axis x
– 2. difference image along axis y
• Can reverse the role of x and y
Sobel template examples
Sobel: result on Lena
Sobel: vectorial results
edge direction
normal to edges
Canny edge detection
• Goals:
– 1: Low sensitivity to noise
– 2: good localization (small bias in edge position)
– 3: eliminate multiple responses to a single edge
• Methods:
– 1: Gaussian smoothing
– 2,3: Thinning ~ non-maximum supression
– 1: Hystheresis thresholding
Canny (1986)
Canny’s operator
Implementation
Non-maximum supression
Hysteresis thresholding
Goals:
1: Low sensitivity to noise
2: good localization (small bias in edge position)
3: eliminate multiple responses to a single edge
Second-order edge detection
“zero crossing”
Laplacian operator
Horizontal
Horizontal + vertical
Laplacian applied to square
Notes:
-isotropic (rotation invariant)
-sum of template coeffs must be zero (no response on flat areas)
-no smoothing -> sensitive to noise
-no directional information!
-fast
Laplacian of Gaussian (LoG)
• Reduce noise first by Gaussian smoothing
• Apply Laplacian operator
“Mexican hat”
Marr-Hildreth operator
• How to detect zero-crossings?
Marr (1980)
Marr-Hildreth in action
Notes:
-provides closed edge borders
-fast
-multiscale analysis possible (reconstruction!)
-relationship to human visual system
Spacek & Petrou operators
• Spacek: yet another “optimal” noise (1986)
“Curvature function”
Curvature by differencing
smoothing:
Curvature by differencing
Curvature by differencing
Approximation to a continuous curve
• LMS fit:
Tsai (1994),
Lee (1993)
Continuous curve approx. in action
• Problems:
– Tracing curves is cumbersome (noise)
– Remedy(?): robust fitting, e.g. circles
Kass (1988) “Snakes” ~ active contours
• Curvature:
• Putting it together:
Alternatives
• Start with to get
Curvature by changes in intensity
Curvature by autocorrelation
• Moravec’s corner detection