【泡泡图灵智库】鲁邦的多层次大范围定位算法(CVPR)

2019 年 6 月 9 日 泡泡机器人SLAM

泡泡图灵智库,带你精读机器人顶级会议文章

标题:From Coarse to Fine: Robust Hierarchical Localization at Large Scale

作者Paul-Edouard Sarlin, Cesar Cadena, Roland Siegwart and Marcin Dymczyk

来源:CVPR2019

编译:李永飞

审核:尹双双

欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权

摘要

       大家好,今天为大家带来的文章是——鲁邦的多层次大范围定位算法,该文章发表于CVPR2019。

     

        鲁棒而又精确的视觉定位在诸如自动驾驶、移动机器人、增强现实的许多应用中是一项基本的能力需求。视觉定位仍然是一项非常具有挑战性的任务,尤其是在应对大范围场景和场景显著变化的情况时。当前最好的算法不但很难处理上述问题,而且往往由于计算量过大无法满足一些实时应用。本文提出了HFNet,它是一种层级的定位算法。该算法基于一个CNN,能够同时计算局部特征和图像的描述子,以实现精确的6自由度姿态估计。本文采用了一种由粗到精的定位方式:首先通过图像检索,确定候选的“匹配地点”,而后仅对这些候选的匹配地点进行局部特征匹配。这种层级的方法很大层度上减少了运行时间,使得本文的系统很适合实时性要求高的应用场景。通过使用学习得到的描述子,本文的方法实现了在场景外观变化很大的情况下的鲁邦定位,并在两个很具挑战的大范围视觉定位数据集中创造了新的最佳纪录。

主要贡献

        本文的主要贡献为:

        1、 本文的方法在几个大范围视觉定位数据集上创造了新的最佳性能纪录,同时本文的方法鲁棒性非常好,特别是在具有挑战性的场景下;

        2、 本文提出了HF-Net,该网络能够同时计算局部特征和图像级别的全局特征;

        3、 本文证明了多任务精馏在实现异构预测器的运行时目标方面的实用性和有效性。


算法流程

        PS:本文主要解决大范围视觉定位中的两种挑战:一是场景外观变化很大时的鲁棒性问题;二是、在场景很大时的实时性问题。为此,作者主要做了两方面的努力:一是,考虑到基于深度学习的方法得到的场景描述子和局部描述子能够在场景外观变化的条件下更加稳定,本文采用了基于CNN的学习的方法,来实现图像检索和局部特征的提取;二是,为提高实时性,同时保证精度,本文采用了层级定位的方法:首先通过图像检索的方式(图像级的描述子检索)获取候选匹配“地点”,而后通过局部特征匹配实现精确的6-DoF位姿估计。由于图像全局描述子估计和局部特征的检测是两个分开的任务,如果采用两个网络,将会需要大量的计算量。为此,本文采用多任务学习的方法,通过两个任务共用部分网络,达到了通过一个网络同时估计全局描述子和提取局部特征的目的。


图1. 本文的基于HF-Net的分步定位方法比已有的方法更简单,但更鲁邦、精确和高效。

        下面主要从算法的总体流程、HF-Net网络结构、网络的训练三个方面,对本文的方法做具体的介绍。


算法流程

        如图1所示,本文的算法主要分为离线地图构建和在线定位两个阶段。在离线阶段,使用本文的HF-Net来提取每张图像的全局描述子,并以此建立图像的索引数据库。同时提取图像的特征点,并利用这些特征点进行SfM,得到场景的稀疏三维模型,最为相机位姿估计的三维地图。在线定位阶段主要分为三部分:图像索引、地点聚类、6-DoF位姿估计。图像索引:通过对图像的描述子的检索,确定候选的匹配图像;地点聚类:根据候选匹配图像对应的三维位姿,将相近的图像合为同一个“地点”;6-DoF位姿估计:通过与候选“地点”对应的二维特征点的匹配,得到观测图像二维点与地图三维点的对应关系,而后在RANSAC框架下,计算相机的位姿。


HF-Net网络结构

图2. HF-Net能够使用一个网络完成三项任务:生成全局图像描述子,检测特征点,生成特征点描述子。三个任务的“头部网络”(指从输出层算起的后面一部分网络)通过在各自“老师网络”的指导下进行联合的训练。

        如图2所示,该网络由一个共同的编码网络和三个“头部网络”组成。三个“头部网络”分别能输出:全局的图像描述子、特征点检测响应图、特征点描述子。其中编码网络由一个MobileNet搭建而成;全局图像描述子由NetVLAD层输出;采用SuperPoint解码器实现特征点的提取和描述子的计算。


