Snakes, Shapes, and Gradient Vector Flow
Total Page:16
File Type:pdf, Size:1020Kb
IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 7, NO. 3, MARCH 1998 359 Snakes, Shapes, and Gradient Vector Flow Chenyang Xu, Student Member, IEEE, and Jerry L. Prince, Senior Member, IEEE Abstract—Snakes, or active contours, are used extensively in There are two key difficulties with parametric active contour computer vision and image processing applications, particularly algorithms. First, the initial contour must, in general, be to locate object boundaries. Problems associated with initializa- close to the true boundary or else it will likely converge tion and poor convergence to boundary concavities, however, have limited their utility. This paper presents a new external force to the wrong result. Several methods have been proposed to for active contours, largely solving both problems. This external address this problem including multiresolution methods [11], force, which we call gradient vector flow (GVF), is computed pressure forces [10], and distance potentials [12]. The basic as a diffusion of the gradient vectors of a gray-level or binary idea is to increase the capture range of the external force edge map derived from the image. It differs fundamentally from fields and to guide the contour toward the desired boundary. traditional snake external forces in that it cannot be written as the negative gradient of a potential function, and the corresponding The second problem is that active contours have difficulties snake is formulated directly from a force balance condition rather progressing into boundary concavities [13], [14]. There is no than a variational formulation. Using several two-dimensional satisfactory solution to this problem, although pressure forces (2-D) examples and one three-dimensional (3-D) example, we [10], control points [13], domain-adaptivity [15], directional show that GVF has a large capture range and is able to move snakes into boundary concavities. attractions [14], and the use of solenoidal fields [16] have been proposed. However, most of the methods proposed to Index Terms—Active contour models, deformable surface mod- address these problems solve only one problem while creating els, edge detection, gradient vector flow, image segmentation, shape representation and recovery, snakes. new difficulties. For example, multiresolution methods have addressed the issue of capture range, but specifying how the snake should move across different resolutions remains I. INTRODUCTION problematic. Another example is that of pressure forces, which NAKES [1], or active contours, are curves defined within can push an active contour into boundary concavities, but San image domain that can move under the influence of cannot be too strong or “weak” edges will be overwhelmed internal forces coming from within the curve itself and external [17]. Pressure forces must also be initialized to push out or forces computed from the image data. The internal and external push in, a condition that mandates careful initialization. forces are defined so that the snake will conform to an object In this paper, we present a new class of external forces boundary or other desired features within an image. Snakes for active contour models that addresses both problems listed are widely used in many applications, including edge detection above. These fields, which we call gradient vector flow (GVF) [1], shape modeling [2], [3], segmentation [4], [5], and motion fields, are dense vector fields derived from images by mini- tracking [4], [6]. mizing a certain energy functional in a variational framework. There are two general types of active contour models The minimization is achieved by solving a pair of decoupled in the literature today: parametric active contours [1] and linear partial differential equations that diffuses the gradient geometric active contours [7]–[9]. In this paper, we focus on vectors of a gray-level or binary edge map computed from the parametric active contours, although we expect our results image. We call the active contour that uses the GVF field as its to have applications in geometric active contours as well. external force a GVF snake. The GVF snake is distinguished Parametric active contours synthesize parametric curves within from nearly all previous snake formulations in that its external an image domain and allow them to move toward desired forces cannot be written as the negative gradient of a potential features, usually edges. Typically, the curves are drawn toward function. Because of this, it cannot be formulated using the edges by potential forces, which are defined to be the the standard energy minimization framework; instead, it is negative gradient of a potential function. Additional forces, specified directly from a force balance condition. such as pressure forces [10], together with the potential forces Particular advantages of the GVF snake over a traditional comprise the external forces. There are also internal forces snake are its insensitivity to initialization and its ability to designed to hold the curve together (elasticity forces) and to move into boundary concavities. As we show in this paper, keep it from bending too much (bending forces). its initializations can be inside, outside, or across the object’s boundary. Unlike pressure forces, the GVF snake does not Manuscript received November 1, 1996; revised March 17, 1997. This work need prior knowledge about whether to shrink or expand was supported by NSF Presidential Faculty Fellow Award MIP93-50336. The associate editor coordinating the review of this manuscript and approving it toward the boundary. The GVF snake also has a large capture for publication was Dr. Guillermo Sapiro. range, which means that, barring interference from other The authors are with the Image Analysis and Communications Laboratory, objects, it can be initialized far away from the boundary. This Department of Electrical and Computer Engineering, The Johns Hopkins University, Baltimore, MD 21218 USA (e-mail: [email protected]). increased capture range is achieved through a diffusion process Publisher Item Identifier S 1057-7149(98)01745-X. that does not blur the edges themselves, so multiresolution 1057–7149/98$10.00 1998 IEEE 360 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 7, NO. 3, MARCH 1998 methods are not needed. The external force model that is To find a solution to (6), the snake is made dynamic by closest in spirit to GVF is the distance potential forces of treating as function of time as well as —i.e., . Cohen and Cohen [12]. Like GVF, these forces originate from Then, the partial derivative of with respect to is then set an edge map of the image and can provide a large capture equal to the left hand side of (6) as follows: range. We show, however, that unlike GVF, distance potential forces cannot move a snake into boundary concavities. We (8) believe that this is a property of all conservative forces that characterize nearly all snake external forces, and that exploring When the solution stabilizes, the term vanishes nonconservative external forces, such as GVF, is an important and we achieve a solution of (6). A numerical solution to direction for future research in active contour models. (8) can be found by discretizing the equation and solving the We note that part of the work reported in this paper has discrete system iteratively (cf., [1]). We note that most snake appeared in the conference paper [18]. implementations use either a parameter which multiplies in order to control the temporal step-size, or a parameter to multiply , which permits separate control of the external II. BACKGROUND force strength. In this paper, we normalize the external forces so that the maximum magnitude is equal to one, and use a unit A. Parametric Snake Model temporal step-size for all the experiments. A traditional snake is a curve , , that moves through the spatial domain of an image to B. Behavior of Traditional Snakes minimize the energy functional An example of the behavior of a traditional snake is shown in Fig. 1. Fig. 1(a) shows a 64 64-pixel line-drawing of a (1) U-shaped object (shown in gray) having a boundary concavity at the top. It also shows a sequence of curves (in black) where and are weighting parameters that control the depicting the iterative progression of a traditional snake ( snake’s tension and rigidity, respectively, and and , ) initialized outside the object but within the denote the first and second derivatives of with respect to capture range of the potential force field. The potential force . The external energy function is derived from the image field where pixel is shown in so that it takes on its smaller values at the features of interest, Fig. 1(b). We note that the final solution in Fig. 1(a) solves such as boundaries. Given a gray-level image , viewed the Euler equations of the snake formulation, but remains split as a function of continuous position variables , typical across the concave region. external energies designed to lead an active contour toward The reason for the poor convergence of this snake is step edges [1] are revealed in Fig. 1(c), where a close-up of the external force (2) field within the boundary concavity is shown. Although the external forces correctly point toward the object boundary, (3) within the boundary concavity the forces point horizontally where is a two-dimensional Gaussian function with in opposite directions. Therefore, the active contour is pulled standard deviation and is the gradient operator. If the apart toward each of the “fingers” of the U-shape, but not image is a line drawing (black on white), then appropriate made to progress downward into the concavity. There is no external energies include [10]: choice of and that will correct this problem. Another key problem with traditional snake formulations, (4) the problem of limited capture range, can be understood by examining Fig. 1(b). In this figure, we see that the magnitude (5) of the external forces die out quite rapidly away from the It is easy to see from these definitions that larger ’s will cause object boundary.