fbpx
Wikipedia

Active contour model

Active contour model, also called snakes, is a framework in computer vision introduced by Michael Kass, Andrew Witkin, and Demetri Terzopoulos[1] for delineating an object outline from a possibly noisy 2D image. The snakes model is popular in computer vision, and snakes are widely used in applications like object tracking, shape recognition, segmentation, edge detection and stereo matching.

A snake is an energy minimizing, deformable spline influenced by constraint and image forces that pull it towards object contours and internal forces that resist deformation. Snakes may be understood as a special case of the general technique of matching a deformable model to an image by means of energy minimization.[1] In two dimensions, the active shape model represents a discrete version of this approach, taking advantage of the point distribution model to restrict the shape range to an explicit domain learnt from a training set.

Snakes – active deformable models

Snakes do not solve the entire problem of finding contours in images, since the method requires knowledge of the desired contour shape beforehand. Rather, they depend on other mechanisms such as interaction with a user, interaction with some higher level image understanding process, or information from image data adjacent in time or space.

Motivation edit

In computer vision, contour models describe the boundaries of shapes in an image. Snakes in particular are designed to solve problems where the approximate shape of the boundary is known. By being a deformable model, snakes can adapt to differences and noise in stereo matching and motion tracking. Additionally, the method can find Illusory contours in the image by ignoring missing boundary information.

Compared to classical feature extraction techniques, snakes have multiple advantages:

  • They autonomously and adaptively search for the minimum state.
  • External image forces act upon the snake in an intuitive manner.
  • Incorporating Gaussian smoothing in the image energy function introduces scale sensitivity.
  • They can be used to track dynamic objects.

The key drawbacks of the traditional snakes are

  • They are sensitive to local minima states, which can be counteracted by simulated annealing techniques.
  • Minute features are often ignored during energy minimization over the entire contour.
  • Their accuracy depends on the convergence policy.[2]

Energy formulation edit

A simple elastic snake is defined by a set of n points   for  , the internal elastic energy term  , and the external edge-based energy term  . The purpose of the internal energy term is to control the deformations made to the snake, and the purpose of the external energy term is to control the fitting of the contour onto the image. The external energy is usually a combination of the forces due to the image itself   and the constraint forces introduced by the user  

The energy function of the snake is the sum of its external energy and internal energy, or

 

Internal energy edit

The internal energy of the snake is composed of the continuity of the contour   and the smoothness of the contour  .

  [3]

This can be expanded as

 

where   and   are user-defined weights; these control the internal energy function's sensitivity to the amount of stretch in the snake and the amount of curvature in the snake, respectively, and thereby control the number of constraints on the shape of the snake.

In practice, a large weight   for the continuity term penalizes changes in distances between points in the contour. A large weight   for the smoothness term penalizes oscillations in the contour and will cause the contour to act as a thin plate.

Image energy edit

Energy in the image is some function of the features of the image. This is one of the most common points of modification in derivative methods. Features in images and images themselves can be processed in many and various ways.

For an image  , lines, edges, and terminations present in the image, the general formulation of energy due to the image is

 

where  ,  ,   are weights of these salient features. Higher weights indicate that the salient feature will have a larger contribution to the image force.

Line functional edit

The line functional is the intensity of the image, which can be represented as

 

The sign of   will determine whether the line will be attracted to either dark lines or light lines.

Some smoothing or noise reduction may be used on the image, which then the line functional appears as

 

Edge functional edit

The edge functional is based on the image gradient. One implementation of this is

 

A snake originating far from the desired object contour may erroneously converge to some local minimum. Scale space continuation can be used in order to avoid these local minima. This is achieved by using a blur filter on the image and reducing the amount of blur as the calculation progresses to refine the fit of the snake. The energy functional using scale space continuation is

 

where   is a Gaussian with standard deviation  . Minima of this function fall on the zero-crossings of   which define edges as per Marr–Hildreth theory.

Termination functional edit

Curvature of level lines in a slightly smoothed image can be used to detect corners and terminations in an image. Using this method, let   be the image smoothed by

 

with gradient angle

 

unit vectors along the gradient direction

 

and unit vectors perpendicular to the gradient direction

 

The termination functional of energy can be represented as

 

Constraint energy edit

Some systems, including the original snakes implementation, allowed for user interaction to guide the snakes, not only in initial placement but also in their energy terms. Such constraint energy   can be used to interactively guide the snakes towards or away from particular features.

