用几何信息来辅助基于特征的视觉定位(arxiv 2022)
标题:Improving Feature-based Visual Localization by Geometry-Aided Matching
发表于:arxiv 2022.10.16
来自:浙大CAD&CG国家重点实验室 商汤科技
开源代码:https://github.com/openxrlab/xrlocalization.
主要内容:提出了一种新的2D-3D匹配方法,几何辅助匹配(GAM),使用外观信息和几何上下文来改进2D-3D特征匹配,可以在保持高精度的同时增强2D-3D匹配的recall,将GAM插入到分层视觉定位pipeline中,表明GAM可以有效地提高定位的鲁棒性和准确性,其实验表明,GAM可以找到比手工启发式和学习的方法更正确的匹配,在多个视觉定位数据集上获得了最先进的结果。
来源:微信公众号「3D视觉工坊」
Contributions:
提出了GAM,首先根据视觉外观为每个2D点建立多个候选匹配,然后根据几何上下文过滤不正确的匹配。
提出了一种称为BMNet的深度神经网络来处理多对多候选匹配,它可以预测每个2D-3D匹配的几何先验并输出全局最优匹配集。
提出了一种具有新场景检索策略的分层视觉定位方法,进一步提高了姿态估计的鲁棒性。
所提出的定位方法在多个数据集上优于最先进的方法。
几何辅助匹配:


网络架构:



Hungarian Pooling:如果直接训练g(g;θ),网络参数将很难学习,因为几何一致性可能与监督冲突,如下图所示。

2D图像点与在3D空间中接近的两个3D点匹配,在相同的相机姿势下,它们可能都有小的重投影误差,网络易于根据提取的几何特征为它们生成相似的权重,这两种对应关系都被认为是几何一致的。然而其中只有一个是inlier,其余的则是outlier,多个对应具有相似的几何特征但具有不同标签的这种差异使得网络难以收敛。为了解决这个问题,将匈牙利算法引入到网络中进行端到端训练。匈牙利算法可以找到全局最优的一对一匹配,因为只选择了两个对应关系中的一个,所以可以消除几何一致性和监督之间的差异。基于由g(g;θ)预测的权重向量w和二分图g,权重矩阵w被构造为:

其中W的未填充元素被设置为0,然后将匈牙利算法应用于该权重矩阵W获得匹配M的最大权重。分配向量s由下列公式获得:

由于输出边缘来自输入边缘的子集,引入匈牙利算法的层可以被视为一个特殊的采样层,称之为匈牙利池,端到端训练中使用的反向传播公式如下:

分层定位pipeline:
对于查询图像,提取其全局特征和局部特征,全局特征用于粗略定位以确定要匹配的3D点集,提取的局部特征和结合相应描述符的3D点集都被送到GAM中以获得全局最优2D-3D对应。整个定位过程分为三个模块,即场景检索、2D-3D特征匹配和先验引导姿态估计。场景检索:


根据场景检索的顺序执行GAM并输出匹配的2D-3D对应,对于第k个场景

,获取其3D点和相应的描述子来构建3D特征集,在从查询图像提取的2D局部特征和3D特征之间执行GAM,输出匹配M的最大权重,根据欧氏距离执行kNN比率匹配,当描述子被归一化时,这可以通过矩阵运算有效地实现。
先验引导的姿态估计:
由于M中仍然存在一些错误匹配,在RANSAC循环中应用PnP解算器,在RANSAC loop中,采样2D-3D对应的概率由BMNet预测的似然决定,这使得能够以更大的机会对可能的inlier进行采样。
实验:
首先进行了2D-3D匹配实验,表明GAM以比手工制作的方法和学习方法更高的精度找到更多的真实匹配。数据集:MegaDepth数据集中选择一个位置作为2D-3D匹配评估的测试数据集。将GAM与传统手工制作方法和学习匹配方法进行了比较使用最近邻(NN)匹配器从描述符空间中的每个2D点的所有3D点中找到最近邻,手工制作的异常值剔除方法包括比率测试(ratio)、距离阈值(distance)和彼此最近的邻居(cross check),因为没有其他基于学习的方法直接用于2D-3D特征匹配,因此将最近提出的一些在2D-2D匹配中表现良好的方法迁移到2D-3D进行比较,将LGCNet和OANet的输入从2D-2D对应替换为2D3D对应,即LGCNet-2D3D和OANet2D3D

评估GAM在视觉定位方面的有效性以及提出的视觉定位框架:数据集:Aachen Day-Night

与SOTA定位方法的比较:数据集:Cambridge Landmarks 和Aachen Day-Night


总结:
提出了一种用于视觉定位的2D-3D匹配方法GAM,同时使用外观信息和几何上下文来提高匹配性能,在保持高精度的同时提高了2D-3D匹配的召回率,其引入了一种新的二部匹配神经网络BMNet以提取2D-3D对应的几何特征,并可以学习全局几何一致性以预测每个对应的真实匹配的可能性,还将匈牙利算法集成到BMNet中作为一个特殊的池层以端到端的方式找到最大权重匹配,使得定位能够获得更正确的匹配从而提高了定位的鲁棒性和准确性。
本文仅做学术分享,如有侵权,请联系删文。
点击进入—>3D视觉工坊学习交流群
3D视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
8.从零搭建一套结构光3D重建系统[理论+源码+实践]
9.单目深度估计方法:算法梳理与代码实现
10.自动驾驶中的深度学习模型部署实战
11.相机模型与标定(单目+双目+鱼眼)
12.重磅!四旋翼飞行器:算法与实战
13.ROS2从入门到精通:理论与实战
14.国内首个3D缺陷检测教程:理论、源码与实战
15.基于Open3D的点云处理入门与实战教程
16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进
17.不断更新中......
点击进入—>粉丝交流群
重磅!粉丝学习交流群已成立
交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。
添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速通过且邀请进群。原创投稿也请联系。