Professional Documents
Culture Documents
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Snakes:
Active Contours
Zoltan Kato
http://www.cab.u-szeged.hu/~kato/variational/
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Introduction
Proposed by
Michael Kass
Andrew Witkin
http://www.ri.cmu.edu/people/witkin_andrew.html
Demetri Terzopoulos
http://mrl.nyu.edu/~dt/
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
What is a snake?
An energy minimizing spline guided by external constraint
forces and pulled by image forces toward features:
Edge detection
Subjective contours
Motion tracking
Stereo matching
.
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Snake behavior
A snake falls into the closest local energy
minimum.
The local minima of the snake energy comprise
the set of alternative solutions
A higher level knowledge is needed to choose
the correct one from these solutions
High-level reasoning
User interaction
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Snake behavior
They rely on other mechanisms
to place them near the desired
contour.
The existence of such an initializer is
application dependent.
Even in the case of manual
initialization, snakes are quite
powerful in refining the users input.
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Snake energy
Parametric representation: v(s)=(x(s),y(s))
1
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Internal energy
The snake is a controlled continuity spline
Regularizes the problem
Eint = ( ( s ) | vs ( s ) | + ( s ) | vss ( s ) | ) / 2
2
The first order derivative vs(s) makes the spline act like
a membrane (elasticity).
The second order derivative vss(s) makes it act like a
thin-plate (rigidity).
(s) and (s) controls the relative importance of
membrane and thin-plate terms
Setting (s)=0 for a point allows the snake to become secondorder discontinuous and develop a corner.
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Image forces
Attracts the snake to features (data term)
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Snake convergence
If part of a snake finds a low-energy
feature the spline term will pull
neighboring parts toward a possible
continuation of the feature found.
In fact, this places a large energy well
around a good local minimum
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Scale space
Minimization by scalecontinuation:
1.
2.
3.
deviation
Minima lie on zero crossings
of G2 I (~edges)
Zero crossings
10
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
11
Termination functional
Attracts the snake toward termination of line
segments and corners.
Let C(x,y)= G (x,y)I(x,y))2 (smoothed image)
Let =tan-1(Cy/Cx) the gradient angle
n=(cos , sin ) unit vector along gradient
n=(-sin , cos ) perpendicular to gradient
C / n
Eterm =
=
=
n C / n
yy x
xy x
y
2 3/ 2
y
(C +C )
2
x
xx y
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Subjective contour
Image taken from M. Kass & A.
Witkin & D. Terzopoulos:
Terzopoulos: Snakes:
Active Contour Models. International
Journal of Computer Vision, Vol. 1,
pp 321321-331, 1988.
1988.
12
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
Subjective contour:
hysteresys
Snake tracking a
moving subjective
contour
The snake bends
until the internal
spline forces
overpower image
forces
Then the snake
falls off the line and
returns to a
smoother shape
13
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
14
Motion tracking
Once a snake finds a
feature, it locks on
If the feature begins
to move, the snake
will track the same
local minimum
Fast motion could
cause the snake to
flip into a different
minimum
Image taken from M. Kass & A. Witkin & D. Terzopoulos:
Terzopoulos: Snakes: Active Contour Models. International
Journal of Computer Vision, Vol. 1, pp 321321-331, 1988.
1988.
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
15
E ext
+
= 0
x
E ext
= 0
+
y
ssss
Eint (i ) = i | vi vi 1 | / 2h + i | vi 1 2vi + vi +1 | / 2h
2
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
16
i (vi vi 1 ) i +1 (vi +1 vi )
+ i 1 (vi 2 2vi 1 + vi )
2 i (vi 1 2vi + vi +1 )
+ i +1 (vi 2vi +1 + vi + 2 )
+ ( f x (i ), f y (i )) = 0
Ax + f x ( x , y ) = 0
Ay + f y ( x , y ) = 0
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
17
Zoltan
and Level
Level Set
Set Methods
Methods in
in Image
Image processing
processing
Variational and
Kato: PhD
PhD Course
Course on
on Variational
Zoltan Kato:
xt = ( A + I ) (xt 1 f x ( xt 1 , yt 1 ))
1
yt = ( A + I ) (yt 1 f y ( xt 1 , yt 1 ))
1
18