《论文阅读27》SuperGlue: Learning Feature Matching with Graph Neural Networks

news2024/12/26 10:51:18

 一、论文

  • 研究领域: 图像特征点匹配
  • 论文:SuperGlue: Learning Feature Matching with Graph Neural Networks
  • CVPR 2020
  • veido
  • 论文code 

二、论文简述

[参考] [参考] [参考] 

 

三、论文详述

SuperGlue:使用图神经网络学习特征匹配

本文介绍了SuperGlue,一种神经网络,通过共同寻找对应点和拒绝不匹配点来匹配两组本地特征。分配估计通过解决一个可微的最优运输问题,其成本预测的图形神经网络。我们引入了一个灵活的上下文聚合机制的基础上的注意力,使SuperGlue的原因有关的基础3D场景和功能分配联合。与传统的手工设计的启发式算法相比,我们的技术通过从图像对进行端到端的训练来学习3D世界的几何变换和规则。SuperGlue优于其他学习方法,并在具有挑战性的真实世界室内和室外环境中的姿态估计任务上取得了最先进的结果。所提出的方法在现代GPU上实时执行匹配,并且可以容易地集成到现代SfM或SLAM系统中

  • Introduction

图像中的点之间的对应关系对于在几何计算机视觉任务(诸如同时定位和映射(SLAM)和运动恢复结构(SfM))中估计3D结构和相机姿态是必不可少的。这种对应性通常通过匹配局部特征来估计,这是一种被称为数据关联的过程。大的视点和光照变化、遮挡、模糊和缺乏纹理是使2D到2D数据关联特别具有挑战性的因素。

在本文中,我们提出了一种新的思维方式的特征匹配问题。本文提出了一种基于SuperGlue神经网络的局部特征匹配算法,该算法不需要学习任务不可知的局部特征,然后通过简单的匹配启发式算法和技巧来完成匹配过程。在SLAM环境中,通常[8]将问题分解为视觉特征提取前端和束调整或姿势估计后端,我们的网络直接位于中间- SuperGlue是一个可学习的中间端(见图1)。

与SuperGlue的特征匹配。我们的方法从现成的局部特征建立逐点对应:它充当手工或学习的前端和后端之间的中间端。SuperGlue使用图形神经网络和注意力来解决分配优化问题,并优雅地处理部分点的可见性和遮挡,从而产生部分分配。

在本文中,学习特征匹配被视为寻找两组局部特征之间的部分分配。通过求解线性分配问题,我们重新审视了经典的基于图的匹配策略,当将线性分配问题放松为最优运输问题时,可以微分地求解线性分配问题。该优化的成本函数由图神经网络(GNN)预测。受Transformer [61]成功的启发,它使用自我(图像内)和交叉(图像间)注意力来利用关键点的空间关系及其视觉外观。该公式强制执行预测的分配结构,同时使成本能够学习复杂的先验知识,优雅地处理遮挡和不可重复的关键点。我们的方法是从图像对中进行端到端的训练--我们从一个大型的带注释数据集中学习姿势估计的先验知识,使SuperGlue能够推理3D场景和分配。我们的工作可应用于各种需要高质量特征对应的多视图几何问题(见图2)。

图2:SuperGlue对应关系。对于这两个具有挑战性的室内图像对,使用SuperGlue进行匹配可以获得准确的姿势,而其他学习或手工制作的方法则会失败(对应关系被极线误差着色)。

我们展示了SuperGlue与手工制作的匹配器和学习的内点分类器相比的优越性。当与SuperPoint [18](一种深度前端)相结合时,SuperGlue推进了室内和室外姿势估计任务的最新技术,并为端到端深度SLAM铺平了道路。

  • Related work

局部特征匹配通常通过以下步骤来执行:

i)检测兴趣点,

i)计算视觉描述符,

iii)将这些与最近邻(NN)搜索进行匹配,

iv)过滤不正确的匹配,

最后v)估计几何变换。

21世纪初开发的经典管道通常基于SIFT [31],过滤器匹配Lowe比率测试[31],相互检查和启发式方法,如邻域共识[59,10,6,49],并使用RANSAC [21,43]等鲁棒求解器找到变换。

最近的深度学习匹配工作通常集中在使用卷积神经网络(CNN)从数据中学习更好的稀疏检测器和局部描述符[18,19,37,45,69]。为了提高它们的区分度,一些作品使用区域特征[32]或对数极坐标补丁[20]明确地查看更广泛的背景。其他方法通过将其分类为内点和离群点来学习过滤匹配[33,44,7,71]。这些操作仍然通过NN搜索估计的匹配集,因此忽略分配结构并丢弃视觉信息到目前为止,学习执行匹配的作品集中在密集匹配[46]或3D点云[65]上,并且仍然表现出相同的限制。相比之下,我们的可学习的中间端同时执行上下文聚合,匹配和过滤在一个单一的端到端架构。

