Pre-registration of arbitrarily oriented 3D surfaces using a genetic algorithm
Evgeny Lomonosov, Dmitry Chetverikov ∗,1 , Anik´o Ek´art Computer and Automation Research Institute Budapest, Kende u.13-17, H-1111 Hungary and E¨ otv¨ os Lor´ and University, Budapest
Abstract This paper reports on a successful application of genetic optimisation in 3D data registration. We consider the problem of Euclidean alignment of two arbitrarily oriented, partially overlapping surfaces represented by measured point sets contaminated by noise and outliers. Recently, we have proposed the Trimmed Iterative Closest Point algorithm (TrICP) [1] which is fast, applicable to overlaps under 50% and robust to erroneous and incomplete measurements. However, like other iterative methods, TrICP only works with roughly pre-registered surfaces. In this study, we propose a genetic algorithm for pre-alignment of arbitrarily oriented surfaces. Precision and robustness of TrICP are combined with generality of genetic algorithms. This results in a precise and fully automatic 3D data alignment system that needs no manual pre-registration.
Key words: 3D Registration, Point Sets, Data Alignment, Genetic Algorithms
∗ The corresponding author. Email address:
[email protected] (Dmitry Chetverikov). 1 Supported by the Hungarian Scientific Research Fund (OTKA) under grant T038355 and the EU Network of Excellence MUSCLE (FP6-507752).
1
Introduction
In this study, we use a genetic algorithm to solve the problem of Euclidean alignment of two arbitrarily oriented, partially overlapping measured surfaces in presence of noise and outliers. This task is important in various application areas such as 3D model acquisition (reverse engineering, scene reconstruction) and motion analysis, including model-based tracking. An overview of recent applications can be found in [2]. Given two 3D point sets, the data set P = N m {pi }1 p and the model set M = {mi }N 1 , the task is to find the Euclidean motion that brings P into the best possible alignment with M. For an Euclidean motion with rotation matrix R and translation vector t, the transformed points of the data set are denoted by pi (R, t) = Rpi + t,
N
P(R, t) = {pi (R, t)}1 p
(1)
We define the distance from a data point pi (R, t) to the model set M as the distance to the closest point of M: di (R, t) = kmcl (i, R, t) − pi (R, t)k,
(2)
where mcl (i, R, t) = arg min km − pi (R, t)k. m∈M
The Iterative Closest Point (ICP) algorithm introduced by Besl and McKay [3] is a popular solution to the alignment problem in the case of roughly preregistered surfaces. ICP has the following three main steps. (1) Correspondence: Pair each point of P to the closest point in M. (2) Optimal transformation: Calculate the Euclidean transformation (motion) that minimises the mean square error, MSE, between the paired points. (3) Motion: Apply the optimal motion to P and update the MSE. The three steps are iterated. The iterations always converge in terms of the objective function, MSE, which is the mean of the residuals d2i (R, t) for all i. The original ICP algorithm assumes outlier-free data and P being a subset of M, in the sense that each point of P has a corresponding point in M. In practice, these conditions are often not fulfilled. In particular, building a complete model from partial measurements usually involves working with outliers and partially overlapping data. The overlap, that is, the ratio of the points that can be paired, is a critical parameter. ICP assumes that the overlap is 100%, which is rarely true. Providing a good estimate of the overlap parameter results in better robustness and more efficient use of the available data. It is obvious that only the overlapping data should be used for alignment.
Using outliers, or correct but non-overlapping data, leads to artificially large residuals that spoil the cost function and the alignment. On the other hand, using only a small part of the data well below the true overlap is no solution either, as the most informative, characteristic part of the data can simply be lost. Often, finding this informative part is not easy. To achieve high accuracy and robustness, a good strategy is then to use as much overlapping data as possible. Numerous attempts have been made to robustify ICP by rejecting wrong pairs. In particular, robust statistics have been applied [4], such as the Least Median of Squares (LMedS) and the Least Trimmed Squares (LTS). Recently, we have proposed the Trimmed Iterative Closest Point algorithm (TrICP) [1] which is fast, applicable to overlaps under 50% and robust to erroneous and incomplete measurements. An important feature of the algorithm is its convergence that can be proved similarly to that of ICP. Let us briefly summarise the operation of TrICP. Denote the overlap by ξ. Then the number of points in P that can be paired is Npo = bξNp c. TrICP finds the Euclidean transformation that brings an Npo point subset of P into the best possible alignment with M. The algorithm uses the least trimmed squares instead of the MSE. At each iteration, Npo points with the least residuals are selected, and the optimal motion is calculated for this subset so as to minimise the trimmed MSE Npo 1 X d2 , e= Npo i=1 i:Np N
where {d2i:Np }1 p are the sorted distances: d21:Np ≤ d22:Np ≤ . . . ≤ d2Npo :Np ≤ . . . ≤ d2Np :Np . The subset of the Npo paired points is updated after the motion. When the overlap ξ is unknown, it is set automatically by running TrICP for different values of ξ and finding the minimum of the objective function Ψ(ξ, R, t) =
e(ξ, R, t) , ξ 1+λ
(3)
where λ ≥ 0 is a preset parameter. (We use λ = 2.) Ψ(ξ, R, t) minimises the trimmed MSE while trying to use as many points as possible. Without ξ −(1+λ) , it would tend to minimise the overlap since e(ξ, R, t) → 0 as ξ → 0. In [1], Ψ(ξ, R, t) is minimised using the the Golden Section Search algorithm [5]. This solution for finding the overlap works quite well, but depending on the expected range of the overlap ξ, it may require running TrICP many
times as different values of ξ are tested. Also, it assumes that Ψ(ξ, R, t) has a single minimum in the tested range of ξ, which has not been proved. Iterative registration methods like ICP and TrICP work with roughly preregistered sets: the relative rotation of the two sets must be small for the iterations to converge to a good alignment. Often, the two sets are pre-registered manually, then an iterative algorithm is applied to obtain a precise solution. In other studies, the pre-registration is done automatically using shape features [6]. However, this assumes that such features can be reliably detected, which is not always the case. In this study, we combine precision and robustness of TrICP with generality of genetic algorithms. Arbitrarily oriented datasets are considered and no manual pre-registration is needed. We propose a novel and elegant solution in which a genetic algorithm estimates the six Euclidean parameters simultaneously with the critical overlap parameter of TrICP. The complete alignment is performed in two steps. First, a GA searches for pre-registration of the two data sets while tuning the overlap. The result of the GA is then refined by TrICP. This results in a general, precise and fully automatic alignment system. In this paper, we concentrate on the genetic pre-alignment; TrICP is presented in detail in [1]. The structure of the paper is as follows. In the next section we discuss previous work on the use of genetic algorithms in 3D data registration. In section 3 we present the proposed genetic pre-alignment algorithm and give important details of its implementation. Experimental results are shown in section 4. Finally, section 5 concludes the paper by an outline of future work.
2
Previous work on GAs in data alignment
Genetic algorithms have already been used for registration of 3D data. In their recent survey on genetic algorithms in computer-aided design [7], Renner and Ek´art mention a few related studies. In particular, Jacq and Roux [8] applied GAs to registration of medical 3D images. They considered elastic transformation of 3D volumetric bitmaps rather than rigid transformation of 3D point clouds. Cordon and co-authors [9] also addressed the problem of 3D image registration. They used a CHC evolutionary algorithm and compared binary coding to real value coding. Brunnstr¨om and Stoddart [10] used GAs to match 3D surfaces represented by measured points. Their approach significantly differs from ours as they perform optimisation in the correspondence space rather than the transformation space. A genetic algorithm finds the best matches, then the optimal transformation is calculated from these matches. The cost function used in [10] is
computationally demanding: the number of operations needed to evaluate it grows quadratically with the number of points. For this reason, the method is only applicable to a relatively small number of points (up to a few hundred). Yamany et al. [11] used a genetic algorithm for registration of partially overlapping 2D and 3D data by minimising the mean square error cost function. The method is made suitable for registration of partially overlapping data sets by only considering the points such that pi ∈ G1 ∪ G2 , where G1 and G2 are space bounding sets for the two datasets. Unfortunately, the authors give very few details about their genetic algorithm, focusing on the Grid Closest Point transformation they use to find the nearest neighbour. Salomon et al. [12] apply a so-called differential evolution algorithm to medical 3D image registration. Differential evolution uses real-valued representation and operates directly on the parameter vector to be optimised. Otherwise, only the reproduction step is different from GA. On the other hand, this method requires much more computation than the simpler algorithm we use. In [12], differential evolution is used to register two roughly pre-aligned volumetric images of small size. The relative rotation is within ±20◦ , which is comparable to the range our TrICP can already cope with. We need and propose a preregistration algorithm that can cope with arbitrary orientations. Robertson and Fisher [13] applied GAs to the registration of range data. They use the mean square error objective function and perform optimisation in the six-parameter space not considering the overlap. Their genetic algorithm uses four different mutation operators and two crossover operators. Each of the operators has a probability of selection associated with it. The algorithm adjusts these probabilities adaptively. The study [13] includes experiments with partially overlapping measured data; however, no method to automatically deal with arbitrary overlap is presented. Silva et al. [14] use GAs for alignment of multiview range images. A novel Surface Interpenetration Measure is introduced that allows one to evaluate registration results more precisely, especially in the case of small registration errors. A predefined residual threshold is used to handle partial overlap. However, no method is given to adjust the threshold automatically. Since the fitness function depends implicitly on the range scanner measurements error and the interpoint distance (quantisation error), it might be necessary to adjust the threshold manually for other datasets. Hill-climbing techniques are used to refine the GA result. A recent study on the use of genetic algorithms for range data registration appeared in [15]. Euclidean parameter space optimisation is considered. To handle partially overlapping data, the median of the residuals is used as error metric. This improves the robustness but renders the method inapplicable
to data overlaps below 50%. An advanced operator of dynamic mutation is introduced, which reportedly improves registration error and helps avoid premature convergence. An attempt is made to improve the precision by using dynamic boundaries. After the GA has converged, the search space is reduced and the GA is applied again. However, using genetic algorithms for precise registration does not seem reasonable since faster and more precise iterative methods exist for registration of pre-aligned datasets. Finally, let us mention the related problem of model fitting that has also been approached by genetic, or evolutionary, algorithms. In particular, Olague and co-authors [16,17] present a hybrid evolutionary ridge regression method for modelling and extracting image corners. A multiparameter corner model is fit to image data using a global minimisation procedure. The data registration problem we consider is different in the sense that no explicit parametric model is available; instead, we have to align two datasets under certain geometric transformations. However, our overlap parameter that tunes the amount of data to be modelled can be viewed as a parameter controlling model complexity. Different criteria exist, such as MDL [18], that allow to balance between quality of the fit to data, on one hand, and model complexity, on the other. As discussed in section 1, our current strategy is to use as much of the mutual data as possible, which is expressed in the objective function (3). In the future, we plan to consider other criteria as well, to provide more solid theoretical ground for our method. The main novel contributions of our study are as follows. We adopt a combined approach in which genetic search is used to initialise an efficient iterative registration procedure. A robust genetic procedure for 3D data pre-registration is proposed. This makes our system applicable to arbitrarily oriented surfaces while preserving precision and robustness of iterative methods. Moreover, by exploiting the generality of genetic algorithms, we add an extra parameter to the search space by incorporating the overlap estimation into the cost function. This original solution results in a method capable of automatically aligning datasets with overlaps below 50%.
3
The proposed genetic pre-registration algorithm
This section deals with genetic pre-alignment of two arbitrarily oriented datasets, P and M. The task is to quickly obtain a rough pre-alignment suitable for subsequent application of TrICP. Our experience with TrICP [1] shows that, depending on the data processed, the algorithm can cope with initial angular misalignments up to 20◦ ; 5◦ is certainly sufficient. This means that the genetic pre-registration should provide an angular accuracy of 5◦ , or better. The initial translational misalignment is less critical.
Our genetic pre-registration procedure minimises the objective function (3), but this time as a function of 7 parameters, namely, the overlap ξ, the three components of t, and the three Euler angles of R. The difference between the genetic solution and the overlap optimisation procedure [1] described in section 1 is essential. The former means evaluating Ψ(ξ, R, t) for different values of ξ, R, and t, while the latter means running TrICP for different values of ξ. Each execution of TrICP involves numerous iterations that require finding the current correspondences in each new position of P. Similarly, the most time-consuming stage of the genetic optimisation (3) is pairing points from P with their closest counterparts in M. To speed up the search for the nearest neighbour, we use the k-D tree structure [19]. The three Euler angles ψ, φ and γ were selected as a simple way to represent rotation. The Euler parameterisation has already been used in some previous studies on genetic registration, for example, in [12]. A rotation matrix R is expressed via the Euler angles in the following way:
cos ψ cos φ cos γ − sin ψ sin γ sin ψ cos φ cos γ + cos ψ sin γ
− sin φ cos γ
− cos ψ cos φ sin γ − sin ψ cos γ cos ψ sin φ − sin ψ cos φ sin γ + cos ψ cos γ sin φ sin γ
sin ψ sin φ cos φ
It is assumed that the order of rotations is ψ, φ, γ around the axes z, y, z. Our experience shows that the Euler parameterisation of R works and can be used. However, we have to point out that its usage incurs a technical problem, as the rotation parameter space formed by the Euler angles is inhomogeneous. This problem is discussed in section 4. To minimise the objective function (3) we applied a genetic algorithm tuned to the problem. We use the term genetic algorithm throughout the paper, as our method can be seen as a direct descendant of the Simple Genetic Algorithm of Goldberg [20]. However, we note that today’s evolutionary methods of different origin (such as genetic algorithms, evolutionary programming, evolution strategies) can hardly be distinguished from each other. Also, Michalewicz and Fogel ([21],p.152) point out that “...there has been considerable theoretical and empirical evidence that none of these canonical approaches can offer anything that another approach cannot achieve.” They propose the use of the general term evolutionary algorithm to refer to any of these methods. In the genetic algorithm literature there is an ongoing dispute about representation. Is binary or real value representation better? Binary representation [20] is theoretically well-founded, proved to lead to results. But the genetic operators treat locations within the representation of one parameter and the border
between the representations of two parameters equally. A simple mutation could lead to a very distant point in the search space if the most significant bit in the representation of a parameter is chosen for mutation. Or, in the opposite case, when changing the least significant bit, the change might remain unnoticeable. Real value representation is relatively new, believed to slow down the GA (compared to binary representation), but practically proved to be more exact. Also, real representation allows for genetic operators tuned to the problem. For example, mutation could be easily controlled to just make a small change to the value of a parameter or to change it completely on demand. A comparison of the two representations in 3D image registration can be found in the study [9]. In our case, as the GA is used as a rough initial approximation, high precision is not vital, but at the same time, speed is essential. On the other hand, we prefer to have a one-to-one gene-parameter correspondence, so that we can have control of the algorithm: use specialised operators if needed and easily build in domain knowledge. Therefore, we chose as chromosome an array of 7 integers, with each integer corresponding to one of the 7 parameters. This seems a reasonable compromise: we get results with precision lower than real representation would, but faster. As we do not employ binary operators, but treat the integers as units of the genetic operators, we are able to use the advantages of real representation at higher speed. To evaluate the objective function, each integer parameter was mapped by normalisation onto a real-valued range. Simple one-point crossover was employed. Different population sizes were tested and an optimal value was selected for the final experiments. Two mutation operators were introduced. Shift mutation shifts one parameter randomly by a value not exceeding 10% of the parameter range, while replacement mutation replaces a parameter with a random value. The corresponding probabilities were also set after preliminary experimentation. Tournament selection was applied, as it is easy to implement and helps avoid premature convergence. An elitist genetic algorithm was employed, where one copy of the best individual was transferred without change from each generation to the next one. The genetic algorithm terminates if the best fitness does not change for Ng generations. In the experiments presented below, Ng was set to 25. The obtained registration is then checked: the trimmed mean square error e(ξ, R, t) is compared to an upper estimate based on the point density in M. The upper estimate, eU , is computed as follows. For every points in M, we find its closest neighbour in M and calculate the squared distance to this closest point. The upper estimate is half the median of all such distances in M. This value characterises the typical half-distance between neighbouring points in M. Intuitively, if e(ξ, R, t) exceeds this typical half-distance, the quality of the registration cannot be high.
If e(ξ, R, t) > eU , the genetic algorithm is run again in an attempt to find a better solution. The maximum number of the attempts is five. If a high-quality alignment was not obtained in five runs, we stop and decide that it cannot be obtained. Although eU is just one possible indicator of the registration quality, it yielded positive results on the tested datasets. Re-running the GA based on eU helps avoid occasional convergence to a local minimum. To summarise, our genetic algorithm works as follows: (1) Generate initial population. (2) Calculate objective function values. (3) Apply genetic operators (crossover, mutation) to selected individuals. Next generation will contain the offspring and, additionally, the best fit individual from current generation. (4) Calculate objective function values for the new population. (5) If best fitness has not changed for Ng generations, stop and designate the best fit individual as solution, otherwise go to step 3. (6) If the solution obtained at step 5 is not of acceptable precision, restart from step 1. The selected values of GA parameters are discussed in the next section.
4
Experimental results
We have tested the proposed genetic pre-alignment and the combined method (GA followed by TrICP) on different data. Three real-world noisy measured datasets representing free-form surfaces were used in the experiments: the Frog, the Angel and the Bird data, shown in figures 1, 2 and 3, respectively. The Frog dataset was acquired in our laboratory using the REPLICA laser scanner system. The other two datasets are from the SAMPL range image database available at http://sampl.eng.ohio-state.edu. They were acquired with the Minolta Vivid 700 scanner. For the genetic algorithm, the resolution of the input data was decreased: P was reduced to 100 points, M to about 1000 points. Such reduction not only speeds up the algorithm, but in some cases also improves its stability. Note that due to the use of the k-D tree data structure, the number of operations needed to evaluate our cost function (3) is O(Np log Np ), which is better than the quadratic dependence of [10]. For this reason, we can cope with larger datasets if necessary. TrICP operated on the original full-resolution data. In preliminary tests, the following GA parameter values were found to be optimal for the datasets used in the experiments. Representation: The integer
Frog data
GA
GA+TrICP
Fig. 1. The Frog dataset, GA alignment and final alignment.
Angel data
GA
GA+TrICP
Fig. 2. The Angel dataset, GA alignment and final alignment.
Bird data
GA
GA+TrICP
Fig. 3. The Bird dataset, GA alignment and final alignment.
range [−100, 100] was used, which was transformed into the appropriate realvalued range for each parameter. Mutation: The probability of shift mutation was 0.5, the probability of replacement mutation 0.05. Population size 500 was selected as a reasonable compromise between reliability and execution time. Probability of crossover: We tried values in the range 0.5–1.0; the value of this parameter seems to have little impact on the precision of registration. We decided for a crossover rate 0.9, which is the generally recommended value. In the final experiment, a series of 100 tests was performed with each dataset
using the above optimal parameter values. The termination criterion of the GA was based on performance: instead of running the algorithm for a fixed number of generations, whose optimal value would be different for different datasets and could still cause unneeded extra computation, we ran the GA until results of acceptable precision were obtained. To test the proposed method under arbitrary initial orientations, set P was randomly rotated prior to alignment in each of the 100 tests. Results of all tests were visually checked. No erroneous registration was observed. Typical examples of alignment are shown in figures 1, 2 and 3. In each figure, the first two pictures show the two datasets to be registered. The datasets result from two separate measurements of the same object obtained from different angles. Since the two scans of the Frog were quite similar, the Frog data was artificially made more challenging by removing a part of the head in one set and a part of the legs in the other. The third picture of each figure (GA) displays the result of our genetic preregistration algorithm presented in section 3. Here, the two datasets are shown in different colours. One can see that the datasets are roughly registered, but the registration quality is not high: the surfaces are displaced, and they occlude each other in large continuous areas instead of ‘interweaving’. Finally, the rightmost picture is the result of the fine registration obtained by TrICP using the result of the genetic pre-registration. Here, the surfaces match much better, and they are interwoven, which is an indication of the good quality of the final registration. The precision and the computational performance of the genetic algorithm were analysed. The numerical results of the experiments are presented in tables 1, 2 and 3. To assess the precision, reference values were obtained by the TrICP algorithm applied to the result of genetic registration. (Since TrICP is much more precise than GA, its output can be used as ground truth.) The reference overlap was determined by the accurate automatic overlap detection algorithm of TrICP [1] which was briefly discussed in section 1. Table 1 GA angular registration errors α [degrees] dataset
mean
max
min
median
mean dev.
Frog
0.89
1.72
0.23
0.87
0.22
Angel
1.17
2.11
0.28
1.15
0.38
Bird
2.15
3.34
0.41
2.24
0.50
Table 1 shows the angular error of genetic alignment. The error is defined as follows. Rotation by any matrix R can be viewed as rotation by an angle α
around some axis. This angle can be calculated as α = arccos
R11 + R22 + R33 − 1 , 2
(4)
where Rii are the diagonal elements of R. To compute the angular error, we obtain the matrix that rotates the result of the GA to the result of TrICP. (The latter is used as the reference.) The angular registration error shown in table 1 is the angle α calculated by (4) for this rotation matrix. Our goal was to extend the application of TrICP to datasets of arbitrary orientations. As already discussed, TrICP is applicable to initial relative rotations of up to 20◦ , and 5◦ is certainly sufficient. In table 1, the largest GA registration error is 3.34◦ , which complies with these requirements. Table 2 Reference overlap values and GA results [%] dataset
ref
mean
max
min
median
mean dev.
Frog
65.6
56.4
58.8
52.8
56.8
1.00
Angel
80.0
77.6
84.8
72.8
78.8
2.53
Bird
56.7
54.8
56.8
51.6
54.8
0.34
Table 2 compares the overlap values obtained by GA with the reference values computed by TrICP. In some cases, the result of GA deviated from the ground truth, which can be tolerated within some interval below the true value. (See [1] for a discussion.) If desired, GA overlaps can also be refined by TrICP. Finally, table 3 summarises the performance of genetic alignment in terms of the execution time, the number of elapsed generations, and the number of evaluations of the objective function. The reported experiments were performed on a 2GHz P4 PC running Linux. Table 3 GA computational performance dataset
exec. time
generations
evaluations
mean
max
mean
max
mean
max
Frog
58 sec
202 sec
203
654
101291
327004
Angel
29 sec
62 sec
122
252
61151
126002
Bird
53 sec
120 sec
176
377
88046
188502
Frog fixed
35 sec
100 sec
136
327
67756
163502
The last row of table 3 shows the results of an additional test in which the initial orientation of set P was fixed rather than randomised. (The fixed orientation is the one given by the scanning procedure; it is shown in figure 1.) One can see that for a fixed orientation less computational effort is needed
to achieve the same accuracy. This effect was unexpected as it had been believed that GA scans the complete rotation parameter space and finds extrema independently of the starting point. To investigate this effect, two additional experiments were carried out with the Frog dataset. Different fixed initial orientations were tested. As before, in each case the algorithm was run 100 times. The results of the additional tests are summarised in tables 4 and 5, where the Euler angles are given in degrees. In the first additional test, all of the three initial angles (ψ, φ, γ) were varied. Table 4 shows that the required computational effort varies for different initial orientations. Apparently, more complicated combinations of the Euler angles demand more generations of genetic algorithm to find the solution. On the other hand, the results of the second additional test seem to support the hypothesis that alteration of only one of the three angles does not greatly influence the required effort. Table 5 shows that the average number of generations is stable as ψ spans its range with the other two angles fixed. Table 4 Average numbers of generations when all of the Euler angles are varied ψ
φ
γ
α
generations
0.0
0.0
0.0
0.0
135
0.0
5.0
0.0
5.0
176
5.0
0.0
0.0
5.0
143
10.0
−50.0
−90.0
92.1
169
130.0
−150.0
90.0
169.8
178
Table 5 Average numbers of generations when only one of the Euler angles is varied ψ
φ
γ
α
generations
0.0
0.0
0.0
0.0
136
45.0
0.0
0.0
45.0
137
90.0
0.0
0.0
90.0
139
135.0
0.0
0.0
135.0
134
180.0
0.0
0.0
180.0
137
The rotation parameter space formed by Euler angles is inhomogeneous. To reach some states (orientations), GA needs more steps than for other states. When the initial orientation is randomised, such computationally more expensive states are included increasing the overall search time. This motivates us to consider another, homogeneous parameterisation; we also recommend this to other authors who use the Euler angles (e.g., [12]). A possible solution can be using the axis-angle representation or the quaternion representation.
5
Conclusion
We proposed a new method for rough pre-registration of two 3D surfaces represented by sets of points, assuming that the overlapping part is informative enough for unambiguous registration. The method employs a genetic algorithm performing search in the 7-parameter space formed by three translation parameters, three rotation parameters, and the newly added surface overlap parameter. Including the overlap in the search space and using the corresponding trimmed squares is a novel solution that allows for correct pre-registration at overlaps below 50%. Applying the genetic pre-registration prior to our previously introduced Trimmed Iterative Closest Point algorithm [1], we obtain a robust and precise system for registration of 3D datasets at unknown relative rotation and overlap. The system does not rely on feature extraction and does not require human interaction, operating in a fully automatic fashion. Unlike many other methods proposed in the literature, it can cope with arbitrary orientations and small overlaps, producing accurate results in reasonable time. We presented experimental results demonstrating the applicability of the proposed algorithm to various measured data and testing its performance in terms of accuracy and computational efficiency. Additional tests revealed an interesting unexpected effect, namely, the dependence of the computational effort on the initial relative rotation of the datasets. We analysed the effect and explained it by the inhomogeneity of the rotation parameter space formed by the Euler angles. We concluded that the Euler angles can still be used, but using an alternative, homogeneous parameter space would be preferable. Since the Euler representation is often applied in 3D registration, our analysis may be of interest for other researchers who intend to use genetic optimisation for 3D registration. As future work, the following aspects need to be investigated: • Data subsampling based on surface curvature could increase algorithm performance and make it applicable to a broader class of surfaces. • Objective function based on point-to-surface error measure may improve the algorithm precision. • Introducing a new, more problem-specific crossover operation could increase the precision of overlap detection. • The algorithm could be generalised to multiview registration. • Using an adaptive genetic algorithm or dynamic mutation similar to [15] could make the algorithm faster and more precise. • Using a homogeneous parameter space for rotation is expected to improve the computational efficiency of the method.
References
[1] D. Chetverikov, D. Stepanov, P. Krsek, Robust Euclidean Alignment of 3D point sets: the Trimmed Iterative Closest Point algorithm, Image and Vision Computing 23 (2005) 299–309. [2] E. Trucco, A. Fusiello, V. Roberto, Robust motion and correspondence of noisy 3-D point sets with missing data, Pattern Recognition Letters 20 (1999) 889– 898. [3] P. Besl, N. McKay, A Method for Registration of 3-D Shapes, IEEE Trans. Pattern Analysis and Machine Intelligence 14 (1992) 239–256. [4] K. Pulli, Surface Reconstruction and Display from Range and Color Data, Ph.D. thesis, University of Washington, Seattle (1997). [5] W. Press, S. Teukolsky, W. Vetterling, B. Flannery, Numerical Recipes in C, Cambridge University Press, 1992. [6] P. Krsek, T. Pajdla, V. Hlav´aˇc, R. Martin, Range image registration driven by a hierarchy of surface differential features, in: 22nd Workshop of the Austrian Association for Pattern Recognition, 1998, pp. 175–183. [7] G. Renner, A. Ek´art, Genetic algorithms in computer aided design, ComputerAided Design (2003) 709–726. [8] J. Jacq, C. Roux, Registration of 3-D images by genetic optimization, Pattern Recognition Letters 16 (1995) 823–841. [9] O. Cordon, S. Damas, J. Santamaria, A CHC Evolutionary Algorithm for 3D Image Registration, in: LNAI, Vol. 2715, Springer, 2003, pp. 404–411. [10] K. Brunnstr¨om, A. Stoddart, Genetic algorithms for free-form surface matching, in: Proc. International Conference on Pattern Recognition, Vol. 4, IEEE Comp. Soc., 1996, pp. 689–693. [11] S. Yamany, M. Ahmed, A. Farag, A New Genetic-Based Technique for Matching 3D Curves and Surfaces, Pattern Recognition 32 (1999) 1817–1820. [12] M. Salomon, G. Perrin, F. Heitz, Differential Evolution for Medical Image Registration, in: International Conference on Artificial Intelligence, 2001, pp. 201–207. [13] C. Robertson, R. Fisher, Parallel evolutionary registration of range data, Computer Vision and Image Understanding 87 (2002) 39–55. [14] L. Silva, O. Bellon, K. Boyer, Enhanced, robust genetic algorithms for multiview range image registration, in: Fourth International Conference on 3-D Digital Imaging and Modeling, 2003, pp. 268–275. [15] C. Chow, H. Tsui, T. Lee, Surface registration using a dynamic genetic algorithm, Pattern Recognition 37 (2004) 105–117.
[16] G. Olague, B. Hern´andez, E. Dunn, Hybrid Evolutionary Ridge Regression Approach for High-Accurate Corner Extraction, in: IEEE Conference on Computer Vision and Pattern Recognition, Vol. 1, 2003, pp. 744–749. [17] G. Olague, B. Hern´andez, A New Accurate and Flexible Model Based Multicorner Detector for Measurement and Recognition, Pattern Recognition Letters 26 (2005) 27–41. [18] A. Barron, J. Rissanen, B. Yu, The minimum description length principle in coding and modeling, IEEE Trans. Information Theory 44 (1998) 2743–2760. [19] F. Preparata, M. Shamos, Computational Geometry, Springer-Verlag, 1985. [20] D. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, 1989. [21] Z. Michalewicz, D. Fogel, How to Solve It: Modern Heuristics, 3rd Edition, Springer, 2002.