动态SLAM论文(4) — DS-SLAM: A Semantic Visual SLAM towards DynamicEnvironments

目录

1 Introduction

2 Related Works

A. 语义SLAM

B. 动态环境中的SLAM

3 System Introduction 

4 Experimental Results

5 Conclusions


摘要 —— SLAM被认为是智能移动机器人的基本能力。在过去的几十年里,许多令人印象深刻的SLAM系统已经被开发出来,并在特定环境下取得了良好的性能。然而,仍然存在一些问题尚未得到很好的解决,例如如何处理动态环境中的移动物体,如何使机器人真正理解周围环境并完成高级任务。本文提出了一种面向动态环境的稳健语义视觉SLAM(DS-SLAM)。DS-SLAM中有五个线程并行运行:跟踪、语义分割、局部建图、闭环检测和密集语义地图创建。DS-SLAM将语义分割网络与移动一致性检查方法相结合,以减少动态物体的影响,从而在动态环境中大大提高了定位精度。同时,还生成了密集的语义八叉树地图,可以用于高级任务。我们在TUM RGB-D数据集和实际环境中进行了实验证明,与ORB-SLAM2相比,DS-SLAM中的绝对轨迹精度可以提高一个数量级。它是目前高动态环境中的最前沿的SLAM系统之一。

1 Introduction

        在过去的几年中,视觉SLAM得到了广泛研究,因为图像存储了大量的信息,并且可以应用于其他基于视觉的应用,如语义分割和目标检测。目前视觉SLAM系统的框架已经相当成熟,通常由几个关键部分组成,如特征提取前端、状态估计后端、闭环检测等。此外,一些先进的SLAM算法已经取得了令人满意的性能,如ORB-SLAM2、LSD-SLAM等。

        然而,仍然存在一些问题尚未解决,例如,大多数现有算法都很脆弱。一方面,它们难以处理各种环境,如极度动态或复杂的环境。另一方面,它们的地图模型往往基于几何信息,如基于地标的地图和点云地图,因此它们无法提供任何对周围环境的高级理解。根据[3]的研究,SLAM正进入稳健感知时代,需要更多研究来实现真正稳健的感知和导航,以应对自主机器人。

        典型的SLAM方法只提供具有几何属性(点、平面等)的地图,它们之间没有语义属性的区别。然而,机器人需要语义信息来理解周围的场景。随着深度学习的发展,一些网络在语义分割方面取得了良好的性能。因此,将这些网络与SLAM结合起来可以生成语义地图,从而提高机器人的感知水平。

        SLAM系统在动态环境中的稳健性也是一个挑战。尽管现代SLAM系统在特定环境中已经取得了成功的演示,但周围环境的意外变化可能会破坏状态估计的质量,甚至导致系统故障。例如,环境中的动态物体,如行人,可能会对基于视觉的SLAM系统中的特征关联产生误导。尽管有些方法已经在基于激光的SLAM中减少了环境变化的影响,例如,一些方法将惯性测量单元与视觉SLAM结合以提高稳健性,但纯视觉SLAM中的问题仍未得到很好的解决。

        在本文中,我们着重讨论了通过将语义分割网络与光流方法相结合来减少基于视觉的SLAM中动态物体的影响,并同时提供了八叉树地图的语义表示[8],该地图可用于机器人的高级任务。DS-SLAM的概述如图1所示。

 图1 DS-SLAM的概述。原始RGB图像同时用于语义分割和运动一致性检查。然后去除异常值并估计姿态。基于姿态、深度图像和语义分割结果,在一个独立的线程中构建语义八叉树地图。

