1 Introduction
Pointset registration, the problem of finding the transformation that best aligns one pointset with another, is fundamental in computer vision, robotics, computer graphics and medical imaging. A generalpurpose pointset registration algorithm operates on unstructured pointsets and may not assume other information is available, such as labels or mesh structure. Applications include merging multiple partial scans into a complete model
[16]; using registration results as fitness scores for object recognition [2]; registering a view into a global coordinate system for sensor localisation [22]; and finding relative poses between sensors [36].The dominant solution is the Iterative Closest Point (ICP) algorithm [3] and variants due to its conceptual simplicity, usability and good performance in practice. However, these are local techniques that are very susceptible to local minima and outliers and require a significant amount of overlap between pointsets. To mitigate the problem of local minima, other solutions have widened the region of convergence [14]
, performed heuristic global search
[25], used featurebased coarse alignment [24] or used branchandbound techniques to find the global minimum [37].Our method widens the region of convergence and is robust to occlusions and missing data, such as those arising when an object is viewed from different locations. The central idea is that the robustness of registration is dependent on the data representation used. We present a framework for robust pointset registration and merging using a continuous data representation, a Support Vector–parametrised Gaussian Mixture (SVGM). A discrete pointset is mapped to the continuous domain by training a Support Vector Machine (SVM) and mapping it to a Gaussian Mixture Model (GMM). Since an SVM is parametrised by a sparse intelligentlyselected subset of data points, an SVGM is compact and robust to noise, fragmentation and occlusions [33], crucial qualities for efficient and robust registration. The motivation for a continuous representation is that a typical scene comprises a single, seldomdisjoint continuous surface, which cannot be fully modelled by a discrete pointset sampled from the scene.
Our Support Vector Registration (SVR) algorithm minimises an objective function based on the distance between SVGMs. Unlike the benchmark GMM registration algorithm GMMReg [17], SVR uses an adaptive and sparse representation with nonuniform and datadriven mixture weights, enabling faster performance and improving the robustness to outliers, occlusions and partial overlap.
Finally, we propose a novel merging algorithm, GMMerge, that parsimoniously and equitably merges aligned mixtures. Merging SVGM representations is useful for applications where each pointset may contain unique information, such as reconstruction and mapping. Our registration and merging framework is visualised in Figure 1.
2 Related Work
The large volume of work published on ICP, its variants and other registration techniques precludes a comprehensive list, however the reader is directed to recent surveys on ICP variants [23] and 3D pointset and mesh registration techniques [31] for additional background. Of relevance to our work are extensions that improve its occlusion robustness, such as trimming [6]. Local methods that seek to improve upon ICP’s basin of convergence and sensitivity to outliers include LMICP [14], which uses a distance transform to optimise the ICP error without establishing explicit point correspondences.
Another family of approaches, to which ours belongs, is based on the Gaussian Mixture Model (GMM) and show an improved robustness to poor initialisations, noise and outliers. Notable GMM algorithms for rigid and nonrigid registration include Robust Point Matching [7], using soft assignment and deterministic annealing, Coherent Point Drift [21], Kernel Correlation [32] and GMMReg [17]. The latter two do not establish explicit point correspondences and both minimise a distance measure between mixtures. GMMReg [17] defines an equallyweighted Gaussian at every point in the set with identical and isotropic covariances and minimises the
distance between mixtures. The Normal Distributions Transform (NDT) algorithm
[19]is a similar method, defining Gaussians for every cell in a grid discretisation and estimating full datadriven covariances, like
[34]. Unlike our method, however, it imposes external structure on the scene and uses uniform mixture weights.In contrast, globallyoptimal techniques avoid local minima by searching the entire transformation space. Existing 3D methods [18, 37] are often very slow or make restrictive assumptions about the pointsets or transformations. There are also many heuristic or stochastic methods for global alignment that are not guaranteed to converge, such as particle filtering [25]
[29] and featurebased alignment [24]. A recent example is Super 4PCS, a fourpoints congruent sets method that exploits a clever data structure to achieve lineartime performance [20].The rest of the paper is organised as follows: we present the SVGM representation, its properties and implementation in Section 3, we develop a robust framework for SVGM registration in Section 4, we propose an algorithm for merging SVGMs in Section 5, we experimentally demonstrate the framework’s effectiveness in Section 6 and we discuss the results and conclude in Sections 7 and 8.
3 Adaptive PointSet Representation
A central idea of our work is that the robustness of pointset registration is dependent on the data representation used. Robustness to occlusions or missing data, more so than noise, is of primary concern, because pointsets rarely overlap completely, such as when an object is sampled from a different sensor location. Another consideration is the class of optimisation problem a particular representation admits. Framing registration as a continuous optimisation problem involving continuous density functions may make it more tractable than the equivalent discrete problem [17]. Consequently, we represent discrete pointsets with Gaussian Mixture Models (GMMs). Crucially, we first train a Support Vector Machine (SVM) and then transform this into a GMM. Since the output function of the SVM only involves a sparse subset of the data points, the representation is compact and robust to noise, fragmentation and occlusions [33], attributes that persist through the GMM transformation.
3.1 OneClass Support Vector Machine
The output function of an SVM can be used to approximate the surface described by noisy and incomplete pointset data, providing a continuous implicit surface representation. Nguyen and Porikli [33]
demonstrated that this representation is robust to noise, fragmentation, missing data and other artefacts for 2D shapes, with the same behaviour expected in 3D. An SVM classifies data by constructing a hyperplane that separates data of two different classes, maximising the margin between the classes while allowing for some mislabelling
[10]. Since pointset data contains only positive examples, oneclass SVM [26] can be used to find the hyperplane that maximally separates the data points from the origin or viewpoint in feature space. The training data is mapped to a higherdimensional feature space, where it may be linearly separable from the origin, with a nonlinear kernel function.The output function of oneclass SVM is given by
(1) 
where are the point vectors, are the weights, is the input vector, is the bias, is the number of training samples and is the kernel function that evaluates the inner product of data vectors mapped to a feature space. We use a Gaussian Radial Basis Function (RBF) kernel
(2) 
where is the Gaussian kernel width.
The optimisation formulation in [26] has a parameter that controls the tradeoff between training error and model complexity. It is a lower bound on the fraction of support vectors and an upper bound on the misclassification rate [26]. The data points with nonzero weights are the support vectors .
We estimate the kernel width automatically for each pointset by noting that it is inversely proportional to the square of the scale . For an pointset with mean , the estimated scale is proportional to the
th root of the generalised variance
(3) 
If a training set is available, better performance can be achieved by finding using crossvalidation, imposing a constraint on the registration accuracy and searching in the neighbourhood of .
3.2 Gaussian Mixture Model Transformation
In order to make use of the trained SVM for pointset registration, it must first be approximated as a GMM. We use the transformation identified by Deselaers et al. [12] to represent the SVM in the framework of a GMM, without altering the decision boundary. A GMM converted from an SVM will necessarily optimise classification performance instead of data representation, since SVMs are discriminative models, unlike standard generative GMMs. This allows it to discard redundant data and reduces its susceptibility to varying point densities, which are prevalent in real datasets.
The decision function of an SVM with a Gaussian RBF kernel can be written as
(4) 
where is the number of support vectors and is the class, positive for inliers and negative otherwise for oneclass SVM. The GMM decision function can be written as
(5) 
where is the number of clusters for class ,
is the prior probability of class
, is the cluster weight of the th cluster of class and is the Gaussian representing the th cluster of class with mean and variance , given by(6) 
Noting the similarity of (4) and (5), the mapping
(7)  
(8)  
(9) 
can be applied, where is the mixture weight, that is, the prior probability of the th component. The bias term is approximated by an additional density given to the negative class with arbitrary mean, very high variance and a cluster weight proportional to . We omit this term from the registration framework because it does not affect the optimisation. The resulting GMM is parametrised by
(10) 
While we transform an SVM into a GMM, there are many other ways to construct a GMM from pointset data. Kernel Density Estimation (KDE) with identicallyweighted Gaussian densities has frequently been used for this purpose, including fixedbandwidth KDE with isotropic covariances
[17, 13], variablebandwidth KDE with nonidentical covariances [9] and nonisotropic covariance KDE [34]. The primary disadvantage of these methods is that the number of Gaussian components is equal to the pointset size, which can be very large for realworld datasets. In contrast, our work intelligently selects a sparse subset of the data points to locate the Gaussian densities and weights them nonidentically, making it more robust to occlusions and missing data, as demonstrated in Figure 2.Expectation Maximisation (EM) [11]
can also be used to construct a GMM with fewer components than KDE. EM finds the maximum likelihood estimates of the GMM parameters, where the number of densities is specified a priori, unlike our method. To initialise the algorithm, the means can be chosen at random or using the kmeans algorithm; or, an initial Gaussian can be iteratively split and reestimated until the number of densities is reached
[12]. However, deliberately inflating the number of components can be slow and sensitive to initialisation [28, p. 326].4 Support Vector Registration
Once the pointsets are in mixture model form, the registration problem can be posed as minimising the distance between mixtures. Like Jian and Vemuri [17], we use the distance, which can be expressed in closedform. The estimator minimises the distance between densities and is known, counterintuitively, to be inherently robust to outliers [27]
, unlike the maximum likelihood estimator that minimises the KullbackLeibler divergence.
Let be the moving model pointset, be the fixed scene pointset, and be GMMs converted from SVMs trained on and respectively, and be the transformation model parametrised by . The distance between transformed and is given by
(11) 
where is the probability of observing a point given a mixture model with components, that is
(12) 
Expanding (11), the last term is independent of and the first term is invariant under rigid transformations. Both are therefore removed from the objective function. The middle term is the inner product of two Gaussian mixtures and has a closed form that can be derived by applying the identity
(13) 
Therefore, noting that in our formulation, the objective function for rigid registration is defined as
(14) 
where and are the number of components in and respectively and . This can be expressed in the form of a discrete Gauss transform, which has a computational complexity of , or the fast Gauss transform [15], which scales as .
The gradient vector is derived as in [17]. Let be the matrix of the means from and be the transformed matrix, parametrised by
. Using the chain rule, the gradient is
. Let be an matrix, which can be found while evaluating the objective function by(15) 
where is the th row of and is a summand of . For rigid motion, where is the rotation matrix and is the translation vector. The gradients with respect to each motion parameter are given by
(16)  
(17) 
where is the dimensional column vector of ones, is the Hadamard product and are the elements parametrising : rotation angle for 2D and a unit quaternion for 3D. For the latter, the quaternion is projected back to the space of valid rotations after each update by normalisation.
Since the objective function is smooth, differentiable and convex in the neighbourhood of the optimal motion parameters, gradientbased numerical optimisation methods can be used, such as nonlinear conjugate gradient or quasiNewton methods. We use an interiorreflective Newton method [8] since it is time and memory efficient and scales well. However, since the objective function is nonconvex over the search space, this approach is susceptible to local minima, particularly for large motions and pointsets with symmetries. A multiresolution approach can be adopted, increasing at each iteration and initialising with the currently optimal transformation. SVR is outlined in Algorithm 1.
5 Merging Gaussian Mixtures
For an SVGM to be useful for applications where each pointset may contain unique information, such as mapping, an efficient method of merging two aligned mixtures is desirable. A naïve approach is to use a weighted sum of the Gaussian mixtures [12], however, this would result in an unnecessarily high number of components with substantial redundancy. Importantly, the probability of regions not observed in both pointsets would decrease, meaning that regions that are often occluded would disappear from the model as more mixtures were merged. While the timeconsuming process of sampling the combined mixture and reestimating it with EM would eliminate redundancy, it would not alleviate the missing data problem. The same applies to faster samplefree variationalBayes approaches [4]. Sampling (or merging the pointsets) and reestimating an SVGM would circumvent this problem, since the discriminative framework of the SVM is insensitive to higherdensity overlapping regions, but this is not time efficient.
Algorithm 2 outlines GMMerge, our efficient algorithm for parsimoniously approximating the merged mixture without weighting the intersection regions disproportionately. Each density of is reweighted using a sparsityinducing piecewise linear function. The parameter controls how many densities are added. For , contains only . As , additionally contains every nonredundant density from . Figure 3 shows the SVGM representations of two 2D pointsets, the naïvely merged mixture and the GMMerge mixture.
6 Experimental Results
SVR was tested using many different pointsets, including synthetic and real datasets in 2D and 3D, at a range of motion scales and outlier, noise and occlusion fractions. In all experiments, the initial transformation parameter was the identity, was 0.01 and was selected by crossvalidation, except where otherwise noted. For all benchmark methods, parameters were chosen using a grid search.
6.1 2D Registration
To test the efficacy of SVR for 2D registration, the four pointsets in Figure 4 were used: road^{1}^{1}1Pointset from Tsin and Kanade [32], available at http://www.cs.cmu.edu/~ytsin/KCReg/KCReg.zip, contour, fish and glyph^{2}^{2}2Pointsets from Chui and Rangarajan [7], available at http://cise.ufl.edu/~anand/students/chui/rpm/TPSRPM.zip. Three benchmark algorithms were chosen: Gaussian Mixture Model Registration (abbreviated to GMR) [17], Coherent Point Drift (CPD) [21] and Iterative Closest Point (ICP) [3]. Annealing was applied for both SVR () and GMR. Note that the advantages of SVR manifest themselves more clearly on denser pointsets.
The range of motions for which a correct registration result was attained was tested by rotating the model pointset by radians with a step size of . In Table 1, we report the range of contiguous initial rotations for which the algorithm converged, chosen as a rotation error . They show that SVR has a wider basin of convergence than the other methods, even for sparse pointsets.
PointSet  SVR  GMR  CPD  ICP 

