=Paper=
{{Paper
|id=Vol-1710/paper35
|storemode=property
|title=The Iterative Closest Points Algorithm and Affine Transformations
|pdfUrl=https://ceur-ws.org/Vol-1710/paper35.pdf
|volume=Vol-1710
|authors=Dmitrii Tihonkih,Artyom Makovetskii,Vladislav Kuznetsov
|dblpUrl=https://dblp.org/rec/conf/aist/TihonkihMK16
}}
==The Iterative Closest Points Algorithm and Affine Transformations==
The Iterative Closest Points Algorithm and Affine Transformations Dmitrii Tihonkih1, Artyom Makovetskii1 and Vladislav Kuznetsov1 1 Chelyabinsk State University, Chelyabinsk, Russia sparsemind@gmail.com, artemmac@mail.ru, k.v.net@rambler.ru Abstract. The problem of consistent aligning of 3D point data is known registration task. The most popular registration algorithm is the Iterative Closest Point (ICP) algo- rithm. One of the main steps of the ICP algorithm is matching. We find a matching in at first time on the basis of the geometric similarity of individual groups of points. It allows to get a good first approximation of the required transformation, even for big angle rotations, translations, scaling and noisy data. The step of the error minimiza- tion is performed for an arbitrary affine transformation. Keywords: Iterative closest points (ICP), surface reconstruction, matching, error minimization 1 Introduction The ICP (Iterative Closest Point) algorithm has become the dominant method for aligning three dimensional models based purely on the geometry. The algorithm is widely used for registering the outputs of 3D scanners, which typically only scan an object from one direction at a time. The standard ICP starts with two point clouds and an initial guess for their relative rigid-body transform, and iteratively refines the trans- form by repeatedly generating pairs of corresponding points in the clouds and mini- mizing an error metric. Generating the initial alignment may be done by a variety of methods, such as tracking scanner position, identification and indexing of surface features [1, 2], βspin-imageβ surface signatures [3], computing principal axes of scans [4], exhaustive search for corresponding points [5, 6], or user input. In this paper, we assume that a rough initial alignment is always available. In addition, we focus only on aligning a single pair of clouds, and do not address the global registration problem [7, 8, 9, 10]. Since the introduction of ICP by Chen and Medioni [11] and Besl and McKay [12], many variants have been introduced on the basic ICP concept. We may classify these variants as affecting one of six stages of the algorithm: 1. Selection of some set of points in one or both clouds. 2. Matching these points to samples in the other cloud. 3. Weighting the corresponding pairs appropriately. 4. Rejecting certain pairs based on looking at each pair individually or considering the entire set of pairs. 5. Assigning an error metric based on the point pairs. 6. Minimizing the error metric (variational subproblem of the ICP). In this paper, we will look at variants for the categories 2 and 6. Our main focus is on the accuracy of the final answer and the ability of ICP to reach the correct solution for a difficult geometry. We consider affine transformation in β! that holds the angles between lines in the cloud of points. An algorithm of matching is inspirited by the recent results of neurophysiology of vision [13]. Also we consider the ICP minimiz- ing the error metric subproblem for the case of an arbitrary affine transformation. The computer simulation section contains results of computational experiments based on our matching and error minimizing approaches. 2 The matching procedure for sets π and π Let π = {π₯! , β¦ , π₯!!! } be an set consist of π points in β! and π = {π¦! , β¦ , π¦!!! } be an set consist of π points in β! . Here we describe our approach for searching the matching between π and π. Denote by (π₯! , π¦! ), π₯! β π, π¦! β π the pair of correspond- ing points. The goal of our procedure is representation of points from π and π as sets of pairs. The first element of a pair belongs to π, the second element belongs to π. Note, that each point from π and π can be included to the set of pairs just one time. At the beginning the set of pairs is empty. Let π β β be a number such that: 3 β€ π β€ min (π, π). (1) Denote by π a natural parameter. 1. Consider the following subset π! of the π: π! = {π₯!β !!! , β¦ , π₯!β !!! !!!! }. (2) 2. Let πΆ be a closed piecewise linear curve in β! that consist of π line segments. The π-th segment connects points π₯!β !!! !! and π₯!β !!! !!!! . If π + 1 = π then we take index π β π β 1 instead π β π β 1 + π + 1. Denote by πΌ! a minimal flat angle that is constructed by π-th and (π + 1)-th segments (with the similar agreement for the case π + 1 = π). Let π! be a vector π! = {πΌ! , β¦ , πΌ!!! }, (3) where elements Ξ±! , j = 0, β¦ , m β 1 are respective angles. 3. Consider all possible combinations of m points in the set Y besides the points that already included to the set of pairs. For an each combination we construct the vector π by the same way as in step 2. 4. We choose a vector from the set of vectors of the step 3 such that distance be- tween them and π! is minimal relatively the norm πΏ! . Denote this vector as π! . 5. We construct π pairs of the points from π! and π! . Add this m pairs to the set of pairs. 6. If the number of remaining points in π or π less that π then procedure termi- nates. Else π β π + 1 and go to step 1. We use this procedure only as first iteration on the ICP algorithm. Obtained after the first iteration the transformation matrix and the translation vector are used for a second iteration. In the next iterations we use the standard nearest neighbor approach to find a match between the points. In the practical using of the ICP algorithm very often a set π obtained from a set π by a some geometrical transformation. The described above approach can good work not for rigid transformation only but for sufficiently wide subset of the affine trans- formations. 3 The ICP variational subproblem for an arbitrary affine transformation Let π = {π₯! , β¦ , π₯!!! } be a source point cloud and π = {π¦! , β¦ , π¦!!! } be a destina- tion point cloud in β! . Suppose that the relationship between points in π and π is done by such a way that for each point π₯! is calculated corresponding point π¦! . In many works [11, 12, 14] the ICP algorithm is considered as a geometrical transfor- mation for rigid objects mapping π to π: π π₯! + π‘, (4) where π is a rotation matrix, π is a translation vector, π = 0, β¦ , π β 1. The S-ICP algorithm [14] is a slightly different geometrical transformation given by π ππ₯! + π‘, (5) where π is a scaling matrix. The group πΈ(3) of affine transformations in the dimension three has 12 generators. It means that affine transformation in dimension three is a function of 12 variables. Let us consider ICP variational problem for the case of an arbitrary affine transfor- mation. Let π½(π΄, π) be the following function: !!! π½ π΄, π = !!! β₯ π΄ π₯! + π‘ β π¦! β₯! . (6) The ICP variational problem can be stated as follows: arg πππ π½ π΄, π‘ , (7) A,t where π!! π!" π!" π‘! π₯!! π¦!! π΄ = π!" π!! π!" , π‘ = π‘! , π₯! = π₯!! , π¦! = π¦!! . (8) π!" π!" π!! π‘! π₯!! π¦!! One can be seen that !!! π½ π΄, π‘ = !!! ( π!! π₯!! + π!" π₯!! + π!" π₯!! + π‘! β π¦!! )! + + ( π!" π₯!! + π!! π₯!! + π!" π₯!! + π‘! β π¦!! )! + +( π!" π₯!! + π!" π₯!! + π!! π₯!! + π‘! β π¦!! )! . (9) Let new coordinates π₯!" be expressed through old coordinates π₯!" as follows: ! !!! π₯!! = π₯!" β !!! π₯!! , π = 1, β¦ ,3, π = 1, β¦ , π. (10) ! Also for the points of the second cloud we can write ! !!! π¦!! = π¦!" β !!! π¦!! , π = 1, β¦ ,3, π = 1, β¦ , π. (11) ! Let us define coefficients πΌ! , π½! , πΎ! , π! and π! for π = 1, β¦ , π as !!! !!! πΌ! = π₯!! β ! ! ! β !!! π₯!! π₯!! , (12) !!! !! !!! !!! π½! = π₯!! β ! ! ! β !!! π₯!! π₯!! , (13) !!! !! !!! !!! πΎ! = π¦!! β ! ! ! !!! π¦!! π₯!! , (14) !!! !! !! !!! π! = π½! β ! ! !!! π½! πΌ! , (15) !!! !! !! !!! π! = πΎ! β ! ! !!! πΎ! πΌ! . (16) !!! !! Proposition. The elements of the first row of the matrix π΄β that minimizes π½ are computed as !!! !!! !!! ! !!" !!! ! !!" !!! !!! π!! = !!! ! ! , (17) !!! !! !!! !!! !!! !! !! !!!" !!! !! !! π!" = !!! ! ! , (18) !!! ! !!! !!! !! !! π!" = !!! ! ! . (19) !!! ! For the second and third rows of the matrix π΄ similar formulas can be easily de- rived. 4 Computer simulation Let π be the set consists of 80 points. The coordinates of points are randomly gen- erated (by the uniform distribution). The values of all coordinates belong to the range [0, . . . ,100]. The set π is obtained from the set π by the geometrical transformation π = π β π + π‘, where π and π‘ are described below: 0.5 0 0.866025 π = 0.866025 0 β0.5 , (20) 0 1 0 π‘T = 5 6 7 . (21) And each component of every point from the set π is noised by the following way. π¦!! β π¦!! + π!! , (22) Here π!! is uniformly distributed real number in the closed interval [0, 1], j is the number of point, π = {1, 2, 3}. Estimated using the our algorithm matrix π and vector π‘: 0.49987 0.00001 0.86612 π = 0.865925 0.00009 β0.500072 , (23) β0.000027 0.999896 β0.000021 π‘ T = 5.00281 6.0127 7.00388 . (24) The standard approach based on nearest neighbor method implemented in the open source library LIBICP (C++ Library for Iterative Closest Points Matching) gives the following results: 0.4281353 0.0278281 0.9032861 π = β0.0109876 0.9996122 β0.0255878 , (25) 0.9036479 β0.0010301 β0.4282750 π‘ T = β36.6521776 30.6680470 9.0428475 . (26) Fig. 1 shows initial sets π and π. Fig. 1. Sets π (yellow) and π (blue). Fig. 2 shows a set π and a set π = π β π + π‘. Where π and π‘ is the result of the stand- ard approach. Fig. 2. Sets π (yellow) and π (blue). Fig. 3 shows a set π and a set π = π β π + π‘. Where π and π‘ estimated by our algo- rithm after the first iteration. Fig. 3. Sets π (yellow) and π (blue). 5 Conclusion In this paper we considered matching and error minimizing steps of the ICP algo- rithm. On the base of the obtained results, a new efficient algorithm for the sets alignment was designed. The obtained results are illustrated with the help of computer simulation. Acknowledgments The work was supported by Russian Science Foundation grant β15-19-10010. References 1. Faugeras, O. and Hebert, M., βThe Representation, Recognition, and Locating of 3-D Ob- jects,β Int. J. Robotic Res., Vol. 5, No. 3 (1986). 2. Stein, F. and Medioni, G., βStructural Indexing: Efficient 3-D Object Recognition,β Trans. PAMI, Vol. 14, No. 2 (1992). 3. Johnson, A. and Hebert, M., βSurface Registration by Matching Oriented Points,β Proc. 3DIM (1997). 4. Dorai, C., Weng, J. and Jain, A., βOptimal Registration of Object Views Using Range Da- ta,β Trans. PAMI, Vol. 19, No. 10 (1997). 5. Chen, C., Hung, Y. and Cheng, J., βA Fast Automatic Method for Registration of Partially- Overlapping Range Images,β Proc. ICCV (1998). 6. Chen, C., Hung, Y. and Cheng, J., βRANSAC-Based DARCES: A New Approach to Fast Automatic Registration of Partially Overlapping Range Images,β Trans. PAMI, Vol. 21, No. 11 (1999). 7. Bergevin, R., Soucy, M., Gagnon, H. and Laurendeau, D., βTowards a General Multi-View Registration Technique,β Trans. PAMI, Vol. 18, No. 5 (1996). 8. Stoddart, A. and Hilton, A., βRegistration of Multiple Point Sets,β Proc. CVPR (1996). 9. Pulli, K., βSurface Reconstruction and Display from Range and Color Data,β Ph. D. Dis- sertation, University of Washington (1997). 10. Pulli, K., βMultiview Registration for Large Data Sets,β Proc. 3DIM (1999). 11. Chen, Y. and Medioni, G., βObject Modeling by Registration of Multiple Range Images,β Proc. IEEE Conf. on Robotics and Automation (1991). 12. Besl, P. and McKay, N., βA Method for Registration of 3-D Shapes,β Trans. PAMI, Vol. 14, No. 2 (1992). 13. Petitot, J., βThe neurogeometry of pinwheels as a sub-Riemannian contact structure,β J. Physiology β Paris, 97, 265β309 (2003). 14. Langis, C., Greenspan, M. and Godin, G., "The parallel Iterative closest point algorithm," Proc. IEEE Third International Conference 3-D Digital Imaging and Modeling, 195-204 (2001). 15. Lowe, D. G., "Object recognition from local scale invariant features," Proc. 7th Interna- tional conference on Computer Vision, 2, 1150β1157 (1999).