Object Contour Extraction Using Adaptive B-Snake Model

Report 3 Downloads 66 Views
J Math Imaging Vis 24: 295–306, 2006 c 2006 Springer Science + Business Media, Inc. Manufactured in The Netherlands.  DOI: 10.1007/s10851-005-3629-8

Object Contour Extraction Using Adaptive B-Snake Model YUE WANG AND EAM KHWANG TEOH School of Electrical and Electronic Engineering, Nanyang Technological University, Nanyang Avenue, Singapore 639798 [email protected] [email protected]

Published online: 13 March 2006

Abstract. In this paper, we present a novel adaptive B-Snake model for object contour extraction. A cubic BSnake model is developed for extracting 2D deformable objects from medical images, with an adaptive control point insertion algorithm that is suggested to increase the flexibility of B-Snake to describe complex shape. This method overcomes the problems that exist in other B-spline based model that have to decide beforehand or exhaustively search over a range of value for the number of control points. Hence, these methods are less flexible to describe unknown complex shapes. A minimum energy method which we called Minimum Mean Square Error (MMSE) is proposed for B-Snake to push it to the target boundary. The internal forces are not required in deforming BSnake since the representation of B-Spline has guaranteed smoothness by hard implicit constraints. The proposed B-Snake model has been tested on object contour extraction such as human brain ventricle in Magnetic Resonance (MR) images. The experimental results demonstrate the capability of adaptive shape description and object contour extraction. Keywords:

1.

deformable model, active contour, B-spline, B-snake, contour extraction

Introduction

Object contour extraction is a fundamental step for many active research areas in image analysis, computer vision, and medical imaging. Many medial image analysis applications, such as the measurement of anatomical structures, require prior segmentation of the organ from the surrounding tissue. However, it is difficult to extract the complex object boundaries from images due to the variations of objects being studied. For example, the extraction of ventricles from brain images is very important for warping brain images. But the variations of shapes and sizes of the ventricles with the ages usually make the extraction procedure difficult. Our special interest is the contour extraction of the ventricle from magnetic resonance images (MR) for further study. Kass [8] introduced Active Contour Model, or Snake, which is a deformable model for approaching

object boundaries. It is a curve defined within an image domain which can move under the influence of internal forces from the curve itself and external forces from the image data. Once internal and external forces have been defined, the Snake can detect the desired object boundaries (or other object features) within an image. From the original philosophy of Snake, many techniques have been proposed as an alternative method for presenting a curve: Fourier descriptors [11], BSplines [2, 6, 7, 9, 14, 17], auto-regressive model [10], moments [4], HMM models [5] and wavelets [13], etc. Among these methods, B-Spline representation of the curve stands for an advantage as such a formulation of a deformable model allows for the local control and a compact representation. The flexibility of the curve increases as more control points are added while it still has a small number of parameters compared to other model. Moreover, the internal force is not needed as the smoothness requirement has been implicitly built

296

Wang and Teoh

into the model. Up to present, the number of control points of existing B-Spline based models is either fixed [2, 9, 14, 17] or determined by the exhaustive search over a range of value [3, 6] or set to a ratio of the curve length [1, 7], this is not convenient for real applications as it is very hard to determine the criteria for adapting to various object shapes. A deformable B-Spline algorithm was presented in [9] for determining vessel boundaries and enhancing their centerline features. Vessels are represented by cubic B-Spline Snake, and are optimized on filter outputs with dynamic programming. In this algorithm, the starting and the end points have to be fixed, and the dynamic programming is very slow for the deformation of B-Snake. Stammberger [12] proposed a B-Spline Snake algorithm for the segmentation of the knee joint cartilage from MR images by using a multiresolution approach. Its external forces are generated by image edges and the distance transformation of a standard model. M´ario presented an approach to unsupervised contour representation and estimation by using B-Spline [3]. The problem is formulated in a statistical framework with the likelihood function being derived from a region-based image model. In this method, to determine the number of control points for B-Spline is by exhaustive search over a range of values and searching the minimum of the Minimum Description Length (MDL). As we know, it is difficult to define a range of number of control points for an uncertain object shape. Also, it is time consuming to perform such exhaustive search. The proposed method can only handle images where the region inside the object being studied is homogeneous. This condition may not be satisfied in some objects, particularly in medical image analysis. Wang [14–16] presented a B-Snake based lane model for lane detection. The external forces in this model are designed based on the perspective relationship of lane boundaries on the image plane. However, although the results are good in lane detection, the number of control points is fixed to three, this limits the capability to describe the complex shape. In their later paper [17], a structure-adaptive B-Snake model was proposed for segmenting the complex structure in real images. In this paper, we present a closed-form adaptive BSnake model [18] with a knot insertion strategy and a Minimum Mean Square Error (MMSE) approach. It possesses two main novelties: (1) The proposed B-Snake model has the capability to increase the number of knots (or control points) to form a complex shape to adapt the structure

