Snake 活动轮廓

    技术2022-05-20  30

    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.




    最新回复(0)