Next Article in Journal
Teachers’ Mathematics Knowledge for Teaching Early Algebra: A Systematic Review from the MKT Perspective
Next Article in Special Issue
Predicting the Traffic Capacity of an Intersection Using Fuzzy Logic and Computer Vision
Previous Article in Journal
Multigranulation Roughness of Intuitionistic Fuzzy Sets by Soft Relations and Their Applications in Decision Making
Previous Article in Special Issue
On the Classification of MR Images Using “ELM-SSA” Coated Hybrid Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Point Cloud Registration Based on Multiparameter Functional

1
Deparment of Mathematics, Chelyabinsk State University, 454001 Chelyabinsk, Russia
2
Department of Computer Science, CICESE, Ensenada 22860, BC, Mexico
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(20), 2589; https://doi.org/10.3390/math9202589
Submission received: 6 September 2021 / Revised: 1 October 2021 / Accepted: 11 October 2021 / Published: 15 October 2021
(This article belongs to the Special Issue Intelligent Computing in Industry Applications)

Abstract

:
The registration of point clouds in a three-dimensional space is an important task in many areas of computer vision, including robotics and autonomous driving. The purpose of registration is to find a rigid geometric transformation to align two point clouds. The registration problem can be affected by noise and partiality (two point clouds only have a partial overlap). The Iterative Closed Point (ICP) algorithm is a common method for solving the registration problem. Recently, artificial neural networks have begun to be used in the registration of point clouds. The drawback of ICP and other registration algorithms is the possible convergence to a local minimum. Thus, an important characteristic of a registration algorithm is the ability to avoid local minima. In this paper, we propose an ICP-type registration algorithm ( λ -ICP) that uses a multiparameter functional ( λ -functional). The proposed λ -ICP algorithm generalizes the NICP algorithm (normal ICP). The application of the λ -functional requires a consistent choice of the eigenvectors of the covariance matrix of two point clouds. The paper also proposes an algorithm for choosing the directions of eigenvectors. The performance of the proposed λ -ICP algorithm is compared with that of a standard point-to-point ICP and neural network Deep Closest Points (DCP).

1. Introduction

Point cloud registration is a key element in the reconstruction of a 3D spatial environment for robots and sensors. Point cloud registration means finding an orthogonal transformation in R 3 that maximizes a consistent overlap between two clouds. The iterative closest points algorithm (ICP) [1,2] is the most known algorithm for registering point clouds. The two basic steps of the ICP algorithm alternate with each other, that is, the estimation of the geometric transformation based on a fixed correspondence (variational problem of the ICP algorithm) and updating the correspondences to their closest matches (matching step).
The most famous functionals used in the variational problem are presented in various ICP variants; that is, point-to-point [1], point-to-plane [2], generalized ICP [3] and normal ICP (NICP) [4,5]. In [6], a closed-form solution to the point-to-point affine problem is described. Closed-form solutions to the affine point-to-plane problem are suggested [7,8]. Closed-form solutions to the point-to-point problem in the class of orthogonal transformations are obtained [9,10,11].
More robust ICP algorithms with other functionals have also been proposed, which are called generalized ICP [4] and NICP [5]. The corresponding variational problems are solved using the iterative conjugate gradients and Gauss–Newton methods [4,5].
The variational ICP problem can be solved not only by deterministic, but also by stochastic methods. One of them is the Grey Wolf Optimizer (GWO) algorithm. Recently, GWO has been applied to a rough point clouds alignment [12] and to the realization of the point-to-point ICP algorithm [13].
Usually, the ICP algorithm monotonically reduces functional values, but owing to the problem non-convexity, the algorithm often stops at suboptimal local minima. Thus, the probability of obtaining an acceptable transformation as a result of the ICP algorithm is a comparative criterion for different types of ICP algorithms and other types of registration algorithms.
The paper [4] presents an experimental comparative analysis of the NICP algorithm, generalized ICP, NDT [14] and KinFu [15]. The analysis shows that the NICP yields better results and a higher robustness compared to the state-of-the-art methods [4]. A closed-form solution to the NICP variational problem is proposed [5]. A comparative analysis of the Gauss–Newton iterative method [4] and the closed-form solution to the NICP variational problem are also obtained [5].
Recently, neural network-based approaches have been proposed for point cloud classification, segmentation and shape matching [16,17,18]. Methods for registering point clouds using neural networks have also been recently suggested [18,19,20]. In particular, an efficient neural network approach referred to as Deep Closest Points (DCP) was applied to the problem of registering point clouds [21]. The DCP neural network implements the main steps of the ICP algorithm. The DCP algorithm maps input point clouds with permutations/rigid-invariant embedding that help identify matching pairs of points; the attention-based module then predicts a soft match between the point clouds; finally, the differentiable singular value decomposition layer predicts the rigid transformation [21]. DCP is trained on the ModelNet40 3D point clouds database [22]. In [21], a comparative analysis of the DCP, ICP and PointNetLK neural network [23] algorithms was carried out.
The complexity of the registration task depends on the features of the source and target point clouds. If the point clouds are congruent, then we have a relatively simpler registration problem than in the case of non-congruent clouds.
Note that in real-world applications, a registration algorithm must deal with non-congruent point clouds. An important part of comparing registration algorithms is their evaluation on non-congruent clouds. An easy way to obtain a pair of non-congruent clouds is to add noise.
In this paper, we propose an ICP variational problem based on the functional which we call λ -functional. Accordingly, the version of ICP described here is referred to as λ -ICP. The proposed λ -functional is a generalization of the NICP functional [4,5]. The NICP functional requires the computation of the covariance matrix in the neighborhood of each point in the cloud. The functional includes an information matrix associated with the covariance matrix. The covariance matrix is factorized by the eigenvalue decomposition into the product of orthogonal eigenvector matrices and a diagonal eigenvalue matrix. The information matrix coincides with the covariance matrix or differs from it by the diagonal elements in the eigenvalue matrix.
In [5], it was noted that the selection of diagonal elements for a given point cloud increases the probability of NICP convergence to an acceptable solution. The application of the proposed λ -functional is based on this observation. The following method is proposed to solve the λ -ICP variational problem. First, we find a solution to the variational problem in the GL (3) class. Second, we project the obtained result onto the submanifold S O ( 3 ) in R 9 . Finally, the translation vector is calculated. These three steps provide a closed-form solution to the variational problem of the λ -ICP algorithm that approximates the exact solution. A similar approximation method is used for the point-to-plane ICP [24] and NICP [5].
It is known that conventional eigenvalue decomposition algorithms provide eigenvectors with unpredictable directions [25,26]. The method proposed in [26] reorients each eigenvector so that its sign is coherent with the majority of the vectors. Note that the correct choice of directions of the eigenvectors is critical for the correct work of the λ -ICP algorithm. In this paper, we propose an algorithm for reorienting eigenvectors that are computed in a neighborhood within a point cloud. We call this algorithm “direction predictor”.
Using a computer simulation, we show that the proposed λ -ICP algorithm converges well to a suitable orthogonal transformation for a wide class of regularization tasks.
The paper is organized as follows: In Section 2, we propose a closed-form approximation of the exact solution to the variation problem with λ -functional. In Section 3, we describe the direction predictor algorithm. In Section 4, computer simulation results are presented and discussed. Section 5 summarizes our conclusions.

