2024.5.5 机器学习周报

引言

Abstract

文献阅读

1、题目

SuperGlue: Learning Feature Matching with Graph Neural Networks

2、引言

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

3、创新点

  • SuperGlue架构利用了自注意力和交叉注意力,有效处理局部特征匹配问题。
  • SuperGlue通过解决最优传输问题,优雅地处理了局部分配和遮挡点。
  • SuperGlue实现了在极端宽基线室内和室外图像对上高度准确的相对姿态估计。

4、匹配问题

  • 本地特征匹配:通常,这是通过以下三个步骤来完成的:
  1. 提取图像特征;
  2. 使用最近邻居搜索匹配这些特征;
  3.  使用几何变换(例如RANSAC)对它们进行过滤。传统的方法通常基于SIFT,并使用邻域共识等技术。
  • 深度学习与匹配:一些工作尝试直接从深度学习模型中获取匹配,这些模型可能使用卷积神经网络从数据中获取特征。一些方法显式地考虑更广泛的上下文,或通过学习区分内外点(inliers and outliers)来过滤匹配。其他工作着重于深度学习来进行特征匹配,这些工作可能基于3D点云或视觉信息。PostRANSAC等方法可以从头到尾地执行内容聚合、匹配和过滤。
  • 图匹配问题:这些问题通常被描述为二次分配问题,这些问题是NP-hard,需要复杂且昂贵的解算器。早期的方法依赖于手工制作的代价函数,而现代的方法则更加简化,例如使用Sinkhorn算法来近似解决问题。
  • 深度学习与置换:深度学习可以被用于求解排列等式或不变的问题。这可以通过全局池化、区间规范化或在特征空间中的局部邻域来实现。此外,深度学习还可以进行全局和数据依赖的数据集聚合。

5、SuperGlue架构

  • Motivation:在图像匹配问题中,需要注意一些规律性。例如,某些关键点在静态场景中更容易匹配,而在动态场景中可能更难匹配。

  • Formulation:考虑两个图像A和B,每个图像都有一组关键点位置和关联的视觉描述符。SuperGlue旨在学习从数据中直接获取的相关先验知识

SuperGlue由两个主要组件组成:注意力图神经网络(Attentional Graph Neural Network)和最佳匹配层(Optimal matching layer)。第一个组件使用关键点编码器将关键点位置p及其视觉描述符d映射到单个向量中,然后使用交替的自我和交叉注意层(重复L次)来创建更强大的表示f。最佳匹配层创建一个M × N得分矩阵,用垃圾箱对其进行扩充,然后使用Sinkhorn算法(T次迭代)找到最佳部分分配。

5.1、注意力图神经网络(Attentional Graph Neural Network)

当被要求匹配一个给定的模糊关键点时,人类会来回查看两张图像:他们筛选试探性匹配的关键点,检查每个关键点,并寻找上下文线索,以帮助从其他自相似性中消除真正的匹配。这暗示了一个迭代过程,可以将注意力集中在特定的位置。

关键点编码器:将关键点位置嵌入到具有多层感知器(MLP)的高维向量中:

这个编码器使图形网络能够在以后联合推理外观和位置,特别是当与注意力结合时,并且是语言处理中流行的“位置编码器”的一个实例。

多重图神经网络:图有两种类型的无向边-它是一个多重图。图像内边缘或自边缘将关键点i连接到同一图像内的所有其他关键点。图像间边缘或交叉边缘将关键点i连接到其他图像中的所有关键点。我们使用以下消息传递公式来沿着沿着两种类型的边传播信息:

由此产生的多路复用图神经网络从每个节点的高维状态开始,并通过同时聚合所有节点的所有给定边的消息来在每一层计算更新的表示。令(xA i)为图像A中位于层xB处的元素i的中间表示。消息m_{\varepsilon }→i是来自所有关键点{j :(i,j)∈ \varepsilon}的聚合的结果。其中[·||·]表示连接。

如上图是可视化自我注意力和交叉注意力。注意力聚合在关键点之间构建动态图。权重αij显示为射线。自我注意力(顶部)可以出现在同一图像中的任何地方,例如独特的位置,因此不限于附近的位置。交叉关注(底部)关注其他图像中的位置,例如具有相似外观的潜在匹配。 

5.2、最佳匹配层(Optimal matching layer)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Mac】Photoshop 2024 for mac最新安装教程

软件介绍 Photoshop 2024是Adobe公司推出的一款图像处理软件,它支持Windows和Mac OS系统。Adobe Photoshop是业界领先的图像编辑和处理软件之一,广泛用于设计、摄影、数字绘画等领域。 Photoshop 2024的功能包括: 1.图像编辑:提…

如何提高商务认知与情商口才(3篇)

如何提高商务认知与情商口才(3篇) **篇:提高商务认知 商务认知的提升是一个系统工程,需要我们不断地积累知识、理解市场和关注行业动态。以下是一些具体的方法: 持续学习:通过阅读商业书籍、参加行业研讨…

相机知识的补充

一:镜头 1.1MP的概念 相机中MP的意思是指百万像素。MP是mega pixel的缩写。mega意为一百万,mega pixel 指意为100万像素。“像素”是相机感光器件上的感光最小单位。就像是光学相机的感光胶片的银粒一样,记忆在数码相机的“胶片”&#xff…

【深耕 Python】Data Science with Python 数据科学(17)Scikit-learn机器学习(二)

