Professional Documents
Culture Documents
Vi ( t )
Vi−vs Vi+ vs
i−R
i− vs
i−2 Vi−R
i −1 i −3 Vi+ R Vi + R
Vi
i +3
i +1
i+ 2
( ),
R of the energy term Eimodel remains unchanged under
Eimodel = ∑ δ vs fˆi ,Snk
2
vs − f i ,vs
ˆ Mdl (2a)
vs =1
affine transformation of the i-th snake segment since the
attribute vector is affine-invariant. Accordingly, the new
where fˆ Snk
and fˆ Mdl
are the normalized attribute
i ,vs i ,vs configuration of a particular segment can be determined
elements (areas of triangles) respectively for the snake directly by minimizing an energy term Eimodel that is
and the model. The parameter δ vs is the importance
found by integrating the individual energy terms along
degree of the vs-th attribute element fˆi ,Snk vs
in the segment the snake segment. This procedure, which greatly helps
under consideration. The ith snake segment is defined as the snake avoid local minima, is defined next.
the set of 2 R + 1 points, {V[ i +vs ] ,− R ≤ vs ≤ R}, around the
3.2.1 Affine transformation of the snake segment
ith snaxel Vi . R is the number of geometric attributes, The affine-transformation of a snake segment can be
and also used for determining the length of snake described by the affine transformation of the triangle
segment. See figure 2(a) for example. defined by snaxels V[i + R ] , V[i − R ] and Vi . Let’s assume that
The data energy term is usually designed to move the a tentative position of the ith point in the greedy
snake towards a boundary of interest in the image. algorithm is Vi (t ) . Then, this tentative selection of the ith
Accordingly, for every snaxel Vi , we can require that in
point will lead to the shape change of the related triangle,
the position of Vi , the magnitude of image gradient from ∆ V V V to ∆V V V (figure 2b). The related
[i −R] i [i+ R ] (t )
[ i− R ] i [i+R ]
should be high, and the direction of image gradient
should be similar to the normal vector of the snake. Since deformation procedure can be viewed as an affine
we suggest deforming the whole snake segment around transformation A, where A is an affine-transformation
each snaxel Vi at a time, the design of the data energy matrix.
Suppose that all the snaxels on the ith segment move
term Eidata for the i-th snake segment results by summing
with the three vertices ( V[i − R ] , Vi and V[ i + R ] ) according to
individual terms along the i-th snake segment:
( )
r the same affine transformation A. Then, the value of the
R
r
Eidata = ∑ δ vs 1 − ∇I (V[i +vs ] ) ⋅ h (V[i +vs ] ) ⋅ n (V[i +vs ] ) (2b) energy term Eimodel will remain unchanged because of the
vs = − R
affine-invariant nature of Eimodel . In the greedy algorithm,
where ∇I (Vi ) , valued between 0 and 1, is the normalized
r we only need to examine the match between the currently
magnitude of the gradient on the snaxel Vi ; h (Vi ) is the affine-deformed snaxels and the object boundaries by
r
direction of the gradient; n (Vi ) is the normal vector of minimizing EiData .
the snake in a given snaxel Vi , directed towards the snake A mathematical expression of the above affine-
interior. transformation strategy can be detailed here, by
From equations (1), (2a) and (2b), the whole energy determining the affine transform A first and then
function of the snake can be obtained as follows: transforming the involved snaxels by the matrix A. The
( )
N
R matrix A is given by
E snake = ∑ ω i ∑ δ vs fˆi ,Snk ˆ Mdl 2
vs − f i ,vs −1
i =1 vs =1 x[i −R ] xi(t ) x[ i+ R ] x[i− R ] xi x[i + R ]
A = y[i − R ] yi(t ) y[i + R ] ⋅ y[i −R ] yi y[i + R ]
.
( r r
)
R
+ ∑ δ vs 1 − ∇I (V[i + vs ] ) ⋅ n (V[i + vs ] ) ⋅ h (V[i + vs ] ) (3) 1
vs = − R 1 1 1 1 1
V[i −1]Vi fineV[i +1] is defined as the total length of the extracted
3.3 Fine deformation by local-curve fitting
edge segment contained in the neighborhood of the local curve
The deformation mechanism we described in Section V[i −1]Vi fineV[i +1] . See the text for details.
3.2 is very robust, but often at the expense of smoothing
out the very fine details of the boundary. In order to The procedure of curve fitting, which determines the
achieve better conformity to the shape of an object, we final position of the snaxel Vi , is summarized next:
employ a curve fitting procedure that is described next.
This procedure constitutes the final fine-tuning step of (a) Suppose Vi fine is the position of a selected non-zero
our algorithm. Canny edge point in the neighborhood of the snaxel
In particular, we select the position Vi fine of the snaxel Vi .
Vi from the non-zero Canny edge points in the (b) Regard this Canny edge point as the seed point, and
neighborhood of the snaxel Vi . This position Vi fine is the then track the connected edge segment, Seg (Vi fine ) ,
of this seed point from Canny edge map. Different
one for which the snake segment V[i −1]Vi fineV[i +1] and the
Vi fine probably extracts different image edge
locally-connected image edge segment are in best segment.
agreement. The maximum-compression process (c) Calculate the degree of similarity,
employed by the Canny edge detector results in edge
maps with relatively few non-zero points. Therefore, the Length ( Seg (Vi fine ),V[i −1]Vi fineV[i +1] ) , between the
search for edges in the neighborhood of a snaxel can be extracted edge segment Seg (Vi fine ) and the snake
performed fast. In figure 3, the neighborhood of the
curve V[i −1]Vi fineV[i +1] .
snaxel Vi is drawn as a grey dotted circle. The snake
(d) The final fine position of Vi is determined by the
segment V[ i−1]ViV[ i +1] is shown as a thick grey curve,
best fine position Vi fine , which maximize the fitting
connecting three consecutive snaxels V[i −1] , Vi and V[i +1] .
degree Length ( Seg (Vi fine ),V[i −1]Vi fineV[i +1] ) in the
The snake segment V[i −1]Vi fineV[i +1] resulting from a
whole neighborhood of the snaxel Vi .
tentative placement of the i-th snaxel at Vi fine is shown as
4.3 An algorithm of statistical snake refinement (4) Map the point vector P into the new vector P’ using
the adaptive-focus statistical model,
The algorithm for refining the set of snake snaxels by
P’= T1 ⋅ T2 ⋅ P + T3 . Then, transform P’ back into the
the statistical model is summarized as:
(1) Align the snake contour {Vi i = 1,2,..., N } with the
original coordinate space of the snake contour via
the inverse matrix of Aalign , and update the snake.
selected standard shape by using the alignment (5) Increase the number of snake segments to be
matrix Aalign , which is calculated by the alignment considered, and decrease both the length of snake
method. Afterwards, stack the aligned snake as a segment and the size of search area of every selected
column point vector P , snake segment. If the length of the snake segment is
P = [x1align , y1align ,..., x Nalign , y Nalign ] .
T
equal to 3, i.e. R = 1 , then go to step (6); otherwise,
(2) Use equation (4) to correct the point vector P into a repeat steps (2-5).
new vector P’ . (6) Use the fine deformation strategy to refine the
(3) Update snake contour by transforming P’ back to configuration of the snake to the object boundary.
the original coordinate space of the snake contour (Section 3.3)
via the inverse matrix of Aalign .
5.2 The case of equal weights
5. Experiments
In this set of experiments, we applied our method,
The complete algorithm for our method is with the equal weights ( W Weig = I ), not adaptive, for
summarized in Section 5.1. To evaluate our algorithm, segmenting the ventricles from the MRI brain images.
two sets of experiments are presented here. The first set Some typical training examples, selected from the set of
of experiments (Section 5.2) demonstrates the 118, are shown in figure 4. In figure 4, the grey contour
performance of our whole model in the case of the represents the standard shape of the ventricle. The black
identical weights in the matrix W Weig ; this corresponds to contours are the individual shapes, aligned to the
the non-adaptive focus model. The second set of standard shape.
experiments (Section 5.3) shows the performances of our A key property of the proposed method is its tendency
adaptive-focus model. In where, we focus on to maintain the geometric shape of the snake model
demonstrating the effect of our weighting strategy. during the shape deformation procedure. Figure 5
In all experiments, the initialization of the snake is qualitatively compares the performances of our method,
provided by the user. The search time of our algorithm the standard snake, and standard active shape model
depends on the initialization of snake and the complexity (ASM) in detecting ventricles from the MRI brain images
of the studied image. It ranges from 1 second to several (256x256). Initializations for three different MRI images
seconds in an SGI OCTANE workstation. are provided in figures 5(a1,a2,a3), where crosses ‘+’ are
used as labels in order to track the deformation of
5.1 Complete algorithm individual points. Using the standard snake, the final
results were shown in figures 5(b1,b2,b3). In addition to
The complete algorithm is as follows: being trapped by erroneous edges, the standard snake did
(1) Select a small number of snake segments (or not preserve any anatomical homology during the
snaxels). For each snake segment, its length and the deformation, as reflected by the positions of crosses after
corresponding search area are both larger initially. the snake deformation. ASM is able to preserve the shape
The length of each snake segment is (2 R + 1) , where of the model in the procedure of deformation, however,
sometimes owing to local minimum problem its final
R is assigned a larger integer value initially. results (c1,c2,c3) are still unsatisfactory. On the contrary,
ventricle
basal ganglia
ventricle
Table 1 Quantitative comparisons of our algorithm with the standard snake and ASM, using the results already given in figure 5.
Fig.5(a1) Fig.5(a2) Fig.5(a3)
average dist. max dist. average dist. max dist. average dist. Max dist.
Standard snake 6.9 28.3 6.8 29.5 3.3 18.4
ASM 2.5 18.0 2.8 11.7 5.9 22.8
Our algorithm 1.3 4.1 1.2 4.0 1.7 4.6