## 2 Gaussian Process Data Modelling and Maximum Likelihood-Based Data Fusion Method
### Gaussian Process Data Modelling  
In the present study, the measured point clouds are modelled using the Gaussian process. A Gaussian process is a generalization of the Gaussian probability distribution [13]. There is always  
Figure 1: Framework of the Gaussian process and maximum likelihood-based data fusion method.  
noise in the measurement process and the noise is supposed to follow the Gaussian distribution. In the CMM measurement process, the measurement result can be determined by Equation (1).  
\[z=f\left(x\right)+\varepsilon, \tag{1}\]  
where \(z\) is the measurement result, \(f\left(x\right)\) is the true value, \(x\) is the input vector which represents the measured location, and \(\varepsilon\) is the measurement error which is of Gaussian distribution with zero mean and variance \(\sigma_{n}^{2}\), hence,  
\[\varepsilon\sim\left(0,\sigma_{n}^{2}\right), \tag{2}\]  
Since the true value \(f\left(x\right)\) is unknown and hereby the aim of using the Gaussian process is to estimate the \(f\left(x\right)\) and the associated uncertainty, the Gaussian process can be defined by the mean function and covariance function:  
\[f\left(x\right)\sim\mathrm{GP}\left(m\left(x\right),k\left(x,x^{\prime} \right)\right), \tag{3}\]  
where \(m\left(x\right)\) is the mean function at location \(x\) and \(k\left(x,x^{\prime}\right)\) is the covariance function evaluated at \(x\) and \(x^{\prime}\), which can be determined by:  
\[\begin{array}{c}m\left(x\right)=E\left[f\left(x\right)\right],\\ k\left(x,x^{\prime}\right)=E\left[\left(f\left(x\right)-m\left(x\right) \right)\left(f\left(x^{\prime}\right)-m\left(x^{\prime}\right)\right)\right],\end{array} \tag{4}\]  
Equation (3) shows that \(f\left(x\right)\) is fully defined by the mean function and covariance function in Gaussian process modelling. Once the model is established, any prediction \(\mathrm{f_{*}}\) at new location \(X_{*}\) can be given by the joint distribution of the measured values and the function values at the test locations:  
\[\left[\begin{array}{c}z\\ \mathrm{f_{*}}\end{array}\right]\sim N\left(0,\left[\begin{array}{cc}K\left( X,X\right)+\sigma_{n}^{2}I&K\left(X,X_{*}\right)\\ K\left(X_{*},X\right)&K\left(X_{*},X_{*}\right)\end{array}\right]\right), \tag{5}\]  
where \(I\) is the identity matrix, \(X\) is the matrix of the measured locations, \(X_{*}\) is the matrix of predictive locations, and \(\sigma_{n}^{2}\) is the noise variance.  
Hence, the predictive equation for Gaussian process regression is  
\[\mathrm{f_{*}}\left|X,z,X_{*}\sim N\left(\widetilde{\mathrm{f_{*}}},\mathrm{ cov}\left(\mathrm{f_{*}}\right)\right), \tag{6}\]  
where  
\[\widetilde{\mathrm{f_{*}}}=E\left[\mathrm{f_{*}}\right|X,z,X_{*}]=K(X_{*},X) \left[K\left(X,X\right)+\sigma_{n}^{2}I\right]^{-1}z, \tag{7}\]  
In the present study, Gaussian process modelling is undertaken by using the Gaussian processes for machine learning (GPML) toolbox [19]. The mean function is chosen to be zero mean since the underlying surface is supposed to be unknown. Choosing zero mean surface may affect the accuracy and efficiency of Gaussian process modelling; combining Gaussian process modelling with local topological consideration [20] may be considered in future studies. The covariance function is chosen to be the most popular squared exponential function which can model smooth surface and is infinitely differentiable [13], since the measured surface in this study is continuous freeform surface. The covariance function is determined by:  
\[k\left(x_{i},x_{j}\right)=\sigma_{n}^{2}\mathrm{exp}\left(-\frac{\left(x_{i} -x_{j}\right)^{2}}{2l^{2}}\right) \tag{8}\]  
where \(l\) is the characteristic length-scale, i.e., the length over which there is no significant relationship between two \(z\) values.  
Since the Gaussian process is a machine learning process, the parameters of the model are first initiated and then optimized by minimizing the negative log marginal likelihood. This is implemented in an iterative process in the GPML toolbox.