2. λ -Functional and Its Minimization

2.1. Information Matrices

Let P = { p 1 , , p s } be a source point cloud, and Q = { q 1 , , q s } be a target point cloud in R 3 . Suppose that the relation between points of P and Q is given in such a manner that for each point p i there is a corresponding point q i .
The information matrices were introduced in [4]. Information matrices had a size of 3 × 3 and were symmetric. Let us consider the k-neighborhood { p i 1 , , p i k } of a point p i P , i = 1 , , s . The mass center p i ^ of the neighborhood and the covariance Σ i were calculated as follows:
p i ^ = 1 k j = 1 k p i j ,
Σ i = 1 k j = 1 k ( p i j p i ^ ) t ( p i j p i ^ ) .
The eigendecomposition of the matrix Σ i was calculated as:
Σ i = i λ 1 0 0 0 λ 2 0 0 0 λ 3 i t ,
where λ 1 , λ 2 , λ 3 are the eigenvalues of Σ i in ascending order, i is the orthogonal matrix of eigenvectors. We defined here an information matrix Ω i p of point p i P as:
Ω i p = i Λ i i t ,
where Λ i = d i a g ( λ 1 , λ 2 , λ 3 ) . We considered λ 1 , λ 2 , λ 3 as variable parameters. These parameters were selected individually for a given point cloud.
The information matrices Ω i q for point cloud Q were defined similarly.
Denote the surfaces constructed from clouds P and Q by S ( P ) and S ( Q ) , respectively. Let T P ( p i ) and T Q ( q i ) be the tangent planes of S ( P ) and S ( Q ) at points p i and q i , respectively. Let n i p and n i q be the normal vectors to the planes T P ( p i ) and T Q ( q i ) , respectively, i = 1 , , s . The normal information matrices Ω i n for the cloud Q were defined in the same way as the information matrices Ω i q .

2.2. NICP Functional and Its Decomposition

Denote by J Ω the following functional:
J Ω ( R , T ) = i = 1 s ( R p i + T q i ) t Ω i q ( R p i + T q i ) + i = 1 s ( R n i p n i q ) t Ω i n ( R n i p n i q ) ,
where Ω p = { Ω 1 p , Ω s p } and Ω n = { Ω 1 n , Ω s n } are point information and normal information matrices, respectively.
J Ω ( R , T ) is the NICP functional [4,5].
Let us consider the first term of the functional J Ω . Denote the vector R p i + T q i and its coordinates as v i = ( v i 1 v i 2 v i 3 ) t . The term can be rewritten as: -4.6cm0cm
i = 1 s ( v i 1 v i 2 v i 3 ) Ω i q v i 1 v i 2 v i 3 = i = 1 s ( v i 1 v i 2 v i 3 ) i Λ i i t v i 1 v i 2 v i 3 = i = 1 s ( v i 1 v i 2 v i 3 ) i Λ i Λ i i t v i 1 v i 2 v i 3 = i = 1 s ( v i 1 v i 2 v i 3 ) i Λ i ( Λ i ) t i t v i 1 v i 2 v i 3 = i = 1 s ( ( v i 1 v i 2 v i 3 ) i Λ i ) ( ( v i 1 v i 2 v i 3 ) i Λ i ) t = i = 1 s < ( v i 1 v i 2 v i 3 ) i Λ i , ( v i 1 v i 2 v i 3 ) i Λ i > ,
where Λ i = d i a g ( Λ i 1 , Λ i 2 , Λ i 3 ) . Denote by r i 1 , r i 2 and r i 3 columns of the matrix i . Consider the following expression:
( v i 1 v i 2 v i 3 ) i Λ i = ( λ i 1 < r i 1 , v i > λ i 2 < r i 2 , v i > λ i 3 < r i 3 , v i > ) .
It follows from Formulas (6) and (7) that:
i = 1 s < ( v i 1 v i 2 v i 3 ) i Λ i , ( v i 1 v i 2 v i 3 ) i Λ i > = i = 1 s λ i 1 < r i 1 , v i > 2 + λ i 2 < r i 2 , v i > 2 + λ i 3 < r i 3 , v i > 2 ,
and
i = 1 s ( R p i + T q i ) t Ω i q ( R p i + T q i ) = i = 1 s v i t Ω i q v i = i = 1 s λ i 1 < r i 1 , v i > 2 + λ i 2 < r i 2 , v i > 2 + λ i 3 < r i 3 , v i > 2 .

2.3. Definition of the λ -Functional

