Application of Particle Swarm Optimization and Snake Model Hybrid on Medical Imaging Ehsan Shahamatnia* Mohamad Mehdi Ebadzadeh Universidade Nova de Lisboa/FCT-UNINOVA Caparica, 2829-516 Portugal [email protected] Electrical and Computer Eng. Department Amirkabir University of Technology, Tehran, Iran [email protected] Abstract— Active contour model has been widely used in image processing applications such as boundary delineation, image segmentation, stereo matching, shape recognition and object tracking. In this paper a novel particle swarm optimization scheme has been introduced to evolve snake over time in a way to reduce time complexity while improving quality of results. Traditional active contour models converge slowly and are prone to local minima due to their complex nature. Various evolutionary techniques including genetic algorithms, particle swarm optimization and predator prey optimization have been successfully employed to tackle this problem. Most of these methods are general problem solvers that, more or less, formulate the snake model equations as a minimization problem and try to optimize it. In contrary, our proposed approach integrates concepts from active contour model into particle swarm optimization so that each particle will represent a snaxel of the active contour. Canonical velocity update equation in particle swarm algorithm is modified to embrace the snake kinematics. This new model makes it possible to have advantages of swarm based searching strategies and active contour principles all together. Aptness of the proposed approach has been examined through several experiments on synthetic and real world images of CT and MRI images of brain and the results demonstrate its promising performance particularly in handling boundary concavities and snake initialization problems. Keywords- Particle swarm optimization; Active contour model; Boundary concavity; Medical image processing I. INTRODUCTION Image segmentation is one of the fundamental operations of most computer vision systems which require catching an object of interest. Deformable contours was first used for object boundary delineation in late 80s and its variations have been popular approach ever since. Kass et al. [2] introduced a new kind of deformable contour called active contour model (ACM), which deforms contours to lock onto features of interest within an image. Active contour model is also known as snake model, since the evolution of contour resembles snakes crawling. Snake model is an energy minimization algorithm induced not only by low level image features such as image gradient or image intensity, but also with higher level information such as object shape, continuity of the contour and user interaction. Given an approximation of the object boundary, the snake model will be able to find the precise boundary of that object, making it suitable for medical image processing applications [3,4]. But this is not the only domain that has allured researchers; snakes are also widely used as an * The Author gratefully acknowledges partial financial support through FCT grant SFRH/BD/62249/2009. 978-1-61284-336-0/11/$26.00 ©2011 IEEE interesting approach in many applications, including segmentation, shape modeling, stereo matching and object tracking. The energy of snake depends on its spatial positioning on the image and the changes in its shape. The idea is to minimize the integral measure which represents the total snake energy. Original snake model achieves this minimization by iteratively solving a pair of Euler equations on the discrete grid. Traditional active contour algorithms suffer from some limitations. One main drawback is the sensitivity of initial contour; it must be within the vicinity of object boundary. An improper initialization may lead the algorithm to fail. A solution to this problem is to expand the search domain or increase the capture range of image force to guide the contour evolution [5-7]. Another limitation is that it can hardly converge on concave object boundaries [8,9]. There are a number of other problems associated with classical active contours such as sensitivity to noise, convergence to local minima, parameter selection and instability [1,8,23]. Several works have been done to address these problems but very few have produced satisfactory results. They either cannot address all the problems or if they can, they usually raise new drawbacks and impose further complexity and computational cost to the model. More successful approaches especially in case of local minima are gradient vector flow fields (GVF) [10], vector field convolution (VFC) [11] and most recent sparse field method (SFM) [12]. GVF fields are dense vector fields derived from image by minimizing energy functional in a variational framework [10] aiming to increase the capture range and hence reduce its sensitivity to initialization. VFC method is a generalization of GVF with an improved robustness toward noise. SFM introduces a new approach to implement active contours with level-sets which is more efficient and faster. Another successful approach is to minimize the snake energy by alternate strategies such as dynamic programming [1], greedy algorithms [24], genetic algorithms [3,4,23] and swarm based optimization algorithms [14-18]. Particle swarm optimization has become very popular as a general search strategy, thanks to its computationally inexpensive implementation and yet fast and decent performance. Inspired by collective behavior of animals, it is a stochastic algorithm providing means to implement cognitive and social behavior found in flocks of birds. These mechanisms make it possible for particles to communicate and diffuse their experience of explored space. PSO can be applied to drive control points on the snake, but particles must be prevented from convergence to the global best position experienced by swarm. In the literature this is done by restraining the particle search space. [17,18] use multi-population PSO in which each control point is confined to a sub-swarm spatially distinct from other sub-swarms. In [3,15], polar coordinate is used to restrict the search space of each snaxel. In [14], an iterative method has been used to rank the best position set of particles at each epoch and according to some equations prevent particles from intersecting. In this paper, we present snake driven particle swarm (SDPSO) algorithm. PSO velocity update equation has changed to integrate with snake model concept. The method presented here customizes PSO algorithm to overcome snake model drawbacks including snake initialization, concave boundaries, sensitivity to noise and local minima. Yet the simple structure of PSO is preserved yielding to an algorithm with low order of complexity. The rest of this paper is organized as follows. Snake model and particle swarm optimization is reviewed in sections 2 and 3. Section 4 describes the proposed snake driven PSO in detail. Experimental results are discussed in section 5. Finally, section 6 concludes this paper. II. BASIC SNAKE MODEL Active contour models can be classified into two categories according to their representation; parametric and geometric models. Parametric active contour models use an explicit presentation to parameterize active contours or surfaces. Conversely, geometric active contour models use an implicit representation based on the curve evolution theory [19]. Geometric models are generally implemented with level-set techniques, making it possible to identify several objects more effectively and automatically handle topology alteration. However, the high computational cost of level-set calculations is a major drawback. In this paper, we use parametric modeling for snakes which is computationally efficient and easy to interact with user [16]. Snake model is considered to be a controlled continuity spline under the influence of internal and external forces. The internal spline forces serve as a smoothness constraint and the external image forces push the snake towards salient image features such as lines, edges and subjective contours. In the original model there is also another force named external constraint force which is responsible for putting the snake near the desired local minimum and can be obtained from user interface or high level mechanisms. Parametric active contour is a curve, p(s) = (x(s),y(s)), having arc length, s, as parameter. Formal representation of parametric snake as a time varying curve is as follows: ሺݏǡ ݐሻ ൌ ൫ݔሺݏǡ ݐሻǡ ݕሺݏǡ ݐሻ൯ǡ א ݏሾͲǡͳሿ (1) where t is the time step and the goal is to evolve the snake to minimize the total snake energy given by: ݁݇ܽ݊ݏܧൌ ͳ ͳ ݐ݊݅ܧ Ͳ൫ሺݏሻ൯݀ ݏ ݐݔ݁ܧ Ͳ൫ሺݏሻ൯݀ݏ (2) The internal snake energy is responsible for curve smoothness, i.e. it changes due to bending or discontinuities of curve and is calculated from equation bellow: ʹ ݐ݊݅ܧൌ ቀߙሺݏሻห ݏሺݏሻห ߚሺݏሻห ݏݏሺݏሻห ʹ ቁ Ȁʹ (3) Internal energy consists of two terms which are first and second derivatives of snake with respect to s. First term coerces the spline to act like a membrane and is controlled by tension parameter (s). The second term makes the snake act like a thin plate [2] and is controlled by rigidity parameter (s). The external energy determines the snake relationship to the image. It is formulated in a way that its local minima corresponds the image features of interest. Various external energies can be employed such as image intensity, image gradient, object size or shape. One common definition used for gray-level images is the gradient of Gaussian function: ܧ௫௧ ൫ሺݏሻ൯ ൌ െߛሺݏሻȁܩఙ ܫ כሺݔǡ ݕሻȁଶ (4) where (s) is the weighting parameter of external energy, denotes the standard deviation for Gaussian function and I(x,y) is the image intensity. Larger the , more blurry the image will be. In order to increase the capture range of snake model it is important to designate a suitable . The minimum energy snake is derived by solving the following Euler equation: ߙ௦௦ ሺݏሻ െ ߚ௦௦௦௦ ሺݏሻ െ ܧ௫௧ ൌ Ͳ (5) In the practical implementations, a number of discrete points called control points or snaxels characterize the snake. The iterative minimization process works only on these points and continues until there is no significant improvement. III. PARTICLE SWARM OPTIMIZATION Particle swarm optimization is a population based stochastic optimization technique introduced by Kennedy and Eberhart in 1995 [21]. The concept behind PSO is inspired from social behavior found in a flock of birds or a school of fish and incorporates features of evolutionary computation such as fitness evaluation. Population in the PSO algorithm is called swarm and consists of a number of particles, each representing a potential solution to the optimization problem. Similar to a flying bird, each particle is represented by its position in the search space and the velocity it flies. Swarm is initialized with random solutions, i.e. random positions and velocities for the particles. In traditional PSO the number of particles remains unaltered during the evolution process. Particles fly through the hyperspace searching for the global optimum. By sharing information within the swarm, particles progressively cluster around the optima. The velocity is continuously adjusted according to the particle’s experience of best position as well as its neighbors’. Unlike chromosomes in standard genetic algorithm, PSO particles remember the best position they have discovered according to a fitness evaluation function. This position and its corresponding fitness value are stored as personal best, pbest in short, and form the cognitive aspect of particle evolution. Second principle of particle evolution simulates social behavior and is implemented by tracking the overall best position found within the particle neighborhood. Different topologies have been suggested in the literature to define the neighborhood structure such as ring, star, Von Neumann and random. If the particle neighborhood is restricted to a subset of swarm it is called local best (lbest) PSO, while if the neighborhood equals whole swarm it is called global best (gbest) PSO. algorithm embeds the snake model mechanisms within PSO dynamics. Unlike other swarm intelligence approaches in the literature aiming to solve snake model optimization [3,4,1418], SDPSO does not employ PSO algorithm merely as a general problem solver to optimize snake energy minimization, but it also customize the canonical PSO concepts to achieve a novel approach to tackle the problem. This helps to overcome the major drawbacks of traditional snakes; initialization and poor convergence to the boundary concavities, while benefitting from PSO robustness and simplicity. In the canonical PSO algorithm particle dynamics is governed under the following equations: In the proposed SDPSO algorithm, each particle represents a snaxel on the contour. Two possible problem formulations can be specified depending on whether one curve or several curves are used to define object contour [15]. In this paper, the former formulation is addressed, i.e. swarm of particles forms a single snake which deforms to latch onto the object boundaries. Particles’ initial positions are set to be on perimeter of a predefined simple shape (e.g. a square or a circle) or user specified points. Unlike many ACM approaches, initial contour does not necessarily need to be close to the object boundaries. It can be any closed contour encompassing the object, or even it can be initialized inside the object. ݒ ሺ ݐ ͳሻ ൌ ߱ሺݐሻݒ ሺݐሻ ܿଵ ݎଵ ൫ݕ ሺݐሻ െ ݔ ሺݐሻ൯ ܿଶ ݎଶ ൫ݕො ሺݐሻ െ ݔ ሺݐሻ൯ ݔ ሺ ݐ ͳሻ ൌ ݔ ሺݐሻ ݒ ሺ ݐ ͳሻ (6) (7) where xi(t) and vi(t) are position and velocity of i-th particle at time t, yi(t) and i(t) denote the best positions discovered by i-th particle and its neighborhood up to the time t, i.e. pbest and lbest respectively. ω(t) is the inertia weight which controls the impact of the previous velocity and prevents radical changes. Since a large inertia weight favors exploration while a small value works towards exploitation, it is a common practice to use a dynamic inertia weight decreasing by time. A linear formulation can be defined as: ߱ሺݐሻ ൌ ߱ெ௫ െ ሾሺ߱ெ௫ െ ߱ ሻ ݐ כሿȀݐெ௫ (8) To introduce stochastic capacities into the algorithm, random numbers r1 and r2 are used in (7). Weights of cognitive and social aspects of the algorithm are represented by acceleration factors c1 and c2 respectively. Regulated values for inertia and acceleration weights can be used to achieve guaranteed convergence. In [22], Van den Bergh proposes the following relation to ensure PSO convergence: ሺభ ାమ ሻ ଶ െͳ൏߱ (9) Main steps of PSO algorithm are as follows: 1. 2. 3. 4. 5. Initialize the swarm by assigning random values to particle positions and velocities. For each particle evaluate the fitness value. Update pbest and lbest values. Update particles velocity and position. Check if algorithm termination criteria are met otherwise loop back to step 2. Next section describes the modifications made on PSO algorithm to incorporate the snake model kinematics and establish an integrated PSO-ACM solution for boundary detection problem. IV. SNAKE DRIVEN PSO Motivated by the above discussions, this paper uses a hybrid model for boundary detection problem. The proposed Snake Driven Particle Swarm Optimization (SDPSO) Many swarm based snake optimization algorithms, [15-17], consider a searching window around each particle and evaluate every position inside that window to determine the snaxels next position. SDPSO eliminates the need for this computationally expensive local search for each particle in every iteration. Instead, explore the search space according to PSO trajectory disciplines. The proposed approach inherits the concept of cognitive and social experience contribution in particle improvement. In PSO velocity update, personal best term denotes the best position experienced by particle. This notation need to be adapted since in the problem formulation used each particle stands only for a portion of the solution and fitness of the particle is also affected by its neighbors’ positions. Instead of using the best experienced position, we use personal best velocity, i.e. the velocity of the particle in the best experienced position. Moreover, to update the pbest in each iteration, the current fitness is not compared with previously calculated fitness for particles best experienced position, but the fitness is recalculated for that position in the new swarm. This guarantees that pbest term always guides the particle to a better position even though the positions of whole population have changed. As stated earlier, local best term makes it possible to share information of global best position between particles and finally leads them to cluster around the best position tracked down by swarm. In our implementation, local best velocity for a particle is the average velocities of neighborhood particles. A simple neighborhood structure based on the indices of the particles is employed. The main difficulty for snaxels is starting their move in the correct direction towards object boundary and advancing in that direction. Once near the boundary, it is easier for them to latch onto it. Traditional ACM algorithms ignore this issue by initiating the snake in vicinity of the object, other techniques, such as GVF [10], increase the capture range, usually by complex iterative procedures. Local best velocity term makes it possible that information about the best direction to move towards, circulate between neighboring particles. Derived from (6), SDPSO velocity update equation is as follows: ݒ ሺ ݐ ͳሻ ൌ ߱ݒ ሺݐሻ ܿଵ ݎଵ ൫ݐݏܾ݁ ሺݐሻ െ ݔ ሺݐሻ൯ ܿଶ ݎଶ ൫݈ܾ݁ݐݏ ሺݐሻ െ ݔ ሺݐሻ൯ ܿଷ ݎଷ ൫ݔҧ ሺݐሻ െ ݔ ሺݐሻ൯ ܿସ ሺ݂Ǥ ݁݃ܽ݉ܫ ሻ (10) where pbesti(t) and lbesti(t) are personal best velocity and local best velocity terms respectively. x(t) is the average of positions at time step t, approximating center of mass of particles. This term pushes the snake to contract or expand with respect to the sign of its weighting factor, r3. This term speeds up the algorithm and is particularly useful when the snake is stagnated and there is no other compelling force. f.Imagei is the normalized image force corresponding to external energy from snake model principles. For particle i, f.Imagei gives the image force at the position specified by that particle. Although the results prove that SDPSO exhibits satisfactory performance with simple external energies such as image gradient and gradient of Gaussian functional, one may use any external energy functional for image force upon his or her wish. It must also be noted that image force does not vary by time and it is calculated only once for an image pixel. c4 is the weighting factor to control the effect of image force. One important issue is to adjust the weights of different components of velocity update equation in order to impel the snaxels to move in desired direction and speed. To this end we have utilized a dynamic adaptive scheme to calibrate c1 , c2 and c3 at every time step. When particle i is within the capture range of image force, magnitude of f.Imagei for that position will be a positive nonzero value. Closer the particle to the object boundary, larger the value of magnitude of f.Imagei would be. In contrary if the particle is positioned far from the object contour, as in first iterations, f.Imagei will have very small or zero magnitude. In first case, the weight of personal best and local best components must be reduced so that image force will be prevailing. In latter case, image force is practically blind and there must be other mechanism to guide the particle, thus c1 , c2 and c3 are increased. This helps the particle move towards the best rewarded direction it has experiences and towards the direction its neighbors are moving. Our implementation considers a negative logarithmic relationship between magnitude of f.Imagei and each of c1 ,c2 and c3 for every image pixel. Inertia weight, ω, is taken to be a relatively small constant and r1, r2 and r3 denote random numbers. Particles in the swarm based algorithms are responsible for trade off between exploration and exploitation of the search space. These contradictory objectives are balanced with velocity update equation. Sometimes consecutive velocity updates in same direction leads in large particle movements; algorithm diverges and in our case snake gets distorted. We use velocity clamping to restrain particle global exploration and keep the snake organized. When new velocities are calculated and before position updates, particle velocity is adjusted not to exceed the predefined vmax. Maximum velocity is a problem specific value and mainly depends on the size of image and precision needed. Considering minimization problem, particle fitness is the energy of corresponding snaxel defined in equations 2, 3 and 4. For numerical implementation the derivative in (3) can be approximated by finite differences [1, 2, 13]. Suppose pi=(xi ,yi) is a snaxel and snaxels are equidistant then we have: ฬ ݀ ଶ ฬ ؆ ȁ െ ିଵ ȁଶ ݀ݏ ൌ ሺݔ െ ݔିଵ ሻଶ ሺݕ െ ݕିଵ ሻଶ (11) ଶ ݀ ଶ ቤ ଶ ቤ ؆ ȁିଵ െ ʹ ାଵ ȁଶ ݀ݏ ൌ ሺݔିଵ െ ʹݔ ݔାଵ ሻଶ ሺݕିଵ െ ʹݕ ݕାଵ ሻଶ (12) As it can be seen from the equations 11 and 12, snake curvature is encouraged to behave like a membrane or a thin plate, controlled by parameters (s) and (s). If (s) is zero at a point, a gap can occur while if (s) is zero it will be a corner. This requires fine tuning the values of (s) and (s) for different snaxels and categorizing them as normal or corner pixels. By incorporating PSO dynamics to search strategy, SDPSO eliminate the need for these two parameters; the value of (s) and (s) is taken to be 1 for all snaxels on the spline. For the rest, SDPSO runs in similar steps as standard PSO descried in section 3. Algorithm termination criteria are a predefined number of iterations or the algorithm convergence. When the snake is completely fitted on the object boundary, the image force on the boundary will be zero while in adjacent pixels image force will have a large magnitude that pushes back the snaxel to the boundary. V. EXPERIMENTAL RESULTS Performance of the proposed SDPSO algorithm is verified in this section. The simulation programs are implemented with MATLAB 2009a, running on Microsoft Windows XP, Intel Core 2, 2.0 GHz CPU. Several experiments have been conducted on synthetic and real images. Input images are converted to grayscale color map with 256 gray levels per pixel and image force is calculated by a gradient of Gaussian functional with σ=3. Figure 1 illustrates the problem of traditional snake model in converging to sharp boundary segments. Fig. 1(a) denotes the initial contour with 60 snaxels on the 164×164 pixel image. The result of traditional snake implementation with best settings for and constants (0.05 and 0 respectively) is shown in fig.1(b) and (c), and finally the result of the proposed algorithm is provided in part (d). Figure 2 is an artificial image with a shape similar to a boot, featuring sharp corners, curvature and a concave segment. This shape has been created to assess the SDPSO competence in finding concave boundaries and comparison to the traditional snake model. Fig.2 (a) is the initial snake, (b) is the result obtained from traditional snake implementation and (c) is SDPSO result. It can be seen that traditional snake cannot delineate the U shape region of the object since its internal forces, elasticity and rigidity, hinder the snake from changing into irregular forms in the lack of external force guidance. To be precise, the external force correctly points to the boundary but in the concave area only the horizontal forces exist and there is no force to push the snake into the U-shape region. This is depicted in fig.2 (d) and (e). Figures 3 and 4 demonstrate SDPSO performance on three different snake initialization options. In fig.3 part (a) represents a snake initialized outside of the object and part (c) represents an initialization of snake completely inside of the object. Fig.4 (a) represents an initial snake crossing the object boundary. Since in SDPSO particle movement principle relies on several contributing leads, snake elasticity and rigidity, personal and local best experiences, image external force field and center distance, it can still evolve if some of these components are missing or misleading. In fig. 3(b) there is 200 snaxels and center distance weighting parameter r3 is set to 0.00001. In fig. 3(d) number of snaxels is the same and r3=-0.001 for faster convergence. In fig.4 the segment of the initial snake inside the object boundary must expand while its other segment outside of the object boundary must contract to converge to the correct contour. Hence the center distance weighting factor r3 is set to zero to let snake move in both directions. Fig.4 (c) represents a close up view of initial snake on the external force field. It can be seen that at many parts of the initial snake external forces do not exist to guide the particle movement. In this example particle movement is mainly under influence of velocity inertia and local best experience. A set of experiments have been conducted to test the SDPSO stability against different kinds of noises with different settings. Figure 5 reports the results for zero mean white Gaussian noise with variance σ=0.04 added to the image of a filled circle on a gray background. In order to truly determine noise effect, we have used simple gradient filter as image external force instead of Gaussian of gradient functional which has a blurring effect on image. Consequently the external force field, given in fig.5 (e,f), is heavily disturbed by noise and mostly guides the particles in improper random directions. SDPSO algorithm drives the snaxels based on its hybrid snake model/PSO dynamics and as illustrated in fig. 5 (d) converges to the object boundary. Practical utility of proposed model is also studied. Figures 6-8 present the application of SDPSO algorithm for medical (a) (c) (b) (d) Figure 1. Star: (a) initial snake with 60 snaxels, (b) traditional snake model result after 150 iterations, (c) stabilized traditional snake model after 2500 iterations, (d) SDPSO result converged after 150 iterations images analysis. Fig.6 is the MRI of a brain with severe damage. In this experiment number of particles is 120 and gradient of Gaussian is calculated with σ=1. Fig.6 (a) and (c) depict the snake initialization inside and outside of the region of interest (ROI). Detected inner boundary and outer surface of the ROI are given in fig.6 (b) and (d). For inner initialization r3=-0.007 and for outer initialization r3=0.004. Fig.7 is a brain MRI transversal. Number of particles is 84, gradient of Gaussian is calculated with σ=2 and r3=0.003. Fig.8 is a brain CT image. To detect the glioma tumor in this image we have used 40 particles, gradient of Gaussian is calculated with σ=4 and r3=0.005. VI. CONCLUSION AND FUTURE WORKS In this paper, a new PSO based approach has been introduced for active contour searching. The proposed model inherits particle navigation scheme from PSO and modifies it to reflect the requirements of active contour modeling. Combination of PSO dynamics with snake model kinematics capacitates SDPSO to successfully overcome active contour difficulties. More leading components have translated into a robust system which can still evolve if some of components are missing or misleading. Experiment results and comparisons with snake model exhibit several key features f SDPSO including the ability to handle boundary concavities and robustness to noise and local minima. Initial contour can be placed inside, outside or across the object and sensitivity to initial contour position has also been decreased. In addition, the complexity of the model has been drastically reduced by refraining from solving higher order Euler equation. Future research will further extend the SPPSO model to cope with motion, i.e. to track a moving object in video sequences and handle the related issues. Since the intrinsic principle of the introduced model lies in velocity adjustment of particles/snaxels, this extension could have high potentials. REFERENCES [1] Amini, A. A., Tehrani, S. and Weymouth T. E., “ Using Dynamic Programming for Minimizing the Energy of Active Contour in the Presence of Hard Constraints”, Proceedings of the International Conference on Computer Vision, Tampa, FL, pp. 95-99, 1988. [2] Kass, M., Witkin, A. and Terzopoulos, D., “Snakes: Active contour models”, International Journal of Computer Vision, Vol. 1 No. 4, pp. 321-33, 1987. [3] Ballerini, L., “Genetic snakes for medical images segmentation”, Application of Evolutionary Computation, Lectures Notes in Computer Science, Vol. 2037, Springer, Berlin, pp. 268-277, 2001. [4] Ballerini, L. and Bocchi, L., “Multiple Genetic Snakes for Bone Segmentation”, Application of Evolutionary Computing, Springer, Berlin,vol. 2611, pp. 346-356. 2003. [5] Leroy, B., Herlin, I. and Cohen, L. D., “Multi-resolution algorithms for active contour models,” in 12th Int. Conf. Analysis and Optimization of Systems, pp. 58–65, 1996. [6] Park, H., Schoepflin, T., & Kim, Y., “Active contour model with gradient directional information: Directional snake”, IEEE Transactions on Circuits and System for Video Technology, 11(2), pp. 252–256, 2001. [7] Cohen, L. D. and Cohen, I., “Finite-element methods for active contour models and balloons for 2-D and 3-D images,” IEEE Trans. Pattern Anal. Machine Intell., vol. 15, pp. 1131–1147, Nov. 1993. [8] Bresson, X., Esedoglu, S., Vandergheynst, P., Thiran, J.P. and Osher, S., “Fast global minimization of the active contour/snake model”, Journal of Mathematical Imaging and Vision, Vol. 28 No. 2, pp. 151-167, 2007. [9] Davatzikos, C. and Prince, J. L., “Convexity analysis of active contour models,” in Proc. Conf. Information Science and Systems, pp. 581–587, 1994. [10] Xu, C. and Prince, J. L., “Snake, shapes and gradient vector flow”, IEEE Trans.Image Process, 7(3), pp. 359-369, 1998. [11] Li, B. and Acton, S. T., “Active contour external force using vector field convolution for image segmentation”, IEEE Trans. Image Processing, 16(8), pp. 2096-2106, August 2007. [12] Lankton, S., “Sparse Field Methods - Technical Report”, Georgia Institute of Technology, 2009. (a) [13] Williams, D.J. and Shah, M., “A fast algorithm for active contours and curvature estimation”, CVIGP Computer Vision Graphics Image Process: Image Understanding, Vol. 55 No. 1, pp. 14-26, 1992. [14] Zeng, D. and Zhou, Z., “Invariant Topology Snakes Driven by Particle Swarm Optimizer”, Proc. IEEE innovative Computing information and Control-ICICIC, pp. 38-41, 2008. [15] Nebti, S. and Meshoul, S., “Predator prey optimization for snake-based contour detection”, International Journal of Intelligent Computing and Cybernetics, 2(2), pp. 228-242, 2009. [16] Horng, M. H., Liou, R. J. and Wu, J., “Parametric active contour model by using the honey bee mating optimization”, Expert Systems with Applications, Article in press, March 2010. [17] Tseng et al., 2009 A.C. Tseng, J.G. Hsieh and J.H. Jeng, “Active contour model via multi-population particle swarm optimization”, Expert Systems with Applications, 36(3), pp. 5348-5352, 2009. [18] Li. R., Guo, Y., Xing, Y. and Li, M., “A Novel Multi-Swarm Particle Swarm Optimization algorithm Applied in Active Contour Model”, Proc. WRI Global Congress on Intelligent Systems, GCIS '09, pp. 139 – 143, 2009. [19] Caselles, V., Catte, F., Coll, T. and Dibos, F., “A geometric model for active contours in image processing”, Numerische Mathematik, Vol. 66 No. 1, pp. 1-31, 1993. [20] Zimmer, C., Christophe, J. and Marin, O. , “Coupled parametric active contours”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 27 No. 11, pp. 1838-1842, 2005. [21] Kennedy, J. and Eberhart, R. C., “Particle swarm optimization”, In Proceedings of IEEE International Conference on Neural Networks, pp. 1942–1948, 1995. [22] Van den Bergh, F., “An analysis of particle swarm optimizers”, PhD thesis, Department of Computer Science, University of Pretoria, South Africa, 2002. [23] Kyeong, J.M., Tae Kang, H., Lee, H.S., Yoon, Y.S., Lee, C.M. and Ho Park, J. (2004), “Active contour model based object contour detection using genetic algorithm with wavelet based image preprocessing”, International Journal of Control, Automation, and Systems, Vol. 2 No. 1, pp. 100-106. [24] Lam, K.M. and Yan, H., “Fast greedy algorithm for active contours”, Electronics Letters, 1994. (b) (d) (c) (e) Fig. 2. Artificial image. (a) initial snake, (b) traditional snake model result, (c) SDPSO result, (d) external force field, (e) closer view of concave area marked in part (d) (a) (b) (c) (d) Fig. 3. Snake initialization, (a) initial snake outside object, (b) snake shrinks to the boundary, (c) initial snake inside object, (d) snake expands to the boundary (a) (b) (c) Fig. 4. Object crossing initialization, (a) Egg-shape synthetic image with initial rectangle contour, (b) SDPSO snake evolution process, (c) close up view of bottom-left corner of initial contour on external force field. (a) (b) (c) 0 0 0 0 0 0 2 0 3 0 0 4 0 0 5 0 (d) (e) (f) Fig. 5. Noise effect analysis, (a) synthetic input image 100×100 pixel, (b) Gaussian noise, mean=0 and variance=0.04, (c) edge map, (d) convergence of SDPSO snake, (e) external force field, (f) a focused view on external force field (a) (b) (c) (d) Fig. 6. MRI of a brain with right occipital infarction, (a) snake initiated inside ROI, (b) convergence of inner snake, (c) snake initiated outside ROI, (d) convergence of outer snake (a) (b) Fig. 7. MRI of brain transverse section, (a) initial snake, (b) SDPSO result (a) (b) Fig. 8. Brain CT image, (a) initial snake, (b) SDPSO result
© Copyright 2026 Paperzz