3-d computer vision csc83020 / ioannis stamos revisit filtering (gaussian and median) introduction...
TRANSCRIPT
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Revisit filtering (Gaussian and Median)Revisit filtering (Gaussian and Median) Introduction to edge detectionIntroduction to edge detection
3-D Computater Vision3-D Computater VisionCSc 83020CSc 83020
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Linear FiltersLinear Filters
Given an image Given an image InIn((xx,,yy) generate a) generate anew image new image OutOut((xx,,yy):): For each pixel (For each pixel (xx,,yy))OutOut((xx,,yy) is a linear combination of pixels) is a linear combination of pixelsin the neighborhood of in the neighborhood of InIn((xx,,yy))
This algorithm isThis algorithm is Linear in input intensityLinear in input intensity Shift invariantShift invariant
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Discrete ConvolutionDiscrete Convolution
This is the discrete analogue of convolutionThis is the discrete analogue of convolution The pattern of weights is called the “kernel”The pattern of weights is called the “kernel”
of the filterof the filter Will be useful in smoothing, edge detectionWill be useful in smoothing, edge detection
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Computing ConvolutionsComputing Convolutions
What happens near edges of image?What happens near edges of image? Ignore (Ignore (OutOut is smaller than is smaller than InIn)) Pad with zeros (edges get dark)Pad with zeros (edges get dark) Replicate edge pixelsReplicate edge pixels Wrap aroundWrap around ReflectReflect Change filterChange filter
i j
jyixInjifyxOut ),(),(),( i j
jyixInjifyxOut ),(),(),(
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Example: SmoothingExample: Smoothing
Original: MandrillOriginal: Mandrill Smoothed withSmoothed withGaussian kernelGaussian kernel
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Gaussian FiltersGaussian Filters
One-dimensional GaussianOne-dimensional Gaussian
Two-dimensional GaussianTwo-dimensional Gaussian
2
2
21
2
1)(
x
exG
2
2
21
2
1)(
x
exG
2
22
22
2
1),(
yx
eyxG
2
22
22
2
1),(
yx
eyxG
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Gaussian FiltersGaussian Filters
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Gaussian FiltersGaussian Filters
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Gaussian FiltersGaussian Filters
Gaussians are used because:Gaussians are used because: SmoothSmooth Decay to zero rapidlyDecay to zero rapidly Simple analytic formulaSimple analytic formula Limit of applying multiple filters is GaussianLimit of applying multiple filters is Gaussian
(Central limit theorem)(Central limit theorem) Separable:Separable:
G G22(x,y) = G(x,y) = G11(x) G(x) G11(y)(y)
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Size of the maskSize of the mask
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Edges & Edge DetectionEdges & Edge Detection
What are Edges?What are Edges? Theory of Edge Detection.Theory of Edge Detection. Edge Operators (Convolution Masks)Edge Operators (Convolution Masks) Edge Detection in the Brain?Edge Detection in the Brain? Edge Detection using Resolution PyramidsEdge Detection using Resolution Pyramids
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
EdgesEdges
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
What are Edges?What are Edges?
Rapid Changes of intensity in small region
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
What are Edges?What are Edges?
Surface-Normal discontinuity
Depth discontinuity
Surface-Reflectance Discontinuity
Illumination Discontinuity
Rapid Changes of intensity in small region
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Local Edge DetectionLocal Edge Detection
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
What is an Edge?What is an Edge?
Edge easy to findEdge easy to find
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
What is an Edge?What is an Edge?
Where is edge? Single pixel wide or multiple pixels?Where is edge? Single pixel wide or multiple pixels?
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
What is an Edge?What is an Edge?
Noise: have to distinguish noise from actual edgeNoise: have to distinguish noise from actual edge
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
What is an Edge?What is an Edge?
Is this one edge or two?Is this one edge or two?
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
What is an Edge?What is an Edge?
Texture discontinuityTexture discontinuity
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Local Edge DetectionLocal Edge Detection
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Real EdgesReal EdgesI
x
Problems: Noisy Images Discrete Images
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Real EdgesReal EdgesWe want an Edge Operator that produces:
Edge Magnitude (strength)Edge directionEdge normalEdge position/center
High detection rate & good localization
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
The 3 steps of Edge DetectionThe 3 steps of Edge Detection
Noise smoothingNoise smoothing Edge EnhancementEdge Enhancement Edge LocalizationEdge Localization
Nonmaximum suppressionNonmaximum suppression ThresholdingThresholding
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Theory of Edge DetectionTheory of Edge Detection
x
y B1,L(x,y)>0
B2,L(x,y)<0t
Unit Step Function:
t
dsstu
t
t
t
tu
)()(
0,0
0,2/1
0,1
)(
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Theory of Edge DetectionTheory of Edge Detection
x
y B1,L(x,y)>0
B2,L(x,y)<0t
Unit Step Function:
t
dsstu
t
t
t
tu
)()(
0,0
0,2/1
0,1
)(
Ideal Edge: 0cossin),( yxyxL
Image Intensity (Brightness):
)cossin()12(1),( yxuBBByxI
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Theory of Edge DetectionTheory of Edge Detection
x
y B1,L(x,y)>0
B2,L(x,y)<0t
Partial Derivatives:
)cossin()12(cos/
)cossin()12(sin/
yxBByI
yxBBxI
Directional!
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Theory of Edge DetectionTheory of Edge Detection
x
y B1,L(x,y)>0
B2,L(x,y)<0t
222 )]cossin()12[()/()/(),( yxBByIxIyxS
Rotationally Symmetric, Non-Linear
),( yxSEdge Magnitude
)/,/tan( yIxIa Edge Orientation
Squared Gradient:
Theory of Edge DetectionTheory of Edge Detection
x
y B1,L(x,y)>0
B2,L(x,y)<0t
Laplacian:
)cossin()12(// '22222 yxBByIxII
(Rotationally Symmetric & Linear)
I
x
xI /
x
xI 22 /
Zero Crossing
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Difference OperatorsDifference OperatorsIi,j+1 Ii+1,j+1
Ii,j Ii+1,jε
))())((2/1(/
))())((2/1(/
,1,,11,1
,,11,1,1
jijijiji
jijijiji
IIIIyI
IIIIxI
Finite Difference Approximations
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Squared GradientSquared Gradient
x
y
),( yxf
22
y
f
x
ff
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Squared GradientSquared Gradient
11
11
11
11
2
1
22
21if threshold then we have an edge
[Roberts ’65]
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Squared GradientSquared Gradient– Sobel – Sobel
101
202
101
11
11
11
111
121
000
121
11
11
11
112
Mean filter convolved with first derivative filter
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
ExamplesExamples
First derivative Sobel operator
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Second DerivativeSecond Derivative
f
f
f
Edge occurs at the zero-crossing of the second derivative
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
LaplacianLaplacian
2
2
2
22
y
f
x
f
• Rotationally symmetric• Linear computation (convolution)
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Discrete LaplacianDiscrete Laplacian
Ii,j+1 Ii+1,j+1
Ii,j Ii+1,j
)2)(/1(/
)2)(/1(/
1,,1,222
,1,,1222
jijiji
jijiji
IIIyI
IIIxI
Finite Difference Approximations
Ii+1,j-1Ii,j-1Ii-1,j-1
Ii-1,j
Ii-1,j+1
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Discrete LaplacianDiscrete Laplacian
• Rotationally symmetric• Linear computation (convolution)
010
141
0102
141
4204
141
6
12
More accurate
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Discrete LaplacianDiscrete Laplacian
Laplacian of an image
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Discrete LaplacianDiscrete Laplacian
Laplacian is sensitive to noiseFirst smooth image with Gaussian
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
From Forsyth & Ponce.
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
FromShreeNayar’snotes.
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Discrete Laplacian w/ Discrete Laplacian w/ SmoothingSmoothing
IGIGI 22LoG
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
FromShreeNayar’snotes.
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Difference Operators – Second Difference Operators – Second DerivativeDerivative
IGIGI 22LoG
00100
02210
121621
01210
00100
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
From Forsyth & Ponce.
3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos
Edge Detection – Human VisionEdge Detection – Human Vision
LoG convolution in the brain – biological evidence!
LoGFlipped LoG
Image Resolution PyramidsImage Resolution Pyramids
Can save computations.Consolidation: Average pixels at one level to find
value at higher level.Template Matching: Find match in COARSE resolution.
Then move to FINER resolution.