270 likes | 328 Views
This project explores the use of the active contour model, also known as Snake, for segmentation tasks. It delves into the mathematical definitions of Snake energies, both internal and external, and discusses the design and operation of a segmentation program utilizing the Tomlab optimization toolbox. The project details the challenges faced, strategies for problem-solving, and provides a typical output example. Issues with the Snake model and the importance of proper initialization are examined. The optimization algorithm, program design, and performance considerations are thoroughly discussed, making it a valuable resource for researchers in image processing and segmentation.
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