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 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 in . 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 be a source point cloud, and be a target point cloud in . Suppose that the relation between points of P and Q is given in such a manner that for each point there is a corresponding point .
The information matrices were introduced in [4]. Information matrices had a size of and were symmetric. Let us consider the k-neighborhood of a point , . The mass center of the neighborhood and the covariance were calculated as follows:
The eigendecomposition of the matrix was calculated as:
where , , are the eigenvalues of in ascending order, is the orthogonal matrix of eigenvectors. We defined here an information matrix of point as:
where . We considered , , as variable parameters. These parameters were selected individually for a given point cloud.
The information matrices for point cloud Q were defined similarly.
Denote the surfaces constructed from clouds P and Q by and , respectively. Let and be the tangent planes of and at points and , respectively. Let and be the normal vectors to the planes and , respectively, . The normal information matrices for the cloud Q were defined in the same way as the information matrices .
2.2. NICP Functional and Its Decomposition
Denote by the following functional:
where and are point information and normal information matrices, respectively.
is the NICP functional [4,5].
Let us consider the first term of the functional . Denote the vector and its coordinates as . The term can be rewritten as: -4.6cm0cm
where . Denote by , and columns of the matrix . Consider the following expression:
2.3. Definition of the -Functional
Let us consider the k-neighborhood of point in cloud P. The eigenvectors , and of the corresponding covariance matrix formed a local vector frame (, and for the point in the cloud Q). Rotation R maps the local frame in P to the local frame in Q. We wrote the functional by decomposing the vectors , and similarly as with vector in (9):
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 in cloud P with point in cloud Q.
Denote by , , vectors in cloud P and , , in Q that were defined the same way as vectors , , and , , (for inverse correspondence) were.
Denote by , …, the following functionals:
The -functional was given as:
We stated the following variational problem:
2.4. -Functional in Homogeneous Coordinates
Here, we introduced the following notations in homogeneous coordinates:
where the rotation matrix R consisted of elements:
The functionals ,…, in homogeneous coordinates took the form:
The functional in homogeneous coordinates could be written as:
The variational problem (19) could be rewritten as:
2.5. Gradient of the -Functional
The gradients of the functionals were computed by formulas described in [5]:
The gradient of the -functional took the form:
Consider the following equation:
Denote by M the right part of the Equation (31). Note that M is the known matrix. We rewrote (31) in the following way:
We introduced the following notation:
The elements of matrix B could be computed as:
Note that matrix B was symmetric since:
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 and Translation Vector Revaluation
Let be a left-upper (affine) submatrix of matrix . We considered the singular value decomposition of matrix . The projection of to manifold was the matrix , where S was given [14] by the formula:
The translation vector was computed as:
where
The orthogonal transformation 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 in point cloud Q corresponded to point in P. Denote by , and the eigenvectors of the covariance matrix in the neighborhood of in P, and denote by , and the corresponding eigenvectors in Q.
Note that if the eigenvalues were placed in an ascending order, vector would correspond to the main inertial axis of the neighborhood, vector 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 and the mass center of the neighborhood in Q. Vector and point 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 and the first and last projections on axis x. Consider the uniform subdivision of the line segment by points , where m is the number of subsegments. Figure 1 shows the described geometrical configuration. We considered each subsegment and denote by the projection of point in Q if this projection belonged to the considered subsegment. Denote by the centers of subsegments , . We associated value with the subsegment in the spirit of the approach proposed in [26]:
Figure 1.
Orthogonal projections of the points of cloud Q onto the axis defined by point and vector .
Denote by the following vector:
We called the vector the descriptor of the third eigenvector in the local frame in Q. We compute the similar descriptors and . Vector was the inverse version of the vector .
We compared vectors with and with using 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 in Q and in P and vector . Vector was the vector product .
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 and .
The considered impulse noise was defined as follows: the probability of distortion of a point by impulse noise was ; each coordinate of the distorted point was changed by adding a random variable uniformly distributed in the interval .
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.
Figure 2.
Test clouds: (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
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 , , .
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 . The synthesized geometric transformation matrix (true matrix ) 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 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 was equal to matrix . In this case, we obtained . 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 .
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.
For the congruent point clouds, we used the threshold 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 4.
Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for: (a) Stanford Bunny; (b) 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.
Figure 5.
Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for: (a) airplane; (b) 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 for the point clouds, where , , .
Table 1.
Parameters of -ICP algorithm for the congruent case.
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 . 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 .
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.
For the non-congruent point clouds, we used the threshold 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
Figure 7 shows the point clouds distorted by Gaussian noise with .
Figure 7.
Point clouds with Gaussian noise, : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
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 8.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, .
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.
Figure 9.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, .
Figure 10.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, .
Figure 11.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, .
Table 2 shows the number of subsegments of the direction predictor for -ICP, the size of the neighborhood and the values of the parameters for the point clouds in the case of Gaussian noise with , where , , .
Table 2.
Parameters of the -ICP algorithm for the case of Gaussian noise with .
4.2.2. Gaussian Noise with
Figure 12 shows the considered point clouds distorted by Gaussian noise with .
Figure 12.
Point clouds with Gaussian noise, : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
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 13.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for Stanford Bunny with Gaussian noise, .
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.
Figure 14.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for Armadillo with Gaussian noise, .
Figure 15.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for airplane with Gaussian noise, .
Figure 16.
(a) Convergence rate of -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, ; (b) mean RMSE (for transformation matrices) of -ICP (blue), DCP (red), PtP (green) algorithms for human face with Gaussian noise, .
Table 3 shows the number of subsegments of the direction predictor for -ICP, the size of the neighborhood and the values of parameters for considered point clouds in the case of Gaussian noise with , where , , .
Table 3.
Parameters of the -ICP algorithm for the case of Gaussian noise with .
4.2.3. Impulse Noise
Figure 17 shows the tested point clouds distorted by Gaussian noise with .
Figure 17.
Point clouds with Gaussian noise, : (a) Stanford Bunny; (b) Armadillo; (c) airplane; (d) human face.
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 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 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.
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 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 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.
Table 4 shows the number of subsegments of the direction predictor for -ICP, the size of the neighborhood and the values of parameters for tested point clouds in the case of impulse noise, where , , .
Table 4.
Parameters of the -ICP algorithm for the case of impulse noise.
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.
Table 5.
Average convergence rates of the -ICP, DCP, PtP algorithms in percent for different cases.
Note that the proposed -ICP algorithm and DCP had a very high convergence rate for an arbitrary initial position of point clouds in . 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
- 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]
- Chen, Y.; Medioni, G. Object modelling by registration of multiple range images. Image Vis. Comput. 1992, 10, 145–155. [Google Scholar] [CrossRef]
- Segal, A.; Haehnel, D.; Thrun, S. Generalized-ICP. Robot. Sci. Syst. 2010, 5, 161–168. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- Horn, B. Closed-Form Solution of Absolute Orientation Using Unit Quaternions. J. Opt. Soc. Am. A 1987, 4, 629–642. [Google Scholar] [CrossRef]
- 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]
- Umeyama, S. Least-squares estimation of transformation parameters between two point patterns. IEEE-TPAMI 1991, 13, 376–380. [Google Scholar] [CrossRef] [Green Version]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Wang, Y.; Solomon, J. Deep Closest Point: Learning Representations for Point Cloud Registration. arXiv 2019, arXiv:1905.03304. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- Deep Closest Point. Available online: https://github.com/WangYueFt/dcp (accessed on 15 October 2021).
- Bosphorus 3d Face Database. Available online: http://bosphorus.ee.boun.edu.tr/default.aspx (accessed on 15 October 2021).
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).