Next Article in Journal
Improvement of Furuta’s Inequality with Applications to Numerical Radius
Next Article in Special Issue
MedDeblur: Medical Image Deblurring with Residual Dense Spatial-Asymmetric Attention
Previous Article in Journal
Statistical Validation of the “ECODIES” Questionnaire to Measure the Digital Competence of Colombian High School Students in the Subject of Mathematics
Previous Article in Special Issue
Improving Motor Imagery EEG Classification Based on Channel Selection Using a Deep Learning Architecture
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Coarse Point Cloud Registration Based on Variational Functionals

1
Department of Mathematics, Chelyabinsk State University, 454001 Chelyabinsk, Russia
2
Department of Computer Science, Ensenada Center for Scientific Research and Higher Education, Ensenada 22860, BC, Mexico
*
Author to whom correspondence should be addressed.
Submission received: 20 November 2022 / Revised: 12 December 2022 / Accepted: 16 December 2022 / Published: 22 December 2022

Abstract

:
Point cloud collection forming a 3D scene typically uses information from multiple data scans. The common approach is to register the point cloud pairs consequentially using a variant of the iterative closest point (ICP) algorithm, but most versions of the ICP algorithm only work correctly for a small movement between two point clouds. This makes it difficult to accumulate multiple scans. Global registration algorithms are also known, which theoretically process point clouds at arbitrary initial positions. Recently, a multiparameter variational functional was described and used in the ICP variant to register point clouds at arbitrary initial positions. The disadvantage of this algorithm was the need for manual selection of parameters. In this paper, a modified version of the algorithm with automatic selection of the model parameters is proposed. The proposed algorithm is a fusion of the ICP and RANSAC concepts. Moreover, the algorithm can be parallelized. The performance of the proposed algorithm is compared with that of known global registration algorithms.

1. Introduction

In computer vision, splicing different parts of 3D models is necessary to reconstruct the objects in three-dimensional space. Point cloud registration is a basic element to solve this problem. Point cloud registration is a widely studied problem. Known algorithms in this area are described in surveys [1,2]. Registration algorithms can be divided into two groups. The first of them contains refinement algorithms, and the second one contains coarse registration algorithms. Refinement algorithms are used to align the source point cloud P and the target point cloud Q   if the rotation angles connecting P and Q are small enough. Coarse registration algorithms are used in the case of sufficiently large angles.
The following abbreviations are used throughout the paper: ICP—iterative closest points algorithm; PtP-ICP—point-to-point ICP; PCL-GICP—software implementation of generalized ICP (GICP) from point cloud library; NICP—normal ICP; RANSAC—random sample consensus algorithm; Cluster—registration algorithm based on the cluster approach; Super4PCS—global registration algorithm; Nsamples—overlap–parameters of Super4PCS; λ-ICP—registration algorithm based on the multiparameter λ-functional; λ_r-ICP—registration algorithm based on the proposed λ_r-functional; LCP—largest common pointset; Delta—distance threshold for LCP; SHOT—signature of histograms of orientations descriptor; threshold_PtP—threshold of the distance for corresponding point pairs for PtP-ICP; GL (3)—general linear group in three dimensions; SO(3)—special orthogonal group in three dimensions.
The iterative closest points algorithm (ICP) [3,4] is a common refinement algorithm. The two basic steps of the ICP algorithm alternate with each other, that is, the estimation of a geometric transformation based on a fixed correspondence (variational problem of the ICP algorithm) and updating the correspondences to their closest matches (correspondence step).
The most well-known functionals used in the ICP variational problem are presented in ICP variants, such as point-to-point [3], point-to-plane [4], generalized ICP (GICP) [5], and normal ICP (NICP) [6,7]. Closed-form solutions to the affine point-to-point [8] and point-to-plane [9,10] problems have been proposed. Closed-form solutions to the orthogonal point-to-point problem [11,12,13] have also been obtained. Generalized ICP [5] and NICP [6,7] with other functionals are more robust. In these cases, iterative conjugate gradients and Gauss–Newton methods [5,6] are used to solve the variational ICP problems.
Stochastic methods based on the grey wolf optimizer (GWO) algorithm are exploited to solve the variational ICP problems. The GWO has recently been used to a coarse point cloud alignment [14] and implementation of the point-to-point ICP algorithm [15].
The paper in [6] presents an experimental comparative analysis of the NICP algorithm, generalized ICP (GICP), NDT [16], and KinFu [17]. The analysis shows that the NICP yields better results and higher robustness compared to the state-of-the-art methods [6]. A closed-form solution to the NICP variational problem was proposed [7]. This solution was compared with the performance of the iterative Gauss–Newton method [6].
Coarse registration approaches usually use some form of the well-known RANSAC algorithm [18] or related methods to confirm a congruent relationship [19,20,21]. Based on this technique, 4PCS [22] and Super4PCS [23] methods have achieved a significant increase in speed compared to alternative approaches and provide unstructured and efficient scene acquisition at scales that were previously impossible. In addition, feature-based methods such as SHOT [24] and FPFH [25] are also popular; however, they are sensitive to noise. SDRSAC [26] uses a randomized strategy without correspondences.
Registration methods based on neural networks can also be regarded as coarse registration algorithms. Recently, point cloud classification, segmentation, and shape matching have been carried out using neural networks [27,28,29,30,31,32]. So, to solve the problem of registering point clouds, a neural network referred to as deep closest points (DCP) was designed [33]. DCP is trained on the ModelNet40 3D point clouds database [34].
Recently, the λ -functional and λ -ICP algorithms have been proposed [35]. The λ -functional is a generalized version of the NICP functional. In order to compute the NICP functional, the covariance matrix in the vicinity of each cloud point is calculated. By selecting diagonal elements for a given point cloud, the probability of NICP convergence to acceptable solution can be increased [7]. A similar approach is also used for the λ-functional.
In real applications, a registration algorithm deals with incongruent point clouds. Therefore, the performance of registration algorithms should be compared on incongruent clouds. It was shown in [35] that λ -ICP based on the λ -functional is very efficient, but the drawback of λ -ICP is the need to select the λ parameters manually for a given type of point cloud.
In this paper, a coarse registration algorithm based on a new λ _r-functional, which is a reduced version of the λ -functional, is proposed. The proposed ICP-type algorithm, referred to as λ _r-ICP, contains some elements based on RANSAC and deals with coarse registration of incongruent point clouds. To solve the λ _r-ICP variational problem, first the solution to the variational problem in the class GL (3) is obtained. Next, the result is projected onto the submanifold SO(3). Finally, the translation vector is computed. The variational problem λ -ICP [35], NICP [7] and point-to-plane ICP [36] is solved similarly.
In this paper, we propose a new solution to the first step of the scheme described above. The λ _r-functional is a reduced version of the λ -functional with special properties. In particular, the λ -functional contains terms that are vector projections onto local vector bases, while the λ _r-functional contains terms that are vector projections onto the global vector basis. This requires a different approach to calculating the functional gradient. To minimize the λ -functional, 4 × 4 transformation matrices in homogeneous coordinates were used, while 3 × 3 matrices in Cartesian coordinates were used for the λ _r-functional. The resulting calculation formulas for the λ _r-functional differ significantly from the corresponding formulas for the λ -functional. The sequential (i.e., nonparallel) software implementation of the proposed solution to minimize the λ _r-functional is about 10 times faster than the sequential software implementation for the λ -functional. In addition, the proposed solution calculates three rows of the rotation matrix independently, in parallel computational threads.
Note that the λ -functional and the λ _r-functional contain, in a certain sense, the point-to-point, point-to-plane, and NICP functionals. The parameters λ 1 , λ 2 , and λ 3 of the λ _r-functional are computed by averaging the local geometric information of all points in the point cloud. After that, two free parameters, λ 4 and k , where k is the neighborhood size, are used. The λ _r-ICP algorithm contains iterating over two values of k and sixteen values of λ 4 , i.e., the algorithm forms 32 geometric transformations. The choice of the best transformation is carried out using the largest common pointset (LCP) [22,23]. Note that the proposed   λ _r-ICP algorithm contains elements of both ICP and RANSAC approaches.
The proposed algorithm is compared with known coarse registration algorithms, Super4PCS and RANSAC, using the software implementation of Super4PCS [37]. The program generates coarse geometric transformations and returns the best result according to the LCP criterion. After that, we apply refinement with the point-to-point ICP with the selection of pairs of corresponding points.
The λ _r-ICP and RANSAC algorithms are organized in the following way. First, these algorithms form a set of coarse geometric transformations. Second, refinements are applied to each coarse transformation. Third, the best transformation is selected according to the LCP criterion.
We also use the following algorithms for comparison: point-to-point ICP with selection of pairs of corresponding points; GICP [5] (its software implementation from the point cloud library (PCL) [38]); and coarse registration algorithm based on the cluster approach [39,40].
It is known that conventional eigenvalue decomposition algorithms produce eigenvectors with unpredictable directions [24,41]. The accurate choice of orientation of the eigenvectors is important for the correct operation of the λ _r-ICP algorithm. In [35], an algorithm was proposed for reorienting the eigenvectors calculated in a neighborhood inside a point cloud. In this paper, a slightly modified version of this algorithm is described. The modified algorithm is called orientation predictor and is based on a local geometric descriptor. The descriptor is also used for selecting pairs of corresponding points in the λ _r-ICP algorithm.
The main contributions of the proposed paper are as follows:
  • A new λ _r-functional is proposed, which is a reduced version of the previously described λ -functional;
  • A new computational approach to minimization of the λ _r-functional is proposed. This approach essentially differs from the corresponding one for the λ-functional and is much faster;
  • A new registration algorithm λ _r-ICP is proposed, which automatically computes the parameters of the λ _r-functional for the given source and target incongruent noisy point clouds. The λ _r-ICP algorithm is a fusion of the ICP and RANSAC concepts.
