# Point Cloud Registration Algorithm Based on Adaptive Neighborhood Eigenvalue Loading Ratio
## 2 Methods
### Preprocessing Based on Improved Adaptive Raster Filtering  
Traditional raster filtering [22] is important in noise reduction and data simplification. However, when fixing the raster size, the uneven density of scattered point clouds should be considered; otherwise, it may lead to problems such as loss of local point cloud features. In this study, using the point cloud resolution, the filtering process is carried out based on different point cloud densities and adaptive adjustment of the raster size. In the meantime, the average raster density is used as the base threshold, thus reducing the data volume, maintaining the key information of the point cloud, and improving the quality of the point cloud data preprocessing.  
The density of point clouds varies due to sensor accuracy, environmental conditions, and surface roughness. Existing methods for estimating point cloud density include distance-based point cloud resolution and chunk-based point cloud density. The former estimates the sparsity of the point cloud distribution by calculating the average distance to each point within the cloud. For a point cloud \(P_{i}\) (where \(i\) = 1, 2, 3, \(\ldots\), \(N\), and \(N\) is the total number of points), the point cloud resolution [23] is calculated as shown in Formulas (1) and (2). A KD-tree [24] index is first constructed for the point cloud \(P_{i}\) to accelerate the search process. Then, the minimum distance between points in the target point cloud and \(P_{a}\) is determined, and corresponding point pairs are formed.  
\[d_{p}=\min(dis(P_{a},P_{b})),a\
eq b \tag{1}\]  
\[\overline{d_{rr}}=\frac{1}{N}\sum_{p=1}^{N}d_{p} \tag{2}\]  
Figure 1: Flow chart of point cloud preprocessing and combined registration algorithm.  
where the distance between a point \(P_{a}\) and any other point \(P_{b}\) is represented by \(dis(P_{a},P_{b})\), and the minimum distance between \(P_{a}\) and any other point is denoted by \(d_{p}\). Take the average of all \(d_{p}\) as \(\overline{d_{rr}}\).  
The chunk-based average raster density representation method estimates the sparsity of the point cloud distribution by dividing the point cloud into grids, individually calculating the number of points within each small grid, and determining the average value of points across all grids. Given the variations in different point cloud shapes, the edge length of the raster is not fixed to achieve adaptive raster filtering. The point cloud resolution calculated using Formula (2) is taken as a reference for the minimum raster. The raster width is set to five times the resolution of the point cloud, \(W\). To calculate the point cloud's extent along the \(X\)-, \(Y\)-, and \(Z\)-axes, the largest and smallest coordinate values along these axes are identified to determine the lengths of the axes of \(X_{d}\), \(Y_{d}\), and \(Z_{d}\), respectively. The density of the point cloud, \(\overline{d_{pd}}\), is calculated as shown in Formula (3):  
\[\overline{d_{pd}}=\frac{N}{X_{d}\cdot Y_{d}\cdot Z_{d}} \tag{3}\]  
The grid width can be determined for each main axis based on the maximum length along that axis and the corresponding number of grid divisions. The total number of grids, \(N_{g}\), is calculated as shown in Formula (4):  
\[N_{g}=\left\lfloor\frac{X_{d}}{W}\right\rfloor\cdot\left\lfloor\frac{Y_{d}}{W }\right\rfloor\cdot\left\lfloor\frac{Y_{d}}{W}\right\rfloor \tag{4}\]  
The number of points presented in a single grid is denoted as \(n_{g}\). The average grid density of the point cloud, \(\overline{d_{gd}}\), is calculated as shown in Formula (5):  
\[\overline{d_{gd}}=\frac{1}{N_{g}}\sum_{p=1}^{N_{g}}n_{g} \tag{5}\]  
The calculated average grid density is used as a threshold to compare and filter each grid. The preprocessed source point cloud, denoted as \(P_{oi}\), and the target point cloud, denoted as \(Q_{oi}\), are then evaluated. If the number of points within a grid exceeds the threshold, all points in that grid are retained. Otherwise, the grid is excluded.