# When Deep Learning Meets Data Alignment:
## 2 Registration Framework  
Registration aims to compute the alignment between datasets. Given two inputs \(P\) = \(\{\omega_{1},\omega_{2},\omega_{3},...,\omega_{n}\}\) and \(Q=\{\varphi_{1},\varphi_{2},\varphi_{3},...,\varphi_{m}\}\), a registration process finds a transformation function \(\chi\) that minimizes the alignment error between \(P\) and \(Q\), through checking the distance error between a pair of correspondences \((\varphi_{i},\omega_{j})\) of each input, as shown in Equation (1). There are different error and distance functions (\(dist\)), e.g., perpendicular distance rather than Euclidean distance or Huber distance, \(L_{1}\) error, etc.  
\[E_{P}=\sum_{i,j}^{n,m}gate(\varphi_{i},\omega_{j})*dist(\varphi_{i}-\chi(a, \omega_{j})) \tag{1}\]  
Let \(\chi\) transform each element of \(P\), according to the transformation parameters \(a\), with the goal of minimizing the error \(E_{P}\) between \(P\) and \(Q\), while \(gate(\varphi_{i},\omega_{j})=1\) if the features correspond and 0 otherwise.  
In the literature, the terms registration and reconstruction (or shape completion) are sometimes employed to refer to the same process. The main difference is that reconstruction is at a higher level than registration since the registration process is a part of reconstruction methods, but a reconstruction method may not perform any registration. That is, registration aims to find the transformation to align data, while the main goal of reconstruction is to obtain a virtual representation from the scene. To this end, a reconstruction method may not include a registration process, for example, those that only use a single view to obtain the virtual representation. Although these definitions previously had clear differentiation, now learning-based approaches have blurred the line between them, e.g., in [50], an algorithm designed to perform shape completion is tested by performing registration tasks.  
According to [PERSON] et al. [9], the registration process can be divided into three core components: target selection, correspondences and constraints, and optimization. This sequence has been used often by registration algorithms to find the alignment of 3D datasets. These stages are shown in Figure 1. A more detailed classification was presented by [PERSON] et al. [81], including pre-processing and post-processing phases:  
* Pre-processing. This stage adapts the input data to meet the requirements of the algorithms.
* Target Selection. It is often necessary to differentiate between the dataset that will remain fixed and the one that will be moved towards the fixed set to perform the alignment. In the literature, different nomenclatures could be found for these fixed/moving terms such as model/data, anchor/moving, or target/source.
* Feature Extraction. This stage refers to the process of finding those landmarks or salient features that will be used to calculate the matches between sets.  
Figure 2: Research works published by year addressing registration of 3D data with learning approaches in each source (data obtained through the search engines of each source through September 2020).  
Feature Matching. It refers to the identification of corresponding features between the target and each moving data. The pair composed of pairs of features is called a correspondence.
* Pose Optimization. Here, the algorithm computes the transformation that minimizes a distance between the correspondences, aligning the sets into a common reference space.
* Post-processing. This step is highly dependant on the problem itself. It could include global optimization, such as loop-closure, data-cleaning in solid mesh estimation, surface extraction, or outlier removal.