Title: Segmentation Using Active Contour Model and Tomlab
1Segmentation Using Active Contour Model and
Tomlab
2Content
- Introduction
- Mathematical definition of active contour, and
its energies - Program design and operation
- Performance and issues
- What to be done next
3The Project
- Started out as an investigation of how the
interior point optimization algorithm applies to
segmentation - Popular segmentation algorithms Euler-Lagrange,
Dynamic Program-ming, Greedy Algorithm
4The Project
- Objectives Design or find an interior point
optimization algorithm. Design a self contained
segmentation program based on interior point
method. - Later realized that interior point algorithms
mostly apply to linear constrained problems,
unsuitable for energy minimization
5The Project
- Interior point method for non-linear programming
exists but resources are scarce and beyond my
current level - Finally decided to use an off the shelf
optimization program Tomlab toolbox - Tomlab will include an interior point solver soon
6Mathematical Definition of Snake Energies
- Active Contour Model, a.k.a. Snake, developed by
Kass et al. in 1987 - An ordered set of snaxelsp1, p2, pn defined on
a bounded two dimensional space 1 - A snake is defined so as to possess certain
energy - Energy conveniently defined so to reach minimum
at boundary of objects 1,2
7Mathematical Definition of Snake Energies
Internal
- The internal energy controls the elasticity and
stiffness of the snake - Grants resistance to pulling and bending
- Smoothness constraints If no external force
present the snake will be circular
8Mathematical definition of snake energies
Internal
- Mathematically, internal energy is defined as
adv/ds2bd2v/ds22 v(s) is snake curve
parametrically defined in terms of s, the curve
length - Must be discretized for the snake is not
continuous, but defined as a set of points - Discretized, the internal energy of ith snaxel
is - Eint(vi)avi-vi-12 bvi-1-2vi-vi12
9Mathematical definition of snake energies
Internal
- Total internal energy of a snake is the sum of
all internal energies of individual snaxels. - Can be expressed as x yAxt ytt, where xx1
x2 x3..xn and yy1 y2 y3..yn and A is and n by
n matrix whose elements are expressed in terms of
a and b.
10Mathematical definition of snake energies
External
- The external energy depends only on the property
of the image - Let zI(x, y) be the image function, x, y are
axes, z is 8 bit grey scale. - Alternate definition depending on the type of
image and the object one wants to extract
11Mathematical definition of snake energies
External
- For prostate ultra-sound images (noisy,
non-homogeneous background,boundary not clearly
defined) the external energy is -
-
12Mathematical definition of snake energies
External
The gradient magnitude of prostate image
- This is the plot of the x components of image
gradient - The magnitude of gradient is strong near edge of
prostate - But also at false minima(noises)
13Mathematical definition of snake energies
External
This is the plot of Y gradient component
14Mathematical definition of snake energies
- Minimizing the total snake energy is therefore an
unconstrained (but bounded) non-linear (due to
the non-linearity of image function) programming
problem - There is an unconstrained non-linear routine in
Tomlab ucSolve
15Program Design and Operation
- Snake initialization A function allows the user
to select points on the prostate image - For optimal results, one should select about 10
points - The program automatically interpolates along the
curve and samples about 50 points
16Program Design and Operation
- Problem definition In order to define the
problem in Tomlab format, the following data is
stored in global variable image, gradient
matrices of the image, matrix used in computing
internal energy - It is important for them to be calculated only
once. They are needed for energy calculation,
which is evaluated about 30005000 times per run
17Program Design and Operation
- Another design issue It is possible for some
images to cause most or all snaxels to cluster to
a region of the prostate edge, leaving a large
gaps between some neighboring snaxels
18Program Design and Operation
- Solution Interpolating along the snake curve at
each iteration and sample snaxels at equal
intervals along the curve length
19A Typical Output
20A Typical Output
- The blue curve is initial snake, the red is the
final - Solution found in 32.35 seconds and 10 iterations
(tested on Pentium III 1GHZ 384 MB Ram) - This result does reflect typical time cost
21Issues
- Snakes as defined by Kass et al. has some
intrinsic short comings - Extreme sensitivity to parameters
- Extreme sensitivity to initialization
- Inability to displace far from original position
due to weak external force fields away from edges
- Will NOT converge into concavities
22Example of Poor Initialization
23Sensitivity to Parameters
a0.3 b0.7 g0.1 -gt a0.3 b0.7 g0.5
24Whats Still to Be Done
- Performance analysis Compute how close the final
snake is to real contour. Compare with other
algorithms - Solve the problem again with interior point
solver when it comes out
25Bibliography
- 1 K. F. Lai, Deformable Contours Modeling,
Extraction, Detection and Classiication,
University of Wisconsin-Madison, 1994 - 2 A. Amini, T.Weymouth, and R. Jain, Using
Dynamic Programming for Solving Variational
Problems in Vision, in IEEE Transaction On
Pattern Analysis And Machine Intelligence, Vol.12
No.9, September 1990
26Bibliography
- 3 L. Zhang, Active Contour Model, Snake,
Department of Computer Science, University of
evade, Reno - 4 K.Holmstrom.TOMLAB -An Environment for
Solving Optimization Problems in Matlab. In
M.Olsson,editor,Proceedings for the Nordic Matlab
Conference 97,October 27-28 ,Stock-holm,
Sweden,1997.Computer Solutions Europe AB.
27Thanks
- Prof. Salama
- Prof. Freeman
- Prof. Vanelli
- Jessie Shen
- Bernard Chiu