Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Kluwer - Handbook of Biomedical Image Analysis Vol

.1.pdf
Скачиваний:
106
Добавлен:
10.08.2013
Размер:
10.58 Mб
Скачать

Recent Advances in the Level Set Method

215

4.2.4 Reinitialization

As noted in the introduction to this chapter, there are two means by which the level set method can be kept stable for arbitrary speed functions. For nearly all applications of the level set method, one of these techniques must be used. One method involves using velocity extensions, and the other uses reinitialization. Both methods are frequently used, and there is disagreement as to which method is preferred. Recent advances in the level set method have resulted in either method producing good results. For balance, both methods are presented, with reinitialization treated here and velocity extensions to follow in Section 4.2.5.

Reinitialization was first introduced in [19], where it was observed that the only part of the level set function which is of interest is the portion immediately around the zero level set. While initially, the level set function can be constructed to be the signed distance function to the interface, most speed functions, F, will not preserve this property over time. This can lead to instability, and ultimately failure of the method. Reinitialization is, therefore, a process where the level set function is reconstructed to be the signed distance function.

˜

Let φ be the level set function, and let φ be the desired reconstructed level

˜

set function, then φ solves

φ−1(0) = φ˜ −1(0),

(4.29)

˜

(4.30)

φ = 1.

This pair of equations is precisely the type of problem the fast marching method is designed to solve, with F ≡ 1 in Eq. 4.21. Furthermore, the function φ can be used to initialize the fast marching method, as described in Section 4.2.3. The

˜

solution φ of Eqs. 4.29 and 4.30 is now called reinitialized.

Early implementations of reinitialization suffered from accuracy, particularly in regions of high curvature. When the interface was reinitialized, there was significant error in the computed solution in Eq. 4.29. This was primarily due to the low-order accurate methods used for interpolating φ. More recent methods, such as the one presented in Section 4.2.3, significantly reduced this error, as illustrated in Fig. 4.8.

It has been observed recently [100] that for the specific application of reinitialization, it is not necessary to use the heap sort method. In fact, the same results can be achieved by simply taking a first-in-first-out strategy for the order of the grid points. In other words, instead of maintaining the binary tree and

216

 

 

 

 

 

Chopp

26

 

 

 

 

 

 

25

 

 

 

 

 

 

24

 

 

 

 

 

 

23

 

 

 

 

 

 

22

 

 

 

 

 

 

 

Exact solution

 

 

 

 

21

20 reinits w/ old method

 

 

 

 

20 reinits w/ new method

 

 

 

 

20

21

22

23

24

25

26

20

Figure 4.8: Comparison of modern and original reinitialization results for a coarsely meshed circle. The exact solution and the modern reinitialization method are nearly overlapping. This figure reprinted from [22].

continually sorting the nodes, it is sufficient to simply take points out of the set

T in the same order in which they entered. The only exception is that the initial set of grid points in the set T should still start out sorted. This observation is of interest because it reduces the computational complexity of the fast marching method from O (N log N ) to simply O (N ) where N is the total number of grid points.

4.2.5 Velocity Extensions

As noted in the previous section, reinitialization fixes the level set function when the velocity field does not preserve the level set function as a signed distance function. An alternative way to preserve the signed distance function is to adjust

Recent Advances in the Level Set Method

217

the velocity field in the first place. This approach was introduced by Adalsteinsson and Sethian [3] as an alternative to the use of reinitialization. As noted in the introduction, velocity extensions also serve the purpose of constructing a velocity field for the entire domain of φ even when the speed, F, is defined only on the interface itself.

For velocity extensions, the objective is to force the velocity field, F, to be such that the signed distance function is preserved, i.e.

φ · φ ≡ 1.

(4.31)

Differentiating Eq. 4.31 with respect to t, and using Eqs. 4.5 and 4.31, gives

φ · F = 0.

(4.32)

Viewed geometrically, Eq. 4.32 makes sense because it requires the speed function normal to the interface to be constant along that normal. This effectively keeps the level sets of φ evenly spaced.

To solve Eq. 4.32, assume the function F is given on the zero level set of φ. The goal is to construct an extension velocity Fext, such that

Fext

 

= F

 

and Fext · φ = 0.

(4.33)

φ=0

φ=0

 

 

 

 

 

 

The solution of Eq. 4.33 is done in a manner very similar to the fast marching method. The discretization of Eq. 4.33 is given by

min(D+xφi, j , 0)D+x Fiext, j + max(Dxφi, j , 0)Dx Fiext, j

+ min(D+yφi, j , 0)D+y Fiext, j + max(Dyφi, j , 0)Dy Fiext, j = 0. (4.34)

This is a linear equation in terms of the unknown Fiext, j and is easily solved. Note that Eq. 4.34 must be solved at the grid points xi, j in the order of increasing magnitude of φi, j similar to the fast marching method. This is easily accomplished using the same heap-sort strategy described in Section 4.2.3.

