目录
1 Introduction
2 Related Work
3 Method
A. 符号表示
B. 物体数据关联
C. 以对象为中心的表示
D. 对象束调整
E. 边界框
4 Experiments
A. 视觉里程计
B. 多目标跟踪
C. 时间分析
5 结论和未来工作
摘要 —— 在视觉SLAM算法中,假设场景是刚性的是常见的。然而,这限制了它们在真实环境中的适用性。此外,大多数情况,包括自动驾驶、多机器人协作和增强/虚拟现实,都需要明确的周围运动信息来帮助决策和场景理解。本文介绍了一种名为DynaSLAM II的视觉SLAM系统,用于立体和RGB-D配置,并紧密集成了多目标跟踪能力。 DynaSLAM II利用实例语义分割和ORB特征来跟踪动态物体。静态场景的结构和动态物体的结构与摄像机和移动主体的轨迹一起在新颖的束调整提议中进行优化。还估计了物体的3D边界框,并在固定的时间窗口内进行了松散的优化。我们证明,跟踪动态物体不仅提供了丰富的场景理解线索,而且对于相机跟踪也是有益的。 项目代码将在被接受后发布。
索引术语 —— SLAM、语义、跟踪、动态物体
1 Introduction
SLAM是指仅根据机器人的机载摄像头数据流,在未知环境中创建地图并估计机器人姿态的问题。大多数SLAM方法假设场景是静态的,并且只能通过将其标记为静态模型的异常值来处理小部分动态内容[1]–[3]。虽然静态前提在某些机器人应用中成立,但在自动驾驶、服务机器人或AR/VR等人群聚集环境中使用受限。
近年来,处理SLAM中的动态物体问题一直是研究的热点。大部分文献解决这个问题的方法是在观察场景中检测移动区域,并将这些区域排除在SLAM问题之外[4]–[7]。一些研究在定位流程之外处理图像流,将显示动态内容的图像转换为只含静态内容的真实图像[8],[9]。另一方面,机器人领域中的一小部分人已经通过将移动物体的动态性融入问题中来解决了这个问题[10]–[13]。前两组主要关注从静态场景中获得准确的自运动估计,而后一组的目标有两个方面:不仅解决SLAM问题,还提供关于其他动态主体姿态的信息。
理解周围动态物体对于增强现实/虚拟现实或自主系统导航中新兴应用的前沿需求至关重要。在准静态环境中排除微小运动是可以容忍的,但大多数场景,包括自主驾驶、多机器人协作和增强现实/虚拟现实都需要明确的周围运动信息来辅助决策和场景理解。例如,在虚拟现实中,需要明确跟踪动态物体,以允许虚拟物体与真实世界中的移动实例互动。在自主驾驶场景中,汽车不仅必须定位自身,还必须可靠地感知其他车辆和行人,以避免碰撞。
大部分文献专门解决此问题,通过使用传统的多目标跟踪方法 [14]–[18]从SLAM公式中检测并单独跟踪移动物体。其准确性在很大程度上取决于相机姿态估计,在复杂的动态环境中,相机姿态估计更容易失败,因为可靠的静态结构并不保证存在。近年来,机器人学界开始着手解决动态物体跟踪和视觉SLAM的问题,为问题增加了额外的复杂性。这些系统通常为特殊用例定制,并利用多个先验条件来限制解空间:道路平面结构和驾驶场景中平面物体的运动,甚至使用物体的三维模型。
在这一点上,我们借此机会介绍DynaSLAM II。DynaSLAM II是一个面向动态环境的开源立体和RGB-D SLAM系统,可以同时估计相机的姿态、地图的姿态和场景移动物体的轨迹。我们提出了一种束调整解决方案,紧密优化了场景结构、相机姿态和物体轨迹在一个局部-时间窗口中。物体的边界框还采用一种解耦合的公式进行优化,可以估计物体的尺寸和6个自由度的姿态,而不限于任何特定的用例。我们在KITTI数据集 [19]上进行了详尽的评估和比较,验证了我们的提议。我们系统DynaSLAM II的输出示例如图1所示。
图1:KITTI跟踪数据集的定性结果。
2 Related Work
传统的3D多目标跟踪方法通常将移动物体的检测和跟踪与SLAM公式[14]-[18]分开处理。其中,Wang等人[14]导出了带有移动物体跟踪的SLAM的贝叶斯公式,并为理解和解决这个问题提供了坚实的基础。Wangsiripitak等人[15]提出了基于并行实现的SLAM与3D物体跟踪器的方法:SLAM为跟踪器提供了地图对象的信息,而跟踪器则允许在物体上标记特征。Rogers等人[16]将EM技术应用于基于图的SLAM方法,使地标能够动态变化。近期,Barsan等人[17]提出了一种用于城市环境的基于立体视觉的稠密建图算法,同时重构静态背景和移动物体。最近有一项由Rosinol等人[18]提出的工作,他们将视觉惯导SLAM与稠密网格跟踪相结合,主要关注人类,模拟中显示出令人印象深刻的结果。这些方法的主要缺点是它们的准确性与相机位置的估计密切相关。也就是说,如果相机姿态估计失败(在复杂的动态环境中很有可能),多目标跟踪也会直接失败。
同时估计相机运动和多个移动物体运动的想法起源于SLAMMOT工作[20]。他们建立了一个数学框架,将基于滤波的SLAM和移动物体跟踪集成起来,并证明其满足自主驾驶的导航和安全要求。随后,使用RGB-D相机的工作继续发展这个想法,通过像素级实例分割密集重建静态室内场景和移动物体,展示了令人印象深刻的结果[21]-[23]。对于密集方法来说,获取高精度的分割遮罩非常重要,因此Mask-Fusion [22]和MID-Fusion [23]通过假设人造物体主要是凸型来对其进行了改进。
与我们的方法一样,作为基于特征的方法,有很少的方法旨在将静态和动态对象的信息合并到一个单一框架中以提高估计精度。Henein等人[24]是最早将跟踪动态对象和相机自我运动问题紧密结合的研究之一。然而,他们只报告了在合成数据上的实验结果,显示出有限的真实结果。Li等人[10]使用了一个端到端训练的CNN来估计车辆的三维姿态和尺寸,然后与相机姿态一起进行进一步的优化。数据驱动的方法在6自由度物体姿态估计方面通常提供了出色的精度,但也会失去通用性,因此只能跟踪汽车。使用他们的方法跟踪通用对象需要大量的数据。在CubeSLAM[11]的作者的研究中,他们仅通过使用单目摄像头就展示了令人印象深刻的结果。他们利用基于2D边界框和消失点的3D边界框提案生成,假设物体在一个硬编码的持续时间间隔内具有恒定的速度,并利用物体先验知识,如车辆尺寸、道路结构和平面非完整性物体轮运动模型。此外,他们仅跟踪可观测到3D边界框的物体,即只有当立方体状物体的两个或更多面可见时才跟踪。ClusterSLAM[25]提出了一个没有场景先验知识的SLAM后端,用于发现个体刚体并计算它们在动态环境中的运动。由于它作为一个后端而不是一个完整的系统,它的性能在很大程度上取决于地标跟踪和关联的质量。同样的作者最近开发了完整的系统ClusterVO[12],它使用物体所属的概率建模物体点,以应对分割不准确性。鉴于他们假设没有先验知识,他们在室内和室外场景中获得了良好的跟踪结果,但对于3D边界框的估计具有一定的不准确性。VDO-SLAM[13]是一项最近的研究,它利用密集的光流来最大化对移动物体上的跟踪点的数量。他们实现了一个包调整,其中包括相机、物体和点,可以产生良好的结果,但在实时计算上具有复杂性。
鉴于这些进展,可以明显看出,基于特征的SLAM社区正在寻找最佳的优化公式来结合相机、物体和结构点。在我们的提案中,我们使用紧耦合的包调整公式,使用相机、物体和点之间的新测量,特别关注计算复杂性和涉及的参数数量,同时不引入硬编码的先验知识。为此,我们将实例语义先验与稀疏图像特征相结合。这种公式允许以较低的计算成本相互有益地估计相机、地图结构和动态物体。另一方面,部分现有文献关注的是估计动态物体的点云结构和随机物体参考的轨迹[12],[13],[25],而另一部分文献则致力于寻找相同类别物体的共同参考点以及更具信息量的占据体积[10],[11]。我们打算独立进行这两个任务,以充分利用它们的优势并避免它们的弊端。
3 Method
DynaSLAM II基于流行的ORB-SLAM2 [1]进行扩展。 它将同步校准的立体/RGB-D图像作为输入,并输出每帧的相机和动态物体姿势,以及一个包含动态物体的空间/时间地图。对于每个输入帧,计算像素级的语义分割,并提取并匹配立体图像对之间的ORB特征[26]。我们首先将静态和动态特征与前一帧和地图中的特征进行关联,假设相机和被观察物体都是以恒定速度运动的。然后基于动态特征的对应关系对物体实例进行匹配。静态匹配用于估计初始相机姿态,动态匹配则给出物体的SE(3)变换。最后,通过边缘化和软平滑运动先验,对相机和物体的轨迹以及物体的边界框和3D点进行滑动窗口优化。DynaSLAM II的不同贡献和构建模块在接下来的子节中进行了解释。
A. 符号表示
我们将使用以下符号表示:立体/RGB-D相机 i 在世界坐标系W中的姿态为 (见图2)。相机 i 观察到1)静态3D地图点和 2)具有姿态和线性角速度的动态物体。每个观测到的物体 k 包含动态物体点。
图2:用于建模动态结构的符号。相机 i 和 i+1 观察到动态对象k(---)和静态结构(._._.)。姿态为和的对象是连续观测中相同的移动物体( )。
B. 物体数据关联
对于每个传入的帧,计算像素级语义分割,并提取并匹配立体图像对中的ORB特征[26]。如果一个实例属于动态类别(车辆、行人和动物),并且包含大量的新近的关键点,那么就会创建一个物体。然后将关键点分配给实例和对应的物体。我们首先将静态特征与上一帧及地图中的特征进行关联,以进行初始的相机位姿估计。接下来,将动态特征与局部地图中的动态点进行两种不同的关联:(a)如果地图物体的速度已知,我们将根据投影假设搜索匹配的点,假设是帧间的恒定速度运动;(b)如果物体的速度没有初始化或者在(a)中没有找到足够的匹配,我们将将粗略匹配限制在与连续帧中最重叠的实例相关的特征上。请注意,我们的框架处理遮挡,因为当前关键点与地图物体匹配,而不是与前一帧的物体匹配。还需要更高层次的实例和物体关联。如果大多数分配给新对象的关键点与属于一个地图对象的点匹配,则将这两个对象赋予相同的轨迹ID。此外,为了使这种高层次关联更加鲁棒,还会进行一种并行的实例与实例之间的匹配,基于CNN实例的2D边界框的IoU(交并比)进行匹配。
对于跟踪的第一个物体,使用三维点的质心和单位旋转来初始化SE(3)位姿。为了预测轨迹中更远的物体的位姿,我们使用一个恒定速度运动模型,并通过最小化重投影误差来优化物体的姿态估计。
在多视角几何问题中,对于具有姿态为和具有齐次坐标的三维地图点 l,参考帧为W,具有立体键点对应的相机 i,投影误差的常见公式为:
其中是投影函数,用于将相机坐标系中的三维齐次点投影到相机帧像素中。与这个公式不同,这个公式适用于静态表示,我们提出将投影误差重新表述为:
其中是相机i观察到的物体k在世界坐标中的逆姿态表示在相机 i 中观测的点j在其对象k的参考框中的三维齐次坐标。这种表述使我们能够同时优化相机的姿态和不同移动物体的姿态,以及它们的 3D 点的位置。
C. 以对象为中心的表示
考虑到跟踪移动物体任务所涉及的额外复杂性,主要是超过SLAM任务的参数数量,将这个数量尽可能减少以保持实时性能非常重要。在通常的动态SLAM实现中,通过形成独立的点云将动态点建模为重复的三维点,将导致参数数量过大。给定一个包含个相机、个动态对象和每个相机观测到个3D点的情况下,跟踪动态对象所需的参数数量变为,而传统的静态SLAM表示中为。对于长时间和不太长时间的操作和部署来说,参数的数量变得非常大。如果引入对象的概念,3D对象点就变得唯一,并且可以引用它们所属的动态对象。因此,模型化的是对象随时间的变化,所需的参数数量为。图3显示了定义为10个对象的参数压缩比。这种对动态对象和点的建模大大减少了所使用的参数数量。
图3:在使用物体时所需的参数数量与独立跟踪物体中属于物体的点时
所需的参数数量之间的关系(没有物体)。
D. 对象束调整
已知束调整(Bundle Adjustment, BA)可以通过优化点云匹配和良好的初始猜测来提供准确的相机姿态和稀疏几何重建结果。我们猜想如果同时优化对象姿态,BA可能也能带来类似的好处(图4)。静态地图中的三维地点位置和相机姿态通过最小化与匹配关键点(等式1)的重投影误差进行优化。类似地,对于动态物体,通过最小化与匹配关键点(等式2)的重投影误差来优化对象点、相机姿态和对象姿态的估计。
图4:具有动态物体的BA因子图表示。
在我们的实现中,一个关键帧可以有两个不同的插入原因:(a) 相机跟踪较弱,(b) 场景中的任何物体跟踪较弱。前者的原因与ORBSLAM2相同。但后者则是因为在当前帧中,具有较多特征的物体只有少数点被跟踪到。在这种情况下,会插入一个关键帧,并创建一个新的物体和新的物体点。如果相机跟踪不弱,这个关键帧就不会引入新的静态地图点,如果其他动态物体都有稳定的跟踪,也不会创建新的物体。对于优化,如果插入一个关键帧仅仅因为相机跟踪较弱,局部BA会优化当前处理的关键帧,与其在共视关系图中相连的所有关键帧,以及这些关键帧所能看到的所有地图点,按照ORB-SLAM2的实现方式进行。至于动态数据,如果插入一个关键帧仅仅因为物体跟踪较弱,局部BA会优化该物体的姿态、速度和相机在 2 秒的时间范围内以及它的物体点。最后,如果插入一个关键帧是因为相机和物体的跟踪都较弱,相机姿态、地图结构、物体姿态、速度和点都将进行联合优化。
为了避免非物理上可行的物体动力学,通过假设连续观测中的恒定速度来强制生成平滑的轨迹。观测 i 时,物体 k 的线速度和角速度分别表示为和。我们定义以下误差项:
需要额外的误差项将物体速度与物体姿态及其对应的3D点耦合起来。这个项可以在公式 4 中看到,其中是物体 k 在连续观测 i 和 i+1 之间的时间间隔中发生的姿态变换。
项是从时间 i 处物体 k 的线速度和角速度(和)确定的,如公式5所示,其中是SO(3)上的指数映射。 最后,我们在可优化的局部窗口C中针对一组相机提出了以下BA问题,每个相机 i 观测一组地图点和一个包含每个物体 k 的物体点集的物体集合:
其中 ρ 是鲁棒的Huber代价函数,用于降低离群对应关系的权重,Σ是协方差矩阵。对于投影误差,Σ与相机 i 观测点 l 和 j 的关键点的尺度有关。对于另外两个误差项,Σ与物体的连续两次观测之间的时间间隔有关,即时间越长,对恒定速度假设的不确定性越大。需要优化的参数是。
图5展示了问题的布尔海森矩阵(H)。海森矩阵可以由因子图中每个边所关联的雅可比矩阵构建。为了得到非零(i;j)块矩阵,因子图中必须存在 i 和 j 节点之间的边。注意地图点和物体点的稀疏模式的差异。海森矩阵的大小主要由地图点和物体点的数量所决定,而这在典型问题中通常比相机和物体的数量大几个数量级。应用Schur余数技巧和解决系统的运行时间复杂度为,其中第二项或第三项将取决于静态和动态点的数量。
图5:包含5个关键帧(KF)、1个具有10个目标点(OP)和10个静态地图点(MP)的Hessian矩阵。
E. 边界框
目前文献中的一些方法认为迄今为止对于动态对象的跟踪是完整的。也就是说,对于场景中的每个动态对象,我们都有一个估计其地图点质心的轨迹以及一个点云表示。这些工作的例子有ClusterSLAM [25]和VDO-SLAM [13]。然而,我们认为找到同一语义类别对象的共同空间参考以及其尺寸和空间占用的估计也非常重要。相反,CubeSLAM [11]和Li等人的工作 [10]的基础是发现物体的边界框。只有在发现边界框后,才会对物体进行跟踪。也就是说,如果相机的视角不允许估计物体的边界框(部分视图),则不进行物体跟踪。尽管这对于Li等人来说不是问题,因为 CNN 天然对物体的部分视图具有鲁棒性,但CubeSLAM难以从被遮挡物体的视图中初始化边界框。
我们建议分离动态物体的轨迹估计和边界框估计。前者为系统跟踪提供了丰富的线索以进行自运动估计,而两者的结合对于理解周围环境的动态非常有用。数据关联和 BA 阶段的输出包含相机位姿、静态场景的结构和动态物体以及每个物体点的6自由度轨迹。这个点是物体3D点在首次观察时的质心。尽管质心会随着新点的观察而随时间变化,但被跟踪和优化的物体姿态将参考这个初始质心。对于对移动环境的全面理解,了解物体的尺寸和空间占用是非常重要的。将这两个问题分别解决。
我们通过搜索大多数目标点大致适合的两个垂直平面来初始化一个物体边界框。我们假设尽管物体并不总是完美的长方体,但是许多物体可以近似适应一个三维边界框。如果只找到一个平面,我们会对与物体类别相关的不可观察方向的大致尺寸加上先验知识。这个过程是在RANSAC方案内完成的:我们选择具有图像投影与CNN二维边界框的最大IoU的计算三维边界框。这个边界框对于每个物体跟踪只计算一次。
为了改进边界框的尺寸和相对于物体跟踪参考的姿势,我们在一个时间窗口内执行基于图像的优化。这个优化寻求最小化三维边界框图像投影与CNN二维边界框预测之间的距离。鉴于对于一个物体不少于三个视图的问题是不可观察的,只有在一个物体至少有三个观测关键帧时才进行这个优化。此外,为了约束解空间,以防物体的视角使问题变得不可观察(例如,从后方观察到的车辆),在问题中包含了关于物体尺寸的软先验。由于这个先验与物体类别密切相关,我们认为添加这个软先验并不意味着失去普遍性。最后,初始边界框姿势被设定为一个先验,以使优化解保持接近。
4 Experiments
在本节中,我们详细介绍了用于测试DynaSLAM II的实验。它分为两个主要部分:一个评估跟踪物体对相机运动估计的影响的部分(第IV-A小节),以及一个分析多物体跟踪性能的部分(第IV-B小节)。
A. 视觉里程计
对于视觉里程计实验,我们选择了KITTI跟踪(表I)和原始(表II)数据集[19]。它们包含从车辆角度记录的城市和道路场景的灰度和RGB立体序列,其中包含流动车辆和行人,以及它们的GPS数据。
两个表格详细比较了我们的系统与ORB-SLAM2和我们先前的工作DynaSLAM [4]的性能。ORB-SLAM2是我们构建DynaSLAM II的基本SLAM系统,但它没有专门处理动态物体。DynaSLAM在ORB-SLAM2的基础上增加了检测动态物体和类别特征的能力,但是它唯一的不同是忽略了这些特征并且不对其进行追踪。ORB-SLAM2和DynaSLAM的结果差异可以给出每个序列中动态性的估计。理论上,如果动态物体在场景中具有代表性并且在移动中,DynaSLAM具有更好的性能,如表格I和II中分别的序列0020和1003-0047中所示。然而,如果场景中的动态物体代表性较强但是静止不动(例如停靠的汽车),DynaSLAM会显示较大的轨迹误差。这是因为静态车辆的特征对于姿态估计很有用,通常位于附近的场景区域,但未被利用。例如,在表格 I 中的序列0001中可以看到这一点。此外,DynaSLAM II在这两种类型的场景中的性能优于ORB-SLAM和DynaSLAM,在许多经过评估的序列中都表现出色。一方面,当动态物体移动时,DynaSLAM II成功估计相应物体的速度,并为相机姿态估计提供丰富的线索,这是在静态表示不足时的情况。这通常发生在动态物体遮挡附近的场景区域,并且静态特征仅对于准确估计相机旋转提供有价值的提示。另一方面,当动态物体静止不动时,DynaSLAM II追踪它们的特征并估计其速度接近于零。因此,这些物体点的行为很像静态点。
表格 I 和 II 呈现了我们的自我运动结果与其他在联合SLAM框架中也追踪动态物体的最新系统的结果进行比较。ClusterSLAM [25]作为后端而非SLAM系统,它严重依赖于相机姿态的初始估计。ClusterVO [12]和VDO-SLAM [13]是与我们类似具备多目标跟踪能力的SLAM系统。前者可以处理立体视觉和RGB-D数据,而后者仅处理RGB-D数据。报告的误差是使用不同的度量指标给出的,以便我们可以直接使用作者提供的值。在所有序列中,DynaSLAM II的平移相对误差(RPEt)都比VDO-SLAM低。然而,VDO-SLAM通常可以实现更低的旋转姿态误差。由于远距离的点提供了旋转估计所需的最丰富的线索,我们认为这种精度差异不取决于物体追踪性能,而是取决于底层相机姿态估计算法和传感器套件。关于ClusterVO的性能,它在大多数序列中的准确性与我们相当.
B. 多目标跟踪
一旦证明了在估计自我运动时跟踪动态目标的效用,我们再次选择了KITTI跟踪数据集[19]来验证我们的多目标跟踪结果。动态物体的轨迹和三维边界框是通过对激光雷达三维点云进行昂贵的手动标注得到的。
首先,我们想让读者注意图1,看看我们在这个数据集上的定性结果。左边的两辆紫色汽车的边界框被很好地估计出来,尽管视野不完整。这个场景也具有挑战性,因为另外两辆前方的汽车离摄像机很远,但跟踪得很准确。
在过去的十年中,Bernardin等人[27]引入了CLEAR MOT指标,以便客观比较跟踪器的特性,重点在于估计目标位置的精度、识别目标配置的准确性以及在时间上持续标记目标的能力。虽然这些指标在计算机视觉和机器人社区已经得到广泛应用,并且为跟踪器的逐帧性能提供了有价值的洞察,但它们没有考虑被跟踪目标轨迹的质量。我们建议,在SLAM框架内正确评估多目标跟踪时,需要报告CLEAR MOT指标MOTP1以及常见的轨迹误差指标。大多数关于SLAM和多目标跟踪的相关工作只报告CLEAR MOT指标MOTP[10]–[12],此外,VDO-SLAM的作者[13]唯一报告了一个序列中所有目标轨迹的相对姿态误差作为一个整体。我们认为,为了便于比较,应该将此指标报告为各个轨迹的数值。
表III显示了KITTI跟踪数据集中所有目标检测的评估结果,使用KITTI 3D目标检测基准。这使我们能够直接将我们的多目标跟踪结果与其他最先进的类似系统进行比较(表III)。Chen等人[28]和特别是Li等人[10]的卷积神经网络通过单视角网络准确性本身以及后者的多视角细化方法取得了出色的结果,但代价是泛化性能下降。另一方面,Barsan等人[17]和Huang等人[12]在检测边界框方面的准确性非常出色,但对目标被截断和遮挡非常敏感。我们的结果表明,我们可以在少量精度损失的情况下处理被截断和遮挡的目标。然而,通常会发现较少的边界框。我们的直觉是,我们系统基于特征的性质使得这一步骤尤其具有挑战性,与Barsan等人的工作[17]相反,他们首先计算稠密的立体匹配。
为了评估我们对物体轨迹的估计,我们在表格IV中选择了KITTI跟踪数据集中12个最长的序列,这些序列的2D检测既没有被遮挡也没有被截断,其高度至少为40个像素。我们使用它们的地面真实物体标识对这些选择的物体进行标记。对于每个地面真实轨迹,我们寻找我们估计中与之最相互重叠的边界框(重叠至少为25%)。对于轨迹度量指标(ATE和RPE)和2D MOTP,重叠计算为3D边界框在当前帧上投影时的IoU。对于另外两个评估指标(BV和3D),重叠分别计算为鸟瞰图中的边界框和3D中的边界框的IoU。这个评估给出了我们框架的跟踪性能和边界框质量的一个想法。关于真正的正例百分比,我们可以看到物体在大部分轨迹中都被跟踪到。缺失检测是因为物体离摄像机很远,立体匹配无法提供足够的特征进行丰富的跟踪。需要注意的是,与汽车相比,行人的跟踪准确度较低,这是由于他们的非刚性形状(序列0017)。汽车的轨迹误差是可以接受的,但它们与自身运动估计的性能相差很远。我们的直觉是,我们的算法基于特征的本质使边界框估计变得特别具有挑战性。更多的3D点始终会为物体跟踪提供更丰富的线索。
C. 时间分析
为了完成我们提案的评估,表V显示了其不同构建模块的平均计算时间。DynaSLAM II 的计时高度依赖于要跟踪的物体数量。在KITTI跟踪0003序列中,同时只有最多两个物体,因此可以以12fps的速度运行。然而,序列0020最多可以同时有20个物体,其性能稍微受到影响,但仍保持约10fps的实时性能。这些数字不包括语义分割CNN的计算时间,因为它取决于GPU的性能和CNN模型的复杂性。像YOLACT [29] 这样的算法可以实时运行并提供高质量的实例掩码。
最后,表V的最后几行收集了在KITTI数据集中同时执行SLAM和多物体跟踪的系统的平均计时结果。DynaSLAM II 是目前唯一能够提供实时解决方案的系统。
5 结论和未来工作
我们提出了一个具有新型测量函数的对象级SLAM系统,该函数用于相机、物体和3D地图点之间的测量。这使得我们能够跟踪动态物体,并紧密优化自身和周围环境的轨迹,以使两者的估计相互受益。我们将物体跟踪问题与边界框估计解耦,并且与其他工作不同,我们没有对物体的运动、姿态或模型做出任何假设。我们的实验证明,DynaSLAM II 在实时性能方面实现了最先进的准确性,使得我们的框架适用于大量的应用。
我们系统基于特征的核心限制了它发现精确的三维边界框的能力,以及对低纹理物体的跟踪能力。充分利用密集的视觉信息肯定会推动这些限制的突破。我们还希望探索更具挑战性的任务,即仅使用单目相机进行多目标跟踪和SLAM。这是一个有趣的方向,因为动态物体跟踪可以提供关于地图尺度的丰富线索。