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
. The functional
we want to minimise can then be written as:
Here
is called the internal energy and is used to
control deformations of the curve.
denotes the
image energy which determines the effect of the image on the form of
the spline and
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
The functions
and
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.