## 2 Registration Method
### Statistical Randomization-Based PSO (SR-PSO) Algorithm  
In this research, we modify the particle swarm optimization [21; 29; 30; 31] following [22; 23] to cope with the premature convergence, low accuracy, and to improve exploration and exploitation of the algorithm. In particular, we modify and combine the methods in [22] and [23] to exploit both of their advantages. Let \(\mathbf{X}=\left\{\mathbf{\dot{x}}_{j}|j=1\ldots N\right\}\) be a set of \(N\) particles in the swarm in \(d\)-dimensional feature space. \(\mathbf{\dot{x}}_{i}^{b}\) and \(\mathbf{\dot{x}}^{b}\) are the individual best of the \(i^{\text{th}}\) particle and the global best of the swarm, respectively. The update equations for velocity and position of each particle are  
\[\mathbf{\dot{v}}_{i}(t+1)=w\mathbf{\dot{v}}_{i}(t)+c_{1}r_{1}(\mathbf{\dot{x}} _{i}^{b}(t)-\mathbf{\dot{x}}_{i}(t))+c_{2}r_{2}(\mathbf{\dot{x}}^{g}(t)- \mathbf{\dot{x}}_{i}(t)) \tag{8}\]  
\[\mathbf{\dot{x}}_{i}(t+1)=\mathbf{\dot{x}}_{i}(t)+\mathbf{\dot{v}}_{i}(t+1) \tag{9}\]  
where \(r_{1}\) and \(r_{2}\) are randomly generated numbers from the uniform distribution within [0, 1]. \(c_{1}\) and \(c_{2}\) are the acceleration coefficients, and \(w\) is the inertia weight calculated by [29; 30; 31]  
\[w(t+1)=w_{\max}-\frac{(w_{\max}\times\ell^{\alpha})}{(T^{\alpha})} \tag{10}\] \begin{table}
\begin{tabular}{c c c} \hline
**Parameters** & **Lower Bound** & **Upper Bound** \\ \hline \(t_{x}\), \(t_{y}\), \(t_{z}\) & \(-1.5\) (cm) & \(1.5\) (cm) \\ \(\alpha_{x}\), \(\phi_{y}\), \(\alpha_{z}\) & \(-45\) (deg) & \(45\) (deg) \\ \(s_{x}\), \(s_{y}\), \(s_{z}\) & \(0.8\) (\(20\%\) downscaling) & \(1.2\) (\(20\%\) upscaling) \\ \(sh_{1}\), \(sh_{2}\), \(sh_{3}\), \(sh_{4}\), \(sh_{5}\), \(sh_{6}\) & \(-0.5\) (cm) & \(0.5\) (cm) \\ \hline \end{tabular}
\end{table} 
Table 1: Parameters boundaries in optimization process. where \(w_{max}=\chi\), \(T\) is the number of iterations, \(\alpha=1\) (normally \(0<\alpha\leq 2\)), and  
\[\chi=\frac{2}{\left|2-\varphi-\sqrt{\varphi^{2}-4\varphi}\right|},\varphi>4 \tag{11}\]  
In our case, we also set the velocity limit to \([v_{min},v_{max}]\) where  
\[v_{\max,d}=k\times(ub_{d}-lb_{d}),\text{ for }0.1\leq k\leq 1 \tag{12}\]  
\[v_{\min,d}=-1\times v_{\max,d}. \tag{13}\]  
In the experiment, we set \(k=0.1\). We modify the method in [22] by introducing an extra intermediate particle by randomizing the particle's position using Gaussian distribution in each dimension in order to increase the chance of premature convergence avoidance. The details of intermediate particles are as follows:  
For the \(j^{\text{th}}\) dimension of intermediate particle \(\left(x_{j}^{tmi}\right)\) with \(K\) being the number of particles in the swarm,  
* Calculated from an average of all individual best \(\left(x_{ij}^{b}\right)\): \[x_{j}^{tm1}=\frac{\sum_{i=1}^{K}x_{ij}^{b}}{K}\] (14)
* Calculated from a median of all individual best \(\left(x_{ij}^{b}\right)\): \[x_{j}^{tm2}=\underset{1\leq i\leq K}{\text{median}}(x_{ij}^{b})\] (15)
* Calculated by random generate number from Gaussian distribution with mean and standard deviation computed from individual best positions: \[x_{j}^{tm3}=\sigma_{j}\times Z+\mu_{j},\text{ when }Z\sim N(0,1)\] (16)
* Calculated from the larger absolute value of the maximum and the minimum in that dimension: \[x_{j}^{tm4}=\left\{ \begin{array}{c}\min_{1\leq i\leq K}(x_{ij}^{b})\text{ if }\left|\min_{1\leq i\leq K}(x_{ij}^{b})\right|>\left|\max_{1\leq i\leq K}(x_{ij }^{b})\right|\\ \max_{1\leq i\leq K}(x_{ij}^{b})\text{ else}\end{array} \right.\] (17)
* Calculated from the smaller absolute value of the maximum and the minimum in that dimension: \[x_{j}^{tm5}=\left\{ \begin{array}{c}\min_{1\leq i\leq K}(x_{ij}^{b})\text{ if }\left|\min_{1\leq i\leq K}(x_{ij}^{b})\right|<\left|\max_{1\leq i\leq K}(x_{ij }^{b})\right|\\ \max_{1\leq i\leq K}(x_{ij}^{b})\text{ else}\end{array}