Affine registration of point clouds based on point-to-plane approach

Affine registration of point clouds based on point-to-plane approach

Available online at www.sciencedirect.com Available online at www.sciencedirect.com ScienceDirect ScienceDirect Procedia Engineering 00 (2017) 000–0...

788KB Sizes 0 Downloads 116 Views

Available online at www.sciencedirect.com Available online at www.sciencedirect.com

ScienceDirect ScienceDirect

Procedia Engineering 00 (2017) 000–000 Procedia Engineering 00 (2017) 000–000

Available online at www.sciencedirect.com

ScienceDirect

www.elsevier.com/locate/procedia www.elsevier.com/locate/procedia

Procedia Engineering 201 (2017) 322–330

3rd International Conference “Information Technology and Nanotechnology”, ITNT-2017, 25-27 3rd International Conference “Information Technology and Nanotechnology”, ITNT-2017, 25-27 April 2017, Samara, Russia April 2017, Samara, Russia

Affine registration of point clouds based on point-to-plane approach Affine registration of point clouds based on point-to-plane approach A. Makovetskiia,a,*, S. Voroninaa, V. Kobera,b , D. Tihonkihaa a,b A. Makovetskii *, S. Voronin , V. Kober , D. Tihonkih a

Chelyabinsk State University, 129 Br. Kashirinikh, Chelyabinsk, 454001, Russia a Department of Computer Science, CICESE, Carretera129 Ensenada-Tijuana Zona Playitas, Chelyabinsk State University, Br. Kashirinikh, 3918, Chelyabinsk, 454001,Ensenada, Russia B.C. 22860, Mexico b Department of Computer Science, CICESE, Carretera Ensenada-Tijuana 3918, Zona Playitas, Ensenada, B.C. 22860, Mexico b

Abstract Abstract The problem of aligning of 3D point data is the known registration task. The most popular registration algorithm is the Iterative Closest Pointof(ICP). Thisofpaper proposes newknown algorithm for affine of pointregistration clouds by algorithm incorporating affine The problem aligning 3D point data isa the registration task.registration The most popular is thethe Iterative transformation into theThis point-to-plane ICP algorithm. At each for iterative of the algorithm, closed-form solution for the the affine Closest Point (ICP). paper proposes a new algorithm affinestep registration of point aclouds by incorporating derived. transformation is into the point-to-plane ICP algorithm. At each iterative step of the algorithm, a closed-form solution for the affine transformation is derived. © 2017 The Authors. Published by Elsevier Ltd. © 2017 The Authors. Published by Elsevier Ltd. © 2017 The under Authors. Published by Ltd. committee of the 3rd International Conference “Information Technology and Peer-review responsibility of Elsevier the scientific Peer-review under responsibility of the scientific committee of the 3rd International Conference “Information Technology and Peer-review under responsibility of the scientific committee of the 3rd International Conference “Information Technology and Nanotechnology. Nanotechnology”. Nanotechnology. Keywords: Affine registration; Iterative closest points (ICP); non-rigid ICP; point-to-plane; surface reconstruction Keywords: Affine registration; Iterative closest points (ICP); non-rigid ICP; point-to-plane; surface reconstruction

