Figures
Abstract
This paper presents a robust 3D point cloud registration algorithm based on bidirectional Maximum Correntropy Criterion (MCC). Comparing with traditional registration algorithm based on the mean square error (MSE), using the MCC is superior in dealing with complex registration problem with non-Gaussian noise and large outliers. Since the MCC is considered as a probability measure which weights the corresponding points for registration, the noisy points are penalized. Moreover, we propose to use bidirectional measures which can maximum the overlapping parts and avoid the registration result being trapped into a local minimum. Both of these strategies can better apply the information theory method to the point cloud registration problem, making the algorithm more robust. In the process of implementation, we integrate the fixed-point optimization technique based on the iterative closest point algorithm, resulting in the correspondence and transformation parameters that are solved iteratively. The comparison experiments under noisy conditions with related algorithms have demonstrated good performance of the proposed algorithm.
Citation: Zhang X, Jian L, Xu M (2018) Robust 3D point cloud registration based on bidirectional Maximum Correntropy Criterion. PLoS ONE 13(5): e0197542. https://doi.org/10.1371/journal.pone.0197542
Editor: You Yang, Huazhong University of Science and Technology, CHINA
Received: February 7, 2018; Accepted: May 3, 2018; Published: May 25, 2018
Copyright: © 2018 Zhang et al. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Data Availability: All relevant data are within the paper and its Supporting Information files.
Funding: This work was supported by the National Natural Science Foundation of China (61305096). The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.
Competing interests: The authors have declared that no competing interests exist.
1 Introduction
The development of scanning equipment makes the acquisition of 3D point cloud possible [1, 2]. Point cloud registration problem has attracted considerable attentions in computer vision [3, 4]. The goal of registration is to find the correspondence and estimate the optimal rigid transformation between two point clouds. The conventional methods based on the iterative closest point (ICP) [5, 6] algorithm have been widely used for the advantages of high speed and accuracy. Usually, such methods build a global hard correspondence which are efficient but not robust enough with the presence of various noise, outliers and partial difference.
To overcome the above disadvantage, two kinds of improvements have been applied by researchers. One is to replace the hard assignment with soft assignment, which uses one-to-more correspondences instead of one-to-one mapping [7, 8]. For example, Liu et al. [9] added the expectation maximization principle to the ICP, and used the SoftAssign for registration of overlapping point sets. Jian et al. [10] modeled point sets as probability density functions (PDF) by Gaussian mixture model. The distance between two global distributions is minimized for fitting two point sets with some smooth transformation constraints. Similar idea was used by Zhou et al. [11] for non-rigid point set registration. These methods are accurate and robust. But they need to estimate the correspondence from each point to all points. The computational complexity is very high. The other way is to select part of reliable point-pairs to estimate the transformation. The straightforward solution is to add a penalty term for the corresponding points with greater distance [12]. In order to balance the penalty intensity automatically, a parameter related with the overlapping ratio was applied into a series of methods [13–15] to adjust the trimming and matching ratio. These methods are effective to overcome the challenge of partial difference. But in reality, when varied kinds of non-ideal conditions occur together, they are hard to deal with them jointly.
Most traditional registration algorithms build the distance measure based on the mean square error (MSE). In information theoretic learning (ITL) [16, 17], researchers have noticed the poor performance of MSE to process non-Gaussian data. Instead, correntropy, a non-second statistical measure, has shown significant potential in the general robust learning and signal processing [18–21]. The core reason for its robustness is that the correntropy directly estimates the probability of how similar the two random variables are. The adverse effects of noise and outliers are automatically eliminated by assigning small weights. The related work is a shape matching method [22] based on the Maximum Correntropy Criterion(MCC), which is equivalent to minimizing C-Loss between two point sets. This work has shown some superior in dealing with non-Gaussian noise and large outliers. But the algorithm assumes the correspondences between two point sets should be assigned in advance. Moreover the result’s stability should be improved. More recently, Xu et al. [23] employed the correntropy and Yang et al. [24] employ a non-second statistical measure in kernel space under the ICP framework, which can establish the correspondence and do the matching concurrently. However their algorithms are easily converge to partial noisy points. Later, we will present some registration results in [23] in the experiments for comparison.
Different from the above methods, this paper presents a robust point cloud registration algorithm based on the bidirectional Maximum Correntropy Criterion (BiMCC). Since the MCC is considered as a probability measure which weights the correspondence of point sets for registration, the noisy points are penalized. Moreover, using bidirectional measure can maximum the overlapping parts and avoid the registration result being trapped into a local minimum. Both of these two strategies can better apply the information theory method to the registration problem, making the algorithm more robust. In the process of algorithm implementation, we integrate the fixed-point optimization technique into the ICP framework, resulting in the correspondence and transformation parameters that are solved jointly. The comparison experiments under noisy conditions with related algorithms have demonstrated good performance of the proposed algorithm.
The rest of the paper is structured as follows. In Section 2, we give a brief review of correntropy. Following that, Section 3 proposes a novel formulation and optimization algorithm for noisy point cloud registration based on the BiMCC. In Section 4, we present experimental results tested on the benchmark data set to demonstrate the performance. Section 5 concludes this paper.
2 Brief review of correntropy
In real world, signals are generally captured from unconstrained scenarios by sensors, which brings big challenges for computer processing. The point cloud captured from 3D space has unpredictable nature errors. Some errors may be with large magnitude as outliers, some of them may be small but with arbitrary distributions. Therefore, a robust cost function should have the ability to filter out all kinds of errors. Today, the MSE is the most widely used in cost function for registration. However, as a standard second order statistics, it is a good solution only for processing Gaussian noise. Recently, correntropy is proposed in ITL to handle non-Gaussian noises and large outliers, which has widely and successfully applications in signal processing and machine learning. Essentially, correntropy is a second order statistical measure in kernel space, which corresponds to a non-second order measure in original space.
Given two arbitrary random variables X and Y, the correntropy is defined as
(1)
where κ(⋅) stands for a kernel function, satisfying κ(x) ≥ 0 and
. E[⋅] denotes the mathematical expectation. In this work, without mentioned otherwise, the kernel function is selected as a Gaussian kernel, given by
(2)
where σ denotes the kernel bandwidth.
In a practical situation, the joint probability density function is usually unknown, and one has to estimate it from a finite number of data pair . Based on the Parzen window approach, the sample estimator of correntropy is simply estimated as
(3)
We can see from the Eq (3) that correntropy is directly related to the probability of how similar two random variables along the line X = Y and in a neighborhood of the joint space controlled by the kernel bandwidth. This is the reason that correntropy weights the correspondence of points.
3 Proposed algorithm
In this section, we first define the bidirectional correntropy for two point cloud data, and propose the rigid registration formulation for noisy point cloud based on the bidirectional Maximum Correntropy Criterion (BiMCC). And then we develop the optimization method to estimate optimal parameters. Finally, the theory analysis is presented with the algorithm property.
3.1 Problem formulation
Given two point clouds in 3D space, denoted as a model point cloud and a target point cloud
, the goal for registration is to build up the correspondence and calculate the rigid transformation to achieve the best alignment with two point clouds. We assume the corresponding point for
in the opposite point cloud is
, using c(⋅) to denote the corresponding index. The registration process is to rigid transform the point
by a rotation matrix R and translation vector
to
, then the error between two matched points is
(4)
For each point in X, it can be found one corresponding point in Y by the nearest neighbor searching. These corresponding points compose a new data set denoted as , which has the same number and order with X. If model point set and its corresponding point set are considered as two random variables with noise and outliers, we measure their correntropy as:
(5)
It is easy to know that . So, when we only consider one corresponding direction, part of the points in Y will be ignored in the formulation. Without a good initial position, most of the Y are wrong at the beginning. Especially with the presence of noise, the distance between model points and noisy points may be smaller compared with other true correspondences. In that case, these noisy points are trusted for registration which causes the result being stick to partial noisy region.
To avoid this situation, we define the bidirectional correntropy for two point clouds. Correspondingly, for each point in Y, it can be found one corresponding point in X by the nearest neighbor searching. These corresponding points compose a new data set denoted as , which has the same number and order with Y. It can be understood as we construct two big point sets
and
, respectively, with the same point number N = Nx + Ny. With the help of more correspondence between
and
, the weight of local registration will be reduced. The result leans to a global registration.
Then, the bidirectional correntropy is formulated as:
(6)
The two terms in Eq (6) are the sum of the forward distance and backward distance between two point sets respectively. For each term, it is formulated as a non-second order manner. This formulation also denotes a distance measure between two point sets. To minimum the distance measure is equal to maximum the bidirectional correntropy, call as BiMCC. Thus, the proposed the cost function for the point cloud registration based on BiMCC is
(7)
Note that since R is a rotation matrix, it should satisfy the constrained conditions RT R = I3 and det(R) = 1. The constraint about rotation matrix R should be added, when we maximize the cost function.
3.2 Parameter estimation
In the above cost function Eq (7), there are two kinds of parameters to be optimized: 1) the reconstructed point sets and
. It is equal to find the one-to-one corresponding index c(i) and d(j) between two point sets, 2) the rigid transformation parameters R and
. Actually, these two kinds of parameters are close related with each other. When one of them has been known, the other is easily to be obtained. Moreover, the parameter estimation can be solved like the ICP algorithm under an iteration framework. We call the proposed algorithm as ICP-BiMCC, which is presented as follows:
Step 1: Given the (k − 1)th transformation parameters , the bidirectional corresponding points between two point-sets are found by the nearest neighbor searching:
(8)
The above Step 1 finds the closet point in another point set for each point. Some conventional searching strategies like Delaunay triangulation and k-d tree are able to be used in advance to speed up the computation.
Step 2: According to the current correspondence and
, two point sets
and
are redefined as
Then the transformation parameters are computed by maximizing the following function:
(9)
Firstly, taking the derivative of Eq (9) with respect to , we have:
(10)
where
.
To simplify the cost function, we substitute into Eq (10) and let
(11)
Intuitively, point sets P and Q are normalized by weighted centroid.
It is difficult to solve the constraint optimization problem by simple technique. But, Arun et al. [25] has presented in the ICP algorithm to solve for the rotation matrix with respect to the MSE, by calculating the matrix H and its singular value decomposition (SVD). The difference is that our cost function is based on the MCC, the modified matrix H is
(13)
And we make the SVD of H, it becomes: H = UΛV. Then we get the optimal R*:
(14)
where,
Finally, with the known parameters R*, we can calculate the translation parameter according to Eq (10). R* and
are the current transformation under the last k − 1 time result. Thus, the transformation on the original template should be updated. Update Rk and
by:
The above Steps 1 and 2 are repeated until satisfying the stop criteria.
We can see that both the optimal parameters R* and depend on the kernel function κσ(ei). Whereas, ei is related to the parameters R and
. So it is a fixed-point equation which can be solved by a fixed-point iterative algorithm. For the solution of the algorithm, we assume that the kernel function is fixed as the last iteration
. Since after a few iterations, there is no much difference of parameters between two continuous iterations, this approximation will not affect the final registration result. So the complete algorithm only has one iterative layer. Algorithm 1 summarizes the process of the proposed ICP-BiMCC algorithm for rigid point cloud registration. There are some effective ways [26] to set optimal initialization, which are not discussed in this paper. Here, we use the identity matrix as the initial parameter.
Algorithm 1 ICP-BiMCC
Input: model point cloud and data
Output: transformation R and , correspondences
and
1: Initialization: Set R0 = I3 and , and randomly initialized σ0
2: for k = 1, 2, …, K do
3: Set up the correspondence ck(i) and dk(j) by nearest neighbor searching;
4: Compute the kernel κσ(ek) by Rk−1 and ;
5: Reconstruct the point sets P and Q;
6: Solve the rotation matrix R* by Eq (14);
7: Solve the translation vector by Eq (10);
8: Update the transformation parameters Rk and ;
9: Compute the MSE ek;
10: Set the kernel width σk;
11: Until ‖ek − ek−1‖ < ε.
return
3.3 Theory analysis
Compared with the conventional ICP algorithm, there are two main improvements of the proposed ICP-BiMCC algorithm. We firstly use a bidirectional measure to build the correspondence, and then compute the rigid transformation by a non-second order measure: correntropy. In this section, we analysis the reasons why the ICP-BiMCC algorithm is more robust by these two improvements.
3.3.1 Computing the transformation.
In each iteration, when correspondence has been established, the one-to-one point-pairs are selected as candidates for computing the rigid transformation. The ICP algorithm uses all of them equally to estimate transformation parameters. But when there are some noise or outliers, the wrong correspondences will drag the global transformation to a bad position. Instead, the ICP-BiMCC algorithm utilises the correntropy measure. As we mentioned, the correntropy is directly related to the probability of how similar two random variables are. Intuitively, we can see the distribution of Gaussian function κσ(e). When e locates outside of the space around 0 vector, the value reduces quickly. That means only when the two corresponding points are close enough, they could be used reliably for estimating transformation parameters. Otherwise, they have little influence for the result. Since the noisy points and outliers are usually far away from the model points, the proposed algorithm can avoid the bad effects caused by noise and outliers in theory.
Here, the kernel bandwidth σ plays an important role in controlling the weight of each corresponding point’s contribution. It affects the range which distinguishes the inliers and noisy points. Since the majority correspondence are not accurate at the beginning, all points should be used without obvious differences. Here we set a big bandwidth. Gradually, after a few iterative steps one-to-one correspondences are built accurately. Noisy points should be filtered out by small bandwidth. Therefore, the kernel bandwidth is varied from large to small. It is corresponding to the coarse-to-fine registration strategy. We employ the Silvermans rule [18] in Eq (15) to adjust the kernel width automatically.
(15)
where σE is the standard deviation of
and D is the interquartile range. We can see that σ is adjusted according to the current registration’s error, which conforms to the above analysis. Without mentioned otherwise, we apply this chosen principle.
3.3.2 Building bidirectional correspondence.
In each iteration, the model point cloud is transformed by the estimated parameters to a new position. The correspondences are built according to the nearest neighbor principle in 3D space. Now, we assume that target point cloud is noisy. Some of points are disturbed by a non-zero mean noise but with small variance. It’s can be imagined that these noisy points are similar with the local shape of model point cloud, such as Fig 1. We consider this situation when a certain percentage of model points is matched to noisy data, other points are mismatched. In this case, if we only build a single directional correspondence for every model point, some of them still find the noisy data with very short distance values, and others find the wrong correspondences with big distance values. Based on the above analysis of MCC, the latter will be considered as noisy points which has no contribution for updating the rigid transformation. Thus, the iterative process terminate, and the registration is trapped into a local minimum as Fig 1(c). Whereas, if we use bidirectional measure to build the correspondence, the most points in target point set will find the right correspondences relatively with model points, which weaken the bad influence caused by noise. Therefore, using bidirectional measures between two point sets can maximum the matching overlaps to reach a global optimization as Fig 1(d).
(a) Initialization. (b) result of ICP. (c) result of ICP-MCC. (d) result of ICP-BiMCC.
4 Experimental results
In this section, we compare the performance among the ICP algorithm [5], ICP-MCC algorithm [23] and our ICP-BiMCC algorithm. The registration precision is reported by the MSE between corresponding points. An alternative way to measure the performance is the errors between estimated values and the ground truth simulation parameters. For rigid transformation, they are defined as and
. The experiments are conducted on the public and standard datasets [27] and [28–30]. The following experiments are tested on the noisy data and partial overlapping data, respectively.
4.1 Testing on noisy data
In this part, the 3D point clouds ‘Bunny’, ‘Dragon’ and ‘Happy Buddha’ data from S1 Dataset in [27] are tested. The original data is used as model point cloud, and the target point cloud is simulated as the following ways. The model data is firstly rotated by 25 degree around three axis and translated by [0.1, 0.1, 0.1]T. Then 20% points are selected randomly to be added with Gaussian noise N(0, 0.02). 10% points are selected randomly to be added with non-zero mean Gaussian noise N(0.003, 0.018). Since the noise is randomly added to the testing data, we repeat every experiment condition for 10 times. The statistical quantitative results: MSE, ER and of three point clouds are shown in Table 1. Since the MSE can only deal with global Gaussian noise, the performance is poor of the ICP algorithm. And the ICP-MCC algorithm can filter out some noise and outiers. But they are misled by those non-zero mean noise, so it achieves a local registration. It can be seen that all registration errors of our ICP-BiMCC algorithm are the smallest. The ICP-BiMCC algorithm has the highest robustness and accuracy to noisy data.
Fig 2 compares the convergence curves of ‘Bunny’, ‘Dragon’ and ‘Happy Buddha’ among three algorithms. It can be seen all three algorithms are converged and the ICP-BiMCC algorithm achieves the smallest registration error.
(a) ‘Bunny’, (b) ‘Dragon’, (c) ‘Happy Buddha.’
To clearly and intuitively demonstrate the results, Fig 1 displays the experiments on the point cloud ‘Bunny’. Blue and red points present the model point cloud and the simulated target point cloud, respectively. In the result of Fig 1(b), we can see that the ICP algorithm uses all corresponding points for registration, whose result is inevitably influenced by the noise. The result of Fig 1(c), the ICP-MCC algorithm mismatches at noisy points, since it is difficult to distinguish the noise and outliers in a local minimum region. However, from Fig 1(d) we can see that the registration result of the ICP-BiMCC algorithm is very accurate. And the noise is filtered out clearly.
4.2 Testing on partial overlapping data
We design two kinds of experiments to test whether the result will be trapped into local minimum on partial overlapping data. In the first experiment, we cut off part of point set. Specifically, the 3D point cloud ‘Dragon’ from S1 Dataset is firstly rotated by 10 degree in each axis and translated by [0.1, 0.1, 0]T. And then, the upper part of the body, which refers to those points with the first dimension being smaller than -0.03, is trimmed. The differences between the initial point cloud and the target point cloud are shown in Fig 3(a). Fig 3(b)–3(d) show the registration results by three algorithms. From the Fig 3(b), we can find the ICP algorithm can not deal with the registration of partial overlapping accurately. Compared Fig 3(c) and 3(d), we can see that ICP-BiMCC algorithm is more accurate and robust to outliers. To more clearly see the details of the registration region, the regions marked by green rectangles in Fig 3 are amplified in Fig 4. We can clearly see that the registration result of ICP-BiMCC algorithm is more accurate than the ICP-MCC algorithm. Fig 5(a) demonstrates their convergence curves. It can be seen all three algorithms are converged and the ICP-BiMCC algorithm achieves the smallest registration error.
(a) Initialization. (b) result of ICP. (c) result of ICP-MCC. (d) result of ICP-BiMCC.
(a) result of ICP-MCC. (b) result of ICP-BiMCC.
(a) ‘Dragon’, (b) ‘T-rex’.
In the second experiment, we add some local similar shapes to the original data to test the robustness of the algorithm. During the iterative process, since their local similarity, when the result reaches the partial registration, the other part will be easily considered as outliers. But more robust algorithm can avoid it. Specifically, one more leg and one more tail of 3D point cloud ‘T-rex’ from from S1 Dataset in [30] are copied, and given a rotation and a translation transformation, then added to the original point cloud. The differences between the initial point cloud and the simulated data are pointed out by the circles in Fig 6(a). Fig 6(b)–6(d) show the registration results by three algorithms. We can see that the results of ICP and ICP-MCC algorithm are mismatched because of the additional part. However, the ICP-BiMCC algorithm can find the maximum overlapping parts and register two point clouds accurately. Fig 5(b) demonstrate their convergence curves. It can be seen all three algorithms are converged and the ICP-BiMCC algorithm achieves the smallest registration error.
(a) Initialization. (b) result of ICP. (c) result of ICP-MCC. (d) result of DICP-MCC.
5 Conclusions
This paper presents a robust point cloud registration algorithm based on the BiMCC. The proposed formulation replaces the similarity measure to the BiMCC loss, which is more robust to the noise and outliers in practice and avoid the registration result being trapped into a local minimum caused by bad initializations. The fixed-point optimization technique under the ICP framework is adopted to solve the proposed formulation. Qualitative and quantitative experimental results under noisy conditions show that our approach outperforms other related methods.
Acknowledgments
This work was in part supported by the National Natural Science Foundation of China (61305096).
References
- 1. Lu K, Yang Y, Zhen Y. Stereo data sensing, computation and perception. Neurocomputing, 2016; 215:1–2.
- 2. Gao Y, Yang Y, Zheng Y, Dai Q. Depth error elimination for RGB-D cameras. ACM Transactions on Intelligent Systems and Technology. 2015; 6(2):1–16.
- 3. Petricek T, Svoboda T. Point cloud registration from local feature correspondences-evaluation on challenging datasets. PLoS ONE. 2017; 12(11):0187943.
- 4.
Shiratori T, Berclaz J, Harville M, Shah C, Li T, Matsushita Y, et al. Efficient large-scale point cloud registration using loop closures. International Conference on 3D Vision. 2015:232–240.
- 5. Besl P, Mckay N. A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence. 1992; 14(2):239–256.
- 6. Zhang Z. Iterative point matching for registration of free-form curves and surfaces. International Journal of Computer Vision. 1994; 13(2):119–152.
- 7. Myronenko A, Son X. Point set registration: coherent point drift. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2010; 32(12):2262–2275. pmid:20975122
- 8. Peng L, Li G, Xiao M, Xie L. Robust CPD algorithm for non-rigid point set registration based on structure information. PLoS ONE. 2016; 11(2):e0148483. pmid:26866918
- 9. Liu Y. Automatic registration of overlapping 3D point clouds using closest points. Image and Vision Computing. 2006; 24(7):762–781.
- 10. Jian B, Vemuri B. Robust point set registration using Gaussian mixture models. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2011; 33(8):1633–1645. pmid:21173443
- 11. Zhou Z, Zheng J, Dai Y, Zhou Z, Chen S. Robust non-rigid point set registration using students-t mixture model. PLoS ONE. 2014; 9(3):e91381. pmid:24618749
- 12.
Rusinkiewicz S, Levoy M. Efficient variants of the ICP algorithm. International Conference on 3-D Digital Imaging and Modeling, 2002:145–152.
- 13. Chetverikov D, Stepanov D, Krsek P. Robust Euclidean alignment of 3D point sets: the trimmed iterative closest point algorithm. Image and Vision Computing. 2005; 23(3):299–309.
- 14.
Godin G, Rioux M, Baribeau R. Three-dimensional registration using range and intensity information. The International Society for Optical Engineering. 2005:279–290.
- 15.
Phillips J, Liu R, Tomasi C. Outlier robust ICP for minimizing fractional RMSD. IEEE International Conference on 3-D Digital Imaging and Modeling. 2007:427–434.
- 16.
Principe J. Information theoretic learning:Renyi’s entropy and kernel perspectives. Springer Science and Business Media. 2010.
- 17.
Chen B, Zhu Y, Hu J, Principe J. System parameter identification: information criteria and algorithms. Newnes. 2013.
- 18. Liu W, Pokharel P, Principe J. Correntropy: properties and applications in non-Gaussian signal processing. IEEE Transactions on Signal Processing. 2007; 55(11):5286–5298.
- 19. Chen B, Liu X, Zhao H, Principe J. Maximum correntropy Kalman filter. Automatica 2017; 76(70-77).
- 20. Chen B, Xing L, Zhao H, Zheng N, Principe J. Generalized correntropy for robust adaptive filtering. IEEE Transactions on Signal Processing. 2016; 64(13):3376–3387.
- 21.
Yuan X, Gang B. Robust feature extraction via information theoretic learning. ACM International Conference on Machine Learning. 2009:1193–1200.
- 22. Hasanbelliu E, Giraldo L, Principe J. Information theoretic shape matching. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2014; 36(12):2436–2451. pmid:26353150
- 23.
Xu A, Du S, Xue J. Precise 2D point set registration using iterative closest algorithm and correntropy. IEEE International Joint Conference on Neural Networks. 2016:24–29.
- 24.
Yang Y, Chen W, Chen B, Du S, Xiong L. Robust 2D point sets matching with kernel mean p-power error loss. IEEE International Conference on Systems, Man, and Cybernetics. 2017:1898–1902.
- 25. Arun K, Huang T, Blostein S. Least-squares fitting of two 3-D point sets. IEEE Transactions on Pattern Analysis and Machine Intelligence.1987; 9(5):698–700. pmid:21869429
- 26. Du S, Xu Y, Wan T, Hu H, Zhang S, Xu G, et al. Robust iterative closest point algorithm based on global reference point for rotation invariant registration. PLoS ONE. 2017; 12(11):e0188039. pmid:29176780
- 27.
The Stanford 3D Scanning Repository: http://graphics.stanford.edu/data/3Dscanrep.
- 28. Ajmal M, Bennamoun M, Owens R. A novel representation and feature matching algorithm for automatic pairwise registration of range image. International Journal of Computer Vision. 2006; 66(1):19–40.
- 29. Ajmal M, Bennamoun M, Owens R. 3D model-based object recognition and segmentation in cluttered scenes. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2006; 28(10):1584–1601.
- 30.
The UWA 3D Modeling Dataset: http://www.csse.uwa.edu.au/ajmal/3Dmodeling.html.