Let us consider the k-neighborhood of point p i in cloud P. The eigenvectors r i 1 p , r i 2 p and r i 3 p of the corresponding covariance matrix formed a local vector frame ( r i 1 q , r i 2 q and r i 3 q for the point q i in the cloud Q). Rotation R maps the local frame r i 1 p , r i 2 p , r i 3 p in P to the local frame r i 1 q , r i 2 q , r i 3 q in Q. We wrote the functional J a u x by decomposing the vectors ( R r i 1 p r i 1 q ) , ( R r i 2 p r i 2 q ) and ( R r i 3 p r i 3 q ) similarly as with vector v i in (9):
J a u x ( R ) = i = 1 s λ i 11 < r i 1 q , R r i 1 p r i 1 q > 2 + λ i 12 < r i 2 q , R r i 1 p r i 1 q > 2 + λ i 13 < r i 3 q , R r i 1 p r i 1 q > 2 + λ i 21 < r i 1 q , R r i 2 p r i 2 q > 2 + λ i 22 < r i 2 q , R r i 2 p r i 2 q > 2 + λ i 23 < r i 3 q , R r i 2 p r i 2 q > 2 + λ i 31 < r i 1 q , R r i 3 p r i 3 q > 2 + λ i 32 < r i 2 q , R r i 3 p r i 3 q > 2 + λ i 33 < r i 3 q , R r i 3 p r i 3 q > 2 = i = 1 s ( R r i 1 p r i 1 q ) t i Λ i 1 i t ( R r i 1 p r i 1 q ) + ( R r i 2 p r i 2 q ) t i Λ i 2 i t ( R r i 2 p r i 2 q ) + ( R r i 3 p r i 3 q ) t i Λ i 3 i t ( R r i 3 p r i 3 q ) = i = 1 s ( R r i 1 p r i 1 q ) t Ω i 1 q ( R r i 1 p r i 1 q ) + ( R r i 2 p r i 2 q ) t Ω i 2 q ( R r i 2 p r i 2 q ) + ( R r i 3 p r i 3 q ) t Ω i 3 q ( R r i 3 p r i 3 q ) .
Remark 1.
It is possible to consider not only the correspondence between clouds P and Q, but also the correspondence between Q and P, that is, we established in correspondence point p i in cloud P with point q i in cloud Q.
Denote by ρ i 1 p , ρ i 2 p , ρ i 3 p vectors in cloud P and ρ i 1 q , ρ i 2 q , ρ i 3 a in Q that were defined the same way as vectors r i 1 p , r i 2 p , r i 3 p and r i 1 q , r i 2 q , r i 3 q (for inverse correspondence) were.
Denote by J 1 , …, J 7 the following functionals:
J 1 ( R ) = i = 1 s ( R r i 1 p r i 1 q ) t Ω i 1 q ( R r i 1 p r i 1 q ) ,
J 2 ( R ) = i = 1 s ( R r i 2 p r i 2 q ) t Ω i 2 q ( R r i 2 p r i 2 q ) ,
J 3 ( R ) = i = 1 s ( R r i 3 p r i 3 q ) t Ω i 3 q ( R r i 3 p r i 3 q ) ,
J 4 ( R , T ) = i = 1 s ( R p i + T q i ) t Ω i 4 q ( R p i + T q i ) ,
J 5 ( R ) = i = 1 s ( R t ρ i 1 q ρ i 1 p ) t Ω i 1 p ( R t ρ i 1 q ρ i 1 p ) ,
J 6 ( R ) = i = 1 s ( R t ρ i 2 q ρ i 2 p ) t Ω i 2 p ( R t ρ i 2 q ρ i 2 p ) ,
J 7 ( R ) = i = 1 s ( R t ρ i 3 q ρ i 3 p ) t Ω i 3 p ( R t ρ i 3 q ρ i 3 p ) .
The λ -functional J λ was given as:
J λ ( R , T ) = J 1 ( R ) + J 2 ( R ) + J 3 ( R ) + J 4 ( R , T ) + J 5 ( R ) + J 6 ( R ) + J 7 ( R ) .
We stated the following variational problem:
( R * , T * ) = a r g min R , T J λ ( R , T ) .

2.4. λ -Functional in Homogeneous Coordinates

Here, we introduced the following notations in homogeneous coordinates:
p i = ( p i 1 p i 2 p i 3 1 ) t , q i = ( q i 1 q i 2 q i 3 1 ) t , i = 1 , , s , T = ( T 1 T 2 T 3 0 ) t , A = a 11 a 12 a 13 0 a 21 a 22 a 23 0 a 31 a 32 a 33 0 0 0 0 0 , A ^ = a 11 a 12 a 13 T 1 a 21 a 22 a 23 T 2 a 31 a 32 a 33 T 3 0 0 0 0 , Ω i k h p = ( Ω i k p ) 11 ( Ω i k p ) 12 ( Ω i k p ) 13 0 ( Ω i k p ) 21 ( Ω i k p ) 22 ( Ω i k p ) 23 0 ( Ω i k p ) 31 ( Ω i k p ) 32 ( Ω i k p ) 33 0 0 0 0 0 , k = 5 , 6 , 7 , Ω i k h q = ( Ω i k q ) 11 ( Ω i k q ) 12 ( Ω i k q ) 13 0 ( Ω i k q ) 21 ( Ω i k q ) 22 ( Ω i k q ) 23 0 ( Ω i k q ) 31 ( Ω i k q ) 32 ( Ω i k q ) 33 0 0 0 0 0 , k = 1 , 2 , 3 , r i k p = ( r i k 1 p r i k 2 p r i k 3 p 0 ) t , r i k q = ( r i k 1 q r i k 2 q r i k 3 q 0 ) t , k = 1 , 2 , 3 ρ i k p = ( ρ i k 1 p ρ i k 2 p ρ i k 3 p 0 ) t , ρ i k q = ( ρ i k 1 q ρ i k 2 q ρ i k 3 q 0 ) t , k = 1 , 2 , 3
where the rotation matrix R consisted of elements:
R = a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ,
The functionals J 1 ,…, J 7 in homogeneous coordinates took the form:
J k ( A ) = i = 1 s ( A r i k p r i k q ) t Ω i k h q ( A r i k p r i k q ) , k = 1 , 2 , 3 ,
J 4 ( A ^ ) = i = 1 s ( A ^ p i q i ) t Ω i 4 q ( A ^ p i q i ) ,
J k ( A ) = i = 1 s ( A t ρ i k q ρ i k p ) t Ω i k h p ( A t ρ i k q ρ i k p ) , k = 5 , 6 , 7 .
The functional J λ in homogeneous coordinates could be written as:
J λ ( A ^ ) = J 1 ( A ) + J 2 ( A ) + J 3 ( A ) + J 4 ( A ^ ) + J 5 ( A ) + J 6 ( A ) + J 7 ( A ) .
The variational problem (19) could be rewritten as:
( A ^ * ) = a r g min A ^ J λ ( A ^ ) .

2.5. Gradient of the λ -Functional