本文的主要贡献包括:

  1. 基于ORB-SLAM2[2]提出了一个完整的动态环境下的语义SLAM系统(DS-SLAM),可以降低动态物体对位姿估计的影响。通过在TUM RGB-D数据集[9]上对系统的有效性进行评估,结果表明,在动态环境中,DS-SLAM在准确性和鲁棒性方面明显优于ORB-SLAM2。该系统还与机器人操作系统(ROS)[10]集成,并通过在真实环境中对DS-SLAM进行测试来验证其性能。
  2. 我们在一个独立的线程中放置了一个实时的语义分割网络,结合语义分割和移动一致性检查方法,以过滤场景中的动态部分,如行人。因此,在动态场景中,定位模块和建图模块的性能在鲁棒性和准确性方面得到了改善。
  3. DS-SLAM使用一个单独的线程构建一个密集的语义三维八叉树地图[8]。这个密集的语义三维八叉树地图采用对数概率方法来过滤不稳定的体素并更新这些体素的语义含义。

2 Related Works

A. 语义SLAM

        由于纯几何地图无法提供周围环境的概念知识以促进复杂任务的完成,将语义概念与环境中的几何实体关联起来已经成为最近一个流行的研究领域。在许多先前的研究中,语义地图通常由两部分组成:几何部分和语义部分。随后,一组方法对对象识别子系统进行预先训练,并将语义信息附加到识别出来的对象模型上。Vasudevan等人[11]应用简单的朴素贝叶斯分类器识别场景类别,并基于预训练对象给出空间的分层概率表示。最近,Sengupta等人[12]提出了一种有效的3D模型描述方法,他们将八叉树嵌入到一个层次化的鲁棒马尔科夫随机场中,为地图中的每个体素提供语义标签。随着深度学习的出现,语义分割的结果得到了极大的改进。Sünderhauf等人[13]将卷积神经网络应用于三维点云分割,并基于最近邻方法将语义标签与对象相关联,然后添加或更新目标对象点云信息和下位类型置信度的地图。然而,他们的工作仅侧重于语义映射和对象识别,而未充分利用语义信息的其他部分。Bao等人[14]首次尝试利用场景中的几何和语义属性共同估计相机姿态、点和对象,从而显著提高对象识别的准确性。在本文中,语义信息不仅用于基于八叉树地图的环境表示生成,还用于在动态环境中的跟踪过程中过滤异常值。为了准确执行语义分割,我们使用语义分割网络来遵循最先进的工作线路。

B. 动态环境中的SLAM

        目前大多数SLAM方法的基本假设是环境是静态的。然而,在许多现实场景中存在着像人类这样的主动物体。因此,最初设计用于在静态环境中进行SLAM的最先进方法无法处理严重的动态场景。

        为了解决这个问题,在姿态估计之前,需要从静态部分中识别出动态物体并将其排除。在密集SLAM中,许多移动目标检测方法通常基于光流技术。如果图像中存在移动,就会产生光流,因此可以通过计算光流的不一致性来区分静态背景和移动目标。例如,Fang等人[15]使用最优估计和均匀采样方法来检测动态物体。尽管与其他种类的导数光流方法相比,它在时间上更高效,但其准确率较低且计算负载仍然很大,特别是在大幅图像中密集采样时。Wang等人[16]通过基于点轨迹对图像进行聚类来检测动态物体,并将其从能量函数最小化中排除。他们的方法鲁棒性强,但不能实时执行。

3 System Introduction 

        这节内容包含五个方面。首先,介绍了DS-SLAM框架的体系结构图。第二,我们对DS-SLAM中采用的实时语义分割方法进行简要介绍。然后介绍用于检查特征点运动一致性的算法。随后,演示了用于过滤动态物体的异常值拒绝方法,该方法结合了语义分割和移动一致性检查。最后,介绍了构建语义八叉树地图的方法。

A. DS-SLAM框架

        在实际应用中,准确的位姿估计和在恶劣环境中的可靠性是评估自主机器人的关键因素。ORB-SLAM2在大多数实际情况下具有出色的性能。因此,DS-SLAM采用ORB-SLAM2来提供一种基于全局特征的SLAM解决方案,使我们能够检测动态物体并生成语义八叉树地图。DS-SLAM的概述如图1所示。
        在DS-SLAM中,有五个线程并行运行:跟踪、语义分割、局部建图、闭环检测和稠密地图创建。系统的框架如图2所示。

