270 likes | 326 Views
Segmentation Using Active Contour Model and Tomlab. By: Dalei Wang 29/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.
E N D
Segmentation Using Active Contour Model and Tomlab By: Dalei Wang 29/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 a||dv/ds||2+b||d2v/ds2||2 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)=a||vi-vi-1||2 +b||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: [xy]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 a and b.
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:
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 • 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
Sensitivity to Parameters a=0.3 b=0.7 g=0.1 -> a=0.3 b=0.7 g=0.5
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