摘要
在将同步地图和定位(SLAM)应用于自动驾驶汽车、无人机和增强现实设备等实际应用时,其内存占用和计算成本是限制性能和应用范围的两个主要因素。在基于稀疏特征的SLAM算法中,一种有效的方法是通过选择可能对局部和全局BA有用的点来限制地图点的大小。本研究提出了一种有效的图优化方法,用于此类SLAM系统中地图点的稀疏化。具体而言,我们将最大姿态可见性和最大空间多样性问题表述为最小代价最大流量图优化问题。所提出的方法作为现有SLAM系统的附加步骤,因此它可以用于传统的或基于学习的SLAM系统。通过广泛的实验评估,我们证明了该方法可以实现更精确的相机姿态,大约1/3的地图点和1/2的计算。
I. 引言
我们的贡献包括:
(1)提出了相机姿态对和3D点的图形表示,以获得最大的点可视化。
(2)提出了最大化图像空间上2D特征的空间多样性的新cost
(3)提出了一种基于最小成本最大流量的点稀疏化算法来控制点的剩余数量
(4)提供了与各种室内/室外公共数据集的详细的位姿精度,点的减少和速度改进对比。
III. 本方法
A. ORB-SLAM2 回顾
在ORB-SLAM2和视觉SLAM系统中,影响内存和计算需求的关键因素之一是地图点的数量和与地图点相关的局部兴趣点特征。随着它们的增长,本地和全局BA的规模呈二次增长,这反过来又需要显著增加的计算成本。因此,主要研究了两种方法:
1)仅提取相关的局部特征和点,2)删除对位姿优化贡献不大的特征或点。
B.点稀疏化的图表示
图2给出了一个在BA中需要优化的简化的局部地图结构的例子。我们建立了一个有向流图结构来解释帧和它们所看到的点之间的关系。
三个观察结果可以概括为三点选择问题中的三个目标:
(1)最大点可见性:共享一个点的帧数被最大化。
(2)最大的空间多样性:兴趣点在图像空间上的分布是多样化的。
(3)最大帧基线长度:任意两帧之间的相机中心距离被最大化。
为了在一个集成算法中解决上述问题,我们提出了一种基于有向图表示的新方法,其中节点对应于点和位姿对。在该图中,利用节点间的成本和流量容量,将节点的实际点可见性、空间多样性和基线转化为最小成本最大流量的二部图。
1) 点连接:
我们将vso与vpi点之间的边的代价函数cc定义为高连通性vpi的较低代价值:
2)兴趣点空间多样性:
我们定义了边缘e(vP, vF)的空间代价cs,以确保在点稀疏化过程中保持甚至改善特征分布。
3)帧对基线:
最后,我们考虑每帧对的基线距离。在超过一定距离的帧对中观察到的点上进行优化可以更可靠地完成,并且可能有助于补偿关键帧之间累积的漂移误差。为了保留在位姿图优化中提供有价值约束的点,对vF和vsi之间的边缘应用基线代价cb:
C.最小成本最大流图优化
我们使用最小成本最大流量算法来解决上述图问题,计算从vso到vsi的最大流量,使总成本最小:
式中,f(e)为边缘e上的流量。在容量约束下,通过计算成本最小的最优流量,我们根据满足上述三个期望条件的程度来测量点与框架之间边缘上的流量。计算完流量后,我们只取边缘e(vso, vpi)上流量大于预设阈值θf的点pi。
IV. 实验结果
A. 实现细节
我们在ORBSLAM2框架下实现了该方法。详细地说,我们的方法在ORBSLAM2的局部建图部分的每个局部BA之前执行。我们不使用ORB-SLAM2的原始实现,而是以两种方式对其进行修改。首先,我们将现有的多线程处理更改为单线程处理,以便1)对总运行时进行客观评估,2)确定性能评估,以及3)在优化步骤中禁用由于处理延迟而导致的帧丢失。
其次,由于ORB-SLAM2中决定关键帧的条件取决于来自局部建图线程的跟踪点的数量,也取决于局部建图线程的状态,因此当应用单线程处理或点稀疏化时,局部BA执行的数量会发生变化。因此,一个依赖于平移和旋转变化量的确定性关键帧插入准则被用来衡量所提出的点稀疏化的影响。在整个实验中,我们将θf设为边缘容量的一半。为了解决最小成本最大流量图问题,我们使用Google优化研究工具,这是一个开源,快速和可移植的软件套件,用于解决组合优化问题。
B. 评估指标
对于时间戳i, Ei的绝对轨迹误差矩阵,定义为
C. 性能评估
我们在EuRoC、TUM、ScanNet、ICL-NUIM和KITTI等不同的数据集上对所提出的方法进行了评估
D. 对比
图4:图像上选定关键点的可视化,从上到下,原装,ANMS,我们的。右下角的图片显示了关键点的覆盖范围和集群。
E. 消融研究
表5:在TUM数据集上,部分成本和全部成本对姿态精度的影响。C、F、S越高越好。
ATE越低越好。每个数据序列的所有成本的最佳值以粗体表示。
F. 定位测试
序列MH02和scene000001对两张地图的定位结果如表VI所示。在MH01的情况下,与原始地图相比,稀疏化后的地图只包含23.9%的点和34.4%的关键帧。由于地图加载时间、初始位置搜索时间和匹配时间的增加,总定位时间降低到68.4%。尽管在计算时间和地图大小上都有显著的减少,但查询序列MH02的每帧姿态上计算的RMS ATE甚至减少了。同样,与原始地图相比,scene0000只使用了38.6%的点和59.1%的关键帧,并且位姿误差也减少了。