OD-SLAM: Real-Time Localization and Mapping in Dynamic Environment through Multi-Sensor Fusion 论文笔记

OD-SLAM: Real-Time Localization and Mapping in Dynamic Environment through Multi-Sensor Fusion 论文笔记

论文原文地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9195374

Abstract 摘要

本文提出了一种新型的SLAM系统,它主要利用神经网络多传感器融合来实现机器人在动态环境下的定位。该SLAM系统是基于ORB-SLAM2开发的。它通过神经网络识别出图像中的高动态物体,并将其从图像中移除。由于神经网络不能每次都准确地识别动态物体,它将影响SLAM系统的姿势估计。因此,本文提出的SLAM系统利用里程计对图像中提取的特征进行约束,从而获得静态特征,最终估计出更准确的姿态。最后,实验结果表明,与传统的视觉SLAM系统和其他动态SLAM系统相比,我们的系统具有更好的实时性准确性

Introduction 引言

当一个动态物体被识别时,一般有两种处理方法。

  • 一种是对图像中的动态物体进行屏蔽,然后提取屏蔽后图像上的特征。这种方法可以保证提取特征的数量,从而提高SLAM系统跟踪该帧的概率。但实时性会很差,因为它需要等待神经网络获得的语义图像,然后再提取特征。
  • 另一种是先从图像中提取特征,然后观察提取的特征是否在动态物体上,最后去除动态物体上的特征。如果动态物体的图像纹理很丰富,很多特征就会被去除,剩下的用于跟踪的特征就会比较少,这就可能导致跟踪失败。(可以提取线特征、光流场定位进行补充)这种方法的优点是可以提高SLAM系统的实时性能,因为特征提取和动态物体识别可以同时进行。

本文中主要工作

  • 本文提出了一种基于多传感器融合的动态环境下的SLAM系统。
  • 本文提出了一种利用惯性导航姿态来约束视觉导航特征的方法。
  • 本文建立了一个包括车辆惯性导航和RGB-D图像的姿势的数据集来测试OD-SLAM的效果。

System Description 系统描述

图1:
在这里插入图片描述

图1是OD-SLAM的框架,它是基于ORB-YGZ-SLAM开发的,ORB-YGZ-SLAM是ORB-SLAM2的快速版本,OD-SLAM修改了ORB-YGZ-SLAM的跟踪线程。

而与ORB-SLAM相比,OD-SLAM增加了两个输入信息,即语义图像和里程计的姿势。

(语义信息用于去除图像中的动态物体,而里程表姿态信息则用于过滤图像中提取的特征。)

A. System module 系统模块

OD-SLAM首先识别关键帧图像中的动态物体,然后对图像中的动态区域进行屏蔽,最后利用屏蔽后的图像提取特征。如果动态物体被成功识别,大部分特征不会出现在动态物体上,只有少量的特征会出现在动态物体上(取决于识别区域是否正确)。OD-SLAM使用的基于Caffe框架的SegNet网络, 该模型具有良好的实时性,但语义分割的准确度较低,所以识别可能会失败。

由于分割的效果不好,为了进一步减少动态物体对姿态估计的影响,OD-SLAM首先使用特征重投影约束,其次是对极几何约束,最后对剩余的特征使用RANSAC算法,得到被认为是静态的特征。实验结果表明,OD-SLAM选择的特征很少出现在动态物体上。最后,我们需要再次跟踪当前帧,因为特征及其相应的描述符已经发生了变化,所以所有使用以前的特征和描述符产生的信息都应该被更新。

遮蔽后,虽然特征没有出现在动态物体上,但提取的一部分特征是在遮挡区的边缘部分。这是因为遮挡区的边缘部分是高度渐变的,**ORB特征使用BRIEF描述符,主要是通过比较中心像素点p的任何邻域的256对像素之间的差异来生成二进制描述。**很明显,这些特征的描述符会受到遮罩区的影响。因此,我们删除了遮罩区边缘的特征。