The paper is organized as follows. Section 2 proposes an exact solution approximation to the variation problem with the λ _r-functional. In Section 3, the orientation predictor and λ _r-ICP algorithm are described. Section 4 presents and discusses the results of computer simulations. Section 5 summarizes our findings.

2. Reduced λ -Functional

The proposed approach is based on the λ -functional described in [35]. In [35], the values of the λ -functional parameters are selected manually. Here we propose an approach to automatic parameters search.

2.1. Local Geometric Features

Let P and Q be the source and target point clouds, respectively, with a given correspondence between them (from the source cloud P to the target cloud Q ), P = { p 1 , p s } and Q = { q 1 , q s } , s is the number of points in the cloud P . Note that we consider clouds P and Q with an already given correspondence, the initial quantity of points in P and Q may be different. Let us consider the k-neighborhood { q i 1 , , q i k } of the point q i , i = 1 , , s , in the cloud Q . Denoted by c i , the mass center of the neighborhood, c i = 1 k j = 1 k q i j . The covariance matrix Σ i of the neighborhood is defined as
Σ i = Q ˜ Q ˜ t
where
Q ˜ = ( q ˜ i 11 q ˜ i k 1 q ˜ i 12 q ˜ i k 2 q ˜ i 13 q ˜ i k 3 )
q ˜ i j = q i j c i ,   j = 1 , , k
The eigendecomposition of the matrix Σ i can be written as
Σ i = i Λ i i t
Λ i = ( λ i 1 0 0 0 λ i 2 0 0 0 λ i 3 )
where λ i 3 λ i 2 λ i 1 > 0 are the eigenvalues of the covariance matrix, and i is the orthogonal matrix of the eigenvectors. The matrix i consists of the vector-columns r i 1 , r i 2 , and r i 3 , corresponding to the eigenvalues λ i 1 , λ i 2 , and λ i 3 . The vector r i 1 can be considered as a normal vector to the tangent plane at the point q i j , and the vector r i 3 corresponds to the main axis of the inertia ellipsoid of the given neighborhood.
The covariance matrix for the point cloud P is defined in a similar manner.

2.2. 𝜆-Functional and Its Variants

The λ -functional is given as follows [35]:
J λ ( R , T ) = i = 1 s ( R r i 1 p r i 1 q ) t i q Λ i 1 q ( i q ) t ( R r i 1 p r i 1 q ) + ( R r i 2 p r i 2 q ) t i q Λ i 2 q ( i q ) t ( R r i 2 p r i 2 q ) +
( R r i 3 p r i 3 q ) t i q Λ i 3 q ( i q ) t ( R r i 3 p r i 3 q ) +
( R p i + T q i ) t i q Λ i 4 q ( i q ) t ( R p i + T q i ) +
( R t ρ i 1 q ρ i 1 p ) t i p Λ i 1 p ( i p ) t ( R t ρ i 1 q ρ i 1 p ) + ( R t ρ i 2 q ρ i 2 p ) t i p Λ i 2 p ( i p ) t ( R t ρ i 2 q ρ i 2 p ) +
( R t ρ i 3 q ρ i 3 p ) t i p Λ i 3 p ( i p ) t ( R t ρ i 3 q ρ i 3 p )
where r i 1 p , r i 2 p , and r i 3 p are vector columns of the orthogonal matrix i p (of point cloud P ), Λ i 1 q , Λ i 2 q , and Λ i 3 q are diagonal matrices with elements ( λ i j 1 q , λ i j 1 q , λ i j 1 q ) , j 1 , 2 , 3 , which are considered variable parameters, and the vectors r i 1 q , r i 2 q , and r i 3 q are vector columns of the orthogonal matrix i q (of point cloud Q ). The elements of the diagonal matrix Λ i 4 q are also considered variable parameters. The vectors ρ i 1 q , ρ i 2 q , and ρ i 3 q , the vectors ρ i 1 p , ρ i 2 p , and ρ i 3 q , and the matrices Λ i 1 p , Λ i 2 p , and Λ i 3 p are defined similarly for the inverse correspondence from P to Q . R is the rotation matrix and   T is the translation vector.
The ICP variational problem (error minimization ICP step) based on the λ -functional can be written as
( R * , T * ) = a r g min R , T J λ ( R , T )
subject to R * S O ( 3 ) . The ICP-type algorithm with the variational problem (4) is called   λ -ICP. In [35], manual selction of parameters was considered, i.e., elements of the diagonal matrices Λ i 1 q , Λ i 2 q , Λ i 3 q , Λ i 4 q , Λ i 1 p , Λ i 2 p , and Λ i 3 p for a given point cloud pair ( P , Q ). In this paper, we propose an approach to find the parameters of the λ -functional automatically.
The first term in (3) can be rewritten as
( R r i 1 p r i 1 q ) t i q Λ i 1 q ( i q ) t ( R r i 1 p r i 1 q ) = λ i 11 q r i 1 q , R r i 1 p r i 1 q 2 + λ i 12 q r i 2 q , R r i 1 p r i 1 q 2 +
λ i 13 q r i 3 q , R r i 1 p r i 1 q 2
where Λ i 1 q = d i a g ( λ i 11 q , λ i 12 q , λ i 13 q ) and i q = ( r i 1 q   r i 2 q   r i 3 q ) . It follows from (5) that the four first terms in (3) take the form
i = 1 s ( R r i 1 p r i 1 q ) t i q Λ i 1 q ( i q ) t ( R r i 1 p r i 1 q ) + ( R r i 2 p r i 2 q ) t i q Λ i 2 q ( i q ) t ( R r i 2 p r i 2 q ) +
( R r i 3 p r i 3 q ) t i q Λ i 3 q ( i q ) t ( R r i 3 p r i 3 q ) +
( R p i + T q i ) t i q Λ i 4 q ( i q ) t ( R p i + T q i ) =
i = 1 s λ i 11 q r i 1 q , R r i 1 p r i 1 q 2 + λ i 12 q r i 2 q , R r i 1 p r i 1 q 2 + λ i 13 q r i 3 q , R r i 1 p r i 1 q 2 +
λ i 21 q r i 1 q , R r i 2 p r i 2 q 2 + λ i 22 q r i 2 q , R r i 2 p r i 2 q 2 + λ i 23 q r i 3 q , R r i 2 p r i 2 q 2 +
λ i 31 q r i 1 q , R r i 3 p r i 3 q 2 + λ i 32 q r i 2 q , R r i 3 p r i 3 q 2 + λ i 33 q r i 3 q , R r i 3 p r i 3 q 2 +
λ i 4 q ( R p i + T q i ) t ( R p i + T q i )
where Λ i 4 q = d i a g ( λ i 4 q , λ i 4 q , λ i 4 q ) .

2.3. Relationship between λ -Functional and Point-to-Point, Point-to-Plane, and NICP Functionals

Let us consider the relationship between such well-known ICP functionals as point-to-point [3], point-to-plane [4], NICP [6,7], and λ -functional [35]. Note that the tens term of the right side of (6) can be written as
i = 1 s λ i 4 q ( R p i + T q i ) t ( R p i + T q i ) = i = 1 s λ i 4 q | | R p i + T q i | | 2
The functional in (7) is a weighted point-to-point functional.
The first term of the right side of (6) is given as
i = 1 s λ i 11 q r i 1 q , R r i 1 p r i 1 q 2
Since the vector r i 1 q can be considered normal to the tangent plane at the point q i , the expression (8) is mathematically close to the weighted point-to-plane functional.
The first and fourth terms on the left side of (6) are the NICP functional and given as
i = 1 s ( R r i 1 p r i 1 q ) t i q Λ i 1 q ( i q ) t ( R r i 1 p r i 1 q ) + ( R p i + T q i ) t i q Λ i 4 q ( i q ) t ( R p i + T q i )
Therefore, the λ -functional is a generalization of the point-to-point, point-to-plane, and NICP functionals.

