0.简介
最近在视觉定位和地图制图方面取得了显著的进展,成功地将点特征和线特征进行了整合。然而,将定位框架扩展到包括额外的地图组件往往会导致对匹配任务的内存和计算资源需求增加。《Representing 3D sparse map points and lines for camera relocalization》展示了一种轻量级神经网络如何学习表示3D点和线特征,并通过利用多个学习映射来展示领先的姿态准确性。具体而言,我们利用一个单独的转换器块来编码线特征,有效地将其转换为独特的点状描述符。随后,我们将这些点和线描述符集视为不同但相互连接的特征集。通过在几个图层中集成自注意力和交叉注意力,我们的方法有效地在回归使用两个简单的MLP生成3D地图之前对每个特征进行了精炼。在全面的实验中,我们的室内定位结果在基于点和辅助线配置方面均超过了Hloc和Limap。此外,在户外场景中,我们的方法取得了显著的领先优势,标志着对基于最新学习方法的最大增强。本研究的源代码和演示视频可在以下网址公开获取:https://thpjp.github.io/pl2map/。
1. 主要贡献
为了克服前述挑战,我们首先从特征匹配器的原理[7]、[14]中汲取灵感,将点和线视为两个不同但相互关联的无序描述符集合。为了考虑线长度的变化并确保其独特的特征,我们采用了[8]启发的策略,将线条构想为单词序列,其中每个单词代表一个内点描述符。然后,我们使用了一个Transformer编码器模型[15],将每个线条句子编码为一个独特的点状描述符,从而在PL2Map的预处理过程中简化了线描述符的提取过程,允许同时用于点和线的共享提取器。随后,我们在几个图层中利用自注意力和交叉注意力机制促进特征描述符的交换和精炼。在这种基于注意力的更新之后,点和线特征被分为两个单独的多层感知机(MLPs),用于回归它们各自的3D坐标。本研究的贡献如下。
- 据我们所知,我们的直接学习方法,用于点和线特征的2D-3D对应关系映射,是对相机重定位的首次尝试。
- 我们提出了一个完整的学习流程,包括网络架构和稳健的损失函数,用于学习如何表示来自预建SfM模型的点和线。通过提出的端到端训练流程,点和线的地图可以进一步精炼,从而改善随后的相机重定位。
- 我们在7scenes[16]和剑桥地标[17]这两个定位基准上取得了新的记录,在7scenes上,我们的PL2Map超过了基于FM的Hloc和Limap的性能。对于室外的剑桥地标,我们的流程标志着对最新学习方法的最显著增强。
图1:由PL2Map表示的3D点线地图。我们展示了提出的学习方法用于表示3D点线特征的结果示例。在左侧的输入图像上,红色相机姿势在预测的线(a)和点(b)地图中都是真实姿势,而蓝色相机姿势是使用预测的线或点地图估计出的。
2. 问题描述
最近在SfM和视觉SLAM领域取得了许多成功的映射元素的探索,例如点、线、边缘、平面和物体。随着对额外映射元素的需求增加,迫切需要一种更高效的映射表示策略,超越了基本的描述符向量存储。为了解决这个问题,特别是针对点和线地图,我们引入了一个基于神经网络的替代模型,能够通过它们的描述符来表示3D点和线。这简化了多个映射元素的匹配过程。
假设我们有一组2D关键点
{
p
i
}
N
\{p_i\}^N
{pi}N 和一组从图像
I
I
I 中提取的 2D 线段
{
l
i
}
M
\{l_i\}^M
{li}M,每个与视觉描述符
{
d
i
p
}
N
\{d^p_i\}^N
{dip}N 和
{
d
i
l
}
M
\{d^l_i\}^M
{dil}M 相关联。这里,
r
r
r 表示从参考数据库中获取的用于构建 3D 点和线地图的图像。我们的目标是开发一个学习函数
F
(
.
)
F(.)
F(.),它输入两组视觉描述符
{
d
i
p
}
N
\{d^p_i\}^N
{dip}N 和
{
d
i
l
}
M
\{d^l_i\}^M
{dil}M,并输出相应的世界坐标系中的 3D 点
{
P
i
∈
R
3
}
N
\{P_i ∈ \mathbb{R}^3\}^N
{Pi∈R3}N 和线
{
L
i
∈
R
6
}
M
\{L_i ∈ \mathbb{R}^6\}^M
{Li∈R6}M 集合。最终目标是为来自同一环境的任何新查询图像
I
I
I 估计出一个六自由度(6 DOF)相机姿势
T
∈
R
4
×
4
T ∈ \mathbb{R}^{4×4}
T∈R4×4。
3. PL2Map
本节详细介绍了PL2Map模型,旨在学习稀疏的2D-3D对应关系,包括点和线。点和线都具有可互换的特征,如线端点和相邻点,可以整合以增强最终3D地图的开发和准确性。图2展示了提出的架构,包括三个子模块。
图2:PL2Map的架构,它包括三个主要组件:前端、注意力细化和建图回归器。