The gradients of the functionals J 1 , , J 7 were computed by formulas described in [5]:
J k ( A ) = 2 i = 1 s Ω i k q A ( r i k p ( r i k p ) t ) 2 i = 1 s Ω i k q ( r i k q ( r i k p ) t ) , k = 1 , 2 , 3 ,
J 4 ( A ^ ) = 2 i = 1 s Ω i 4 q A ^ ( p i ( p i ) t ) 2 i = 1 s Ω i k q ( q i ( p i ) t ) ,
J k ( A ) = 2 i = 1 s Ω i ( k 4 ) p A t ( ρ i ( k 4 ) q ( ρ i ( k 4 ) q ) t ) 2 i = 1 s Ω i ( k 4 ) p ( ρ i ( k 4 ) p ( ρ i ( k 4 ) q ) t ) , k = 5 , 6 , 7 .
The gradient of the λ -functional took the form:
J λ ( A ^ ) = J 1 ( A ) + J 2 ( A ) + J 3 ( A ) + J 4 ( A ^ ) + J 5 ( A ) + J 6 ( A ) + J 7 ( A ) .
Consider the following equation:
J λ ( A ^ ) = 0 .
Rewrite (30) by taking into account (26)–(28) as:
i = 1 s Ω i 1 q A ( r i 1 p ( r i 1 p ) t ) + i = 1 s Ω i 2 q A ( r i 2 p ( r i 2 p ) t ) + i = 1 s Ω i 3 q A ( r i 3 p ( r i 3 p ) t ) + 2 i = 1 s Ω i 4 q A ^ ( p i ( p i ) t ) + i = 1 s Ω i 1 p A t ( ρ i 1 q ( ρ i 1 q ) t ) + i = 1 s Ω i 2 p A t ( ρ i 2 q ( ρ i 2 q ) t ) + i = 1 s Ω i 3 p A t ( ρ i 3 q ( ρ i 3 q ) t ) = i = 1 s Ω i 1 q ( r i 1 q ( r i 1 p ) t ) + i = 1 s Ω i 2 q ( r i 2 p ( r i 2 p ) t ) + i = 1 s Ω i 3 q ( r i 3 p ( r i 3 p ) t ) + i = 1 s Ω i 4 q ( q i ( p i ) t ) + i = 1 s Ω i 1 p ( ρ i 1 p ( ρ i 1 q ) t ) + i = 1 s Ω i 2 p ( ρ i 2 p ( ρ i 2 q ) t ) + i = 1 s Ω i 3 p ( ρ i 2 p ( ρ i 3 q ) t ) .
Denote by M the right part of the Equation (31). Note that M is the known matrix. We rewrote (31) in the following way:
i = 1 s Ω i 1 q A ( r i 1 p ( r i 1 p ) t ) + i = 1 s Ω i 2 q A ( r i 2 p ( r i 2 p ) t ) + i = 1 s Ω i 3 q A ( r i 3 p ( r i 3 p ) t ) + 2 i = 1 s Ω i 4 q A ^ ( p i ( p i ) t ) + i = 1 s Ω i 1 p A t ( ρ i 1 q ( ρ i 1 q ) t ) + i = 1 s Ω i 2 p A t ( ρ i 2 q ( ρ i 2 q ) t ) + i = 1 s Ω i 3 p A t ( ρ i 3 q ( ρ i 3 q ) t ) = M .
We rewrote the system of linear Equation (32) in the matrix form:
B A ^ * = M ,
where B was a 12 × 12 matrix:
M = ( M 11 M 12 M 13 M 14 M 21 M 22 M 23 M 24 M 31 M 32 M 33 M 34 ) t ,
A ^ * = ( A ^ 11 A ^ 12 A ^ 13 A ^ 14 A ^ 21 A ^ 22 A ^ 23 A ^ 24 A ^ 31 A ^ 32 A ^ 33 A ^ 34 ) t .
We introduced the following notation:
H 1 k α β n = i = 1 s ( Ω i 1 q ) k α ( r i 1 p ( r i 1 p ) t ) β n , k , α , β , n = 1 , 2 , 3 ,
H 2 k α β n = i = 1 s ( Ω i 2 q ) k α ( r i 2 p ( r i 2 p ) t ) β n , k , α , β , n = 1 , 2 , 3 ,
H 3 k α β n = i = 1 s ( Ω i 3 q ) k α ( r i 3 p ( r i 3 p ) t ) β n , k , α , β , n = 1 , 2 , 3 ,
H 4 k α β n = i = 1 s ( Ω i 4 q ) k α ( p i ( p i ) t ) β n , k , α = 1 , 2 , 3 , β , n = 1 , 2 , 3 , 4 ,
H 5 k α β n = i = 1 s ( Ω i 1 p ) k α ( ρ i 1 q ( ρ i 1 q ) t ) β n , k , α , β , n = 1 , 2 , 3 ,
H 6 k α β n = i = 1 s ( Ω i 2 p ) k α ( ρ i 2 q ( ρ i 2 q ) t ) β n , k , α , β , n = 1 , 2 , 3 ,
H 7 k α β n = i = 1 s ( Ω i 3 p ) k α ( ρ i 3 q ( ρ i 3 q ) t ) β n , k , α , β , n = 1 , 2 , 3 .
The elements of matrix B could be computed as:
B 4 ( k 1 ) + n , 4 ( α 1 ) + β = H 1 k α β n + H 2 k α β n + H 3 k α β n + H 4 k α β n + H 5 k α β n + H 6 k α β n + H 7 k α β n , k , α , β , n = 1 , 2 , 3 ; B 4 ( k 1 ) + n , 4 ( α 1 ) + β = H 4 k α β n , k , α , n = 1 , 2 , 3 , β = 4 ; B 4 ( k 1 ) + n , 4 ( α 1 ) + β = H 4 k α β n , k , α = 1 , 2 , 3 , n = 4 , β = 1 , 2 , 3 , 4 .
Note that matrix B was symmetric since:
H m k α β n = H m α k n β , k , α = 1 , 2 , 3 , β , n = 1 , 2.3 , 4 , m = 1 , , 7 .
This means that it was necessary to compute 78 elements of matrix B instead of 144. The computation of all elements for all H was independent.

2.6. Projection of Affine Solution to Manifold S O ( 3 ) and Translation Vector Revaluation

Let A l u be a 3 × 3 left-upper (affine) submatrix of matrix A ^ * . We considered the singular value decomposition U D V t of matrix A l u . The projection R * of A l u to manifold S O ( 3 ) was the matrix U S V t , where S was given [14] by the formula:
S = I , i f d e t ( U ) d e t ( V ) = 1 d i a g ( 1 , 1 , . . . 1 , 1 ) , i f d e t ( U ) d e t ( V ) = 1 ,
The translation vector T * was computed as:
T * = W ß = 1 s Ω i 4 p ( q i R * p i ) ,
where
W = ( ß = 1 s Ω i 4 p ) 1 .
The orthogonal transformation ( R * , T * ) was an approximation of the exact solution to variational problem (19). This projection approach was described in [5,24].

3. Direction Predictor

