Application of Particle Swarm Optimization and Snake

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