文章:Representing 3D sparse map points and lines for camera relocalization
作者:Bach-Thuan Bui , Huy-Hoang Bui , Dinh-Tuan Tran , and Joo-Ho Lee
编辑:点云PCL
摘要
最近在视觉定位和地图制图方面取得了相当大的成功,已经展示出了集成点特征和线特征的可行性。然而,将定位框架扩展到包括额外的地图组件往往会导致对匹配任务的内存和计算资源需求增加。本研究展示了一个轻量级的神经网络如何学习表示3D点和线特征,并通过利用多个学习建图的能力展示出领先的姿态准确性。具体来说是利用单个变换器块来编码线特征,有效地将它们转换为独特的类似点的描述子。随后将这些点和线描述子集合视为不同但相互关联的特征集。通过在几个图层中集成自注意力和交叉注意力,该方法在回归3D地图之前有效地优化每个特征。在全面的实验中,我们的室内定位结果在基于点和辅助线的配置上均超过了Hloc和Limap。此外,在户外场景中,该方法取得了显著的领先地位,在学习为基础的方法中实现了最大的改进。本
主要贡献
本文首先从特征匹配器的原理中汲取灵感,将点和线视为两组不同但相互关联的无序描述子。为了考虑到线段长度的变化并确保其独特性,将线段构想为单词序列,其中每个单词代表一个内部点描述子。然后使用了一个变换器编码器模型来将每个线段句子编码为独特的类似点的描述子,从而在PL2Map的预处理中简化了线段描述子提取过程,允许为点和线共享提取器。随后在几个图层中,我们利用自注意力和交叉注意力机制促进特征描述子的交换和优化。在这种基于注意力的更新之后,点和线特征被分为两个独立的多层感知器(MLP)来回归它们各自的3D坐标。
图1:由PL2Map表示的3D点线地图,文章展示了提出的学习方法用于表示3D点线特征的结果示例,左侧输入图像的红色相机位姿在预测线(a)和点(b)地图中是真实姿态,而蓝色相机姿态是使用预测线或点地图估计的姿态。
本研究的贡献如下:
内容概述
随着SfM和视觉SLAM技术的发展,对建图元素的需求越来越多,包括点和线等,需要一种高效的建图表示策略,能够处理多个建图元素,并超越基本的描述子向量存储方法,本文引入了一种神经网络模型,能够通过点和线的描述子来表示3D点和线,从而简化了多个建图元素的匹配过程。开发一个学习函数,输入视觉描述子,并输出对应的3D点和线的集合,以及估计新查询图像的相机姿态。
PL2Map
图2:PL2Map的架构,它包括三个主要组件:前端、注意力细化和建图回归器。
前端:该系统输入从图像中提取的可用的2D点和线描述子集,这些描述子集来自于图像中提取的2D点和线的结果。为了收集这些输入,我们依赖于现成的2D点和线检测器,可以是手工设计的策略或基于学习的方法,如SIFT、SuperPoint、LSD和DeepLSD。对于点的描述子特征,我们利用了提取器产生的直接结果。对于线,我们选择使用点描述子来表示线,而不是采用单独的线描述子。这种方法更加方便和成本效益,适用于后续的推理过程。为了实现这一点,我们均匀采样了T个点描述子来表示一条2D线段,然后将其作为注意力增强模块的输入。
注意力增强:注意力增强是我们方法的关键组成部分,由三个子模块组成:线转换编码器、自注意力和交叉注意力。每个子模块都专门设计用于利用描述子相似性增强线和点的特征。
线转换编码器:由于前端模块提取的点和线特征具有不同的维度,我们首先采用基于transformer的编码器来对齐线描述子的维度,使其类似于点的维度。编码线描述的过程如图3所示。
自注意力和交叉注意力:我们将注意力模块视为一个完整的图,其中有两种类型的无向边。自注意力边将同一图像中所有周围的点或线描述子连接起来,而交叉注意力边将点连接到线和线连接到点。
建图回归器:最后,我们使用两个不同的MLP网络来回归点和线的3D坐标。模型输入来自注意力模块的精细描述子。
损失函数
通过损失函数优化预测的三维点和线,其中预测值与每个图像的三维模型中的伪地面实况相匹配。损失函数包括主要的优化项和可靠性预测项,以及通过将预测的三维点和线重新投影到图像平面进行的投影损失项。这些项通过对三个损失函数的加权和来整合优化模型,其中权重由超参数系数决定。
实验
网络设置:使用Pytorch实现方法,采用特定的网络架构设置。图注意力模型包括单一的线性变换模型,用于处理所有线段,接收12个点描述子,包括两个端点,并包括五个图注意力层(自注意、交叉注意、自注意、交叉注意、自注意)。最终的建图层由两个不同的MLP组成,分别用于回归三维点和线。
超参数选择:β设为100,软阈值τmax初始化为50px用于室内数据集的训练,τmax设为100px用于室外数据集,τmin设为1px。使用Adam进行方法优化,初始学习率为3·10^−4,对于室内数据集,学习率调整七次,使用衰减参数0.5;对于室外数据集,学习率调整十次,初始学习率为5·10^−5。训练所有环境使用250万次迭代。
摄像机位姿估计:使用RANSAC PnP进行仅使用点的摄像机位姿估计,使用与Limap相同的机制进行点和线辅助定位的摄像机位姿估计。
数据集和三维地面真实模型
室内重新建图和定位
在室内重新建图和定位方面,使用了学习到的室内稀疏点和线地图表示的定位结果,并与Hloc、PtLine和Limap等基线方法进行了比较。在图6中,展示了PL2Map建图的一些示例结果,包括3D点和线。
图6:在室外和室内场景上的定性结果(a、b来自Cambridge数据集[17],c、d来自7Scenes数据集[16])。顶部显示了三个不同的视图。第二和第三行分别是我们对3D点和线地图的预测结果,使用了20个随机测试图像。
仅使用点地图的情况下,该方法在六个场景中的定位性能优于Hloc方法。辅助线定位结果显示了线与点结合进行视觉定位的效率,所有七个场景的改进都很显著。在表I中展示了使用预测的点和线地图进行定位的结果。
此外,我们提供了具有可用深度数据来优化点和线地图的SfM模型的定位结果。结果列在表II中。原始的PL2Map在Stairs场景中仍然受到重复结构的影响,但是使用深度数据对SfM模型进行优化后,PL2Map在Stairs场景的准确性从33.3%提高到了53.0%。所有场景的平均中值误差也有所改善。值得注意的是,深度仅用于训练,推断仅依赖RGB图像。
室外重新建图和定位
通过与其他基于SCR的方法相比较,我们的方法在使用预测的点地图时表现出了更低的定位误差,特别是在大规模室外场景中。
在使用点和线地图进行定位时,我们的方法显示出了比仅使用点地图时更高的定位准确性。表III包括了我们的方法在通过整合点和线地图实现定位时的结果。在所有五个场景中,与仅利用预测的点地图的情况相比,PL2Map表现出了定位准确性的提升。
系统效率
我们的方法通过单个前向传递可以过滤掉与动态元素相关或不适合于定位的异常特征,从而提高了定位准确性。结果如图7
图7:在2D点和线上的可靠性预测结果
表IV将我们的方法与三个主要基线进行了比较,涉及定位需求,突出了所提方法的效率,通过消除匹配步骤和将3D地图存储为描述子来减少内存需求。相较于其他主要基线方法,我们的方法不需要匹配步骤,并且将3D地图存储为描述子,因此需要更少的内存。
总结
本文提出的PL2Map流程,旨在将稀疏的3D点和线统一封装在一个模型中。经过针对特定场景的训练,我们的流程能够高效地生成点和线特征的2D-3D对应关系。在熟悉的环境中,PL2Map不仅作为存储和匹配昂贵描述子传统方法的成本效益替代方案,还表现出强大的重新建图能力,实现了最先进的相机重定位技术。
未来的工作可以将这项工作扩展到更大的范围,并在各种条件下进行场景无关的注意力模块的预训练。这样的进展旨在实现更快速、更稳健的重新建图方法。