From Coarse to Fine: Robust Hierarchical Localization at Large Scale(CVPR-2019)[从粗到精:大规模鲁棒分层定位]

目录

Abstract

1. Introduction

2.Related Work

6-DoF visual localization

Scalable localization[可扩展性定位]

Learned local features【学习型局部特征】

3. Hierarchical Localization(分层定位)

1. 先验检索(Prior Retrieval):

2. 共视聚类(Covisibility Clustering):

3. 局部特征匹配(Local Feature Matching):


Abstract

这篇论文提出了一种名为HF-Net的分层定位方法,旨在实现稳健且准确的视觉定位,这对于自动驾驶、移动机器人和增强现实等众多应用至关重要。尽管视觉定位是这些应用的基本能力,但在大型环境和存在显著外观变化的情况下,仍然是一个具有挑战性的任务。

主要挑战

  • 大规模环境:处理广阔空间中的定位需要应对大量的数据和复杂的场景。

  • 外观变化:光照、天气、季节变化以及动态物体都会导致场景外观的显著变化,增加了定位的难度。

  • 实时性要求:许多应用需要实时或接近实时的定位,但现有的最先进方法往往计算资源消耗过大,无法满足实时应用的需求。

提出的解决方案:HF-Net

  • 单一的卷积神经网络(CNN):HF-Net是一个整体的CNN模型,能够同时预测局部特征和全局描述符,用于准确的6自由度(6-DoF)定位。

  • 分层定位策略

    • 粗到细的定位范式:首先进行全局检索以获取位置假设(候选位置),然后在这些候选地点内匹配局部特征。

    • 高效性:这种分层方法带来了显著的运行时间节省,使系统适合于实时操作。

  • 利用学习到的描述符:通过引入学习型的全局和局部描述符,提高了定位的鲁棒性,特别是在外观变化较大的情况下。

1. Introduction

        作者的工作旨在通过利用学习到的全局和局部特征,结合分层定位策略,提出一种既稳健又高效的视觉定位方法。通过引入HF-Net,他们实现了计算资源的高效利用,并在各种挑战性环境下取得了优异的定位性能。这种方法在移动设备等资源受限的平台上具有实际应用价值,也为其他需要平衡多模态预测性能和计算效率的任务提供了新的思路。

2.Related Work

        在这一部分中,作者回顾了与其方法的不同组件相关的其他研究工作,主要包括以下几个方面:

视觉定位(Visual Localization)、可扩展性(Scalability)、特征学习(Feature Learning)、在资源受限设备上的部署(Deployment on Resource-Constrained Devices)。

6-DoF visual localization

        6自由度(6-DoF)的视觉定位方法传统上被分类为基于结构的方法(structure-based)基于图像的方法(image-based)

        基于结构的方法

  • 描述:这类方法利用预先构建的三维场景模型(如点云、三维重建)来实现定位。具体而言,它们通过在查询图像中检测局部特征点,然后将这些特征与场景模型中的点进行匹配,从而计算出摄像机的精确位姿。

  • 优点:通常具有高精度的定位效果,因为利用了丰富的几何信息。

  • 缺点:在大规模环境下,存储和计算成本较高;对光照变化、视角变化和动态物体的鲁棒性较差。

        基于图像的方法

  • 描述:这类方法直接使用参考图像数据库,而不构建明确的三维模型。通过将查询图像与数据库中的图像进行全局特征匹配,找到最相似的参考图像,然后利用这些参考图像的已知位姿来估计查询图像的位姿。

  • 优点:计算效率更高,适合大规模环境;存储需求较低。

  • 缺点:定位精度通常不如基于结构的方法,因为缺乏精细的几何信息;对环境变化的适应性可能较差。

