+ All Categories
Transcript

Dmitrii Tihonkih

Department of Mathematics, Chelyabinsk State University, Russian Federation

Artyom Makovetskii

Department of Mathematics, Chelyabinsk State University, Russian Federation

Vladislav Kuznetsov

Department of Mathematics, Chelyabinsk State University, Russian Federation

E-mails: [email protected], [email protected], [email protected]

The iterative closest points algorithm and affine

transformations

AIST'2016

IntroductionThe standard ICP starts with two point clouds fortheir relative rigid-body transform, anditeratively refines the transform by repeatedlygenerating pairs of corresponding points in theclouds and minimizing an error metric.

The ICP stages:

1. Selection of some set of points in oneclouds.

2. Matching these points to samples inthe other cloud.

3. Rejecting certain pairs based onlooking at each pair individually orconsidering the entire set of pairs.

4. Assigning an error metric based onthe point pairs.

5. Minimizing the error metric(variational subproblem of the ICP).

Our main focus is on the accuracy of the finalanswer and the ability of ICP to reach thecorrect solution for a given difficult geometry.We consider transformation that hold theangles between lines in the cloud of points.Also we consider the ICP minimizing the errormetric subproblem for the case of an arbitraryaffine transformation.

The matching procedure for sets 𝐗and 𝐘

Let 𝑋 = {π‘₯0, … , π‘₯π‘˜βˆ’1} be an set consist of π‘˜points in ℝ3 and π‘Œ = {𝑦0, … , π‘¦π‘›βˆ’1} be an set consist of 𝑛 points in ℝ3. Denote by (π‘₯𝑖 , 𝑦𝑗),

π‘₯𝑖 ∈ 𝑋, 𝑦𝑗 ∈ π‘Œ the pair of corresponding

points. 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. Consider the following subset 𝑋𝑖 of the 𝑋: 𝑋𝑖 = {π‘₯π‘šβˆ— π‘–βˆ’1 , … , π‘₯π‘šβˆ— π‘–βˆ’1 +π‘šβˆ’1}.

2. Let 𝐢 be a closed piecewise linear curve in ℝ3

that consist of π‘š line segments. The 𝑗-th segment connects points π‘₯π‘šβˆ— π‘–βˆ’1 +𝑗 and π‘₯π‘šβˆ— π‘–βˆ’1 +𝑗+1.

Denote by 𝛼𝑗 a minimal flat angle that is

constructed by 𝑗-th and (𝑗 + 1)-th segments.Let 𝑉𝑋 be a vector

𝑉𝑋 = {𝛼0, … , π›Όπ‘šβˆ’1},

where elements Ξ±j, j = 0, … ,m βˆ’ 1 are

respective angles.

3. Consider all possible combinations of mpoints 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 between them and 𝑉𝑋 is minimal relatively the norm 𝐿1. Denote this vector as π‘‰π‘Œ.

5. We construct π‘š pairs of the points by 𝑉𝑋 and π‘‰π‘Œ. Add this m pairs to the set of pairs.

6. If the number of remaining points in 𝑋 or π‘Œ less that π‘š then procedure terminates. Else 𝑖 ≔ 𝑖 + 1and 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.

The described above approach can good work not for rigid transformation only but for sufficiently wide subset of the affine transformations.

The ICP variational subproblem for

an arbitrary affine transformation

Suppose that the relationship between points in 𝑋 and π‘Œ is done by such a way that for each point π‘₯𝑖 is calculated corresponding point 𝑦𝑖.

The ICP algorithm is offten 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 is given by

𝑅𝑆π‘₯𝑖 + 𝑑,

where 𝑆 is a scaling matrix.

ICP variational problem for the case of an arbitrary affine transformation.Let 𝐽(𝐴, 𝑇) be the following function:

𝐽 𝐴, 𝑇 = 𝑖=0π‘›βˆ’1 βˆ₯ 𝐴 π‘₯𝑖 + 𝑑 βˆ’ 𝑦𝑖 βˆ₯2.

The ICP variational problem can be stated as follows:

argπ‘šπ‘–π‘› 𝐽 𝐴, 𝑑 ,

𝐴, 𝑑

where

𝐴 =

π‘Ž11 π‘Ž12 π‘Ž13

π‘Ž21 π‘Ž22 π‘Ž23

π‘Ž31 π‘Ž32 π‘Ž33

, 𝑑 =

𝑑1𝑑2𝑑3

,

π‘₯𝑖 =

π‘₯1𝑖

π‘₯2𝑖

π‘₯3𝑖

, 𝑦𝑖 =

𝑦1𝑖

𝑦2𝑖

𝑦3𝑖

.

The elements of the first row of the matrix π΄βˆ—

that minimizes 𝐽 are computed as

π‘Ž11 = 𝑖=0

π‘›βˆ’1 𝑦1π‘–βˆ’ π‘Ž12π‘₯2π‘–βˆ’ π‘Ž13π‘₯3𝑖 π‘₯1𝑖

𝑖=0π‘›βˆ’1 π‘₯1𝑖

2 ,

π‘Ž12 = 𝑗=0

π‘›βˆ’1 𝛾𝑗 π›Όπ‘—βˆ’π‘Ž13 𝑗=0π‘›βˆ’1 𝛽𝑗 𝛼𝑗

𝑗=0π‘›βˆ’1 𝛼𝑗

2 ,

π‘Ž13 = π‘˜=0

π‘›βˆ’1 πœ‘π‘˜ πœ“π‘˜

π‘˜=0π‘›βˆ’1 πœ‘π‘˜

2 .

Computer simulation

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:

𝑅 =1 0 00 0.5 βˆ’0.8660250 0.866025 0.5

,

𝑑T = 5 6 7 .

The standard approach based on nearest neighbor method gives the following results(open source, C++):

𝑅 =0.45 0.64 0.610.89 βˆ’0.36 βˆ’0.27βˆ’0.05 βˆ’0.67 0.73

,

𝑑T = βˆ’7.56 11.22 βˆ’11.42 .

Estimated matrix 𝑅 and vector 𝑑 (our algorithm):

𝑅 =0.99 9.78eβˆ’06 9.41eβˆ’05

βˆ’0.000100597 0.499911 βˆ’0.866098βˆ’2.66211eβˆ’05 0.865921 0.499979

,

𝑑T = 5.0028 6.0127 7.00388 .

Conclusion

In this work 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.


Top Related