of the objects while still has a small number of parameters. This is in contrast to most B-Snake models, which have to fix the value or search over a range of values or depend on a ratio of the length of data for the number of control points, thus lacking the flexibility. (2) A method of Minimum Mean Square Error (MMSE) is developed to iteratively estimate the position of those control points in the B-Snake model. As MMSE deforms the segments of the BSpline instead of individual points, it is very robust against local minima. The structure of this paper is arranged as follows. Section 2 introduces the adaptive B-Snake model. The algorithm for estimating the parameters of B-Snake is presented in Section 3. The simulation results are shown in Section 4. This paper concludes in Section 5. 2.

Adaptive B-Snake Model

B-Snake is using a B-Spline in place of the original elastic rod simulation. The B-Splines can be constructed of any order (with the complexity of the possible conformation increasing with spline order), but third order (cubic) is most often encountered. The cubic B-Splines exhibit a favorable tradeoff between their shape complexity for describing natural curves and computational burden required to solve them. Therefore, we are concerned with the implementation of cubic B-Spline in this paper. The uniform cubic B-Spline is a simple and particularly useful class of B-Spline, the term uniform means that the knots are equally spaced. 2.1.

Uniform Close Cubic B-Splines

For a given set of n + 1 control points, {Q i = [xi yi ]T , i = 0, 1, . . . , n}, the close uniform cubic BSpline consists of n + 1 connected curve segments {gi (s) = (xi (s), yi (s)), i = 1, 2, . . . , n + 1}. Each curve segment is a linear combination of four cubic polynomials by the parameter s, where s is normalized between 0 and 1 (0 ≤ s ≤ 1). That is, 

 Q (i−1)mod(n+1)  Q  imod(n+1)   gi (s) = M R (s) , i = 1, 2, . . . , n+1.  Q (i+1)mod(n+1) Q (i+2)mod(n+1) (1)

Object Contour Extraction Using Adaptive B-Snake Model where 

M R (s) = [s 3

s2

1 − 6   1   2 1]   1 −   2  1 6

s

1 2

 1 6   0  .  0    0

1 2 1 2 1 2 1 6



−1 0 2 3

(2) The points connecting the neighboring segments are called the knot points Pi (i = 1, 2, . . . , n − 1), where the B-Spline bases are tied together. Given the set of knot points P = (P1 , P2 , . . . , Pn−1 ) of a uniform cubic B-Spline curve, we can uniquely determine control points Q = Q 0 , Q 1 , . . . , Q n ), by substituting s = 0 into Eq. (1). The relationship between the control points and the knot points is given as: Q = A−1 P

(3)

where A is a A × A matrix: 1 6   0   ·  A= ·     0   0

2.2.

2 3 1 6 ·

1 6 2 3 ·

1 6 ·

·

·

... ...

...

...

0

...

·

·

·

·

·

0

1 6

...

0

2 3 1 6

1 6 2 3

0

 0

   0   ·   ·     0   1 6

(4)

On B-Snake Model

The cubic B-Snake is defined as follows:  r (s) = gi (s), where 0 ≤ s ≤ 1.

(5)

i

For a cubic B-Snake, gi (s) is defined by Eq. (1). The flexibility of the curve increases as more control points are added; each allows either one more inflection in curve or reducing the continuity at one point when multiple knots are used,. The control points are positioned so that the curve locates the desired object contour.

