【论文笔记】MambaGlue: Fast and Robust Local Feature Matching With Mamba
【引用格式】:Ryoo K, Lim H, Myung H. MambaGlue: Fast and Robust Local Feature Matching With Mamba[J]. arXiv preprint arXiv:2502.00462, 2025.
【网址】:https://arxiv.org/pdf/2502.00462
【开源代码】:https://github.com/uri-Kaist/MambaGlue
【PPT】:https://download.csdn.net/download/Word_And_Me_/90409456
目录
一、瓶颈问题
二、本文贡献
三、解决方案
1、输入特征与初始化
2、单层处理流程
1)MambaAttention Mixer
a)MambaAttention Mixer(上图(b))
b)交叉注意力模块
2)深度置信分数回归器
3)Exit Test机制
3、损失函数
四、实验结果
1、Homography Estimation
2、Relative Pose Estimation
3、Outdoor Visual Localization
4、Ablation Study
一、瓶颈问题
- 效率与鲁棒性的权衡:现有基于Transformer的局部特征匹配方法(如SuperGlue、LightGlue)虽然鲁棒,但计算复杂度高(随关键点数量平方增长),难以满足实时性需求(如SLAM、视觉定位)。
- 特征描述符的局限性:传统方法依赖独立特征检测器和描述符,难以应对光照变化、弱纹理场景和视角差异,导致匹配错误率较高。
二、本文贡献
- MambaAttention Mixer模块:结合Mamba架构(选择性状态空间模型)与自注意力机制,同时捕捉全局和局部上下文,显著提升特征表达能力。
- 深度置信分数回归器:基于多层感知机(MLP)设计,动态评估匹配置信度,支持早期停止机制(Exit Test),减少冗余计算。
- 高效混合架构:并行融合Mamba与Transformer,在保持高精度的同时实现线性时间复杂度,显著降低推理延迟。
三、解决方案

MambaGlue的核心架构由多层堆叠结构组成,每层通过三个关键模块处理特征:MambaAttention Mixer、交叉注意力(Cross-Attention)和深度置信分数回归器。
1、输入特征与初始化
系统的输入由图像A和B的两组局部特征组成,将A和B的特征集分别表示为和
,表示如下:
其中,和
分别是图像A和B上的特征数;为简单起见,
或
中任意 q 特征点和 d 维描述符分别记为
和
,
。
每个关键点的状态初始化为对应的描述符:
2、单层处理流程
每一层的具体流程可见上图(b)所示
1)MambaAttention Mixer

受 MambaVision [MambaVision: A hybrid mamba- transformer vision backbone](见上图 (a))的启发,文中首先提出了一个基于 Mamba 的自注意模块,称为 MambaAttention Mixer。如上图 (b)所示,MambaAttention 混合器由一个自注意区块、一个直接连接的输入区块和一个基于 Mamba 的区块组成。自注意和 Mamba 的结合允许对输入标记进行全局和选择性扫描。之后,MambaAttention Mixer和交叉注意块的组合构成了系统每一层的重要组成部分。
a)MambaAttention Mixer(上图(b))
自注意区块:编辑全局相对位置关系,计算公式如下:


其中,W为投影矩阵;R为相对位置之间的旋转编码;q和k是从状态向量通过不同的线性变换得到的查询向量和键向量。
直连区块:保留原始特征,防止信息丢失。
基于Mamba区块:通过选择性扫描(Selective Scan)捕捉序列中重要局部信息,计算公式如下:
其中,Scan(-) 是选择性扫描操作,用于有效地聚焦于输入序列中最相关的片段;为
;
为对后面信息进行线性操作;
更新状态:将三个信息融合并更新,公式如下:
b)交叉注意力模块
图像A与B相互交换信息并更新向量x,公式如下:


2)深度置信分数回归器
深度置信分数回归器预测的置信分表示每个特征点的匹配预测与地面实况匹配的置信度。
在Lightglue中仅使用了一个Sigmoid层和一个线性层组合来预测置信度得分;文中认为一个线性计算层不足以分析经过神经网络许多步骤的每个状态的复杂表示。为此,文中增加了线性层,如下公式所示;经过文中实验,在训练和推理方面都更快,没有变慢,并且能够更好地理解上下文中的层次和抽象含义。
3)Exit Test机制
文中针对置信度分数进行下列计算得到是否退出推理:

其中,;[[·]] 代表艾弗森算子;
这意味着,当图像对上所有点的比率 足够大时,我们就会停止迭代。
3、损失函数
文中分两个阶段训练 MambaGlue,与 LightGlue 的训练过程类似。首先,监督模型预测的匹配对与真实匹配对的一致性,而不进行退出测试,然后只训练深度置信度回归因子。第二步不会影响各层的性能。
匹配损失:


![]()
其中为匹配度得分,表示第 i 个点有对应点的可能性;
为匹配矩阵,表示每对点对应关系的概率得分;
置信损失:
训练深度置信度平分回归器中,使用的是最小化二元交叉熵损失函数,使匹配预测与地面实况匹配相同。
四、实验结果
与Lightglue训练对比:

