3d computer vision generalized hough boundaries representations snakes (trucco: 109-113)...

73
3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Upload: megan-jacobs

Post on 28-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

3D Computer VisionGeneralized Hough

BoundariesRepresentationsSnakes (Trucco: 109-113)

Computational Vision / Ioannis Stamos

Page 2: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Generalized Hough TransformDetecting shapes

not described by an analytic equation

CSc 83020 3-D Computer Vision – Ioannis Stamos

Page 3: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

CSc 83020 3-D Computer Vision – Ioannis Stamos

FromShree Nayar’sNotes

Page 4: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

CSc 83020 3-D Computer Vision – Ioannis Stamos

FromShree Nayar’sNotes

Page 5: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 6: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 7: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 8: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 9: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 10: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 11: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Find template t in image f

t and f are both gray-scale images

Page 12: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 13: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 14: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 15: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 16: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 17: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 18: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

FromShree Nayar’sNotes

Page 19: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

DiscussionCan you search for matches in

Different scale (size) than template?Different orientation than template?

Computational Vision / Ioannis Stamos

Page 20: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

ComparisonTemplate matching

vs.Hough

Computational Vision / Ioannis Stamos

Page 21: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

To MATCH image boundary/region with MODEL

boundary/region, they must represented in the same

manner.•Boundary Representation•Snakes – Extraction of arbitrary contours from image.•Region Representation

Page 22: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Representation IssuesCompact: Easy to Store & Match.Easy to manipulate & compute properties.Captures Object/Model shape.Computationally efficient.

Page 23: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Polylines: concatenation of line segments.

Breakpoint

Matching on the basis of:# of line segmentslengths of line segmentsangle between consecutive segments

Page 24: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

ei

Move along the boundaryAt each point find line that fits previous points

(Least Squares)Compute the fit error E=Sum(ei) using previous pointsIf E exceeds threshold, declare breakpoint and start

a new running line fit.

Page 25: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

•Draw Straight line between end-points of curve•For every curve point find distance to line.•If distance is less than tolerance level for all points, Exit•Else, pick point that is farthest away and use as breakpoint.

Introduce new segments.•Recursively apply algorithm to new segments.

Page 26: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

s ψ

x

y

s

Ψ

1 2

3 4

5 6

x

y

12

3

4

5

6

π

Page 27: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

s ψ

x

y

s

Ψ

1 2

3 4

5 6

x

y

12

3

4

5

6

Ψ-s is periodic (2π)Horizontal section in Ψ-s curve

=> straight line in the ImageNon horizontal section in Ψ-s

=> arc in Image

π

Page 28: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

s ψ

x

y H(Ψ)

Ψ

π 2π

HISTOGRAMLines

Arcs

Page 29: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

s ψ

x

y H(Ψ)

Ψ

π 2π

HISTOGRAM

H(Ψ) shifts as objects rotates.H(Ψ) wraps around

Lines

Arcs

Page 30: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

s ψ

x

y

Find: Ψ(s)Define:Φ(s)= Ψ(s)-(2πs)/P

P: Perimeter.2π: Period of Φ(s)

Φ(s) is a Continuous, Periodic function.Fourier Series for Periodic Functions:

Fourier Coefficients:

Pes

k

sikk