297

The external energy term on r(s) is defined as E(r(s)). There are no internal forces since the B-Spline representation maintains smoothness via hard constraints implicit in the representation. Therefore, the total energy function of the B-Snake E B -Snake can be defined by integrating E(r(s)) along the B-Snake. That is, 

1

E B -snake =

E(r (s))ds.

(6)

0

To identify the edge features in the image, the above expression must be minimized along the B-Spline curve. So that, at equilibrium (when image forces vanish), r(s) stabilizes close to a contour of object. B-Snake has few advantages over traditional Snake: (1) B-Snake uses far lesser parameters compared to point-based Snake model. As the cubic B-Spline is proposed to be used, deformable curves are represented by four or more parameters (control points). (2) Internal forces are not required in deforming BSnake since the representation of B-Spline has guaranteed smoothness by hard implicit constraints. (3) The B-Snake model is also easy for object boundary tracking application since the parameters of B-Snake for the current frame are usually similar to those in the previous frame, i.e. the movement of the control points are smaller. Due to fewer variables and no internal forces required over traditional Snake, the processing time to deform the B-Snake is greatly reduced. Therefore, it is possible to apply B-Snake to real-time implementation. However, to apply the B-Snake to real applications, the problems listed below have to be solved for B-Snake: (1) As we know, the more control points, the more complex shape B-Spline can be formed. However, how to automatically determine the number of control points for B-Snake to adapt to the structures of desired object contour is a nontrivial task, because it is very difficult to predetermine a fixed value or a range of values for the number of control points for an unknown or complex shape. The solution should be faster and be able to use existing conditions, such as object edge, to conduct this purpose. (2) The shape of B-Spline curve is determined only by a set of control points. Therefore, in the deformation of B-Snake, how to efficiently transfer the external forces to the control points and position the B-Snake, remains a challenge. It should be

298

Wang and Teoh able to co-operate with the solution of (1) in the deformation procedure.

These problems will be addressed in the next Section. 3.

Estimation of B-Snake Parameters from Image Data

Based on the initial location of the control points that are determined either by manual or as a result of previous frame, the B-Snake would further deform to the desired contour accurately in the current frame. In [16], Wang et al. have presented an open B-Snake lane model with a fixed number of control points, and Gradient Vector Flow (GVF) has been used as its external force to detect the lane boundary by MMSE method. In this Section, a new method for B-Snake model is presented. Compared to other B-Snake models, it has a few novelties: (1) a control point insertion strategy is embedded to adapt the complex shape without prior fixing the number of control points; (2) the normal portion of GVF is chosen to efficiently deform the B-Snake; (3) MMSE method is implemented to not only the open B-Snake, but also the close B-Snake. 3.1.

Figure 1.

Demonstration of (a) Eˆ i (s).

curve, and Vnormal is the unit vector of the normal axis. Therefore, Eq. (7) becomes: E ext =

1  ( Eˆ i (s)) i

(9)

s=0

A real example of B-Snake using above external force is shown in Fig. 2(b). Figure 2(a) shows the original GVF external force Ei (s) while Fig. 2(b) shows the modified external force Eˆ i (S). Eˆ i (s) would push the B-Snake to the desired boundary more efficiently.

External Force for B-Snake 3.2.

Gradient Vector Flow (GVF) [19] is selected here as the definition of external forces for B-Snake, since GVF has a larger capture range. It is computed as a diffusion of the gradient vector of a gray-level or binary edge map derived from the image. The B-Snake external forces Eext are calculated by the sum of the B-Spline curve model which are defined as Ei (s): E ext =

1  i

(E i (s))

(7)

s=0

B-Snake should be updated to minimize: (1) the sum of the external forces from the B-Spline for achieving accurate position of B-Snake, and (2) the external forces should be transmitted to each control point when updating B-Snake. The details are described as follows. To deform the B-Snake to the object boundaries, the energy function has to be minimized as: E ext =

1  ( Eˆ i (s)) = 0 i

