[笔记] RGB-D SLAM in Dynamic Environments using Static Point Weighting 使用静态点权重法的动态环境中的RGB-D SLAM

[TOC]

摘要 Abstract

我们提出了一种用于动态环境的基于实时深度边缘的RGB-D SLAM系统。 我们的视觉里程计方法基于帧到关键帧的配准(frame-to-keyframe registration),其中仅使用深度边缘点(depth edge points)。为了减少动态对象的影响,我们提出了一种对关键帧边缘点的静态加权方法。静态权重表示一个点是静态环境的一部分的可能性。将此静态权重添加到强度辅助迭代最近点(IAICP)方法(the Intensity Assisted Iterative Closest Point
method) 中以执行配准任务。此外,我们的方法被集成到SLAM(同时定位和映射)系统中,其中使用了有效的闭环检测策略。我们的视觉里程计法和SLAM系统都使用来自TUM RGB-D数据集的具有挑战性的动态序列进行评估。与最先进的动态环境方法相比,我们的方法显着降低了跟踪误差。

用RGB image加深度数据,提出depth edge points做visual odometry, 而static weighting 是为了对付运动物体。Intensity Assisted ICP (IAICP) 是改进ICP做定位的算法。

We propose a real-time depth edge based RGB-D SLAM system for dynamic environment. Our visual odometry method is based on frame-to-keyframe registration, where only depth edge points are used. To reduce the influence of dynamic objects, we propose a static weighting method for edge points in the keyframe. Static weight indicates the likelihood of one point being part of the static environment. This static weight is added into the Intensity Assisted Iterative Closest Point (IAICP) method to perform the registration task. Furthermore, our method is integrated into a SLAM (Simultaneous Localization and Mapping) system, where an efficient loop closure detection strategy is used. Both our visual odometry method and SLAM system are evaluated with challenging dynamic sequences from the TUM RGB-D dataset. Compared to state-of-the-art methods for dynamic environment, our method reduces the tracking error significantly.

本文贡献

本文的主要贡献是:

  • 提出了一种新颖的高效静态加权方法,以减少动态对象对姿态估计的影响。它计算每个关键帧点成为静态环境一部分的可能性。
  • 静态加权项整合到IAICP方法中,这样就构成了一个用于动态环境的实时RGB-D视觉里程计方法。
    我们的方法对动态对象的有效性在TUM RGBD数据集[23]的动态序列上进行了测试。我们提出的使用静态点加权的RGB-D SLAM在大多数序列中优于以前的方法

基于前景边缘的视觉里程计

A.概述

所提出的视觉里程计方法的概述在图1中示出。对于每个输入帧,首先提取前景边缘点,其中仅提取的边缘点用于测距测量。
每隔N帧被选为一个关键帧。
对于每个关键帧,估计边缘点的静态权重。
静态权重表示一个点属于静态环境的可能性。
然后使用IAICP算法估计从关键帧到当前帧的相对变换,其中组合静态权重以便减少动态移动对象对变换估计的影响。
最后,基于估计的运动更新关键帧的静态权重。

B.前景深度边缘检测

深度边缘点是在其邻居中具有大的深度不连续性的点,有两种类型:

  • 前景边缘点:在对象的边界上,这些对象位于其他对象的前面。对于移动的相机是稳定的。
  • 被遮挡的边缘点:来自一些其他物体后面的物体,它们是由它们前面的其他物体的遮挡引起的。被遮挡的边缘点对移动的摄像机敏感,因此需要将它们排除以估计摄像机轨迹。

这里被遮挡的边缘点?为什么相机可以得到物体后面物体的深度呢,可以穿过物体???

前景深度边缘点可以体格配准准确率,相比于均匀采样的点。这对于IAICP法和静态权重法都是有益的。

给定一个t时刻图像的点云,一个包含前景边缘点索引的集合就可以被构建,首先计算每个点与其四个邻居之间的深度差:(是一个四维向量)
这里是用来提取一个点的深度值,而四个偏移向量

这里为什么(0,0,1,0)能够提取深度值???,点云向量第三个值是深度?

偏移量b的设置:这里使用偏移b>1,因为由于在深度不连续区域附近存在大量NaN(非数字)值像素,所以不能计算直接邻居(b = 1)之间的许多深度差异。
另一方面,较大的b值导致更多的点被检测为深度边缘,导致更厚的边缘。在NaN值避免效应和深度边缘厚度之间取得平衡,我们根据经验设置b = 4。

然后将一个点视为前景边缘点并添加到边缘点集,如果它满足以下条件:

第一个条件拒绝被遮挡的边缘点,因为被遮挡的点具有比它们的邻居更大的深度,其中不等式右边是深度依赖阈值。对于非常大的,不能拒绝被遮挡的点。如果太小,则由于比相邻像素稍微更大的深度,也可以拒绝许多实际前景边缘点。
第二个条件通过用阈值(不等式右边)检查深度不连续性来检查点是否可以被认为是边缘点。如果太大,则无法检测到边缘点,如果太小,几乎每个点都被检测为边缘。
在我们的实验中,和分别设置为0:015m和0:04m。
在图2的第二行中,示出了前景深度边缘提取的一些示例。

C.静态权重估计

