Active contour models - Snakes
- The development of active contour models results from the work of Kass, Witkin, and Terzopoulos.
- Active contour models may be used in image segmentation and understanding, and are also suitable for analysis of dynamic image data or 3D image data.
- The active contour model, or snake, is defined as an energy minimizing spline - the snake's energy depends on its shape and location within the image.
- Local minima of this energy then correspond to desired image properties.
- Snakes may be understood as a special case of a more general technique of matching a deformable model to an image by means of energy minimization.
- Snakes do not solve the entire problem of finding contours in images, but rather, they depend on other mechanisms like interaction with a user, interaction with some higher level image understanding process, or information from image data adjacent in time or space.
- This interaction must specify an approximate shape and starting position for the snake somewhere near the desired contour.
- A priori information is then used to push the snake toward an appropriate solution.
- The energy functional which is minimized is a weighted combination of internal and external forces.
- The internal forces emanate from the shape of the snake, while the external forces come from the image and/or from higher level image understanding processes.
- The snake is parametrically defined as v(s)=(x(s),y(s)) where x(s),y(s) are x,y co-ordinates along the contour and s is from [0,1].
- The energy functional to be minimized is
- The internal spline energy can be written
- where alpha(s),beta(s) specify the elasticity and stiffness of the snake.
- Note that setting beta(sk)=0 at a point sk allows the snake to become second-order discontinuous at that point, and develop a corner.
- The second term of the energy integral is derived from the image data over which the snake lies.
- As an example, a weighted combination of three different functionals is presented which attracts the snake to lines, edges, and terminations
- The line-based functional may be very simple
where f(x,y) denotes image gray levels at image location (x,y).
- The sign of wline specifies whether the snake is attracted to light or dark lines.
- The edge-based functional attracts the snake to contours with large image gradients - that is, to locations of strong edges:
- Line terminations and corners may influence the snake using a weighted energy functional Eterm
- The snake behavior may be controlled by adjusting the weights wline, wedge, wterm.
- The third term of the energy integral comes from external constraints imposed either by a user or some other higher level process which may force the snake toward or away from particular features.
- If the snake is near to some desirable feature, the energy minimization will pull the snake the rest of the way.
- However, if the snake settles in a local energy minimum that a higher level process determines as incorrect, an area of energy peak may be made at this location to force the snake away to a different local minimum.
- A contour is defined to lie in the position in which the snake reaches a local energy minimum.
- Originally, a resolution minimization method was proposed; partial derivatives in s and t were estimated by the finite differences method.
- Later, a dynamic programming approach was proposed which allows `hard' constraints to be added to the snake.
- Further, a requirement that the internal snake energy must be a continuous function may thus be eliminated and some snake configurations may be prohibited (that is, have infinite energy) allowing more a priori knowledge to be incorporated.
- Difficulties with the numerical instability of the original method were overcome by Berger by incorporating an idea of snake growing.
- A single primary snake may begin which later divides itself into pieces.
- The pieces of very low energy are allowed to grow in directions of their tangents while higher energy pieces are eliminated.
- After each growing step, the energy of each snake piece is minimized (the ends are pulled to the true contour and the snake growing process is repeated.
- Further, the snake growing method may overcome the initialization problem.
- The primary snake may fall into an unlikely local minimum but parts of the snake may still lie on salient features.
- The very low energy parts (the probable pieces) of the primary snake are used to initialize the snake growing in later steps.
- This iterative snake growing always converges and the numerical solution is therefore stable - the robustness of the method is paid for by an increase in the processing cost of the algorithm.
- A different approach to the energy integral minimization that is based on a Galerkin solution of the finite element method and has the advantage of greater numerical stability and better efficiency.
- This approach is especially useful in the case of closed or nearly closed contours.
- An additional pressure force is added to the contour interior by considering the curve as a balloon which is inflated.
- This allows the snake to overcome isolated energy valleys resulting from spurious edge points giving better results.
- Deformable models based on active contours were generalized to three dimensions by Terzopoulos and 3D balloons were introduced by Cohen.