# DM-SLAM: Monocular SLAM in Dynamic Environments
## 3 Results
### Evaluations of DLRSAC  
Unlike the data used in comparison of algorithms [9] like RANSAC, LoSAC [18], Multi-GS [19] and ARSAC [9], where the dynamic objects change significantly in geometry, the data used in the operation of this system is quite different. In our experiments, we used successive frames in video sequences, including our own data and TUM sequence fr3_walking_rpy. Figure 3 displays results tested in our data, where the middle book in the source images is moving. Our data is used to compare algorithms where there are rigid-body motions in the scene. Figure 4 shows the results tested in TUM fr3_walking_rpy, which verify the performance of algorithms when there are non-rigid objects in the scene. We compared our algorithm with others, including standard RANSAC [8] and ARSAC [9]. We choose ARSAC instead of PARSAC because obtaining prior information of the inliers ratio in the images is not practical. As can be seen in Figure 4e-f, most static features can be extracted with DLRSAC, with the exception of static features in the conditions below:  
1. The feature is so independent from other features that the number of feature points in the local grid does not satisfy the solution condition. 2. Some static features belong to the grid in which moving features dominate, meaning that the grid is not classified into the Coupled Grid set (so all features in the grid are considered as moving features). Figure 3: \(Cont\). Figure 3: Real example for static extraction. (**a**) and (**b**) are source images, which show that the book in the middle is moving. (**c**) The static points recognized by RANSAC, marked with red crosses. The outliers are marked with yellow circles. (**d**) The static points recognized by ARSAC [16]. (**e**) The static points recognized by our DLRSAC with the size of grid is \(180\times 180\). (**f**) The static points recognized by our DLRSAC with the size of grid is \(240\times 240\). We can see from Figures 3c and 4a that RANSAC has almost no distinguishing ability for moving objects in consecutive frames. And, although ARSAC can extract a part of static features, like Figures 3d and 4b, the extracted features are much lower in number than those of DLRSAC. We hypothesize that this is because ARSAC only takes the degree of distribution as the objective function optimization variable. In addition, the computational overhead of DLRSAC is slightly longer than RANSAC and ARSAC while within acceptable circumstances, as listed in Table 1 (the iteration number is set to 2000). The purpose of dividing an image into grids is to reduce the complexity of motion within the grid so that the points that are sampled to solve the Grid model are more likely to belong to the same motion model. As we know, under RANSAC taken to solve Grid model, the number \(N\) of iterations required to guarantee a correct solution is:  
\[N=\frac{\log(1-p)}{\log(1-(1-\varepsilon)s)} \tag{5}\]  
where \(s\) is the number of data points, \(\varepsilon\) is the percentage of outliers, and \(p\) is the probability of success (confidence level) [20]. In fact, RANSAC tends to choose models that are solved by features from multiple source models, as shown in Figure 3. These models have stronger Coupling ability in local grid but less in global image, which helps DLRSAC filter out real static features. Aside from this, we find that the selected model has stabilized after several hundred iterations due to this nature. The grid selected in Figure 5 contains a moving person and surrounding static environments, where red circles are the selected eight initial points used to solve the solution model. The eight points are from both moving and static objects, but almost all the points in the grid are their inliers. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Algorithm** & **RANSAC** & **ARSAC** & **DLRSAC** \\ \hline Running time & 34.6 ms & 36.8 ms & 40.1 ms \\ Iterations & 2000 & 2000 & 2000 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The average running time of different algorithms.