Optimization through gradient descent edit

Given an initial guess for a snake, the energy function of the snake is iteratively minimized. Gradient descent minimization is one of the simplest optimizations which can be used to minimize snake energy.[4] Each iteration takes one step in the negative gradient of the point with controlled step size   to find local minima. This gradient-descent minimization can be implemented as

 

Where   is the force on the snake, which is defined by the negative of the gradient of the energy field.

 

Assuming the weights   and   are constant with respect to  , this iterative method can be simplified to

 

Discrete approximation edit

In practice, images have finite resolution and can only be integrated over finite time steps  . As such, discrete approximations must be made for practical implementation of snakes.

The energy function of the snake can be approximated by using the discrete points on the snake.

 

Consequentially, the forces of the snake can be approximated as

 

Gradient approximation can be done through any finite approximation method with respect to s, such as Finite difference.

Numerical instability due to discrete time edit

The introduction of discrete time into the algorithm can introduce updates which the snake is moved past the minima it is attracted to; this further can cause oscillations around the minima or lead to a different minima being found.

This can be avoided through tuning the time step such that the step size is never greater than a pixel due to the image forces. However, in regions of low energy, the internal energies will dominate the update.

Alternatively, the image forces can be normalized for each step such that the image forces only update the snake by one pixel. This can be formulated as

 

where   is near the value of the pixel size. This avoids the problem of dominating internal energies that arise from tuning the time step.[5]

Numerical instability due to discrete space edit

The energies in a continuous image may have zero-crossing that do not exist as a pixel in the image. In this case, a point in the snake would oscillate between the two pixels that neighbor this zero-crossing. This oscillation can be avoided by using interpolation between pixels instead of nearest neighbor.[5]

Some variants of snakes edit

The default method of snakes has various limitation and corner cases where the convergence performs poorly. Several alternatives exist which addresses issues of the default method, though with their own trade-offs. A few are listed here.

GVF snake model edit

The gradient vector flow (GVF) snake model[6] addresses two issues with snakes:

  • poor convergence performance for concave boundaries
  • poor convergence performance when snake is initialized far from minimum

In 2D, the GVF vector field   minimizes the energy functional

 

where   is a controllable smoothing term. This can be solved by solving the Euler equations

 
 

This can be solved through iteration towards a steady-state value.

 
 

This result replaces the default external force.

 

The primary issue with using GVF is the smoothing term   causes rounding of the edges of the contour. Reducing the value of   reduces the rounding but weakens the amount of smoothing.

The balloon model edit

The balloon model[5] addresses these problems with the default active contour model:

  • The snake is not attracted to distant edges.
  • The snake will shrink inwards if no substantial images forces are acting upon it.
  • a snake larger than the minima contour will eventually shrink into it, but a snake smaller than the minima contour will not find the minima and instead continue to shrink.

The balloon model introduces an inflation term into the forces acting on the snake

 

where   is the normal unitary vector of the curve at   and   is the magnitude of the force.   should have the same magnitude as the image normalization factor   and be smaller in value than   to allow forces at image edges to overcome the inflation force.

Three issues arise from using the balloon model:

  • Instead of shrinking, the snake expands into the minima and will not find minima contours smaller than it.
  • The outward force causes the contour to be slightly larger than the actual minima. This can be solved by decreasing the balloon force after a stable solution has been found.
  • The inflation force can overpower forces from weak edges, amplifying the issue with snakes ignoring weaker features in an image.

Diffusion snakes model edit

The diffusion snake model[7] addresses the sensitivity of snakes to noise, clutter, and occlusion. It implements a modification of the Mumford–Shah functional and its cartoon limit and incorporates statistical shape knowledge. The default image energy functional   is replaced with

 

where   is based on a modified Mumford–Shah functional

 

where   is the piecewise smooth model of the image   of domain  . Boundaries   are defined as

 

where   are quadratic B-spline basis functions and   are the control points of the splines. The modified cartoon limit is obtained as   and is a valid configuration of  .

The functional   is based on training from binary images of various contours and is controlled in strength by the parameter  . For a Gaussian distribution of control point vectors   with mean control point vector   and covariance matrix   , the quadratic energy that corresponds to the Gaussian probability is

 

The strength of this method relies on the strength of the training data as well as the tuning of the modified Mumford–Shah functional. Different snakes will require different training data sets and tunings.

Geometric active contours edit