文中使用官方预训练的权重,将 MambaGlue 与 SuperGlue、SGMNet 和 LightGlue 等基于变换器的稀疏特征匹配方法进行了比较,评估了 MambaGlue 在同构估计、相对姿态估计和室外视觉定位这三个视觉任务上的表现。
在Homography Estimation方面,文中使用了 HPatches 数据集,该数据集提供了具有挑战性的条件,如光照变化、遮挡或视点变化。在相对姿态估计方面,我们使用了 MegaDepth-1500 数据集中的 1,500 对图像,该数据集包括具有结构和视觉变化的室外场景,并通过视觉重叠率调整了难度级别。在室外视觉定位方面,文中采用了 Aachen Day-Night 基准,沿用了 Sarlin 等人提出的基准。
1、Homography Estimation

Lo-RANSAC:稳健性,利用随机抽样和局部优化来有效处理异常值,鲁棒性较高(适合有异常值的环境中)【Poselib -minimal solvers for camera pose estimation】
DLT:非稳健性,直接计算单应性变换矩阵,在有噪声的情况下容易出错【Multiple View Geometry in Computer Vision】
PR:3px误差阈值下的精度
通过上表可以看出,文中的方法与稀疏匹配器相比,文中方法最优;与密集匹配器相比,在5px阈值误差下更优
2、Relative Pose Estimation

文中方法大多数展现出了良好的性能,与Lightglue相比,精度有了一定的提升;文中方法实现了稳健性和效率之间的平衡。
3、Outdoor Visual Localization

在室外视觉定位方面,使用了RANSAC和透视点求解器(PnP)估算相机的姿势。根据上表可以看出文中方法性能有了大幅度提升,在速度上略有折衷。
4、Ablation Study

文中使用homography数据集比较的MambaGlue和LightGlue的退出测试行为,可见,文中模型在所有场景下的表现都优于LightGlue。