2,)( 0

1

0

P

sikk dsesP 0

0)(1

Φk’s capture shape informationMatch shapes by matching Φk’sUse finite number of Φk’s

Page 31: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Fourier DescriptorsInput Shape Power Spectrum Reconstruction

# of coefficients

Φk

Note: Reconstructed shapes are often not closed sinceonly a finite # of Φk’s are used.

Page 32: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

1

0

)()(N

iii sBvsX

•Piecewise continuous polynomials used to INTERPOLATE between Data Points.•Smooth, Flexible, Accurate.

s=0

s=1s=2

x0

x1x2

xi

x

s

Spline X(s)

Data Point

We want to find X(s) from points xiCubic Polynomials are popular:

BASIS FUNCTIONS

COEFFICIENTS

N

Page 33: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Bi(s) has limited support (4 spans)

i-2 i-1 i i+1 i+2

Each span (i->i+1) has only 4 non-zero Basis Functions:Bi-1(s), Bi(s), Bi+1(s), Bi+2(s)

i i+1

Bi(s)

Bi-1(s) Bi+2(s)

Bi+1(s)

t=0 t=1t

s:

s:

Page 34: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

3-D Computer Vision CSc 83020 – Ioannis Stamos

i i+1

Bi(s)

Bi-1(s) Bi+2(s)

Bi+1(s)

t=0 t=1t

CubicPolynomials

1/6

4/6

Page 35: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

3-D Computer Vision CSc 83020 – Ioannis Stamos

i i+1

Bi(s)

Bi-1(s) Bi+2(s)

Bi+1(s)

t=0 t=1t

6/)()(

6/)1333()()(

6/)463()()(

6/)133()()(

332

2321

231

2301

ttCsB

ttttCsB

tttCsB

ttttCsB

i

i

i

i

CubicPolynomials

1/6

4/6

Page 36: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

3-D Computer Vision CSc 83020 – Ioannis Stamos

0141

0303

0363

1331

6

1

1)(

)()()()()(

21123

2312110

C

vvvvCttttx

vtCvtCvtCvtCtxT

iiiii

iiiii

If we compute v0, … vN => continuous representation for the curve.

Page 37: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

)0(

...

)0()0()0()0(...............................)0(

)0()0()0()0(................)0(

)0()0()0()0()0(

4332211022

3322110011

2312011000

NN xx

vCvCvCvCxx

vCvCvCvCxx

vCvCvCvCxx

NN v

v

v

v

x

x

x

x

...

410......0

0............0

0...1410

0...0141

0...0014

6

1

...2

1

0

2

1

0

We have our N+1 data points:

And in matrix form:

We can solve for the vi’s from the xi’sBoundary condition for closed curves: v0=vN, v1=vN+1.

Page 38: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Tiiiii vvvvCttttx 21123 1)(

So, for any i we can find:

xi xi+1

xi(t)

t

t=0 t=1

Note: Local support.Spline passes through all data points xi.

B-Spline demo: http://www.doc.ic.ac.uk/~dfg/AndysSplineTutorial/BSplines.html

Page 39: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Fitting a curve to an arbitrary shape.Active/Deformable contour or Snake.

Page 40: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Elastic band of arbitrary shape.Located near the image contour.

Page 41: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Attracted towards the target contour.

Page 42: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Stops when Energy Functional is minimized.

Page 43: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

[Davatzikos and Prince][Davatzikos and Prince]

Page 44: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

[Davatzikos and Prince][Davatzikos and Prince]

Page 45: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Demo using gimp“Intelligent scissors”

Page 46: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

User-Visible OptionsInitialization: user-specified, automaticCurve properties: continuity, smoothnessImage features: intensity, edges, corners, …Other forces: hard constraints, springs,

attractors, repulsors, …Scale: local, multiresolution, global

Page 47: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Behind-the-Scenes OptionsFramework: energy minimization, forces

acting on curveCurve representation: ideal curve, sampled,

spline, implicit functionEvolution method: calculus of variations,

numerical differential equations, local search

Page 48: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Snakes: Active Contour ModelsIntroduced by Kass, Witkin, and TerzopoulosFramework: energy minimization

Bending and stretching curve = more energyGood features = less energyCurve evolves to minimize energy

Also “Deformable Contours”

Page 49: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Snakes Energy EquationParametric representation of curve

Energy functional consists of three terms

)(),()( sysxs v )(),()( sysxs v

)()()(int sss conimg vvv )()()(int sss conimg vvv

Page 50: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Internal Energy

First term is “membrane” term – minimum energy when curve minimizes length(“soap bubble”)

Second term is “thin plate” term – minimum energy when curve is smooth

2)()()()()(22

int sssss sss vvv 2)()()()()(22

int sssss sss vvv

Page 51: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Internal Energy

Control and to vary between extremesSet to 0 at a point to allow cornerSet to 0 everywhere to let curve follow

sharp creases – “strings”

2)()()()()(22

int sssss sss vvv 2)()()()()(22

int sssss sss vvv

Page 52: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Edge AttractionGradient-based:

Laplacian-based:

In both cases, can smooth with GaussianSnakes paper, figures 3 and 4

2),( yxIwimg 2),( yxIwimg

22 ),( yxIwimg 22 ),( yxIwimg

Page 53: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Corner AttractionCan use corner detector we saw last timeAlternatively, let = tan-1 Iy / Ix

and let nbe a unit vector perpendicular to the gradient. Then

Snakes paper, figures 5 and 6

n

wimg

n

wimg

Page 54: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Variants on SnakesBalloons [Cohen 91]

Add inflation force

Helps avoid getting stuck on small features

)(skFinfl n )(skFinfl n

Page 55: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

[Cohen 91][Cohen 91]

Page 56: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

dsEsEsEs imagecurvcont ))()()((

)(sc

)(),()( sysxs c

Parameterized by arc-length

[Kass, Witkan and Terzopoulos ’87]

Minimize

Page 57: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

dsEsEsEs imagecurvcont ))()()((

)(scContinuity – compactness

2

1

2

iicont ds

dE pp

c

)(),()( sysxs c

Parameterized by arc-length

[Kass, Witkan and Terzopoulos ’87]

Minimize

Page 58: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

dsEsEsEs imagecurvcont ))()()((

)(scContinuity – compactness

21

2

)( iicont dds

dE pp

c

)(),()( sysxs c

Parameterized by arc-length

[Kass, Witkan and Terzopoulos ’87]

Minimize

Page 59: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

dsEsEsEs imagecurvcont ))()()((

)(scContinuity – compactness

)(),()( sysxs c

Parameterized by arc-length

[Kass, Witkan and Terzopoulos ’87]

Minimize

Smoothness

2

11 2 iiicurvE ppp

21

2

)( iicont dds

dE pp

c

Page 60: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

dsEsEsEs imagecurvcont ))()()((

)(scContinuity – compactness

)(),()( sysxs c

Parameterized by arc-length

[Kass, Witkan and Terzopoulos ’87]

Minimize

Smoothness

2

11 2 iiicurvE ppp

Edge Attraction Term

2IEimage

21

2

)( iicont dds

dE pp

c

Page 61: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

N

iimageicurviconti EEE

1

Problem Statement:

Start with chain of image locations representing initial position of contour.

Find the deformable contour

by minimizing the energy functional:

Nppp ,...,, 21

Nppp ,...,, 21

Page 62: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

How can we minimize

i

imageicurviconti EEE

Discrete version: sum over the points.

Greedy minimization:For each point compute the best move over a small area.

Page 63: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

How can we minimize

i

imageicurviconti EEE

Discrete version: sum over the points.

Greedy minimization:For each point compute the best move over a small area.

Set βj=0 for points of high curvature (corners)

Page 64: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

How can we minimize

i

imageicurviconti EEE

Discrete version: sum over the points.

Greedy minimization:For each point compute the best move over a small area.

Set βj=0 for points of high curvature (corners)

Stop when a user-specified fraction of points does not move.

Page 65: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Synthetic Results

Real Experiment

Snakes demo: http://www.markschulze.net/snakes/

Page 66: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

ScaleIn the simplest snakes algorithm, image

features only attract locallyGreater region of attraction: smooth image

Curve might not follow high-frequency detailMultiresolution processing

Start with smoothed image to attract curveFinish with unsmoothed image to get details

Looking for global minimum vs. local minima

Page 67: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Diffusion-Based MethodsAnother way to attract curve to localized

features: vector flow or diffusion methodsExample:

Find edges using CannyFor each point, compute distance to

nearest edgePush curve along gradient of distance field

Page 68: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Xu and PrinceXu and Prince

Page 69: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Xu and PrinceXu and Prince

Simple SnakeSimple Snake With Gradient Vector FieldWith Gradient Vector Field

Page 70: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

Xu and PrinceXu and Prince

Page 71: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

3-D Computer Vision CSc 83020 – Ioannis Stamos

1 11 1 1 1 1

1 1 1 1 11 1 1 1

1

Spatial Occupancy Array

•Easy to implement.•Large Storage area.•Can apply set operations (unite/intersect).•Expensive for matching!

Page 72: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

3-D Computer Vision CSc 83020 – Ioannis Stamos

Quad TreesEfficient encoding ofSpatial Occupancy Arrayusing Resolution Pyramids.

Black: Fully Occupied.White: Empty.Gray: Partially Occupied.

Page 73: 3D Computer Vision Generalized Hough Boundaries Representations Snakes (Trucco: 109-113) Computational Vision / Ioannis Stamos

3-D Computer Vision CSc 83020 – Ioannis Stamos

Quad TreeLevel 0Level 1

Level 2

Level 3

Quad Tree Generation:Start with level 0. If Black or White, Terminate. Else

declare Gray node & expand with four sons.

For each son repeat above step.NW NE

SW SE