2.4. λ_r-Functional

Let us describe a reduced version of the λ -functional, referred to as λ _ r -functional. Consider the following functionals:
J 11 ( R ) = λ 1 i = 1 s e 1 , R r i 1 p r i 1 q 2 , J 12 ( R ) = λ 2 i = 1 s e 2 , R r i 1 p r i 1 q 2 , J 13 ( R ) = λ 3 i = 1 s e 3 , R r i 1 p r i 1 q 2
J 21 ( R ) = λ 1 i = 1 s e 1 , R r i 2 p r i 2 q 2 , J 22 ( R ) = λ 2 i = 1 s e 2 , R r i 2 p r i 2 q 2 , J 23 ( R ) = λ 3 i = 1 s e 3 , R r i 2 p r i 2 q 2
J 31 ( R ) = λ 1 i = 1 s e 1 , R r i 3 p r i 3 q 2 , J 32 ( R ) = λ 2 i = 1 s e 2 R r i 3 p r i 3 q 2 , J 33 ( R ) = λ 3 i = 1 s e 3 , R r i 3 p r i 3 q 2
J 4 ( R , T ) = λ 4 i = 1 s R p i + T q i , R p i + T q i 2
where e 1 = ( 1   0   0 ) t , e 2 = ( 0   1   0 ) t , and e 3 = ( 0   0   1 ) t are basis vectors of the coordinate system (in which clouds P and Q are considered). All coefficients λ ( λ > 0 ) of (10) do not depend on the number of points.
Definition 1. 
The following functional is called the λ_r-functional:
J λ _ r ( R , T ) = J 11 ( R ) + J 12 ( R ) + J 13 ( R ) + J 21 ( R ) + J 22 ( R ) + J 23 ( R ) + J 31 ( R ) + J 32 ( R ) + J 33 ( R ) + J 4 ( R , T )
The  λ _r-ICP variational problem can be written as:
( R * , T * ) = a r g min R , T J λ _ r ( R , T )
subject to R * S O ( 3 ) .
The λ _r-functional is obtained from the λ -functional by reduction. Suppose that i q = I , and Λ i 1 q = d i a g ( λ 1 q , λ 1 q , λ 1 q ) , Λ i 2 q = d i a g ( λ 2 q , λ 2 q , λ 2 q ) , Λ i 3 q = d i a g ( λ 3 q , λ 3 q , λ 3 q ) ,   Λ 4 q = d i a g ( λ 4 q , λ 4 q , λ 4 q ) , i = 1 , , s . Note that information from the matrices i q is used in expressions such as ( R r i 1 p r i 1 q ) .

2.5. Gradient of the λ_r-Functional

