动态SLAM论文(1) — A survey: which features are required fordynamic visual simultaneous localization

目录

0 Introduction

1 Existing surveys on dynamic SLAM or its components

2 Article organization

3 Low-level-feature-based dynamic SLAM     

4 Robust SLAM

5 SLAMMOT

5.1 Multi-motion segmentation

5.2  Dynamic feature reconstruction and 3D object tracking

5 Using high-level features in dynamic SLAM

6 Robust SLAM

6.1 Using high-level features as semantic priors for low-levelfeature-based SLAM

6.2 Using high-level features in object SLAM

7 SLAMMOT

7.1 Using high-level features in point-based SLAM

8 Conclusions


摘要:近年来,动态环境下的同时定位与建图(动态SLAM)引起了学术界和工业界的广泛关注。一些开创性的工作扩展了机器人应用的潜力。与静态世界假设下的标准SLAM相比,动态SLAM将特征分为静态和动态两类,并适当利用每种类型的特征。因此,动态SLAM可以为在复杂动态环境中操作的智能机器人提供更强大的定位能力。此外,为了满足一些高级任务的需求,动态SLAM可以与多目标跟踪相结合。本文从特征选择的角度对动态SLAM进行了调查。本文还讨论了不同视觉特征的优缺点。

关键词:动态同时定位与建图、多目标跟踪、数据关联、目标同时定位与建图、特征选择

0 Introduction

        为了让智能机器人与人类一起工作,机器人必须能够确定自己的位置。同时定位与建图(SLAM)是解决这个问题的常用方法。在缺乏全局位置信息的区域,如隧道和室内场景中,SLAM被认为是智能机器人自我定位的重要技术。基于视觉的SLAM(VSLAM)的主要问题是从具有时间关系的图像序列中提取和匹配一系列视觉特征,以及如何利用这些特征同时估计相机姿态并构建一致的未知场景的三维结构。为了解决这些问题,V-SLAM系统通常包含一组通用模块,包括特征跟踪、地图构建和闭环检测以进行误差漂移校正。这些模块的实现细节因许多因素而异,包括所使用的视觉传感器类型、特征利用和优化方法。 

        V-SLAM使用多种类型的相机,包括单目相机、立体相机、RGB-depth(RGB-D)相机和事件相机仅使用单目相机的SLAM不能直接估计全局尺度,必须依赖于附加传感器(如惯性测量单元(IMUs))或附加先验(如形状先验)来克服尺度歧义然而,对于重量受限的微型飞行器来说,单目相机是最合适的选择,因为它重量轻、功耗低、价格便宜。相比之下,RGB-D SLAM可以直接获取深度信息并估计全局尺度,但它对光线非常敏感,这限制了它在大多数室外场景中的应用立体SLAM可以根据左右相机之间基线的长度直接估计深度和全局尺度。立体相机模型中深度估计的精度严重依赖于基线的长度,这限制了它们在便携式移动设备中的应用与上述三种传统相机类型不同,事件相机是受生物启发的。事件是独立像素亮度变化的时间戳。事件相机可以异步地直接捕捉事件,具有比传统相机更低的延迟和更高的动态范围。因此,事件相机可以用于解决困难任务,如快速和动态障碍物避免。

        从匹配使用的特征信息量的角度来看,视觉特征可以分为两个级别:低级特征,如像素块、点或线,和高级特征,如语义标记对象。不同特征从不同角度描述场景。低级特征关注局部细节,如纹理或物体和场景的几何基元。高级特征将细节整合到语义标签中,更接近人类对世界的理解。本文回顾了最近在动态环境中解决SLAM问题的方法,以探讨不同特征级别的优缺点。

        从优化的角度来看,SLAM可以分为两类:基于滤波器的SLAM和基于帧的SLAM。前者边缘化过去的姿态并使用概率分布总结随时间获得的信息。相反,后者仅选择少量过去的帧并对这些帧应用bundleadjustment(BA)。尽管许多基于帧的SLAM方法已经证明BA方法在V-SLAM中更有效,但基于滤波器的方法仍然值得研究,因为它们在处理深度估计[8]、传感器融合[9]、动态特征确定[10]和强大地图管理[11, 12]方面具有天然优势。

        在静态或近似静态纹理场景中,V-SLAM问题可以优雅地解决。在这种情况下,有足够的背景特征进行自我估计。然而,在更复杂的现实环境中,如拥挤的走廊或商场,经典SLAM产生了差结果,因为它不能正确处理动态特征[13]解决这个问题有两种方法。第一种是剔除动态特征/对应项作为异常值,这被称为鲁棒SLAM问题(鲁棒部分)。第二种方法是集成SLAM和多目标跟踪(MOT),这被称为SLAMMOT问题(SLAM MOT部分)。直观地说,利用动态特征估计相机姿态而不是简单地剔除它们更加稳健和有意义。这是因为SLAM问题与物体检测[14]和MOT[15]密切相关。换句话说,这些方法可以互相受益。物体检测和MOT可以分别用于高级特征SLAM中的特征提取和数据关联。相反,SLAM可以基于相机姿态和物体姿态促进物体检测和MOT以实现更准确的检测和跟踪。

        从实际应用的角度来看,在视图中估计对象状态对于机器人做出正确决策并与人类进行交互非常重要。例如,知道行人和其他车辆的状态可以帮助无人驾驶汽车做出更可靠的决策并防止交通事故。此外,MOT为移动电话提供了使用增强现实(AR)呈现移动对象的能力。

        本文从特征使用的角度全面讨论和比较了动态环境下视觉SLAM的各个组成部分。此外,分析了SLAM和MOT之间的潜在关系。此外,将强调不同相机和优化方法在动态SLAM中的优缺点。还将讨论不同类型特征在动态环境中的优劣势。