Standard eigendecomposition algorithms provided eigenvectors with unpredictable directions. This problem has been considered in many papers, in particular in [25,26]. The performance of the proposed λ -ICP algorithm critically depends on the quality of the eigenvector direction predictor.
Suppose that point q i in point cloud Q corresponded to point p i in P. Denote by r 11 p , r 12 p and r 13 p the eigenvectors of the covariance matrix in the neighborhood of p i in P, and denote by r 11 q , r 12 q and r 13 q the corresponding eigenvectors in Q.
Note that if the eigenvalues were placed in an ascending order, vector r 13 p would correspond to the main inertial axis of the neighborhood, vector r 11 p corresponding to the normal of the surface subject to the neighborhood being sufficiently flat.
The two sets of vectors define the local vector frames in P and Q.
Suppose that the directions of the vectors of the frame in Q were fixed. Our goal was to choose such directions for the vectors of the local frame in P, so that they were co-oriented with the corresponding vectors in Q.
Consider vector r i 3 q and the mass center q ^ i of the neighborhood in Q. Vector r i 3 q and point q ^ i define the oriented axis x of the local frame. Consider the orthogonal projections of all points of cloud Q to axis x.
We denoted by q e n t and q e x t the first and last projections on axis x. Consider the uniform subdivision of the line segment [ q e n t ; q e x t ] by points { q i n t ( 0 ) = q e n t , q i n t ( 1 ) , , q i n t ( m 1 ) , q i n t ( m ) = q e x t } , where m is the number of subsegments. Figure 1 shows the described geometrical configuration. We considered each subsegment [ q i n t ( j 1 ) ; q i n t ( j ) ] and denote by q k the projection of point q i in Q if this projection belonged to the considered subsegment. Denote by c j the centers of subsegments [ q i n t ( j 1 ) ; q i n t ( j ) ] , j = 1 , , m . We associated value d j with the subsegment in the spirit of the approach proposed in [26]:
d j = 1 q i [ q i n t ( j 1 ) ; q i n t ( j ) ] ( | c j q i n t ( j ) | | c j q j | ) q i [ q i n t ( j 1 ) ; q i n t ( j ) ] ( | c j q i n t ( j ) | | c j q j | ) | q j q j | 2
Denote by d s i 3 q the following vector:
d s i 3 q = ( d 1 , , d m ) .
We called the vector d s i 3 q the descriptor of the third eigenvector in the local frame in Q. We compute the similar descriptors d s i 3 p ( + ) and d s i 3 p ( ) . Vector d s i 3 p ( ) was the inverse version of the vector d s i 3 p ( + ) .
We compared vectors d s i 3 q with d s i 3 p ( + ) and d s i 3 q with d s i 3 p ( ) using L 2 norm. The smallest norm value corresponded to the direction of the third eigenvector in the local frame in P.
In a similar, way we computed the descriptors d s i 1 q in Q and d s i 1 p in P and vector r i 1 p . Vector r i 2 p was the vector product r i 3 p × r i 1 p .

4. Computer Simulation

In this section, with the help of a computer simulation, we showed the performance of the proposed λ -ICP, DCP [22] and the classical point-to-point ICP (PtP) algorithms. We compared these algorithms in terms of the convergence rate (i.e., the frequency of the convergence of the ICP algorithm to a correct solution).
The algorithms λ -ICP and PtP used the standard method for searching the correspondence between clouds based on the k-d tree.
We used a trained neural network DCP [27]. Since the DCP never returned a true transformation connecting two point clouds, we only used one iteration of the DCP as a rough alignment step and after it used the standard PtP algorithm for a “polish” alignment [22].
Our experiments were organized as follows: An orthogonal geometric transformation given by a known matrix was applied to a source point cloud. The source and transformed clouds were input into a tested algorithm. The ICP algorithm converged if the reconstructed transformation matrix coincided with the original matrix with a given accuracy.
We considered two types of experiments. First, we tested the algorithms on congruent point clouds. Secondly, we tested the algorithms on a more complex problem when clouds P and Q were non-congruent. We applied additive Gaussian and impulse noise, independently, to the two point clouds to obtain non-congruent clouds.
In the case of additive Gaussian noise, each coordinate of a point was distorted by adding a Gaussian random variable with a zero-mean and a standard deviation of σ = 0.05 and σ = 0.15 .
The considered impulse noise was defined as follows: the probability of distortion of a point by impulse noise was 0.5 ; each coordinate of the distorted point was changed by adding a random variable uniformly distributed in the interval [ 0.3 ; 0.3 ] .
In the experiments, we used the four following point clouds: Stanford Bunny and Armadillo; airplane from the ModelNet40 database [22]; human face from Bosphorus database [28]. The Stanford Bunny, Armadillo and airplane clouds consist of 1024 points, the face clouds consist of 1724 points. All points lie in a centered unit sphere. Figure 2 shows the test point clouds.
The variable parameter of the DCP algorithm is the quantity of points in the considered neighborhoods. Computational experiments showed that the optimal value of this parameter for congruent clouds was 20. For noisy point clouds, for the DCP we used the maximum possible value of the parameter. The value was limited by the size of GPU memory. Our experiments were carried out on a standard desktop with Ryzen 7 1700X CPU, 32 Gb RAM, GPU NVIDIA GeForce 1080 Ti with 11 Gb GDRAM. The size of the neighborhood in the experiments with Bunny, Armadillo and airplane was 380 points; with the human face it was 220 points. In the case of the non-congruent clouds, we used a neighborhoods size of about 800–1000 points for the λ -ICP. Furthermore, λ -ICP has 21 variable λ -parameters and 1 more variable parameter equal to the number of subsegments in the direction predictor. In the experiments, we used such values of λ -parameters that λ i j 1 = λ i j 2 = λ i j 3 , j = 1 , , 7 , i = 1 , , s .
The statistical experiments were organized as follows: We fixed the value of the rotation angle. We took a random, uniformly distributed direction vector that defined a line containing the origin of the coordinate system. This line was the axis of rotation at a fixed angle. In addition, the components of the translation vector were a random variable uniformly distributed in the interval [ 0 ; 1 ] . The synthesized geometric transformation matrix (true matrix M t r u e ) was applied to source cloud P. The tested algorithms were applied to clouds P and Q. We stated that the registration algorithm converges to true data if the reconstructed transformation matrix M e s t coincides with the original matrix with a given accuracy. To guarantee statistically correct results, 200 trials for each fixed rotation angle were carried out. The rotation angle varied from 0 to 180 degrees with a step of 10 degrees.

4.1. Congruent Case