However, as we found that, the projection of Ei (s) in the tangent axis of each point in B-Snake does not help to deform the B-Snake to desired boundary. Hence, in our practical implementation, Ei (s) is replaced by Eˆ i (s) which is the projection of Ei (s) at the normal axis of that point on the B-Spline curve and shown in Fig. 1. Eˆ i (s) = |E i (s)| · cos θ · V normal

Minimum Mean Square Error Approach

(8)

where θ is the angle between the vector of external force and normal axis of sampled point on the B-Snake

(10)

s=0

In practical application, the energy function would never reach zero, but a minimal value. Once the energy function of B-Snake is minimized, then no movement is driven for control points and hence no change in the shape of the B-Snake. To iteratively minimize the external force, the following equation shows the relationship between the movement of control points and the energy function: E ext = γ M R (s)Q(t)

(11)

Object Contour Extraction Using Adaptive B-Snake Model

Figure 2.

299

External forces (a) Ei (s) and (b) Eˆ i (s).

where γ is a step-size and Q(t) is the adjustment of the control points Q in each iteration step.

and 

Q(t) = Q(t − 1) + Q(t).

(12)

External force can be sampled along the B-Spline of B-Snake at a certain distance (we are using 2–3 pixels). Then Eq. (11) can be solved digitally. Here, the MMSE solution for the digital version of the Eq. (11) is given as a matrix form [18].

Q(t) = γ −1 [M T M]−1 M T E ext

3 si,1

  s3  i,2 Mi =    ·  3 si,m 

M1

 0    ·   0  M =  0  M   n−1    Mn  Mn+1

0 M2

··· 0

··· ···

· ··· ···

· 0 ···

· M n−3 0

0 0

... ...

0 0

 0 0    ·   0   , M n−2   M n−1    Mn 

0

...

0

M n+1

2 si,2

si,2

·

·

2 si,m

si,m

  1  2 ×  1 − 2 

− 12

−1

1 2

0

1 2

2 3

1 6

3 sn−1,1

 s3  Mn−1 =  n−1,2  · 3 sn−1,m

 (14)

0

 0  ×  0  0

 1  1    ·  1

1 2

1 6

 

si,1

− 16

(13)

where

2 si,1

1 6



 0   , i = 1, 2, . . . , n − 2.  0  0

2 sn−1,1

sn−1,1

2 sn−1,2

sn−1,2

·

·

2 sn−1,m

sn−1,m

− 16

1 2

− 12

1 2

−1

1 2

− 12

0

1 2

1 6

2 3

1 6

    ,   

1



1   · 1

300

Wang and Teoh 

 Mn−1

3 sn−1,1

  s3  n−1,2 =   ·  3 sn−1,m 1 6

 0 ×  0 0



3 sn,1  s3  n,2

Mn =   · 3 sn,m 

3 sn,1

  s3  Mn =  n,2   · 3 sn,m

2 sn−1,1

sn−1,1

2 sn−1,2

sn−1,2

·

·

2 sn−1,m

0

0

0

sn−1,m

0 0

0 0

2 sn,1 2 sn,2

sn,1

·

·

2 sn,m

sn,m

  0 0 1  0 0 1   ·  0 0  1 0 0  − 1 1 2   1 1 2   1  ·   2 1 1

sn,2

2 sn,1

sn,1

2 sn,2

sn,2

·

·

2 sn,m

sn,m

6



3 sn+1,1  s3  n+1,2

2 sn+1,1 2 sn+1,2

·

3 sn+1,m

·

− 16

1 6

0

0

0

0

0

0

0

sn+1,2 ·

0 0

0

0

0



1 6

3 sn+1,1  s3  n+1,2

2 sn+1,1 2 sn+1,2

·

·

3 sn+1,m  1

2 sn+1,m

 Mn+1 = 

2

−1  × 0 2 3

− 12 1 2 1 2 1 6

2 3

1 6

sn+1,1

sn+1,1 sn+1,2 ·

sn+1,m  0 0 0   0 0



 −1  ,  0 

− 12

0 0   0

0

1 2

1 2

2 sn+1,m sn+1,m 1 0 −6 1  0 2  , 0 − 12 



3.3.

 0 0   0 0

0

Mn+1 =  



 1  1    ·  1

 0  0    0  0

 1 1   ·

