深度学习论文: 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

相关推荐
WJSKad12351 天前
刺槐蝗虫目标检测_YOLO11_DRBNCSPELAN模型详解与实战
人工智能·目标检测·目标跟踪
Hcoco_me1 天前
大模型面试题47:从白话到进阶讲解LoRA原理
人工智能·深度学习·学习·自然语言处理·transformer
Allen_LVyingbo1 天前
医疗AI多智能体资源调度:用Python构建高性能MCU资源池
开发语言·人工智能·python·算法·知识图谱·健康医疗
摘星编程1 天前
边缘AI:解锁终端设备的智能潜能
人工智能
victory04311 天前
Llama2 transformer结构整体解析
人工智能·深度学习·transformer
叁散1 天前
实验项目3 温度传感器
人工智能·算法·机器学习
settingsun12251 天前
【AI-算法-02】卷积 Convolution
人工智能·算法
ai_xiaogui1 天前
从实体转行到本地AI:AIStarter 完美收官,Panelai 开启分布式算力管理新篇章
人工智能·分布式
Hcoco_me1 天前
大模型面试题48:从白话到进阶详解LoRA 中 r 和 alpha 参数
开发语言·人工智能·深度学习·算法·transformer·word2vec
木卫二号Coding1 天前
第七十二篇-V100-32G+WebUI+Flux.1-Schnell+Lora+文生图
开发语言·人工智能·python