1. Introduction 1. Introduction The ICP (Iterative Closest Point) algorithm has become the dominant method for aligning of three-dimensional The ICP Closest Point) algorithm has become the dominant method forthe aligning models based(Iterative purely on geometry [1,2]. The algorithm is widely used for registering outputsofofthree-dimensional 3D scanners and modelssystems based purely geometry [1,2]. The[3-5]. algorithm is widely used starts for registering outputs scanners optics for 3Donscene reconstruction The ICP algorithm with two the clouds and of an3D initial guess and for optics systemsrigid-body for 3D scene reconstruction [3-5]. ICP algorithm starts two clouds and an initial guess their relative transformation, and thenThe it iteratively refines thewith transformation by generating pairs for of their relative rigid-body thenalignment it iteratively theby transformation by generating pairs of corresponding points on transformation, the meshes. Theand initial mayrefines be done different methods, such as tracking corresponding points on the meshes. initialofalignment may be done different methods, as tracking scanner position, identification and The indexing surface features [6,7],by“spin-image” surfacesuch signatures [8], scanner position, identification and indexing of surface features [6,7], “spin-image” surface signatures [8],

* Corresponding author. Tel.: +7 (351) 799-71-01; fax: +7 (351) 742-09-25. address:author. [email protected] * E-mail Corresponding Tel.: +7 (351) 799-71-01; fax: +7 (351) 742-09-25. E-mail address: [email protected] 1877-7058 © 2017 The Authors. Published by Elsevier Ltd. Peer-review©under the scientific committee 1877-7058 2017responsibility The Authors. of Published by Elsevier Ltd. of the 3rd International Conference “Information Technology and Nanotechnology. Peer-review under responsibility of the scientific committee of the 3rd International Conference “Information Technology and Nanotechnology.

1877-7058 © 2017 The Authors. Published by Elsevier Ltd. Peer-review under responsibility of the scientific committee of the 3rd International Conference “Information Technology and ­Nanotechnology". 10.1016/j.proeng.2017.09.635

2

A. Makovetskii et al. / Procedia Engineering 201 (2017) 322–330 A. Makovetskii et al. / Procedia Engineering 00 (2017) 000–000

323

computing principal axes of scans [9], exhaustive search for corresponding points [10,11], or in an interactive manner. Since introduction of the ICP [1,2], many variations of the algorithm have been introduced on the base of the ICP concept. The ICP algorithm consists of two main stages: 1. Searching of corresponding points (pairs) in two clouds. 2. Minimizing the error metric (variational subproblem of the ICP). The step 2 is a key-point of the ICP [15]. There are two main approaches for the selecting the error metric. The point-to-point method [2] uses the distance between corresponding points in two clouds. The point-to-plane method [1] utilizes the distance between a point in the first cloud and a tangent plane to the second cloud. A solution of the error-minimizing problem is based on the affine transformation that yields the best alignment between points of the two clouds. In the orthogonal case, the closed-form point-to-point solution was proposed by Horn [12,13]. The computational complexity of the solution is linear with respect to the number of points. The traditional ICP algorithm is fast and accurate for the rigid registration between two point clouds but it is unable to handle with the affine case. A modified algorithm of the standard ICP for composition of scaling, rotation, and translation was proposed [14]. A generalized ICP version for an arbitrary affine transformation was suggested [15,16]. These algorithms are based on the point-to-point approach. A closed-form solution to the point-to-point problem was derived [18-20]. A closed-form solution to the point-to-plane case for orthogonal transformations is an open problem. Instead, iterative methods based on the linear least-squares optimization for small angles are often used [17]. In the paper, we propose a closed-form solution to the point-to-plane problem for arbitrary affine transformation. The algorithm yields precise solutions to the variational subproblem of the ICP. 2. Formulation of the variational problem Let 𝑃𝑃 = {𝑝𝑝0 , … , 𝑝𝑝𝑘𝑘−1 } be a source point cloud and 𝑄𝑄 = {𝑞𝑞 0 , … , 𝑞𝑞 𝑘𝑘−1 } be a destination point cloud in ℝ3 . Suppose that the relationship between points in 𝑃𝑃 and 𝑄𝑄 is given in such a manner that for each point 𝑝𝑝𝑖𝑖 exists a corresponding point 𝑞𝑞𝑖𝑖 . The ICP algorithm is commonly considered as a geometrical transformation for rigid objects mapping 𝑃𝑃 to 𝑄𝑄: Rpi  t , (1) where 𝑅𝑅 is a rotation matrix, 𝑡𝑡 is a translation vector, 𝑖𝑖 = 0, … , 𝑛𝑛 − 1. The S-ICP algorithm uses a slightly different geometrical transformation given as RSpi  t , (2)

where 𝑆𝑆 is a scaling matrix. The group of affine transformations in the dimension of three has 12 generators. It means that the affine transformation is a function of 12 variables. Let us consider the ICP variational problem for an arbitrary affine transformation in the point-to-plane case. Denote by 𝑆𝑆(𝑄𝑄) a surface, that is built on the cloud 𝑄𝑄, by 𝑇𝑇(𝑞𝑞 𝑖𝑖 ) denote a tangent plane of 𝑆𝑆(𝑄𝑄) in point 𝑞𝑞 𝑖𝑖 . Let 𝐽𝐽(𝐴𝐴, 𝑇𝑇) be the following function: n

J ( A)   ( Ap i  q i , ni ) 2 ,

(3)

i 1

where <∙,∙> denotes the inner product, 𝐴𝐴 is a matrix of an affine transformation in the homogenous coordinates:

 a11 a12 a13 t1    a a a t A   21 21 21 2  ,  a31 a31 a31 t3    0 0 1  0

𝑝𝑝𝑖𝑖 is a point from the cloud 𝑃𝑃, 𝑛𝑛𝑖𝑖 is the unitary normal for 𝑇𝑇(𝑞𝑞 𝑖𝑖 ):

(4)

A. Makovetskii et al.et/ Procedia Engineering 00 (2017) 000–000 A. Makovetskii al. / Procedia Engineering 201 (2017) 322–330

324

 p1i   i p2  i ,n p i    p3i    1

 n1i   i  n2  .  n3i    1

3

(5)

The ICP variational problem can be stated as follows:

arg min J ( A).

(6)

A

3. Closed-form solution to the variational problem Remark that the function 𝐽𝐽(𝐴𝐴) can be rewritten in the following way:

J ( A)

n

 ( Api  qi , ni )2 

n

 ( Ap , n i

i

   q i , n i ) 2 

i 1 i 1 n i i i i 2

  Ap , n



  2  Ap , n  q i , ni    q i , ni  2 .

(7)

i 1

The term < 𝑞𝑞 𝑖𝑖 , 𝑛𝑛𝑖𝑖 > is a constant with respect to 𝐴𝐴, thus the variational problem in Eq. (6) takes the form: n

  Ap , n i

i

 2  2  Api , ni  qi , ni  min . A

i 1

(8)

Let us rewrite the inner product < 𝐴𝐴 𝑝𝑝𝑖𝑖 , 𝑛𝑛𝑖𝑖 > as follows:

i  Ap  , ni  (a11 p1i n1i  a12 pi2n1i  a13 p3i n1i  t1n1i )  (a21 p1i ni2  a22 pi2ni2  a23 pi3ni2  t2n2i ) 

(a31 p1i n3i  a32 pi2 n3i  a33 p3i n3i  t3n3i )  (0).

(9)

𝐽𝐽(𝐴𝐴) is a function of 12 variables. Let us consider components of the gradient ∇𝐽𝐽(𝐴𝐴). 3.1. Partial derivatives with respect to t

J  t j n

n

 2  Ap , n i

i 1

  Ap , n i

i

i

 nij  2nij  qi , ni   0,j 1...3.

 nij  nij  q i , ni  

i 1

n

  Ap , n i

i

n

 nij   nij  q i , ni  0.

(10) (11)

i 1 i 1 𝑖𝑖 𝑖𝑖

The sum ∑𝑛𝑛𝑖𝑖=1 𝑛𝑛𝑗𝑗𝑖𝑖 < 𝑞𝑞 , 𝑛𝑛 > is constant with respect to 𝐴𝐴, denote it by 𝑐𝑐𝑗𝑗 : n

n i 1

i j

 q i , ni  c j .

(12)

The expression (11) takes the form: n

  Ap , n i 1

i

i

 nij  c j , j 1,...,3.

Denote by the (𝑃𝑃𝑃𝑃)𝑖𝑖 the following matrix:

(13)

4

A. Makovetskii al. / Procedia Engineering 201000–000 (2017) 322–330 A. Makovetskii et al. / et Procedia Engineering 00 (2017)

 p1i n1i  i i pn i i it ( PN ) p n  2i 1i   p3n1  i  n1

p1i n2i p2i n2i p3i n2i n2i

0  0 . 0  0 

p1i n3i p2i n3i p3i n3i n3i

Remark.

325

(14)

i  Ap i , n  tr ( A  ( PN )i ).

(15)

It follows from

 ni   a11 p1i  a12 p2i  a13 p3i  t1   1i    n  Ap i , ni   a21 p1i  a22 p2i  a23 p3i  t2  ,  2i      a31 p1i  a32 p2i  a33 p3i  t3   n3    0   i i i i i i i  (a11 p1n1  a12 p2n1  a13 p3n1  t1n1 )  (a21 p1i ni2  a22 pi2ni2  a23 pi3ni2  t 2n2i )  (a31 p1i ni3  a32 pi2ni3  a33 pi3ni3  t3n3i )  (0),

and

 a11 a12   a21 a22  a31 a32  0  0

a13 t1   p1i n1i   a23 t1   p2i n1i  a33 t3   p3i n1i   0 1   n1i

 a11 p1i n1i  a12 p2i n1i  a13 p3i n1i  t1n1i     

p1i n2i p2i n2i p3i n2i n2i

p1i n3i p2i n3i p3i n3i n3i

i i 1 2

i i 2 2

(16)

0  0  0  0  i i 3 2

i 2 2

a21 p n  a22 p n  a23 p n  t n

a31 p1i n3i  a32 p2i n3i  a33 p3i n3i  t3n3i

   . (17)   0 



Let us rewrite Eq. (13) taking into account Eq. (15) as n

c ,j 1,...,3.  n tr ( A  ( PN ) )  i 1

i j

i

Denote by (𝑛𝑛𝑗𝑗 𝑃𝑃𝑃𝑃)𝑖𝑖 the following matrices:

 p1i n1i nij  i i j p nn i (n j PN )   2i 1i ij  p3n1ni  i j  n1ni

(18)

j

p1i n2i nij p2i n2i nij p3i n2i nij n2i nij

p1i n3i nij p2i n3i nij p3i n3i nij n3i nij

0  0 . 0  0 

(19)

The following condition holds:

nijtr ( A  ( PN )i )  tr ( A  (n j PN )i ).

(20)

Taking into account in Eq. (20), we rewrite Eq. (18) as n

c .  tr ( A  (n PN ) )  i 1

j

i

j

(21)

A. Makovetskii et al. / Procedia Engineering 201 (2017) 322–330 A. Makovetskii et al. / Procedia Engineering 00 (2017) 000–000

326

5

Using the property of the matrix trace, we arrive to n

n

n

 tr ( A  (n j PN )i ) tr ( A  (n j PN )i ) tr ( A (n j PN )i ) c j .

(22)

i 1 i 1 i 1

Denote by 𝑀𝑀 𝑗𝑗 , 𝑗𝑗 = 1, … ,3, the following matrices: n

 (n PN ) j

i 1

i

 M j,

 m11j m12j  j m m22j j M   21j  m31 m32j  j j  m41 m42

m13j m23j m33j m43j

(23)

0  0 . 0  0 

(24)

Eq. (22) can be rewritten as

tr ( A  M j )  c j , j  1,...,3.

(25)

 a11 a12 a13 t1   m11j m12j m13j 0     a22 a23 t1   m21j m22j m23j 0   a21   a31 a32 a33 t3   m31j m32j m33j 0     0 0 1   m41j m42j m43j 0   0

A M j

 a11m11j  a12 m21j  a13m31j  t1m41j     

j 12

j 22

j 32

j 42

a21m  a22 m  a23m  t2 m

a31m13j  a32 m23j  a33m33j  t3m43j

We get the following equations for 𝑗𝑗 = 1, … ,3:

  .   0 

(a11m11j  a12 m21j  a13m31j  t1m41j )  (a21m12j  a22 m22j  a23m32j  t2 m42j )  (a31m13j  a32 m23j  a33m33j  t3m43j ) c j , j  1,...,3,i  1,..., n.

(26)

(27)

3.2. Partial derivatives with respect to a Let us consider the partial derivatives with respect to 𝑎𝑎𝑖𝑖𝑖𝑖 , 𝑖𝑖, 𝑗𝑗 = 1, … ,3.

J  aij n

n

 2  Ap , n k 1

  Ap k 1

 The

n

k

k

k

 p kj nij  2 p kj nik  q k , n k  0,i, j 1...3, k 1,..., n.

(28)

, n k  p kj nij  p kj nik  q k , n k   n

  Ap k , nk  p kj nij   p kj nik  q k , nk  0.

k 1 k 1 sum ∑𝑛𝑛𝑘𝑘=1 𝑝𝑝𝑗𝑗𝑘𝑘 𝑛𝑛𝑖𝑖𝑘𝑘 < 𝑞𝑞 𝑘𝑘 , 𝑛𝑛𝑘𝑘 > is

a constant with respect to 𝐴𝐴, denote it by 𝑐𝑐𝑖𝑖𝑖𝑖 :

(29)

6

A. Makovetskii et al. / Procedia Engineering 201000–000 (2017) 322–330 A. Makovetskii et al. / Procedia Engineering 00 (2017) n

p k 1

k j

327

 q k , n k  c 1,...,3. ij , i , j

(30)

The expression (29) takes the form: n

  Ap , n k

k

 p kj nij  cij .

k 1

(31)

Taking into account Eq. (15), Eq. (31) can be rewritten as n

 p n tr ( A  ( PN ) ) c ,i, j 1,...,3. k 1

k k j i

k

(32)

ij

Denote by (𝑝𝑝𝑗𝑗𝑘𝑘 𝑛𝑛𝑖𝑖𝑘𝑘 𝑃𝑃𝑃𝑃 𝑘𝑘 ) the following matrices:

 p1k n1k p kj n ik  k k k k pn pn k k k (p j n i PN )   2k 1k kj ik  p3 n1 p j n i  k k k  n pn  1 j i

p1k n2k p kj n ik k k 2 2 k k 3 2 k k j 2

k j k j

pn pn pn pn

k i k i

n p n ik

p1k n3k p kj n ik k k 2 3 k k 3 3 k k j 3

k j k j

pn pn pn pn

k i k i

n p n ik

The expression (32) can be rewritten as n

 tr ( A  p n PN k k j i

k 1

k

0  0 . 0  0 

(33)

) cij .

(34)

Denote by 𝑀𝑀𝑖𝑖𝑖𝑖 , 𝑖𝑖, 𝑗𝑗 = 1, … ,3, the following matrices: n

 ( p n PN k 1

k k j i

k

)  M ij ,

 m11ij m12ij  ij ij m m22 ij M   21 ij ij  m31 m32  ij ij  m41 m42 A M j

m13ij ij m23 ij m33 ij m43

(35)

0  0 . 0  0 

(36)

 a11 a12 a13 t1   m11ij m12ij m13ij 0      ij ij ij a22 a23 t1   m21 m22 m23 0  a21  ij ij ij  a31 a32 a33 t3   m31 m32 m33 0     ij ij ij 0 0 1   m41 m42 m43 0   0

ij ij ij  a11m11ij  a12 m21  a13m31  t1m41  ij ij ij a21m12ij  a22 m22  a23m32  t2 m42     Finally, we obtain nine equations for 𝑖𝑖, 𝑗𝑗 = 1, … ,3:

ij ij ij a31m13ij  a32 m23  a33m33  t3m43

   . (37)   0 

ij ij ij ij ij ij ij ij ij (a11m11ij  a12m21  a13m31  t1m41 )  (a21m12ij  a22m22  a23m32  t2m42 )  (a31m13ij  a32m23  a33m33  t3m43 )  c j , i, j  1,...,3.

We get the set of 12 linear equations in Eq. (27) and Eq. (38) with 12 variables 𝑎𝑎𝑖𝑖𝑖𝑖 , 𝑡𝑡𝑘𝑘 , 𝑖𝑖, 𝑗𝑗, 𝑘𝑘 = 1, … ,3. Remark. Since 𝐽𝐽(𝐴𝐴) is a convex and bounded function, a solution of the set of equations exists and can be computed by standard SVD (singular value decomposition) method [18].

(38)

A. Makovetskii et al. / Procedia Engineering 201 (2017) 322–330 A. Makovetskii et al. / Procedia Engineering 00 (2017) 000–000

328

7

4. Computer simulation Let 𝑃𝑃 be the cloud consists of 34,834 points (“Stanford bunny”), see Fig. 1 (blue colour). The cloud 𝑄𝑄 is obtained from 𝑃𝑃 by the orthogonal transformation 𝑄𝑄 = 𝑇𝑇1 ∗ 𝑃𝑃, where 𝑇𝑇1 is given by  0.630223 0.27876 0.724646 1    0.393807 0.919126 0.0110813 1  T1   .  0.669131 0.278387 0.689032 0    0 0 0 1 

The correspondence between the points in the two clouds is exactly known.

Fig. 1. Cloud 𝑃𝑃 (blue), cloud 𝑄𝑄 (yellow).

Computed by the proposed method transformation 𝐴𝐴1 is given as 1  0.630223 0.27876 0.724646    0.393807 0.919126 0.0110813 1 . A1    0.669131 0.278387 0.689032 2.44542e  16    0 0 0 1  

Fig. 2 shows the clouds 𝑃𝑃′ = 𝐴𝐴1 ∗ 𝑃𝑃 (blue) and 𝑄𝑄 (yellow) together.

Fig. 2. Cloud 𝑃𝑃′ = 𝐴𝐴1 ∗ 𝑃𝑃 (blue), cloud 𝑄𝑄 (yellow).

Let the cloud 𝑄𝑄 is obtained from 𝑃𝑃 by the affine transformation 𝑄𝑄 = 𝑇𝑇2 ∗ 𝑃𝑃, where 𝑇𝑇2 is given by  1.65903 0.384656 1.04864  0.176319 0.800628 0.572631 T2    0.529919 0.567455 0.630223  0 0 0 

1  1 . 0  1

The correspondence between the points in the two clouds is exactly known. Fig. 2 shows the clouds 𝑃𝑃 (blue) and 𝑄𝑄 (yellow). The points clouds 𝑃𝑃 and 𝑄𝑄 are presented as surfaces.

Fig. 3. Cloud 𝑃𝑃 (blue), cloud 𝑄𝑄 (yellow).

Computed by the proposed method transformation 𝐴𝐴2 is given as

8

A. Makovetskii et al. / Procedia Engineering 201 (2017) 322–330 A. Makovetskii et al. / Procedia Engineering 00 (2017) 000–000

329

1  1.65903 0.384656 1.04864    0.176319 0.800628 0.572631 1   A2  .  0.529919 0.567455 0.630223 3.43994e  16    0 0 0 1  

Fig. 4. Cloud 𝑃𝑃′ = 𝐴𝐴2 ∗ 𝑃𝑃 (blue), cloud 𝑄𝑄 (yellow).

Fig. 4 shows the clouds 𝑃𝑃′ = 𝐴𝐴2 ∗ 𝑃𝑃 (blue) and 𝑄𝑄 (yellow) together. The clouds are completely coincides.

5. Conclusion

In this paper, we considered matching and error minimizing steps of the ICP algorithm. A new efficient algorithm for affine registration of point clouds by incorporating the affine transformation into the point-to-plane ICP algorithm was proposed. At each iterative step of the algorithm, a closed-form solution for the affine transformation was derived. The obtained results are illustrated with the help of computer simulation. Acknowledgements The work was supported by the Ministry of Education and Science of Russian Federation (grant № 2.1743.2017). References [1] Y. Chen, G. Medioni, Object Modeling by Registration of Multiple Range Images, Proc. IEEE Conf. on Robotics and Automation, 1991. [2] P. Besl, N. McKay, Method for Registration of 3-D Shapes, Trans. PAMI, 14 (1992). [3] Y. Goshin, V. Fursov, 3D scene reconstruction from stereo images with unknown extrinsic parameters, Computer Optics. 39 (2015) 770–776. [4] A. Efimov, A. Novikov, An algorithm for multistage projective transformation adjustment for image superimposition, Computer Optics. 40 (2016) 258–265. [5] N.G. Fedotov, A.A. Syemov, A.V. Moiseev, Analysis of conditions that influence the properties of the constructed 3D-image features, Computer Optics. 40 (2016) 887–894. [6] O. Faugeras, M. Hebert, The Representation, Recognition, and Locating of 3-D Objects, Int. J. Robotic Res. 5 (1986). [7] F. Stein, G. Medioni, Structural Indexing: Efficient 3-D Object Recognition, Trans. PAMI, 14 (1992). [8] A. Johnson, M. Hebert, Surface Registration by Matching Oriented Points, Proc. 3DIM, 1997. [9] C. Dorai, J. Weng, A. Jain, Optimal Registration of Object Views Using Range Data, Trans. PAMI, 19 (1997). [10] C. Chen, Y. Hung, J. Cheng, A Fast Automatic Method for Registration of Partially-Overlapping Range Images, Proc. ICCV, 1998. [11] C. Chen, Y. Hung, J. Cheng, RANSAC-Based DARCES: A New Approach to Fast Automatic Registration of Partially Overlapping Range Images, Trans. PAMI, 21 (1999). [12] B. Horn, H. Hilden, S. Negahdaripour, Closed-form Solution of Absolute Orientation Using Orthonormal Matrices, Journal of the Optical Society of America Series A. 5 (1988) 1127–1135. [13] B. Horn, Closed-Form Solution of Absolute Orientation Using Unit Quaternions, Journal of the Optical Society of America A. 4 (1987) 629– 642. [14] S. Du, N. Zheng, S. Ying, Q. You, Y. Wu, An extension of the ICP algorithm considering scale factor, Proc. 14th IEEE Internat. Conf. on Image Processing (ICIP), 2007, pp. 193–196. [15] S. Du, N. Zheng, G. Meng, Z. Yuan, Affine Registration of Point Sets Using ICP and ICA, IEEE Signal Processing Letters. 15 (2008) 689– 692. [16] S. Du, N. Zheng, S. Ying, J. Liu, Affine iterative closest point algorithm for point set registration, Pattern Recognition Letters. 31 (2010) 791–799. [17] S. Rusinkiewicz, M. Levoy, Efficient Variants of the ICP Algorithm, Proceedings of the International Conference on 3-D Digital Imaging and Modeling, 2001, pp. 145–152. [18] D. Tihonkih, A. Makovetskii, V. Kuznetsov, A modified iterative closest point algorithm for shape registration, Proc. SPIE. 9971 (2016) 99712D.

330

A. Makovetskii et al. / Procedia Engineering 201 (2017) 322–330 A. Makovetskii et al. / Procedia Engineering 00 (2017) 000–000

9

[19] D. Tihonkih, A. Makovetskii, V. Kuznetsov, The iterative closest points algorithm and affine transformations, Proc. Int. Conference of Analysis of Images, Social Networks, and Texts (AIST 2016), 2016, pp. 351–359. [20] A. Vokhmintsev, A. Makovetskii, V. Kober, I. Sochenkov, V. Kuznetsov, A fusion algorithm for building three-dimensional maps Proc. SPIE. 9599 (2015) 959929–959931. [21] W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical Recipes in C: The Art of Scientific Computing, second ed. Cambridge University Press, 1992.