# A Point Cloud Registration Algorithm Based on Weighting Strategy for 3D Indoor Spaces
## 4 Experiment and Analysis
### Point Cloud Registration Experiments  
We use the entire S3 DIS dataset in the experiments, from Area_1 to Area_6 [32]. When the S3 DIS datasets are used as a whole, all the test data are the averaged results of the six indoor spaces in the datasets, as shown in Figure 3. PointNet is used for semantic segmentation of the point cloud. We divide the registration experiment into two parts. In the first part, we conduct experiments with weighted PP-ICP under different parameters, using the corresponding experimental data to determine the parameters that enable the algorithm to perform optimally. We also conduct other experiments to study the influence of semantic segmentation quality on the registration results. The second part is a comparison of weighted PP-ICP with three other registration algorithms: ICP, the NDT, and PointNetLK. We assess the advantages and disadvantages of weighted PP-ICP relative to the other algorithms by comparing the algorithms in terms of root mean square (RMS) error, runtime, and hardware resource utilization across six test scenarios in the datasets, using the method of controlled variables. In these experiments, we conduct both single-axis and multi-axis angle tests on the entire S3 DIS dataset. In the single-axis angle test, we rotate the datasets around one axis, keeping the other two axes fixed. The range of rotation angles varies from 15\({}^{\circ}\) to 120\({}^{\circ}\), in steps of 15\({}^{\circ}\). The multi-axis angle tests maintain a range of angles between 15\({}^{\circ}\) and 120\({}^{\circ}\), with a step of 15\({}^{\circ}\) in between. For each type of rigid transformation, we rotate all three axes clockwise by the same angle value, for example, [30\({}^{\circ}\), 30\({}^{\circ}\), 30\({}^{\circ}\)] and [60\({}^{\circ}\), 60\({}^{\circ}\), 60\({}^{\circ}\)]. Figure 3: Point cloud semantic segmentation of S3 DIS: (**a**) Area_1 (conference room); (**b**) Area_2 (hallway); (**c**) Area_3 (office); (**d**) Area_4 (lobby); (**e**) Area_5 (storage); (**f**) Area_6 (open space). Section 3 uses subjective assignment to determine each category's importance in the semantic segmentation results. The following tests will verify the validity of these assignments. According to Table 2, we reduce the importance of all labels above 0.5 and increase those below 0.5, resulting in a change magnitude of 0.2 for each group, which decreases to 0.1 when starting from 0.2. This process generates four groups of data regarding label importance, as shown in Table 10.  
We calculate and integrate the corresponding weight values into the proposed registration algorithm based on these four sets of data. We perform validation using multi-axis angle tests, as illustrated in Figure 4 and Table 11.  
Figure 4 and Table 11 demonstrate that group 1 consistently has the smallest RMS across all rotational angles. The maximum value in group 3, 3.134, is 3.11 times higher than the maximum value in group 1, which is 0.762; the maximum value in group 4, 3.674, exceeds the maximum in group 1 by 3.82 times. These results validate that the subjective assignment of label importance in Section 3 is reasonable. Given that this paper proposes an algorithm based on weights generated from point cloud semantic segmentation results, we expect the quality of segmentation to significantly influence the algorithm's registration performance. However, we notice differences in the \begin{table}
\begin{tabular}{c c c c c c c c c c c c c} \hline \hline
**Group** & **Ceiling** & **Floor** & **Wall** & **Beam** & **Column** & **Window** & **Door** & **Table** & **Chair** & **Sofa** & **Case** & **Board** & **Clutter** \\ \hline
1 & 0.2 & 0.2 & 0.2 & 0.2 & 0.6 & 0.6 & 0.4 & 1.0 & 1.0 & 0.8 & 0.6 & 0.6 & 0.1 \\
2 & 0.4 & 0.4 & 0.4 & 0.4 & 0.4 & 0.4 & 0.6 & 0.8 & 0.8 & 0.6 & 0.4 & 0.4 & 0.3 \\
3 & 0.6 & 0.6 & 0.6 & 0.6 & 0.2 & 0.2 & 0.8 & 0.6 & 0.6 & 0.4 & 0.2 & 0.2 & 0.5 \\
4 & 0.8 & 0.8 & 0.8 & 0.8 & 0.1 & 0.1 & 1.0 & 0.4 & 0.4 & 0.2 & 0.1 & 0.1 & 0.7 \\ \hline \hline \end{tabular}
\end{table}