Segmentation Using Active Contour Model and Tomlab By: Dalei Wang 29/04/2003.

27
Segmentation Using Active Contour Model and Tomlab By: Dalei Wang 29/04/2003

Transcript of Segmentation Using Active Contour Model and Tomlab By: Dalei Wang 29/04/2003.

Segmentation Using Active Contour Model and Tomlab

By: Dalei Wang29/04/2003

Content Introduction Mathematical definition of active

contour, and its energies Program design and operation Performance and issues What to be done next

The 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

The 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

The 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

Mathematical Definition of Snake Energies Active Contour Model, a.k.a. Snake,

developed by Kass et al. in 1987 An ordered set of snaxels{p1, 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]

Mathematical 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

Mathematical definition of snake energies: Internal Mathematically, internal energy is

defined as dv/ds2+d2v/ds2v(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)=||vi-vi-1||2 +||vi-1-2vi-vi+1||

2

Mathematical 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 y]A[xt yt]t, where x=[x1 x2 x3..xn] and y=[y1 y2 y3..yn] and A is and n by n matrix whose elements are expressed in terms of and .

Mathematical definition of snake energies: External The external energy depends only

on the property of the image Let z=I(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

Mathematical definition of snake energies: External For prostate ultra-sound images

(noisy, non-homogeneous background,boundary not clearly defined) the external energy is:

2||),(|| ii yxI

Mathematical 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)

Mathematical definition of snake energies: External

This is the plot of Y gradient component

Mathematical 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

Program 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

Program 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 3000~5000 times per run

Program 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

Program Design and Operation

Solution: Interpolating along the snake curve at each iteration and sample snaxels at equal intervals along the curve length

A Typical Output

0 50 100 150 200 250 300 350 400 450 5000

50

100

150

200

250

300

350

400

A 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

Issues 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

Example of Poor Initialization

0 50 100 150 200 250 300 350 400 450 5000

50

100

150

200

250

300

350

400

Sensitivity to Parameters

0 50 100 150 200 250 300 350 400 450 5000

50

100

150

200

250

300

350

400

What’s 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

Bibliography [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

Bibliography [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.

Thanks Prof. Salama Prof. Freeman Prof. Vanelli Jessie Shen Bernard Chiu