如图(a)所示,当模型的层数受到限制不进行退出测试时,从第一层开始,MambaGlue在每层的准确率方面优于LightGlue,而且随着层数的增加,MambaGlue表现更加稳定。
如图(b)所示,通过在LightGlue上的应用,可以看到文中提出的深度置信度评分回归器可以在更精确的时刻停止,从而以更少的迭代提高了性能。
相关文章:
【论文笔记】MambaGlue: Fast and Robust Local Feature Matching With Mamba
【引用格式】:Ryoo K, Lim H, Myung H. MambaGlue: Fast and Robust Local Feature Matching With Mamba[J]. arXiv preprint arXiv:2502.00462, 2025. 【网址】:https://arxiv.org/pdf/2502.00462 【开源代码】:https://github.com/uri-Ka…...
基于 Stanford CoreNLP 的中文自然语言处理
一、概述 Stanford CoreNLP 是斯坦福大学开发的一款强大的自然语言处理(NLP)工具,支持多种语言的文本处理,包括中文。本文将详细介绍如何使用 Stanford CoreNLP 实现中文文本的分词、词性标注、命名实体识别、句法分析等功能&…...
python 量化交易入门到提升详细教程,python量化交易教程
文章目录 前言入门阶段1. 环境准备安装 Python选择开发环境安装必要的库 2. 金融数据获取3. 简单策略构建 - 移动平均线交叉策略 进阶阶段1. 策略回测2. 风险管理3. 多因子策略4. 机器学习在量化交易中的应用5. 高频交易策略 前言 Python 作为一门功能强大、易于学习且应用广泛…...
如何设置爬虫的访问频率?
设置爬虫的访问频率(即请求间隔)是确保爬虫稳定运行并避免对目标服务器造成过大压力的关键步骤。合理的访问频率不仅可以减少被目标网站封禁IP的风险,还能提高爬虫的效率。以下是一些设置爬虫访问频率的方法和最佳实践: 1. 使用s…...
前端循环全解析:JS/ES/TS 循环写法与实战示例
循环是编程中控制流程的核心工具。本文将详细介绍 JavaScript、ES6 及 TypeScript 中各种循环的写法、特性,并通过实际示例帮助你掌握它们的正确使用姿势。 目录 传统三剑客 for 循环 while 循环 do...while 循环 ES6 新特性 forEach for...of for...in 数组…...
大气体育直播模板赛事扁平自适应模板源码
源码名称:大气体育直播模板赛事网站源码 开发环境:帝国cms 7.5 安装环境:phpmysql 模板特点: 程序伪静态版本,实时采集更新,无人值守,省心省力。带火车头采集,可以挂着自动采集发布…...
vue3学习1
vite是新的官方构建工具,构建速度比webpack更快 vue项目的入口文件是index.html,一般在这里引入src/main.js,并且设置好容器#app App.vue放的是根组件,components里放分支组件 vue组件中写三种标签,template & s…...
java机器学习计算指标动态阈值
java机器学习计算指标动态阈值 最近听到有的人说要做机器学习就一定要学Python,我想他们掌握的知道还不够系统全面。本文作者以动态阈值需求场景给大家介绍几种常用Java实现的机器学习库,包括使用开源库如Weka或Deeplearning4j(DL4J…...
mac os设置jdk版本
打开环境变量配置文件 sudo vim ~/.bash_profile 设置不同的jdk版本路径 # 设置JAVA_HOME为jdk17路径 export JAVA_HOME$(/usr/libexec/java_home -v 17)# 设置JAVA_HOME为jdk8路径 export JAVA_HOME$(/usr/libexec/java_home -v 1.8) 设置环境变量 # 将jdk加入到环境变量…...
Python正则表达式学习
Python正则表达式全攻略 一、正则表达式基础 1. 什么是正则表达式? 用于描述字符串匹配规则的表达式广泛应用于文本处理、表单验证、数据清洗等领域 2. Python中的re模块 import re3. 基础语法 字符说明示例.匹配任意字符(除换行)a.c → abc\d数字 [0-9]\d\d …...
ShenNiusModularity项目源码学习(10:ShenNius.FileManagement项目分析)
ShenNiusModularity项目支持七牛云和本地图片存储,其文件上传接口及实现就位于ShenNius.FileManagement项目内,该项目内文件不多,主要就是围绕上传本地及七牛云的实现及相关类定义。 扩展类FileManagemenServiceExtensions的AddFileUploa…...
mysql查看binlog日志
mysql 配置、查看binlog日志: 示例为MySQL8.0 1、 检查binlog开启状态 SHOW VARIABLES LIKE ‘log_bin’; 如果未开启,修改配置my.ini 开启日志 安装目录配置my.ini(mysql8在data目录) log-binmysql-bin(开启日志并指定日志前缀ÿ…...
Node.js高频面试题精选及参考答案
目录 什么是 Node.js?它的主要特点有哪些? Node.js 的事件驱动和非阻塞 I/O 模型是如何工作的? 为什么 Node.js 适合处理高并发场景? Node.js 与传统后端语言(如 Java、Python)相比,有哪些优势和劣势? 简述 Node.js 的运行原理,包括 V8 引擎的作用。 什么是 Nod…...
TaskBuilder创建客户信息列表页面
3.4.1选择页面类型 点击上面创建的customer文件夹右侧的加号,打开“前端资源创建向导”对话框,选中“数据查询TFP”,资源名称会自动设置为index,这里我们不用改。 点“下一步”按钮,会弹出下图所示的“创建数据查询T…...
Linux Iptables示例一则
个人博客地址:Linux Iptables示例一则 | 一张假钞的真实世界 关于Iptables的介绍个人强烈推荐:iptables-朱双印博客-第2页。这位兄弟介绍的很详细。 我个人的需求是在同一个网络内从网络上把测试主机与正式环境主机间的网络进行隔离。我的思路是采用OU…...
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
视频教程和更多福利在我主页简介或专栏里 (不懂都可以来问我 专栏找我哦) 如果对你有帮助你可以来专栏找我,我可以无偿分享给你对你更有帮助的一些经验和资料哦 目录: 一、XSS的三种类型: 二、XSS攻击的危害&#x…...
【CXX】4 跨平台构建系统特性对比
多语言构建系统选项为开发团队提供了灵活性和选择,以适应不同的项目需求和现有的技术栈。CXX作为一个设计灵活的工具,旨在与多种构建系统无缝集成。以下是对不同构建系统选项的简要概述和建议: 一、Cargo: 适用场景:…...
MySQL 如何使用EXPLAIN工具优化SQL
EXPLAIN 是 SQL 查询优化中的一个重要工具,主要用于分析和诊断查询执行计划。通过 EXPLAIN,我们可以了解数据库引擎(如 MySQL、PostgreSQL 等)是如何执行特定的查询语句的,包括是否使用了索引、表连接的方式、扫描的行…...
沃丰科技大模型标杆案例|周大福集团统一大模型智能服务中心建设实践
沃丰科技携手老客户周大福如何进行统一大模型智能服务中心建设 “我们相信,科技与创新是推动珠宝行业持续发展的关键力量。”——周大福珠宝集团董事总经理黄绍基。这句话再次强调了科技与创新在珠宝行业发展中的重要性&…...
代码随想录day16
513.找树左下角的值 //迭代法中左视图的最后一位 int findBottomLeftValue(TreeNode* root) {int result 0;queue<TreeNode*> qe;if(root nullptr) return result;qe.push(root);vector<int> lefts;while(!qe.empty()){int sz qe.size();vector<int> tmp…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
在Spring Boot中集成RabbitMQ的完整指南
前言 在现代微服务架构中,消息队列(Message Queue)是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件,支持多种消息协议,具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...
aurora与pcie的数据高速传输
设备:zynq7100; 开发环境:window; vivado版本:2021.1; 引言 之前在前面两章已经介绍了aurora读写DDR,xdma读写ddr实验。这次我们做一个大工程,pc通过pcie传输给fpga,fpga再通过aur…...
