snakes: active contour modelsgerig/cs6640-f2010/snakes-nov2010-gg.pdfmaterials •kass,,, pp,...

13
Snakes: Active Contour Models CS 6640 Guido Gerig SCI Institute, School of Computing University of Utah (some material from Zoltan Kato http://www.cab.u- szeged.hu/~kato/variational/) Univ of Utah, CS6640 2010 1 szeged.hu/ kato/variational/)

Upload: others

Post on 10-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Snakes: Active Contour Models

CS 6640Guido Gerig

SCI Institute, School of ComputingUniversity of Utah

(some material from Zoltan Kato http://www.cab.u-szeged.hu/~kato/variational/)

Univ of Utah, CS6640 2010 1

szeged.hu/ kato/variational/)

MaterialsMaterials

• Kass, Witkin, Terzopopoulos, Int. Journal of , , p p ,Computer Vision, 321-331, 1988

• Trucco and Verri, Introductory Techniques for 3 D C Vi i Ch 53-D Computer Vision, Chapter 5

• Bryan Morse, Lecture 21 Image UnderstandingUnderstanding

Univ of Utah, CS6640 2010 2

WebsitesWebsites

• Andy Witkin’s homepage: y p ghttp://www.cs.cmu.edu/~aw/

• Terzopoulos: http://www.cs.ucla.edu/~dt/vision.htmlS k A ti C t M d l→ Snakes: Active Contour Models

• Original snake demo: Kass, Witkin, Terzopoulos 1988: http://www.cs.ucla.edu/~dt/videos/deformable-1988: http://www.cs.ucla.edu/ dt/videos/deformablemodels/snakes.avi

• Other Demos:– Xu/Prince: http://www.iacl.ece.jhu.edu/static/gvf/– http://users.ecs.soton.ac.uk/msn/book/new_demo/– http://www.markschulze.net/snakes/index.htmlp

Univ of Utah, CS6640 2010 3

Snake’s Energy FunctionSnake s Energy Function• Position of the snake v(s) = (x(s),y(s))• Esnake = ∫ [ Eint v(s) + Eimagev(s) + Econv(s)] ds

– Internal: Internal energy due to bending. Serves to impose piecewise smoothness constraintp p

– Image: Image forces pushing the snake toward image features (edges, etc…)

– Constraints: External constraints are responsible for putting the snake near the desired local minimum

Univ of Utah, CS6640 2010 4

Internal EnergyInternal Energy

• Ei t = [ α(s) |v (s)|2 + β(s) |v (s)|2 ]Eint = [ α(s) |vs(s)| + β(s) |vss(s)| ]

Fi t d t b ( )– First order term: membrane, α(s): ”elasticity”Second order term: thin plate β(s):– Second order term: thin plate, β(s): “rigidity, stiffness”If α(s)=β(s)=0 we allow breaks in the– If α(s)=β(s)=0, we allow breaks in the contour

Univ of Utah, CS6640 2010 5

Image ForcesImage Forces

• Edge Functional : negative gradientEdge Functional : negative gradient magnitude: Eedge= - | I(x,y)|2

• Better: negative gradient magnitude of• Better: negative gradient magnitude of Gaussian-smoothed image:

E | G( ) I( )|2Eedge= - | G(s)ƒI(x,y)|2

Att t th k t l ti f l→ Attracts the snake to locations of large gradients = strong edges

Univ of Utah, CS6640 2010 6

External Constraint ForcesExternal Constraint Forces• Springs: add -k(x1-x2)2 to Econ

• Volcano: 1/r2 repulsion force, combine with image potential

Univ of Utah, CS6640 2010 7

External Constraint Forces: SpringExternal Constraint Forces: Spring

Univ of Utah, CS6640 2010 8

Original Demo Kass et al., 1988Original Demo Kass et al., 1988

Click to run

Univ of Utah, CS6640 2010 9

http://www.cs.ucla.edu/~dt/videos/deformable-models/snakes.avi

Numerical SolutionsNumerical Solutions

02

EEdEEd 0

2

2

2

22

vv EEds

dsyd

dsxdds s

dsds

Univ of Utah, CS6640 2010 10

Numerical SolutionsNumerical Solutions

• The spline v(s) which minimizes E* kThe spline v(s) which minimizes E snakemust satisfy

0222

2

vv EE

dd

dE

dE

dd

2

2

2

22

vvdsds

ydds

xdds s

• Solutions: Greedy local updates, Euler Lagrange etc (see handouts)

Univ of Utah, CS6640 2010 11

Lagrange etc. (see handouts)

Using Snakes for Dynamic SScenes

• Once a snake finds a feature, it „locks on”

• If feature begins to th k illmove, the snake will

track the same local minimum

• Fast motion could cause the snake to flip into a different minimuminto a different minimum

Univ of Utah, CS6640 2010 12

Example Movie SequencesExample Movie Sequences

Univ of Utah, CS6640 2010 13