Geometric active contour, or geodesic active contour (GAC)[8] or conformal active contours[9] employs ideas from Euclidean curve shortening evolution. Contours split and merge depending on the detection of objects in the image. These models are largely inspired by level sets, and have been extensively employed in medical image computing.

For example, the gradient descent curve evolution equation of GAC is [8]

 

where   is a halting function, c is a Lagrange multiplier,   is the curvature, and   is the unit inward normal. This particular form of curve evolution equation is only dependent on the velocity in the normal direction. It therefore can be rewritten equivalently in an Eulerian form by inserting the level set function   into it as follows

 

This simple yet powerful level-set reformation enables active contours to handle topology changes during the gradient descent curve evolution. It has inspired tremendous progress in the related fields, and using numerical methods to solve the level-set reformulation is now commonly known as the level-set method. Although the level set method has become quite a popular tool for implementing active contours, Wang and Chan argued that not all curve evolution equations should be directly solved by it.[10]

More recent developments in active contours address modeling of regional properties, incorporation of flexible shape priors and fully automatic segmentation, etc.

Statistical models combining local and global features have been formulated by Lankton and Allen Tannenbaum.[11]

Relations to graph cuts edit

Graph cuts, or max-flow/min-cut, is a generic method for minimizing a particular form of energy called Markov random field (MRF) energy. The Graph cuts method has been applied to image segmentation as well, and it sometimes outperforms the level set method when the model is MRF or can be approximated by MRF.

See also edit

References edit

  1. ^ a b Kass, M.; Witkin, A.; Terzopoulos, D. (1988). (PDF). International Journal of Computer Vision. 1 (4): 321. CiteSeerX 10.1.1.124.5318. doi:10.1007/BF00133570. S2CID 12849354. Archived from the original (PDF) on 2016-01-12. Retrieved 2015-08-29.
  2. ^ Snakes: an active model, Ramani Pichumani, http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/RAMANI1/node31.html
  3. ^ Dr. George Bebis, University of Nevada, http://www.cse.unr.edu/~bebis/CS791E/Notes/DeformableContours.pdf
  4. ^ Image Understanding, Bryan S. Morse, Brigham Young University, 1998–2000 http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MORSE/iu.pdf
  5. ^ a b c Cohen, Laurent D. (1991). "On active contour models and balloons". CVGIP: Image Understanding. 53 (2): 211–218. doi:10.1016/1049-9660(91)90028-N.
  6. ^ Chenyang Xu; Prince, J.L. (1997). "Gradient vector flow: A new external force for snakes". Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition (PDF). pp. 66–71. doi:10.1109/CVPR.1997.609299. ISBN 0-8186-7822-4. S2CID 980797.
  7. ^ Cremers, D.; Schnorr, C.; Weickert, J. (2001). "Diffusion-snakes: Combining statistical shape knowledge and image information in a variational framework". Proceedings IEEE Workshop on Variational and Level Set Methods in Computer Vision. Vol. 50. pp. 137–144. CiteSeerX 10.1.1.28.3639. doi:10.1109/VLSM.2001.938892. ISBN 978-0-7695-1278-5. S2CID 14929019.
  8. ^ a b Geodesic Active Contours, V. Caselles, R. Kimmel, G. Sapiro http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.2196
  9. ^ Kichenassamy, Satyanad; Kumar, Arun; Olver, Peter; Tannenbaum, Allen; Yezzi, Anthony (1996). "Conformal curvature flows: From phase transitions to active vision". Archive for Rational Mechanics and Analysis. 134 (3): 275–301. Bibcode:1996ArRMA.134..275K. doi:10.1007/BF00379537. S2CID 116487549.
  10. ^ Wang, Junyan; Chan, Kap Luk (2014-07-08). "Active Contour with a Tangential Component". Journal of Mathematical Imaging and Vision. 51 (2): 229–247. arXiv:1204.6458. doi:10.1007/s10851-014-0519-y. ISSN 0924-9907. S2CID 13100077.
  11. ^ Lankton, S.; Tannenbaum, A. (2008). "Localizing Region-Based Active Contours". IEEE Transactions on Image Processing. 17 (11): 2029–2039. Bibcode:2008ITIP...17.2029L. doi:10.1109/TIP.2008.2004611. PMC 2796112. PMID 18854247.

