Wen, Shuhuan, Xiongfei Li, Xin Liu, Jiaqi Li, Sheng Tao, Yidan Long, and Tony Qiu. “Dynamic SLAM: A Visual SLAM in Outdoor Dynamic Scenes.” IEEE Transactions on Instrumentation and Measurement 72 (2023): 1–11. https://doi.org/10.1109/TIM.2023.3317378.
1 Introduction
本文的贡献:
- 提出一个新颖的视觉SLAM 系统,结合语义分割和多视角几何来有效识别同一种类不同物体的运动状态,从而减少动态特征点对系统的影响;
- 使用SegNet 网络获取语义信息,基于匀速运动模型判断特征点的当前运动状态、估计相机位姿、恢复特征点的空间位置;当计算特征点速度时,为了减少系统噪声的干扰,作者设计了均值滤波窗口 mean filter window 来滤除噪声;
- 基于长期观测地图点提出了一种新的动态空间点筛选方法 screening method,来应对动态点错误识别或不完整识别的问题。
3 System Description
3.1 Overview of the Proposed Approach
本系统是基于ORB-SLAM2 系统搭建的,系统架构如Fig. 1所示,大致流程如下所示:
- 首先,将双目相机中左侧图片输入SegNet 获取语义信息;
- 然后提取图片中的ORB 特征点,并“移除”属于动态类别区域的特征点,值得注意的是,此处只是暂时隐藏动态物体的特征点,而不是真正地移除它们;本步骤的目的是获取具有相对准确度的相机位姿;
- 最终,利用剩余的静态特征点进行匹配、估计相机位姿;
- 在此基础上,维持一个窗口来计算并记录特征点的速度,来减少噪声的影响。
3.3 Dynamic Feature Point Selection
简单地移除掉属于潜在动态物体上的特征点会导致部分场景定位效果下降甚至失败,如Fig. 3所示;因此,作者利用动态运动检测来判断属于潜在动态物体上的特征点是否处于运动状态。
3.3.1 Scene Flow Calculation
作者通过场景光流计算来获取特征点的空间运动信息,此处的特征点使用的是ORB 特征点,并使用图片金字塔方法来解决特征点提取过程的尺度不变。
过程如Fig. 4所示,在静态场景中,特征点在两帧之间的位移应该具有相同的整体趋势,观察Fig. 4可以发现动态特征点位移的整体方向和大小与静态点不同。当前帧的位姿是通过匀速运动模型和特征点匹配获取的;作者使用双目相机获取特征点的深度信息,并不计算整幅图的深度信息以减少运算量。
匹配点在相邻两帧计算的空间位置信息如下所示:
场景光流的计算如下所示:
3.3.2 Variable-Length Window Filter
为减少噪声对确定静态点与动态点阈值的影响,作者使用一个窗口进行均值滤波。该滤波器记录相同特征点在连续帧中的速度,从该特征点出现的第一帧开始记录,维持一个最大长度的速度纪录,然后计算序列中所有值的均值作为当前帧中该特征点的速度。实际操作中,位移信息被转化为特征点的速度参数来进行阈值计算。
利用计算的速度信息,地图点可根据阈值分为动态点和静态点。
3.4 Feature Point Threshold Calculation
首先,选取属于静态物体类别的特征点进行阈值计算,来判断属于潜在动态物体上的特征点是否是运动的。
在ORB-SLAM2 中,特征点分为近点和远点,它们的估计精度存在差异,且近远点在图中的位移或速度也会不同,因此,作者引入一个参数 $\alpha$(深度的倒数)来减少噪声对阈值计算的影响:
值得注意的是,作者认为,为了提高精度,当特征点数量充足时,应优先选择静态物体类别区域的特征点进行计算。