Hostname: page-component-74656f9884-2dmjx Total loading time: 0 Render date: 2026-11-07T03:38:46.870Z Has data issue: false hasContentIssue false

Improving RGB-D SLAM in dynamic environments using semantic aided segmentation

Published online by Cambridge University Press:  16 November 2021

Lhilo Kenye*
Affiliation:
Centre of Intelligent Robotics, Indian Institute of Information Technology, Allahabad, Prayagraj, India NavAjna Technologies Pvt. Ltd., Hyderabad, India
Rahul Kala
Affiliation:
Centre of Intelligent Robotics, Indian Institute of Information Technology, Allahabad, Prayagraj, India
*
*Corresponding author. E-mail: lkenye02@gmail.com
Rights & Permissions [Opens in a new window]

Summary

Most conventional simultaneous localization and mapping (SLAM) approaches assume the working environment to be static. In a highly dynamic environment, this assumption divulges the impediments of a SLAM algorithm that lack modules that distinctively attend to dynamic objects despite the inclusion of optimization techniques. This work exploits such environments and reduces the effects of dynamic objects in a SLAM algorithm by separating features belonging to dynamic objects and static background using a generated binary mask image. While the features belonging to the static region are used for performing SLAM, the features belonging to non-static segments are reused instead of being eliminated. The approach employs deep neural network or DNN-based object detection module to obtain bounding boxes and then generates a lower resolution binary mask image using depth-first search algorithm over the detected semantics, characterizing the segmentation of the foreground from the static background. In addition, the features belonging to dynamic objects are tracked into consecutive frames to obtain better masking consistency. The proposed approach is tested on both publicly available dataset as well as self-collected dataset, which includes both indoor and outdoor environments. The experimental results show that the removal of features belonging to dynamic objects for a SLAM algorithm can significantly improve the overall output in a dynamic scene.

Information

Type
Research Article
Copyright
© The Author(s), 2021. Published by Cambridge University Press
Figure 0

Figure 1. Architecture of the proposed approach. The flow of data through the two main modules, namely masking module and tracking module are indicated by red and blue arrows, respectively. The feature extractor module is a part of the SLAM algorithm – here, the extracted features are not fed directly into SLAM algorithm rather filtered using the mask image. Filtered out features are used as seed points and tracked into the next frame and fed into the masking module to obtain a better masking consistency.

Figure 1

Figure 2. Illustration of classifying semantics based on how likely a semantic is static or dynamic using probabilistic approach.

Figure 2

Figure 3. An illustration of mask image obtained through detected bounding boxes. (a) Bounding boxes of two semantics belonging to highly likely dynamic class (human) being detected (b) Binary mask image experimentally generated using corresponding depth image and bounding boxes.

Figure 3

Figure 4. A schematic representation of the masking module along with the point filtering approach. The box wise masking approach is represented separately in the red box.

Figure 4

Algorithm 1 depth masking

Figure 5

Algorithm 2 DFS masking

Figure 6

Figure 5. Illustration of box tracking error (experimentally generated) interpolating over time due to uncontrolled box tracking. This occurs when the tracked box which is too close, which is also corresponding to a newly detected box is not removed. Here, yellow box and red box represent detected and tracked boxes, respectively.

Figure 7

Figure 6. Illustration of slicing boxes into grids. Here, the term ${\boldsymbol{{D}}_{i,1}}$ corresponds to the depth image obtained from bounding box${\boldsymbol{{b}}_1}$ belonging to set of detected boxes ${B_{i,j}}$ and the term $i$ represents the frame number.

Figure 8

Figure 7. An illustration of skipping pixels (vertex) by a scaling factor $k$. Here, $o$ is the source, while ${\boldsymbol{{a}}_1}$, ${\boldsymbol{{a}}_2}$, ${\boldsymbol{{a}}_3}$ and ${\boldsymbol{{a}}_4}$ are the possible vertices that DFS can visit for $k\;=\;3$ from the vertex $\boldsymbol{{o}}$.

Figure 9

Figure 8. Illustration of checking a feature being close to the mask. Here, the white pixels belong to the mask, while the grey pixels belong to static background; ${\boldsymbol{{p}}'_{\!\!i}}$ is the feature being validated, while pixels numbered 1 to 16 are the neighbouring pixels to be checked – the neighbouring pixels obtained by using a window around ${\boldsymbol{{p}}'_{\!\!i}}$ whose inflate factor $\sigma $ is 2 pixels.

