Zhong, Fangwei, Sheng Wang, Ziqi Zhang, China Chen, and Yizhou Wang. “Detect-SLAM: Making Object Detection and SLAM Mutually Beneficial.” In 2018 IEEE Winter Conference on Applications of Computer Vision (WACV), 1001–10, 2018. https://doi.org/10.1109/WACV.2018.00115.
Abstract
本文提出的Detect-SLAM 较其他SOTA 方法的优势:
- 通过利用物体检测器完成对移动物体上的不可靠特征点进行剔除,极大地提高了SLAM 算法在动态环境中的准确性与鲁棒性;
- 在线构建一个实例级语义地图;
- 通过利用物体语义地图来提高物体检测器性能,使得其在挑战性环境中可以更有效地识别出物体。
1 Introduction
Detect-SLAM 是第一个将SLAM 和 基于DNN 的检测器结合起来同时完成三种视觉任务的工作:提高SLAM 在动态环境中的鲁棒性,构建语义地图,以及增强物体检测性能。
3 Detect-SLAM
本架构是基于ORB-SLAM2 算法的,在其基础上包含三个新步骤:
- Moving objects removal:将动态物体上的特征点进行剔除;
- Object Mapping:对关键帧中的静态物体进行重建,物体语义地图包含带有物体ID 的稠密点云;
- SLAM-enhanced Detector:利用物体语义地图作为先验知识来增强探测器在挑战环境中的性能。
3.1 Moving Objects Removal
动态物体剔除如Fig. 3所示,值得注意的是,此处的动态物体指的是属于可移动种类中的物体,并不能保证其一定是移动的,即潜在动态物体。然而,利用DNN 进行动态物体检测速度较慢,SSD 只能实现3 FPS的速度。为解决该问题,作者采用两个策略进行应对:
- 只在关键帧中进行动态物体检测,然后在local map 中更新特征点的移动概率来加速tracking 支流;
- 在tracking 支流中利用特征匹配和匹配点扩张来传递移动概率,从而在相机位姿估计前有效移除动态物体上的特征点。
作者将物体的移动概率分为4个层次,如Fig. 2所示,使用高置信度点在匹配点扩张中将移动概率传递给周围未匹配的特征点,在每个点都得到相应的移动概率后,去除动态特征点并使用RANSAC 滤除其他外点,然后进行位姿估计。
3.1.1 Updating Moving Probability
关键帧的物体检测完成后会被插入到local map 中并更新地图中特征点的移动概率:
其中,$P_{t-1}(X^i)$ 表示3D 点 $X^i$ 在上个关键帧更新后的移动概率,若点 $X^i$ 是新添加的点,则令 $P_{t-1}(X^i)=0.5$ ;与点 $X^i$ 匹配的关键帧中的点 $x_i$ 若位于动态物体的bbox 内,则令 $S_t(x^i) = 1$ ,其他情况下令其为0。
3.1.2 Moving Probability Propagation
移动概率传递在帧间通过两种方式确定:特征匹配和匹配点扩张,如Fig. 4所示。
对于特征匹配的情况,若一个特征点同时与上一帧特征点和地图中的3D 点匹配上时,应该以地图中3D 点的移动概率为准。将未匹配的特征点移动概率初始化为0.5。特征匹配的情况总结为下式:
对于匹配点扩张的情况,是利用高置信度的特征点(包括高静态可能和高动态可能特征点)对周围未匹配特征点的移动概率进行确认,确认过程如下所示:
其中,$\chi_t$ 为高置信度特征点;$P_{init}$ 为初始化概率值,为0.5;$\lambda(d)$ 为距离因子,若d 小于半径阈值,则令 $\lambda(d) = Ce^{-d/r}$ 。
3.2 Mapping Objects
3.2.1 Predicting Region ID
物体ID 的预测是基于一个几何假设:地图中物体投影到关键帧中的区域与帧中物体检测区域存在重叠,且区域属于同一个物体。利用IOU 来表示两个区域的重叠程度:
若IOU 大于0.5,则进一步估计深度似然:
其中,Err 是重叠区域内观测与投影深度的MSE:
若深度似然大于设定阈值,则将地图物体的ID 赋予给检测区域,否则,分配一个新的ID 给该检测区域。
3.2.2 Cutting Background
将投影与观测重叠区域的点作为前景seed,将bbox 外的点作为背景seed,利用Grab-Cut 算法得到物体的分割掩码。
3.2.3 Recobstruction
利用物体掩码,创建物体点云并剔除噪声点,最终将物体点云转换至世界坐标系中并添加至物体语义地图。
3.3 SLAM-enhanced Detector
利用物体语义地图和相机位姿来增强物体检测器的性能。
3.3.1 Region Proposal
利用当前估计的相机位姿将语义地图中的3D 物体投影至2D 平面,将具有相同物体ID 的像素进行聚类来确定可能含有物体的区域。
3.3.2 Region Filter
去除掉较小尺寸(2020像素)的候选区域,并估计观测深度与投影深度之间的*似然来检测遮挡的候选目标。
3.3.3 Hard Example Mining
前人的工作证明了选择使用困难的数据来训练或者细调DNN 网络可以极大促进检测效果,于是,作者使用SLAM-enhanced 物体检测器来挖掘困难的数据(Fig. 7所示)来强化训练集,然后用这些强化的数据集来细调SSD 网络。