We considered examples when a registration algorithm converges to a true transformation, and when it does not. Figure 3a shows point clouds P and Q in the initial position. Figure 3b shows P and Q in the position after registration. The estimated matrix M e s t was equal to matrix M t r u e . In this case, we obtained M t r u e M e s t F = 2.44612 × 10 6 . Figure 3c shows point clouds P and Q in another initial position. Figure 3d shows P and Q in position after registration. In this case, we obtained M t r u e M e s t F = 2.82832 .
For the congruent point clouds, we used the threshold M t r u e M e s t F = 0.2 as a criterion for convergence to the true transformation for all tested algorithms.
Figure 4a shows the convergence rate of the λ -ICP (blue), DCP (red) and PtP (green) algorithms for Stanford Bunny. Figure 4b shows the convergence rate for Armadillo.
Figure 5a shows the convergence rate of the λ -ICP (blue), DCP (red) and PtP (green) algorithms for the airplane. Figure 5b shows the convergence rate for the human face.
The size of the neighborhood of the DCP was equal to 20.
Table 1 shows the number of subsegments of the direction predictor for λ -ICP, the size of the neighborhood and the values of parameters λ i j k for the point clouds, where i = 1 , , s , j = 1 , , 7 , k = 1 , 2 , 3 .

4.2. Non-Congruent Case

We considered examples when a registration algorithm converged to a true transformation for the case of non-congruent clouds, and when it did not. Figure 6a shows point clouds P and Q in the initial position. Figure 6b shows P and Q in position after registration. In this case, we obtained M t r u e M e s t F = 0.113095 . Figure 6c shows point clouds P and Q in the another initial position. Figure 6d shows P and Q in the positions after registration. In this case, we obtained M t r u e M e s t F = 2.56373 .
For the non-congruent point clouds, we used the threshold M t r u e M e s t F = 0.6 as a criterion for convergence to the true transformation for all tested algorithms.
We considered, besides the convergence rate, the RMSE based on the same experimental results.

4.2.1. Gaussian Noise with σ = 0.05

Figure 7 shows the point clouds distorted by Gaussian noise with σ = 0.05 .
Figure 8a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for Stanford Bunny. Figure 8b shows the mean RMSE value computed for transformation matrices based on the same experimental results.
Figure 9a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for Armadillo. Figure 9b shows the mean RMSE value computed for transformation matrices based on the same experimental results. Figure 10a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for airplane. Figure 10b shows the mean RMSE value computed for transformation matrices based on the same experimental results. Figure 11a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for human face. Figure 11b shows the mean RMSE value computed for transformation matrices based on the same experimental results. The size of the neighborhood of the DCP for Stanford Bunny and airplane was equal to 380, for Armadillo was 400, and for face was 220.
Table 2 shows the number of subsegments of the direction predictor for λ -ICP, the size of the neighborhood and the values of the parameters λ i j k for the point clouds in the case of Gaussian noise with σ = 0.05 , where i = 1 , , s , j = 1 , , 7 , k = 1 , 2 , 3 .

4.2.2. Gaussian Noise with σ = 0.15

Figure 12 shows the considered point clouds distorted by Gaussian noise with σ = 0.15 .
Figure 13a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for Stanford Bunny. Figure 13b shows the mean RMSE value computed for transformation matrices based on the same experimental results.
Figure 14a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for Armadillo. Figure 14b shows the mean RMSE value computed for transformation matrices based on the same experimental results. Figure 15a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for airplane. Figure 15b shows the mean RMSE value computed for transformation matrices based on the same experimental results. Figure 16a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for human face. Figure 16b shows the mean RMSE value computed for transformation matrices based on the same experimental results. The size of the neighborhood of the DCP for Stanford Bunny and airplane was 380, for Armadillo was 400, and for face was 220.
Table 3 shows the number of subsegments of the direction predictor for λ -ICP, the size of the neighborhood and the values of parameters λ i j k for considered point clouds in the case of Gaussian noise with σ = 0.15 , where i = 1 , , s , j = 1 , , 7 , k = 1 , 2 , 3 .

4.2.3. Impulse Noise

Figure 17 shows the tested point clouds distorted by Gaussian noise with σ = 0.15 .
Figure 18a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for Stanford Bunny. Figure 18b shows the mean RMSE value computed for transformation matrices based on the same experimental results.
Figure 19a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for Armadillo. Figure 19b shows the mean RMSE value computed for transformation matrices based on the same experimental results. Figure 20a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for airplane. Figure 20b shows the mean RMSE value computed for transformation matrices based on the same experimental results. Figure 21a shows the convergence rate of the λ -ICP, DCP and PtP algorithms for human face. Figure 21b shows the mean RMSE value computed for transformation matrices based on the same experimental results. The size of the neighborhood of the DCP for Stanford Bunny and airplane was 380, for Armadillo was 400, and for face was 220.
Table 4 shows the number of subsegments of the direction predictor for λ -ICP, the size of the neighborhood and the values of parameters λ i j k for tested point clouds in the case of impulse noise, where i = 1 , , s , j = 1 , , 7 , k = 1 , 2 , 3 .

4.3. Summarizing the Results for Different Cases

Table 5 shows the summarizing results of the considered algorithms. The table contains the average values of convergence rates (in percent) for the tested algorithms. Symbol “ λ ” in Table 5 denotes the λ -ICP algorithm.
Note that the proposed λ -ICP algorithm and DCP had a very high convergence rate for an arbitrary initial position of point clouds in R 3 . In doing so, λ -ICP used a standard method to find the correspondence between point clouds.

5. Conclusions

In this paper, a new variant of the variational problem of the ICP algorithm was proposed. A closed-form of the exact solution for the rigid registration of point clouds based on the proposed λ -ICP algorithm and a closed-form of an approximate solution to the corresponding variational problem using a multiparameter functional were presented. We also proposed an efficient algorithm for choosing the direction for eigenvectors in point clouds. With the help of a computer simulation, the performance of the proposed algorithm was compared with that of the state-of-the-art registration algorithms. The proposed algorithm yielded a high rate of convergence to an acceptable transformation for a wide class of point clouds.

Author Contributions

Conceptualization, A.M., S.V. and V.K.; methodology, A.M. and S.V.; software, A.V.; writing-original draft preparation, V.K.; writing-review and editing, V.K. All authors have read and agreed to the published version of the manuscript.

Funding

