next up previous contents
Next: Optical Flow Up: Relevant Processing Techniques Previous: Rotational Symmetry Operators

Active Contour Models

An important publication concerning the introduction of active contour models to the field of computational vision is the paper by Kass et al. [KWT88]. Active contour models, also called snakes, are used for contour extraction as well as contour tracking. They can be seen as curves, e. g. splines, which minimise an energy functional. In this respect the origins of snakes lie in variational calculus.

A snake can be represented by a parametrized curve tex2html_wrap_inline2656 . The functional we want to minimise can then be written as:

equation303

Here tex2html_wrap_inline2658 is called the internal energy and is used to control deformations of the curve. tex2html_wrap_inline2660 denotes the image energy which determines the effect of the image on the form of the spline and tex2html_wrap_inline2662 reflects external constraints on the snake.

A common way to make use of the internal energy term is to avoid excessive curvature and elongation of the snake. To achieve this goal it is sufficient to use a simple function of the first and second derivative of the snake curve as the internal energy term. Kass et al. propose

equation314

The functions tex2html_wrap_inline2664 and tex2html_wrap_inline2666 allow for a more detailed influence on the behavior of the snake, such as controlled bending at certain sections.

In order for the snake to lock onto salient image features (contours) the image energy is used to define the necessary driving forces. The easiest way to do this is to define the image energy at a point to be the brightness of the image at that point. This ``attracts'' the snake to lines. A simple way to use a snake for edge detection consists in chosing the image gradient as energy functional.

Once the snake parameters are chosen, the snake is ``placed'' on the image and the resulting forces are calculated iteratively, thereby moving the snake across the image until some stable position is reached. If the task is to track a feature over a sequence of images, the final position of the snake in one image can be used as the starting position for the following frame. With the above described method it is, in principle, possible to design arbitrarily complex models for rigid as well as non-rigid objects, adapted to highly complex deformations and possible movements of objects that are intended to be tracked.


next up previous contents
Next: Optical Flow Up: Relevant Processing Techniques Previous: Rotational Symmetry Operators

Markus Weber
Tue Jan 7 15:44:13 PST 1997