To adaptively approach a complex contour without prior fixing of the number of control points, a structureadaptive knot point insertion strategy is developed. The location of new knot point is determined by checking the external force on the B-Snake when B-Snake is converged in the deforming procedure. The new knot point is inserted into the location where it has maximal external force on the B-Spline curve. In the GVF field, the magnitude of the force reflects the distance to the nearest significant edge. The stronger external force means the further distance to the nearest object boundary. In this case, the knot point should be inserted to increase the flexibility of the B-Spline curve to adapt to the object shape. Compared to other algorithm [3] which has to try a range of values to determine the best number of control points for B-Snake model, our method is simple and working fast. Suppose that we have a B-Spline curve defined on a sequence of control points Q = Q 0 , Q 1 , . . . , Qˆ n ), a knot Pt is expected to insert between Pi and Pi+1 at st . The new set of control points is Qˆ = ( Qˆ 0 , Qˆ 1 , . . . , Qˆ n , Qˆ n+1 ). Qˆ j is determined by Qˆ j = (1 − α j )Q j−1 + α j Q j ,

(15)

where  1   st + 2 + ( j − i) αj =  3  0

1

( j ≤ i − 1) (i ≤ j ≤ i + 2). (16) ( j ≥ i + 3)

Equations (15) and (16) mean that the new Qˆ j divides the line segments Q j−1 Q j in the ratio α j : 1 − α j .

 1 1   · 1

1 6

0

Control Point Insertion Strategy

0

and si,m is the parameter s to form the sampling point m in ith segment.

3.4.

The Complete Object Contour Extraction Algorithm

In order to arrive at the solutions in Eq. (13), an iterative procedure is adopted. This iterative minimization is guaranteed to converge at least to a local minimum of E B -snake in Eq. (6). The steps contained in this iterative minimization process are as follows: (1) Calculate the edge image of original image by using Canny edge detector. (2) Calculate the GVF of the edge image as the external force of B-Snake. (3) Initialize the control point parameters.

Object Contour Extraction Using Adaptive B-Snake Model (4) Compute the MMSE in Eq. (13) for obtaining Q(t). (5) If Q(t) > threshold1 , set Q(t) to Q(t − 1), then go to step 4; Otherwise, go to step 6. (6) If max ( Eˆ B (t)) > threshold2 , a new knot point is inserted in that location which has maximum external force, then go to step 4; Otherwise, go to step 7. (7) Stop. The last estimations of Q(t) are regarded as the final results. This iterative minimization is guaranteed to converge to at least a local minimum of Eext in Eq. (11). There is no exact rule to set the thresholds. However, if thresholds are set too strictly, although B-Snake would match object very precisely, the processing time would be longer. Therefore, based on our experience, threshold1 and threshold2 are set to 0.1 pixel and 0.3, respectively. It is the best tradeoff between computational time and matching accuracy.

Figure 3.

A B-Snake model for extracting ventricle contour.

Figure 4.

External force of the B-Snake model with 4 control points.

4.

301

Experimental Results and Discussion

This B-Snake model has been simulated by MATLAB codes and tested on real MR medical images for human brain ventricle contour extraction. Figure 3(a) is the initialization of B-Snake. The B-Snake is initialized with 4 control points. This is the minimum number of control points to form a closed B-Spline. The convergence procedure of the B-Snake model is shown in Fig. 3(b), which takes 37 iterations. The final result of MMSE approach for 4 control points B-Snake is shown in Fig. 3(c). The external force on the B-Snake is shown in Fig. 4. As we can see in Fig. 3(c), the B-Snake with 4 control points is not sufficient to describe the shape of ventricle. Therefore, in the step 6 of the algorithm proposed in last Section, more control points would be added one by one in the location of sampling point

302

Figure 5.

Wang and Teoh

Result of B-Snake deformation using 5 control points.

