3-d computater vision csc 83020

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

Upload: ingo

Post on 14-Jan-2016

34 views

Category:

Documents


3 download

DESCRIPTION

3-D Computater Vision CSc 83020. Revisit filtering (Gaussian and Median) Introduction to edge detection. Linear Filters. Given an image In ( x , y ) generate a new image Out ( x , y ): - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 3-D Computater Vision CSc 83020

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

Page 2: 3-D Computater Vision CSc 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

Page 3: 3-D Computater Vision CSc 83020

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

Page 4: 3-D Computater Vision CSc 83020

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 ),(),(),(

Page 5: 3-D Computater Vision CSc 83020

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

Example: SmoothingExample: Smoothing

Original: MandrillOriginal: Mandrill Smoothed withSmoothed withGaussian kernelGaussian kernel

Page 6: 3-D Computater Vision CSc 83020

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

Page 7: 3-D Computater Vision CSc 83020

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

Gaussian FiltersGaussian Filters

Page 8: 3-D Computater Vision CSc 83020

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

Gaussian FiltersGaussian Filters

Page 9: 3-D Computater Vision CSc 83020

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)

Page 10: 3-D Computater Vision CSc 83020

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

Size of the maskSize of the mask

Page 11: 3-D Computater Vision CSc 83020

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

Page 12: 3-D Computater Vision CSc 83020

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

EdgesEdges

Page 13: 3-D Computater Vision CSc 83020

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

Page 14: 3-D Computater Vision CSc 83020

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

Page 15: 3-D Computater Vision CSc 83020

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

Local Edge DetectionLocal Edge Detection

Page 16: 3-D Computater Vision CSc 83020

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

Page 17: 3-D Computater Vision CSc 83020

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?

Page 18: 3-D Computater Vision CSc 83020

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

Page 19: 3-D Computater Vision CSc 83020

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?

Page 20: 3-D Computater Vision CSc 83020

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

What is an Edge?What is an Edge?

Texture discontinuityTexture discontinuity

Page 21: 3-D Computater Vision CSc 83020

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

Local Edge DetectionLocal Edge Detection

Page 22: 3-D Computater Vision CSc 83020

Edge TypesEdge Types

Ideal Step Edges

Ideal Ridge Edges

Ideal Roof Edges

Page 23: 3-D Computater Vision CSc 83020

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

Real EdgesReal EdgesI

x

Problems: Noisy Images Discrete Images

Page 24: 3-D Computater Vision CSc 83020

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

Page 25: 3-D Computater Vision CSc 83020

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

Page 26: 3-D Computater Vision CSc 83020

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

)(

Page 27: 3-D Computater Vision CSc 83020

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

Page 28: 3-D Computater Vision CSc 83020

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!

Page 29: 3-D Computater Vision CSc 83020

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:

Page 30: 3-D Computater Vision CSc 83020

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

Page 31: 3-D Computater Vision CSc 83020

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

Page 32: 3-D Computater Vision CSc 83020

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

Squared GradientSquared Gradient

x

y

),( yxf

22

y

f

x

ff

Page 33: 3-D Computater Vision CSc 83020

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]

Page 34: 3-D Computater Vision CSc 83020

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

Page 35: 3-D Computater Vision CSc 83020

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

ExamplesExamples

First derivative Sobel operator

Page 36: 3-D Computater Vision CSc 83020

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

Page 37: 3-D Computater Vision CSc 83020

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)

Page 38: 3-D Computater Vision CSc 83020

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

Page 39: 3-D Computater Vision CSc 83020

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

Page 40: 3-D Computater Vision CSc 83020

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

Discrete LaplacianDiscrete Laplacian

Laplacian of an image

Page 41: 3-D Computater Vision CSc 83020

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

Page 42: 3-D Computater Vision CSc 83020

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

From Forsyth & Ponce.

Page 43: 3-D Computater Vision CSc 83020

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

FromShreeNayar’snotes.

Page 44: 3-D Computater Vision CSc 83020

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

Discrete Laplacian w/ Discrete Laplacian w/ SmoothingSmoothing

IGIGI 22LoG

Page 45: 3-D Computater Vision CSc 83020

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

FromShreeNayar’snotes.

Page 46: 3-D Computater Vision CSc 83020

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

Page 47: 3-D Computater Vision CSc 83020

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

From Forsyth & Ponce.

Page 48: 3-D Computater Vision CSc 83020

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

Page 49: 3-D Computater Vision CSc 83020

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.

Page 50: 3-D Computater Vision CSc 83020

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

From Forsyth & Ponce.