[2019]Semantic Monocular Visual Localization and Mapping Based on Deep Learning Dynamic environment

[2019]Semantic Monocular Visual Localization and Mapping Based on Deep Learning in Dynamic environment

1.作者

Linhui Xiao, Jinge Wang, Xiaosong Qiu, Zheng Rong, Xudong Zou

2.时间

2019

3.整体结构


  1. 运动目标检测线程使用SSD目标检测网络去计算目标的分类和位置。
  2. 通过语义校正线程将目标分为静止的或者运动的。
  3. 追踪线程可以提供动态目标的位置。

4.整体思想

1.漏检补偿算法

目标检测可以用精度(P)和查全率(recall)来衡量,作者认为对于动态SLAM系统查全率更加重要:

在SSD中添加了一个L1平滑损失项:

这里给出了一个假设:在短时间内,运动目标的速度趋近于一个常量,也就是说加速度为0。
其中,运动目标在像素平面上的速度为:v,加速度的阈值为a_max,则满足如下关系:

运动速度v用运动目标几帧之间的运动位移来表示,在实际中,在视频序列中相邻两帧的时间差异非常小,动态目标的运动位移变换不明显。
通过如下公式预测第K帧bounding box的位置:

  • bounding box:

  • 当前K帧中心点的位置=上一帧中心点的位置+前几帧该物体位移的平均值

  • 目标存在的可能区域如下:由a_max确定。

  • 目标存在的可能区域的中心点位置=上一帧物体位置+前几帧该物体位移的平局值±最大加速度阈值


算法1:遍历当前帧中上一帧出现过的物体的bounding box的list,预测这些物体在当前帧中可能存在的区域A,然后遍历当前帧所有实际检测到的bounding box判断是否在A中,如果在A中,计算中心位移,否则预测D,然后将D的结果添加到当前帧中的D_K中去,更新D_k。

  • 这里最开始判断当前帧实际检测到的bounding box是否落在上一帧通过预测后得到的区域中,如果这些框没有落在我预测的区域中,那么就根据上一帧的中心点直接预测,换句话说,先检测实际的,不行就自己预测。


漏检补偿算法的效果,对追踪目标非常重要。

2.基于先验信息判断动态目标

根据人的先验信息,生活中一般物体运动的分数:

这是一个最大后验概率问题,当前一帧的bounding box被检测为运动的,那么当前帧也会被重复检测为运动的(这没太看懂,好像初始化的时候用的)
根据贝叶斯公式得到:

然后第K帧由前K-L帧决定,由此扩展条件概率公式:

3.目标检测和追踪


并不是所有特点都可用于追踪,但也并不是所有运动目标上的特征点不能用于追踪,这里有两种特殊情况:

  1. 是潜在运动目标,但是没有动,比如停放的车辆。
  2. 运动目标占据了视野的大半部分。

首先,将动态目标区域的mask设置为1,静止区域设置为0:

计算静止点的平局位移S_L(u,v):

接着计算潜在运动区域的位移,判断是否超过S_L(u,v)

算法2:选择跟踪算法,遍历当前帧所有的特征点,计算静止点的平均位移,对于潜在运动的区域通过和其静止点的平均位移进行比较,判断是否为动态的点。

对于静止的点,使用PnP求解位姿Pose,然后使用BA最小化重投影误差:

5.结果

1.SSD的校正


在TUM RGB-D benchmark的walking_rpy的序列中,和原SSD进行召回率对比:

方法召回率漏检率
原方法82.3%17.3%
改进后99.8%0.2%

实验表明,漏检补偿算法能够提高目标检测的召回率。

2.与原ORB_SLAM2对比

  • 图7表示,本文的方法和原ORB_SLAM2提取特征点差异性

  • 图8表示,两种方法建图的效果,ORB_slam2在经过一定的移动后,就停止了,尺度发生严重的漂移,红色的地图点不在更新,如图8左。

  • 图9表示,场景中静止点和运动点数量的比例,其中每帧大约3090个特征点,动态的点大约占74.11%,比静止的特征点多47.93%。

3.初始化测试

当相机固定,在初始化时测试动态目标的影响,可以看出ORB_SLAM2不能在动态环境下分辨前景目标和背景目标。反而,Dynamic-slam 能够检测动态目标的位置并且避免错误的初始化。

接下来,相机轻微的摆动,而且人与相机的位置不断改变,重复20次,结果显示,ORB_SLAM2能够初始化15次,成果比例为75%,而Dynamic-SLAM能够初始化19次,成功率为95%,这个方法提高了在动态环境下的初始化,因为动态目标被先验知识和训练网络检测到了。

4.在室内Tum数据集上测试

  • 效果

  • 精度的对比

  • 时间的对比




5.在室外数据集上测试



6.真实数据采集

  • 平台


  • 实验

6.结论

这是一篇利用深度学习去提高SLAM在动态环境下性能的工作,主要采用的单目视觉,有以下贡献:

  1. 在低召回率的目标检测网络下,提出了漏检补偿算法(基于速度不变性)。
  2. 提出了一种简单有效的选择性追踪算法,能够提高系统的精度和鲁棒性。
  3. 结合先验知识和深度学习去检测动态目标,实现语义级的检测。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

火柴的初心

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

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

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

打赏作者

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

抵扣说明:

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

余额充值