图2 DS-SLAM的框架。局部建图线程和闭环检测线程与ORB-SLAM2相同。前者处理新的关键帧,并执行局部捆绑调整,以在相机姿态周围实现最佳重建,而后者搜索闭环,如果检测到闭环,则执行图优化。 

        通过Kinect2捕获的原始RGB图像同时在跟踪线程和语义分割线程中进行处理。跟踪线程首先提取ORB特征点,然后粗略地检查特征点的移动一致性并保存潜在的异常值。然后,跟踪线程等待由语义分割线程预测的像素级别语义标签图像。在分割结果到达后,根据结果和之前检测到的潜在异常值,将位于运动物体中的ORB特征点异常值丢弃。然后通过匹配剩余的稳定特征点计算变换矩阵。

B. 语义分割

        这个系统设计用于实际应用,所以实时性和准确性之间应该存在一种平衡。DS-SLAM采用SegNet [4]实现基于caffe [17]的像素级语义分割,以实现实时性。在基于PASCAL VOC数据集[18]训练的SegNet中,总共可以分割20个类别。在实际应用中,人类很可能是动态物体,所以我们假设位于人物上的特征点最可能是异常值。

C. 移动一致性检查

        由于运动分割耗时,而语义分割结果可以从另一个线程获取,我们只需要确定分割结果中的关键点是否在移动。如果某些点被确定为分割对象内的动态点,那么该对象可以被视为动态对象。本文中移动点检测的思想很直接。

  • 第一步是计算光流金字塔,以获取当前帧中匹配的特征点。
  • 然后,如果匹配对距离图像边缘太近,或者中心3×3图像块的像素差异太大,则丢弃匹配对。
  • 第三步是使用具有最多内点的RANSAC方法找到基础矩阵。然后通过使用基础矩阵在当前帧中计算对极线。
  • 最后,确定匹配点到其对应对极线的距离是否小于某个阈值。如果距离大于阈值,则确定该匹配点在移动。

        基础矩阵将上一帧中的特征点映射到当前帧中对应的搜索域,即极线。设p1和p2分别表示上一帧和当前帧中的匹配点,P1和P2表示它们的齐次坐标形式:

其中u和v是图像帧中的值。然后可以通过以下方程计算表示为I1的极线:

其中,X、Y、Z表示线向量,F表示基础矩阵。然后,匹配点到其对应极线的距离可以通过以下方式确定:

 其中D表示距离。检查运动一致性和确定动态点的算法如算法1所示,其中ε是预设的阈值。

 D. 异常值排除

        由于移动对象(如人)的灵活变形和复杂运动,运动一致性检查方法很难提取完整动态区域的轮廓,并且提取整个轮廓的时间成本非常昂贵。在DS-SLAM中,由于采用了语义分割网络,可以轻松获得对象的完整轮廓。我们的想法是将语义信息和运动一致性检查结果结合起来,完成两级语义知识库的建立:对象是移动还是静止。如果由运动一致性检查产生的一定数量的动态点位于分割对象的轮廓中,则确定该对象是在移动的。如果确定分割对象在移动,则删除位于对象轮廓内的所有特征点。通过这种方式,可以精确地消除异常值。此外,错误分割的影响也可以在一定程度上减小。此外,跟踪线程等待另一个线程的语义分割结果的时间可以充分利用。在等待期间,可以执行运动一致性检查。在下一节的实验结果部分,表格IV给出了DS-SLAM的消耗时间。可以看出,跟踪线程使用的时间大致等于语义分割线程的时间。

        由于人类活动严重干扰了机器人在大多数真实应用场景中的定位,并且语义分割网络能够识别的类别有限,我们将在本文的其余部分将人类视为动态对象的典型代表。理论上,DS-SLAM适用于任何多个被识别和分割的动态对象。

        在语义分割结果出来后,如果没有检测到人,则所有ORB特征将直接与上一帧进行匹配以预测姿态。否则,通过使用运动一致性检查结果来确定人是否在移动。如果确定人是静止的,则直接预测姿态,否则在匹配之前删除所有落在人的轮廓内的ORB特征点。这样,动态对象的影响可以显著减小。

