【论文笔记】开放场景下的实时视觉重定位方法 HF-Net 2019

 2023-09-05 阅读 105 评论 0

摘要:HF-Net: From Coarse to Fine: Robust Hierarchical Localization at Large Scale 作者:Paul-Edouard Sarlin1 Cesar Cadena1 Roland Siegwart1 Marcin Dymczyk 研究机构:苏黎世联邦理工学院,Sevensense Robotics HF-Net在设计之初就将实时性纳入考量&#x

HF-Net: From Coarse to Fine: Robust Hierarchical Localization at Large Scale


作者:Paul-Edouard Sarlin1 Cesar Cadena1 Roland Siegwart1 Marcin Dymczyk

研究机构:苏黎世联邦理工学院,Sevensense Robotics

HF-Net在设计之初就将实时性纳入考量,整个系统可以在1080Ti上达到20fps的速度的同时达到可观的精度。
较好的实时性的原因在于:

  1. 使用模型蒸馏的方法将全局描述子提取器、局部特征点提取器融合为一个较小的网络模型。
  2. 最大限度的共享特征,关键点检测、局部描述子、全局描述子同时完成。
论文解决的问题

本文提出了混合结构定位方法HF-Net( Hierarchical Feature Network),首先对查询图片进行全局检索,然后根据检所得到的图片进行局部特征匹配。论文还探索了该定位系统在算力有限的平台上运行时的速度和精度的平衡,最终达到了实时的速度。

现有方法的不足 & 本文贡献

现有方法无法同时做到对场景变化鲁棒、能够适用于户外大场景、实时运行。
Baseline: active search等直接进行2D-3D匹配的方法,在模型较大时会发生场景混淆的情况,限制了其适用场景的规模。
本文贡献:

  1. 提出了HF-Net,性能SOTA,在大尺度场景中具有优越的鲁棒性
  2. 证明了多任务蒸馏的实用性和有效性,以提升异构预测器的实时性