The work was supported by the Russian Science Foundation (grant 21-11-00095).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Besl, P.; McKay, N. A Method for Registration of 3-D Shapes. IEEE Trans. Pattern. Anal. Mach. Intell. 1992, 14, 239–256. [Google Scholar] [CrossRef]
  2. Chen, Y.; Medioni, G. Object modelling by registration of multiple range images. Image Vis. Comput. 1992, 10, 145–155. [Google Scholar] [CrossRef]
  3. Segal, A.; Haehnel, D.; Thrun, S. Generalized-ICP. Robot. Sci. Syst. 2010, 5, 161–168. [Google Scholar]
  4. Serafin, J.; Grisetti, G. Using extended measurements and scene merging for efficient and robust point cloud registration. Robot. Auton. Syst. 2017, 92, 91–106. [Google Scholar] [CrossRef]
  5. Makovetskii, A.; Voronin, S.; Kober, V.; Voronin, A. A regularized point cloud registration approach for orthogonal transformations. J. Glob. Optim. 2020, 1–23. [Google Scholar] [CrossRef]
  6. Du, S.; Zheng, N.; Meng, G.; Yuan, Z. Affine Registration of Point Sets Using ICP and ICA. IEEE Signal Process. Lett. 2008, 15, 689–692. [Google Scholar]
  7. Van der Sande, C.; Soudarissanane, S.; Khoshelham, K. Assessment of relative accuracy of AHN-2 laser scanning data using planar features. Sensors 2010, 10, 8198–8214. [Google Scholar] [CrossRef]
  8. Makovetskii, A.; Voronin, S.; Kober, V.; Tihonkih, D. Affine registration of point clouds based on point-to-plane approach. Procedia Eng. 2017, 201, 322–330. [Google Scholar] [CrossRef]
  9. Horn, B. Closed-Form Solution of Absolute Orientation Using Unit Quaternions. J. Opt. Soc. Am. A 1987, 4, 629–642. [Google Scholar] [CrossRef]
  10. Horn, B.; Hilden, H.; Negahdaripour, S. Closed-form Solution of Absolute Orientation Using Orthonormal Matrices. J. Opt. Soc. Am. Ser. A 1988, 5, 1127–1135. [Google Scholar] [CrossRef] [Green Version]
  11. Umeyama, S. Least-squares estimation of transformation parameters between two point patterns. IEEE-TPAMI 1991, 13, 376–380. [Google Scholar] [CrossRef] [Green Version]
  12. Feng, Y.; Tang, J.; Su, B.; Su, Q.; Zhou, Z. Point Cloud Registration Algorithm Based on the Grey Wolf Optimizer. IEEE Access. 2020, 8, 143375–143382. [Google Scholar] [CrossRef]
  13. Voronin, S.; Makovetskii, A.; Kober, V.; Voronin, A. The ICP algorithm based on stochastic approach. Proc. SPIE Appl. Digit. Image Process. XLIV 2021, 11842, 118421P. [Google Scholar]
  14. Magnusson, M.; Lilienthal, A.; Duckett, T. Scan registration for autonomous mining vehicles using 3D-NDT. J. Field Robot. 2007, 24, 803–827. [Google Scholar] [CrossRef] [Green Version]
  15. Newcombe, R.; Izadi, S.; Hilliges, O.; Molyneaux, D.; Kim, D.; Davison, A.; Kohli, P.; Shotton, J.; Hodges, S.; Fitzgibbon, A. KinectFusion: Realtime dense surface mapping and tracking. In Proceedings of the International Symposium on Mixed and Augmented Reality (ISMAR), Basel, Switzerland, 26–29 October 2011. [Google Scholar]
  16. Shimada, S.; Golyanik, V.; Tretschk, E.; Stricker, D.; Theobalt, C. Dispvoxnets: Non-rigid point set alignment with supervised learning proxies. In Proceedings of the International Conference on 3D Vision (3DV), Quebec City, QC, Canada, 16–19 September 2019. [Google Scholar]
  17. Gojcic, Z.; Zhou, C.; Wegner, J.; Wieser, A. The perfect match: 3d point cloud matching with smoothed densities. In Proceedings of the Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 16–20 June 2019; pp. 5545–5554. [Google Scholar]
  18. Donati, N.; Sharma, A.; Ovsjanikov, M. Deep geometric functional maps: Robust feature learning for shape correspondence. In Proceedings of the Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 16–18 June 2020. [Google Scholar]
  19. Groß, J.; Ošep, A.; Leibe, B. Alignnet-3d: Fast point cloud registration of partially observed objects. In Proceedings of the International Conference on 3D Vision(3DV), Quebec City, QC, Canada, 16–19 September 2019; pp. 623–632. [Google Scholar]
  20. Lu, W.; Wan, G.; Zhou, Y.; Fu, X.; Yuan, P.; Song, S. Deepvcp: An end-to-end deep neural network for point cloud registration. In Proceedings of the ComputerVision and Pattern Recognition (CVPR), Long Beach, CA, USA, 16–20 June 2019; pp. 12–21. [Google Scholar]
  21. Wang, Y.; Solomon, J. Deep Closest Point: Learning Representations for Point Cloud Registration. arXiv 2019, arXiv:1905.03304. [Google Scholar]
  22. Wu, Z.; Song, S.; Khosla, A.; Yu, F.; Zhang, L.; Tang, X.; Xiao, J. 3D Shapenets: A Deep Representation for Volumetric Shapes. CVPR 2015, 1912–1920. [Google Scholar]
  23. Qi, C.R.; Su, H.; Mo, K.; Guibas, L.J. Pointnet: Deep learning on point sets for 3d classification an segmentation. In Proceedings of the CVPR, IEEE Computer Society, Boston, MA, USA, 7–12 June 2017; pp. 77–85. [Google Scholar]
  24. Makovetski, A.; Voronin, S.; Kober, V.; Voronin, A. A non-iterative method for approximation of the exact solution to the point-to-plane variational problem for orthogonal transformation. Math. Methods Appl. Sci. 2018, 41, 9218–9230. [Google Scholar] [CrossRef]
  25. Bro, R.; Acar, E.; Kolda, T. Resolving the sign ambiguity in the singular value decomposition. J. Chemometr. 2008, 22, 135–140. [Google Scholar] [CrossRef] [Green Version]
  26. Salti, S.; Tombari, F.; Di Stefano, L. SHOT: Unique signatures of histograms for surface and texture description. Comput. Vis. Image Underst. 2014, 125, 251–264. [Google Scholar] [CrossRef]
  27. Deep Closest Point. Available online: https://github.com/WangYueFt/dcp (accessed on 15 October 2021).
  28. Bosphorus 3d Face Database. Available online: http://bosphorus.ee.boun.edu.tr/default.aspx (accessed on 15 October 2021).
