Skip to main content

Paper Summaries

·422 words·2 mins
SLAM dynamic slam

Challenge for SLAM: Dynamic Environment #

Most Current SLAM algorithms assume static environment, but in reality, the environment is dynamic. Since these often rely on features, they are not robust to dynamic environments. Say features of a moving object (a person or a car), the algorithm may think it is the camera that is moving.

This is the statement most paper use, but few of them provide evidence to refer to. I think the following paper is a good reference to refer to.

Simulation of Dynamic Environments for SLAM, ICRA2023 Workshop on Active Methods in Autonomous Navigation, Bonetto et al., 2023

We report them on Tab. IV and Tab. III. One can notice that all the methods perform poorly in the majority of the sequences. Focusing on noisy experiments, which are more related to reality, we can see that with static sequences most of the methods perform well, except TartanVO and StaticFusion which fail.

GRADE: Generating Realistic Animated Dynamic Environments for Robotics Research, Bonetto et al., 2023

Challenge of possible dynamic solution #

  • 这些方法依赖于静态背景假设,即相机本身是固定的。这在动态的道路场景中是不适用的。
  • 直接使用深度学习方法并依赖于语义类别标签(如行人、汽车)来判断运动对象,可能导致错误,比如将路边停车误判为运动对象。
  • 光流可以描述像素在图像之间的运动,但它只能描述对象在成像平面中的移动。因此,当运动对象相对于相机进行同向或【反向】移动时,光流无法有效识别对象的运动。
  • DS-SLAM和DynaSLAM等系统结合了语义信息与多视角几何方法来提取动态物体,在室内场景中效果不错。然而,这些方法依赖于动态物体相对于相机在前后帧中的视角差,这在某些道路场景,尤其是直线道路中,由于动态车辆相对于相机的同向或反向 (平行) 移动,难以有效提取动态物体。

Senior’s method #

1. Use Mask R-CNN to detect Potential Dynamic Objects #

  1. Dynamic Object Pedestrian: Humans are considered to be moving all the time since they are hard to remain static.

  2. Static Object traffic ligts and traffic signs are considered to be static.

  3. Potential Dynamic Object Vehicles and cyclists are considered to be potential dynamic objects. they may move on the road or remain static. Whether they are moving need to be determined after.

2. Determine whether the Potential Dynamic Object is moving or not #

Use optical flow to determine whether the object is moving or not. If optical flow magnitude of the object is larger than a threshold, then the object is moving.

3. Tracking #

Use Mask-RCNN to get the bounding box of the object, then use Kalmann Filter to predict the next bounding box of the object.

Using Munkres Matching Algorithm to match the predicted bounding box and the current bounding box. If predicted bounding box and the current bounding box match, then the object is tracked successfully. Otherwise, the object is considered to be a new object.


But Instance Segmentation is not robust to dynamic environment.

So, The author uses optical flow to fix the instance segmentation result.

统计每个对象对应的像素点集合在第k帧中出现最多的实例标签l。若l=0,说明出现漏检,则用k-1帧的对象实例标签为第k帧中对应像素点集合赋值。根据上述方法,可以成功修复语义掩码。

4. Filter out features that no longer belong to dynamic objects. #

Filter out features that no longer belong to dynamic objects. And if features are less than a threshold, detect features again to get enough feature points.

Related

实验准备
·230 words·2 mins
课程 实验准备 计算机图形学
GL-PipeLine
·467 words·3 mins
课程 OpenGL 计算机图形学
BST Traversal
·133 words·1 min
刷题 二叉树