# A Termination Criterion for Probabilistic Point Clouds Registration
## 4 Results
Figure 3: The same point cloud aligned with two different termination criteria: a large number of iterations (green point cloud) and our termination criterion based on the cost drop (pink point cloud). As an example, we show the results on two point clouds from the Stanford Bunny dataset, whose initial misalignment is a rotation of 90\({}^{\circ}\) around the vertical axis, (Figure 5(a)), and a rotation of 180\({}^{\circ}\) around the vertical axis (Figure 5(b)). In these cases, it can be seen that the cost drop stabilizes much earlier than the MSE w.r.t. the ground truth. This behaviour, indeed, is desirable, since it appeared only in unsuccessful alignments, during which stopping earlier is an advantage (going further would be only a waste of computational time). Figure 4: Two point clouds from the Bremen Dataset, to which we applied (**a**) a small translation (**b**) a small rotation. Figure 5: Termination criteria for the Bremen Dataset with (**a**) a small rotation (**b**) a small translation applied. We tested the chosen termination criterion on the same datasets we presented in our previous work [4] and on pairs of point clouds taken from the Stanford Bunny and Bremen datasets. Our goal is to show that the criterion is effective at stopping the algorithm at the right iteration: too late is a waste of computational time, too early leads to sub-optimal results. For this reason, we did not fine tune other parameters, since the performances of the algorithm were already shown in our previous work. To show the effectiveness of our termination criteria, we executed the algorithm twice on each dataset. The first time using a predefined very large number of iterations. The second one using the cost drop to stop the algorithm. As a measure of the quality of the results we used the MSE w.r.t. the ground truth. The results are shown in Tables 1 and 2. As it can be seen, the results using our criterion are usually comparable, and sometimes better, than when using many more iterations. This means that it succeeds at stopping the algorithm at the right iteration. In some cases, such as for the corridor dataset, the results in Table 1 are much better than those in Table 2. This happens because, sometimes, an excessive number of iterations is not only a waste of time, but could also bring the \begin{table}
\begin{tabular}{l c c} \hline \hline
**Dataset** & **MSE** & **Iterations** \\ \hline Corridor & 0.31 & 14 \\ Office & 0.42 & 19 \\ Linkoping & 0.53 & 8 \\ Bunny & 0.0025 & 19 \\ Bremen & 0.45 & 8 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Experimental results with the proposed termination criterion. \begin{table}
\begin{tabular}{l c c} \hline \hline
**Dataset** & **MSE** & **Iterations** \\ \hline Corridor & 0.66 & 100 \\ Office & 0.48 & 100 \\ Linkoping & 0.50 & 100 \\ Bunny & 0.0024 & 100 \\ Bremen & 0.48 & 100 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Experimental results with fixed number of iterations. Figure 6: Termination criteria for two point clouds from the Stanford Bunny Dataset. Initial misalignment of (**a**) 90\({}^{\circ}\) (**b**) 180\({}^{\circ}\). algorithm to converge to a wrong solution, even though the right solution was reached. This could happen with every algorithm that uses closest point based associations as a greedy approximation for the (unknown) correspondences. We performed experiments also on the IRALab Benchmark for Point Clouds Registration algorithms [6]--it is composed of several point clouds, produced with different kinds of sensor and in different environments. Moreover, it includes several registration problems, with different initial misalignments and different overlaps between the clouds to align. For these reasons, we think that is particularly suitable to prove that the chosen criterion is at least as good as using a high number of iterations, but more efficient. Since the benchmark is composed of several datasets, we show statistics for both the single datasets and for the whole benchmark.