External links edit

  • David Young, March 1995
  • Snakes: Active Contours, CVOnline
  • Active contours, deformable models, and gradient vector flow by Chenyang Xu and Jerry Prince, including code download
  • Active contours implementation & test platform GUI
  • A simple implementation of snakes by Associate Professor Cris Luengo
  • MATLAB documentation for activecontour, which segments an image using active contours

Sample code edit

  • developed by Xu and Prince
  • Matlab implementation of 2D and 3D snake including GVF and balloon force
  • Matlab Snake Demo by Chris Bregler and Malcolm Slaney, Interval Research Corporation.
  • A Demonstration Using Java
  • Active Contours implementation & test platform GUI by Nikolay S. and Alex Blekhman implementing "Active Contours without Edges"
  • Active Contour Segmentation by Shawn Lankton implementing "Active Contours without Edges"
  • Geometric Active Contour Code by Jarno Ralli
  • Morphological Snakes

active, contour, model, also, called, snakes, framework, computer, vision, introduced, michael, kass, andrew, witkin, demetri, terzopoulos, delineating, object, outline, from, possibly, noisy, image, snakes, model, popular, computer, vision, snakes, widely, us. Active contour model also called snakes is a framework in computer vision introduced by Michael Kass Andrew Witkin and Demetri Terzopoulos 1 for delineating an object outline from a possibly noisy 2D image The snakes model is popular in computer vision and snakes are widely used in applications like object tracking shape recognition segmentation edge detection and stereo matching A snake is an energy minimizing deformable spline influenced by constraint and image forces that pull it towards object contours and internal forces that resist deformation Snakes may be understood as a special case of the general technique of matching a deformable model to an image by means of energy minimization 1 In two dimensions the active shape model represents a discrete version of this approach taking advantage of the point distribution model to restrict the shape range to an explicit domain learnt from a training set Snakes active deformable models Snakes do not solve the entire problem of finding contours in images since the method requires knowledge of the desired contour shape beforehand Rather they depend on other mechanisms such as interaction with a user interaction with some higher level image understanding process or information from image data adjacent in time or space Contents 1 Motivation 2 Energy formulation 2 1 Internal energy 2 2 Image energy 2 2 1 Line functional 2 2 2 Edge functional 2 2 3 Termination functional 2 3 Constraint energy 3 Optimization through gradient descent 4 Discrete approximation 4 1 Numerical instability due to discrete time 4 2 Numerical instability due to discrete space 5 Some variants of snakes 5 1 GVF snake model 5 2 The balloon model 5 3 Diffusion snakes model 5 4 Geometric active contours 6 Relations to graph cuts 7 See also 8 References 9 External links 9 1 Sample codeMotivation editIn computer vision contour models describe the boundaries of shapes in an image Snakes in particular are designed to solve problems where the approximate shape of the boundary is known By being a deformable model snakes can adapt to differences and noise in stereo matching and motion tracking Additionally the method can find Illusory contours in the image by ignoring missing boundary information Compared to classical feature extraction techniques snakes have multiple advantages They autonomously and adaptively search for the minimum state External image forces act upon the snake in an intuitive manner Incorporating Gaussian smoothing in the image energy function introduces scale sensitivity They can be used to track dynamic objects The key drawbacks of the traditional snakes are They are sensitive to local minima states which can be counteracted by simulated annealing techniques Minute features are often ignored during energy minimization over the entire contour Their accuracy depends on the convergence policy 2 Energy formulation editA simple elastic snake is defined by a set of n points v i displaystyle mathbf v i nbsp for i 0 n 1 displaystyle i 0 ldots n 1 nbsp the internal elastic energy term E internal displaystyle E text internal nbsp and the external edge based energy term E external displaystyle E text external nbsp The purpose of the internal energy term is to control the deformations made to the snake and the purpose of the external energy term is to control the fitting of the contour onto the image The external energy is usually a combination of the forces due to the image itself E image displaystyle E text image nbsp and the constraint forces introduced by the user E con displaystyle E text con nbsp The energy function of the snake is the sum of its external energy and internal energy or E snake 0 1 E snake v s d s 0 1 E internal v s E image v s E con v s d s displaystyle E text snake int limits 0 1 E text snake mathbf v s ds int limits 0 1 E text internal mathbf v s E text image mathbf v s E text con mathbf v s ds nbsp Internal energy edit The internal energy of the snake is composed of the continuity of the contour E cont displaystyle E text cont nbsp and the smoothness of the contour E curv displaystyle E text curv nbsp E internal E cont E curv displaystyle E text internal E text cont E text curv nbsp 3 This can be expanded as E internal 1 2 a s v s s 2 1 2 b s v s s s 2 1 2 a s d v d s s 2 b s d 2 v d s 2 s 2 displaystyle E text internal frac 1 2 alpha s left mathbf v s s right vert 2 frac 1 2 beta s left mathbf v ss s right vert 2 frac 1 2 bigg alpha s left frac d bar v ds s right Vert 2 beta s left frac d 2 bar v ds 2 s right Vert 2 bigg nbsp where a s displaystyle alpha s nbsp and b s displaystyle beta s nbsp are user defined weights these control the internal energy function s sensitivity to the amount of stretch in the snake and the amount of curvature in the snake respectively and thereby control the number of constraints on the shape of the snake In practice a large weight a s displaystyle alpha s nbsp for the continuity term penalizes changes in distances between points in the contour A large weight b s displaystyle beta s nbsp for the smoothness term penalizes oscillations in the contour and will cause the contour to act as a thin plate Image energy edit Energy in the image is some function of the features of the image This is one of the most common points of modification in derivative methods Features in images and images themselves can be processed in many and various ways For an image I x y displaystyle I x y nbsp lines edges and terminations present in the image the general formulation of energy due to the image is E image w line E line w edge E edge w term E term displaystyle E text image w text line E text line w text edge E text edge w text term E text term nbsp where w line displaystyle w text line nbsp w edge displaystyle w text edge nbsp w term displaystyle w text term nbsp are weights of these salient features Higher weights indicate that the salient feature will have a larger contribution to the image force Line functional edit The line functional is the intensity of the image which can be represented as E line I x y displaystyle E text line I x y nbsp The sign of w line displaystyle w text line nbsp will determine whether the line will be attracted to either dark lines or light lines Some smoothing or noise reduction may be used on the image which then the line functional appears as E line filter I x y displaystyle E text line operatorname filter I x y nbsp Edge functional edit The edge functional is based on the image gradient One implementation of this is E edge I x y 2 displaystyle E text edge left nabla I x y right vert 2 nbsp A snake originating far from the desired object contour may erroneously converge to some local minimum Scale space continuation can be used in order to avoid these local minima This is achieved by using a blur filter on the image and reducing the amount of blur as the calculation progresses to refine the fit of the snake The energy functional using scale space continuation is E edge G s 2 I 2 displaystyle E text edge left G sigma cdot nabla 2 I right vert 2 nbsp where G s displaystyle G sigma nbsp is a Gaussian with standard deviation s displaystyle sigma nbsp Minima of this function fall on the zero crossings of G s 2 I displaystyle G sigma nabla 2 I nbsp which define edges as per Marr Hildreth theory Termination functional edit Curvature of level lines in a slightly smoothed image can be used to detect corners and terminations in an image Using this method let C x y displaystyle C x y nbsp be the image smoothed by C x y G s I x y displaystyle C x y G sigma cdot I x y nbsp with gradient angle 8 arctan C y C x displaystyle theta arctan left frac C y C x right nbsp unit vectors along the gradient direction n cos 8 sin 8 displaystyle mathbf n cos theta sin theta nbsp and unit vectors perpendicular to the gradient direction n sin 8 cos 8 displaystyle mathbf n perp sin theta cos theta nbsp The termination functional of energy can be represented as E term 8 n 2 C n 2 C n C y y C x 2 2 C x y C x C y C x x C y 2 C x 2 C y 2 3 2 displaystyle E text term partial theta over partial n perp partial 2 C partial n perp 2 over partial C partial n C yy C x 2 2C xy C x C y C xx C y 2 over C x 2 C y 2 3 2 nbsp Constraint energy edit Some systems including the original snakes implementation allowed for user interaction to guide the snakes not only in initial placement but also in their energy terms Such constraint energy E c o n displaystyle E con nbsp can be used to interactively guide the snakes towards or away from particular features Optimization through gradient descent editGiven an initial guess for a snake the energy function of the snake is iteratively minimized Gradient descent minimization is one of the simplest optimizations which can be used to minimize snake energy 4 Each iteration takes one step in the negative gradient of the point with controlled step size g displaystyle gamma nbsp to find local minima This gradient descent minimization can be implemented as v i v i F snake v i displaystyle bar v i leftarrow bar v i F text snake bar v i nbsp Where F snake v i displaystyle F text snake bar v i nbsp is the force on the snake which is defined by the negative of the gradient of the energy field F snake v i E snake v i w internal E internal v i w external E external v i displaystyle F text snake bar v i nabla E text snake bar v i Bigg w text internal nabla E text internal bar v i w text external nabla E text external bar v i Bigg nbsp Assuming the weights a s displaystyle alpha s nbsp and b s displaystyle beta s nbsp are constant with respect to s displaystyle s nbsp this iterative method can be simplified to v i v i g w internal a 2 v s 2 v i b 4 v s 4 v i E ext v i displaystyle bar v i leftarrow bar v i gamma Bigg w text internal bigg alpha frac partial 2 bar v partial s 2 bar v i beta frac partial 4 bar v partial s 4 bar v i bigg nabla E text ext bar v i Bigg nbsp Discrete approximation editIn practice images have finite resolution and can only be integrated over finite time steps t displaystyle tau nbsp As such discrete approximations must be made for practical implementation of snakes The energy function of the snake can be approximated by using the discrete points on the snake E snake 1 n E snake v i displaystyle E text snake approx sum 1 n E text snake bar v i nbsp Consequentially the forces of the snake can be approximated as F snake i 1 n E snake v i displaystyle F text snake approx sum i 1 n nabla E text snake bar v i nbsp Gradient approximation can be done through any finite approximation method with respect to s such as Finite difference Numerical instability due to discrete time edit The introduction of discrete time into the algorithm can introduce updates which the snake is moved past the minima it is attracted to this further can cause oscillations around the minima or lead to a different minima being found This can be avoided through tuning the time step such that the step size is never greater than a pixel due to the image forces However in regions of low energy the internal energies will dominate the update Alternatively the image forces can be normalized for each step such that the image forces only update the snake by one pixel This can be formulated as F image k E image E image displaystyle F text image k frac nabla E text image nabla E text image nbsp where t k displaystyle tau k nbsp is near the value of the pixel size This avoids the problem of dominating internal energies that arise from tuning the time step 5 Numerical instability due to discrete space edit The energies in a continuous image may have zero crossing that do not exist as a pixel in the image In this case a point in the snake would oscillate between the two pixels that neighbor this zero crossing This oscillation can be avoided by using interpolation between pixels instead of nearest neighbor 5 Some variants of snakes editThe default method of snakes has various limitation and corner cases where the convergence performs poorly Several alternatives exist which addresses issues of the default method though with their own trade offs A few are listed here GVF snake model edit The gradient vector flow GVF snake model 6 addresses two issues with snakes poor convergence performance for concave boundaries poor convergence performance when snake is initialized far from minimum In 2D the GVF vector field F GVF displaystyle F text GVF nbsp minimizes the energy functional E GVF m u x 2 u y 2 v x 2 v y 2 f 2 v f 2 d x d y displaystyle E text GVF iint mu u x 2 u y 2 v x 2 v y 2 nabla f 2 mathbf v nabla f 2 dx dy nbsp where m displaystyle mu nbsp is a controllable smoothing term This can be solved by solving the Euler equations m 2 u u x F ext x F ext x y 2 y F ext x y 2 0 displaystyle mu nabla 2 u Bigg u frac partial partial x F text ext Bigg Bigg frac partial partial x F text ext x y 2 frac partial partial y F text ext x y 2 Bigg 0 nbsp m 2 v v y F ext x F ext x y 2 y F ext x y 2 0 displaystyle mu nabla 2 v Bigg v frac partial partial y F text ext Bigg Bigg frac partial partial x F text ext x y 2 frac partial partial y F text ext x y 2 Bigg 0 nbsp This can be solved through iteration towards a steady state value u i 1 u i m 2 u i u i x F ext x F ext x y 2 y F ext x y 2 displaystyle u i 1 u i mu nabla 2 u i Bigg u i frac partial partial x F text ext Bigg Bigg frac partial partial x F text ext x y 2 frac partial partial y F text ext x y 2 Bigg nbsp v i 1 v i m 2 v i v i y F ext x F ext x y 2 y F ext x y 2 displaystyle v i 1 v i mu nabla 2 v i Bigg v i frac partial partial y F text ext Bigg Bigg frac partial partial x F text ext x y 2 frac partial partial y F text ext x y 2 Bigg nbsp This result replaces the default external force F ext F GVF displaystyle F text ext F text GVF nbsp The primary issue with using GVF is the smoothing term m displaystyle mu nbsp causes rounding of the edges of the contour Reducing the value of m displaystyle mu nbsp reduces the rounding but weakens the amount of smoothing The balloon model edit The balloon model 5 addresses these problems with the default active contour model The snake is not attracted to distant edges The snake will shrink inwards if no substantial images forces are acting upon it a snake larger than the minima contour will eventually shrink into it but a snake smaller than the minima contour will not find the minima and instead continue to shrink The balloon model introduces an inflation term into the forces acting on the snake F inflation k 1 n s displaystyle F text inflation k 1 vec n s nbsp where n s displaystyle vec n s nbsp is the normal unitary vector of the curve at v s displaystyle v s nbsp and k 1 displaystyle k 1 nbsp is the magnitude of the force k 1 displaystyle k 1 nbsp should have the same magnitude as the image normalization factor k displaystyle k nbsp and be smaller in value than k displaystyle k nbsp to allow forces at image edges to overcome the inflation force Three issues arise from using the balloon model Instead of shrinking the snake expands into the minima and will not find minima contours smaller than it The outward force causes the contour to be slightly larger than the actual minima This can be solved by decreasing the balloon force after a stable solution has been found The inflation force can overpower forces from weak edges amplifying the issue with snakes ignoring weaker features in an image Diffusion snakes model edit The diffusion snake model 7 addresses the sensitivity of snakes to noise clutter and occlusion It implements a modification of the Mumford Shah functional and its cartoon limit and incorporates statistical shape knowledge The default image energy functional E image displaystyle E text image nbsp is replaced with E image E i a E c displaystyle E text image E i alpha E c nbsp where E i displaystyle E i nbsp is based on a modified Mumford Shah functional E J B 1 2 D I x J x 2 d x l 1 2 D B J x J x d x n 0 1 d d s B s 2 d s displaystyle E J B frac 1 2 int D I vec x J vec x 2 d vec x lambda frac 1 2 int D B vec nabla J vec x cdot vec nabla J vec x d vec x nu int 0 1 Bigg frac d ds B s Bigg 2 ds nbsp where J x displaystyle J vec x nbsp is the piecewise smooth model of the image I x displaystyle I vec x nbsp of domain D displaystyle D nbsp Boundaries B s displaystyle B s nbsp are defined as B s n 1 N p n B n s displaystyle B s sum n 1 N vec p n B n s nbsp where B n s displaystyle B n s nbsp are quadratic B spline basis functions and p n displaystyle vec p n nbsp are the control points of the splines The modified cartoon limit is obtained as l displaystyle lambda to infty nbsp and is a valid configuration of E i displaystyle E i nbsp The functional E c displaystyle E c nbsp is based on training from binary images of various contours and is controlled in strength by the parameter a displaystyle alpha nbsp For a Gaussian distribution of control point vectors z displaystyle vec z nbsp with mean control point vector z 0 displaystyle vec z 0 nbsp and covariance matrix S displaystyle Sigma nbsp the quadratic energy that corresponds to the Gaussian probability is E c z 1 2 z z 0 t S z z 0 displaystyle E c vec z frac 1 2 vec z vec z 0 t Sigma vec z vec z 0 nbsp The strength of this method relies on the strength of the training data as well as the tuning of the modified Mumford Shah functional Different snakes will require different training data sets and tunings Geometric active contours edit Geometric active contour or geodesic active contour GAC 8 or conformal active contours 9 employs ideas from Euclidean curve shortening evolution Contours split and merge depending on the detection of objects in the image These models are largely inspired by level sets and have been extensively employed in medical image computing For example the gradient descent curve evolution equation of GAC is 8 C t g I c k N g N N displaystyle frac partial C partial t g I c kappa vec N langle nabla g vec N rangle vec N nbsp where g I displaystyle g I nbsp is a halting function c is a Lagrange multiplier k displaystyle kappa nbsp is the curvature and N displaystyle vec N nbsp is the unit inward normal This particular form of curve evolution equation is only dependent on the velocity in the normal direction It therefore can be rewritten equivalently in an Eulerian form by inserting the level set function F displaystyle Phi nbsp into it as follows F t F div g I F F c g I F displaystyle frac partial Phi partial t nabla Phi operatorname div Bigg g I frac nabla Phi nabla Phi Bigg cg I nabla Phi nbsp This simple yet powerful level set reformation enables active contours to handle topology changes during the gradient descent curve evolution It has inspired tremendous progress in the related fields and using numerical methods to solve the level set reformulation is now commonly known as the level set method Although the level set method has become quite a popular tool for implementing active contours Wang and Chan argued that not all curve evolution equations should be directly solved by it 10 More recent developments in active contours address modeling of regional properties incorporation of flexible shape priors and fully automatic segmentation etc Statistical models combining local and global features have been formulated by Lankton and Allen Tannenbaum 11 Relations to graph cuts editGraph cuts or max flow min cut is a generic method for minimizing a particular form of energy called Markov random field MRF energy The Graph cuts method has been applied to image segmentation as well and it sometimes outperforms the level set method when the model is MRF or can be approximated by MRF See also editBoundary vector fieldReferences edit a b Kass M Witkin A Terzopoulos D 1988 Snakes Active contour models PDF International Journal of Computer Vision 1 4 321 CiteSeerX 10 1 1 124 5318 doi 10 1007 BF00133570 S2CID 12849354 Archived from the original PDF on 2016 01 12 Retrieved 2015 08 29 Snakes an active model Ramani Pichumani http homepages inf ed ac uk rbf CVonline LOCAL COPIES RAMANI1 node31 html Dr George Bebis University of Nevada http www cse unr edu bebis CS791E Notes DeformableContours pdf Image Understanding Bryan S Morse Brigham Young University 1998 2000 http homepages inf ed ac uk rbf CVonline LOCAL COPIES MORSE iu pdf a b c Cohen Laurent D 1991 On active contour models and balloons CVGIP Image Understanding 53 2 211 218 doi 10 1016 1049 9660 91 90028 N Chenyang Xu Prince J L 1997 Gradient vector flow A new external force for snakes Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition PDF pp 66 71 doi 10 1109 CVPR 1997 609299 ISBN 0 8186 7822 4 S2CID 980797 Cremers D Schnorr C Weickert J 2001 Diffusion snakes Combining statistical shape knowledge and image information in a variational framework Proceedings IEEE Workshop on Variational and Level Set Methods in Computer Vision Vol 50 pp 137 144 CiteSeerX 10 1 1 28 3639 doi 10 1109 VLSM 2001 938892 ISBN 978 0 7695 1278 5 S2CID 14929019 a b Geodesic Active Contours V Caselles R Kimmel G Sapiro http citeseerx ist psu edu viewdoc summary doi 10 1 1 21 2196 Kichenassamy Satyanad Kumar Arun Olver Peter Tannenbaum Allen Yezzi Anthony 1996 Conformal curvature flows From phase transitions to active vision Archive for Rational Mechanics and Analysis 134 3 275 301 Bibcode 1996ArRMA 134 275K doi 10 1007 BF00379537 S2CID 116487549 Wang Junyan Chan Kap Luk 2014 07 08 Active Contour with a Tangential Component Journal of Mathematical Imaging and Vision 51 2 229 247 arXiv 1204 6458 doi 10 1007 s10851 014 0519 y ISSN 0924 9907 S2CID 13100077 Lankton S Tannenbaum A 2008 Localizing Region Based Active Contours IEEE Transactions on Image Processing 17 11 2029 2039 Bibcode 2008ITIP 17 2029L doi 10 1109 TIP 2008 2004611 PMC 2796112 PMID 18854247 External links editDavid Young March 1995 Snakes Active Contours CVOnline Active contours deformable models and gradient vector flow by Chenyang Xu and Jerry Prince including code download ICBE University of Manchester Active contours implementation amp test platform GUI A simple implementation of snakes by Associate Professor Cris Luengo MATLAB documentation for activecontour which segments an image using active contours Sample code edit Practical examples of different snakes developed by Xu and Prince Basic tool to play with snakes active contour models from Tim Cootes University of Manchester Matlab implementation of 2D and 3D snake including GVF and balloon force Matlab Snake Demo by Chris Bregler and Malcolm Slaney Interval Research Corporation A Demonstration Using Java Active Contours implementation amp test platform GUI by Nikolay S and Alex Blekhman implementing Active Contours without Edges Active Contour Segmentation by Shawn Lankton implementing Active Contours without Edges Geometric Active Contour Code by Jarno Ralli Morphological Snakes Retrieved from https en wikipedia org w index php title Active contour model amp oldid 1168476076, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.