Figure 10

Algorithm 3 Feature close to mask

Figure 11

Algorithm 4 Box wise feature tracking

Figure 12

Algorithm 5 Box tracker

Figure 13

Figure 9. Illustration of lines $\lambda _{i - 1,l}^{min}$ and $\lambda _{i - 1,l}^{max}$ connecting the mean point ${\mu _{i - 1,l}}$ to the two corners $\boldsymbol{{b}}_{i - 1,l}^{min}$ and $\boldsymbol{{b}}_{i - 1,l}^{max}$ of a box ${\boldsymbol{{b}}_l}$. The points $s_{i - 1}^1$, $s_{i - 1}^2$,…, $s_{i - 1}^5$ are the corresponding seed points $S_{i - 1,l}^{\prime}$ within ${\boldsymbol{{b}}_l}$.

Figure 14

Table I. Benchmark for dataset collected using ZED stereo camera.

Figure 15

Figure 10. Boxes tracked by the box tracking method. The red boxes are the bounding boxes; the yellow dots are the seed points; the green dot is the mean point; and the yellow lines indicates the vectors used to obtain the two corners of a bounding box.

Figure 16

Table II. Box tracking accuracy test results for boxes being tracked using seed points.

Figure 17

Figure 11. Error plots of tracking boxes using box-corner tracking method and box tracking using seed points for segments of four sequences (entitled in each plot). Here, the horizontal axis (labelled frame) is the number of frames in which the box is supposed to be tracked.

Figure 18

Table III. Comparison of tracking boxes using box-corner tracking method and box being tracked using seed points.

Figure 19

Table IV. Comparison of root-mean-squared error (RMSE) of the absolute trajectory error (ATE) in meters for the trajectories obtained using RGBD-PTAM, RTAB-Map, ORB-SLAM2 and proposed approach (Modified RGBD-PTAM).

Figure 20

Table V. Comparison of translational relative pose errors (RPE) in meters obtained using RGBD-PTAM, RTAB-Map, ORB-SLAM2 and proposed approach (Modified RGBD-PTAM) over TUM RGB-D dataset sequences.

Figure 21

Table VI. Comparison of rotational relative pose errors (RPE) in degrees obtained using RGBD-PTAM, RTAB-Map, ORB-SLAM2 and proposed approach (Modified RGBD-PTAM) over TUM RGB-D dataset sequences.

Figure 22

Figure 12. Plots comparing the trajectories obtained by the proposed approach (modified RGBD-PTAM) against the ground truth over the sequences (a) fr3_sitting_static, (b) fr3_sitting_xyz, (c) fr3_walking_static, (d) fr3_walking_xyz, (e) fr3_walking_halfsphere and (f) fr3_walking_rpy of TUM’s RGB-D sequences which involves partially dynamic and dynamic objects. The black line indicates ground truth the trajectory, the blue line is the estimated trajectory, and the red lines represent the difference between the ground truth and the estimated positions.

Figure 23

Table VII. Comparison of root-mean-squared error (RMSE) of the absolute trajectory error (ATE) in meters for the trajectories obtained using RGBD-PTAM and proposed approach (Modified RGBD-PTAM) for sequences collected using ZED stereo camera, where the camera was kept static. Comparison performed over both indoor and outdoor sequences.

Figure 24

Table VIII. Comparison of root-mean-squared error (RMSE) of the goal-reach, Z-reach and deviation along X-axis in meters obtained using RGBD-PTAM and proposed approach (Modified RGBD-PTAM) for sequences collected using ZED stereo camera, where the camera moved for specific distance. Comparison performed over both indoor and outdoor sequences. The Z-axis reach is defined based on how far the camera is intended to move in Z-axis, while X-axis deviation defines how far the camera deviates along the X-axis. The intended path follows straight path in the Z-axis.

Figure 25

Figure 13. 2D plot of trajectories obtained by RGBD-PTAM (green) and proposed approach (orange) compared against the intended straight-line path over sequences collected using ZED stereo camera (ZED_indoor1_xyz_2m, ZED_indoor2_xyz_2m, ZED_outdoor_xyz_2m and ZED_outdoor_xyz_3m).