Title: ECE 549CS 543: COMPUTER VISION LECTURE 26
1ECE 549/CS 543 COMPUTER VISION LECTURE 26 EDGE
DETECTION II
Gradient-based edge detection Canny edge
detector (1983) Marr-Hildreth edge detector
(1980) Range data Range sensors Edge detection
- Reading Chapters 8 and 21
- Homework, due today
- http//www-cvr.ai.uiuc.edu/ponce/hw5/hw5.pdf
2Convolution
Linear filters Weighted averages
- Represent the weights by a rectangular array F.
- Applying the filter to an image G is equivalent
to - performing a convolution
- Rij (FG)ij ?u,v Gi-u, j-v Fu, v
- In the continuous case
- (f g) (x,y) su,v f(x-u,y-v) g(u,v) du dv
- Note fggf.
3Example Smoothing by Averaging
4Smoothing with a Gaussian
f(x,y)(1/2??2)exp-(x2y2)/2?2
5Smoothing with a Gaussian
6Finite differences
7Finite differences responding to noise
Increasing zero-mean Gaussian noise
8Smoothing and Differentiation
- Smooth before differentiation
- Two convolutions to smooth, then differentiate?
- Actually, no - we can use a derivative of
Gaussian filter - ( fg )f g
9Gradient-based edge detection
There are three major issues 1) The gradient
magnitude at different scales is different which
should we choose? 2) The gradient
magnitude is large along thick trails how
do we identify the significant points? 3) How
do we link the relevant points up into curves?
10We wish to mark points along the curve where the
magnitude is biggest. We can do this by looking
for a maximum along a slice normal to the
curve (non-maximum suppression). These points
should form a curve. There are then two main
issues at which point is the maximum, and which
minima should we keep?
11Non-maximum suppression
At q, we have a maximum if the value is larger
than those at both p and at r. Interpolate to get
these values.
12Which local maxima should we keep?
- Those above a threshold T
- Those above L that are connected to a
- local maximum above H (thresholding
- with hysteresis)
13The edge detection problem
14(No Transcript)
15(No Transcript)
16(No Transcript)
17The Laplacian of Gaussian (Marr-Hildreth 80)
- Bad idea to apply a Laplacian without smoothing
- Smooth with Gaussian, apply Laplacian.
- This is the same as filtering with a Laplacian of
Gaussian filter. - Now mark the zero points where there is a
sufficiently large derivative, and enough
contrast.
- Another way to detect an extremal first
derivative is to look for a zero second
derivative. - Appropriate 2D analogy is rotation invariant
- the Laplacian
- r2 f?2f/?x2?2f/?y2
18The Laplacian of a Gaussian
19sigma4
contrast1
contrast4
LOG zero crossings
sigma2
20We have unfortunate behaviour at corners
21Active Range Sensors
- Triangulation-based sensors
- Time-of-flight sensors
- New Technologies
Courtesy of D. Huber and M. Hebert.
22Finding Step and Roof Edges in Range Images
23Step Model
And, since z?0 in x?
24Roof Model
And ?? has a maximum value inversely
proportional to ? in a point x? located at a
distance proportional to ? from the origin.