Sie sind auf Seite 1von 42

Active Contours, Level Sets, and Image

Segmentation

Chunming Li
Institute of Imaging Science
Vanderbilt University

URL: www.vuiis.vanderbilt.edu/~licm
E-mail: chunming.li@vanderbilt.edu
1
Outline

1. Curve evolution and level set methods:


• Curve Evolution: from snake to general curve evolution
• Level Set Methods: basic concepts and methods
2. Numerical issues:
• Difference scheme: upwind scheme, ENO interpolation…
• Reinitialization, velocity extension …
3. Introduction to calculus of variations and applications:
• Segmentation: variational level set, shape prior …
• Denoising: diffusion, TV, …

2
2D Level Set

Click to play the movie


Click to play the movie

3
3D Level Set

Click to play the movie


Click to play the movie

4
More Applications of Level Sets

1. Fluid Dynamics
2. Computer Graphics: Surface Rendering, Animation…
3. Material Science
4. Others…

5
Advantages of Active Contours and Level Sets

1. Nice representation of object boundary:


• Smooth and closed, good for shape analysis and recognition
and other applications.
2. Sub-pixel accuracy.
3. Can incorporate various information such as shape prior and
motion.
4. Mature mathematical tools can be used: calculus of variations,
PDE, differential geometry …

6
Snake Models

7
Image Segmentation: Classic Methods

An image of blood vessel Thresholding Edge detection

8
Parametric Active Contours (Kass et al 1987)

For a contour , define energy:

9
Evolution of Active Contours

Steepest descent:

Internal force: Regularizes the contour.

External force: Drives the contour towards the desired


object boundary.

In the classic snake model, the external force field is:

10
External Force

11
Gradient Vector Flow (Xu and Prince, 1998)

Find a vector field v(x,y) that minimize the energy functional:

Solve two decoupled PDEs:

12
An Example
Gradientvector
f / | f flow
|

13
Advantages of GVF Snake

• Significantly increase capture range


• Be able to detect concave object boundary

14
General Curve Evolution

15
Differential Geometry of Curves
• A planar curve C is a function , with

• Tangent vector

• Normal vector

• Arc length between and

16
Curvature

• Use arc length as the parameter.


The tangent vector is a unit vector
• The unit vector defines the direction of the curve
• Curvature describes how fast the curve changes its direction.
• Take derivative again:
• Note that

17
Curvature (Cont’d)
• Both and are orthogonal to
is parallel to

• For general parameterization the curvature


can be expressed as:

18
Dynamic Curves

• A dynamic curve is a time dependent curve

• The motion of the curve is governed by a curve evolution equation:

• The tangent vector and normal vector forms a basis of .

19
Geometric Curve Evolution

• Theorem: Let be an intrinsic quantity. If evolves according to

Then, there exists another parameterization of such that


is solution of

where at the same point

• General geometric curve evolution:


20
Constant Speed Motion and
Mean Curvature Motion
• Constant Speed Motion • Mean curvature motion
(Area decreasing/increasing) (Length shortening flow)

Click to play the movie Click to play the movie

21
• Constant Speed Motion • Mean curvature motion
(Area decreasing flow) (Length shortening flow)

22
Why MCM Shortens Curve Length?
• Mean curvature motion is the steepest descent
flow (or gradient flow) that minimizes arc length of the contour:

Click to play the movie

23
Geodesic Active Contour (Caselles et al, 1997)
• Euclidean metric: • Minimize a weighted length of C

where

• This is a Riemannian metric.

• How to find the geodesic?

• Solve the gradient flow equation:

24
Geodesic Active Contour
• How does the evolution stop the contour at the edges?

External force

• The external force has two opposite directions on


the two sides of the object boundary.
• The curvature term regularizes the curve: shorten and smooth.

• Problem: The contour cannot progress into concavity.


• Add a balloon/pressure force:
25
Example

Click to play the movie

26
Difficulties of Parameterized Curve Evolution
• Re-parameterization during evolution: very difficult for 3D surface

• Cannot handle topological changes

27
Solutions

Some approaches within parametric active contour


framework:
• McInerney and Terzopoulos, 1995
• Ray and Acton, 2003
• Li, Liu, and Fox, 2005

More natural and better approaches:


• Level set methods

28
Level Set Methods

29
Level Set Representation of Curves

zero level

zero level

30
Advantages of Level Set Methods

• All computation is carried out on a fixed grid, no need for


re-parameterization.

• Topological changes are handled naturally.


• More …

• Also have some disadvantages, will be discussed later.

31
Level Set Functions

contour

Level set functions


with the same zero
level set

32
Signed Distance Function
Signed distance function
Contour C




A signed distance function is defined by :


 dist ( x, C ) if x is outside C

 (x)   0 x C
 dist ( x, C )
 if x is inside C
33
Useful Calculus Facts in Level Set Formulation

• If a curve is a level set of a function


then, the normal vector and the curvature can be computed
from the embedding function

• The surface (or line) integral of a quantity p(x) over the


zero level surface (or contour) of

• The volume (or area) integral of p(x) over

34
From Curve Evolution to Level Set Evolution

• Curve evolution
where F is the speed function, N is normal vector to the curve C

• Embed the dynamic curve as the zero level set of a time


dependent function , i.e.

• Take derivative with respect to time

• Level set evolution:


35
Special Cases

• Mean curvature flow

• Constant Speed Motion

• Geodesic active contours

36
Demo of GAC

Click to play the movie

37
Unstable Evolution and Need for Reinitialization
Zero level set of degraded
Degraded level set function,
level set function
50 iterations, time step=0.1

38
Procedure of Standard Level Set Methods
Initialization

Evolve level set function

Reinitialization

N
converge?

Y
stop
39
More Details

• Difference Scheme: finite difference, upwind scheme.


• ENO interpolation
• Velocity Extension
• Narrow Band Implementation
• More… Next time

40
Questions

41
Thank you

42

Das könnte Ihnen auch gefallen