3-D Computer Vision CSc83020 / Ioannis Stamos Revisit filtering (Gaussian and Median) Introduction...

50
3-D Computer Vision CSc83020 / Ioannis 3-D Computer Vision CSc83020 / Ioannis Stamos Stamos Revisit filtering (Gaussian and Revisit filtering (Gaussian and Median) Median) Introduction to edge detection Introduction to edge detection 3-D Computater Vision 3-D Computater Vision CSc 83020 CSc 83020

Transcript of 3-D Computer Vision CSc83020 / Ioannis Stamos Revisit filtering (Gaussian and Median) Introduction...

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

Edge TypesEdge Types

Ideal Step Edges

Ideal Ridge Edges

Ideal Roof Edges

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.

3-D Computer Vision CSc83020 / Ioannis Stamos3-D Computer Vision CSc83020 / Ioannis Stamos

From Forsyth & Ponce.