The initialization of Fiext, j on the grid points near the interface φ−1(0) is done using the bicubic interpolation method discussed in Section 4.2.3. Given a grid point xi, j , the point, y, on the interface φ−1(0) nearest to xi, j is computed using the bicubic interpolant. The value of Fiext, j must be the same as F(y), because the vector xi, j y is orthogonal to the interface, and hence parallel to φ, so Fext must be constant along that vector. This populates the grid points adjacent to the interface, and the velocity extension algorithm can then proceed.

The algorithm for velocity extensions is therefore given by

218

Chopp

1.Initialize the value of Fext at all the grid points adjacent to the interface

φ−1(0) using the bicubic interpolation algorithm discussed in Section 4.2.3. Place all those grid points in the accepted set A. Add all grid points adjacent to a point in the set A into the set T, and the remainder of the grid points are placed in the set D.

2.Take the grid point xi, j with the smallest value of |φi, j | from the set T and place it in set A. Solve Eq. 4.34 for Fiext, j at this xi, j . Take all neighbors of xi, j which are in D, and place them in T.

3.Repeat step 2 while T = .

Similar to the comments made in the previous section, the velocity extension method also can avoid the cost of the heap sort by taking the first-in-first-out strategy. Therefore, the computational cost for the velocity extension is the same as for reinitialization, O (N ).

4.2.6 Narrow Band Methods

There is another technique frequently used in level set methods that deserves attention. While it is not an essential part of the level set method it is useful in that it can significantly reduce the computational cost.

As noted earlier, switching from a parametric representation to the implicit representation used in the level set method also increased the computational cost. For example, if an evolving curve in the plane can be modeled with O (N ) points, then the corresponding level set representation would require O (N2) points, due to the higher dimension of the level set function. However, most of that increased computational cost is spent computing the evolution of φ in regions far from the φ = 0 interface of interest.

It was observed in [19] that it is not necessary to compute the evolution of φ everywhere, but only in the neighborhood of the φ = 0 interface. This observation effectively reduces the computation back to O (N ). This technique is called a narrow-band level set method, and was significantly refined in [2]. Basically, the evolution equation of φ is computed on a dynamically determined set of grid points where φ is small.

Not all applications will benefit from a narrow band implementation; it depends heavily on the cost of computing F, which can easily overwhelm the cost

Recent Advances in the Level Set Method

219

of the rest of the level set method. However, if that is not the case, the reader should see [2] for a detailed description of the narrow band method.

4.2.7 Assembling the Basic Algorithm

To summarize this section, we conclude with an algorithmic description of the full level set method. The strategies of using reinitialization or velocity extensions are similar, so the algorithms will be presented together.

1.Initialize φ to be the signed distance function to the initial interface . If necessary, reinitialization can be used to enforce this condition.

2.Compute the speed function F. This is, obviously, application dependent.

3.Determine Fext from F (if using velocity extensions).

4.Advance φ in time using Eq. 4.5, with speed F (or Fext if using velocity extensions).

5.Reinitialize (if using reinitialization).

6.Return to step 2.

Note that reinitialization does not have to be done every time step, but can be done as needed, so step 5 can be skipped most of the time. The frequency of reinitialization is application dependent. Automated detectors for determining when reinitialization is required have been proposed, but the computational cost of these detectors is of the same order of magnitude as doing reinitialization in the first place. Consequently, it is preferable to simply choose an appropriate number of time steps between each reinitialization.

On the other hand, velocity extensions must be done every time step. The common belief that the velocity extension method is more accurate was certainly true when it was first introduced. However, improvements in the reinitialization process have closed the gap. Nonetheless, for the majority of applications, the speed function F is defined only on the front, so velocity extensions will be required every step anyway, just to be able to use Eq. 4.5. In that case, it makes more sense to use velocity extensions and never do reinitialization. For the remainder of the applications where stability is a concern, it is essentially a toss-up between the two.

220

Chopp

4.2.8 Example Calculations

There are numerous examples of applications for the level set and fast marching methods. A comprehensive list of the most recent applications will be given in Section 4.4. Two simple examples which illustrate the basic level set method are presented here.

Minimal Surfaces with Voids

As noted in the introduction, the original paper on the level set function involved a speed function which depended on mean curvature. Flow by mean curvature was also used to compute examples of minimal surfaces [19]. In the present example, flow by mean curvature is again used, but this time there are void regions where the surface area contained in the void is not counted in the total surface area.

It is shown in [123] that the minimal surface in this case will meet the voids orthogonally. The orthogonality boundary condition can be rewritten in a way that is familiar. Suppose φ is the evolving surface moving by mean curvature, and assume ψ is a level set function representing the voids with the surface of the voids identified by ψ = 0. The orthogonality boundary condition is equivalent to the surface normals being orthogonal; in other words, we must have

φ · ψ = 0.

(4.35)

This equation is reminiscent of the equation for velocity extensions, Eq. 4.32. In fact, the velocity extension algorithm is used to determine φ inside the voids.

