applies little pressure on the population since even
the less fitted individuals could provide important
data for the optimization. A complete analysis on the
selection operator can be found on (Baker, 1989).
It was chosen to use a selection by lineal ranking
because it allows offspring from most part of the
population depending on a parameter. The first
step is to order the individuals according to their
fitness’s and calculate a new fitness based on the
function
′
()
=−
()
for =0…
−1
(8)
This assigns a value of to the less fitted
individual and a value close to
for the best
one.
Once
has been computed, a roulette selection
is used to decide on the parents that will give rise to
the new offspring. Additionally, the selection can be
set to be elitist, that is, to preserve some of the best
fitted individuals in order to maintain the minimum
fitness stable.
3.3.2 Crossover
Crossover refers to the operation of exchanging
information with a certain probability between two
individuals, namely parents. Many crossover
methods are described in (Chambers, 1995). Given
the short length of the chromosome used in this
work, a single point crossover has been chosen, with
the crossing point chosen randomly. However, to
introduce new information, the crossover model
introduced by (Radcliff, 1991) has been applied as
well. This model considers adding a random variable
to each gene based on the data from their parents,
this is
=
+(1−)
(9a)
=
(1−)+
(9b)
where
and
represent the values for the new
genes, is the random variable within the range
[0,1] and
and
are the current values of the
genes from the first and second parents, respectively.
3.3.3 Mutation
Like crossover, mutation is a critical operator for the
correct execution of a GA. Mutation introduces new
information and can be determining to converge to
the global optimum. Under mutation, each gene has
a probability of changing its value.
In binary coding, mutation consists on changing
1’s to 0’s and vice versa. A continuous coding
requires adding or subtracting a random value from
the current value of the gene within a given range.
This work considers a dynamic range of mutation,
based on the maximum fitness value and the overall,
the new value for the gene
will be given by
=·2−
−1−
(10)
where is again a random variable whose range
depends on the nature of the gene (rotation or
translation), is the current generation,
is the
average fitness of the previous generation, and
is the maximum fitness of the previous generation.
The constant 2is selected so that the new value is
constraint within the interval [0, 2], being the first
expected in the later generations.
An analysis on the advantages of choosing a
dynamic mutation model is better explained in
(Chow, 2004).
4 EXPERIMENTAL RESULTS
The proposed method was tested on three different
sets: a) a simulated surface generated and sectioned
in MATLAB, b) a model acquired by projecting
fringes over a surface and sectioned in MATLAB
and c) a model acquired by the same means as b)
and fully reconstructed to compare with the
reconstruction obtained with a commercial 3D
scanner.
4.1 Computer Simulated Surface
First, a graphic was generated using the function
PEAKS with a size of 200×200 which then was
sectioned in a floating and a fixing cloud, each one
formed by 125 pixels. Both surfaces were
standardized to a range [-0.5, 0.5] in their x and y
axis and to [-1, 1] in their z axis.
After standardizing, the floating cloud was
transformed with random parameters as mentioned
in Eq. (4a). The rotations were within the range
[-120, 120] and the displacements in [-1, 1].
The experiment was repeated ten times, of which
three are shown in Table 2. The error is measured as
the total average distance between the overlapping
points. A result of one of the experiments is shown
in Figure 3.
4.2 Real Surface Synthetically
Sectioned
A frontal view of a real surface was digitalized using
FEC 2011 - Special Session on Future of Evolutionary Computation
550