作者:Paul-Edouard Sarlin1 Cesar Cadena1 Roland Siegwart1 Marcin Dymczyk
研究机构:苏黎世联邦理工学院,Sevensense Robotics
HF-Net在设计之初就将实时性纳入考量,整个系统可以在1080Ti上达到20fps的速度的同时达到可观的精度。
本文提出了混合结构定位方法HF-Net( Hierarchical Feature Network),首先对查询图片进行全局检索,然后根据检所得到的图片进行局部特征匹配。论文还探索了该定位系统在算力有限的平台上运行时的速度和精度的平衡,最终达到了实时的速度。
现有方法无法同时做到对场景变化鲁棒、能够适用于户外大场景、实时运行。
本文贡献:
- 提出了HF-Net,性能SOTA,在大尺度场景中具有优越的鲁棒性
- 证明了多任务蒸馏的实用性和有效性,以提升异构的预测器的实时性
首先介绍混合结构的定位系统:
-
先验检索
图像级别的粗检索,在图像数据库中通过最近邻搜索得到检索图像的最近邻图像,即prior frames。
当图像数据库的size相比SFM建立的3D模型中的点少得多的时候,检索是高效的
-
可见聚类(Covisibility clustering)
基于prior frames可共同观测的3D结构对其进行聚类,在共视图中找到prior frames之间连通的部分,即places.
-
局部特征匹配
将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 && dense local descriptors
使用SuperPoint实现。这里作者提到使用SuperPoint相比于反卷积更加高效,且运行时间与检测到的关键点数目无关,速度不受其数目影响。
global image-wide descriptor.
使用NetVLAD层实现。
训练
需要的数据需要同时满足:
- 在全局图像级别上表现出足够的感知多样性,例如在各种条件下,例如白天,晚上,四季。。。
- 包含匹配图像之间的地面局部对应关系的真值。
目前没有满足条件的数据集
此外,使用数据扩扩增会破坏全局一致性,不利于训练。
论文使用的方法是多任务蒸馏:用teacher推理产生的结果作为训练的真值。
损失函数:
有三个teacher分别生成全局描述子(NetVLAD)、局部描述子、关键点得分(DOAP,SuperPoint),用于网络进行学习。
定位性能实验对比:统计三个阈值下的recall
图像检索过程的可视化:
速度:
20 FPS on very large-scale environments,
配置: i7-7820X CPU (3.60GHz) CPU, 32GB of RAM,NVIDIA GeForce GTX 1080 GPU.