E. 密集语义三维八叉树地图构建

        语义八叉树映射线程从跟踪线程获取新的关键帧,以及从语义分割线程获取的分割结果。使用关键帧的变换矩阵和深度图像生成本地点云。然后,将本地点云转换并存储在全局八叉树地图中。我们采用八叉树表示[8],因为它具有灵活、紧凑和可更新的特点。八叉树地图存储高效,且易于用于导航。

        语义信息也被融合到八叉树地图中。八叉树地图中的每个体素都与特定颜色相关联,每种颜色代表一个语义标签。例如,红色体素表示属于沙发,而粉色体素表示属于人。建模和语义融合的所有过程都以概率方式进行,因此方便更新体素的属性。这样,密集语义三维八叉树地图可以为移动机器人完成高级任务提供基础。

        DS-SLAM面向处理动态环境,因此地图中不应存在动态物体。语义分割结果可以帮助我们有效地过滤出动态物体。然而,语义分割的准确性是有限的。在复杂情况下,例如物体相互重叠,语义分割结果可能是不完整甚至错误的。为解决这个问题,DS-SLAM使用了log-odds得分方法[8]来最小化动态物体的影响。log odds得分用于定量地表示一个体素被占据的可能性。设表示一个体素被占据的概率,表示该概率的log odds得分。可以通过 logit 变换计算得到:

 反向变换:

表示时间 t 时刻体素 n 的观测结果,且其从开始到时间 t 的 log odds 得分为。那么在 t+1 时刻,体素 n 的log odds得分可以根据以下公式计算:

 其中,如果在 t 时刻观测到体素 n 被占据,则等于,否则为0。增量是预定义的值。该公式表示,当体素多次被观测到被占据时,其log odds得分会增加,否则会减少。一个体素的占据概率 p 可以通过反向 logit 变换计算得到。只有当占据概率 p 大于预定义的阈值时,该体素被认为是占据的,并将在八叉树地图中可视化。换句话说,已经观测到多次被占据的体素被认为是稳定占据的体素。通过这种方法,我们可以很好地处理动态环境下的地图构建问题。

4 Experimental Results

        本节将展示实验结果,以证明DS-SLAM的有效性。我们测试了每个模块所需的时间,并使用公共的TUM RGB-D数据集在动态环境中评估了DS-SLAM的性能。TUM RGB-D数据集中包含动态对象的序列是具有挑战性的,因为观察中的移动人员可能会破坏SLAM算法的鲁棒性和准确性。在极端情况下,移动的人员占据了图像的一半以上。我们还将DS-SLAM与ROS集成,并在典型的动态环境中在物理机器人上进行定性演示,以评估其实时性能和密集语义三维八叉树地图创建模块。所有实验都在一台装有Intel i7 CPU、P4000 GPU和32GB内存的计算机上进行。物理机器人是TurtleBot2,图像序列由Kinect V2相机捕获。

A. 使用TUM RGB-D数据集进行评估

        TUM RGB-D数据集[9]提供了几个在动态环境中的序列,其中使用外部运动捕捉系统获得准确的地面真值,如行走、坐姿和桌子。我们的实验主要使用行走序列,因为一些人在行走序列中来回走动。这些序列中的人可以视为高动态物体,它们是最难处理的。我们也使用了坐姿序列,但它们被认为是低动态序列,因为其中的人只是稍微移动一下。

        DS-SLAM采用ORB-SLAM2[1]作为全局SLAM解决方案,它被认为是目前最优秀和稳定的SLAM算法之一,所以我们对它们进行了比较。使用度量指标绝对轨迹误差(ATE)和相对姿态误差(RPE)进行定量评估。ATE指标代表轨迹的全局一致性,而RPE指标衡量平移和旋转漂移[9]。

        定量比较结果如表I-表III所示,其中第一列的xyz、static、rpy和half代表四种类型的相机自运动[9],例如,xyz表示相机沿着x、y、z轴移动。在本文中,我们提供了RMSE、平均误差、中位误差和标准偏差(S.D.)的值,但更注重的是RMSE和S.D.,因为它们可以更好地指示系统的鲁棒性和稳定性。我们还展示了DS-SLAM相对于原始ORB-SLAM2的改进值。表中的改进值计算如下:

其中η代表改进值,o代表ORB-SLAM2的值,r 代表DS-SLAM的值。

        从表I-表III可以看出,DS-SLAM可以使大多数高动态序列的性能得到一个数量级的改进。在ATE方面,RMSE和S.D.的改进值分别可以达到97.91%和97.94%。结果表明,DS-SLAM可以显著提高高动态环境下SLAM系统的鲁棒性和稳定性。然而,在低动态序列中,例如fr3_sitting_static序列,性能的改进并不明显。我们认为原因是原始的ORB-SLAM2可以轻松处理低动态场景并取得良好的性能,因此可以改进的空间有限。

        图3和图4分别显示了ORB-SLAM2和DS-SLAM在高动态fr3_walking_xyz序列中的选定ATE和RPE曲线。正如我们所看到的,DS-SLAM中的误差显著减少。

        对于实际应用而言,实时性是评价SLAM系统的关键指标之一。我们测试了一些主要模块处理所需的时间。结果如表IV所示。每帧在主线程中处理的平均时间为59.4毫秒,包括语义分割、视觉里程计估计、位姿图优化和密集的三维语义八叉树地图创建。与之前的非实时方法(如[19])用于过滤动态物体相比,DS-SLAM更满足实时需求。

B. 在真实环境中的评估

        为了展示DS-SLAM的稳健性和实时性能,在实验室环境中将其与ROS集成,并进行广泛的实验。图5定性地展示了异常值排除的结果。从上到下依次为ORB特征提取结果、基于光流的移动一致性检查结果、语义分割结果和排除异常值后的图像。绿色点表示ORB特征点的位置,红色短线表示光流的方向。从图中可以看出,通过移动一致性检查确定人物在移动,然后有效地移除在移动人物区域内的特征点。这张图在彩色显示下效果更好。

 图5 异常值排除的结果

        图6展示了密集的三维语义八叉树地图重建结果。红色体素代表沙发,蓝色体素代表显示器。由于采用了log-odds评分方法来过滤地图中不稳定的体素,因此重建结果不受行人移动的影响。此外,八叉树地图还生成了二维代价地图,可用于导航。 

 图6 密集的三维语义八叉树地图重建

5 Conclusions

        本文提出了一个完整的实时稳健语义SLAM(DS-SLAM)系统,可以减小动态物体对位姿估计的影响,并同时提供八叉树地图的语义表达[8]。DS-SLAM中有五个线程并行运行:跟踪、语义分割、局部建图、闭环检测和密集地图创建。实时语义分割网络SegNet结合移动一致性检查来过滤场景中的动态部分,如行人。然后,匹配的特征点将被移除到检测到的动态区域之外,从而提高了在动态场景中的稳健性和准确性。此外,密集的语义三维八叉树地图采用对数几率得分方法来过滤不稳定的体素,并可以用于机器人的导航和复杂任务。系统对动态物体的有效性通过TUM RGB-D数据集中具有挑战性的动态序列进行了测试。结果表明,在高动态环境中,DS-SLAM在准确性和稳健性方面明显优于ORB-SLAM2。该系统还与机器人操作系统(ROS)集成,通过在真实环境中对DS-SLAM进行测试,验证了其性能。

        然而,DS-SLAM仍然存在一些正在进行的工作。例如,语义分割网络能够识别的对象类型受到限制,这限制了其应用范围。当检测到闭环时,八叉树地图必须重新构建。在未来,我们将通过优化移动一致性检查方法来提高DS-SLAM的实时性能。此外,密集的语义八叉树地图将被采用用于移动机器人完成高级任务。

猜你喜欢

转载自blog.csdn.net/qq_41921826/article/details/131490474