In Fig. 4.9, a surface which passes through five spherical voids is illustrated. Initially, the surface passes over the central void. As the surface relaxes, it strikes the center sphere and finally reaches equilibrium on the lower side of the sphere. The voids are semitransparent so that the results of applying the velocity extension code to φ can be seen. Also, the shading on the surface indicates the magnitude of the mean curvature.

Curvature Flow in Hyperbolic Space

In [25], mean curvature flow in hyperbolic space mapped onto the upper halfspace is investigated. In particular, foliations of the space are computed using a

Recent Advances in the Level Set Method

221

Figure 4.9: Example of curvature flow with voids.

222

Chopp

(a)

(b)

(c)

(d)

(e)

(f )

Figure 4.10: Change in topology of prescribed level for a notched annulus. Time steps are (a) t = 0, (b) t = 0.05, (c) t = 0.1, (d) t = 0.15, (e) t = 0.2, and

(f) t = 0.5. Reprinted with permission from [25].

flow of the form

 

 

 

 

 

 

 

∂φ

 

 

 

 

 

= (κ

φ) φ ,

(4.36)

 

 

∂t

with the boundary condition

 

 

1

x inside

 

(4.37)

φ(x) =

1 x outside , on the plane z = 0,

 

 

 

 

 

where is a closed curve in the z = 0 plane.

In Fig. 4.10, a sample evolution of one of the level curves is shown. One of the questions addressed in [25] is whether all disks in a foliation are topologically disks. In Fig. 4.10, the resolving of the topology for a particular leaf in a foliation is illustrated as it evolves in time. The numerical experiments conducted in [25] suggest that the answer is that the foliation is of disks, even for very complicated boundary curves.

4.3 Recent Developments

There have been numerous modifications and additions to the level set method since its inception. Sometimes multiple level set functions are used in tandem to produce other effects. For example, multiple level set functions are used to

Recent Advances in the Level Set Method

223

represent the step edges of a stratified material [21]. Lower dimensional manifolds, such as one-dimensional curves in R3, can be captured by the intersection of two level surfaces [14]. Multiple distinct regions with interfaces that result in triple junctions can also be captured using multiple level set functions [17, 108]. Interfaces with boundaries, such as a finite-length crack in a plate, can also be represented using multiple level sets [107, 115, 117].

In other examples, multiple level surfaces of a single level set function are used. In [95], the level surfaces for each of the integers represent a different interface. In other applications, the entire continuous spectrum of level surfaces are used. For example, in [25], each level surface evolves to a surface of constant curvature, while in [20], the spectrum of evolving level surfaces is shifted in order to locate an unstable equilibrium surface.

The fast marching method has also been used in a variety of applications, resulting in dramatically increased speed in some computationally intensive calculations. For example, see the work on computing multiple travel-time arrivals in [46].

The range of applications for the level set and fast marching methods is now very wide, and still growing. Many times, variations of the method are required to make it fit the problem. In this section, some recent improvements and variations, which will be of general interest are presented.

4.3.1 Ordered Upwind Methods

In [101, 129], Sethian and Vladimirsky developed a novel extension of the fast marching method, making it applicable to a significantly wider class of problems.

Recall the fast marching method equation

F φ = 1.

(4.38)

It is important to recognize that this equation assumes that from any point x, the speed, F, is the same, independent of the direction the interface is traveling. In other words, the speed function is isotropic. Sethian and Vladimirsky have generalized the fast marching method so that the speed function can vary with direction, i.e. the speed function, F, may depend on φ. In this case, the speed function is called anisotropic. The generalized method is called the ordered upwind method, of which the fast marching method is a special case.

224

Which path is shorter?

55

Chopp

A

B

Figure 4.11: Illustration of the difficulty with anisotropic speed functions. Which path is optimal depends on the speed and direction.

To illustrate the difference, consider the problem of finding the fastest route between two cities. If the problem were isotropic, then it would mean that you will travel at the same speed regardless of the direction you are traveling. The solution is therefore simple: a straight line path between the two cities. However, in reality, there are roads, bridges, rivers, mountains, and other assorted terrain features that can influence the choice of the path. When on a road, the speed function depends heavily on the direction to be traveled, with the highest speed along the road and the slowest speed off the road.

The example of the road highlights one of the key technical issues that had to be addressed in this paper. In the isotropic case, when computing an estimate for the value of φ(x), it is sufficient to only check immediately neighboring points. In the anisotropic case, this is not the case. When standing at a point on the road, one must check not only the immediate neighborhood, but must also check far down the road to see if a shorter path along the road would be possible. This comparison is illustrated in Fig. 4.11, where the shortest path arriving at point B may not be directly from nearby points, but may come from far away points along directions which are faster. The key observation in [129] was the identification of how far away one must check to assure locating the shortest path.

More specifically, the ordered upwind method solves equations of the form

F( φ, x) φ = 1,

(4.39)

with the additional assumption that F( φ, x) > 0 is convex. The case where F is non-convex is significantly more challenging and remains an open problem.

The algorithm for the ordered upwind method is similar to the fast marching method described in Section 4.2.3, with only step 3 requiring modification. In the fast marching method, when a point x is moved from the tentative set, T,