1 Existing surveys on dynamic SLAM or its components

        本文综述了几篇与动态SLAM相关的最近研究,如表1所示。Xia等人[18]对基于语义的V-SLAM进行了研究。Chen等人[19]讨论了深度学习在SLAM中的应用。Saputra等人[16]确定了动态SLAM的三个主要问题,并将动态SLAM分为三类,包括鲁棒的视觉SLAM、动态物体分割和3D跟踪,以及联合运动分割和重建。在一篇最近的基于特征的SLAM综述中,Azzam等人[2]讨论了在SLAM中使用的各种特征的优缺点。本文还讨论了基于Saputra等人[16]和Azzam等人[2]杰出工作的动态SLAM。在本文中,特征指的是二维特征,地标指的是重建的三维特征。

2 Article organization

本文的主要问题是处理动态数据关联。通过选择是否剔除动态对应关系或使用它们来跟踪物体,动态SLAM问题可以被视为鲁棒性问题或标准SLAM的扩展[16]。本文的其余部分组织如下:

  • 低级特征为基础的动态SLAM部分讨论如何在动态环境中仅利用低级特征。
  • 在动态SLAM中使用高级特征的部分讨论高级特征在动态SLAM中的功能。
  • 最后,讨论不同级别特征的优缺点以及动态SLAM的困难。

表2提供了最近鲁棒SLAM系统的简明概述。鲁棒SLAM存在许多困难,包括鲁棒地判断动态特征、处理遮挡、保持地图的长期一致性以及在剔除动态特征时处理少量有效点特征。详细内容在鲁棒SLAM部分中讨论。在鲁棒SLAM部分的讨论部分提供了低级特征和高级特征的比较。

 系统属性:系统的骨干(Backbone),

相机类型(CT):RGB-D(D)、单目(M)、立体(S),

环境(Env):室内(I)、室外(O)

实现细节:运动分割方法(MS):重投影误差(RE)、极线(E)、匹配和预测的3D地标之间的距离(3DE)、语义信息(SI)、深度信息(DI)、光流(OF)、三角测量(T)。

高级特征提取器(HE):语义分割网络(S),目标检测网络(O)。

实际考虑:使用概率模型或动态得分(权重)来判断动态特征(P/S),长期一致性(LC),处理低纹理或静态点特征较少的人造场景(HL)。*极线约束仅用于点特征。

表3提供了最近SLAM MOT系统的简明概述。本文讨论的主要困难包括处理缺失数据、解决单目系统的相对尺度问题以及针对噪声测量的概率数据关联。详细内容在SLAM MOT部分中讨论。在SLAM MOT部分的讨论部分提供了低级特征和高级特征的比较。

        系统属性:相机类型(CT):RGB-D(D)、单目(M)、立体(S),

        环境(Env):室内(I)、室外(O),

        对象数量(ON):单个(S)、多个(M)。

        对象运动类型(OMT):刚体(R)、非刚体(NR)、

        运动知识(MK):需要关于对象运动的知识(O),需要关于相机运动的知识(C),不需要关于运动的知识(-)。

        细节:多运动分割(MMS):子空间聚类(SSC)、多运动拟合(MMF)、语义信息(SI)。

        对象SLAM的高级数据关联(HD)低级特征为基础的方法(L)、基于神经网络的方法(NN)。

        对象SLAM的高级特征提取器和(HE):语义分割网络(S)、对象检测网络(O)。

        优化方法(OM):联合优化(J)、分离优化(S)。

        实际考虑:处理丢失数据(例如由于遮挡、丢失跟踪、运动模糊)(HMD)。

        解决相对尺度问题(SR):与相机类型无关(I)。不需要形状先验知识(NP)。

        概率数据关联(PD)。密集重建(DR)。

        1.无法解决单目相机的相对尺度问题;2.可以使用多区域BA实现MOT;3.相机运动信息来自IMU。

