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

Kluwer - Handbook of Biomedical Image Analysis Vol

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

Advanced Segmentation Techniques

515

snakes with time is guided by differential equations. These equations are derived from the energy minimization concept to describe the change of snakes with time. The output obtained using snakes depends highly on the initialization. It was found that initial curve has to lie close to the final solution to obtain required results. The initialization is relatively easy in the case of 2D images but in the 3D case it is very difficult. Also the topology change of the solution needs a special regulation to the model.

Level sets were invented to handle the problem of changing topology of curves. The level sets has had great success in computer graphics and vision. Also, it was used widely in medical imaging for segmentation and shape recovery. It proved to have advantages over statistical approaches followed by mathematical morphology. In the following section we will give a brief overview on level sets and its application in image segmentation.

9.5.1 Level Set Function Representation

Level sets was invented by Osher and Sethian [52] to handle the topology changes of curves. A simple representation is that a surface intersects with the zero plane to give the curve. When this surfaces changes the curve changes. The surface can be described by the following equation:

φ(x, t) > 0 if x , φ(x, t) < 0 if x / , and φ(x, t) = 0 if x , (9.49)

where φ represents the surface function, denotes the set of points where the function is positive, and represents the set of points at which the function is zero. In Fig. 9.21, an example of a surface and its intersection with the zero plane is shown. This intersection is called the front. The surface changes with time, resulting in different fronts. So the level set function is positive at some points, negative at other points, and zero at the front . The time as extra dimension is added to the problem to track the changes of the front. The topology changes of the curve are handled naturally by this presentation as we see from Fig. 9.22. The first row represents the surface and the zero plane at different time samples and the second row represents the resulting curves. The front is initially two ellipses, then the two ellipses merge to make a closed curve and it changes and so on. This representation allows the front to merge and break.

516

Farag, Ahmed, El-Baz, and Hassan

Figure 9.21: Change of the level set function with time resulting in different

curves.

Figure 9.22: Topology change of curves with time.

9.5.2 Curve Evolution with Level Sets

To get an equation describing the change of the curve or the front with time, we will start with the asssumption that the level set function is zero at the front as follows:

φ(x, y, t) = 0 if (x, y) ,

(9.50)

Advanced Segmentation Techniques

 

 

 

 

 

 

517

and then compute its derivative which is also zero,

 

∂φ

∂φ ∂ x

+

∂φ ∂ y

= 0,

(9.51)

 

 

+

 

 

 

 

 

 

 

 

 

∂t

∂ x

 

∂t

∂ y ∂t

Converting the terms to the dot product form of the gradient vector and the x and y derivatives vector, we get

∂φ

+

∂φ

∂φ

.

∂ x

∂ y

= 0.

(9.52)

 

 

 

,

 

 

,

 

∂t

 

∂ x

∂ y

∂t

∂t

Multiplying and dividing by | φ| and takeing the other part to be F, we get the following equation:

 

 

∂φ

+ F| φ| = 0,

 

(9.53)

 

 

 

 

 

 

 

∂t

 

 

 

 

 

 

 

 

 

Where F, the speed function, is given by

 

 

 

 

 

 

 

∂φ

 

 

 

∂ x

∂ y

 

F =

 

 

,

∂ y

.

∂t

,

∂t

 

/| φ|.

(9.54)

∂ x

The selection of the speed function is very important to keep the change of the front smooth and also it is application dependent. Equation 9.55 represents speed function containing the mean curvature k. The positive sign means that the front is shrinking and the negative sign means that the front is expanding and is selected to be a small value for smoothness. The curvature term allows the front to merge and break and also handles sharp corners,

 

F = ±1 − k,

 

(9.55)

Where k is given by

 

 

 

k =

φxxφy2 − 2φxφyφxy + φyyφx2

.

(9.56)

(φx2 + φy2)3/2

In 3D, the front will be an evolving surface rather than an evolving curve.

9.5.3 Stability and CFL Restriction

The numerical solution of the partial differential equation (PDE) describing the front is very important to be accurate and stable. For simplicity, Taylor’s series expansion is used to handle the partial derivatives of φ as listed below,

φ(x, y, t + )t) = φ(x, y, t) − )tF| φ|,

(9.57)

φx(x, y, t) = (φ(x + )x, y, t) − φ(x, y, t))/)x,

(9.58)

518

Farag, Ahmed, El-Baz, and Hassan

 

φy(x, y, t) = (φ(x, y + )y, t) − φ(x, y, t))/)y,

(9.59)

φxx(x, y, t) = (φ(x + 2)x, y, t) − 2φ(x, y, t) + φ(x − 2)x, y, t))/(2)x2),

(9.60)

φyy(x, y, t) = (φ(x, y + 2)y, t) − 2φ(x, y, t) + φ(x, y − 2)y, t))/(2)y2).

(9.61)

There are different numerical techniques used for this problem and the details are given in [52]. The solution is very sensitive to the time step. Time step is selected based on the Courant–Friedrichs–Levy (CFL) restriction. It requires the front to cross no more than one grid cell at each time step )t. This calculation will give the maximum time step that guarantees stability. From Eq. 9.62, we maximize the denominator and minimize the nominator to get the best value of the time step. The time step is calculated at each iteration of the process to maintain the stability of the solution:

