Avoiding moving outliers in visual SLAM by tracking moving objects
Abstract
为了以视频速率工作,单目SLAM构建的地图必然是稀疏的,这使得它们对错误地包含移动点和通过临时遮挡删除有效点敏感。本文描述了monoSLAM与三维对象跟踪器的并行实现,允许对移动对象和遮挡进行处理。SLAM过程为对象跟踪器提供了将对象注册到地图框架的信息,并且对象跟踪器允许标记特征,或者是对象上的特征,或者是由对象的遮挡边缘创建的特征,或者是由对象遮挡的特征。实验验证了恢复的几何形状,并指出包含和避免运动特征对monoSLAM中相机姿态的影响。
1.Introduction
同步定位和绘图的各种技术[1] [2] [3]是许多成功的自主机器人导航系统的核心:激光传感占主导地位的牢固接地的(例如[4]),分别使用雷达和声纳的水上和水中的(例如[5] [6]),以及使用雷达和2D视觉最多的机载(例如[7])。
然而,我们在这里的兴趣在于将SLAM用于手持和佩戴式相机。恢复的相机位置和地图与其说是用于导航——人们可以依靠相机的用户来四处走动——不如说是用于场景的图形增强,其中什么在哪里的感觉变得更加重要(重点是什么)。
在SLAM的应用中,一个常见的假设是传感器在刚性环境中移动,在处理中意外包含移动特征会大大降低性能,反之亦然[8]。已经报道了几种处理环境中运动的方法(例如[9] [10]),所有这些方法都依赖于与给定传感器运动模型的情况下,预测和实际传感器测量之间的创新预测的不确定性的比较。里程计越好用,比如说当传感器在一个综合仪表化的车辆上时,静态和动态特征之间的分割就越确定。然而,对于手持或可佩戴的相机来说,良好的里程计通常是不可用的,并且相机的运动尽管通常被乐观地建模为恒定速度,但通常是相当随意的,使得外围移动点更有可能被包括在内。
我们实验室最近使用可穿戴摄像机的工作[11] [12]使用了戴维森的单摄像机方法来定位和绘图[13] [14]。在monoSLAM中,即使一个单一的运动模型生成所有的预测,关于一致性的决定也是单独做出的。为了避免误匹配,使用了相当谨慎的主动搜索过程,这通常会导致地图稀疏,从而使得避免误匹配变得更加重要。一种不同的消除误匹配的方法是,不那么谨慎地提出匹配,然后使用鲁棒的方法通过多焦张量的集体拟合来寻找严格移动的点。然而,这里我们采用另一种方法来去除异常值,方法是跟踪场景中已知的3D对象,确定它们是否在移动,然后使用它们的凸包来掩盖特征。
跟踪对象的能力不仅对删除移动特征点有用,而且对延长被遮挡要素的寿命也很有用。从图像中丢失几帧的地图特征点通常被视为不可靠,并从地图中移除。知道它们是被遮挡而不是不可靠可以避免调用麻烦的特征点删除过程,甚至可能是不必要的重新初始化。
正如我们之前的评论所表明的,对物体的强调非常适合可穿戴视觉,但也是由[15]在不同的背景下提出的。这些作者指出,移动很可能与场景中的物体有关,并根据它们移动的可能性对它们进行了分类。用于SLAM的数据来自激光测距传感器,物体通过射频识别标签被检测和识别,使得计算工作集中在特定区域,以确定是否有运动。
在以前的工作[16]中,我们中的一个人已经报道了2D物体的自动识别以及它们在几何和语义上用于增强SLAM地图。对于3D对象,识别和姿态初始化的问题相当困难,这里我们只考虑使用3D对象来处理运动分割和遮挡。所使用的3D物体跟踪器是Harris’RAPiD[17]的改进版本。
在定义了参考框架之后,第二节-A和第二节-B简要概述了基本的SLAM和跟踪流程。在第三节中提出了它们的组合,在该组合中,对象运动被检测到,并且对象姿态在地图的帧中被恢复,从而允许设置遮挡掩膜。实验和结果描述在第四节,论文最后讨论了未来的工作。
2.UNDERLYING PROCESSES
如图1所示,场景中的点X(可以包括静态背景和任何物体上的点)由移动相机观察,位于相机系c下。相机在世界坐标系下的某个时间的姿态[Rwc|twc],则点X在世界坐标系下的坐标为:Xw= RwcXc+ twc 。
A. Visual SLAM
戴维森及其同事[13] [14]引入并开发的单目视觉SLAM使用EKF建立场景中稀疏的一组自然特征。摄像机可以自由移动,并且(通常)没有里程计可用,这使得定位比机器人在表面上移动更复杂。由于过滤器必须在恒定的帧间时间内完成,因此在最大地图尺寸上设置了固定界限。对于当前处理器上的视频速率操作,使用几十个特征是典型的。
系统在时间k的状态pk包括摄像机C的描述和世界系下的N(k)个三维点的坐标
假设这些点是固定的,因此在时间步长k + 1对先验的预测是幂等的(多次观测结果不变),并且在滤波器的预测阶段,没有噪声被添加到它们的状态协方差Pk的相关部分。
在相机状态下,方向由单位四元数qwc表示,平移为twc,瞬时角速度Ωc和线速度Vw分别指相机和世界帧。运动模型是恒速的,因此 ∆t上先验的预测由下式给出
随着新结构的出现或旧结构的消失,可以根据需要在地图中添加或删除特征估计值Xwi。否则,monoSLAM中预测、测量和更新的循环步骤遵循标准EKF[18]的循环步骤。
测量值本身是使用Shi和Tomasi[19]的探测器定位的特征的图像位置。通过使用预测的相机姿态和相机固有参数和径向失真参数的校准值,将当前地图中所有潜在可见的3D特征投影到图像空间中,生成预测的测量位置。建立实际匹配的图像搜索发生在投影先验协方差的3σ范围内,并使用当前图像和11 × 11图像块之间的平方差之和,该图像块存储为每个地图点的描述符。
这里重要的是删除特征的过程。标准单目SLAM不考虑遮挡。它假设一个透明的世界,并且删除观察到的特征的标准为:使用实际可观测性与长期预测可观测性的阈值比率(通常比率为50%)。除了与删除特征相关的信息和计算成本外,还存在由用新特征替换它的需要或压力而产生的相关成本。
B. Object pose tracking
monoSLAM在视频速率下可以维持的特征密度太低,无法显示表面的很多信息,更不用说物体了。取而代之的是使用一个单独的物体跟踪器——这里是Harris’ RAPiD的改进版本[17],[20]。
如图1所示,三维多面体对象由位于边缘的一组控制点建模。这些可能是表面折痕或表面反照率标记,固定到几何图形的边缘,允许在图像中检测投影。RAPiD假设当前估计值和新估计值之间所需的姿态变化足够小,首先,允许解的线性化,其次,使图像间的对应问题变得微不足道。所使用的对应关系在预测点到测量图像边缘之间,允许在图像内搜索1D而不是2D。这使得图像数据的使用非常少,通常每个图像只有几百个像素被寻址。
每个对象的几何特性在其局部帧b中描述。对象的姿态为[Rwb|twb] (帧b到世界坐标系的旋转平移),即对象上的一个点在世界帧中由
如果物体的角速度和线速度为Ω和v,在很短的时间内,物体将移动到一个新的位置Xw′= Xa+(ω∆t)×Xa+twb+ v∆t。将姿态的变化写成 ∆s = ∆t[v⊤,ω⊤]⊤和组成矩阵G =[I3|Xa×]新位置可以写成Xw ′= Xw+G∆s,并转换到相机帧
投射到相机中,并假设深度变化很小,将投射点的移动表示为(例如[21])。
当点对点匹配可用时,该方程可用于恢复姿态的变化。然而,如前所述,更常见的是使用控制点到直线的匹配,沿着最接近直线垂线的主方向d测量距离,如图2所示。测量方程变成
姿势的最佳变化如下
使用最小二乘法。在实践中,应用了对径向失真的校正。
在[21]中总结了使用Harris跟踪器的三个困难。首先,它使用如此少的像素,以至于边缘位置对光照、阴影、背景纹理和遮挡的变化非常敏感。第二,线性化可能会使位姿变化的单次计算远离最佳值。第三,在单个相机中恢复的姿态的精度显示了围绕平行于图像平面的正交轴的横向平移和旋转之间的相关性。对于最后一个,使用单个相机几乎无能为力。第二个问题很容易通过迭代[21]解决,通常两次迭代就足够了。对于第一种情况,有几种缓解方法,其中一些建议在别处[21][22]。对于反照率边缘上的控制点,为了避免误匹配,对与模型中构建的图像边缘极性相匹配的图像边缘极性进行搜索。对于那些位于非闭合折痕边缘的物体,搜索使用先前观察到的边缘幅度和在姿态收敛后捕获的极性的短期记忆,而对于闭合边缘,仅涉及边缘幅度。涉及靠近摄像机边缘的人脸的匹配会被降低权重。此外,在每条边上使用多个控制点,并且应用RANSAC [23]来测试来自同一模型边上的控制点的定位边位置之间的共线性[22]。最后是方程的解。(1)受到另一种稳健方法的影响,这一次最小二乘中值作为基础标准差是未知的[24]。
3. MONOSLAM WITH TRACKED OBJECTS
刚才描述的目标跟踪和SLAM这两个过程基本上是独立运行的,但是有两个相互作用的阶段,第一个阶段对于RAPiD tracker是必不可少的,另一个阶段对于monoSLAM是有益的。
A. Information from SLAM to the object tracker
RAPiD对象跟踪器的描述参考了Rcw和twb 。然而,在没有一些额外的预校准或参考对象的情况下,世界帧在独立实现中是未定义的,所有可以恢复的只是相机和对象之间的相对姿态——实际上,世界帧被相机帧本身替换,因此I ← Rcw和 tcb← twb。
然而,在这项工作中,视觉SLAM建立了世界帧,并在每一帧向对象跟踪器提供相机相对于它的姿态,对象立即与3D地图注册。SLAM过程首先在场景的静态部分开始,一旦地图的一部分稳定,目标跟踪就开始了。这里不讨论识别和姿态初始化的重要问题:目前这些都是手工完成的。
B. Information from the object tracker to SLAM
对于每个传入的帧,monoSLAM的独立实现执行先前相机姿态的预测,根据地图预测图像投影(仅通过裁剪到图像大小来确定可见性),找到更新,并更新相机和地图要素的状态。这里对投影到图像中的特征列表进行了两项额外的检查。
如图3所示,使用相机的当前姿态将被跟踪的每个对象的角点投影到图像中。使用礼品包装[25]找到每一个的2D凸包,然后将其放大一定的量,以考虑到由于姿势改变而可能发生的图像移动,并确保遮挡边缘上的特征被标记为这样。
然后,以下列方式将封闭区域用作掩膜:
- 如果追踪器发现物体正在移动,则删除从那时起就可能会被包含在地图中的,被Shi-Tomasi检测到的物体上的任何特征点。
- 无论对象的运动状态如何,在遮挡边界附近计算的任何特征都将被删除。
- 无论对象的运动状态如何,任何被预测为遮挡的特征都被标记为遮挡,并且在考虑是否删除特征时免于通常的可见性测试。
第一个测试是允许静止物体上的特征被包括在地图中直到它们移动的权宜之计。以monoSLAM通常的方式,从观察到的要素列表中删除它们将自动导致它们从地图中删除。
第二个测试不需要评论,但第三个测试是一种压制通常的monoSLAM删除规则的方法。如前所述,当传统SLAM中的所有标准特征的实际可观测性与预测可观测性的长期比率变低时,这些标准特征将被删除,其中实际可观测性是特征自初始化以来实际上已被成功测量的帧数,而预测可观测性是摄像机对地图特征的预测投影位于图像矩形内的帧数。能够将特征标记为遮挡可以节省在图像中搜索它的时间,并且不会不必要地降低可见性比率。
4. EXPERIMENTS AND RESULTS
A. Time
相机频率30HZ;图像像素320×240;图形操作和操作系统耗时18ms,20个特征点单目SLAM耗时5ms,目标跟踪10ms,box object(size:0.14×0.18×0.11m³,大约240个点,12个折痕,18个反照率边缘)5ms,迭代2次。
B. Occlusion masking
图4示出了运行期间的三个重要阶段。在处理的早期,已经建立了地图,并且插入和跟踪了对象。然而,它被发现是静止的。稍后,在子图(b)中,检测到对象正在移动,并且3D地图特征(在(a)中不存在)已经被标记为被遮挡。因此,它不会从地图中删除,在©中,对象仍在移动,但地图要素在遮挡后会重新出现,并会立即重新使用。
C. Effect on monoSLAM of avoiding mismatches
为了演示monoSLAM中仅一个误匹配对相机姿态的影响,图5比较了monoSLAM在使用对象跟踪器进行遮挡检测和不使用遮挡检测的情况下随时间恢复的相机姿态的六个分量。在大约帧450处,移动特征被包括在处理中。
D. Tracking drift
图6示出了测量跟踪漂移的实验的快照。MonoSLAM的校准图块粘附在一个窗口上,并建立了世界框架,y轴在场景中垂直,x轴向左水平,z轴相互垂直并指向场景。当相机任意移动时,物体首先围绕y轴顺时针旋转,然后逆时针旋转,返回其原始位置。然后物体沿着x轴来回平移。图6(a)示出了在检测到对象之前,两个3D地图特征在静止对象上(一个在折痕边缘上,另一个在遮挡边缘上)。在对象在(b)中被实例化之后,其扩张的凸包被用于删除两个特征。图6©示出了防止在移动的对象上初始化潜在的地图特征,以及(d)示出了修改后的RAPiD本身对遮挡有一定的鲁棒性。跟踪漂移是通过检查向前和向后移动到原始位置前后的物体姿态来评估的,并在表1中显示了每个轴。注意,该漂移是由SLAM估计的相机姿态漂移和相对于相机的物体姿态漂移的组合。
E. Correlation between lateral translation and rotation
虽然当物体返回到相同位置时,姿态误差很小,但是当测量两个不同姿态之间的变化时,精度就比较低。图7示出了来自先前实验的平移阶段的姿态数据。沿y轴和z轴的平移变化适当小(c和e),绕x轴和z轴的旋转也是如此(b和f)。然而,在[21]中提到的相关性在(a和d)、沿x的平移和围绕垂直面内轴y的旋转之间非常明显。在图像数据中,反向投影到场景中的这种部分模糊是固有的:相反,正向投影不受绝对姿态误差的太大影响,因此,重要的是,跟踪能力和描绘凸包的能力都不受影响。(请注意,( a)、©和(e)中约220毫米、10毫米和60毫米的偏移符合预期。对象和校准图块的原点位于各自的中心。)
5. CONCLUSIONS AND FUTURE WORK
本文提出了一种将单目视觉SLAM中的相机姿态信息包含到三维物体跟踪器中的方法,该方法反过来用于防止SLAM (i)将运动特征合并到其地图中,以及(ii)删除已知被物体遮挡的特征。本文通过实验说明了组合过程的操作,验证了恢复的三维信息的几何完整性,并使用不回避运动特征的稀疏地图来指示对monoSLAM中相机姿态的影响。避免移动图7。对象沿x轴、y轴和z轴的估计位置和方向,而对象仅沿x轴执行纯平移。在(a)沿x的平移和(d)围绕y点的旋转之间存在明显的相关性,允许静止但暂时被遮挡的点保留下来,以便再次可见时立即重用,这使得monoSLAM对动态环境更加鲁棒,并避免了不必要的计算。
我们在这里关注的是3D中的几何方法,主要是为了表明信息可以在SLAM和目标跟踪器之间双向交换。然而,尽管基于边缘的多面体跟踪在一些计量应用中可能是一个有用的工具,但是人们必须在其他地方寻找,以使其更广泛地适用,并且我们在未来工作中的目标是转向基于点的对象跟踪器,其中这些特征也可以充当描述符,以允许识别、姿势初始化和跟踪,并且允许这两个任务的可能更基本的集成。自动识别是根据物体的运动可能性对其进行分类的关键,如[15]所提出的那种,这反过来将允许可靠的静止物体被结合到地图中。根据图5中所示的实验,我们注意到关于静态对象的边界的信息总是有用的,因为它防止了包含出现并沿着遮挡边界人工移动的特征。
总结
- 使用的3D物体跟踪器是Harris’RAPiD[17]的改进版本;
- 3D对象是已知的,工作在于确定对象是否在移动,然后是使用凸包掩膜;
- 掩膜的三个处理策略:删除物体上检测的特征点,删除物体边缘点,标记预测为遮挡的点;
- 在恒速模型的假设下,有对相机和移动对象的位置预测。