## 2 Bullet Low-Overlap Point Cloud Registration Based on Line Feature Detection
### Fitting the Registration Central Axis  
Fitting the central axis is used to shorten the calculation time of the subsequent registration. By fitting the central axis of two sets of bullet point cloud data, the distance between two points in space can be effectively reduced. In this paper, a pre-registration method based on the geometric features of the warhead is proposed. Two bullet point clouds with large position differences in space are registered on the same central axis. The algorithm for fitting the central axis is as follows (see Algorithm 1). 1. Treat bullet point cloud data as a set of points P = {P1, P2,..., Pm}. Each of these points P1 is a three-dimensional coordinate (x\({}_{i}\), y\({}_{i}\), z\({}_{i}\)). First, compute the maximum and minimum values of the \(Y\)-axis, stratifying these points in the \(Y\)-axis direction, as follows: \[y_{\text{min}}=\min_{i=1}\,y_{i}\] (1) \[y_{\text{max}}=\max_{i=1}\,y_{i}\] (2)  
Based on y\({}_{\text{min}}\) and y\({}_{\text{max}}\), the whole range is divided into n layers. The height range of each layer \(\Delta\)y is as follows:  
\[\Delta\text{y}=\frac{y_{\text{max}}-y_{\text{min}}}{\text{n}} \tag{3}\]  
Figure 2: Point clouds of different densities representing the features. For each layer k, define its height range on the Y-axis as \([y_{\min}+(k-1)\Delta y,y_{\min}+k\Delta y]\), where k = 1, 2,..., n. Each layer contains points that meet the following conditions:  
\[layer_{k}=\{P_{i}|y_{\min}+(k-1)\Delta y\leq y_{i}\leq y_{\min}+k\Delta y\} \tag{4}\]
2. For each layerk, take any of the four points to remember, (x\({}_{1}\), \(y_{1}\), \(z_{1}\)), (x\({}_{2}\), y\({}_{2}\), \(z_{2}\)), (x\({}_{3}\), y\({}_{3}\), \(z_{3}\)), and (x\({}_{4}\), y\({}_{4}\), z\({}_{4}\)), as shown in Figure 3, for each layer of the outer ball, where each layer is marked as (h, l, k). First, verify that the four points are not coplanar; if any of them are coplanar, then discard the coplanar point and take any one more point for verification, and then bring the four points that are not coplanar into the equation of the outer sphere to obtain the following four equations:  
\[\left\{ \begin{array}{l}(x_{1}-h)^{2}+(y_{1}-k)^{2}+(z_{1}-1)^{2}=r^{2}\\ (x_{2}-h)^{2}+(y_{2}-k)^{2}+(z_{2}-1)^{2}=r^{2}\\ (x_{3}-h)^{2}+(y_{3}-k)^{2}+(z_{3}-1)^{2}=r^{2}\\ (x_{4}-h)^{2}+(y_{4}-k)^{2}+(z_{4}-1)^{2}=r^{2}\end{array} \right., \tag{5}\]  
By constructing a linear equation, SVD is applied to find the best solution in the sense of least squares, that is, (h, l, k), the coordinate point set X of the center of the sphere. 3. In all of the obtained spherical center coordinate point sets X, the invalid points whose axis ranges exceed the point cloud are eliminated to obtain the point set X\({}^{\prime\prime}\). 4. The point cloud data X\({}^{\prime\prime}\) is a matrix of n \(\times\) 3, where n is the number of points; calculate the central point of the point cloud, that is, p\({}_{0}\), the average of the coordinates of all points on each dimension, as follows: \[P_{0}=\frac{1}{n}\sum_{i=1}^{n}x_{i},\] (6)  
Centralize the coordinates of all points to form a new set of points X\({}^{\prime}\), such that each point is x\({}^{\prime}\) = x\({}_{i}-p_{0}\). Find a direction vector v that maximizes the projection variance of the point set X\({}^{\prime}\) in that direction. This is achieved by solving the eigenvalues and eigenvectors of the covariance matrix C, as follows:  
\[C=\frac{1}{n-1}X^{\prime\prime}X^{\prime}, \tag{7}\]  
Figure 3: Fitting to find the center of the sphere: (**a**) finding the center of the circle in a two-dimensional plane; (**b**) finding the center of the sphere in a three-dimensional space. After finding the first principal component direction \(v_{1}\), take a series of points along that direction, calculate the projection \(t_{i}=x_{i}\cdot v_{1}\) of each point after centralization in the direction \(v_{1}\), and then evenly choose a series of \(t\) values between the largest and smallest \(t_{i}\), which corresponds to the point \(L(t)=p_{0}+tv_{1}\) on the line. 5.