<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Iterative Closest Points Algorithm and Affine Transformations Dmitrii Tihonkih1, Artyom Makovetskii1 and Vladislav Kuznetsov1 1Chelyabinsk State University, Chelyabinsk, Russia</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Chelyabinsk State University</institution>
          ,
          <addr-line>Chelyabinsk</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The problem of consistent aligning of 3D point data is known registration task. The most popular registration algorithm is the Iterative Closest Point (ICP) algorithm. 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 minimization is performed for an arbitrary affine transformation.</p>
      </abstract>
      <kwd-group>
        <kwd>Iterative closest points (ICP)</kwd>
        <kwd>surface reconstruction</kwd>
        <kwd>matching</kwd>
        <kwd>error minimization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        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
transform by repeatedly generating pairs of corresponding points in the clouds and
minimizing 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 [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ], “spin-image” surface signatures [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], computing principal axes of scans
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], exhaustive search for corresponding points [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ], 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
[
        <xref ref-type="bibr" rid="ref10 ref7 ref8 ref9">7, 8, 9, 10</xref>
        ]. Since the introduction of ICP by Chen and Medioni [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and Besl and
McKay [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], 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.
      </p>
      <p>4. Rejecting certain pairs based on looking at each pair individually or considering
the entire set of pairs.</p>
      <p>5. Assigning an error metric based on the point pairs.
6. Minimizing the error metric (variational subproblem of the ICP).</p>
      <p>
        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 [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Also we consider the ICP
minimizing 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
      </p>
      <p>The matching procedure for sets  and</p>
      <p>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
corresponding 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 (, ).</p>
      <p>Denote by  a natural parameter.
1. Consider the following subset ! of the :</p>
      <p>! = {!∗ !!! , … , !∗ !!! !!!!}.</p>
      <p>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</p>
      <p>! = {!, … , !!!},
where elements α!, j = 0, … , m − 1 are respective angles.</p>
      <p>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.
(1)
(2)
(3)
4. We choose a vector from the set of vectors of the step 3 such that distance
between them and ! is minimal relatively the norm !. Denote this vector as !.</p>
      <p>5. We construct  pairs of the points from ! and !. Add this m pairs to the set of
pairs.</p>
      <p>6. If the number of remaining points in  or  less that  then procedure
terminates. Else  ≔  + 1 and go to step 1.</p>
      <p>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.</p>
      <p>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
transformations.
3</p>
    </sec>
    <sec id="sec-2">
      <title>The ICP variational subproblem for an arbitrary affine transformation</title>
      <p>
        Let  = {!, … , !!!} be a source point cloud and  = {!, … , !!!} be a
destination 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 [
        <xref ref-type="bibr" rid="ref11 ref12 ref14">11, 12, 14</xref>
        ] the ICP algorithm is considered as a geometrical
transformation for rigid objects mapping  to :
where  is a rotation matrix,  is a translation vector,  = 0, … ,  − 1. The S-ICP
algorithm [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is a slightly different geometrical transformation given by
! + ,
! + ,
where  is a scaling matrix.
      </p>
      <p>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
transformation. Let (, ) be the following function:
 ,  =</p>
      <p>!!!!!! ∥  ! +  − ! ∥!.</p>
      <p>The ICP variational problem can be stated as follows:
arg   ,  ,
A,t
(4)
(5)
(6)
(7)
where</p>
      <p>One can be seen that
 ,  =
!!!
!!!</p>
      <p>!!
 = !"
!"
!"
!!
!"
!" ! !! !!
!" ,  = ! , ! = !! , ! = !! .</p>
      <p>!! ! !! !!
( !!!! + !"!! + !"!! + ! − !!)! +
+ ( !"!! + !!!! + !"!! + ! − !!)! +
+( !"!! + !"!! + !!!! + ! − !!)!.</p>
      <p>Let new coordinates !" be expressed through old coordinates !" as follows:
!! = !" − !! !!!!!! !! ,  = 1, … ,3,  = 1, … , .</p>
      <p>Also for the points of the second cloud we can write</p>
      <p>!! = !" − !! !!!!!! !! ,  = 1, … ,3,  = 1, … , .</p>
      <p>Let us define coefficients !, !, !, ! and ! for  = 1, … ,  as
! = !! −
! = !! −
! = !! −
! = ! −
! = ! −</p>
      <p>!!!
!!! !!!! −
!</p>
      <p>!!!
!!! !!!! −
!
!!!!!! !! !! ,
!!!!!! !! !! ,
!!!
!!! !!!! !!!!!! !! !!,
!</p>
      <p>!!
!!! !!! !!!!!! ! !,
!
!!
!!! !!! !!!!!! ! !.</p>
      <p>!</p>
      <p>Proposition. The elements of the first row of the matrix ∗ that minimizes  are
computed as
!! = !!!!!! !!!! !!"!!!! !!"!!! !!!,</p>
      <p>!!!!!! !!!!
!" =
!!!!!! !! !!!!!" !!!!!! !! !!,</p>
      <p>!!!!!! !!!
!" =
!!!!!! !! !!.
!!!!!! !!!
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)</p>
      <p>For the second and third rows of the matrix  similar formulas can be easily
derived.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Computer simulation</title>
      <p>Let  be the set consists of 80 points. The coordinates of points are randomly
generated (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:
 =</p>
      <p>,
T =
5
6</p>
      <p>7 .
!! ≔ !! + ! ,
!
And each component of every point from the set  is noised by the following way.</p>
      <p>
        Here !! is uniformly distributed real number in the closed interval [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ], j is the
number of point,  = {1, 2, 3}.
      </p>
      <p>Estimated using the our algorithm matrix  and vector :
 =</p>
      <p>Fig. 1 shows initial sets  and .
(20)
(21)
(22)
(23)
(24)
(25)
(26)</p>
      <p>Fig. 2. Sets  (yellow) and  (blue).
In this paper we considered matching and error minimizing steps of the ICP
algorithm. 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.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>The work was supported by Russian Science Foundation grant №15-19-10010.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Faugeras</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Hebert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , “The Representation, Recognition, and Locating of 3-
          <string-name>
            <given-names>D</given-names>
            <surname>Objects</surname>
          </string-name>
          ,”
          <string-name>
            <surname>Int</surname>
            .
            <given-names>J. Robotic Res.</given-names>
          </string-name>
          , Vol.
          <volume>5</volume>
          , No.
          <volume>3</volume>
          (
          <year>1986</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Stein</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Medioni</surname>
            , G., “Structural Indexing: Efficient 3-
            <given-names>D</given-names>
          </string-name>
          <string-name>
            <surname>Object</surname>
          </string-name>
          Recognition,
          <source>” Trans. PAMI</source>
          , Vol.
          <volume>14</volume>
          , No.
          <volume>2</volume>
          (
          <year>1992</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , A. and
          <string-name>
            <surname>Hebert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , “Surface Registration by Matching Oriented Points,
          <source>” Proc. 3DIM</source>
          (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dorai</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weng</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Jain</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , “
          <article-title>Optimal Registration of Object Views Using Range Data,”</article-title>
          <source>Trans. PAMI</source>
          , Vol.
          <volume>19</volume>
          , No.
          <volume>10</volume>
          (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hung</surname>
          </string-name>
          , Y. and Cheng, J., “
          <article-title>A Fast Automatic Method for Registration of PartiallyOverlapping Range Images</article-title>
          ,
          <source>” Proc. ICCV</source>
          (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hung</surname>
          </string-name>
          , Y. and Cheng, J., “
          <string-name>
            <surname>RANSAC-Based</surname>
            <given-names>DARCES</given-names>
          </string-name>
          :
          <article-title>A New Approach to Fast Automatic Registration of Partially Overlapping Range Images,”</article-title>
          <source>Trans. PAMI</source>
          , Vol.
          <volume>21</volume>
          , No.
          <volume>11</volume>
          (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bergevin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soucy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gagnon</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Laurendeau</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , “
          <article-title>Towards a General Multi-View Registration Technique,”</article-title>
          <source>Trans. PAMI</source>
          , Vol.
          <volume>18</volume>
          , No.
          <volume>5</volume>
          (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Stoddart</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Hilton</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , “Registration of Multiple Point Sets,
          <source>” Proc. CVPR</source>
          (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Pulli</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <source>“Surface Reconstruction and Display from Range and Color Data,” Ph. D. Dissertation</source>
          , University of Washington (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Pulli</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , “
          <article-title>Multiview Registration for Large Data Sets,”</article-title>
          <source>Proc. 3DIM</source>
          (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Medioni</surname>
          </string-name>
          , G.,
          <article-title>“Object Modeling by Registration of Multiple Range Images,”</article-title>
          <source>Proc. IEEE Conf. on Robotics and Automation</source>
          (
          <year>1991</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Besl</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>McKay</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <article-title>“A Method for Registration of 3</article-title>
          -
          <string-name>
            <given-names>D</given-names>
            <surname>Shapes</surname>
          </string-name>
          ,”
          <source>Trans. PAMI</source>
          , Vol.
          <volume>14</volume>
          , No.
          <volume>2</volume>
          (
          <year>1992</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Petitot</surname>
          </string-name>
          , J., “
          <article-title>The neurogeometry of pinwheels as a sub-Riemannian contact structure</article-title>
          ,” J. Physiology - Paris,
          <year>97</year>
          ,
          <fpage>265</fpage>
          -
          <lpage>309</lpage>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Langis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greenspan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Godin</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>"The parallel Iterative closest point algorithm," Proc</article-title>
          . IEEE Third International Conference 3-
          <string-name>
            <given-names>D</given-names>
            <surname>Digital</surname>
          </string-name>
          Imaging and Modeling,
          <volume>195</volume>
          -
          <fpage>204</fpage>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Lowe</surname>
            ,
            <given-names>D. G.</given-names>
          </string-name>
          ,
          <article-title>"Object recognition from local scale invariant features,"</article-title>
          <source>Proc. 7th International conference on Computer Vision</source>
          ,
          <volume>2</volume>
          ,
          <fpage>1150</fpage>
          -
          <lpage>1157</lpage>
          (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>