图匹配问题通常被公式化为二次分配问题,其是NP难的,需要昂贵、复杂并且因此不切实际的求解器[30]。对于局部特征,2000年代的计算机视觉文献[5,27,57]使用了许多启发式的手工成本,使其变得复杂和脆弱。Caetano等人[9]学习更简单的线性分配的优化成本,但只使用浅层模型,而我们的SuperGlue使用深度神经网络学习灵活的成本。与图匹配相关的是最优运输问题[63] -它是一个广义线性分配,具有有效而简单的近似解,即Sinkhorn算法[55,12,39]。

点云等集合的深度学习旨在通过聚合元素之间的信息来设计置换等不变函数。一些作品通过全局池化[70,40,15]或实例归一化[60,33,32]平等地对待所有元素,而其他作品则专注于坐标或特征空间中的局部邻域[41,66]。Attention [61,64,62,26]可以通过关注特定的元素和属性来执行全局和数据相关的局部聚合,因此更加灵活。通过观察到自我注意力可以被视为完整图上的消息传递图神经网络[23,4]的实例,我们将注意力应用于具有多种类型边缘的图,类似于[28,72],并使SuperGlue能够学习关于两组局部特征的复杂推理。

  • The SuperGlue Architecture

动机:在图像匹配问题中,可以利用世界的一些规律:3D世界在很大程度上是平滑的,有时是平面的,如果场景是静态的,则给定图像对的所有对应关系都从单个对极变换导出,并且一些姿势比其他姿势更可能。此外,2D关键点通常是突出的3D点的投影,如角点或斑点,因此图像之间的对应关系必须遵守某些物理约束:

i)关键点可以在另一图像中具有至多单个对应关系

ii)由于检测器的遮挡和故障,一些关键点将不匹配。用于特征匹配的有效模型应旨在找到相同3D点的重投影之间的所有对应关系,并识别没有匹配的关键点。

我们将SuperGlue(见图3)表述为解决一个优化问题,其成本由深度神经网络预测。这减轻了对领域专业知识和启发式的需求-我们直接从数据中学习相关的先验知识。

 在线性规划问题中,可能会有以下形式的约束条件:

1. Ax ≤ b(不等式约束)
2. Ax = b(相等约束)

其中
- A 是代表约束条件的系数矩阵。
- x 是决策变量向量。
- b 是右侧的常量向量。


假设有一个相等约束 引入松弛变量 s 将其转换为不等式约束: Ax + s = b,其中 s 为非负。

松弛变量 s 的作用是衡量在满足相等约束条件时有多少 "松弛 "或剩余。

如果 s 为零,表示完全满足相等约束条件。

如果 s 为正数,则表示平等约束条件没有得到充分利用,还存在一定的松弛。

如果 s 为负数,则表示违反了相等约束条件。

加入松弛变量后,线性规划求解器就能处理不等式,并找到尽可能满足相等约束条件的解决方案,即使这些约束条件因其他约束条件而无法完全满足。

总之,引入松弛变量是为了将相等约束条件转化为不等式约束条件,同时确保非负性,这样就可以使用不等式约束问题的标准技术来求解线性规划问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1045069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI视野·今日Sound 声学论文速览 第十一期】Mon, 25 Sep 2023

AI视野今日CS.Sound 声学论文速览 Mon, 25 Sep 2023 Totally 1 papers 👉上期速览✈更多精彩请移步主页 Daily Sound Papers Deepfake audio as a data augmentation technique for training automatic speech to text transcription models Authors Alexandre R. …

Hashable/哈希协议, Arrays/数组 的使用

1. Hashable 模型实现哈希协议 1.1 实现 /// Identifiable struct MyCustomModel: Hashable{//let id UUID().uuidStringlet title: Stringfunc hash(into hasher: inout Hasher) {hasher.combine(title)} }/// 哈希协议: 唯一标识值 struct HashableBootcamp: View {// 每个…

山西电力市场日前价格预测【2023-09-27】

日前价格预测 预测说明: 如上图所示,预测明日(2023-09-27)山西电力市场全天平均日前电价为342.48元/MWh。其中,最高日前电价为454.24元/MWh,预计出现在18: 30。最低日前电价为171.32元/MWh,预计…

2023 年度编程语言榜单排名揭晓,Python稳坐多项第一

随着科技的迅速发展,编程语言已成为现代社会不可或缺的一部分: 无论是网站开发、移动应用、人工智能还是嵌入式系统,编程语言都扮演着关键角色。 当下流行的AI人工智能大多是通过Python语言实现的。 作为AI技术框架的基础语言,…

