## The Geometric Snake

Geometric active contours were introduced by Caselles et al. [1] and Malladi et al. [2] and are based on the theory of curve evolution. Using a reaction-diffusion model from mathematical physics, a planar contour is evolved with a velocity vector in the direction normal to the curve. The velocity contains two terms: a constant (hyperbolic) motion term that leads to the formation of shocks3 from which more varied and precise representations of shapes can be derived, and a (parabolic) curvature term that smooths the front, showing up significant features and shortening the curve. The geodesic active contour, hereafter also referred to as the standard geometric snake, is now introduced. Let C(x, t) be a 2D active contour. The Euclidean curve shortening flow is given by

where t denotes the time, k is the Euclidean curvature, and N is the unit inward normal of the contour. This formulation has many useful properties. For example, it provides the fastest way to reduce the Euclidean curve length in the normal direction of the gradient of the curve. Another property is that it smooths the evolving curve (see Fig. 10.1).

In [3,4], the authors unified curve evolution approaches with classical energy minimization methods. The key insight was to multiply the Euclidean arc length by a function tailored to the feature of interest in the image.

Let I: [0, a] x [0, b] ^ be an input image in which the task of extracting an object contour is considered. The Euclidean length of a curve C is given by

where ds is the Euclidean arc length. The standard Euclidean metric ds2 = dx2 + dy2 of the underlying space over which the evolution takes place is modified to

3A discontinuity in orientation of the boundary of a shape; it can also be thought of as a zero-order continuity.

Figure 10.1: Motion under curvature flow: A simple closed curve will (become smoother and) disappear in a circular shape no matter how twisted it is.

a conformal metric given by ds2g = g(\V I (C (q ))\)2(dx2 + dy2), (10.3)

where g( ) represents a monotonically decreasing function such that g(x) ^ 0 as x ^ <x>, and g(x) ^ 1 as x ^ 0. A typical function for g(x) can be g(x) = . (10.4)

This is plotted in Fig. 10.2. Using this metric, a new length definition in Rieman-nian space is given by

Then it is no longer necessary that the minimum path between two points in this metric be a straight line, which is the case in the standard Euclidean metric. The minimum path is now affected by the weighting function g( ). Two distant points in the standard Euclidean metric can be considered to be very close to each other in this metric if there exists a route along which values of g( ) are nearer to zero. The steady state of the active contour is achieved by searching

An example of decreasing function g(x)

An example of decreasing function g(x)

Figure 10.2: Plot of the monotonically decreasing function g(x) = 1/(1 + x).

Figure 10.2: Plot of the monotonically decreasing function g(x) = 1/(1 + x).

for the minimum length curve in the modified Euclidean metric:

Caselles et al. [4] have shown that this steady state is achieved by determining how each point in the active contour should move along the normal direction in order to decrease the length. The Euler-Lagrange of (10.6) gives the right-hand side of (10.7), i.e., the desired steady state:

Two forces are represented by (10.7). The first is the curvature term multiplied by the weighting function g( ) and moves the curve toward object boundaries constrained by the curvature flow that ensure regularity during propagation. In application to shape modeling, the weighting factor could be an edge indication function that has larger values in homogeneous regions andvery small values on the edges. Since (10.7) is slow, Caselles et al. [4] added a constant inflation term to speed up the convergence. The constant flow is given by Ct = N showing each point on the contour moves in the direction of its normal and on

V

Figure 10.3: Motion under constant flow: It causes a smooth curve to evolve to a singular one.

its own can cause a smooth curve to evolve to a singular one (see Fig. 10.3). However, integrating it into the geometric snake model lets the curvature flow (10.1) remain regular:

where c is a real constant making the contour shrink or expand to the object boundaries at a constant speed in the normal direction.

The second term of (10.7) or (10.8) depends on the gradient of the conformal factor and acts like a doublet (Fig. 10.4), which attracts the active contour further to the feature of interest since the vectors of —Vg point toward the valley of g(), the middle of the boundaries. This —Vg increases the attraction of the active contour toward the boundaries. For an ideal edge, g( ) tends to zero. Thus, it

Figure 10.4: The doublet effect of the second term of Eq. 10.7. The gradient vectors are all directed toward the middle of the boundary, which forces the snake into the valley of g( ).

tries to force the curve to stop at the edge, but the convergence quality still highly depends on this stopping term. If g( ) is not small enough along edges, there will be an underlying constant force caused by c.

The geodesic or geometric active contour can be numerically implemented using level sets. This is demonstrated later in Section 10.4.4 when we deal with the extended formulation of the standard geometric snake into RAGS.