Figure 1. Orthogonal projections of the points of cloud Q onto the axis defined by point q ^ i and vector r i 3 q .
Figure 1. Orthogonal projections of the points of cloud Q onto the axis defined by point q ^ i and vector r i 3 q .
Mathematics 09 02589 g001
Figure 2. Test clouds: (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Figure 2. Test clouds: (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Mathematics 09 02589 g002
Figure 3. (a) Source cloud P (blue), target cloud Q (red) in the initial position; (b) result of alignment; (c) source cloud P (blue), target cloud Q (red) in the another initial position; (d) result of alignment.
Figure 3. (a) Source cloud P (blue), target cloud Q (red) in the initial position; (b) result of alignment; (c) source cloud P (blue), target cloud Q (red) in the another initial position; (d) result of alignment.
Mathematics 09 02589 g003
Figure 4. Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for: (a) Stanford Bunny; (b) Armadillo.
Figure 4. Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for: (a) Stanford Bunny; (b) Armadillo.
Mathematics 09 02589 g004
Figure 5. Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for: (a) airplane; (b) human face.
Figure 5. Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for: (a) airplane; (b) human face.
Mathematics 09 02589 g005
Figure 6. (a) Source cloud P (blue), target cloud Q (red) in the initial position; (b) result of alignment; (c) source cloud P (blue), target cloud Q (red) in the other initial position; (d) result of alignment.
Figure 6. (a) Source cloud P (blue), target cloud Q (red) in the initial position; (b) result of alignment; (c) source cloud P (blue), target cloud Q (red) in the other initial position; (d) result of alignment.
Mathematics 09 02589 g006
Figure 7. Point clouds with Gaussian noise, σ = 0.05 : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Figure 7. Point clouds with Gaussian noise, σ = 0.05 : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Mathematics 09 02589 g007
Figure 8. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.05 .
Figure 8. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.05 .
Mathematics 09 02589 g008
Figure 9. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.05 .
Figure 9. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.05 .
Mathematics 09 02589 g009
Figure 10. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.05 .
Figure 10. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.05 .
Mathematics 09 02589 g010
Figure 11. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.05 .
Figure 11. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.05 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.05 .
Mathematics 09 02589 g011
Figure 12. Point clouds with Gaussian noise, σ = 0.15 : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Figure 12. Point clouds with Gaussian noise, σ = 0.15 : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Mathematics 09 02589 g012
Figure 13. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.15 .
Figure 13. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, σ = 0.15 .
Mathematics 09 02589 g013
Figure 14. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.15 .
Figure 14. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, σ = 0.15 .
Mathematics 09 02589 g014
Figure 15. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.15 .
Figure 15. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, σ = 0.15 .
Mathematics 09 02589 g015
Figure 16. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.15 .
Figure 16. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.15 ; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, σ = 0.15 .
Mathematics 09 02589 g016
Figure 17. Point clouds with Gaussian noise, σ = 0.05 : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Figure 17. Point clouds with Gaussian noise, σ = 0.05 : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
Mathematics 09 02589 g017
Figure 18. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with impulse noise.
Figure 18. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with impulse noise.
Mathematics 09 02589 g018
Figure 19. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with impulse noise.
Figure 19. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with impulse noise.
Mathematics 09 02589 g019
Figure 20. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with impulse noise.
Figure 20. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for airplane with impulse noise.
Mathematics 09 02589 g020
Figure 21. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face withi mpulse noise.
Figure 21. (a) Convergence rate of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face with impulse noise; (b) mean RMSE (for transformation matrices) of λ -ICP (blue), DCP (red), PtP (green) algorithms for human face withi mpulse noise.
Mathematics 09 02589 g021
Table 1. Parameters of λ -ICP algorithm for the congruent case.
Table 1. Parameters of λ -ICP algorithm for the congruent case.
Number of
Subsegments
Neighborhood
Size
λ i 1 k λ i 2 k λ i 3 k λ i 4 k λ i 5 k λ i 6 k λ i 7 k
Stanford Bunny34002221111
Armadillo34002221111
Airplane4100021051111
Face31400201201111
Table 2. Parameters of the λ -ICP algorithm for the case of Gaussian noise with σ = 0.05 .
Table 2. Parameters of the λ -ICP algorithm for the case of Gaussian noise with σ = 0.05 .
Number of
Subsegments
Neighborhood
Size
λ i 1 k λ i 2 k λ i 3 k λ i 4 k λ i 5 k λ i 6 k λ i 7 k
Stanford Bunny38002221111
Armadillo38002221111
Airplane4100021051111
Face31400201201111
Table 3. Parameters of the λ -ICP algorithm for the case of Gaussian noise with σ = 0.15 .
Table 3. Parameters of the λ -ICP algorithm for the case of Gaussian noise with σ = 0.15 .
Number of
Subsegments
Neighborhood
Size
λ i 1 k λ i 2 k λ i 3 k λ i 4 k λ i 5 k λ i 6 k λ i 7 k
Stanford Bunny38002221111
Armadillo38002221111
Airplane4100021051111
Face3800201201111
Table 4. Parameters of the λ -ICP algorithm for the case of impulse noise.
Table 4. Parameters of the λ -ICP algorithm for the case of impulse noise.
Number of
Subsegments
Neighborhood
Size
λ i 1 k λ i 2 k λ i 3 k λ i 4 k λ i 5 k λ i 6 k λ i 7 k
Stanford Bunny38002221111
Armadillo38002221111
Airplane4100021051111
Face3800201201111
Table 5. Average convergence rates of the λ -ICP, DCP, PtP algorithms in percent for different cases.
Table 5. Average convergence rates of the λ -ICP, DCP, PtP algorithms in percent for different cases.
Noise Free σ = 0.05 σ = 0.15 Impulse Noise
λ DCPPtP λ DCPPtP λ DCPPtP λ DCPPtP
Bunny99.910050.998.799.745.591.542.726.49883.231.4
Armadillo10010043.410099.143.810073.64210086.741.4
Airplane10010038.810098.343.495.372.844.685.686.344.6
Face10010055.592.895.854.97135.640.676.854.245.1
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Makovetskii, A.; Voronin, S.; Kober, V.; Voronin, A. Point Cloud Registration Based on Multiparameter Functional. Mathematics 2021, 9, 2589. https://doi.org/10.3390/math9202589

AMA Style

Makovetskii A, Voronin S, Kober V, Voronin A. Point Cloud Registration Based on Multiparameter Functional. Mathematics. 2021; 9(20):2589. https://doi.org/10.3390/math9202589

Chicago/Turabian Style

Makovetskii, Artyom, Sergei Voronin, Vitaly Kober, and Aleksei Voronin. 2021. "Point Cloud Registration Based on Multiparameter Functional" Mathematics 9, no. 20: 2589. https://doi.org/10.3390/math9202589

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop