|  | ||
In computer vision and pattern recognition, point set registration, also known as point matching, is the process of finding a spatial transformation that aligns two point sets. The purpose of finding such a transformation includes merging multiple data sets into a globally consistent model, and mapping a new measurement to a known data set to identify features or to estimate its pose. A point set may be raw data from 3D scanning or an array of rangefinders. For use in image processing and feature-based image registration, a point set may be a set of features obtained by feature extraction from an image, for example corner detection. Point set registration is used in optical character recognition, augmented reality and aligning data from magnetic resonance imaging with computer aided tomography scans.
Contents
Overview of problem
The problem may be summarized as follows: Let 
  
    
      
        
It is useful to define an optimization parameter 
  
    
      
        
such that it is clear that the optimizing algorithm adjusts 
  
    
      
        
In convergence, it is desired for the distance between the two point sets to reach a global minimum. This is difficult without exhausting all possible transformations, so a local minimum suffices. The distance function between a transformed model point set 
  
    
      
        
Minimizing such a function in rigid registration is equivalent to solving a least squares problem. However, this function is sensitive to outlier data and consequently algorithms based on this function tend to be less robust against noisy data. A more robust formulation of the cost function uses some robust function 
  
    
      
        
Such a formulation is known as an M-estimator. The robust function 
  
    
      
        
Rigid registration
Given two point sets, rigid registration yields a rigid transformation which maps one point set to the other. A rigid transformation is defined as a transformation that does not change the distance between any two points. Typically such a transformation consists of translation and rotation. In rare cases, the point set may also be mirrored.
Non-rigid registration
Given two point sets, non-rigid registration yields a non-rigid transformation which maps one point set to the other. Non-rigid transformations include affine transformations such as scaling and shear mapping. However, in the context of point set registration, non-rigid registration typically involves nonlinear transformation. If the eigenmodes of variation of the point set are known, the nonlinear transformation may be parametrized by the eigenvalues. A nonlinear transformation may also be parametrized as a thin plate spline.
Point set registration algorithms
Some approaches to point set registration use algorithms that solve the more general graph matching problem. However, the computational complexity of such methods tend to be high and they are limited to rigid registrations. Algorithms specific to the point set registration problem are described in the following sections.
Iterative closest point
The iterative closest point (ICP) algorithm was introduced by Besl and McKay. The algorithm performs rigid registration in an iterative fashion by assuming that every point in 
  
    
      
        
          
            
Here, the function least_squares performs least squares regression to minimize the distance in each of the 
  
    
      
        
Because the cost function of registration depends on finding the closest point in 
  
    
      
        
          
            
Robust point matching
Robust point matching (RPM) was introduced by Gold et al. The method performs registration using deterministic annealing and soft assignment of correspondences between point sets. Whereas in ICP the correspondence generated by the nearest-neighbour heuristic is binary, RPM uses a soft correspondence where the correspondence between any two points can be anywhere from 0 to 1, although it ultimately converges to either 0 or 1. The correspondences found in RPM is always one-to-one, which is not always the case in ICP. Let 
  
    
      
        
The problem is then defined as: Given two point sets 
  
    
      
        
          
            
The matrix 
  
    
      
        
          
subject to 
  
    
      
        
for some regularization parameter 
  
    
      
        
The RPM method optimizes the cost function using the Softassign algorithm. The 1D case will be derived here. Given a set of variables 
  
    
      
        
this is known as the softmax function. As 
  
    
      
        
where
This is straightforward, except that now the constraints on 
  
    
      
        
where the deterministic annealing control parameter 
  
    
      
        
The algorithm can also be extended for point sets in 3D or higher dimensions. The constraints on the correspondence matrix 
  
    
      
        
          
Thin plate spline robust point matching
The thin plate spline robust point matching (TPS-RPM) algorithm by Chui and Rangarajan augments the RPM method to perform non-rigid registration by parametrizing the transformation as a thin plate spline. However, because the thin plate spline parametrization only exists in three dimensions, the method cannot be extended to problems involving four or more dimensions.
Kernel correlation
The kernel correlation (KC) approach of point set registration was introduced by Tsin and Kanade. Compared with ICP, the KC algorithm is more robust against noisy data. Unlike ICP, where, for every model point, only the closest scene point is considered, here every scene point affects every model point. As such this is a multiply-linked registration algorithm. For some kernel function 
  
    
      
        
The kernel function 
  
    
      
        
The KC of a point set is proportional, within a constant factor, to the logarithm of the information entropy. Observe that the KC is a measure of a "compactness" of the point set—trivially, if all points in the point set were at the same location, the KC would evaluate to zero. The cost function of the point set registration algorithm for some transformation parameter 
  
    
      
        
Some algebraic manipulation yields:
The expression is simplified by observing that 
  
    
      
        
The kernel density estimates are defined as:
The cost function can then be shown to be the correlation of the two kernel density estimates:
Having established the cost function, the algorithm simply uses gradient descent to find the optimal transformation. It is computationally expensive to compute the cost function from scratch on every iteration, so a discrete version of the cost function Equation (kc.6) is used. The kernel density estimates 
  
    
      
        
Compared to ICP and EM-ICP for noisy 2D and 3D point sets, the KC algorithm is less sensitive to noise and results in correct registration more often.
Gaussian mixture model
The kernel density estimates are sums of Gaussians and may therefore be represented as Gaussian mixture models (GMM). Jian and Vemuri use the GMM version of the KC registration algorithm to perform non-rigid registration parametrized by thin plate splines.
Coherent point drift
Coherent point drift (CPD) was introduced by Myronenko and Song. The algorithm takes a probabilistic approach to aligning point sets, similar to the GMM KC method. Unlike earlier approaches to non-rigid registration which assume a thin plate spline transformation model, CPD is agnostic with regard to the transformation model used. The point set 
  
    
      
        
          
            
Let there be M points in 
  
    
      
        
          
            
where, in D dimensions, 
  
    
      
        
The membership probabilities 
  
    
      
        
The GMM centroids are re-parametrized by a set of parameters 
  
    
      
        
where it is assumed that the data is independent and identically distributed. The correspondence probability between two points 
  
    
      
        
The expectation maximization (EM) algorithm is used to find 
  
    
      
        
Ignoring constants independent of 
  
    
      
        
where
with 
  
    
      
        
Minimizing the cost function in Equation (cpd.5) necessarily decreases the negative log-likelihood function E in Equation (cpd.3) unless it is already at a local minimum. Thus, the algorithm can be expressed using the following pseudocode, where the point sets 
  
    
      
        
          
            
where the vector 
  
    
      
        
          solve function differs by the type of registration performed. For example, in rigid registration, the output is a scale a, a rotation matrix 
  
    
      
        
          
which is initialized to one, the identity matrix, and a column vector of zeroes:
The aligned point set is:
The solve_rigid function for rigid registration can then be written as follows, with derivation of the algebra explained in Myronenko's 2010 paper.
For affine registration, where the goal is to find an affine transformation instead of a rigid one, the output is an affine transformation matrix 
  
    
      
        
          
The solve_affine function for rigid registration can then be written as follows, with derivation of the algebra explained in Myronenko's 2010 paper.
It is also possible to use CPD with non-rigid registration using a parametrization derived using calculus of variation.
Sums of Gaussian distributions can be computed in linear time using the fast Gauss transform (FGT). Consequently, the time complexity of CPD is 
  
    
      
        
Sorting the Correspondence Space (SCS)
Introduced in 2013 by H. Assalih in his PhD thesis to accommodate sonar image registration, this kind of images tend to have lots of noise so it is expected to have lots of outliers in the point sets to match, SCS delivers great robustness against outliers and can easily surpass ICP and CPD performance in the presence of outliers, SCS doesn’t use iterative optimization in high dimensional space, it is neither probabilistic nor spectral; the algorithm also uses a novel error formula to enhance its performance. SCS can match rigid and non-rigid transformations, however, it is too slow if the target transformation is a simple translation, yet, it is really robust if the the target transformation is in 3 to 6 DoF.
