next up previous
Next: 3 Properties of boundaries Up: Adaptive Segmentation of Ultrasound Previous: 1 Introduction

2 B-spline and piecewise linear snakes

 

Active contours, or snakes [10] have found many applications in image analysis and computer vision. A snake is a parametric contour tex2html_wrap_inline545 , in the image plane (x,y). The snake evolves under internal and external ``forces'', usually described by energy terms tex2html_wrap_inline549 and tex2html_wrap_inline551 . The internal forces keep the snake smooth and the external forces couple the snake to the image I(x,y), attracting the snake to features of interest (for segmentation applications, these features would be object boundaries). The internal forces usually take the form

displaymath36

The tex2html_wrap_inline555 term controls the ``tension'' of the snake while the tex2html_wrap_inline557 term controls its ``rigidity''. The external forces take a similar form:

displaymath48

where P(x,y) is a scalar potential function designed so that local minima of the function coincide with image features of interest. For instance, if we are trying to detect boundaries which are characterised by high intensity gradients, then a suitable potential would be tex2html_wrap_inline561 , where tex2html_wrap_inline563 is a 2D Gaussian kernel with standard deviation tex2html_wrap_inline565 pixels.

Starting from an initial position, the snake evolves under the influence of the combined field tex2html_wrap_inline567 . In practical implementations, the snake is split into piecewise linear segments and local forces are calculated at each vertex. The motion of the snake is computed using gradient descent [10] or Lagrangian dynamics [11]. For segmentation applications, the idea is that the equilibrium position of the snake provides the desired segmentation. If I(x,y) changes, the snake can also be used to track a boundary over time, providing motion as well as shape information [3].

The main reason for using snakes in segmentation is that they allow the incorporation of geometric constraints. In particular, they exploit (in fact they rely on) prior boundary estimates obtained manually or from the previous image in a sequence. Such an approach sensibly combines the strengths of human operators (initial boundary recognition) and computer algorithms (accurate boundary delineation). Snakes have proved very successful for medical image segmentation [12]. In particular, snakes have been shown to give state-of-the-art performance for segmenting intra-vascular ultrasound images [4].

An alternative way to enforce the smoothness constraint is to use cubic B-spline snakes [6]. A cubic B-spline is specified by m+1 control points tex2html_wrap_inline573 and comprises m-2 cubic polynomial curve segments tex2html_wrap_inline577 . The joining points between each curve segment are known as knots. The equation of each segment is \

displaymath74

for tex2html_wrap_inline579 and tex2html_wrap_inline581 . For notational convenience we can re-parameterise the spline over a single parameter s:

displaymath96

where tex2html_wrap_inline585 are the spline basis functions and tex2html_wrap_inline587 . The representation tex2html_wrap_inline589 is more compact than the long list of vertices in piecewise linear formulations. Moreover, the internal forces are no longer required: the smoothness of the snake is implicit in the B-spline formulation. B-splines may be open or closed as required, and are defined with continuity properties at each knot. The flexibility of the curve increases as more control points are added: each additional control point allows one more inflection. It is also possible to use multiple knots to reduce the continuity at knots [14].

However, what makes B-splines especially useful for segmentation is that they exhibit local control: modifying the position of one control point causes only a small part of the curve to change. This leads to an effective and simple algorithm for computing the motion of the snake under the influence of image forces -- see Figure 1. Local forces are computed at n sample points tex2html_wrap_inline593 distributed evenly around the spline. At each sample point, a one-dimensional search is performed normal to the spline for a local minimum tex2html_wrap_inline595 of P(x,y): we shall refer to the points tex2html_wrap_inline599 as target points. A force is applied at each sample point proportional to the distance between the sample and the target points, ie:

  equation113

The positions of the control points are then updated to minimize tex2html_wrap_inline551 using linear least squares [6]. The one-dimensional search and re-estimation of the control points is repeated until the snake attains equilibrium.

   figure128
Figure 1: B-spline snakes. The snake evolves under a set of ``forces'' applied at a set of sample points. Each force is proportional to the distance between the sample point and the target point. The target point is found by a one-dimensional search normal to the spline for an image feature of interest. At equlibrium the snake provides a compact representation of the boundary.

The main drawback of both piecewise linear and B-spline snakes is the difficulty in specifying a-priori the correct smoothness parameters (ie. setting tex2html_wrap_inline555 and tex2html_wrap_inline557 , or specifying the correct number of control points). Techniques have been proposed to automatically introduce the ``best'' number of control points [5], though such techniques tend to be computationally expensive. Here we propose an extremely straightforward, novel work-around. We use a B-spline formulation with a fairly small number of control points. While this tends to give overly smoothed contours, we base our segmentation not on the B-spline tex2html_wrap_inline607 but on a piecewise linear contour with vertices tex2html_wrap_inline599 . The target points provide a good segmentation, while the B-spline formulation constrains the search for the target points and therefore stops the snake becoming too ``bent'' and intersecting itself.


next up previous
Next: 3 Properties of boundaries Up: Adaptive Segmentation of Ultrasound Previous: 1 Introduction

A.H. Gee
Wed Jun 25 12:11:11 BST 1997