canny edge detector. sobel edge detector detecting edges in image image i threshold edges
Post on 19-Dec-2015
230 views
TRANSCRIPT
Canny Edge Detector
Sobel Edge Detector
Detecting Edges in Image
Image I
101
202
101
121
000
121
*
*
Idx
d
Idy
d
22
Idy
dI
dx
d
ThresholdEdges
Sobel Edge Detector
Idx
d
Idy
d
I
Sobel Edge Detector
I
22
I
dy
dI
dx
d
100 Threshold
Marr and Hildreth Edge Operator
Smooth by Gaussian
Use Laplacian to find derivatives
IGS * 2
22
2
2
1
yx
eG
Sy
Sx
S 2
2
2
22
Marr and Hildreth Edge Operator
IGIGS ** 222
2
22
22
22
3
2 22
1
yx
eyx
G
Marr and Hildreth Edge Operator
2
22
22
22
3
2 22
1
yx
eyx
G
0.0008 0.0066 0.0215 0.031 0.0215 0.0066 0.00080.0066 0.0438 0.0982 0.108 0.0982 0.0438 0.00660.0215 0.0982 0 -0.242 0 0.0982 0.0215
0.031 0.108 -0.242 -0.7979 -0.242 0.108 0.0310.0215 0.0982 0 -0.242 0 0.0982 0.02150.0066 0.0438 0.0982 0.108 0.0982 0.0438 0.00660.0008 0.0066 0.0215 0.031 0.0215 0.0066 0.0008
X
Y
Marr and Hildreth Edge Operator
Zero CrossingsDetection
I ImageG2*
IG *2 Edge Image
IG *2 Zero Crossings
1
6
3
Quality of an Edge Detector
Robustness to Noise Localization Too Many/Too less Responses
Poor robustness to noise Poor localization Too many responses
True Edge
Canny Edge Detector
Criterion 1: Good Detection: The optimal detector must minimize the probability of false positives as well as false negatives.
Criterion 2: 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 edge point.
Canny Edge Detector
Convolution with derivative of Gaussian Non-maximum Suppression Hysteresis Thresholding
Canny Edge Detector
Smooth by Gaussian
Compute x and y derivatives
Compute gradient magnitude and orientation
IGS *2
22
2
2
1
yx
eG
Tyx
T
SSSy
Sx
S
22yx SSS
x
y
S
S1tan
Canny Edge Operator
IGIGS **
T
y
G
x
GG
T
Iy
GI
x
GS
**
Canny Edge Detector
xS
yS
I
Canny Edge Detector
I
22yx SSS
25 ThresholdS
We 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 arethen two algorithmic issues: at which point is the maximum, and where is thenext one?
Non-Maximum Suppression
Non-Maximum Suppression Suppress the pixels in ‘Gradient
Magnitude Image’ which are not local maximum
edge an tonormal direction thealong
in of neighbors theare and Sx,yy,xy,x
otherwise0,,&
,, if,
, yxSyxS
yxSyxSyxS
yxM
yx ,
yx,
yx ,
Non-Maximum Suppression
0
12
3
41420tan41422- :3
41422tan :2
41422tan41420 :1
41420tan41420 :0
.θ.
.θ
.θ.
.θ.-
x
y
S
Sθ tan
Non-Maximum Suppression
22yx SSS M
25ThresholdM
Hysteresis Thresholding
Hysteresis Thresholding
If the gradient at a pixel is above ‘High’, declare it an ‘edge pixel’
If the gradient at a pixel is below ‘Low’, declare it a ‘non-edge-pixel’
If the gradient at a pixel is between ‘Low’ and ‘High’ then declare it an ‘edge pixel’ if and only if it is connected to an ‘edge pixel’ directly or via pixels between ‘Low’ and ‘ High’
Hysteresis Thresholding
M 25ThresholdM
15
35
Low
High