Towards Real-time Semantic RGB-D SLAM in Dynamic Environments 论文笔记

Towards Real-time Semantic RGB-D SLAM in Dynamic Environments 论文笔记

摘要

在本文中,我们提出了一个用于动态环境的实时语义RGBD SLAM系统,它能够检测已知和未知的移动物体。

为了降低计算成本,我们只对关键帧进行语义分割,以去除已知的动态物体,并保持一个静态地图,以实现强大的相机跟踪。此外,我们提出了一个高效的几何模块,通过将深度图像聚类为几个区域,并通过它们的重投影误差识别动态区域,来检测未知的移动物体。

第一批在低功耗嵌入式平台上实时运行的语义RGB-D SLAM系统之一

动态区域的检测方法:

通过使用K-Means算法将深度图像分割成几个区域来实现的,而动态区域则根据其平均重投影误差来识别。
与[17]在密集优化框架中使用几何聚类检测动态物体不同,我们直接从稀疏特征的重投影误差中识别动态区域,这导致更快的处理,并使其对动态内容更加强大。

一个处理未知移动物体并与语义SLAM框架相结合的有效和高效的几何模块

整体框架

在这里插入图片描述

黑色方框是根据ORB-SLAM2修改的跟踪阶段。绿色阴影框是我们为SLAM系统增加的阶段,包括语义模块和几何模块。语义模块对RGB图像进行语义分割,如果它是一个新的关键帧,然后删除关键帧和地图中潜在的动态物体。几何模块在深度图像上进行几何聚类,并根据重新投影的误差来识别移动物体。在这之后,只有静态特征被用于姿势估计。

A. 语义模块

语义模块采用了轻量级的语义分割网络SegNet[27]。只处理那些高度可移动的或潜在的动态物体,如人、汽车、自行车等。这些物体将从分割后的图像中移除,与之相关的特征点将不会被用于摄像机跟踪和地图构建。

(潜在动态物体全部移除可能会导致剩余特征点过少影响跟踪性能)

不对每一个新的帧进行语义分割,这是大多数现有的基于学习的动态SLAM方法的标准,而只在创建新的关键帧时进行。这大大降低了语义模块的计算成本,并帮助我们利用语义信息实现实时跟踪。此外,这个过程是在一个单独的线程中进行的,因此对整个跟踪时间没有太大的影响。

B. 几何模块

为了处理未知的移动物体,我们建议结合一个不需要物体的预先信息的几何模块。

我们首先使用K-Means算法将每个新的深度图像分割成N个集群,在三维空间中相互接近的点被归为一组。每个簇被假定为一个物体的表面,一个簇内的点共享相同的运动约束。因为一个物体可以被分割成几个聚类,所以不要求物体是刚性的,而大多数语义SLAM方法都有这种刚性假设。

对于每个集群cj,我们计算集群内所有特征点ui与它们在三维空间中的匹配对应点Pi的平均重投误差rj,如(1)所定义,其中m是cj中匹配特征的数量,Twc是相机姿势,π代表相机投影模型,ρ是一个惩罚函数。

在这里插入图片描述

(这个就是普通的计算重投影误差的公式,区别在于惩罚函数)

当一个集群的误差相对大于其他集群时,我们将这个集群标记为动态集群。所有处于动态聚类中的特征点都将被移除,不再参与相机姿态估计。

(使用点群的平均重投影误差作为判断是否动态的依据)

在这里插入图片描述

图3:动态物体检测的实例结果。

第一行显示了由语义模块(蓝色矩形的点)和几何模块(红色的点)检测的动态特征。

第二行是相应的语义分割结果。

第三行显示的是深度图像的几何聚类结果,动态聚类以红色突出。(a)和(b)显示两个模块都检测到了动态物体。©-(h)显示语义分割失败而几何模块成功。

可以看出,尽管在(a)和(b)中两个模块都能成功地检测到移动物体,但在(c)至(g)中,由于大的旋转、运动模糊或只有部分物体出现在图像中,语义分割失败。这些情况给语义分割带来了困难,而几何模块可以正常工作。以©为例,由于人的快速相对运动造成的严重运动模糊,语义分割网络在识别一个移动的人时失败了。而这个人身上的特征却被我们的几何模块成功地检测到了,因为动态部分的重投影误差比其余的静态区域大。

请注意,我们在图中只绘制了跟踪的地图点。几何模块检测到的动态移动物体有时并不完整,因为在物体的某些区域存在少数匹配的地图点。这也是几何学方法的一个局限性,它很难检测到移动物体的完整边界。

C. 关键帧和局部地图更新

由于一个新的帧是用关键帧和局部地图来追踪的,我们只需要确保分割的关键帧和局部地图只包含场景的静态部分。关键帧选择策略继承自原始的ORB-SLAM2系统

在跟踪过程中,当一个新的关键帧被选中时,我们在一个单独的线程中进行语义分割,并删除动态特征点。本地地图也会通过删除相应的动态地图点来更新。通过这种方式,我们维护一个关键帧数据库和一个只包含静态特征和地图点的地图。

D. 追踪

对每个新帧进行两阶段跟踪。

  • 首先对最近与当前帧重叠最大的关键帧进行初始跟踪,以获得初始姿态估计。由于删除了潜在的动态对象,关键帧已经被细化,所以这种初始估计将更加可靠。
  • 然后,将初始姿态估计用于几何模块的动态目标检测。通过几何模块去除当前帧中的动态点后,通过跟踪当前帧中观测到的所有局部地图点,得到更精确的局部光束平差姿态估计(BA)。由于语义模块还消除了局部地图中潜在的动态地图点,进一步降低了动态目标的影响,从而使姿态估计更加鲁棒和准确。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值