road  3.1–3.1  3.0–3.0  1.6–1.6  0.8–0.8 
contour  1.6–1.6  1.5–1.5  1.5–1.5  0.1–0.1 
fish  1.6–1.6  1.5–1.5  1.2–1.3  0.4–0.5 
glyph  1.6–1.6  1.6–1.6  1.6–1.5  0.4–0.4 
To test the algorithm’s robustness to outliers, additional points were randomly drawn from the uniform distribution and were concatenated with the model and scene pointsets separately. To avoid bias, the outliers were sampled from the minimum covering circle of the pointset. The motion was fixed to a rotation of
radian () and the experiment was repeated times with different outliers each time. The mean rotation error for a range of outlier fractions is shown in Figure 4(a) and indicates that the proposed method is more robust to outliers than the others for large outlier fractions.To test for robustness to noise, a noise model was applied to the model pointset by adding Gaussian noise to each point sampled from the distribution , where is the noise fraction and
is the estimated generalised standard deviation across the entire pointset (
3). A fixed rotation of radian was used and the experiment was repeated times, resampling each time. The average rotation error for a range of noise fractions is shown in Figure 4(b) and indicates that SVR is comparable to the other methods.To test for robustness to occlusions, we selected a random seed point and removed a fraction of the model pointset using nearest neighbours. A fixed rotation of radian was used and the experiment was repeated times with different seed points. The mean rotation error for a range of occlusion fractions is shown in Figure 4(c) and indicates that the algorithm is more robust to occlusion than the others.
6.2 3D Registration
The advantages of SVR are particularly apparent with dense 3D pointsets. For evaluation, we used dragonstand^{3}^{3}3Pointset from Brian Curless and Marc Levoy, Stanford University, at http://graphics.stanford.edu/data/3Dscanrep/, aassloop^{4}^{4}4Pointset from Martin Magnusson, Örebro University, at http://kos.informatik.uniosnabrueck.de/3Dscans/ and hannover2^{5}^{5}5Pointset from Oliver Wulf, Leibniz University, at http://kos.informatik.uniosnabrueck.de/3Dscans/ and seven benchmark algorithms: GMMReg (abbreviated to GMR) [17], CPD [21], ICP [3], NDT PointtoDistribution (NDP) [19] and NDT DistributiontoDistribution (NDD) [30], GloballyOptimal ICP (GOI) [37] and Super 4PCS (S4P) [20]. Annealing was used only where indicated.
To evaluate the performance of the algorithm with respect to motion scale, we replicated the experiment in [17] using the dragonstand dataset. This contains 15 selfoccluding scans of the dragon model acquired from different directions. We registered all 30 pointset pairs with a relative rotation of and repeated this for , and . As per [17], the criterion for convergence was , where and are the estimated and ground truth quaternions respectively. While was selected by crossvalidation, using the estimate yielded a very similar result. The number of correctly converged registrations is reported in Table 2, showing that SVR has a significantly larger basin of convergence than the other local methods and is competitive with the slower global methods.
Local  Global  

Pose  SVR  GMR  CPD  ICP  GOI  S4P 
30  29  26  28  30  29  
29  20  18  19  27  24  
16  13  14  13  18  17  
4  2  3  1  10  13  
Runtime  0.2  19.2  5.7  0.04  1407  399 
A representative sensitivity analysis is shown in Figure 6 for the dragonstand dataset. It indicates that rotation error is quite insensitive to perturbations in and is very insensitive to , justifying the choice of fixing this parameter.
To evaluate occlusion robustness, the same procedure was followed as for 2D, using the dragonstand dataset. The mean rotation error (in radians) and the fraction of correctly converged pointset pairs with respect to the fraction of occluded points is shown in Figure 7, for relative poses of and . The results show that SVR is significantly more robust to occlusion than the other methods.
Finally, we report registration results on two large realworld 3D datasets shown in Figure 8: aassloop ( indoor pointsets with points on average) and hannover2 ( outdoor pointsets with points on average), after downsampling using a 0.1 m grid. Both were captured using a laser scanner and ground truth was provided. These are challenging datasets because sequential pointsets overlap incompletely and occluded regions are present. The results for registering adjacent pointsets are shown in Table 3 for aassloop and Table 4 for hannover2. The ICP and annealed NDT results are reported directly from Stoyanov et al. [30] and we use their criteria for a successful registration (inlier): a translation error less than 0.5 m and a rotation error less than 0.2 radians. SVR outperforms the other methods by a significant margin, even more so when annealing () is applied (SVR^{+}).
Metric  SVR  SVR^{+}  GMR  ICP  NDP  NDD  S4P 

