GVF Deformable Contours

Our overall approach is to use the dynamic force equation (8) as a starting point for designing a deformable contour. We now FIGURE 1 (a) The convergence of a deformable contour using (b) traditional potential forces, (c) shown close-up within the boundary concavity. Reprinted from C. Xu and J. L. Prince, Snakes, shapes, and gradient vector flow. IEEE Trans, on Image Processing, 7(3):359-369, March, l998. ©l998 IEEE. FIGURE 2 (a) The convergence of a deformable contour using (b) distance potential forces, (c) shown close-up within the boundary concavity. Reprinted from C. Xu and J. L. Prince, Snakes, shapes, and gradient vector flow. IEEE Trans, on Image Processing, 7(3):359-369, March, 1998. ©1998 IEEE.

define a novel external force field v(x) called gradient vector flow (GVF) field and replace the potential force — VEext in (8) with v(x), yielding xt (s, t) = ax"(s, t) — px""(s, t) + v(x). (9)

We call the parametric curve solving this dynamic equation a GVF deformable contour. It is solved numerically by discretization and iteration, in identical fashion to the traditional deformable contour .

Although the final configuration of a GVF deformable contour will satisfy the force-balance equation (7), this equation does not, in general, represent the Euler equations of the energy minimization problem in (1). This is because v(x) cannot, in general, be written as the negative gradient of a potential function. The loss of this optimality property, however, is well compensated by the significantly improved performance of the GVF deformable contour.

3.1 Edge Map

We begin by defining an edge mapf (x) derived from the image I(x) having the property that it is larger near the image edges.1 We can use any gray-level or binary edge map defined in the image processing literature (cf. ); for example, we could use f (x) = —E«(x) (10)

where i = 1, 2, 3 or 4. Three general properties of edge maps are important in the present context. First, the gradient of an

1Other features can be sought by redefining f (x) to be larger at the desired features.

edge map Vfhas vectors pointing toward the edges, which are normal to the edges at the edges. Second, these vectors generally have large magnitudes only in the immediate vicinity of the edges. Third, in homogeneous regions, where I(x) is nearly constant, Vf is nearly zero.

Now consider how these properties affect the behavior of a traditional deformable contour when the gradient of an edge map is used as an external force. Because of the first property, a deformable contour initialized close to the edge will converge to a stable configuration near the edge. This is a highly desirable property. Because of the second property, however, the capture range will be very small, in general. Because of the third property, homogeneous regions will have no external forces whatsoever. These last two properties are undesirable. Our approach is to keep the highly desirable property of the gradients near the edges, but to extend the gradient map farther away from the edges and into homogeneous regions using a computational diffusion process. As an important benefit, the inherent competition of the diffusion process will also create vectors that point into boundary concavities.

3.2 Gradient Vector Flow

We define the GVF field v(x) as the equilibrium solution to the following vector diffusion equation:

In Eq. (11a), the first term on the right is referred to as the smoothing term since this term alone will produce a smoothly varying vector field. The second term is referred as the data term since it encourages the vector field u to be close to Vf computed from the data. The weighting functions g(•) and h(-) apply to the smoothing and data terms, respectively. Since these weighting functions are dependent on the gradient of the edge map, which is spatially varying, the weights themselves are spatially varying, in general. Since we want the vector field u to be slowly varying (or smooth) at locations far from the edges, but to conform to V/near the edges, g(•) and h(-) should be monotonically nonincreasing and nondecreasing functions of IV/1, respectively.

In , the following weighting functions were chosen:

Since g(•) is constant here, smoothing occurs everywhere; however, h(-) grows larger near strong edges, and should dominate at the boundaries. Thus, GVF computed using such weighting functions should provide good edge localization. The effect of smoothing becomes apparent, however, when there are two edges in close proximity, such as when there is a long, thin indentation along the boundary. In this situation, GVF tends to smooth between opposite edges, losing the forces necessary to drive a deformable contour into this region.

To address this problem, in  we proposed weighting functions in which g(•) gets smaller as h(-) becomes larger. Then, in the proximity of large gradients, there will be very little smoothing, and the effective vector field will be nearly equal to the gradient of the edge map. There are many ways to specify such pairs of weighting functions. In , the following weighting functions were used:

The GVF field computed using such weighting functions will conform to the edge map gradient at strong edges, but will vary smoothly away from the boundaries. The specification of K determines to some extent the degree of trade-off between field smoothness and gradient conformity.

The vector diffusion equation (11) specifying GVF with various weighting functions can be implemented using an explicit finite difference scheme described in , which is stable if the time step At and the spatial sample intervals Ax and Ay satisfy

4gmax where gmax is the maximum value of g(•) over the range of gradients encountered in the edge map image. Although an implicit scheme for the numerical implementation of (11) would be unconditionally stable and therefore not need this condition, the explicit scheme is faster. Still faster methods — for example, the multigrid method — are possible.

In most examples, the use of either (12) or (13) produces very similar results. Here, we will demonstrate most of the properties of GVF using (12). When necessary to contrast their performance, we will refer to the GVF using (12) and (13) as GVF-I and GVF-II, respectively.