3 Low-level-feature-based dynamic SLAM     

   低级特征主要包括点特征和线特征。点特征被广泛应用于纹理场景中的SLAM系统,由于其卓越的性能。最近的工作表明,利用点和线特征可以基于它们的互补性实现鲁棒的SLAM系统。因此,本文主要关注点和点线结合的动态环境下的SLAM。

        对于线特征匹配,线段检测器和线二进制描述符的组合已经广泛应用于许多点线SLAM系统中。此外,深度学习也用于为线段设计新的描述符。与点相比,检测和匹配线段需要更高的计算负担。因此,使用基于描述符的方法跟踪运动物体上的线段效果不佳。

        本文将从两个角度讨论低级特征为基础的动态SLAM的实现细节:剔除动态特征(包括点和点线特征,在鲁棒SLAM部分)或利用它们(主要关注点特征,在SLAM MOT部分)。

4 Robust SLAM

        为了正确剔除动态特征,鲁棒SLAM必须准确区分动态和静态特征,这被称为运动分割。可以使用各种方法来解决这个问题。根据用于基于低级特征的动态SLAM的信息,现有方法可以分为光流方法、几何方法和基于运动的方法。

        光流方法可以用于跟踪移动物体或估计相机姿态。

        对于点特征,光流是由像素强度的时间导数定义的。在静止相机或静止环境中,这种方法被广泛应用于跟踪移动物体或估计相机姿态。在动态SLAM系统中,相机和环境中的物体可能是动态的。一种直观的方法是先估计相机自运动,然后使用预测和测量图像之间的光流来检测移动物体。然而,这是一种先有鸡还是先有蛋的问题。Zhang[23]等人提出了一种方法来克服这个困难,即使用深度和强度信息以粗到细的方式估计相机自运动,然后使用场景流来检测动态特征。

        对于线特征,Faugeras[66]等人提出了一种完整的描述线条3D和2D运动关系的方法。与点特征的光流相比,直线光流由2D线条和相机光心定义平面的法向量的时间导数表示。这种方法已经用于多运动分割和3D检测,但迄今为止还没有在动态SLAM中使用。几何方法使用几何约束设置阈值来检测动态特征。对于点特征,可以从极线方程、反投影光线等推导出约束。

        几何方法使用几何约束设置阈值来检测动态特征。

        对于点特征,可以从极线方程、反投影光线(三角化)、相机姿态估计或重投影误差中推导出约束。

        首先,假设所有特征都是静态的。在这种假设下,可以估计出极线、三维地标位置(最小二乘解)、相机姿态或投影。然后,可以计算估计值和测量之间的误差,并根据预设阈值检测动态特征。对于点特征的几何方法已经被Saputra and Trigoni [16]彻底讨论过。对于线特征,可以使用RGB-D相机重建3D地标结构并使用静态点特征获得初始相机运动,然后预测新帧中的线的姿态,并根据匹配和预测3D线之间的距离来检测动态线特征。运动分割方法利用相机运动可以约束静态特征的事实。由IMU提供的自身运动信息可以轻松区分静态特征和动态特征。此外,这种方法可以与上述两种方法相结合。Kim et al. [75]使用IMU来补偿相邻图像之间的旋转,然后计算运动向量。这些动态特征根据阈值进行过滤。目前还没有使用IMU信息的基于点线的动态SLAM方法。但是,可以通过对基于点和线特征的视觉惯性测距系统进行轻微修改来建立这样的系统[73]。

        表2列出了最近的系统。对于基于点的鲁棒SLAM,几何方法可以在没有其他先验知识的情况下分割特征,但仅使用一个几何阈值会导致运动退化问题。例如,基于极线的阈值无法检测沿着极线移动的动态特征。相反,基于运动的方法可以轻松解决运动退化问题。光流方法可以在没有其他先验知识的情况下在2D空间中分割,但它们对光照条件敏感。因此,将上述两种或三种方法结合起来是一种有前途的替代方法。当检测到静态特征时,可以使用标准SLAM系统(包括直接SLAM [76]和间接SLAM [77])来估计相机自运动并重建周围场景的地图。

        尽管基于点线的SLAM已被证明能够提供准确和鲁棒的结果,但由于计算负担高而性能提高相对较低,因此很少有研究关注其在动态环境中的扩展。然而,在拥挤的走廊和楼梯等特殊动态环境中,线特征仍然有用。因此,在提取和匹配线特征方面探索更有效的方法对于它们在动态场景中的应用非常重要。

        此外,仅在少数连续帧上检测动态组件是不稳健的,因为上述方法无法根据短期观察区分带有噪声和缓慢移动特征的测量。Du等人通过构建概率模型,并使用具有长期观察的条件随机场(CRFs)检测动态特征来解决这个问题,从而保证了地图的长期一致性。尽管Zhang等人使用动态分数来处理噪声观察,但他们的系统无法保持长期一致性,因为该分数是基于没有历史信息的观察生成的。

        必须考虑的另一个问题是遮挡。在静态情况下,3D地标的质量由观察数量[7、21]定义。由于缺乏观察,被缓慢移动物体遮挡的地标可能会被剔除。因此,估计的相机位置可能会频繁漂移或丢失[24]。解决这个问题的标准方法是检测遮挡。Tan等人通过特征外观和相机运动信息来检测遮挡。他们将那些很少被观察到的地标保存下来以对抗遮挡并提高系统的鲁棒性。

        然而,在高度动态的场景中,鲁棒SLAM面临着在将动态特征剔除为离群值后缺乏数据关联的问题。相反,在SLAMMOT [45]中利用了动态特征中包含的有用信息。