c p and c q denote the mass centers of the point clouds P and Q , respectively. Let us P and Q also denote the following point clouds:
P = { p 1 , p s } = { p 1 c p , p s c p } ,   Q = { q 1 , q s } = { q 1 c q , q s c q }
The λ _r-functional for clouds P and Q takes the following form:
J λ _ r ( R , T ) = J 11 ( R ) + J 12 ( R ) + J 13 ( R ) + J 21 ( R ) + J 22 ( R ) + J 23 ( R ) + J 31 ( R ) + J 32 ( R ) + J 33 ( R ) + J 4 ( R )
where
J 4 ( R ) = λ 4 i = 1 s R p i q i , R p i q i 2
The λ _r-ICP variational problem can be rewritten as
R * = a r g min R J λ _ r ( R )
subject to R * S O ( 3 ) .
We have that
J 11 ( R ) = 2 λ 1 i = 1 s e 1 , R r i 1 p e 1 ( r i 1 p ) t 2 λ 1 i = 1 s e 1 , r i 1 q e 1 ( r i 1 p ) t
Let us denote the elements of R and r i 1 p as
R = ( R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 ) ,   r i 1 p = ( r i 11 p   r i 12 p   r i 13 p ) t
Note that e 1 , R r i 1 p = e 1 ( r i 1 p ) t , R and
e 1 , R r i 1 p e 1 ( r i 1 p ) t = e 1 ( r i 1 p ) t , R e 1 ( r i 1 p ) t =
( r i 11 p r i 12 p r i 13 p 0 0 0 0 0 0 ) , R ( r i 11 p r i 12 p r i 13 p 0 0 0 0 0 0 ) =
( r i 11 p ( r i 11 p R 11 + r i 12 p R 12 + r i 13 p R 13 ) r i 12 p ( r i 11 p R 11 + r i 12 p R 12 + r i 13 p R 13 ) r i 13 p ( r i 11 p R 11 + r i 12 p R 12 + r i 13 p R 13 ) 0 0 0 0 0 0 ) =
( ( r i 11 p ) 2 R 11 + r i 11 p r i 12 p R 12 + r i 11 p r i 13 p R 13 r i 12 p r i 11 p R 11 + ( r i 12 p ) 2 R 12 + r i 12 p r i 13 p R 13 r i 13 p r i 11 p R 11 + r i 13 p r i 12 p R 12 + ( r i 13 p ) 2 R 13 0 0 0 0 0 0 )
The gradient J 11 ( R ) depends only on the first row of the matrix obtained in (19). This row in transposed form can be rewritten as
( ( r i 11 p ) 2 r i 11 p r i 12 p r i 11 p r i 13 p r i 1 p 2 r i 11 p ( r i 12 p ) 2 r i 12 p r i 13 p r i 13 p r i 11 p r i 1 p 3 r i 12 p ( r i 13 p ) 2 ) ( R 11 R 12 R 13 ) = ( r i 1 p ( r i 1 p ) t ) ( R 11 R 12 R 13 ) .
The gradient ( J 11 ( R ) ) t takes the form:
( J 11 ( R ) ) t = 2 λ 1 i = 1 s ( r i 2 p ( r i 2 p ) t ) ( R 11 R 12 R 13 ) 2 λ 1 ( i = 1 s e 1 , r i 2 q e 1 ( r i 2 p ) t ) t 1 ,
where ( i = 1 s e 1 , r i 2 q e 1 ( r i 2 p ) t ) t 1 means the first column of the matrix i = 1 s e 1 , r i 2 q e 1 ( r i 2 p ) t .
In a similar manner, the gradients J 12 ( R ) , J 13 ( R ) , J 21 ( R ) , J 22 ( R ) ,   J 23 ( R ) , J 31 ( R ) , J 32 ( R ) , and J 33 ( R ) are computed as
( J 12 ( R ) ) t = 2 λ 2 i = 1 s ( r i 1 p ( r i 1 p ) t ) ( R 21 R 22 R 23 ) 2 λ 2 ( i = 1 s e 2 , r i 1 q e 2 ( r i 1 p ) t ) t 2 ,
( J 13 ( R ) ) t = 2 λ 3 i = 1 s ( r i 1 p ( r i 1 p ) t ) ( R 31 R 32 R 33 ) 2 λ 3 ( i = 1 s e 3 , r i 1 q e 3 ( r i 1 p ) t ) t 3 ,
( J 21 ( R ) ) t = 2 λ 1 i = 1 s ( r i 2 p ( r i 2 p ) t ) ( R 11 R 12 R 13 ) 2 λ 1 ( i = 1 s e 1 , r i 2 q e 1 ( r i 2 p ) t ) t 1 ,
( J 22 ( R ) ) t = 2 λ 2 i = 1 s ( r i 2 p ( r i 2 p ) t ) ( R 21 R 22 R 23 ) 2 λ 2 ( i = 1 s e 2 , r i 2 q e 2 ( r i 2 p ) t ) t 2 ,
( J 23 ( R ) ) t = 2 λ 3 i = 1 s ( r i 2 p ( r i 2 p ) t ) ( R 31 R 32 R 33 ) 2 λ 3 ( i = 1 s e 3 , r i 2 q e 3 ( r i 2 p ) t ) t 3 ,
( J 31 ( R ) ) t = 2 λ 1 i = 1 s ( r i 3 p ( r i 3 p ) t ) ( R 11 R 12 R 13 ) 2 λ 1 ( i = 1 s e 1 , r i 3 q e 1 ( r i 3 p ) t ) t 1 ,
( J 32 ( R ) ) t = 2 λ 2 i = 1 s ( r i 3 p ( r i 3 p ) t ) ( R 21 R 22 R 23 ) 2 λ 2 ( i = 1 s e 2 , r i 3 q e 2 ( r i 3 p ) t ) t 2 ,
( J 33 ( R ) ) t = 2 λ 3 i = 1 s ( r i 3 p ( r i 3 p ) t ) ( R 31 R 32 R 33 ) 2 λ 3 ( i = 1 s e 3 , r i 3 q e 3 ( r i 3 p ) t ) t 3 .
Let us compute the gradient J 4 ( R )
( J 4 ( R ) ) t = 2 λ 4 i = 1 s p i ( p i ) t R t 2 λ 4 i = 1 s p i ( q i ) t =
2 λ 4 i = 1 s ( p i ( p i ) t ) ( R 11 R 21 R 31 R 12 R 22 R 32 R 13 R 23 R 33 ) 2 λ 4 i = 1 s p i ( q i ) t .
Formula (30) shows that the gradient ( J 4 ( R ) ) t splits into three independent parts
2 λ 4 i = 1 s ( p i ( p i ) t ) ( R 11 R 12 R 13 ) 2 λ 4 ( ( i = 1 s p i ( q i ) t ) 1 ,
2 λ 4 i = 1 s ( p i ( p i ) t ) ( R 21 R 22 R 23 ) 2 λ 4 ( ( i = 1 s p i ( q i ) t ) 2 ,
2 λ 4 i = 1 s ( p i ( p i ) t ) ( R 11 R 12 R 13 ) 2 λ 4 ( ( i = 1 s p i ( q i ) t ) 3 ,
where ( ( i = 1 s p i ( q i ) t ) j means j -th column of the matrix i = 1 s p i ( q i ) t , j = 1 , 2 , 3 .
Formulas (21)–(29) and (31)–(33) show that the full gradient ( J ( R ) ) t split into three independent parts with respect to variables ( R 11   R 12   R 13 ) t , ( R 21   R 22   R 23 ) t , and ( R 31   R 32   R 33 ) t .

2.6. Solution to the Variational Problem

First, we solve the variation problem (16) without the restriction R * S O ( 3 ) , i.e., we look for a solution in the class of affine transformations. Let us equate the gradient ( J ( R ) ) t to zero. M 123 and M 4 denote following matrices:
M 123 = ( i = 1 s ( r i 1 p ( r i 1 p ) t ) + ( r i 2 p ( r i 2 p ) t ) + ( r i 3 p ( r i 3 p ) t ) )
M 4 = i = 1 s ( p i ( p i ) t )
So, three independent linear systems of equations are obtained
( λ 1 M 123 + λ 4 M 4 ) ( R 11 R 12 R 13 ) = λ 1 ( i = 1 s e 1 , r i 1 q e 1 ( r i 1 p ) t ) t 1 + λ 1 ( i = 1 s e 1 , r i 2 q e 1 ( r i 2 p ) t ) t 1 +
λ 1 ( i = 1 s e 1 , r i 3 q e 1 ( r i 3 p ) t ) t 1 + λ 4 ( ( i = 1 s p i ( q i ) t ) 1 ,
( λ 2 M 123 + λ 4 M 4 ) ( R 21 R 22 R 23 ) = λ 2 ( i = 1 s e 2 , r i 1 q e 2 ( r i 1 p ) t ) t 2 + λ 2 ( i = 1 s e 2 , r i 2 q e 2 ( r i 2 p ) t ) t 2 +
λ 2 ( i = 1 s e 2 , r i 3 q e 2 ( r i 3 p ) t ) t 2 + λ 4 ( ( i = 1 s p i ( q i ) t ) 2 ,
( λ 3 M 123 + λ 4 M 4 ) ( R 31 R 32 R 33 ) = λ 3 ( i = 1 s e 3 , r i 1 q e 3 ( r i 1 p ) t ) t 3 + λ 3 ( i = 1 s e 3 , r i 2 q e 3 ( r i 2 p ) t ) t 3 +
λ 3 ( i = 1 s e 3 , r i 3 q e 3 ( r i 3 p ) t ) t 3 + λ 4 ( ( i = 1 s p i ( q i ) t ) 3 .
Remark 1. 
Formulas (36)–(38) allow parallel computation of the rows of the matrix  R .
After obtaining an affine solution R , it can be projected onto SO(3). The orthogonal solution is given as
R * = U S V t
where the matrices U and V are the elements of the singular value decomposition U D V t of the matrix A (assume that D is a diagonal matrix with nonincreasing diagonal entries), and S is defined as
S = { I ,       i f det ( U ) det ( V ) = 1 d i a g ( 1 , 1 , 1 ) ,       i f   det ( U ) det ( V ) = 1  
The translation vector can be computed as
T * = 1 s i = 1 s q i R * p i
Note that in Formula (41), we take points p i and q i from the original point clouds P and Q without centralization.

2.7. Selection of Parameters

In [35], manual selection of the parameters of the λ-functional for a given point pair ( P , Q ) was used. Here we propose an automatic selection of the parameters of of the λ _r-functional parameters. Let k be the number of points in the neighborhood. Let us compute all matrices Λ i 1 q , Λ i 2 q , and Λ i 3 q . Next, we define the matrix
Λ = ( λ 1 0 0 0 λ 2 0 0 0 λ 3 )
as
Λ = 1 s i = 1 s Λ i 1 q + Λ i 2 q + Λ i 3 q
The obtained values λ 1 , λ 2 , and λ 3 are used in (10). Note that this method for calculating λ 1 , λ 2 , and λ 3 was found experimentally.
If the values λ 1 , λ 2 , and λ 3 are fixed, we have two variable parameters, k and λ 4 . In this paper, two neighborhood sizes are used, that is, k = [ 0.15 * s ] and k = [ 0.85 * s ] . Let us apply the following values of λ 4 :
λ 4 j = 10 8 · 4 j ,   j = 1 , .. , 16
Thus, one can obtain 16 · 2 = 32 parameter values and corresponding 32 transformations ( R * , T * ) .
Suppose that the point clouds   P and Q are given. Let us consider a point p i in P and compute (by the k-d tree algorithm) the closest point q i in Q . If the distance between p i and q i is less than the value of the parameter 𝛿, then we call p i a suitable point. The total number of suitable points is called the largest common pointset (LCP) parameter.
In our case, 32 LCP values corresponding to geometric transformations are calculated. After that, we select the transformation corresponding to the minimum value of LCP.

3. Vector Orientation Predictor and Full Registration Algorithm

3.1. Vector Orientation Predictor

It is known that eigendecomposition algorithms produce eigenvectors with unpredictable orientation. This problem is described, in particular, in [24,41]. The performance of the ICP algorithm based on the proposed   λ _r-functional critically depends on the quality of the eigenvector orientation predictor. In [35], we described a method to obtain a predictable orientation of vectors. Let us recall this algorithm and then modify it.
Let p i and q i be the corresponding points in the clouds P and Q , respectively. Consider the k -neighborhoods of p i and q i and compute the corresponding covariance matrices. The eigendecomposition of these matrices gives us the orthogonal matrices i p and i q . Recall that these matrices consist of the vector-columns ( 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 ) .
Suppose that eigenvalues of the covariance matrices are in ascending order. In this case, the vector r i 3 p corresponds to the main axis of inertia of the neighborhood, and vector r i 1 p corresponds to the normal vector, provided that the neighborhood is sufficiently flat.
The vector sets ( 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 ) to define the local vector frames in P and Q . The origins of these frames are mass centers of the neighborhoods in P and Q . Assume that the orientations of vectors of the frame in Q are fixed.
The goal is to choose such orientations for the vectors of the local frame in P that they are co-oriented with those in Q .
Consider the vector r i 3 q and the center of mass q i ^ of the neighborhood in Q . The vector r i 3 q and the point q i ^ define the oriented x -axis of the local frame. Let us consider the orthogonal projections of all points of the cloud Q onto the x . q e n t and q e x t denote the first and last projections on the x -axis. Consider a uniform partition 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 ) = q e x t } , where m is the number of subsegments. Leat us consider each subsegment [ q i n t ( j 1 ) ; q i n t ( j ) ] . We denoted by q k the projection, the point q k onto the axis, if this projection belongs to the considered subsegment.
c j denotes the center of subsegment [ q i n t ( j 1 ) ; q i n t ( j ) ] , j = 1 , , m . Let us associate the value d j with the subsegment as
d j = 1 q j [ 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 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 L 2 .
d s i 3 q denotes the following vector:
d s i 3 q = ( d 1 , , d m )
We call the vector d s i 3 q the descriptor of the third eigenvector of the local frame in Q . Let us compute similar descriptors d s i 3 p ( + ) and d s i 3 p ( ) . The vector d s i 3 p ( ) is the inverse version of the vector d s i 3 p ( + ) .
Compare 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 the L 2 norm. The smallest norm value corresponds to the orientation of the third eigenvector r i 3 p in the local frame in P .
Similarly, we compute the descriptors d s i 1 q in Q and d s i 1 p in P and vector r i 1 p . The vector r i 2 p is the vector product r i 3 p × r i 1 p .
Remark 2. 
The descriptors ( d s i 1 p , d s i 2 p , d s i 3 p )  and ( d s i 1 q , d s i 2 q , d s i 3 q )  are orthogonal invariants of local neighborhoods.
Note that the algorithm described above is a simplified version of the following approach.
Suppose that we have a mass center and a main axis of the inertia ellipsoid of the point cloud. Also, assume that the surface defined by the point cloud is triangulated. Consider a set of planes perpendicular to the axis. Each plane intersects the triangulation edges at some points. Let us compute the distances between these points and their orthogonal projections onto the axis. After that, we calculate the average distance and draw the circle in the considered plane. The circle has a radius equal to the calculated average distance. The center of the circle lies on the axis. One can assign to a set of such coaxial circles an array containing the radii of the circles. If the axis orientation changes, the array is inverted. The original and inverted variants of the array determine the agreed vector orientations as follows. Suppose we have a vector and a mass center of a local vector frame in the source point cloud. The vector and the mass center define the oriented axis.
Let us consider the corresponding axis in the target point cloud. One can compute a similar array for the axis in the target point cloud. After that, the difference between the array of the target point cloud and two arrays of the source point cloud is compared by the norm. The smaller value of the norm indicates which axis orientation in the source point cloud should be chosen. To simplify the calculations, the following version of the described approach can be used; that is, the average distance (of orthogonal projections onto the axis) is calculated for points where the projections lie between two adjacent coaxial planes. This is done instead of averaging distances of points belonging to the intersection of the co-axial plane and the triangulated surface (given by the point cloud). The described simplified version is used, since the construction of a triangulated surface is a complex computational task.
Figure 1 illustrates the described approach. The point cloud shown is from the ModelNet40 database [34].

3.2. Full Registration Algorithm Based on λ_r-Functional

The proposed algorithm is called λ _r-ICP. In this paper, we use the λ _r-ICP algorithm for coarse registration of the incongruent point clouds.
It is known that the classical ICP algorithm cannot work well with incongruent point clouds. The ICP algorithm requires the selection of pairs of corresponding points to solve the registration problem for the incongruent case. Moreover, the common ICP algorithm is used to register point clouds for sufficiently small rotation angles. Thus, the point pair selection is based on threshold values for the distance between corresponding points.
This approach does not work in coarse registration problems because coarse registration deals with large rotation angles. The coarse registration algorithm requires the selection of pairs of points based on orthogonal invariant descriptors.
Note that the lengths of the inertia ellipsoid semi-axes are orthogonal invariants. These lengths are determined by the eigenvalues λ i 1 , λ i 2 , and λ i 3 . The descriptors ( d s i 1 p , d s i 2 p , d s i 3 p ) and ( d s i 1 q , d s i 2 q , d s i 3 q ) from Section 3.1 are also orthogonal invariants.
Next, we describe the application of these orthogonal invariant descriptors in the proposed version of the λ _r-ICP algorithm. Note that the size of neighborhood k is fixed. Suppose that points p i and q i form a corresponding pair. Compute the local vector frames for p i and q i (item 2.1). Let us denote by λ i 1 p , λ i 2 p , λ i 3 p and λ i 1 q , λ i 2 q , λ i 3 q the eigenvalues for p i and q i , respectively. The parameters can be defined the follows:
d i s t _ λ i = max { | λ i 1 p λ i 1 q | , | λ i 2 p λ i 2 q | , | λ i 3 p λ i 3 q | } ,   i = 1 , s
d i s t _ d s i = m a x { d s i 1 p d s i 1 q L 1 , d s i 2 p d s i 2 q L 1 , d s i 3 p d s i 3 q L 1 } ,   i = 1 , s
Let us calculate values d i s t _ λ i for all corresponding pairs and select 20% of the best pairs (i.e., with minimum values) from the total. After that, calculate values d i s t _ ds i for all remaining pairs and select 25% of the best pairs (i.e., with minimal values). After these two selection steps, we are dealing with 5% of pairs. These steps are called the λ _r-ICP selection procedure.
Remark 3. 
In the  λ _r-ICP algorithm (for pairs selection), other orthogonal invariant descriptors can be used instead of those metioned above.
Since the λ _r-ICP algorithm is used for coarse registration, we also apply the point-to-point ICP with thresholds to refine the registration result. The threshold_PtP denotes the percentage of best pairs in terms of distance between points. This parameter is used on each iteration of the point-to-point ICP to select the threshold_PtP% of pairs.
The λ _r-ICP algorithm is summarized as follows in Algorithm 1.
Algorithm 1 𝜆_r-ICP Algorithm
1. input: cloud P, cloud Q, s = number of points in P, K = { [ 0.45 * s ] , [ 0.85 * s ] }
2. for counter_1:=1 to 2 do
3. k:=K[counter_1]
4. compute local vector frames in P and Q for k-neighborhoods
5. for counter_2:=1 to 16 do
6. λ4 = 10(−8) · 4counter_2-1
7. for counter_3:= 1 to 300 do
8. compute correspondence between P and Q (by k-d tree algorithm)
9. apply vector orientation predictor for corresponding local frames in P and Q (here local orthogonal invariant descriptors can be changed)
10. apply λ_r-ICP selection procedure
11. solve λ_r-ICP variation problem and obtain geometric transformation (R,T)
12. check the convergence criterion, if the criterion is valid then go to 14
13. end // for counter_3
14. append obtained geometric transformation (R,T) to the list tansform_list
15. end // for counter_2
16. end // for counter_1
17. make refinement by point-to-point ICP algorithm with treshold_PtP to all geometric transformation from tansform_list and choose transformation (R,T) which gives the minimum LCP value for clouds RP + T and Q
18. output: geometric transformation (R*,T*)

4. Computer Simulation

4.1. Compared Algorithms

With the help of a computer simulation, the performance the proposed algorithm λ _r-ICP, known as the Super4PCS algorithm [23], and version of the RANSAC algorithm [18] for coarse registration is illustrated and discussed.
We used the software implementation of the Super4PCS algorithm [37]. Super4PCS generates several geometric transformations and chooses one of them that is the best according to the LCP criterion. After that, refinement by the point-to-point ICP algorithm with the parameter threshold_PtP (see Section 3.2) is performed.
The λ _r-ICP algorithm is implemented as follows. This algorithm computes 32 geometric transformations and uses refinement for all of them. After that, the algorithm selects one of them, which is the best according to the LCP criterion.
The RANSAC is implemented similarly to the λ _r-ICP algorithm. The algorithm takes four random points in P and four random points in Q . The initial correspondence is given by indices. After that, the standard point-to point ICP algorithm is used. The algorithm generates some geometric transformations and uses refinement for all of them. After that, the algorithm selects one of them, which is the best according to the LCP criterion.
In our experiments, the choice of four points is optimal for RANSAC.
Another type of the coarse registration algorithm is described in [39] and its modified version in [40]. This algorithm uses the SHOT descriptor [24] and is based on the cluster approach. We refer to this algorithm as “Cluster”.
The point-to-point ICP algorithm (PtP-ICP) with the selection of pairs of corresponding points and the GICP algorithm (PCL-GICP) [5] (its software implementation from the point cloud library (PCL) [38]) are also used. Note that the considered version of the PtP-ICP algorithm uses the selection of pairs of corresponding points and is more suitable for processing truncated point clouds than PCL-GICP.

4.2. Organisation of Experiments

All point clouds used in our experiments have a diameter 2 . The following four point clouds were used in the experiments: Stanford Bunny; Airplane from the ModelNet40 database [34]; Scan_1; and Scan_2. The Bunny and Airplane clouds consist of 1024 points. The point clouds Scan_1 and Scan_2 were acquired by the Intel RealSense D435 depth camera. Using the depth camera, we made two maps of the depth of the room for the same camera position, but at different time. We converted depth maps to point clouds, which are similar but not identical. In particular, these point clouds are noisy independently of each other and have a different number of points. The first and second clouds consist of 73,340 and 73,081 points, respectively. We applied downsampling to these point clouds and acquired the clouds Scan_1 and Scan_2, which consist of 2631 and 2362 points, respectively. Clouds Scan_1 and Scan_2 are scaled to a diameter of ≈2. Figure 2 shows the Airplane, Bunny, Scan_1, and Scan_2 point clouds.
Suppose that we have a point cloud C l o u d i n i t . Let us fix a value of the parameter t r u n c a t e _ r a t e as a percentage. Calculate the mass center of the cloud and take a randomly oriented line containing the mass center. Let us project all points of C l o u d i n i t onto a straight line. Find the first and last projections on the line. We select truncate_rate% projections to lie on the line after the first projection. Delete corresponding points from the cloud C l o u d i n i t . Let us denote the resulting point cloud as P i n i t .
Select truncate_rate% projections lying on the line before the last projection. Delete corresponding points from the cloud C l o u d i n i t . Let us denote the obtained point cloud as Q i n i t .
In our experiments, the following values of the parameter t r u n c a t e _ r a t e are used: truncate_rate = 10 % , truncate_rate = 20 % , and truncate_rate = 25 % . Note that the parameter t r u n c a t e _ r a t e is related to the parameter overlap_rate. This parameter describes the percentage of common parts of the clouds P i n i t and Q i n i t . The corresponding values for overlap_rate are as follows: overlap_rate 89 % , overlap_rate = 75 % , and overlap_rate   67 % .
The point cloud Q is obtained from the point cloud Q i n i t as
Q = R t r u e Q i n i t + T t r u e
Information about the rotation matrix R t r u e and the translation vector T t r u e is contained in the matrix M t r u e in homogeneous coordinates.
The point clouds P i n i t and Q are degraded by additive Gaussian and impulse noise independently of each other. Denote the obtained point clouds as P and Q , respectively.
In the case of additive Gaussian noise, each point coordinate was corrupted by adding a Gaussian random variable with a zero mean and a standard deviation of σ = 0.05 and σ = 0.10 .
All points are also distorted by impulse noise as follows: each point coordinate is changed by adding a random variable uniformly distributed in the interval [ 0.2 ;   0.2 ] . The values of the noise level and truncate_rate (overlap_rate) are as follows: (σ = 0.10, truncate_rate =10% (overlap_rate ≈ 89%)); (σ = 0.05, truncate_rate = 20% (overlap_rate = 75%)); (impulse noise, truncate_rate = 10% (overlap_rate ≈ 89%)). We also carried out experiments with the Scan_1 and Scan_2 point clouds using the following conditions: only sensor noise, truncate_rate = 20% (overlap_rate = 75%). The registration task for the Airplane point cloud was also considered with conditions: noise-free, truncate_rate = 25% (overlap_rate ≈ 67%). Note that, in our experiments, we sought a balance between the level of noise and truncation, so that, on the one hand, the registration problem would be quite difficult for the compared algorithms. On the other hand, the algorithms should show a satisfactory level of results.
M est denotes the matrix of geometric transformation in homogeneous coordinates, which is the result of the registration algorithm. Consider the following expression:
d i s t _ m = M t r u e M est L 2
The parameter d i s t _ m describes the difference between the true and estimated transforms. Since we are dealing with noisy point clouds, the true transformation cannot be restored exactly. Therefore, the following criterion for the quality of the result of the registration algorithm is applied. We say that the result is good if 0 d i s t _ m < 0.2 , and the result is medium if 0.2 d i s t _ m < 0.6 .
Remark 4. 
The parameter dist_m evaluates the quality of the registration result for noisy incongruent point clouds with a single number. The selected parameter values work only for point clouds scaled to a diameter of about 2.
Figure 3a shows the initial point clouds P and Q . Figure 3b shows the registration result with the parameter d i s t _ m = 0.112 . Figure 3c shows the registration result with the parameter d i s t _ m = 0.204 . Figure 3d shows the registration result with the parameter d i s t _ m = 2.827 .
The statistical experiments are organized as follows. Let us fix the value of the rotation angle. We took a random, uniformly distributed direction vector defining a line containing the origin of the coordinate system. This line is the axis of rotation at a fixed angle. In addition, the components of the translation vector are a random variable uniformly distributed in the interval [ 0 ; 1 ] . The synthesized geometric transformation matrix (true matrix M true ) was applied to source cloud P . The algorithms were tested on the clouds P and Q . To guarantee statistically correct results, 500 trials for each fixed rotation angle were carried out. The rotation angle varied from 0 to 180 degrees with a step of 30 degrees. The number of trials satisfied to the condition of good and medium results was counted.
The percentage of good results ( 0 d i s t _ m < 0.2 ) is shown in the graphs. Note that the notation “Convergence rate” for this value is also used in the graphs. The abscissa axis shows the values of rotation angles in degrees. Good and medium results ( 0 d i s t _ m < 0.6 ) are also shown in the graphs.
Information about the algorithm parameters are given in the tables. The parameter “Number of ICP iterations” refers to the maximum number of ICP iterations per trial.
Our experiments were carried out on a standard desktop with Ryzen 7 1700XCPU, 32 Gb RAM, GPU NVIDIA GeForce 1080 Ti with 11 Gb GDRAM.

4.3. Experimental Results

4.3.1. Gaussian Noise with σ = 0.10 , truncate_rate = 10% (overlap_rate ≈ 89%)

Figure 4 shows examples of pairs ( P , Q ) with Gaussian noise with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ). These pairs are the input to the coarse registration algorithms under consideration.
Figure 5a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for Airplane. Figure 5b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for Airplane.
Table 1 shows the parameters of the tested algorithms for Airplane with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Figure 6a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for Bunny. Figure 6b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for Bunny.
Table 2 shows the parameters of the tested algorithms for Bunny, with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Figure 7a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for the Scans. Figure 7b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for the Scans.
Table 3 shows the parameters of the tested algorithms for Scan_1 and Scan_2 with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).

4.3.2. Gaussian Noise with σ = 0.05 , truncate _ rate = 20 % ( overlap _ rate = 75 % )

Figure 8 shows examples of pairs ( P , Q ) with Gaussian noise with σ = 0.05 and truncate_rate = 20% (overlap_rate ≈ 75%). These pairs are the input to the coarse registration algorithms under consideration.
Note that we consider here point clouds Scan_1 and Scan_2 without additional noise, only with sensor noise.
Figure 9a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for Airplane. Figure 9b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for Airplane.
Table 4 shows the parameters of the tested algorithms for Airplane with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Figure 10a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for Bunny. Figure 10b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for Bunny.
Table 5 shows the parameters of the tested algorithms for Bunny with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Figure 11a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for the Scans. Figure 11b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for the Scans.
Table 6 shows the parameters of the tested algorithms for Scan_1 and Scan_2 with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).

4.3.3. Impulse Noise with, truncate_rate = 10 % (overlap_rate ≈ 89%)

The parameters of impulse noise are described in Section 4.2. Figure 12 shows examples of pairs ( P , Q ) with impulse noise and truncate_rate = 10 % (overlap_rate 89 % ). These pairs are the input to the coarse registration algorithms under consideration.
Figure 13a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for Airplane. Figure 13b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for Airplane.
Table 7 shows the parameters of the tested algorithms for Airplane with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ).
Figure 14a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for Bunny. Figure 14b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for Bunny.
Table 8 shows the parameters of the tested algorithms for Bunny with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ).
Figure 15a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for the Scans. Figure 15b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for the Scans.
Table 9 shows the parameters of the tested algorithms for Scan_1 and Scan_2 with the impulse noise and truncate_rate = 10 % (overlap_rate 89 % ).

4.3.4. Noiseless, truncate_rate = 25% (overlap_rate ≈ 67%)

In addition, we carry out experiments with point clouds without noise and with a large truncation value (i.e., with sufficiently small common parts of clouds P and Q ). Figure 16 shows an example of point clouds   P (blue color) and Q (red color) without noise and truncate_rate = 25 % (overlap_rate 67 % ). This pair is the input to the tested coarse registration algorithms.
Figure 17a shows the convergence rate of good results, i.e., the frequency of results with 0 d i s t _ m < 0.2 for Airplane. Figure 17b shows the convergence rate of good and medium results together, i.e., the frequency of results with 0 d i s t _ m < 0.6 for Airplane.
Table 10 shows the parameters of the tested algorithms for airplane without noise and truncate_rate = 25 % (overlap_rate   67 % ).

5. Conclusions

In this paper, a new version of the variational problem of the ICP algorithm was considered. The introduced variational functional is a version of the λ -functional. The drawback of the previously described λ -ICP is that it is necessary to manually select the values of the parameters λ for the given source and target point clouds. Here we described a method for the automatic calculating of these parameters. An approximate solution to the corresponding variational problem using the proposed functional was presented. An efficient λ _r-ICP algorithm for the coarse registration of incongruent point clouds was also proposed. The algorithm contains elements of both the ICP and RANSAC approaches. With the help of computer simulation, the performance of the proposed algorithms was compared with that of the state-of-the-art coarse registration algorithms such as Super4PCS and RANSAC. The proposed algorithm yields the best results among tested algorithms in the case of strong noise.

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. Bellekens, B.; Spruyt, V.; Berkvens, R.; Weyn, M. A survey of rigid 3D pointcloud registration algorithms. In Proceedings of the Fourth International Conference on Ambient Computing, Applications, Services and Technologies, Rome, Italy, 24–28 August 2014; pp. 8–13. [Google Scholar]
  2. Tam, G.K.; Cheng, Z.Q.; Lai, Y.K.; Langbein, F.C.; Liu, Y.; Marshall, D.; Martin, R.R.; Sun, X.F.; Rosin, P.L. Registration of 3D point clouds and meshes: A survey from rigid to nonrigid. IEEE Trans. Vis. Comput. Graph. 2013, 19, 1199–1217. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. 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] [Green Version]
  4. Chen, Y.; Medioni, G. Object modelling by registration of multiple range images. Image Vis. Comput. 1992, 10, 145–155. [Google Scholar] [CrossRef]
  5. Segal, A.; Haehnel, D.; Thrun, S. Generalized-ICP. Robot. Sci. Syst. 2010, 5, 161–168. [Google Scholar]
  6. 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]
  7. Makovetskii, A.; Voronin, S.; Kober, V.; Voronin, A. A regularized point cloud registration approach for orthogonal transformations. J. Glob. Optim. 2020, 83, 497–519. [Google Scholar] [CrossRef]
  8. 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]
  9. 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] [Green Version]
  10. 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]
  11. Horn, B. Closed-Form Solution of Absolute Orientation Using Unit Quaternions. J. Opt. Soc. Am. A 1987, 4, 629–642. [Google Scholar] [CrossRef]
  12. 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]
  13. Umeyama, S. Least-squares estimation of transformation parameters between two point patterns. IEEE Trans. Pattern Anal. Mach. Intell. 1991, 13, 376–380. [Google Scholar] [CrossRef]
  14. Feng, Y.; Tang, J.; Su, B.; Su, Q.; Zhou, Z. Point Cloud Registration Algorithm Based on the GreyWolf Optimizer. IEEE Access 2020, 8, 143375–143382. [Google Scholar] [CrossRef]
  15. Voronin, S.; Makovetskii, A.; Kober, V.; Voronin, A. The ICP algorithm based on stochastic approach. In Proceedings of the Applications of Digital Image Processing XLIV, San Diego, CA, USA, 1–5 August 2021; Volume 11842, p. 118421P. [Google Scholar]
  16. 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]
  17. 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]
  18. Fischler, M.A.; Bolles, R.C. Random sample consensus: A paradigm for model fitting with applications to imageanalysis and automated cartography. Commun. ACM 1981, 24, 381–395. [Google Scholar] [CrossRef]
  19. Irani, S.; Raghavan, P. Combinatorial and experimental results for randomized point matching algorithms. In Proceedings of the 12th Annual Symposium on Computational Geometry, Philadelphia, PA, USA, 24–26 May 1996; Volume 12, pp. 17–31. [Google Scholar]
  20. Chen, C.S.; Hung, Y.P.; Cheng, J.B. RANSAC-based DARCES: A new approach to fast automatic registration ofpartially overlapping range images. IEEE Trans. Pattern Anal. Mach. Intell. 1999, 21, 1229–1234. [Google Scholar] [CrossRef] [Green Version]
  21. Bazin, J.C.; Seo, Y.; Pollefeys, M. Globally optimal consensus set maximization through rotation search. In Proceedings of the Asian Conference on Computer Vision, Daejeon, Republic of Korea, 5–9 November 2012; pp. 539–551. [Google Scholar]
  22. Aiger, D.; Mitra, N.J.; Cohen-Or, D. 4-points congruent sets for robust pairwise surface registration. ACM Trans. Graph. 2008, 27, 85. [Google Scholar] [CrossRef] [Green Version]
  23. Mellado, N.; Aiger, D.; Mitra, N.J. Super 4pcs fast global pointcloud registration via smart indexing. Comput. Graph. Forum 2014, 33, 205–215. [Google Scholar] [CrossRef] [Green Version]
  24. 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]
  25. Rusu, R.B.L.; Blodow, N.L.; Beetz, M. Fast point feature histograms (FPFH) for 3D registration. Robotics and Automation. In Proceedings of the 2009 IEEE International Conference on Robotics and Automation ICRA ’09, Kobe, Japan, 12–17 May 2009; pp. 3212–3217. [Google Scholar]
  26. Le, H.M.; Do, T.T.; Hoang, T.; Cheung, N.M. SDRSAC:Semidefinite-Based Randomized Approach for Robust Point Cloud Registration without Correspondeces. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition CVPR, Long Beach, CA, USA, 16–20 June 2019; pp. 124–133. [Google Scholar]
  27. 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]
  28. 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]
  29. 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]
  30. 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]
  31. 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 Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 16–20 June 2019; pp. 12–21. [Google Scholar]
  32. 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 IEEE Conference on Computer Vision and Pattern Recognition CVPR, Honolulu, HI, USA, 21–26 July 2017; IEEE Computer Society: Boston, MA, USA, 2017; pp. 77–85. [Google Scholar]
  33. Wang, Y.; Solomon, J. Deep Closest Point: Learning Representations for Point Cloud Registration. arXiv 2019, arXiv:1905.03304. [Google Scholar]
  34. Wu, Z.; Song, S.; Khosla, A.; Yu, F.; Zhang, L.; Tang, X.; Xiao, J. 3D Shapenets: A Deep Representation for Volumetric Shapes. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition CVPR, Boston, MA, USA, 7–12 June 2015; pp. 1912–1920. [Google Scholar]
  35. Makovetskii, A.; Voronin, S.; Kober, V.; Voronin, A. Point Cloud Registration Based on Multiparameter Functional. Mathematics 2021, 9, 2589. [Google Scholar] [CrossRef]
  36. 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]
  37. Super4PCS. Available online: https://github.com/nmellado/Super4PCS (accessed on 15 November 2022).
  38. Point Cloud Library. Available online: https://github.com/PointCloudLibrary (accessed on 15 November 2022).
  39. Makovetskii, A.; Voronin, S.; Kober, V.; Voronin, A. Registration algorithm for incongruent point clouds. In Proceedings of the 2022 VIII International Conference on Information Technology and Nanotechnology (ITNT), IEEE Proceedings, Samara, Russia, 23–27 May 2022; pp. 1–8. [Google Scholar]
  40. Voronin, S.; Makovetskii, A.; Kober, V.; Voronin, A.; Turov, M. Clustering in coarse registration task and extraction of common partsnof point clouds. In Proceedings of the SPIE Applications of Digital Image Processing XLV, San Diego, CA, USA, 22–24 August 2022; Volume 12226, p. 122261F. [Google Scholar]
  41. Bro, R.; Acar, E.; Kolda, T. Resolving the sign ambiguity in the singular value decomposition. J. Chemom. 2008, 22, 135–140. [Google Scholar] [CrossRef]