论文方法介绍
![HF-net重定位pipeline](https://img-blog.csdnimg.cn/20210515203144736.png) 首先介绍层级定位的步骤:
  1. 先验检索
    图像级别的粗检索,在图像数据库中通过最近邻搜索得到检索图像的最近邻图像,即prior frames。
    当图像数据库的size相比SFM建立的3D模型中的点少得多的时候,检索是高效的

  2. Covisibility clustering
    基于prior frames可共同观测到的3D结构对其进行聚类,在共视图中找到prior frames之间连通的部分,即places.

  3. 局部特征匹配
    将2D点(查询图像)与3D点(places)进行匹配,根据RANSAC求得预测位姿。当places中的点与3D模型相比非常少时,局部匹配也是非常高效的。

HF-Net

由四个部分构成:encoder,keypoint detection scores,dense local descriptors , global image-wide descriptor.
在这里插入图片描述

encoder:

负责提取特征。输出的特征图用于后续的全局描述子、关键点、局部描述子的预测。
使用Mobile-Net作为骨干网络

keypoint detection scores && local descriptors

使用SuperPoint decoder 机制,这里作者提到使用SuperPoint decoder使用一种非学习的固定方式对关键点和局部描述子进行解码,因此相比于反卷积更加高效,其运行时间与检测到的关键点数目无关,因而提取速度波动较小。

global image-wide descriptor.

使用NetVLAD层实现。

训练

需要的数据需要同时满足:

  1. 在全局图像级别上表现出足够的感知多样性,例如在各种条件下,例如白天,晚上,四季。。。
  2. 包含匹配图像之间的地面局部对应关系的真值。

目前没有满足条件的数据集

此外,使用数据扩扩增会破坏全局一致性,不利于训练。

论文使用的方法是多任务蒸馏:用训练好的teacher模型推理产生的结果作为训练的真值。得到的student模型尺寸更小,

损失函数:
L=e−w1∣∣dsg−dt1g∣∣22+e−w2∣∣dsl−dt2l∣∣22+2e−w3CrossEntropy(ps,pt3)+∑iwi,L=e^{−w_1}||d^g_s−d^g_{t1}||^2_2+e^{−w_2}||d^l_s−d^l_{t2}||^2_2+ 2e^{−w_3}CrossEntropy(p_s,p_{t3}) +\sum_iw_i, L=ew1dsgdt1g22+ew2dsldt2l22+2ew3CrossEntropy(ps,pt3)+iwi,
有三个teacher分别生成全局描述子(NetVLAD)、局部描述子、关键点得分(DOAP,SuperPoint),用于网络进行学习。
该损失函数的优势是损失函数项的权重也是可优化的,不需要手动设置为超参数。

实验内容以及分析

局部关键点和局部描述子评估

数据集: HPatches, SFM
metrics:

  1. for detectors: repeatability 以及 localization error
  2. for descriptors: 首先对描述子之间进行最近邻匹配,然后计算mean average precision 以及matching score. 前者体现拒绝假匹配的能力,后者体现关键点以及描述子的综合质量。

关键点检测评估结果
在这里插入图片描述
总体上,detectors的可重复性越好,其定位误差也越大。(越dense误差越多)
superpoint两个指标都适中,是较好的Trade-off
局部特征点(关键点 + 描述子)综合评估
在这里插入图片描述
这里的netvlad指的是the feature map conv3_3of NetVLAD的输出

  • 在SFM数据集上,superpoint + DOAP(在HPatches上训练) 的方法全面超越了superpoint
  • 总体而言,基于学习的特征优于手工特征
  • Harris + superpoint的表现很差,说明学习的方法在检测关键点时并非只根据几何特征,且和基于学习的描述子配合时效果才好。
  • superpoint 只需要很少的关键点就能够预测出不错的pose,对于实时性要求较高的场合superpoint是一个不错的选择。

Implementation Details

Teacher models

  • 通过之前的结果, 关键点最佳的时superpoint, 描述子DOAP和superpoint都不错。在后续的定位实验中,根据结果可知,super point在day-night appearance variations的情况下表现更好(因为superpoint的训练集包括夜间图像)。因此选择了superpoint作为HF-Net的关键点以及描述子的 teacher model.
  • 选择Netvlad作为全局描述子teacher model

training data

We thus train on 185 k images from the Google Landmarks dataset [36], containing a wide variety of daytime urban scenes, and 37k images from the night and dawn sequences of the Berkeley Deep Drive dataset [58], composed of road scenes with motion blur.We also train with photometric data augmentation but use the targets predicted on the clean images.

训练数据完全拟合目标应用场景的数据:日间图像 + 夜间图像 + 有运动模糊的道路街景 + 光度变化扩增数据

Efficient hierarchical localization

[42]指出2D-3D matching是层级定位方法的瓶颈,本文的解决方法是:

  • 使用一个修改的ratio test过滤掉虚假的局部匹配,该ratio test 仅在第一和第二最近邻居描述符对应于不同3D点的观察结果时才使用,从而能在共视关系较好的区域中保留更多matches
  • Learned global and local descriptors are normalized and matched with a single matrix multiplication on GPU.

定位性能实验对比:统计三个阈值下的recall

数据集: 根据 aachen, robotcar seasons, CMU seasons三个数据集生成三个稀疏SFM模型(using colmap)。
colmap默认重建用的是rootSIFT 特征,因此作者使用superpoint 和HF-net检测关键点分别进行重建。重建流程:

  1. 使用自己的feature(superpoint, HF-Net)进行2D-2D匹配(with ratio test)
  2. colmap 中做two-view geometry对得到的匹配关系进一步过滤
  3. 根据数据集中图像的对应参考pose, 三角化得到3D points。
  4. 得到的稀疏模型与原始的模型(rootsift based)尺度相同。

稀疏三维模型质量评估: HF-Net Aachen model

  • 包含的3D points更少(685k vs 1,899k for SIFT),每张图像中的2D关键点更少(2,576 vs 10,230 for SIFT)
  • 匹配到的2D关键点所占比例更高(33.8% vs 18.8% for SIFT),且平均每个3D点参考图像观测到的数目更多(track length)

综上:在HF-Net生成的稀疏模型中,查询关键点更可能匹配成功,这表明本文的特征网络能够生成更适合重定位的三维稀疏模型

对比方法:

  • NV+ SP: netvlad + superpoint
  • AS / CSL: active search / City Scale Localization, 这两种方法都是直接做2D-3D匹配的方法,作为baseline
  • SMC : Semantic Match Consistency ,一种使用语义分割进行 外点过滤的方法,需要已知重力方向和相机高度。
  • NV+SIFT: netvlad + rootsift
  • densevlad: 全局描述子提取方法
    metrics:
    根据预定义的pose(平移量和旋转量)阈值,计算其recall. 在这里插入图片描述
  • 基于层级定位结构的方法(NV+*) 优于 2D-3D直接匹配的方法(AS,CSL)
  • NV+SP性能最优,SOTA
  • HF-Net性能略优于NV+ sift
  • 对比NV+ sift 和 AS,可以看出层级定位机制相比于直接匹配方法的优势。
  • 对于NV+ sp 和NV+ sift, 可以看出基于学习SOTA特征点相比于手工SOTA特征点的优势。

在这里插入图片描述

  • 在RobotCar夜间序列中,HF-Net明显比NV+SP差,这是由于模型蒸馏得到的全局描述子对模糊的低质量图像的性能较差。这清楚地表明了本文方法的局限性:在大型,自相似环境(self-similar environment)中,HF-Net的模型容量成为限制因素。

在这里插入图片描述

  • 对比NV+SP 和 NV+HF, 可以看出HF-Net的局部描述子优于其用于训练的superpoint,这证明了多任务蒸馏的好处,其中来自全局描述子 teacher model 的监督信号可以改善 中间层的特征,并提升局部描述子的性能。
  • DOAP描述子在夜间明显更差,可能是由于SuperPoint所基于的复杂的数据扩充机制(所以没有superpoint好)。
  • HF-Net V.S NV+HF-Net, HFnet略差,说明HF-Net的全局描述子提取的不如teacher model 好,推测是模型容量的限制导致(因为netvlad的model size较大)

图像检索过程的可视化:

在这里插入图片描述

速度:

配置: i7-7820X CPU (3.60GHz) CPU, 32GB of RAM,NVIDIA GeForce GTX 1080 GPU在这里插入图片描述

  • HF-net 比 NV+ sp 稳定快100ms
  • HF-Net的 特征提取步骤只需要15ms, 而 local matching + PnP 部分只需要7~44ms。主要消耗时间的步骤时 特征提取和Pnp
  • NV + sift 不能实时,主要是sift 点太多,且提取太慢
  • NV+sp中, 提取NV 和sp的特征就占用了75%的时间,是速度瓶颈所在。HF-Net主要就是将这两个步骤通过模型蒸馏融合为一步,因而速度得到了极大的提升(7 times faster)

HF-NET: 20 FPS on very large-scale environments

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/642.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息