(φx2 + φy2)1/2

(9.62)

)t F(|φx|/)x + |φy|/)y)

9.5.4 Tracking the Front

Now, the solution is to find the front iteratively at different time steps. We get the front by intersecting the surface with the zero plane. We need to track this front by getting the length of the front or getting the area enclosed. This information is very important in the segmentation problem as we will see in the next sections. Simply the enclosed area contains all the points at which the level set function is greater than or equal to zero and the points of the front are the points at which the level set function is zero. Applying the heaviside step and delta functions is very useful in getting the area and the front respectively. For numerical implementation, it is desirable to replace the heaviside and the delta functions by some counterparts. Approximations of these two functions are used to handle smoothness problem as follows:

H

(φ)

=

1,

 

 

 

 

1

 

 

 

 

if |φ| > α ,

(9.63)

α

 

0.5(1 + φα +

sin( παφ ))

 

if |φ| ≤ α

 

 

 

π

 

 

δα (φ) =

0,

 

 

 

 

 

 

if

φ

|

> α

 

 

1

(1

 

cos(

π φ )),

if

|φ

 

α .

(9.64)

2α

+

| ≤

 

 

 

 

 

 

α

 

|

 

 

Advanced Segmentation Techniques

519

Figure 9.23: (a) The plot of the heaviside and delta functions for a specific value of α, (b) the narrow band points, (c) the level set function, (d) applying the heaviside step function, and (e) applying the delta function.

In Fig. 9.23(a), the two functions are plotted for α = 0.5. The value of α is always taken to be 1.5 x to make the band equal to 3 x where x is the mesh size, which is always 1. The enclosed area ( A) and the length of the interface or front (L) are calculated as follows:

A =

 

D

Hα (φ)dx dy,

(9.65)

L =

 

D

δα (φ)| φ|dx dy,

(9.66)

where D is the domain. A proof of Eq. 9.66 to be the length of the front is found in [53].

In Fig. 9.23(b), the red line represents the front and the yellow area represents the points around the front where this area is called the narrow band. In (c), (d), and (e) an example of a level set function and application of the heaviside step and delta functions are shown.

9.5.5 Narrow Banding and Speed of the Solution

Solving the PDE of the level set function requires numerical processing at each point of the image domain which is a time consuming process. Only we are

520

Farag, Ahmed, El-Baz, and Hassan

interested in the change of the front. It is not important to get the solution at points far away from the front, so the solution is important at the points near the front. The points (highlighted in Fig. 9.23(b)) are called the narrow band points. The change of the level set function at these points only is considered. Other points (outside the narrow band) are called the far away points and they are given large positive or large negative values to be out of interest (not processed), and it speeds up the iterations. The use of the delta function defined by Eq. 9.64 is very important to give the narrow band points.

9.5.6 Reinitialization

The existence of the front means that the level set function has positive and negative parts, then it has negative and positive values including zeroes. The level set function with this property is called a signed distance function. This property should be kept through the iterations in order not to lose the front. There are different solutions for this problem [54]. We will discuss only the solution introduced by Osher et al. [55]. It was proved that recomputing the level set function by solving Eq. 9.67 frequently enough will maintain the function as signed distance function:

∂φ

= sign (φ)(1 − | φ|),

(9.67)

 

∂t

where it contains the sign function sign. When the level set function is negative, the information flows one way and when it is positive, the information flows the other way. The net effect is to “straighten out” the level set function on either sides of the zero level set,

0 = sign (φ)(1 − | φ|).

(9.68)

By solving this equation, the derivative of φ with respect to time will vanish resulting in Eq. 9.68. | φ| = 1 denotes the measure for signed distance function.

9.6Application: MRA Data Segmentation Using Level Sets

The human cerebrovascular system is a complex three-dimensional anatomical

structure. Serious types of vascular diseases such as carotid stenosis, aneurysm,

Advanced Segmentation Techniques

521

and vascular malformation may lead to brain stroke, which is the third leading cause of death and the main cause of disability. An accurate model of the vascular system from MRA data volume is needed to detect these diseases at early stages and hence may prevent invasive treatments. A variety of methods have been developed for segmenting vessels within MRA. One class of methods is based on a statistical model, which classifies voxels within the image volume into either vascular or nonvascular class for time-of-flight MRA [56]. Another class of segmentation is based on intensity threshold where points are classified as either greater or less than a given intensity. This is the basis of the isointensity surface reconstruction method [57–59]. This method suffers from errors due to image inhomogeneities in addition; the choice of the threshold level is subjective. An alternative to segmentation is axis detection known as skeletonization process, where the central line of the tree vessels is extracted based on the tubular shape of vessels [60]. Other approaches for MRA vessel segmentation are the manually defined seed locations for segmentation [61].

