ee 4780 edge detection. bahadir k. gunturk2 detection of discontinuities matched filter example...
TRANSCRIPT
EE 4780
Edge Detection
Bahadir K. Gunturk 2
Detection of Discontinuities
Matched Filter Example>> a=[0 0 0 0 1 2 3 0 0 0 0 2 2 2 0 0 0 0 1 2 -2 -1 0 0 0 0];
>> figure; plot(a);
>> h1 = [-1 -2 2 1]/10;
>> b1 = conv(a,h1); figure; plot(b1);
Bahadir K. Gunturk 3
Detection of Discontinuities
Point Detection Example: Apply a high-pass filter. A point is detected if the response is larger than a positive
threshold.
The idea is that the gray level of an isolated point will be quite different from the gray level of its neighbors.
| |R T
Threshold
Bahadir K. Gunturk 4
Detection of Discontinuities
Point Detection
Detected point
Bahadir K. Gunturk 5
Detection of Discontinuities
Line Detection Example:
1R 2R 3R 4R
Bahadir K. Gunturk 6
Detection of Discontinuities
Line Detection Example:
Bahadir K. Gunturk 7
Detection of Discontinuities
Edge Detection: An edge is the boundary between two regions with relatively
distinct gray levels. Edge detection is by far the most common approach for
detecting meaningful discontinuities in gray level. The reason is that isolated points and thin lines are not frequent occurrences in most practical applications.
The idea underlying most edge detection techniques is the computation of a local derivative operator.
Bahadir K. Gunturk 8
Origin of Edges
Edges are caused by a variety of factors
depth discontinuity
surface color discontinuity
illumination discontinuity
surface normal discontinuity
Bahadir K. Gunturk 9
Profiles of image intensity edges
Bahadir K. Gunturk 10
Image gradient The gradient of an image:
The gradient points in the direction of most rapid change in intensity
The gradient direction is given by:
The edge strength is given by the gradient magnitude
Bahadir K. Gunturk 11
The discrete gradient How can we differentiate a digital image f[x,y]?
Option 1: reconstruct a continuous image, then take gradient Option 2: take discrete derivative (finite difference)
Bahadir K. Gunturk 12
Effects of noise
Consider a single row or column of the image Plotting intensity as a function of position gives a signal
Bahadir K. Gunturk 13
Solution: smooth first
Look for peaks in
Bahadir K. Gunturk 14
Derivative theorem of convolution
This saves us one operation:
Bahadir K. Gunturk 15
Laplacian of Gaussian Consider
Laplacian of Gaussianoperator
Zero-crossings of bottom graph
Bahadir K. Gunturk 16
2D edge detection filters
is the Laplacian operator:
Laplacian of Gaussian
Gaussian derivative of Gaussian
Bahadir K. Gunturk 17
Edge DetectionPossible filters to find gradients along vertical and horizontal directions:
This gives more importance to the center point.
Averaging provides noise suppression
Bahadir K. Gunturk 18
Edge Detection
Bahadir K. Gunturk 19
Edge Detection
Bahadir K. Gunturk 20
Edge Detection
The Laplacian of an image f(x,y) is a second-order derivative defined as
2 22
2 2
f ff
x y
Digital approximations:
Bahadir K. Gunturk 21
Edge Detection
One simple method to find zero-crossings is black/white thresholding:1. Set all positive values to white2. Set all negative values to black3. Determine the black/white transitions.
Compare (b) and (g):•Edges in the zero-crossings image is thinner than the gradient edges.•Edges determined by zero-crossings have formed many closed loops.
Bahadir K. Gunturk 22
Edge Detection
The Laplacian of a Gaussian filter
A digital approximation:
0 0 1 0 0
0 1 2 1 0
1 2 -16 2 1
0 1 2 1 0
0 0 1 0 0
Bahadir K. Gunturk 23
The Canny edge detector
original image (Lena)
Bahadir K. Gunturk 24
The Canny edge detector
norm of the gradient
Bahadir K. Gunturk 25
The Canny edge detector
thresholding
Bahadir K. Gunturk 26
The Canny edge detector
thinning (non-maximum suppression)
Bahadir K. Gunturk 27
Edge detection by subtraction
original
Bahadir K. Gunturk 28
Edge detection by subtraction
smoothed (5x5 Gaussian)
Bahadir K. Gunturk 29
Edge detection by subtraction
smoothed – original
Why doesthis work?
Bahadir K. Gunturk 30
Gaussian - image filter
Laplacian of Gaussian
Gaussian delta function