Scalable localization[可扩展性定位]

        在大型环境中进行定位(如城市级别的地图导航)时,系统需要处理大量的数据,这对计算资源提出了更高的要求。为了使定位方法在规模上可扩展(即在处理大型数据集时仍能高效运行),研究人员通常采取以下策略:

  1. 低成本特征提取:选择或设计能够快速从图像中提取的特征,减少计算时间。例如,使用简单的图像处理算法或轻量级的神经网络来提取特征。

  2. 紧凑的特征表示:使用占用存储空间较小的特征表示形式,以便在内存或硬盘中存储大量的特征数据。例如,使用低维度的特征向量或经过压缩的描述符。

  3. 高效的特征匹配:开发快速的特征匹配算法,能够在大量的候选特征中迅速找到匹配项。这可能涉及使用高效的数据结构(如k-d树)或近似最近邻搜索算法。

通过使用这些“开销较小”的特征,定位系统可以在不牺牲太多精度的情况下,提高计算和存储效率,从而在大规模环境中保持良好的性能。

Learned local features【学习型局部特征】

        传统上,计算机视觉中的局部特征描述符(如SIFT、SURF等)是由人工精心设计的算法,用于描述图像中的关键点。这些手工设计的描述符基于对图像梯度、纹理和形状等低级特征的数学模型。

然而,随着深度学习的兴起,研究人员开始探索使用数据驱动的方法来自动学习特征表示。这催生了学习型局部特征,即利用神经网络从大量数据中学习如何检测关键点和生成描述符。

学习型局部特征的优势:

  • 更高的鲁棒性和可重复性:通过从大量的训练数据中学习,模型可以捕捉到更具判别力的特征,提升在各种环境条件下的性能。

  • 端到端学习:可以同时学习特征检测和描述,使得整体系统更加优化。

  • 适应性强:能够更好地适应特定的应用场景或数据集,通过微调模型来满足特定需求。

传统上,计算机视觉中的局部特征描述符(如SIFT、SURF等)是由人工精心设计的算法,用于描述图像中的关键点。这些手工设计的描述符基于对图像梯度、纹理和形状等低级特征的数学模型。

然而,随着深度学习的兴起,研究人员开始探索使用数据驱动的方法来自动学习特征表示。这催生了学习型局部特征,即利用神经网络从大量数据中学习如何检测关键点和生成描述符。

学习型局部特征的优势:

  • 更高的鲁棒性和可重复性:通过从大量的训练数据中学习,模型可以捕捉到更具判别力的特征,提升在各种环境条件下的性能。
  • 端到端学习:可以同时学习特征检测和描述,使得整体系统更加优化。
  • 适应性强:能够更好地适应特定的应用场景或数据集,通过微调模型来满足特定需求。

3. Hierarchical Localization(分层定位)

作者的目标是最大化定位的鲁棒性,同时保持可控的计算需求。他们的方法基于分层定位框架 ,下面是对该框架的概述。

1. 先验检索(Prior Retrieval)

  • 粗略搜索:在地图级别执行,通过使用全局描述符将查询图像与数据库图像进行匹配。
  • k近邻(k-NN):找到k个最近邻居,称为先验帧(prior frames),它们代表地图中的候选位置。
  • 效率:由于数据库图像的数量远少于结构化运动(SfM)模型中的点,这种搜索是高效的。

2. 共视聚类(Covisibility Clustering)

  • 聚类先验帧:基于它们共同观测到的三维结构,将先验帧进行聚类。
  • 定义地点(Places):这相当于在共视图图(covisibility graph)中找到连通分量,称为地点。该图将数据库图像与模型中的三维点连接起来。

3. 局部特征匹配(Local Feature Matching)

  • 逐个处理地点:对于每个地点,依次将查询图像中检测到的二维关键点与该地点包含的三维点进行匹配。
  • 姿态估计:尝试使用PnP算法 [23] 和RANSAC方案 [14] 中的几何一致性检查,估计六自由度(6-DoF)的姿态。
  • 效率:由于在每个地点考虑的三维点数量明显少于整个模型中的点数,因此该局部搜索也是高效的。
  • 终止条件:一旦成功估计出有效的姿态,算法就会停止。

猜你喜欢

转载自blog.csdn.net/qq_45372239/article/details/142696107