5 SLAMMOT

        SLAMMOT是一种基于低级特征的SLAM系统,它有两个核心模块:多运动分割和三维物体跟踪与重建。多运动分割的输入可以是所有对应关系或仅动态对应关系。输出是带有运动标签的对应关系簇,作为三维物体跟踪和重建的输入。第二个模块的输出是相机和动态物体的轨迹以及静态环境和动态物体的结构。虽然Zhang等人提出了一种基于线特征进行多运动分割的方法,但没有动态SLAM系统跟踪线特征。因此,本文讨论了一种基于点的方法来解决这个问题。

5.1 Multi-motion segmentation

        多运动分割的前提是根据其运动状态对动态特征进行分类,这被称为多运动分割。将属于同一簇的特征分配相同的运动标签。可以使用子空间聚类方法或运动模型拟合方法来执行此过程。

        子空间聚类方法:考虑仿射相机模型,来自单个刚体运动的跟踪特征点的轨迹将全部位于最多四个维度的线性子空间中。因此,多运动分割问题可以视为子空间聚类问题[78]。同时应该进行将点分配到适当的子空间和估计子空间参数。Zhang等人[79]提出了一种置换空间聚类方法。首先通过随机抽样生成初始假设。然后提取点的置换偏好并用于链接聚类。通过随机抽样每个簇来生成新的假设。这个抽样和聚类过程是迭代进行的,直到达到收敛。基于这种聚类方法,Wang等人[44]构建了一个不使用语义线索的动态SLAM流水线。此外,有效的数据降维技术可以提高子空间聚类的性能。例如,TMPCA[80]是一种有效的数据降维技术。因为它使用的参数比基于神经网络(NN)的模型少,所以需要相对较少的计算量,这对于保证实时性非常重要。

         运动模型拟合方法:在某种程度上,运动模型拟合方法是子空间聚类方法的一种特殊形式。与子空间聚类方法不同,运动模型拟合方法直接估计特征对应关系的运动矩阵。运动模型的类型包括基本矩阵、仿射基本矩阵、本质矩阵、单应性/投影性和亲和性。符合同一运动模型的对应关系被分组成簇。Judd等人[45]提出了一种针对3D传感器(立体相机、R-GBD相机或激光雷达)的运动模型拟合方法。他们首先进行数据关联并为每个特征点形成了世界和图像空间轨迹历史记录。这些轨迹可以根据它们观察到的运动进行分割,这是一个多标签问题。

5.2  Dynamic feature reconstruction and 3D object tracking

        如图2所示,刚体上的第 i 个点,表示为,在不同的时间戳下在物体坐标系中具有相同的坐标。

        这里,表示刚体上第 i 个(右下标)三维点在世界坐标系(左上标)中的坐标,如图所示,在第 k 个(右上标)时间戳。在本文中,使用一般符号,其中表示旋转矩阵,表示平移向量,而不是W,来表示物体相对于世界坐标系在时间戳k处的姿态。前者符号也可以表示从世界坐标系(左下标)到物体坐标系(右下标)的运动,如在时间戳k处的世界坐标系(左上标)中所示,其逆由表示。左上标表示转换发生的框架。关于此符号的附加信息,请参见参考文献[81]。令表示对应于的特征在图像空间中,π表示投影模型,表示相机相对于世界坐标系的姿态。然后,可以使用公式(2)计算刚体动态特征的重投影误差。

        这个公式可以实现相机的姿态()、移动物体的姿态()和它们的3D点的位置的联合优化[48]。从公式(1)中还可以推导出另一种关系,即:

        这里,表示从k-1到k的姿态变化,如图在世界坐标系W中所示,它表示一个物体的运动,而不考虑它的姿态。因此,可以得到一个新的重投影误差,如下所示:

 此外,移动物体的速度可以表示为:

其中表示物体中心在时间戳 k 处在世界坐标系中的齐次坐标。

        对于立体相机或RGB-D相机,可以在当前帧中获取动态点的深度。因此,可以轻松地估计刚体物体的运动。与静态场景中的标准SLAM不同,Bescos等人[48]使用公式(2)建立了一个紧密耦合的多目标跟踪和SLAM系统。Zhang等人[51]和Henein等人[82]将公式(4)中的新因子表示引入到静态SLAM的因子图中。通过这种方式,他们估计了一个刚体物体的运动,而不使用该物体的姿态。同样,Wang等人[44]利用了立体相机。具体而言,他们直接使用在相机坐标系中表示的点的坐标,而不是在世界坐标系中表示的点的坐标。他们估计了相机相对于静态和移动物体的运动。然后,通过将相机运动、相对于移动物体的相机运动的逆和物体中心的初始姿态相乘来获得物体运动。

        对于单目相机,重建移动物体是一个复杂的任务。在重建和跟踪处理中存在两个主要困难。首先,标准三角测量不适用于动态特征,因为反投影射线不相交。其次,移动物体的估计轨迹是模糊的,并且作为相对于相机轨迹的一族单参数轨迹恢复,这被称为相对尺度模糊问题[83, 84]。

        第一个困难可以通过引入额外的运动约束来克服。Avidan和Shashua [85]假设点特征沿着未知的3D线移动,这只是找到与t个视图(t≥5)中投影射线相交的唯一3D线的原始问题,如图3a所示。这种方法可以逐步工作,但每次迭代需要几帧。虽然这种方法不需要任何相机运动的先验知识,但对象运动的具体形式限制了它在现实世界中的应用。例如,它无法处理沿着平坦道路蜿蜒前进的汽车特征。基于大多数物体在平面上移动的事实,一些方法[14,46]使用地面平面[n,h](在相机帧中的法向量和距离)在当前帧基础上重建地面上的特征u,如图3b所示。

        这里,K表示相机内部矩阵,P表示对应于p的3D点。如果相机固定在移动的机器人上,可以直接获取地面平面的参数。为了解决第二个问题,Nair等人[46]利用多个信息源获取移动物体的本地化,并在姿态图中保持循环一致性。他们首先使用由公式(6)获得的地面点的3D坐标来估计相机自我运动尺度和移动物体的本地化。然后,形状先验被用作移动物体本地化的另一个信息源。最后,设计了一个姿态图来保持循环一致性并解决相对尺度歧义问题。Qiu等人[52]提出了另一种解决这个问题的方法,基于相机运动和物体运动是独立的事实。他们量化了相机运动和物体运动之间的相关性,并根据量化结果制定了一个目标函数来恢复每个跟踪对象的尺度因子。

        优化相机和移动物体的轨迹有两种主要方法。一种是称为分离或松散耦合方法,它首先优化相机姿态,然后优化动态物体姿态。另一种是联合或紧密耦合方法,它同时优化相机和动态物体的姿态。与分离方法不同,联合方法可以在统一的坐标系中维护移动物体和相机的运动一致性。

        在SLAM MOT系统中,遮挡经常发生,并且与鲁棒SLAM系统(鲁棒SLAM部分)相比,解决这个问题更加困难,因为由于静态物体或其他移动物体引起的遮挡可能导致相机和移动物体的估计轨迹都漂移或丢失。此外,当一个丢失的物体再次出现时,如果没有实现特殊处理,就会为其分配一个新标签,导致标签不一致问题。一般的解决方案是利用历史信息并建立这些信息与当前观察之间的关联。Huang等人[47]基于遮挡期间的历史信息预测聚类运动,并将其与重新检测到的观察关联起来。然后,他们根据遮挡前后的信息恢复运动。

与低级特征不同,每个高级特征对应于一类3D物体。与点特征相比,高级特征更具有区分性,可以更轻松地处理低纹理场景[14]。值得注意的是,高级特征不仅用于对象SLAM(使用标记的对象作为地图元素),还用于基于点的SLAM。在图像空间中表示高级特征的方法包括2D边界框表示和像素级掩码表示。前者可以通过对象检测提取。后者可以使用像素级语义分割提取。可以使用支持向量机(SVMs) [86]、CRFs [87]和NNs [88]来实现高级特征的检测器。虽然目前主流的对象检测方法都基于NNs开发,但SVM方法仍值得考虑,因为它的计算量较小,这对于实现实时动态SLAM性能非常重要。

