[2018]Detect-SLAM_ Making Object Detection and SLAM Mutually Beneficial

[2018]Detect-SLAM: Making Object Detection and SLAM Mutually Beneficial

1.作者

Fangwei Zhong, Sheng Wang, Ziqi Zhang, Chen Zhou, Yizhou Wang

2.时间

2018

3.整体结构

解决的问题:

  1. SLAM系统在动态环境下失效;
  2. 目标检测对视角变换敏感。

是否能够将两者整合在一起,共享几何和语义信息,对两者来说都有利呢?
解决的方法:

  1. 利用语义信息消除动态目标在SLAM中的影响。
  2. 提出了一种实时传播每个特征点动态可能性的方法,解决语义信息传递时延的问题。
  3. 建立一个目标级的地图,由所有静止的目标组成。

应用ORB_SLAM和SSD组成Detect-SLAM.
在Detect-SLAM中,我们利用语义信息来消除SLAM中移动对象所带来的负面影响。为了克服目标检测线程的延迟,提出了一种实时传播关键点运动概率的方法。我们还构建了一个目标级的地图,一个由建图线程中检测到的所有静态对象组成的语义地图,这种对象图可以看作是一个包含对象类和位置信息的数据库。系统的流程图如图一所示:

Detect-SLAM建立在ORB-SLAM2基础上,它有三个主要的并行线程:跟踪、局部建图和闭环检测。与ORB-SLAM2相比,Detect-SLAM包括三个新的处理过程:
• 运动对象剔除
• 对象建图
• SLAM增强型目标检测

4.提出的方法

1.运动目标移除

在SLAM的跟踪线程局部地图线程消除运动目标,一旦检测到运动目标,比如:人,车,狗,不管他是运动的,还是不运动的,都将其视为潜在运动的,移除这个目标所在区域的特征点。
一个关键的问题:目标检测的效率很低,3FPS。
为了克服效率的问题,提出了两个有效策略:

  • 只在关键帧检测运动目标,然后在局部地图更新点运动的可能性,加速跟踪线程。
  • 通过特征匹配,匹配点扩张,传递运动可能性,在位姿估计之前移除运动目标上的特征点。

1)运动可能性

按照运动可能性将特征点分为四类:高概率静止,低概率静止,第概率运动,高概率运动。两种高置信度的点都是用于匹配点扩张,以将运动概率传播到那些相邻的未被匹配的点。在每个点通过传播得到运动概率后,移除所有运动的点,使用RANSAC滤除其他异常点用于位姿估计。

2)更新运动可能性


通过深度学习处理关键帧的彩色图像,同时跟踪线程传播帧与帧之间的运动概率,一旦目标检测的结果获得,插入关键帧到局部地图,更新局部地图的运动可能性。
如果地图点在关键帧中找到了对应的特征点,那么根据如下公式更新它的运动概率:

公式第一项表示在上一个关键帧更新之后的地图点运动的概率,如果该地图点是一个新的地图点,我们设置该项为0.5。地图点匹配到的关键点的运动状态为St(xi),如果关键点位于运动物体的检测框内,St(xi)=1,否则为0。a为影响因子,代表更相信之前的运动状态,还是更相信新的检测结果。本文设置为0.3。

3)运动概率传播


在跟踪线程,对于帧与帧之间特征点的运动概率估计,主要通过两种方式:

  • 特征匹配
  • 匹配点扩张
特征匹配

  1. 使用ORB特征,如果当前帧的特征点匹配上了前一帧的特征点,描述子距离足够小,则运动概率传递。
  2. 如果关键点和地图点匹配,也会传递相应的运动概率,在此情况下,如果上一帧的特征点和局部地图点都和匹配点构成匹配关系,则局部地图优先。
  3. 如果特征点没有找到匹配点,设置其运动概率为0.5.
匹配点扩张

高置信度的关键点传播到周围其他没有匹配关系的关键点,基于假设:在大多数情况下,一个领域内的运动状态保持一致性。
所以在特征匹配运动概率传递以后,选取高置信度的点,包括静止的、运动的,然后在高置信度点的领域内寻找未匹配的点,通过如下公式更新运动概率:

Pinit表示初始的运动概率,如果一个关键点周围存在多于一个高概率的关键点,则对所有点的影响进行加权求和。权值为到关键点的距离,误差设置为两种的运动概率之差。

2.建立对象级地图

1)区域ID预测

该部分实际是数据关联,即对每个检测的区域(对象)寻找和地图中已知的对象的关联还是建立新的对象。数据关联基于一个几何假设:如果是同一个物体,那么地图中该物体在当前帧的投影和检测结果应该是重合的,所以我们计算两个区域的交并比:其中。R1为检测区域,R2为投影区域。

如果交并比超过0.5,那么继续计算两个区域的深度投影误差:区域中每个像素的深度投影误差之和/区域的像素数量。深度似然高于阈值,则将匹配区域的物体ID赋予当前区域,否则赋予当前区域一个新的ID。

2)背景剔除和重建

因为检测框会包含很多背景点,所以利用Grad-cut算法剔除背景点,投影到检测框内的点作为前景,投影到检测框外的点作为背景。利用物体mask,计算物体的点云并根据估计的相机位姿将其转到世界坐标系中插入到地图中。

3)SLAM增强型目标检测

与传统的逐帧的目标检测方法相比,机器人在环境中多次从不同的角度观察同一个对象。通过将重建后的三维环境中的几何信息提供给目标检测,提高了目标检测的性能,保证了目标检测在空间上的一致性。如图所示:

我们将地图中的物体通过估计的相机位姿投影到当前帧形成一个Region Proposal,作为可能包含物体的候选区域。由于地图中的物体地图点都包含一个物体ID,所以投影到图像上也具有相同ID,我们通过物体ID的聚类实现候选区域选取。同时需要滤除一些由噪声产生的小区域。

5.实验

运行环境: Intel Core i7-4700 laptop with 16GB RAM and Nvidia GPU GTX960M (GPU只用于目标检测)

1)提高在动态环境下的定位精度和鲁棒性。

如图所示,第一行分别是我们的系统(红色)、RGB-D ORB SLAM(蓝色)和groundtruth(绿色)在fr3/w/xyz、fr3/w/half和fr2/flower中的估计轨迹。第二行是运行时关键点状态的显示。红色点代表动态关键点,绿色点代表静态关键点,每个关键点的半径反映每个状态的置信度。这些图像表明,我们的方法可以将大部分关键点逐帧精确地分为动态或静态两种状态。

为了评估系统的性能,将每种方法在数据集上运行5次然后取中位数,结果如Table 1所示。其中Ours1为本文方法没有上一关键帧匹配,Ours2为本文完整的方法,MR为一种运动目标移除的方法。

**MR:**Y. Sun, M. Liu, and M. Q.-H. Meng. Improving RGB-D SLAM in dynamic environments: A motion removal approach. Robotics and Autonomous Systems, (December):1–13, 2016
结论:可以看出本文的方法不仅能够通过语义信息使得基于特征的SLAM方法更加鲁棒,而且在处理一些具有挑战性的动态场景时,也具有可用性和有效性。
表二反映了运动目标移除每一步的运行时间:

2)SLAM增强型目标检测算法

本文提出的SLAM增强型目标检测算法的测试结果如图6所示,通过SLAM构建的对象地图,帮助提高目标检测在复杂条件下的识别效果。

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火柴的初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值