写在前面 关于数据科学环境的建立,可以参考我的博客: 【深耕 Python】Data Science with Python 数据科学(1)环境搭建 往期数据科学博文一览: 【深耕 Python】Data Science with Python 数据科学(2&…

论文精读-基于FPGA的卷积神经网络和视觉Transformer通用加速器

论文精读-基于FPGA的卷积神经网络和视觉Transformer通用加速器 优势: 1.针对CNN和Transformer提出了通用的计算映射(共用计算单元,通过不同的映射指令,指导数据通路和并行计算) 2.非线性与归一化加速单元&#xff0…

路由器的构成

一、路由器简介 路由器是互联网中的关键设备: 连接不同的网络路由器是多个输入端口和多个输出端口的专用计算机,其任务是转发分组(转发给下一跳路由器)下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止 …

线程的概念

文章目录 1、什么是线程2、进程和线程的区别3、多线程的概述4、在Java中实现多线程的方法1.继承Thread类2.实现Runnable接口3.使用匿名内部类来继承Thread类,实现run方法4.使用匿名内部类来实现Runnable接口,实现run方法5.使用 lambda表达式 1、什么是线…

STM32 DMA直接存储器存取

单片机学习! 目录 文章目录 前言 一、DMA简介 1.1 DMA是什么 1.2 DMA作用 1.3 DMA通道 1.4 软硬件触发 1.5 芯片资源 二、存储器映像 2.1 存储器 2.2 STM32存储器 三、DMA框图 3.1 内核与存储器 3.2 寄存器 3.3 DMA数据转运 3.4 DMA总线作用 3.5 DMA请求 3.6 DMA结构…

linux的常见命令

📝个人主页:五敷有你 🔥系列专栏:Linux ⛺️稳中求进,晒太阳 Linux中检查进程是否存在: ps -ef | grep [进程名或进程ID] pgrep -f [进程名|进程ID] pidof [进程名] Linux中检查某个端口是否被…

neo4j 的插入速度为什么越来越慢,可能是使用了过多图谱查询操作

文章目录 背景描述分析解决代码参考neo4j 工具类Neo4jDriver知识图谱构建效果GuihuaNeo4jClass 背景描述 使用 tqdm 显示,处理的速度; 笔者使用 py2neo库,调用 neo4j 的API 完成节点插入; 有80万条数据需要插入到neo4j图数据中&am…

目标检测发展概述

前言 本篇文章只是简单介绍一下目标检测这一计算机视觉方向的发展历史,因此重点在于介绍而不是完整阐述各个时期的代表算法,只要能够简单了解到目标检测的发展历史那么本文的目的就达到了。 目标检测的任务 从上图不难看出,目标检测是计算机…

第十五届蓝桥杯

经历半年以来的学习,终于出结果了。期间无数次想要放弃,但是我都挺过来了,因为我还不能倒下。期间有很多次焦虑,一直在想,我要是没拿奖我是不是白学了。但是学到最后就释怀了,因为在备赛期间,我…

unity制作app(1)--登录 注册 界面

把学到的知识投入到生产中反而是一件简单的事情! 1.调整canvas的形状,这里和camera没有任何关系! overlay! 2.既然自适应,空间按钮的位置比例就很重要了! game窗口中新增720*1280的分辨率! 3.再回到can…

电商直播带货运营计划主播话术脚本规划表格

【干货资料持续更新,以防走丢】 电商直播带货运营计划主播话术脚本规划表格 部分资料预览 资料部分是网络整理,仅供学习参考。 直播运营模板合集(完整资料包含以下内容) 目录 直播运营计划 1. 直播前准备阶段 - 抖店商品上架&a…

重定义大语言模型的记忆能力:对抗性压缩如何挑战现有测量法

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享,与你一起了解前沿深度学习信息! Rethinking LLM Memorization through the Lens of Adversarial Compression 引言:探索大型语言模型的记忆能力 在当今信息时代,大型…

【c++】模板编程解密:C++中的特化、实例化和分离编译

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,本篇文章我们来学习模版的进阶部分 目录 1.非类型模版参数按需实例化 2.模版的特化函数模版特化函数模版的特化类模版全特化偏特化 3.分离编译模版分离编译 1.非类…

Ubuntu GUI使用Root用户登录指南

Ubuntu GUI使用Root用户登录指南 一、前言 默认情况下,Ubuntu 禁用了 root 账户,我们必须使用 sudo 命令来执行任何需要 root 权限的任务,比如像这样删除一个系统配置文件(操作危险,请勿尝试):…

一探究竟轻松畅玩:我独自升级崛起怎么玩 怎么快速上手的教程

一探究竟轻松畅玩:我独自升级崛起怎么玩 怎么快速上手的教程 最近一款漫改的MMORPG游戏《我独自升级:崛起》给玩家们带来了不少惊喜。在刚进入游戏时,玩家们需要从E级猎人开始玩起,逐步成长为S级猎人,通过升级学习新技…

ES与关系数据库的同步练习(hotel_admin)

目录 1 es与数据库同步的方法2 实践2.1 任务介绍2.2 MQ方面操作2.2.1 声明交换机队列并且绑定2.2.2 hotel_admin端web层设置mq发送消息2.3 hotel_demo端监听接受消息并执行es操作 1 es与数据库同步的方法 方式一:同步调用 优点:实现简单,粗…

jupyter notebook导出pdf文件显示不了中文

找到文件index.tex.j2,我的在 C:\Users\Administrator\miniconda3\envs\opencv2\share\jupyter\nbconvert\templates\latex 我安装miniconda3并配置opencv2所需要的环境, 配置前 最后:用文本编辑器打开,修改图中article为ctexart&#xf…
最新文章