【论文笔记】From Coarse to Fine: Robust Hierarchical Localization at Large Scale
???
~~~
???
????
~~~~
????强大而准确的视觉定位是众多应用的基本能力,例如自动驾驶、移动机器人或增强现实。然而,这仍然是一项具有挑战性的任务,特别是对于大规模环境和存在显着外观变化的情况。最先进的方法不仅受困于这些场景,而且对于某些实时应用程序来说往往过于占用资源。在本文中,我们提出了 HFNet,这是一种基于整体 CNN 的分层定位方法,可同时预测局部特征和全局描述符,以实现准确的 6-DoF 定位。我们利用从粗到细的定位范式:我们首先执行全局检索以获得位置假设,然后才匹配这些候选位置内的局部特征。这种分层方法显着节省了运行时间,并使我们的系统适合实时操作。通过利用学习到的描述符,我们的方法在外观的大变化中实现了显着的定位鲁棒性,并在两个具有挑战性的大规模定位基准上设置了新的最新技术。 本文采用了一种自然的粗到细姿态估计过程,它利用了全局描述符和局部描述符,并且可以很好地适应大环境(图 1)。实验表明,学习的描述符在具有挑战性的条件下具有无与伦比的鲁棒性,而学习的关键点由于其更高的可重复性而提高了计算和内存方面的效率。为了进一步提高这种方法的效率,我们提出了一种分层特征网络(HF-Net),一种联合估计局部和全局特征的 CNN,从而最大限度地共享计算。我们展示了如何使用多任务蒸馏以灵活的方式训练这种压缩模型。通过将多个最先进的预测器联合提炼成单个模型,我们获得了无与伦比的快速、稳健和准确的定位。即本文的贡献如下: – 在大规模本地化的几个公共基准中设定了新的最先进水平,在特别具有挑战性的条件下具有出色的稳健性; – 引入了 HF-Net,这是一种单片神经网络,它可以有效地预测分层特征以实现快速而稳健的定位; – 展示了多任务蒸馏在使用异构预测器实现运行时目标方面的实际用途和有效性
Hierarchical Localization
???
~~~
???
????
~~~~
????本文的目标是最大限度地提高定位的鲁棒性,同时保持易于处理的计算要求。我们的方法松散地基于分层定位框架 [42],我们在这里总结。
预先检索
???
~~~
???
????
~~~~
????地图级别的粗略搜索是通过使用全局描述符将查询与数据库图像进行匹配来执行的。 k 最近邻 (NN),称为先验帧,表示地图中的候选位置。考虑到数据库图像比 SfM 模型中的点少得多,这种搜索是有效的。
可见性聚类
???
~~~
???
????
~~~~
????先前的帧基于它们共同观察的 3D 结构进行聚类。这相当于在将数据库图像链接到模型中的 3D 点的共视图中找到连接的组件,称为位置。
局部特征匹配
???
~~~
???
????
~~~~
????对于每个位置,我们依次将查询图像中检测到的 2D 关键点与该位置中包含的 3D 点进行匹配,并尝试通过 RANSAC 方案 [16] 中的 PnP [25] 几何一致性检查来估计 6-DoF 姿态。这种局部搜索也很有效,因为该位置所考虑的 3D 点数量明显低于整个模型。一旦估计出有效姿势,算法就会停止。
讨论
???
~~~
???
????
~~~~
????在 [42] 的工作中,用于图像检索的大型先进网络 NetVLAD [2] 被提炼为更小的模型 MobileNetVLAD (MNV)。这有助于实现给定的运行时约束,同时部分保留原始模型的准确性。然而,局部匹配步骤基于 SIFT [28],其计算成本高且生成大量特征,这使得该步骤特别昂贵。虽然这种方法在小规模环境中表现出良好的性能,但它不能很好地扩展到更大、更密集的模型。此外,SIFT 与最近学习的特征没有竞争力,尤其是在光照变化很大的情况下 [18, 38, 14, 34]。最后,局部和全局描述符的计算有很大一部分是多余的,因为它们都基于图像低级线索。因此,手工制作的特征和 CNN 图像检索的异质性在计算上是次优的,并且在资源受限的平台上可能是至关重要的。
提出的方法
???
~~~
???
????
~~~~
????我们现在展示我们如何解决这些问题并提高健壮性、可扩展性和效率。我们首先鼓励使用具有同构网络结构的学习特征,然后详细介绍第 4.1 节中的架构和第 4.2 节中的新训练程序。学习到的特征看起来很自然地适合分层定位框架。最近的方法如 SuperPoint [14] 已证明在关键点可重复性和描述符匹配方面优于流行的基线,如 SIFT,这对定位都至关重要。此外,一些学习到的特征比 SIFT 更稀疏,从而减少了要匹配的关键点的数量并加快了匹配步骤。我们在 5.1 节中展示了图像检索中最先进的网络和局部特征的结合自然地实现了最先进的定位。这种方法在极具挑战性的条件下尤其出色,例如夜间查询,在 3D 模型尺寸较小的情况下,其性能大大优于竞争方法。尽管此类网络的推理速度明显快于在 GPU 上计算 SIFT,但对于所提出的定位系统而言,它仍然是一个很大的计算瓶颈。为了提高在移动设备上在线定位的能力,我们在此介绍了一种用于分层特征的新型神经网络 HF-Net,可实现有效的粗到细定位。它在一次拍摄中检测关键点并计算局部和全局描述符,从而最大限度地共享计算,同时保留更大基线网络的性能。我们在图 2 中展示了它在分层本地化框架中的应用。
HF-Net 架构
???
~~~
???
????
~~~~
????卷积神经网络本质上表现出层次结构。这种范式非常适合局部和全局特征的联合预测,并且额外的运行时成本很低。 HF-Net 架构(图 3)由单个编码器和三个预测头组成:i) 关键点检测分数,ii) 密集局部描述符和 iii) 全局图像范围描述符。这种计算共享是很自然的:在最先进的图像检索网络中,全局描述符通常是从局部特征图的聚合中计算出来的,这可能有助于预测局部特征。 HF-Net 的编码器是 MobileNet [41] 骨干网,这是一种针对移动推理优化的流行架构。与 MNV [42] 类似,全局描述符由位于 MobileNet 的最后一个特征图之上的 NetVLAD 层 [2] 计算。对于局部特征,SuperPoint [14] 架构因其效率而有吸引力,因为它以固定的非学习方式解码关键点和局部描述符。这比应用转置卷积对特征进行上采样要快得多。它预测双线性采样的密集描述符,从而导致运行时独立于检测到的关键点的数量。另一方面,LF-Net [38] 等基于补丁的架构将连体网络应用于以所有关键点位置为中心的图像补丁,导致计算成本与检测次数成正比。由于其效率和灵活性,我们因此对关键点和局部描述符采用 SuperPoint 解码方案。局部特征头比全局头更早地从 MobileNet 编码器中分支出来,因为需要更高的空间分辨率来保留空间判别特征,局部特征的语义级别低于图像范围的描述符 [15]。
训练流程
数据稀缺
???
~~~
???
????
~~~~
????局部和全局描述符通常使用度量学习进行训练,使用地面实况正负对局部补丁和完整图像。在训练大型 CNN 所需的规模上,获得这些基本事实对应关系特别困难。虽然全局监督自然地从局部对应中出现,但目前没有这样的数据集同时 i) 在全局图像级别表现出足够的感知多样性,例如在各种条件下,例如白天、黑夜、季节和 ii) 包含匹配图像之间的地面实况局部对应关系。这些对应关系通常是从从 SfM 模型 [47, 49] 计算的密集深度 [38] 中恢复的,这在图像检索所需的规模上难以构建。
数据增强
???
~~~
???
????
~~~~
????不依赖于对应关系的自监督方法,如 SuperPoint,需要大量数据增强,这是局部描述符不变性的关键。虽然数据增强通常可以很好地捕捉局部水平的现实世界的变化,但它会破坏图像的全局一致性,并使全局描述符的学习变得非常具有挑战性。
多任务蒸馏
???
~~~
???
????
~~~~
????是我们解决这个数据问题的方法。我们使用蒸馏直接从现成的训练有素的教师模型中学习表示。这通过更简单、更灵活的训练设置缓解了上述问题,允许使用任意数据集,因为可以从教师网络的推理中获得无限量的标记数据。直接学习预测教师网络的输出还减轻了学习任务,允许直接训练较小的学生网络。我们注意到与 SuperPoint 的一个有趣的相似之处,它的检测器通过自举训练,通过不同的训练运行由自身监督。这个过程也可以称为自蒸馏,并显示了蒸馏作为一种实际培训计划的有效性。对局部和全局特征的监督可以来自不同的教师网络,从而产生允许利用最先进教师的多任务蒸馏训练。多任务学习的最新进展 [23] 使学生能够最佳地复制所有教师 t1;2;3,而无需手动调整平衡损失的权重: 其中 dg 和 dl 是全局和局部描述符,p 是关键点分数,w1;2;3 是优化变量。更一般地说,我们的多任务蒸馏公式可以应用于需要多次预测同时保持计算效率的任何应用程序,特别是在收集所有任务的地面实况数据成本高昂的情况下。它也可以应用于一些被认为过于计算密集的手工描述符。
|