OD-SLAM只用语义图像对关键帧的图像进行遮蔽。其他帧不使用语义图像进行遮蔽,而是直接提取特征并与关键帧的特征相匹配。这可以提高OD-SLAM的实时性能

B. Feature Constraint 特征约束

首先,OD-SLAM使用Savvy移动汽车的里程表获得的姿势来约束OD-SLAM提取的特征,所以我们需要保证里程表的姿势是相对准确和可靠的。虽然里程表在很长一段时间内估计的姿势是不准确的,但是在两帧之间估计的里程表的姿势是相对准确的

OD-SLAM利用姿势来过滤特征,保留那些与当前姿势相匹配的特征,从而确保系统不会因为场景中的动态物体而出现大的漂移。

由于时间与当前帧不同步,当前姿态由插值获得。定义W为世界坐标系,V为汽车参考系,C为摄像机参考系,r为参考帧,c为当前帧。

在这里插入图片描述

OD-SLAM通过四元数的球面插值和平移矢量的线性插值获得汽车的当前姿势T Vc W。根据摄像机和汽车之间的内部参数T CV,可以根据公式(3)计算出当前帧的姿势T Cc W。

而根据参考帧的姿态T Cr W,两帧之间摄像机的姿态T Cc Cr可由(4)得到,这是由汽车的姿态估计的两帧之间的摄像机姿态。然后,两帧之间的基本矩阵F可以通过公式(5)计算。
在这里插入图片描述
此时,OD-SLAM可以通过公式(7)将匹配的地图点PW变换到当前帧的相机坐标系中,得到PC,再通过下图所示的相机模型得到投影坐标puv,最后根据(9)计算出特征的重投影误差er。考虑到用于特征约束的姿势存在一定的误差,重投影误差的范围设定为5像素。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然而,为了重新投影地图点,OD-SLAM需要有深度信息的相应特征,但这种特征较少。

因此,根据对极几何原理,ODSLAM使用得到的基本矩阵F,判断当前帧的特征是否在相应的表极线上。如果当前帧的特征只是沿外极线方向移动,如果当前帧的特征只是沿着表极方向移动,即使该特征是在一个动态物体上,也不会被移除。

个人理解就是判断极线方向,如果动态物体和相机相对静止,那么动态点也会被判别为静态点,但是这种情况是少数,因此大多数动态离群值可以被除去

Experimental Results 实验结果

首先比较了使用语义分割、重投影误差和对极几何三个buff下的不同RMSE误差值。

然后比较了动态数据集上不同SLAM系统的RMSE误差,动态场景下OD-SLAM的误差小于ORB-SLAM

虽然OD-SLAM使用神经网络进行语义分割,但系统的实时性能并没有下降很多。因为OD-SLAM只在系统需要提取特征时才等待语义分割的结果,而且OD-SLAM可以通过光流法跟踪特征来估计姿势。因此,它既不经常提取特征,也不经常使用语义分割图像。对于其他许多动态SLAM系统来说,它们对每一帧图像进行处理,所以实时性很差,特别是那些使用耗时的神经网络模型的系统。那些使用耗时的神经网络模型的动态SLAM系统处理一帧图像的时间将超过100ms。

Conclusion 结论

本文提出了一种多传感器融合的方法来解决传统的视觉SLAM在动态场景中不能正常工作的问题。它利用其他传感器,如里程表,获得汽车的姿态,并处理从图像中提取的特征,获得静态特征。这种方法可以在神经网络识别失败的情况下使用,从而避免视觉SLAM系统估计出错误的姿势,使机器人做出错误的判断。实验证明,该方法非常有效,OD-SLAM具有良好的实时性,系统的精度很高。这将对机器人导航的研究起到良好的作用,如[24]-[27]。未来,我们将使用扩展的卡尔曼滤波器来耦合里程表姿态和摄像机姿态,并修正里程表模型,以获得更精确的姿态。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值