In this section, we use level set method for image segmentation to improve the accuracy of the vascular segmentation. This work is a supervised classification which means that the number of classes and the class distribution are assumed to be known. Usually, the class distribution is assumed to be Gaussian with known mean and variance. In [53], classes were assumed to be phases separated by interface boundaries where each class has its corresponding level set function. A set of functionals were developed with properties of regularity. The level set function representation depends on these functionals. Each class occupies certain areas (regions) in the image. The level set function is represented based on the regions i.e. it is positive inside the region, negative outside, and zero on the boundary. The classes have no common areas i.e., the intersection between classes is not allowed. The sum of lengths of the interfaces between the areas is taken in consideration. The functionals are dependent mainly on these properties and they are expected to have a local minimum which is the segmented image. The change of each level set is guided by two forces, the minimal length of interfaces which is the internal force and the homogeneous class distribution which is the external one.

A PDE guides the motion of each level set. This work saves the manual initialization of level set functions [62]. Bad initialization for these functions makes the segmentation fail. Automatic seed initialization is made for each slice of the volume by dividing the image into windows, and based on the gray

522

Farag, Ahmed, El-Baz, and Hassan

level a corresponding signed distance level set function is initialized for each window. After segmenting the volume, a connectivity filter [63] is used to exploit the fact that the vascular system is a tree-like structure and makes use of the 3D computer graphics region-filling algorithm to extract the vascular tree. The used algorithm with MRA data volumes is evaluated using a phantom, showing a good accuracy. The algorithm is applied to different types of MRA data sets, showing good results. This approach can be extended to be not dependent only on the gray level, but also on the geometrical features of the segmented areas, leading to more accuracy.

9.6.1 Level Sets and Segmentation

Consider an image of c classes. We assign a level set function φi for each class. From the definition of the level set function in Eq. 9.49, is the class and is the interface of the class. Class interface denotes the boundary line between the class and the other classes. From the following equations, F1 is the partitioning condition as follows,

 

 

 

 

 

 

λ

c

 

 

F1 =

i

i 1

(Hα (φi) − 1)2 dx, where λi R+, i [1, c].

(9.69)

2

 

 

=

 

 

The partitioning condition penalizes the vacuum points and prevents the overlapping between regions:

 

 

 

 

 

(u0 ui)2

 

 

 

 

 

 

F

c

e

H (φ )

dx, where e

i

R, i

 

[1, c].

(9.70)

2

= i 1

i

α

i

σi2

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

F2 is the data term condition with mean ui and variance σi

2 where u0 is the data

value.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

δα (φi)| φi|dx, where γi R, i [1, c].

 

 

F3 = i c

1

γi

(9.71)

 

 

=

 

 

 

 

 

 

 

 

 

 

 

F3 is the sum of interfaces length between classes. The summation F1 + F2 + F3 is minimized with respect to φ to get the following equation:

i + = i − ) α i

i σi2

i

|φit |

+ i

i 1

α i

 

 

 

 

 

φit

 

 

 

 

 

φ t 1 φ t (φ t )

e

(u0 ui)2

γ div

λ

K

H (φ t )

 

1 .

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

(9.72)

Advanced Segmentation Techniques

523

This solution represents the level set function variation with time. When the function approaches the steady state, it does not change. It has positive, negative, and zero parts. We are interested only in the positive parts. Each pixel in the positive parts belongs to the associated class of its function. By this representation, the level set function formulation allows breaking and merging fronts since Eq. 9.72 contains the curvature term which is considered to be a smoothing part.

9.6.2 Volume Segmentation Algorithm

Step 0: Initialize φi, i [1, c].

Step 1: t = t + 1.

Step 2: Update each function using Eq. 9.72.

Step 3: Solve Eq. 9.67 for each of n iterations to keep the signed distance function property.

Step 4: Smooth each function and remove noise.

Step 5: If steady state is not reached, then go to Step 1, else go to next slice.

Step 0 is very important since bad initialization leads to bad segmentation. Automatic seed initialization is used to speed up the process and it is also less sensitive to noise. Automatic seed initialization is to divide the image into nonoverlapped windows of predefined size. Then the average gray level is calculated and compared to the mean of each class to specify the nearest class it belongs to. A signed distance function is initialized to each window. The connectivity filter is applied to remove the nonvessel tissues. The filter exploits the fact that the vascular system is a tree-like structure.

9.6.3 Segmentation Quality Measurement

A 2D phantom is designed to simulate the MRA. This phantom image contains many circles with decreasing diameters such as the cerebrovascular tree shape which is a cone-shaped. Then using the level set segmentation algorithm with this image, we obtain a resultant image containing the vessels. The SA is measured by Eq. 9.48.

524

Farag, Ahmed, El-Baz, and Hassan

Figure 9.24: Segmentation and Visualization of different data sets.

9.6.4 Results and Discussion

The technique has been applied to different data sets of MR angiography phase contrast and time-of-flight types. For each type two volumes are used to prove the accuracy of the technique. The first type of data is 117 × 256 × 256 (the first two rows of Fig. 9.24) and the second type is 93 × 512 × 512 (the second two rows of Fig. 9.24). First, level sets are initialized by automatic seed initialization. Automatic seed initialization is used in each slice and each slice is divided into windows of size 5 × 5. An average mean is estimated for each class from the average histogram of the volume, and signed distance functions are assigned where each level set function is a collection of Gaussian surfaces added together with a