华为OD机试 - 工号不够用了怎么办 - 双指针(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

[CSCCTF 2019 Qual]FlaskLight 过滤 url_for globals 绕过globals过滤

目录 subprocess.Popen FILE warnings.catch_warnings site._Printer 这题很明显就是 SSTI了 源代码 我们试试看 {{7*7}} 然后我们就开始吧 原本我的想法是直接{{url_for.__globals__}} 但是回显是直接500 猜测过滤 我们正常来吧 {{"".__class__}} 查看当前…

项目经理如何顺利推进项目:做好任务规划,合理安排时间

在一个项目中,项目经理经常需面对超负荷的工作,并需要通过加班来达成每日的工作任务,他们时常需处理各种任务和大量的电子邮件。这导致项目经理在项目实施过程中,经常处于“救火”状态,而无法有效管理项目进程&#xf…

性能测试分类

一. 基准测试 二. 负载测试 通过逐步增加系统负载,测试系统性能的变化,在满足性能指标的前提下,系统所能承受的最大负载量的测试。 健身:举哑铃 10斤哑铃,举起10个需要15s 20斤哑铃,举起10个需要15s 30斤…

上海亚商投顾:沪指缩量调整 新型工业化板块掀涨停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量震荡调整,创业板指再度跌破2000点关口。新型工业化板块掀涨停潮,华辰装备…

SourceTree 账号或者密码输入错误 Incorrect username or password ( access token )解决办法

修改来修改去一直解决不了,那就试试查看一下源文件记录的账号密码吧!

聚势共赢!爱创科技喜获“腾讯健康年度优秀合作伙伴”!

2023年9月7日—8日,2023腾讯全球数字生态大会在深圳国际会展中心成功举办。来自行业的重磅院士学者、企业代表、生态伙伴等共赴大会,围绕“智变加速,产业焕新”这一活动主题进行了深层次、全方位的交流和探讨,共话大模型时代下数智…

华为智能企业上网行为管理安全解决方案(2)

本文承接: https://blog.csdn.net/qq_37633855/article/details/133339254?spm1001.2014.3001.5501 重点讲解华为智能企业上网行为管理安全解决方案的部署流程。 华为智能企业上网行为管理安全解决方案(2) 课程地址方案部署整体流程组网规划…

【云上探索实验室】编程范式变革进行时——CodeWhisperer实践全流程及测评分析报告

目录 一、基于LLM的辅助编程——编程范式变革进行时二、CodeWhisperer VS Code 安装与配置2.1、扩展安装2.2、配置 三、CodeWhisperer实践全流程3.1、CodeWhisperer基础实验3.2、CodeWhisperer项目实践——Web端宝可梦图鉴 四、CodeWhisperer测评分析报告4.1、功能性分析4.2、…

AI赋能的3D资产管理

推荐:用 NSDT编辑器 快速搭建可编程3D场景 想象一下,作为一名视频游戏设计师,你希望在游戏中使用 3D 龙模型。 以前,你可以通过两种方式执行此操作: 自己制作复杂的 3D 模型或从多个角度拍摄龙模型的照片。前往 3D 模…

远程计算机或设备不接受连接解决方法

远程计算机或设备不接受连接解决方法 点击左下角开始,点击运行,输入inetcpl.cpl,点击确定,打开Internet选项。 将三个框的勾勾去掉,即为不选中状态,点击确定。 当你的电脑浏览器不能正常上网时&#xff…

文件拖拽上传功能已经烂大街了,你还不会吗?

说在前面 🖼文件拖拽上传功能现在已经随处可见,大家应该都用过了吧,那么它具体是怎么实现的大家有去了解过吗?今天我们一起来实现一下这个功能,并封装一个拖拽上传组件吧。 效果展示 体验地址:http://jyeon…

typora+python打造舒适的文档写作环境

shigen的一大特点就是爱好折腾,今天上班的时候发现了一篇有趣的文章:TyporaMinIOPython代码打造舒适协作环境。开始还觉得不就这样吗?还在用minIO,shigen早就用上COS了!但是接下来的设置简直是美到天,直接在…

求求你们别学了,已经追不上了,JDK21已经发布了

目录 引言特性介绍2.1 字符串模版(预览版)2.1.1 在 Java 21 字符串拼接2.1.2 JDK 21 字符串模板 2.2 顺序集合*2.2.1 SequencedCollection 接口2.2.2 SequencedSet 和 SequencedMap 类 2.3 switch语句的改进2.4 Lambda表达式的新特性2.5 Structural Patt…

Java 华为真题-新员工座位安排

需求: 工位由序列F1,F2…Fn组成,Fi值为0、1或2。其中0代表空置,1代表有人,2代表障碍物. 1、某一空位的友好度为左右连续老员工数之和 2、为方便新员工学习求助,优先安排友好度高的空位给出工位序列,求所…

Python入门之【循环语句】全网最详细!

🏅我是默,这是我的个人主页。📚📚 🌟在这里,我要推荐给大家我的专栏《Python》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这个专栏都能满…