Snake 活动轮廓

来源:互联网 发布:做淘宝的货源从哪里来 编辑:程序博客网 时间:2024/05/16 00:44
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.

f8.6


  • 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

e8.1


  • The internal spline energy can be written

e8.2

  • 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

e8.3


  • The line-based functional may be very simple

e8.4

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:

e8.5


  • Line terminations and corners may influence the snake using a weighted energy functional Eterm

e8.6


  • The snake behavior may be controlled by adjusting the weights wline, wedge, wterm.

f8.8


  • 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.

alg8.4


f8.9


  • 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.

f8.10


  • Deformable models based on active contours were generalized to three dimensions by Terzopoulos and 3D balloons were introduced by Cohen.


e8.7


e8.8


e8.9