5 Using high-level features in dynamic SLAM

        与低级特征不同,每个高级特征对应于一类3D物体。与点特征相比,高级特征更具有区分性,可以更轻松地处理低纹理场景[14]。值得注意的是,高级特征不仅用于对象SLAM(使用标记的对象作为地图元素),还用于基于点的SLAM。在图像空间中表示高级特征的方法包括2D边界框表示和像素级掩码表示。前者可以通过对象检测提取。后者可以使用像素级语义分割提取。可以使用支持向量机(SVMs) [86]、CRFs [87]和NNs [88]来实现高级特征的检测器。虽然目前主流的对象检测方法都基于NNs开发,但SVM方法仍值得考虑,因为它的计算量较小,这对于实现实时动态SLAM性能非常重要。

        对于基于点的SLAM,高级特征仅作为额外的先验。因此,无需完成高级特征的数据关联。然而,对于对象SLAM,数据关联在对象姿态估计中起着重要作用。高级数据关联的本质是MOT问题。MOT方法可以粗略地分为生成方法和判别方法。目前主流的策略是判别方法,也常被称为基于检测的跟踪或检测跟踪。该技术的主要流程包括对象检测、外观建模、度量学习和数据关联的四个块。关于外观建模,采用各种特征来描述对象,如加速分段测试特征(点特征)、光流(像素补丁)、颜色直方图(区域特征)或基于学习的特征。度量学习与外观建模密切相关。其主要任务是将特征映射到新空间,并将同一对象的特征在空间中靠近。多对象关联的核心是最大后验问题,可以使用CRFs、二分图匹配或最小成本最大流网络流来解决。此外,可以使用基于滤波器的方法预测边界框位置,并使用交并比进行匹配。      

        值得注意的是,相同的低级特征(如点特征)可以在SLAM和MOT中都使用。这意味着MOT可以嵌入到标准SLAM框架中。通过利用外观模型中的特征,可以将高级数据关联重新组合为基于低级特征的方法和基于学习的方法。

        基于低级特征的关联方法:可以基于具有相同标签的低级特征建立高级关联。在边界框表示方面,需要额外的信息(如轨迹和深度)来确保点和对象之间的对应关系有效,因为边界框总是包含位于背景和前景中的特征。Yang和Scherer [14]构建了一个利用ORB SLAM2的对象SLAM系统。对于静态对象特征,他们首先将点特征与其对应的高级特征(点-对象关联)相关联。然后,如果高级特征共享足够的点特征,则匹配不同帧中的高级特征。当点属于对象时,应构建点-对象关联。因此,简单的边界框约束是不足够的。作者添加了约束条件,即点应在至少两个帧中观察到2D边界框,并且它们应足够接近3D框中心。这种方法与上面描述的MOT流程不同,因为它隐含地利用相机姿态指导高级关联。但是,在边界框重叠区域存在歧义。此外,当对象静止或缓慢移动时,基于描述符的方法表现良好,但是在图像空间中难以跟踪快速移动的地标。因此,Yang和Scherer [14]使用稀疏光流来处理动态关联,而不使用点位置。Huang等人[47]为快速移动的对象精心建立了一个概率模型,以探索增强的点-对象关联。他们提出了一个混合CRF,结合语义、空间和运动信息,共同将特征与地标和边界框与簇相关联,然后实现了Kuhn-Munkres算法来将当前簇与先前簇匹配。对于像素级分割表示,必须为掩码中的每个像素分配一个标签。Wang等人[44]在超像素级别完成了这个过程。每个超像素都用相应点特征的标签进行标记。对于不包含标记点特征的超像素,使用K最近邻投票方法。

        基于学习的方法:Li等人[89]提出了一种用于自动驾驶的3D对象检测方法。他们直接利用NNs在成对的立体图像之间检测相应的对象。他们方法的关键元素是将左右两个GT边界框的并集(称为并集GT边界框)分配为对象分类的目标。此外,在他们随后的工作[90]中,将此概念应用于相邻帧之间进行数据关联。当对象缓慢移动时,此方法可以很好地工作,这保证了相邻帧之间的边界框之间有足够的联合区域。然而,它不能很好地处理快速移动的对象。此外,该方法不能基于其简单的匹配过程很好地处理遮挡。Gordon等人[53]设计了一个基于长短时记忆特性更好地处理临时遮挡的网络。

6 Robust SLAM