Figure 1. The illustration of the vector orientation predictor: (a) 3D model; (b) axis and planes; (c) the set of circles.
Figure 1. The illustration of the vector orientation predictor: (a) 3D model; (b) axis and planes; (c) the set of circles.
Mathematics 11 00035 g001
Figure 2. Initial point clouds. (a) Airplane; (b) Bunny; (c) Scan_1; (d) Scan_2.
Figure 2. Initial point clouds. (a) Airplane; (b) Bunny; (c) Scan_1; (d) Scan_2.
Mathematics 11 00035 g002
Figure 3. (a) Initial point clouds P and Q ; (b) registration result with the parameter d i s t _ m = 0.112 ; (c) registration result with the parameter d i s t _ m = 0.204 ; and (d) registration result with the parameter d i s t _ m = 2.827 .
Figure 3. (a) Initial point clouds P and Q ; (b) registration result with the parameter d i s t _ m = 0.112 ; (c) registration result with the parameter d i s t _ m = 0.204 ; and (d) registration result with the parameter d i s t _ m = 2.827 .
Mathematics 11 00035 g003
Figure 4. Examples of input data ( P , Q ) with Gaussian noise with σ = 0.10 and truncate_rate = 10 % ( o verlap_rate   89 % ): (a) Airplane; (b) Bunny; and (c) Scan_1 and Scan_2.
Figure 4. Examples of input data ( P , Q ) with Gaussian noise with σ = 0.10 and truncate_rate = 10 % ( o verlap_rate   89 % ): (a) Airplane; (b) Bunny; and (c) Scan_1 and Scan_2.
Mathematics 11 00035 g004
Figure 5. The graphs for the Airplane point cloud, noisy with Gaussian noise with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 5. The graphs for the Airplane point cloud, noisy with Gaussian noise with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g005
Figure 6. The graphs for Bunny point cloud, noisy with Gaussian noise with σ = 0.10 and truncate_rate = 10 % (overlap_rate 89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 6. The graphs for Bunny point cloud, noisy with Gaussian noise with σ = 0.10 and truncate_rate = 10 % (overlap_rate 89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g006
Figure 7. The graphs for Scan_1 and Scan_2 point clouds noisy by Gaussian noise with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 7. The graphs for Scan_1 and Scan_2 point clouds noisy by Gaussian noise with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g007
Figure 8. Examples of input data ( P , Q ) with Gaussian noise with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ): (a) Airplane; (b) Bunny; and (c) Scan_1 and Scan_2.
Figure 8. Examples of input data ( P , Q ) with Gaussian noise with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ): (a) Airplane; (b) Bunny; and (c) Scan_1 and Scan_2.
Mathematics 11 00035 g008
Figure 9. The graphs for Airplane point cloud noisy with Gaussian noise with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 9. The graphs for Airplane point cloud noisy with Gaussian noise with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g009
Figure 10. The graphs for Bunny point cloud noisy with Gaussian noise with σ = 0.05 and truncate_rate = 20 % (overlap_rate   = 75 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) Frequency (Convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 10. The graphs for Bunny point cloud noisy with Gaussian noise with σ = 0.05 and truncate_rate = 20 % (overlap_rate   = 75 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) Frequency (Convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g010
Figure 11. The graphs for Scan_1 and Scan_2 point clouds noisy with Gaussian noise with the own sensor noise and truncate_rate = 20 % (overlap_rate = 75 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 11. The graphs for Scan_1 and Scan_2 point clouds noisy with Gaussian noise with the own sensor noise and truncate_rate = 20 % (overlap_rate = 75 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g011
Figure 12. Examples of input data ( P , Q ) with impulse noise and truncate_rate = 10 % (overlap_rate   89 % ): (a) Airplane; (b) Bunny; and (c) Scan_1 and Scan_2.
Figure 12. Examples of input data ( P , Q ) with impulse noise and truncate_rate = 10 % (overlap_rate   89 % ): (a) Airplane; (b) Bunny; and (c) Scan_1 and Scan_2.
Mathematics 11 00035 g012
Figure 13. The graphs for Airplane point cloud noisy by the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 13. The graphs for Airplane point cloud noisy by the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g013
Figure 14. The graphs for Bunny point cloud noisy with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 14. The graphs for Bunny point cloud noisy with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); and (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g014
Figure 15. The graphs for Scan_1 and Scan_2 point clouds noisy by the impulse noise and truncate_rate = 10 % (overlap_rate 89 % ): (a) Frequency (Convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) Frequency (Convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 15. The graphs for Scan_1 and Scan_2 point clouds noisy by the impulse noise and truncate_rate = 10 % (overlap_rate 89 % ): (a) Frequency (Convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) Frequency (Convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g015
Figure 16. Example of input data P (blue color) and Q (red color) without noise and truncate_rate = 25 % (overlap_rate 67 % ).
Figure 16. Example of input data P (blue color) and Q (red color) without noise and truncate_rate = 25 % (overlap_rate 67 % ).
Mathematics 11 00035 g016
Figure 17. The graphs for airplane point cloud without noise and truncate_rate = 25 % (overlap_rate   67 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Figure 17. The graphs for airplane point cloud without noise and truncate_rate = 25 % (overlap_rate   67 % ): (a) frequency (convergence rate) of good results ( 0 d i s t _ m < 0.2 ); (b) frequency (convergence rate) of good and medium results ( 0 d i s t _ m < 0.6 ).
Mathematics 11 00035 g017
Table 1. Parameters of the tested algorithms for Airplane with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Table 1. Parameters of the tested algorithms for Airplane with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP28,9583000.950.06--
RANSAC29,192-0.950.06--
Super 4PCS28,751-0.950.061100.85
Cluster8253-0.950.06--
PCL-GICP592300----
PtP-ICP1173000.95---
Table 2. Parameters of the considered algorithms for Bunny with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Table 2. Parameters of the considered algorithms for Bunny with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP32,8533000.950.06--
RANSAC29,344-0.950.06--
Super 4PCS33,665-0.950.061200.85
Cluster4909-0.950.06--
PCL-GICP371300----
PtP-ICP1143000.95---
Table 3. Parameters of the tested algorithms for Scan_1 and Scan_2 with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Table 3. Parameters of the tested algorithms for Scan_1 and Scan_2 with σ = 0.10 and truncate_rate = 10 % (overlap_rate   89 % ).
Total Time per 3500 Trials, secNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP30,1943000.950.06--
RANSAC28,920-0.950.06--
Super 4PCS30,090-0.950.061200.85
Cluster5589-0.950.06--
PCL-GICP319300----
PtP-ICP1193000.95---
Table 4. Parameters of the tested algorithms for Airplane with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Table 4. Parameters of the tested algorithms for Airplane with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP24,7313000.850.06--
RANSAC28,989-0.850.06--
Super 4PCS29,694-0.850.061100.75
Cluster4404-0.850.06--
PCL-GICP280300----
PtP-ICP883000.85---
Table 5. Parameters of the tested algorithms for Bunny with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Table 5. Parameters of the tested algorithms for Bunny with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP29,2433000.850.06--
RANSAC29,238-0.850.06--
Super 4PCS22,966-0.850.061200.75
Cluster4740-0.850.06--
PCL-GICP350300----
PtP-ICP1003000.85---
Table 6. Parameters of the tested algorithms for Scan_1 and Scan_2 with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Table 6. Parameters of the tested algorithms for Scan_1 and Scan_2 with σ = 0.05 and truncate_rate = 20 % (overlap_rate = 75 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP27,1093000.850.04--
RANSAC29,026-0.850.04--
Super 4PCS31,291-0.850.041200.75
Cluster2113-0.850.04--
PCL-GICP301300----
PtP-ICP773000.85---
Table 7. Parameters of the tested algorithms for Airplane with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ).
Table 7. Parameters of the tested algorithms for Airplane with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP28,6103000.950.06--
RANSAC29,223-0.950.06--
Super 4PCS28,624-0.950.061100.85
Cluster6572-0.950.06--
PCL-GICP340300----
PtP-ICP1163000.95---
Table 8. Parameters of the tested algorithms for Bunny with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ).
Table 8. Parameters of the tested algorithms for Bunny with the impulse noise and truncate_rate = 10 % (overlap_rate   89 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP29,6693000.950.06--
RANSAC29,357-0.950.06--
Super 4PCS33,560-0.950.061200.85
Cluster4599-0.950.06--
PCL-GICP373300----
PtP-ICP1083000.95---
Table 9. Parameters of the tested algorithms for Scan_1 and Scan_2 with the impulse noise and truncate_rate = 10 % (overlap_rate 89 % ).
Table 9. Parameters of the tested algorithms for Scan_1 and Scan_2 with the impulse noise and truncate_rate = 10 % (overlap_rate 89 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP31,6763000.950.06--
RANSAC29,248-0.950.06--
Super 4PCS29,723-0.950.061200.85
Cluster5668-0.950.06--
PCL-GICP333300----
PtP-ICP1183000.95---
Table 10. Parameters of the tested algorithms for airplane without noise and truncate_rate = 25 % (overlap_rate   67 % ).
Table 10. Parameters of the tested algorithms for airplane without noise and truncate_rate = 25 % (overlap_rate   67 % ).
Total Time per 3500 Trials, sNumber of ICP IterationsThreshold
PtP
Delta
(LCP)
Nsamples
(Super4PCS)
Overlap
(Super4PCS)
λ_r-ICP30,0973000.60.004--
RANSAC29,302-0.60.004--
Super 4PCS5881-0.60.00410000.66
Cluster1523-0.60.004--
PCL-GICP256300----
PtP-ICP643000.6---
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Makovetskii, A.; Voronin, S.; Kober, V.; Voronin, A. Coarse Point Cloud Registration Based on Variational Functionals. Mathematics 2023, 11, 35. https://0-doi-org.brum.beds.ac.uk/10.3390/math11010035

AMA Style

Makovetskii A, Voronin S, Kober V, Voronin A. Coarse Point Cloud Registration Based on Variational Functionals. Mathematics. 2023; 11(1):35. https://0-doi-org.brum.beds.ac.uk/10.3390/math11010035

Chicago/Turabian Style

Makovetskii, Artyom, Sergei Voronin, Vitaly Kober, and Alexei Voronin. 2023. "Coarse Point Cloud Registration Based on Variational Functionals" Mathematics 11, no. 1: 35. https://0-doi-org.brum.beds.ac.uk/10.3390/math11010035

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