环境中存在两种类型的点:来自静态对象的点和来自动态移动对象的点。
由于相机的自我运动,观察点在相机的坐标中不断移动。比较来自两个帧的点云,静态点以相同的刚性变换移动,这是相机的自我运动的倒数,而动态点由于它们自己的运动而不遵循相同的刚性变换。
通过和目标点云进行比较来估计静态权重。仅对前景深度边缘集合中的点()进行估计静态权重。
的静态权重表示为,由和它在目标点云中对应的点的欧几里得距离估计得到:

其中c(i)是目标云中找到的对应点索引,T是将源云与目标云对齐的估计变换。如果在附近没有找到c(i),我们将设置为一个大的常数值D.

假设c(i)和变换矩阵T都是完全正确的,那静态的经过变换矩阵,应和对应点完美对齐,所以对应静态的,应为0或者很小的值。那就可以根据统计来区分动静特征点。
静态权重能够根据Student’s t分布来估计:

是t分布的自由度,其中较大的随着的增加导致的陡峭(急剧)减小。在我们的实验中,根据经验设置为10。
平均值手动设置为零,因为较小的距离表示更静态的点。
使用中值绝对偏差估计方差,请注意,在近邻()中没有有效对应关系的点不用于计算。

图3示出了对应距离和t分布的直方图的示例。所选择的分布非常适合实际的实验数据。零值di表示最高静态似然,小di是由传感器噪声或环境的离散采样引起的,而大di是由与摄像机运动不同的动态运动引起的。在算法1中总结了估计静态权重fwsrc i; tgtgi2Bsrc的过程。

在视觉里程计中,仅估计关键帧的静态权重,关键帧上的点的静态权重是通过将关键帧与其他两个目标帧进行比较来计算的:一个是先前的关键帧,另一个是最新的帧(时间间隔t)。点的静态权重定义为:

在我们的实验中,根据经验设置为:

如果关键帧是当前帧,则只有第一项(初始化静态权重)。随着时间的推移,考虑来自当前帧的更多影响,其中初始化项和更新项彼此互补。

更新项的作用:

  1. 静态对象开始移动时,静态点能够转换成动态点。
  2. 相机和运动物体都在运动,所以被遮挡的部分也是变的。被遮挡的点通常与它们错误找到的对应关系有很大距离,因此通过使用,它们可以被有效地降低权重。

初始化项和更新项都很重要。通过将关键帧与最后一个关键帧进行比较来估计。如果仅使用更新项,则无法有效区分慢速运动的对象。慢速的的动态点在一帧内不会移动得太远,对应物之间的距离可能落在静态点的“小噪声”范围内。相反,初始化项是用相对较大的时间差N计算的,因此小速度对象的更大并且更可区别于静态点。
在图2的第三行中,示出了估计的静态权重的一些示例。它表明我们的方法可以有效地downweight(减权)不同情况下的动态点,包括一个人移动,两个人移动和一个人移动的一部分。

D. Intensity Assisted Iterative Closest Point 强度辅助迭代最近点

使用强度辅助迭代最近点(IAICP)方法[18]执行成对点云登记。与传统的ICP方法相比,每个点的强度信息也用于对应匹配和加权。

这里的强度信息是什么(the intensity
information )
给定源帧和目标帧,IAICP估计将源云与目标云对齐的相对变换。IAICP是一种迭代方法,其中变换矩阵通常用单位矩阵或运动预测初始化。在我们的实验中,用一阶运动预测初始化。然后迭代搜索最优变换值,其中第k次迭代可以概括为:

  1. 搜索source点云的每个深度边缘点对应的目标targe点云中的点。
    对于,目标点云中对应点索引表示为,其中
  2. 计算最优增量变换Tk,该最小增量变换Tk最小化已建立的对应关系之间的加权欧几里德距离的总和:

    其中W(i)是表示对应质量的加权项。该方程通常用封闭形式的解[5]求解,如奇异值分解[1]。在我们的方法中,并非所有边缘点都用于计算eq。(12),我们为每次ICP迭代随机选择120个深度边缘点。
  3. 更新:

在下文中,我们将解释如何计算加权项W(i)以及如何获得对应索引c(i)。

  • 对应加权:在实践中,并非每个已建立的对应关系都是正确确定的。异常值严重影响转换估计。为了补偿异常值,估计对应对的加权项。加权基于强度项,几何项以及静态加权项(第III-C节):

静态加权项如之前的计算。

强度项基于强度残差计算:


其中,t分布的自由度设置为5,和是所有相应对的中值和偏差值。我们依照文献[13]来使用基于student的t分布的加权函数。

几何项的估算方法类似:


使用所提出的加权项,直观地降低具有大强度差或具有大几何距离的偏离对应。此外,静态权重负责减轻动态对象的影响。

  • 对应匹配:利用现有的点云,在图像坐标中进行匹配点的搜索。通过用当前估计的变换源帧点,变换后点的图像坐标是。然后,将x'附近的目标深度边缘点视为的对应候选,其中邻域N(x0)被定义为围绕图像坐标x0的正方形。

对一对点进行检查,该对的得分函数如下:


是从上次ICP迭代得到的加权函数,其中将平均值设置为零 ,因为更接近点更可能是真正的对应点。然后将对应关系作为最大化得分函数的点:

你可能感兴趣的:([笔记] RGB-D SLAM in Dynamic Environments using Static Point Weighting 使用静态点权重法的动态环境中的RGB-D SLAM)