6.1 Using high-level features as semantic priors for low-levelfeature-based SLAM
 

        这篇文献[34]提到了在低级特征的基础SLAM中使用高级特征作为语义先验的方法。高级特征可以指导低级特征的运动分割,并且语义可以提供代表特征动态性的先验概率。然而,仅依靠语义标签来定义潜在动态对象是不够有效的。例如,这种方法无法正确分类被个体携带的书籍或椅子,因为从语义的角度来看,书籍和椅子通常是静态的。此外,一些背景特征可能包含在边界框内。因此,需要额外的信息来检查每个特征以进行鲁棒的运动分割。

        在边界框中的背景点中,Ai[34]等人仅利用语义信息,但构建了一个用于动态特征的概率模型,并利用多个观测来判断特征是否是动态的。他们基于语义信息初始化了ORB特征的动态概率,并且在新的观测中,如果某个点在边界框内,则增加其动态概率。然而,当动态对象运动缓慢时,这种方法的性能较差,因为地面上的点可能会在边界框内持续存在很长时间。

        Zhang等人[41]使用了一种考虑深度信息的K均值聚类算法来区分边界框中的前景和背景特征。他们的方法可以在动态特征数量大于边界框外的数量的假设下很好地工作。然而,对于复杂场景来说,这种方法不太适用。

        Bescos等人[26]使用了卷积神经网络(CNN)对潜在动态对象进行逐像素分割,然后利用几何信息来检测被错过的动态特征。在自我运动估计和地图构建过程中,所有被标记为潜在动态对象的特征都会被忽略。这种策略可以构建一个更可靠的地图,以供长期应用中重复使用。然而,这也使得SLAM系统在基于语义信息剔除静态特征(例如,固定车上的特征)时变得更加脆弱。

        Ballester等人[49]结合了语义和几何信息。他们使用几何判据对由CNN检测到的潜在动态对象进行分类,并将静态对象应用于自我运动和结构估计。与参考[26]相比,这种方法使用更多的静态点来估计局部位置,但降低了地图在长期应用中的可靠性。

        讨论:表4展示了一些基于RGB-D相机的系统相对于ORB-SLAM2的性能提升。表4中的所有数据都是从相应的参考文献中收集的。参考文献[92]中提出的绝对轨迹均方根误差被用作性能度量进行比较。这些系统在TUM RGB-D室内数据集[92]的两类序列上进行了测试。一类是称为坐姿(s)的低动态序列,只包含两个坐着的人。另一类是称为行走(w)的高动态序列,其中包含几个正在行走的人。

         结果表明,在基于点云的SLAM中使用高级特征可以提高估计轨迹的准确性。然而,与某些设计精良的基于点云的SLAM方法[20]相比,这种改进不是很显著。此外,高级特征提取器耗时且依赖于GPU,这限制了它们在计算受限情况下的应用。然而,高级特征为系统提供了丰富的先验知识,可以用于以相对简单的方式实现各种重要功能(例如,背景修复[26, 33],对AR应用有用,以及在没有概率模型的情况下保持长期一致性[26])。此外,对于低级别的稳健SLAM,必须利用历史观测数据来保持长期一致性[22]。然而,对于使用高级特征的SLAM系统,可以通过筛选属于某些特殊语义(例如行人、车辆和骑手)的所有特征[26],轻松保证长期一致性。

6.2 Using high-level features in object SLAM

        在物体SLAM领域,可以使用低层特征完成高级特征的运动分割。一种直观的方法是根据与它们对应的静态点特征的数量来确定高级特征的状态[14]。此外,光流也可以用于检测动态高级特征,其处理方式与低级特征相同。与低级特征相比,高级特征包含了可以用于运动分割的语义信息。

        在图像空间中识别静态高级特征后,可以重建它们对应的3D物体并用于估计相机自身运动。现有的3D物体表示方法可以分为参数化和非参数化两种方法。参数化方法使用正常的3D形式(如长方体[14]或双重二次曲面[93])来表示物体,其参数受到与物体对应的2D边界框的严格约束。相比之下,非参数化方法通过用一组小的几何结构(如surfels [55, 94, 95]或voluments [96])重建物体并表示它们。

        就局限性而言,参数化方法忽略了物体的细节,但计算成本较低。非参数化方法可以更详细地描述物体,但需要更多的内存和计算资源。此外,surfels表示法难以直接用于机器人任务[96]。长方体表示法将在下文中详细讨论。

        一个3D盒子地标可以用九个自由度(位置的三个自由度,旋转的三个自由度,尺寸的三个自由度)参数和一个语义标签来表示。对于可以捕捉当前帧深度信息的相机,可以从点云信息中获取3D盒子的位置和尺寸。Gomez等 [97]首先计算了物体的最大、最小和平均深度。一个顶点的深度可以通过最大值和最小值获得,质心的深度可以通过平均值获得。然而,这种方法无法处理在当前帧中观测不到具有最大深度的点的情况。Wang等 [44]先利用来自多帧的点云恢复物体的表面,然后估计其质心的位置。在盒子的方向上,可以将其初始化为相对于相机垂直的位置,并随时间进行跟踪。对于单目相机,Yang和Scherer [14]使用消失点对许多长方体候选进行采样,然后基于图像边缘对它们进行评分和选择。此外,深度学习已经被用于解决这个问题。深度学习解决方案有两种主要方法。首先,可以生成一个3D点云,然后基于这个点云检测物体[98]。其次,可以在图像空间中检测物体,然后恢复这些物体的3D结构[89]。前一种方法通常需要两个或更多的子网络,而后一种方法则严重依赖2D检测,无法充分利用3D几何信息。最近,Chen等 [99]提出了一种端到端的方法来联合估计深度和检测3D物体。他们通过将平面扫描体转换成一个3D几何体来编码3D几何和语义信息,从而弥合了2D图像和3D空间之间的差距。

        讨论:与低级特征不同,高级特征可以通过先验知识来指导运动分割。此外,将物体作为地图中的要素可以为相机姿态估计提供长程几何和尺度约束[14]。此外,使用物体作为要素可以构建可管理且表达力强的地图。使用物体周围的3D盒子作为要素可以显著减少保存在地图中的参数数量,这对于大规模应用非常重要。Gomez等人 [97]提出了一个基于物体的姿态图来更新和管理低动态环境下的地图。一个物体地标被参数化为一个具有语义标签和表示物体可移动性的概率的九自由度三维盒子。当完成多个映射会话时,生成的地图被合并以形成一个新的鲁棒地图。与Bescos等人在“使用高级特征作为基于低级特征的SLAM的语义先验”节中构建的地图不同,这个地图在长期应用中可以重新使用而不会丢失任何有用的信息。

