## 2 Bullet Low-Overlap Point Cloud Registration Based on Line Feature Detection
### Improved Cuckoo Algorithm to Find the Best Rotation Angle
The calculation formula is as follows: \[\mathrm{Lvy}=\frac{\phi\times\mu}{\left|\
u\right|^{1/\beta}},\] (13) \[\phi=\frac{\Gamma(1+\beta)\times\sin(\pi\times 1/\beta)}{\Gamma(2^{(\beta-1)/2 }\times\beta\times(1+\beta)/2)},\] (14) \[A=2\times\frac{\mathrm{b}}{\mathrm{r}_{1}}-\mathrm{b},\] (15) \[\mathrm{C}=2\,\times\,\mathrm{r}_{2},\] (16) \[\mathrm{x}_{i}^{t+1}=\mathrm{best}-A\cdot(\mathrm{C}\cdot\mathrm{best}- \mathrm{x}_{i}^{t}),\] (17) where \(\Gamma\) is a gamma function, \(\mu\) and \(\
u\) are independent random variables subject to normal distribution with a mean of 0 and variance of 1, \(\beta\in[1,2]\) is a constant, and r\({}_{1}\),r\({}_{2}\in[0,1]\) is a random number. In an ideal case, the rotation transformation between the two bullet point clouds is obtained by using the improved Cuckoo algorithm, and the solving error of the transformation is 0 [31]. In fact, due to the influence of measurement errors and other factors, the distance between corresponding features cannot reach the ideal position through iteration, so the solution of the problem of seeking the best rotation angle becomes as follows. To minimize the Euclidean distance between the target point cloud P = {P\({}_{1}\), P\({}_{2}\), \(\ldots\), P\({}_{m}\)} and the source point cloud Q = {Q\({}_{1}\), Q\({}_{2}\), \(\ldots\), Q\({}_{n}\)}, the transformation matrix parameters are first encoded and normalized, which represent the nest position in the Cuckoo Search Algorithm. Then, the Cuckoo Search Algorithm is used to optimize the objective function of the point cloud model. The Cuckoo global optimization function based on pattern search and chemotactic behavior is as follows: \[x_{i}^{t}=x_{q_{3}}^{t}+b\cdot sin(2\pi r)\cdot a_{0}\cdot Lvy\cdot(best-x_{q_ {1}}^{t}),r<0.5,\]0 (18)  
The parameters of the algorithm in this paper are set as follows: the population number is set to 20, the rotation angle range is [0\({}^{\circ}\), 360\({}^{\circ}\)], P\({}_{a}\) = 0.25, and the maximum number of iterations is set in the experiment, and the optimal rotation angle is obtained by running it independently and completely 30 times. ```
1:Point clouds P\({}_{1}\) and P\({}_{2}\) of two bullets
2:Population size n \(\leftarrow\) 20
3:Maximum iterations MaxIter \(\leftarrow\) 30
4:Optimal rotation matrix for aligning P\({}_{1}\) to P\({}_{2}\)
5:Initialize population (nests) with random solutions
6:Evaluate fitness of each nest
7:Identify the current best nest with the highest fitness
8:for iter \(\gets\) 1 to MaxIter do
9:for each nest i do
10: Randomly select three nests x\({}_{i}\), x\({}_{j}\), x\({}_{k}\) from the population
11:\(\mathrm{x_{new}}\leftarrow\mathrm{x_{i}}+\mathrm{r}\times(\mathrm{x_{j}}- \mathrm{x_{k}})\), r \(\leftarrow\) [0, 1], and \(\alpha\leftarrow\)0.01
12:Apply Levy flight: \(\mathrm{L}\leftarrow(\Gamma(1+\beta)\times\sin(\mathrm{r}\times\beta)/(\Gamma( (1+\beta)/2)\times\beta\times 2^{*}((\beta-1)/2))^{*}(1/\beta)\) \(\mathrm{u}\leftarrow\mathrm{normal}(0,\,\sigma_{-}u^{*}2)\) \(\mathrm{v}\leftarrow\mathrm{normal}(0,\,\sigma_{-}v^{*}2)\) step \(\mathrm{u}/\mathrm{abs}(\mathrm{v})^{*}(1/\beta)\) \(\mathrm{x_{new}}\leftarrow\mathrm{x_{new}}+\mathrm{step}\times(\mathrm{x_{ new}}-\mathrm{best}\_{nest})\)
13:if fitness(x\({}_{new}\)) > fitness(x\({}_{i}\)) then
14:\(\mathrm{x_{i}}\leftarrow\mathrm{x_{new}}\)
15:endif
16:endfor
17:for each nest i do
18: With probability p\({}_{u}\), discard nest i and generate a new nest using: \(\mathrm{x_{new}}\leftarrow\mathrm{x_{r1}}+\mathrm{r}\times\) (x\({}_{\mathrm{r2}}-\mathrm{x_{r3}}\)), where x\({}_{r1}\), x\({}_{r2}\) are two randomly chosen nests, r is a random number in [0, 1]
19:endfor
20: Evaluate fitness of all nests
21: Identify the current best nest with the highest fitness
22:endfor
23: Output the optimal rotation matrix from the best nest
24:end
```  
**Algorithm 2** Improved Cuckoo Search Algorithm for Bullet Point Cloud Registration