with the maximum external force on the B-Snake. The location where the sampled point has the maximum external force is shown in Fig. 4. After inserting a new knot point and deforming with MMSE, the shape of B-Snake is shown in Fig. 5. There are a total of 13 control points that have been inserted in the deformation of B-Snake for this image. The results of B-Snake with 6 control points to 17 control points are showed in Fig. 6. Figure 7 shows the external forces of the B-Snake in Fig. 6(1), they are all less than threshold2 which is set to 0.3. It can be seen that the B-Snake deforms to the contour edge accurately. In order to show the flexibility of the presented BSnake model, we have used it to extract the object contour in the non-medical images with noise background. In Fig. 8, B-Snake was also initialized by 4 control points. After extraction algorithm completed, six more control points have been inserted and the fi-

nal shape of B-Snake approached the object contour very precisely. The overall processing times without any code optimization for Figs. 6 and 8 are 0.4 and 0.3 second, respectively. The time spent on control point insertion is less than 0.1 second. This is in contrast to other B-Spline models [3], which have to try a range of value to determine the best number of control points for B-Snake model and thus much longer than our method. Another example is shown in Fig. 9. B-Snake is initialized by 6 control points and there are 12 control points inserted in the final result. The proposed control point insertion strategy has been implemented in the case of open shape detection as well. We have previously proposed a B-Snake based lane model [14–16] which describes the perspective effect of parallel line with dual external forces for generic lane boundary or marking, it is able to describe a wider range of lane structures than other lane

Object Contour Extraction Using Adaptive B-Snake Model

Figure 6.

Results of B-Snake deformation with 5 to 17 control points.

303

304

Wang and Teoh

Figure 7.

External force of the B-Snake using 17 control points.

Figure 8.

B-Snake used to extract the object contour in noisy background.

models such as straight and parabolic models. However, the B-Snake lane model is fixed to three different location’s control points, Q0 , Q1 and Q2 (Q0 and Q2 are triple, so we actually compute a curve of 2

Figure 9. contour.

One more example of B-Snake used to extract the object

segments from the sequence of 7 control points Q0 , Q0 , Q0 , Q1 , Q2 , Q2 , Q2 ). Although it is sufficient for most roads, it lacks the flexibility to model the complex shape of some roads. The proposed control point insertion strategy in Section 3.3 is applied to B-Snake lane model to perform the complex road detection without fixing the number of control points[18]. Figure 9 presents an example on lane detection for “S” shape road. Figure 9(a) is the initialization of the BSnake lane model with 3 control points, while Fig. 9(b) shows the final result with one more control point inserted. Here we observe that the proposed close-form BSnake model leads to good results in both medical and non-medical images for object contour extraction. We also observe that this model has the flexibility for representing the complex shapes. This is done by adaptively inserting control points during the deformation procedure. Moreover, the proposed control point insertion strategy is also working well in the case of open B-Snake model.

Object Contour Extraction Using Adaptive B-Snake Model

305

or depend on a ratio of the length of data for the number of control points, and hence lack flexibility to describe unknown complex shapes when initially too few control points are chosen. The proposed method has been implemented to various objects’ shape extraction. The experimental results show that the proposed method is robust and accurate in object contour extraction. Currently we are extending the 2D model to 3D by developing a new control point insertion algorithm and deformation strategy for B-Surface. However, in the B-Snake model presented in this paper, no prior knowledge of object shape has been used. For the case where a prior information is available, such as the geometric and appearance information of the object shape, current research makes it possible to be implemented into Snake model. In our future work, these information will be employed in B-Snake model to improve the object extraction. References

Figure 10.

5.

Lane detection using B-Snake based lane model.

Conclusion

Based on the initial location of the control points, the BSnake would further deform to object edge accurately in the current frame. The minimum energy method MMSE that finds the correspondence between B-Snake and the real edge image is implemented in this B-Snake model to determine the parameters iteratively to deal with this problem. Normal external forces are sampled in the B-Spline by a limit distance to each other and are applied to the curve itself. But, for iterative adjustment of displacement, it is necessary to compute the force transmitted to each control point. This is done by positioning the B-Spline so that it minimizes the sum of the external force of the B-Snake model. Since the B-Snake representation maintains smoothness via hard constraints implicit in the representation, the internal forces are not required. The GVF is chosen as the external force for B-Snake to object boundary detection since it has a larger capture range. The structureadaptive capability of our B-Snake model is reached by the strategy of adaptively inserting control points during the B-Snake deformation procedure. This method overcomes the problems that exist in other B-spline based models that have to decide beforehand or exhaustively search over a range of values