Transl.  0.95  0.67  1.61  0.99  1.10  0.85  0.71 
Rotation  0.08  0.06  0.12  0.04  0.02  0.06  0.32 
Inlier %  81.4  86.4  18.6  55.2  50.0  63.8  78.0 
Runtime  3.43  29.7  599  10.8  9.12  1.02  60.7 
Metric  SVR  SVR^{+}  GMR  ICP  NDP  NDD  S4P 

Transl.  0.10  0.09  1.32  0.43  0.79  0.40  0.40 
Rotation  0.01  0.01  0.05  0.05  0.05  0.05  0.03 
Inlier %  99.8  99.8  8.88  74.4  54.2  76.4  75.0 
Runtime  14.0  32.6  179  5.68  4.03  0.51  39.7 
The mean computation speeds of the experiments, regardless of convergence, are reported in Tables 2, 3 and 4. All experiments were run on a PC with a 3.4 GHz Quad Core CPU and 8 GB of RAM. The SVR code is written in unoptimised MATLAB, except for a cost function in C++, and uses the LIBSVM [5] library. The benchmarking code was provided by the respective authors, except for ICP, for which a standard MATLAB implementation with kd tree nearestneighbour queries was used. For the dragonstand speed comparison, all pointsets were randomly downsampled to points, because GMR, CPD, GOI and S4P were prohibitively slow for larger pointsets.
7 Discussion
The results show that SVR has a larger region of convergence than the other methods and is more robust to occlusions. This is an expected consequence of the SVGM representation, since it is demonstrably robust to missing data. In addition, the computation time results show that it scales well with pointset size, unlike GMR and CPD, largely due to the data compression property of the oneclass SVM. There is a tradeoff, controlled by the parameter , between registration accuracy and computation time.
For the application of accurate reconstruction using our framework, the oneclass SVM may be replaced with a twoclass SVM to better model the fine details of a scene. To generate negative class (free space) training points, surface points were displaced along their approximated normal vectors by a fixed distance and then those points that were closer than to their nearest surface point were discarded. The SVGMs constructed using this approach may be fused using GMMerge. However, for the purposes of registration, capturing fine detail in this way is unnecessary, counterproductive and much less efficient.
While SVR is a local algorithm, it can still outperform global algorithms on a number of measures, particularly speed, for certain tasks. In Section 6.2, we compared SVR with the guaranteedoptimal method GloballyOptimal ICP (GOI) [37] and the faster but not optimal method Super 4PCS (S4P) [20]. The motion scale results of GOI were comparable to our method, while the average runtime was four orders of magnitude longer. Note that, for pointsets with missing data or partial overlap, a globallyoptimal alignment is not necessarily correct. S4P had a more favourable runtime–accuracy tradeoff but was nonetheless outperformed by SVR.
8 Conclusion
In this paper, we have presented a framework for robust pointset registration and merging using a continuous data representation. Our pointset representation is constructed by training a oneclass SVM and then approximating the output function with a GMM. This representation is sparse and robust to occlusions and missing data, which are crucial attributes for efficient and robust registration.
The central algorithm, SVR, outperforms stateoftheart approaches in 2D and 3D rigid registration, exhibiting a larger basin of convergence. In particular, we have shown that it is robust to occlusion and missing data and is computationally efficient. The GMMerge algorithm complements the registration algorithm by providing a parsimonious and equitable method of merging aligned mixtures, which can subsequently be used as an input to SVR.
There are several areas that warrant further investigation. Firstly, there is significant scope for optimising the algorithm using, for example, approximations like the improved fast Gauss Transform [35] or faster optimisation algorithms that require an analytic Hessian. Secondly, nonrigid registration is a natural extension to this work and should benefit from the robustness of SVR to missing data. It may also be useful to train the SVM with full datadriven covariance matrices [1] and use the full covariances for registration [30]. Finally, methods of constructing tight bounds for an efficient branchandbound framework based on SVR could be investigated in order to implement a globallyoptimal registration algorithm.
References

