A Multi-Scale Particle Swarm Optimization (PSO

advertisement
A Multi-Scale Particle Swarm Optimization (PSO)
Approach to Image Registration
Yang Chen*, Yuri Owechko, and Swarup Medasani
Information Science and Systems Laboratory
HRL Laboratories, LLC, Malibu, California, USA
Abstract – We formulate the image registration problem as a
search for optimal registration transformation parameters,
and show how to use Particle Swarm Optimization (PSO) to
optimize an objective function in a multi-dimensional
parameter space efficiently. Compared with traditional image
registration approaches, which are “open-loop” algorithms,
the proposed approach uses registration quality feedback loop
to drive the parameter search while avoiding potential
problems common to open-loop algorithms, namely feature
detection, matching and transformation parameter estimation.
Furthermore, we show that using a coarse-to-fine multi-scale
representation for registration with PSO can lead to better
convergence and lower computation cost than using only
single scale images. Examples demonstrating all aspects of
the proposed approaches are given.
Keywords: image registration, particle swarm optimization,
multi-scale image processing
1
Introduction
Image registration refers to the process of aligning two
images taken of the same scene from different positions,
different times or using different cameras. For convenience,
we call one of the image the reference image, and the second
image the test image that is to be registered with the reference
image. A typical process of registration, as shown in Figure 2,
involves selecting features from the images, matching the
features between the images, estimating the transformation
model, and finally transforming one of the images into the
coordinates of the other image [11].
Reference
Image
Test
Image
Feature
Detection &
Selection
Feature/
Region
Matching
Transformation
Model
Estimation
Image
Transformation
Registered
Images
Figure 2. Flow diagram of a typical image registration
process.
There are many existing approaches to image registration
[11], but a common draw-back with these approaches is that
the feature matching, transformation model estimation and the
final registration transformation processes are all separate,
therefore the quality of final image registration does not have
any effect on the matching and estimation of the
transformation model. Secondly, due to the errors in feature
*
Author contact information: ychen@hrl.com
Transformation
Parameters
Robust Swarm
Optimizer
Registration
Transformation
Generation
Reference
Image
Test
Image
Feedback Loop
Implemented Using
Particle Swarm
Optimization (PSO)
Registration
Evaluation
Image
Transformation
Registered
Images
Feature
Detection/
Selection
Figure 1. Flow diagram of image registration using
Particle Swarm Optimization (PSO).
detection and matching, transformation model (the
parameters) estimation can become problematic, and often
there is no easy way to find which step or steps is to blame in
such open-loop approaches. As the transformation model
becomes more complex (e.g., involving more parameters for
more complex form of transformation), finding a consistent
set of transformation parameters that gives rise to an accurate
registration becomes more difficult.
Our approach to these problems is to use a closed-loop
approach and formulate registration as a search problem. We
use Particle Swarm Optimization (PSO) [1] to search for a set
of consistent registration transformation parameters for the
transformation model (Figure 1). PSO is a search algorithm
that can be used to optimize an objective function in a multidimensional space efficiently. PSO guides the swarm
particles, which represent the transformation parameters in
our case, to potentially optimal positions through a process
mimicking the social interactions occurring in many species
in nature. In our PSO based registration approach, the
objective function can be easily defined based on the final
registration state (such as image correlation or difference).
Furthermore, there is no need to perform complicated
transformation model estimation, as the transformation
generation is always a forward operation. Finally, since the
sole purpose of feature detection and selection is for the
evaluation of registration quality (and not for matching as is
the case in conventional registration approaches), this process
can be greatly simplified. For example, in this paper, only the
test image needs to go through feature detection/selection.
To further improve the performance of our PSO based
registration algorithm, we introduce a multi-scale PSO image
The rest of the paper is organized as follows. We first
introduce PSO in Section 2, and then in Section 3, we give
detailed description of our approach to image registration
using PSO. In Section 4 we introduce a number of techniques
and modifications to the traditional PSO for improving how
PSO works for image registration. Finally in Section 5, we
describe multi-scale approach to image registration using
PSO. We give concluding remarks in Section 6.
2
Particle Swarm Optimization
Particle Swarm Optimization is a simple but powerful
population-based algorithm that is effective for optimization
of a wide range of functions [1]. PSO models the exploration
of multi-dimensional solution space by a “swarm” of agents
where the success of each agent has an influence on the
dynamics of other members of the swarm (Figure 3).
PSO has its roots in theories of social interaction. Each
“particle” in the swarm resides in a multi-dimensional
solution space. The positions of the particles represent
candidate problem solutions, or in the case of wireless
networks, vectors of multi-node parameter values. Each
particle also has a velocity vector that allows it to explore the
space in search of the objective function optima. (PSO should
not be confused with particle filters, a completely different set
of algorithms that estimate probability distributions for
tracking and localization applications.) Each particle i keeps
r
track of the position vector yi that represents the current best
solution it has found. Another position vector yr g is used to
store the current global best solution found by all of the
particles. The velocity and position vectors for particle i are
then changed probabilistically according to a set of simple
dynamic update equations:
r
r
r
r
r
r
vi (t + 1) = wvi (t ) + c1q1 ( yi (t ) − xi (t )) + c2 q2 ( y g (t ) − xi (t ) ) (1)
r
r
r
xi (t + 1) = xi (t ) + χ vi (t + 1)
r
r
where xi (t ) and vi (t ) are the position and velocity vectors at
time t of the i-th particle and c1 and c2 are parameters that
weight the influence of the “individual best” and “swarm
best” terms. w is a momentum constant that prevents
premature convergence. χ is the constriction factor which also
influences the convergence of PSO. q1 and q2 are random
variables that allow the particles to better explore the solution
space. The dynamics causes the swarm to concentrate on
promising regions of solution space very quickly with very
sparse sampling of the solution space.
Parameter n
registration approach, in which both the reference and the test
images are represented using Gaussian pyramids. PSO
optimization starts at the top (lowest resolution) and gradually
descent the scale levels as the PSO approaches the optimal
solution. This approach has the advantage of increasing the
PSO convergence rate and reducing the overall computation
requirements.
Pi
• Each particle in the swarm balances
global cooperation with other particles
with local exploration to efficiently find
solutions to high-dimensional
optimization problems
vi
• New paradigm for optimization
• Biological parallels: individual's
cognition combined with social
interaction (individual knowledge
combined with group knowledge)
Figure 3. Particle Swarm Optimization (PSO) [1]
Although PSO is a relatively new area of research, extensive
literature already exists that documents its efficiency and
robustness as an optimization tool for high dimensional
spaces [2, 8]. Both theoretical analysis and practical
applications show that PSO converges to good solutions for a
wide range of parameter values [3-7]. The evolution of good
solutions is stable in PSO because of the way solutions are
represented, e.g. small changes in the representation result in
small changes in the solution.
3
PSO for Image Registration
3.1 Registration Model and PSO Parameter
Space
We now describe our registration transformation model. For
convenience, we call one of the image a reference image, and
the second image the test image. The typical process of
registration involves translating, rotating and scaling the test
image so that it aligns with the reference image. For
simplicity, we consider registration involving only translation
and rotation, but the same procedure can be used for
registration model involving more parameters and more
complex forms as long as the transformation determines a
unique correspondence for every pair of points between the
reference image and the test image. Our registration transform
model can be represented as
⎡ x⎤
⎡u ⎤ r
⎡ cos(θ ) sin(θ ) ⎤ r ⎡t x ⎤
⎢ y ⎥ = R ⎢ v ⎥ + t , R = ⎢− sin(θ ) cos(θ )⎥, t = ⎢t ⎥
⎣ ⎦
⎣ ⎦
⎣
⎦
⎣ y⎦
(2)
r
where R is a rotation matrix and t a translation vector, (x, y)
and (u, v) are the image coordinates in the reference and test
image, respectively. Therefore, the image registration
transformation is completely specified by a vector of 3
parameters:
[
r
x=θ
tx
ty
]
T
(3)
As can be seen from the last section, to register two images in
r
our case is to find the vector x that will align the two images
r
according to Eq. (2). The vector x contains the parameters in
PSO framework.
Next we will define the objective function J which is required
by PSO.
3.2
Objective Function
The objective function J for our PSO algorithm must exhibit
either maximum or minimum value when two images are
aligned or registered. There are many different choices based
on image similarity, such as (normalized) cross-correlation,
sum of squared difference (SSD), or one based on mutual
information (for images from different sensor modalities)
[11]. Any of these would be sufficient for demonstrating the
effectiveness of PSO for registration, but we choose to use
SSD of the two images for its simplicity. In addition, we
normalize the sum by the number of pixels involved in the
operation so the result becomes independent of the size of
overlap (only overlapping areas are used for computing the
difference) of the two images. Lastly, to reduce computation,
we take only a fixed number of small windows in the test
image. These image windows become the features as
described in Section 1. We use their transformed versions to
compute the difference from the reference image, which
reduces the computation of the objective function compared
with using the entire image. For the k-th window of the test
image, we define its contribution, sk , to J as:
s k = ( I max − d k )
(4)
where d k is the average absolution difference between the
test image window (at the location after transformation) and
the reference image; and I max >0 is the maximum pixel value
of the image (e.g., for 8-bit gray scale image, I max = 255).
The d k can take values in [0, I max ], sk also has a range of [0,
I max ] with 0 meaning the test image window doesn’t match
the corresponding reference image window at all (or doesn’t
overlap with the reference image), and I max means the test
image window matches pixel by pixel of the reference image,
and completely overlap with the reference image. Finally we
define the objective function as the weighted average of sk :
⎛1
J =⎜
⎝N
N
∑λ s
k =1
k
k
⎞ ⎛1
⎟=⎜
⎠ ⎝N
N
∑λ
k =1
k
⎞
( I max − d k ) ⎟
⎠
(5)
where λk is the fraction of overlap of k-th window of the test
image and the reference image, N is the number of test image
r
windows we have. J is a function of x (see Eq. (3)) and is to
be maximized having a range between 0 and I max .
The image windows from the test image used to compute J
are chosen from areas with contrast rather than uniformly
colored areas so as to produce large d k when the images are
not aligned, and their locations should be distributed evenly
across the image. Examples of such image windows are areas
containing edges or texture. A simple approach is to take
image windows on a regular grid, and select those windows
that pass image contrast criteria, which can be based on image
histogram.
Test Image
Reference
Image
Gaussian
Filter
Gaussian
Filter
Select
Windows
Re-center
Windows
PSO Framework
Evaluate
r
J ( xi (t ))
r
xi (t )
Initialize
Swarm
t←0
Update
Particle
Locations
⎡ θ min ⎤
⎡ θ max ⎤
⎢
⎥ r
⎥
⎢
⎢t x,min ⎥ ≤ xi (0) ≤ ⎢t x,max ⎥
⎢t
⎥
⎢t y ,max ⎥
⎦
⎣
⎣ y ,min ⎦
t ← t+1
r
Yes
abs(max ( J ( xi (t ))) − I max )
i
≤ errGoal
r
argr max( J ( xi (t )))
xi ( t )
is the solution
No
t > max
iterations
Yes
No solution
found (did not
converge)
No
Figure 4. Flow diagram of image registration using PSO
3.3
Registration Using PSO
Figure 4 shows a more detailed flow diagram of image
registration using PSO outlined in Figure 1. Still we only
show the major, relevant blocks of PSO. More detailed PSO
algorithm is described in Section 2 “Particle Swarm
Optimization” or in references [1, 2]. The “Gaussian Filter”
boxes apply a Gaussian kernel to blur input images to achieve
better convergence (Section 4.1 “Blurring the Images for
Better Convergence”). The “Select Windows” box selects a
set (typically 10 to 20) of image windows (e.g., 64 by 64 in
size depending on test image size) from the test image
(Section 3.2 “Objective Function” for more on window
selection). In “Re-Center Windows” block, the image
windows are first re-centered by applying a translation such
that the center-of-gravity of the set of windows coincides with
the image center of the reference image. Re-centering the
image windows makes swarm initialization easier as we can
keep the lower and upper limit of swarm parameters in
translation symmetric. That is, the translation for tx and ty (see
Eq. (3)) can be bound as follows:
t x ,min ≤ t x ≤ t x ,max , t x ,max = −t x ,min ≡< reference image width >
(6)
t y ,min ≤ t y ≤ t y ,max , t y ,max = −t y ,min ≡< reference image height >
In practice we can even narrow the above bounds by half to
achieve more efficiency, but the bounds specified above is the
most we will need.
For rotation angle θ (see Eq. (3)), we have
−π ≤θ ≤ π
(7)
Note that we must treat the entire 2π span for θ as a
continuous region with no boundaries so that a particle with
θ nearing π can move into − π region and vice versa.
The PSO process for image registration works as follows.
During initialization, a fixed number of swarm particles
r
T
x = [θ t x t y ] are randomly placed in 3D space bound by the
Equations (6) and (7). In each iteration, the positions of the
particles are updated according to Eq.(1), then the objective
r
function J ( xi (t )) is evaluated at the location of every swarm
particle, xri (t ) = [θ i (t ) t x ,i (t ) t y ,i (t )]T . Then the individual best
and swarm best are updated (see Section 2 “Particle Swarm
Optimization”). The swarm best max ( J ( xri (t ))) is compared
i
with the goal, I max , we want to achieve. If the swarm best
reaches within errGoal (errGoal > 0) of I max , we consider the
registration is complete, and the particle location for
achieving the swarm best, arg max( J ( xr (t ))) , is the answer we
i
r
xi ( t )
are seeking. Otherwise, we go on to the next iteration of
updating swarm particles (Eq. (1)), until a preset number of
iteration has been reached, in which case we consider the PSO
not converging and the registration has failed.
3.4
Example
Shown in Figure 5 are the swarm particles at the beginning
and end of a typical application of PSO for registration.
Shown in Figure 6 are two images to be registered. The
reference image is on the top, and the test image is at the
bottom which is a rotated version of the reference image.
Figure 6. Sample reference image (top) and a rotated
version (bottom) as test image with manually selected
image feature windows indicated by the boxes.
Figure 7 shows the result of registering the two images in
Figure 6, with 100 swarm particles and errGoal of 15.
Current
and global
best
Figure 7. The result of registration of the images in
Figure 6 by super-imposing the transformed test image
over the reference image and blending the intensity of
the two in the overlap region.
4
Improvements
4.1 Blurring the Images for Better Convergence
Figure 5. Swarm for image registration. Shown on the top
are the swarm particles at the beginning of the registration,
with the best location of current iteration and of all
iterations so far indicated by the arrow. At the bottom is
the swarm distribution at the final iteration for this
example when the swarm is concentrated near the optimal
location.
In order to increase the chance of convergence and therefore
finding the true registration, we would like to have an
objective function J whose surface has a broad base but sharp
peak at the optimum. When the image content contains large
amount of fine details, the peak of J is usually very sharp, but
the base is not broad enough, which will adversely affect
PSO’s success. For this reason, we pass both the reference
and the test images through a Gaussian kernel (low-pass
filter) to broaden J’s surface. Figure 8 shows how the
objective function surface looks like in various dimensions.
When images are blurred before registration, the convergence
property of PSO process is improved. However, the peak of
the objective function surface also becomes “dull” which can
result in reduced accuracy in registration. This problem can be
mitigated by replacing the blurred images with the original
images or less blurred images after the PSO process has
closed in on the optimal solution. Another approach is to use
image pyramid (see Section 5 for details).
We typically use a Gaussian kernel with σ=1.5 to 5.0 to filter
the images before registration (Figure 4).
α = [π
t x ,max
t y ,max
]
T
(9)
where t x , max and t y , max are defined in Eq. (6). Then α is
used when the objective function (Eq. (5)) is evaluated as
follows:
r
(10)
J (α • xi (t ))
where the operator “•” stands for entry-wise (Hadamard)
product.
4.3 Limiting Maximum Speed in Each
Dimension
In image registration application described in this paper, the
objective function surface near the peak has a certain width in
each dimension; particles moving too fast may miss the
chance of landing in the peak region during the update. For
this reason, we impose a limit to the speed of a particle in
each of the particle’s dimensions (parameters) before using
the speed vector to update the swarm particle position
according to Eq. (1). That is,
Figure 8. Surface plot of objective function J for a sample
image when the images are blurred by a 31x31 Gaussian
kernel of σ=5. The test image in this case are the same
image with windows picked by hand at 14 different
locations. The top two pictures show the surface of J with
no rotation, the lower-left picture shows two cross
sections of J as shown in the top images, and the lower
right picture shows J along the rotation dimension at 0
off-set.
4.2
Normalized Parameter Space
r
For image registration, the parameter space x (Eq. (3)) is
different in each dimension, two in translations, and one in
rotation. In order to make updating particles easy, we adopt an
alternative parameter space in which all dimensions of
r
parameter x are normalized to [-1, 1], accompanied by a
vector of scale factors, one for each dimension. PSO updating
(Eq. (1)) is carried out in the normalized parameter space, and
the particle positions are scaled using the scale factors before
the objective function is evaluated. This way, we can update
the swarm particle positions in all dimensions uniformly, and
also easily change the actual parameter space by changing the
scale factor vector. This is especially handy in the registration
using an image pyramid (see Section 5).
With normalized parameter space scheme, the PSO update
equations Eq. (1) do not change, but the bounds for the
parameters (Eq. (6) & (7)) become:
⎡− 1⎤
⎡1⎤
⎢− 1⎥ ≤ xr ≤ ⎢1⎥
i
⎢ ⎥
⎢⎥
⎢⎣− 1⎥⎦
⎢⎣1⎥⎦
with the following vector of scale factors
(8)
r
r
vi (t + 1) ← ⎡vi (t + 1)⎤vrmax
(11)
where the operator ⎡•⎤ defines a vector component-wise
limiting operation such that the result of cr = ⎡ar ⎤br
r
( b = {b j b j > 0, ∀j} ) is defined as
⎧ b j , if a j > b j ⎫
⎪
⎪
c j = ⎨− b j , if a j < −b j ⎬, ∀j
⎪ a , otherwise ⎪
⎩ j
⎭
(12)
From Eq. (11) the update equations Eq. (1) become
r
r
r
r
r
r
vi (t + 1) = ⎡wvi (t ) + c1q1 ( yi (t ) − xi (t ) ) + c2 q2 ( y g (t ) − xi (t ) )⎤ r (13)
v max
r
r
r
xi (t + 1) = xi (t ) + χ vi (t + 1)
where vrmax is a vector of (positive) particle speed limits. For
the parameter space (Eq. (3)) in this paper, we have
r
T
(14)
vmax = vθ max v x max v y max
[
]
r
where each of the vector components of v max is equal to half
of the (normalized) peak width of the objective function
surface along the corresponding dimension (see Figure 8),
which can be determined empirically.
r
Note in the above, the vmax components are all expressed in
normalized parameter space as are the update equations Eq.
(13).
5
Registration Using Image Pyramid
Earlier we discussed blurring the reference and test images in
order to broaden the objective function surface to achieve
better convergence property (see Section 4.1 “Blurring the
Images for Better Convergence”). Blurring an image reduces
the effective resolution of an image, and sub-sampling the
blurred image will not loose any more information if done
appropriately. Therefore we can achieve the same registration
performance on the blurred image by carrying out the PSO
process on a blurred, sub-sampled image. Once we achieve
convergence on the sub-sampled image, we can move back to
the original-sized image to get better registration accuracy.
This idea becomes the basis of a pyramid based multi-scale
registration method using PSO.
the optimum and allow the swarm to explore finer details
of the objective function space at next level. Accuracy is
achieved at Level 1, and is not the objective at higher
levels.
•
Convergence criteria. The registration process is given a
threshold, errGoal (see Section 3 “PSO for Image
Registration”), for the original image at Level 1. For
levels other than the Level 1, we relax that threshold by
increasing the threshold 1.5 times at each successive
level. Thus the set of thresholds for a 4-level pyramid
situation would be errGoal, errGoal*1.5, errGoal*1.52,
and errGoal*1.53 for levels 1 to 4 respectively.
By relaxing convergence threshold at higher levels (i.e.,
increasing the threshold value), we will reach
“convergence” with fewer iterations in PSO. This is
appropriate at higher levels because at these levels all we
need is to guide the swarm towards the neighborhood of
Gaussian
Filter
Gaussian
Filter
Generate
Image
Pyramid
Generate
Image
Pyramid
Initialize
swarm for
Level N, l=N
PSO at
level l with
errGoall
Update scale
factor &
convergence
threshold
l ← l -1
Did PSO converge?
No
No solution
found (did not
converge)
Yes
l=1?
Yes
r
arg rmax ( J (α • xi (t )))
α • xi ( t )
is the solution
No
Figure 9. Block diagram for the pyramid based image
registration using PSO. The high-lighted box at the center
corresponds to the PSO framework core (i.e., items inside
the dashed block) in Figure 4. N is the number of levels in
the image pyramids, which is 4 in our example.
Next, the image windows for the test images are extracted
from the test image pyramid starting at Level 1. The same set
of image windows are then selected from the remaining levels
of the test image pyramid at the corresponding size (reduced
to a half, a quarter and so on in each dimension) and at the
corresponding locations as we move up the pyramid. The set
of image windows from test image pyramid always cover the
same image areas no matter their sizes and levels in pyramid.
Here are a few details of the process outlined above.
Reference
Image
Select/
Re-center
Windows
The multi-scale image registration starts with building
Gaussian pyramids for the reference and test images. Starting
at Level 1, each image is filtered with a Gaussian kernel of
size 5 by 5 and σ =1.0, and sub-sampled at 2:1, resulting in an
image for Level 2 that is half the size in each dimension as the
original image at Level 1. The same process is repeated on
Level 2 image and so on to generate as many levels as needed
depending on the size of the final image at the top level. In
our tests, we have used 4 levels including the original image.
Registration with the image pyramid starts at top level (Level
4) of the pyramid, using the test image windows at that level
and the reference image at the same level, following the same
process as depicted in Figure 4 (except that the Gaussian
Filters are applied to the original image at Level 1 there).
When the process converges at a level of the pyramid, we
move down the pyramid one level, and continue the PSO
process carrying the swarm and their states (locations,
velocities, and the swarm/own best) from the previous
pyramid level. This process is repeated until we reach
convergence at Level 1, at which point the corresponding
solution from PSO is the final solution.
Test Image
If PSO failed to reach convergence after a preset number
of iterations at any levels, we consider the entire
registration has failed. However, since we have relaxed
the thresholds at higher levels, it is much less likely that
the registration will fail at higher level.
•
Swarm transition from high to low levels. When PSO
converges at a higher level, we move to the next lower
level and continue the PSO process with the swarm
particles at their corresponding locations and velocities at
the last level. Since we have adopted normalized
parameter space for PSO (see Section 4.2 “Normalized
Parameter Space”), we do not need to do anything special
for the swarms. All we need to take care of are switching
to the reference image and test image windows at the new
level, and the new scale factor vector (Eq. (9)) for
objective function evaluation (Eq. (10)).
•
Objective function evaluation. The evaluation of
objective function (Eq. (10)) is carried out using the
reference image and the test image windows at same
image pyramid levels. Because we used normalization in
the objective function definition (Eq. (5)), the function
value achieves comparable values no matter what levels
of the image pyramid we are at. This property makes
defining the convergence thresholds outlined above easy.
A block diagram of the PSO image registration process using
image pyramids is shown in Figure 9 in which the core PSO
framework shown in Figure 4 corresponds to the high-lighted
box in the middle.
We tested this approach with the example images shown in
Figure 6 for a set of random simulation runs to quantify the
benefits of this approach. The same reference image and the
same set of test image windows are used for 200 runs (for
each run, the test image is initialized at a random
translation/rotation with respect to the reference image).
Table 1 summarizes the performance results of pyramid based
vs. non-pyramid based PSO registration methods. The main
benefits of using image pyramid based registration with PSO
are:
•
•
6
Improved convergence rate. Because we start at a lowresolution image at the top of the image pyramid, the
objective function surface has a broader peak relative to
the image size, which offers better chance for the swarm
to find the optimum. As can be seen from Table 1, the
pyramid based registration has 165 of 200 of the runs
converged, whereas the non-pyramid based approach has
148 runs converged.
Reduced computation requirement. In the image pyramid
based registration, most of the objective function
evaluations are carried out in the higher levels (lower
resolutions) with smaller image window sizes, with a
fraction of the computational cost of using the full
resolution images. Table 1 shows that the pyramid-based
approach achieves better convergence rate than nonpyramid based approach at similar number of total
iterations from all levels, which means a significantly
lower computational cost for the pyramid based
approach.
Conclusion
In this paper, we presented a new multi-scale image
registration approach based on PSO. Using PSO for image
registration formulates the problem of registration as one of
multi-dimensional search for an optimal solution that
optimizes the quality of image registration. This approach has
the advantages of not requiring complicated image feature
detection, matching or transformation model estimation, all of
which pose significant problem of their own in a traditional
image registration approach. In the approach presented in this
paper, the only image feature used is small windows of image
that contains some structure (such as edges or texture). To
further improve the performance of image registration using
PSO, we introduced image pyramids where the PSO image
registration algorithm starts at the top of the pyramid and
gradually move down the levels as PSO closes in on the
optimal solution. This approach has been shown to have two
simultaneous advantages, increased convergence probability
and reduced computation cost compared with single-scale
PSO image registration. Both aspects are shown through
Monte-Carlo simulations of hundreds of test cases with
random initial states.
7
References
[1] R. C. Eberhart and Y. Shi, “Particle Swarm
Optimization: Developments, Applications, and Resources,”
Table 1. Summary of comparisons of image pyramid
based registration vs. non-pyramid method. Pyramid
based approach achieves better convergence rate at
almost the same number of total iterations which also
means significantly reduced computation required for
finding the solution.
Median total
errGoal # of # of runs
iterations until
threshold runs converged
convergence
Original Images
10
200
148
15
4-Level
10
200
165
16
Pyramids
Image/Pyramid
Proceedings of IEEE Congress on Evolutionary Computation
(CEC 2001), Korea, 2001.
[2] Special issue of IEEE Trans. on Evol. Computation on
Particle Swarm Optimization, Vol. 8, No. 3, June, 2004.
[3] S. Medasani and Y. Owechko, “Possibilistic Particle
Swarms for Optimization,” Proceedings 5673 of SPIE/IST
Symposium on Electronic Imaging, San Jose, 2005.
[4] Y. Owechko, S. Medasani, and N. Srinivasa, “Classifier
Swarms for Human Detection in Infrared Imagery,” IEEE
Conference on Computer Vision and Pattern Recognition,
Washington, D.C., 2004.
[5] Y. Owechko and S. Medasani, “A Swarm-Based
Volition/Attention Framework for Object Recognition,” IEEE
Conference on Computer Vision and Pattern Recognition,
San Diego, 2005.
[6] Y. Owechko and S. Medasani, “Cognitive Swarms for
Rapid Detection of Objects and Associations in Visual
Imagery,” IEEE Swarm Intelligence Symposium, Pasadena,
2005.
[7] P. Saisan, S. Medasani, and Y. Owechko, “Multi-View
Classifier Swarms for Pedestrian Detection and Tracking,”
IEEE Conference on Computer Vision and Pattern
Recognition, San Diego, 2005.
[8] R. Hassan, B. Cohanim, and O. de Weck, “A
Comparison of Particle Swarm Optimization and the Genetic
Algorithm,” AIAA Conference, 2005.
[9] J. F. Schutte, J. A. Reinbolt, B. J. Fregly, R. T. Haftka,
and A. D. George, “Parallel Global Optimization with the
Particle Swarm Algorithm,” Int. J. Numerical Methods in
Engineering, 61:2296-2315, 2004,
[10] J. Kennedy and W. M. Spears, “Matching Algorithms to
Problems: An Experimental Test of the Particle Swarm and
Some Genetic Algorithms on the Multimodal Problem
Generator,” Proceedings of IEEE Inter. Conf. on
Evolutionary Computation, 78-83, 1998.
[11] Barbara Zitova and Jan Flusser, “Image registration
methods: a survey,” Image and Vision Computing 21, pp.
977–1000, 2003.
Download