1. W.S.I. Ali and F.S. Cohen, “Registering coronal histological 2-D sections of a rat brain with coronal sections of a 3-D brain atlas using geometric curve invariants and B-Spline representation,” IEEE Transactions on Medical Imaging, Vol. 17, No. 6, 1998. 2. A.M. Baumberg and D.C. Hogg, “Learning flexible models from image sequences,” in European Conference on Computer Vision’94, 1994, Vol. 1, pp. 299–308. 3. M.A.T. Figueiredo, J.M.N. Leit˜ao, and A.K. Jain, “Unsupervised contour representation and estimation using B-Splines and a minimum description length criterion,” IEEE Transactions on Image Processing, Vol. 9, No. 6, pp. 1075–1087, 2000. 4. J. Flusser and T. Suk, “Pattern recognition by A affine moment invariant,” Pattern Recognition, Vol. 26, pp. 167–174, 1993. 5. A.L.N. Fred, J.S. Marques, and P.M. Jorge, “Hidden Markov models vs syntactic modeling in object recognition,”Proceedings of International on Image Processing (ICIP’97),1997, pp. 893–896. 6. Y. Gu and T. Tjahjadi, “Coarse-to-fine planar object identification using invariant curve features and B-Spline modeling,” Pattern Recognition, Vol. 33, pp. 1411–1422, 2000. 7. Z. Huang and F.S. Cohen, “Affine-Invariant B-Spline moments for curve matching,” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 5, No. 10, Oct. 1996. 8. M. Kass, A. Witkin, and D. Terzopoulos, “Snakes: Active contour models,” Int. J. Computer Vision, Vol. 1, No. 4, pp. 321–331, 1987. 9. A.K. Klein, F. Lee, and A.A. Amini, “Quantitative coronary angiography with deformable spline models,” IEEE Transactions on Medical Imaging, Vol. 16, No. 5, 1997. 10. M.J. Paulik, M. Das, and N.K. Loh, “Nonstationary autoregressive modeling of object contours,” IEEE Transactions on Signal Process, Vol. 40, pp. 660–675, 1992. 11. E. Person and K.S. Fu, “Shape discrimination using fourier descriptors,” IEEE Transactions on Systems Man Cybernet, Vol. 7, pp. 170–179, 1977.

306

Wang and Teoh

12. T. Stammberger, S. Rudert, M. Michaelis, M. Reiser, and K. H. Englmeier, “Segmentation of MR images with B-Spline snakes: A multi-resolution approach using the distance transformation for model forces,” CEUR Workshop Proceedings, Vol. 12, 1998. 13. Q.M Tueng and W.W. Boles, “Wavelet-based affine invariant representation: A tool for recognizing planar objects in 3D space,” IEEE Transactions on PAMI, Vol. 19, pp. 846–857, 1997. 14. Y. Wang, E.K. Teoh, and D. Shen, “Lane detection using B-Snake,” IEEE International Conference on Information, Intelligence and Systems (ICIIS’99), Washington, DC, Nov. 1–3, 1999. 15. Y. Wang, D. Shen, and E.K. Teoh, “A novel lane model for lane boundary detection,” IAPR Work-

16.

17.

18.

19.

shop on Machine Vision Applications, 1998, pp. 27– 30. Y. Wang, E.K. Teoh, and D. Shen, “Lane detection and tracking using B-Snake”, Image and Vision Computing, Vol. 22, No. 4, 2004, pp. 269–280. Y. Wang, E.K. Teoh and D. Shen, “Structure-Adaptive B-Snake for Segmenting Complex Objects,” International Conference on Image Processing (ICIP 2001), Thessaloniki, Greece, Oct 7–10, 2001, pp. 769–772. Y. Wang, Object segmentation and matching using B-Spline model, PhD thesis Nanyang Technological University, Singapore, May 2004. C. Xu and J.L. Prince, “Snakes, shapes, and gradient vector Flow,” IEEE Transactions on Image Processing, pp. 359–369, March 1998.