[1]
S. Abe.
Training of support vector machines with Mahalanobis kernels.
In
Proc. 15th Int. Conf. Artificial Neural Networks
, pages 571–576. SpringerVerlag, Sept. 2005.  [2] S. Belongie, J. Malik, and J. Puzicha. Shape matching and object recognition using shape contexts. IEEE Trans. Pattern Anal. Mach. Intell., 24(4):509–522, 2002.
 [3] P. J. Besl and N. D. McKay. A method for registration of 3D shapes. IEEE Trans. Pattern Anal. Mach. Intell., 14(2):239–256, 1992.
 [4] P. Bruneau, M. Gelgon, and F. Picarougne. Parsimonious reduction of Gaussian mixture models with a variationalBayes approach. Pattern Recognition, 43(3):850–858, 2010.
 [5] C.C. Chang and C.J. Lin. LIBSVM: A library for support vector machines. ACM Trans. Intelligent Systems and Technology, 2:27:1–27:27, 2011.
 [6] D. Chetverikov, D. Stepanov, and P. Krsek. Robust Euclidean alignment of 3D point sets: the trimmed iterative closest point algorithm. J. Image Vision Comput., 23(3):299–309, 2005.
 [7] H. Chui and A. Rangarajan. A new point matching algorithm for nonrigid registration. J. Computer Vision Image Understanding, 89(2):114–141, 2003.
 [8] T. F. Coleman and Y. Li. An interior trust region approach for nonlinear minimization subject to bounds. SIAM J. Optimization, 6(2):418–445, 1996.
 [9] D. Comaniciu. An algorithm for datadriven bandwidth selection. IEEE Trans. Pattern Anal. Mach. Intell., 25(2):281–288, 2003.
 [10] C. Cortes and V. Vapnik. Supportvector networks. , 20(3):273–297, 1995.
 [11] A. P. Dempster, N. M. Laird, and D. B. Rubin. Maximum likelihood from incomplete data via the EM algorithm. J. Royal Statistical Society. Series B (Methodological), 39(1):1–38, Jan. 1977.
 [12] T. Deselaers, G. Heigold, and H. Ney. Object classification by fusing SVMs and Gaussian mixtures. J. Pattern Recognition, 43(7):2476–2484, 2010.
 [13] R. Detry, N. Pugeault, and J. H. Piater. A probabilistic framework for 3D visual object representation. IEEE Trans. Pattern Anal. Mach. Intell., 31(10):1790–1803, 2009.
 [14] A. Fitzgibbon. Robust registration of 2D and 3D point sets. J. Image Vision Comput., 21(13):1145–1153, 2003.
 [15] L. Greengard and J. Strain. The fast Gauss transform. SIAM J. Scientific Statistical Comput., 12(1):79–94, 1991.
 [16] D. F. Huber and M. Hebert. Fully automatic registration of multiple 3D data sets. J. Image Vision Comput., 21(7):637–650, 2003.
 [17] B. Jian and B. C. Vemuri. Robust point set registration using Gaussian mixture models. IEEE Trans. Pattern Anal. Mach. Intell., 33(8):1633–1645, 2011.
 [18] H. Li and R. Hartley. The 3D3D registration problem revisited. In Proc. 2007 Int. Conf. Computer Vision, pages 1–8. IEEE, 2007.
 [19] M. Magnusson, A. Lilienthal, and T. Duckett. Scan registration for autonomous mining vehicles using 3DNDT. J. Field Robotics, 24(10):803–827, 2007.
 [20] N. Mellado, D. Aiger, and N. J. Mitra. Super 4PCS fast global pointcloud registration via smart indexing. In Computer Graphics Forum, volume 33, pages 205–215. Wiley Online Library, 2014.
 [21] A. Myronenko and X. Song. Point set registration: Coherent point drift. IEEE Trans. Pattern Anal. Mach. Intell., 32(12):2262–2275, 2010.
 [22] A. Nüchter, K. Lingemann, J. Hertzberg, and H. Surmann. 6D SLAM–3D mapping outdoor environments. J. Field Robotics, 24(89):699–722, 2007.
 [23] F. Pomerleau, F. Colas, R. Siegwart, and S. Magnenat. Comparing ICP variants on realworld data sets. Autonomous Robots, 34(3):133–148, 2013.
 [24] R. Rusu, N. Blodow, and M. Beetz. Fast Point Feature Histograms (FPFH) for 3D registration. In Proc. 2009 Int. Conf. Robotics and Automation, pages 3212–3217, 2009.
 [25] R. Sandhu, S. Dambreville, and A. Tannenbaum. Point set registration via particle filtering and stochastic dynamics. IEEE Trans. Pattern Anal. Mach. Intell., 32(8):1459–1473, 2010.
 [26] B. Schölkopf, J. C. Platt, J. ShaweTaylor, A. J. Smola, and R. C. Williamson. Estimating the support of a highdimensional distribution. Neural Computation, 13(7):1443–1471, 2001.
 [27] D. W. Scott. Parametric statistical modeling by minimum integrated square error. Technometrics, 43(3):274–285, 2001.
 [28] D. W. Scott and W. F. Szewczyk. From kernels to mixtures. Technometrics, 43(3):323–335, 2001.
 [29] L. Silva, O. R. P. Bellon, and K. L. Boyer. Precision range image registration using a robust surface interpenetration measure and enhanced genetic algorithms. IEEE Trans. Pattern Anal. Mach. Intell., 27(5):762–776, 2005.
 [30] T. D. Stoyanov, M. Magnusson, H. Andreasson, and A. Lilienthal. Fast and accurate scan registration through minimization of the distance between compact 3D NDT representations. Int. J. Robotics Research, 2012.
 [31] G. K. Tam, Z.Q. Cheng, Y.K. Lai, F. C. Langbein, Y. Liu, D. Marshall, R. R. Martin, X.F. Sun, and P. L. Rosin. Registration of 3D point clouds and meshes: A survey from rigid to nonrigid. IEEE Trans. Vis. Comput. Graphics, 19(7):1199–1217, 2013.
 [32] Y. Tsin and T. Kanade. A correlationbased approach to robust point set registration. Proc. 2004 European Conf. Computer Vision, pages 558–569, 2004.
 [33] H. Van Nguyen and F. Porikli. Support Vector Shape: A classifierbased shape representation. IEEE Trans. Pattern Anal. Mach. Intell., 35(4):970–982, 2013.
 [34] H. Xiong, S. Szedmak, and J. Piater. A study of point cloud registration with probability product kernel functions. In Proc. 2013 Int. Conf. 3D Vision, pages 207–214, Seattle, USA, 2013. IEEE.
 [35] C. Yang, R. Duraiswami, N. A. Gumerov, and L. Davis. Improved fast Gauss transform and efficient kernel density estimation. In Proc. 2003 Int. Conf. Computer Vision, pages 664–671, Nice, France, 2003. IEEE.
 [36] J. Yang, Y. Dai, H. Li, H. Gardner, and Y. Jia. Singleshot extrinsic calibration of a generically configured RGBD camera rig from scene constraints. In Proc. Int. Symp. Mixed and Augmented Reality, pages 181–188, Adelaide, Australia, 2013.
 [37] J. Yang, H. Li, and Y. Jia. GoICP: Solving 3D registration efficiently and globally optimally. In Proc. 2013 Int. Conf. Computer Vision, pages 1457–1464, Sydney, Australia, 2013. IEEE.