网络的训练

        训练本文的HF-Net需要同时满足如下两个条件的数据集:一是,必须包含足够多的局部特征点,这些点的标注通常由SfM中得到;二是,必须包含足够多的图像,以训练全局描述子网络。由于训练全局描述子需要的图像数目往往远远多于SFM的图像数目,因此同时满足上述两个条件的数据集很难获取。为解决这一困难,本文采用知识蒸馏的方法,进行网络的训练,通过利用“老师网络”,减小了对数据集的要求。

主要结果

本文首先对当前性能最优的传统的和基于网络学习的特征点检测及描述子提取进行全面的实验评估,以说明本文选取SuperPoint的优势。而后具体介绍了实验的实现过程。最后,在多个数据集上进行了大范围场景的定位实验,并对算法的实时性进行了评估。实验结果如下:

表1. 特征点检测子性能评估。Rep指重复性,MLE指平均定位误差。

表2. 特征点描述子性能评估。

表3. 在Aachen Day-Night, RobotCar Seasons, 和CMU Seasons三个数据集上的定位性能的评估。本文主要统计了不同距离、不同方向阈值下的定位召回率,重点标出了最优和次优的算法。X+Y表示采用X作为全局描述子、Y作为局部特征点描述子的层级定位算法。由于SMC使用了额外的语义信息,因此在RobotCar数据集的比较中将其排除在外。

图3. 在Aachen night (左), RobotCar night-all (中) and CMU suburban (右)三个数据集上定位误差的分布。在Aachen数据集上,HF-Net和NV+SP性能相近,且由于其他方法。在RobotCar数据集上,HF-Net比NV+SP性能差一些,说明知识蒸馏方法的局限性。在CMU数据集上,HF-Net比其他方法性能提升显著,尤其是在小的定位阈值的情况下。 

表4. Aachen Day-Night数据集性能估计。表中数据为不同距离误差阈值下的召回率。

表5. 层级定位不同步骤的时间消耗,这些步骤包括:特征提取、全局搜索、地点聚类、局部匹配、PNP姿态估计。基于SIFT或者CNN的特征提取和描述子匹配运行在GPU上,其他的操作在CPU上。本文标出了每个序列上最快的方法。基于HF-Net的定位方法是当前最快的方法,且比AS方法快10倍。

Abstract    

  Robust and accurate visual localization is a fundamental capability for numerous applications, such as autonomous driving, mobile robotics, or augmented reality. It remains, however, a challenging task, particularly for large-scale environments and in presence of significant appearance changes. State-of-the-art methods not only struggle with such scenarios, but are often too resource intensive for certain real-time applications. In this paper we propose HF-Net, a hierarchical localization approach based on a monolithic CNN that simultaneously predicts local features and global descriptors for accurate 6-DoF localization. We exploit the coarse-to-fine localization paradigm: we first perform a global retrieval to obtain location hypotheses and only later match local features within those candidate places. This hierarchical approach incurs significant runtime savings and makes our system suitable for real-time operation. By leveraging learned descriptors, our method achieves remarkable localization robustness across large variations of appearance and sets a new state-of-the-art on two challenging benchmarks for large-scale localization.


如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号


点击阅读原文,即可获取本文下载链接。

欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。

有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!

泡泡网站:www.paopaorobot.org

泡泡论坛:http://paopaorobot.org/bbs/


泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!

商业合作及转载请联系liufuqiang_robot@hotmail.com

登录查看更多
9

相关内容

专知会员服务
73+阅读 · 2020年5月21日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
专知会员服务
31+阅读 · 2020年4月24日
专知会员服务
161+阅读 · 2020年4月21日
近期必读的9篇 CVPR 2019【视觉目标跟踪】相关论文和代码
【泡泡图灵智库】LIMO: LiDAR-单目相机视觉里程计(arXiv)
泡泡机器人SLAM
48+阅读 · 2019年5月14日
【泡泡图灵智库】基于几何一致性网络的摄像机运动估计
Optimization for deep learning: theory and algorithms
Arxiv
104+阅读 · 2019年12月19日
Monocular Plan View Networks for Autonomous Driving
Arxiv
6+阅读 · 2019年5月16日
Arxiv
8+阅读 · 2018年1月25日
VIP会员
Top
微信扫码咨询专知VIP会员