7 SLAMMOT

7.1 Using high-level features in point-based SLAM

        与将聚类算法应用于低级特征不同,高级特征有助于对属于不同动力学的独立对象的地图点进行聚类,同时还具有在一次观测中检测动态对象的潜力[100]。对于刚体物体,具有相同语义标签的特征始终具有相同的运动标签。如前所述,语义标签可以分配给2D边界框或像素级掩模。边界框包含了物体和背景特征。此外,当特征落在两个边界框的并集内时存在歧义,如图4a所示。因此,使用几何信息(例如轨迹或深度信息)来识别实际位于物体上的特征是必要的[47]。相比之下,基于语义掩模的方法更易于使用,因为位于语义掩模内的任何特征都属于相应的对象。然而,落在边界上的点(图4b)可能会在轨迹和结构估计过程中引入错误。因此,这些特征必须进一步检查或剔除。

        讨论:与多动态分割部分讨论的使用低级特征的方法相比,基于语义的方法更易于实现,并可用于一些高级应用。但在大多数实际环境中,它们并不足够强大,因为许多对象在现实世界中没有标签[44]。此外,当一个对象具有多个运动标签时,处理非刚性物体变得困难。相反,子空间聚类方法和模型拟合方法可以在不依赖语义线索的情况下对特征进行聚类。此外,它们可以处理非刚性物体。

        在SLAM领域,Yang和Scherer [14]利用消失点和地面平面来使用单眼相机恢复地面上的3D盒子。他们使用基于低级特征的方法建立了高级数据关联。然而,为了避免相对尺度问题,他们只关注在每帧中估计3D地标的相对位姿,而不是估计物体相对于世界坐标系的轨迹。因此,他们无法利用轨迹信息预测移动物体的姿态,这限制了他们处理遮挡的能力。

        Qiu等人[52]利用神经网络检测[54]和关联[53]高级特征。接下来,他们使用基于区域的BA从2D物体区域中恢复3D物体运动,该方法表示了两个动态帧(物体坐标系和相机坐标系)之间的相对运动,如“动态特征重构和3D物体跟踪”部分所讨论的。最后,他们使用独立性分析解决了相对尺度问题。

        现有的关联数据和姿态估计方法[14, 55, 101]在处理包含多个移动物体实例的复杂环境时不够准确或鲁棒。物体SLAM和MOT的结合是一个新颖且具有挑战性的研究方向,需要进一步关注。

8 Conclusions

        对于鲁棒的SLAM,高级特征(语义标记的边界框或像素级掩码)可以为基于低级特征的SLAM提供语义先验以方便运动分割。相反,静态高级特征可以使用低级特征进行匹配和检测。在重建和地图构建方面,参数化的高级地标表示减少了地图的存储需求。此外,语义信息使地图更易于理解。关于重建和相机自运动的准确性,在静态环境中,仅基于高级特征的SLAM不如基于低级特征的SLAM强大 [93]。然而,使用这两个级别的特征可以获得更好的性能 [47]。

        对于SLAMMOT,动态数据关联是一个非常重要的任务。然而,基于标准描述符的方法不能很好地处理这个任务,因为引导匹配技术(利用相机位姿和3D点位置来指导数据关联)[21]在动态对象快速移动时是无效的。大多数现有方法利用光流来解决这个问题。然而,这种流对光照变化敏感,这限制了它们在现实世界场景中的应用。因此,利用基于学习的方法提取更强的特征和完成数据关联是一种有前景的替代方法。此外,对数据关联的适当概率处理是在动态场景中进行鲁棒跟踪和建图的有效方法 [47, 55]。基于低级特征的方法必须进行多运动分割的步骤,将特征注册到聚类中,这通常导致计算成本高。相比之下,对象SLAM可以通过利用语义信息来跳过这一步骤。动态3D物体跟踪的核心是轨迹估计。对于3D传感器,可以轻松获得物体或聚类的姿态和尺度,因为每帧都有深度特征可用。然而,对于单目相机,需要额外的工作来解决相对尺度模糊的问题。

        尽管基于高级特征和地标的SLAM更类似于人类认知,但低级特征在准确的姿态估计中起着重要作用。因此,对于机器人应用来说,使用这两种类型的特征可能是最好的方法。

猜你喜欢

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