当前位置: 首页 > news >正文

深度学习论文: LightGlue: Local Feature Matching at Light Speed

深度学习论文: LightGlue: Local Feature Matching at Light Speed
LightGlue: Local Feature Matching at Light Speed
PDF: https://arxiv.org/pdf/2306.13643
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks

1 概述

LightGlue通过自适应地应对不同难度的图像对来改进视觉匹配,包括视觉重叠程度、外观变化和辨别信息量。对于易于匹配的图像对,其推理速度更快,类似于人类处理视觉信息的方式。它通过在每个计算块后预测对应关系、让模型自我评估是否需要进一步计算,并在早期阶段丢弃不可匹配的点来优化性能。在如SLAM等典型操作条件下,LightGlue在保持性能的同时带来了显著改进,通过动态调整网络大小而非减少其整体容量。
在这里插入图片描述

2 LightGlue

LightGlue 是由一系列(L 个)相同的层堆叠而成,这些层能够共同处理两组数据。每一层包含自注意力和交叉注意力单元,它们用于更新每个点的表示。随后,一个分类器会在每一层判断是否需要停止推理,以减少不必要的计算。最终,通过一个轻量级的头部从表示集合中计算得出一个部分分配。
在这里插入图片描述

2-1 Transformer backbone

Attention unit:
注意力单元使用MLP根据从源图像S中聚合的消息mI i ←S来更新状态xI i。消息通过注意力机制计算,是图像S中所有状态j的加权平均值。

Self-attention:
每个点关注同一图像中的所有点。通过不同的线性变换分解当前状态xi为键ki和查询qi,并计算点i和j之间的注意力分数aij,该分数基于点的相对位置编码。位置编码通过旋转矩阵R§捕捉相对位置信息,允许模型检索相对位置的点。

Cross-attention:
图像I中的每个点关注另一张图像S中的所有点。计算键ki但不计算查询,使得注意力分数aIS ij为两键的相似度。由于跨图像的相对位置没有意义,因此不添加位置信息。这种方法节省了计算成本,只需计算一次I ←S和S ←I消息的相似性。

2-2 Correspondence prediction

本文设计了轻量级头部来预测任何层更新后的分配。首先计算点对的相似度矩阵S,并为每个点计算可匹配性分数σi。接着,将相似性和可匹配性分数结合成软部分分配矩阵P,以确定哪些点对形成对应关系。选择满足阈值τ和行/列最大值的点对。
分配矩阵 P:
在这里插入图片描述
其中
在这里插入图片描述
在这里插入图片描述

2-3 Adaptive depth and width

引入两种机制以减少计算和节省推理时间:一是根据图像对难度调整层数;二是提前剔除确信的无效点。LightGlue 在每层结束时推断各点分配的置信度,高置信度表示该点表示可靠,可用于提前输出预测并停止推理。引入的紧凑MLP在最坏情况下仅增加2%的推理时间。

Exit criterion: 对于层ℓ,如果 c i > λ ℓ c_{i} > λ_{ℓ} ci>λ,则点被视为可靠。当可靠点的比例超过α时,停止推理。 λ ℓ λ_{ℓ} λ逐层递减,基于分类器的验证准确率。 α α α控制准确率和推理时间的权衡。
在这里插入图片描述
Point pruning: 当不满足退出准则时,丢弃预测为可靠但无法匹配的点,它们对后续匹配无帮助。这减少了计算量,而不影响准确率。
在这里插入图片描述

3 Experiments

在这里插入图片描述

http://www.lryc.cn/news/345411.html

相关文章:

  • 全面解析C++11与C++20线程(含内容)
  • 【八股】消息中间件
  • 【17-Ⅰ】Head First Java 学习笔记
  • weblogic 反序列化 [CVE-2017-10271]
  • CoPilot 产品体验:提升 OpenNJet 的控制管理和服务提供能力
  • Leetcode 第396场周赛 问题和解法
  • OC foudation框架(上)学习
  • 【机器学习300问】83、深度学习模型在进行学习时梯度下降算法会面临哪些局部最优问题?
  • 基于springboot的校园管理系统源码数据库
  • 图形网络的自适应扩散 笔记
  • vue基础配置
  • C++基础中的存储类别
  • 【NPM】Nginx Proxy Manager 一键申请 SSL 证书,自动续期,解决阿里云SSL免费证书每3个月失效问题
  • 教你解决PUBG绝地求生游戏中闪退掉线无法重连回去的问题
  • 24 Debian如何配置Apache2(4)LAMP+phpMyAdmin部署
  • centos安装paddlespeech各种报错解决方案
  • 谈基于ATTCK框架的攻击链溯源
  • 在Ubuntu下搭建自己的以太坊私有链
  • 巩固学习4
  • Conda安装rasterio报错
  • linux安装 mysql
  • 暴力法解决最近对问题和凸包问题-实现可视化
  • [Kubernetes] Rancher 2.7.5 部署 k8s
  • 码题杯 世界警察 思想:双指针
  • drawio 网页版二次开发(1):源码下载和环境搭建
  • 算法训练Day33 |● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯
  • 【算法】滑动窗口——将x减到0的最小操作数
  • 《引爆流量获客技术》实操方法,手把手教你搭建盈利流量池
  • 【记录】常见的前端设计系统(Design System)
  • 如何使用Whisper音频合成模型