LoFTR 笔记和理解

文章目录

  • 解决什么实际问题?
  • 算法结构

解决什么实际问题?

主要是解决传统特征匹配和之前的基于深度学习特征匹配不稳定和不准确的问题。传统的特征匹配方法主要依赖于特征点的检测,如果特征点的检测出现问题,比如某一些的关键点没有检测到,就会直接影响特征点的匹配。上述问题可以总结成特征点检测很稀疏。此外特征点的检测还存在 位置不同但是特征很相似的问题,比如两个在白墙上的点,虽然位置不同但是特征很相似。这也是之前的算法无法解决的问题。

算法结构

那么这个算法是如何来解决上述提到的问题的问题的呢?
在这里插入图片描述
首先这个算法没有针对检测特征点的,就可以直接解决之前因为没有检测好特征点而对最终结果的影响。 首先,这个网络的输入是两张照片,是通过一个简单的CNN来提取分别提起 coarse-level 和 fine-level的特征图。 将coarse level的特征图展开,并且进行位置编码然后加到特征图上。目的是让每一个特征都有一个位置信息,这个可以对“位置不同但是信息很相似”问题的解决做出贡献。

为了寻找两张照片之间的联系,需要寻找两个特征之间的相关性。但是我们只希望将照片中最重要的部分拿去做关联,而不是将所有点都拿去做关联。 所以这里采用的是 self-attention + cross_attention的结构。这正好满足这个需求,先使用self-attention来做自相关,找到自身最重要的特征,然后再把这个最重要的特征拿和另一张图最重要的特征做cross-attention。重复多次,就可以找到两个图像之间最重要位置的相关性。

Matching Module
之前的操作可以看成是特征的重组,但是没有进行匹配。这个方法匹配模式分别是粗力度匹配和细腻度匹配 。前者的匹配我认为可以理解成是特征图大致区域的匹配,因为它这一步主要是计算之前得到特征相关性的confidence。但是因为是transfomer做的,它会把图像变成很多小patch,这个小patch在特征图里面的表示就是一个点了。在粗匹配中,先筛除相关性比较低的点, 然后将相互相关度都很高的点匹配起来(相互最近邻)。这是因为,两张特征图之间有可能出现 a 和b的相关度最高,但是和b相关度最高的并不是a的情况,使用相互最近邻可以避免这个问题。
在这里插入图片描述
但是粗力度匹配不能精确到点上,他只是一个小区域的匹配,但是这个小区域里面的点要怎么匹配呢?这就是fine-level要考虑的问题了,细腻度的匹配实际上是在粗力度匹配完成的基础之做的优化。就是将匹配上的点拿出来在做优化。比如A和B 区域匹配上了,我们将他们单独拿出来,有经过一个loftr模块,也就是self-attention+cross-attention。具体在哪里?根据中心位置和其他位置的相关性,得到一个概率图,然后根据其期望来得出最终的匹配位置。

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

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

相关文章

Unity Physics入门

概述 在unity中物理属性是非常重要的,它可以模拟真实物理的效果在unity中,其中的组件是非常多的,让我们来学习一下这部分的内容吧。 Unity组件入门篇总目录----------点击导航 Character Controller(角色控制) 说明:组件是Unity提…

元年科技数据智能研发部负责人张亚东受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 北京元年科技股份有限公司数据智能研发部负责人张亚东先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“大模型时代,AI创新型工具提升项目管理效率”。大会将于6月29-30日在北京举办,敬请关注&a…

VOS3000被DDOS攻击后该怎么办

VOS3000遭受DDoS攻击的应对措施 当VOS3000遭受DDoS攻击时,可以采取以下几个步骤来应对: 立即启动防火墙:尽管难以完全阻止DDoS攻击,但防火墙可以在一定程度上帮助抵御攻击,减轻其造成的危害。 联系服务器提供商&#…

JVM运行时内存:垃圾回收

文章目录 1. 什么是垃圾2. 为什么需要垃圾回收3. Java 中垃圾回收的重点区域是什么4. 常见的垃圾回收算法 1. 什么是垃圾 垃圾 是指 在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 如果不及时对内存中的垃圾进行清理,那么&#…

【问题解决】Android Studio Jellyfish新建Kotlin项目后Gradle Sync及Maven下载很慢

创建新项目之后,Gradle Sync和Build都很慢,因为下载Gradle和Maven等工具。 代码默认配置 settings.gradle.kts pluginManagement {repositories {google {content {includeGroupByRegex("com\\.android.*")includeGroupByRegex("com\\.g…

单片机io扩展

输入输出扩展 i2c扩展 方案1:PCF8575 PCF8575双向IO口扩展模块 16位输入输出I2C通讯 单片机级联扩展板 方案2:PCA955A 输出扩展 74HC595 io口扩展模块输出口扩展 参考链接 中微爱芯发[2004] 1号           签发人: (szlcsc.com)https://…

vue项目elementui刷新页面弹窗问题

bug:每次刷新页面都有这个鬼弹窗。 刚开始以为是自己的代码问题,于是我翻遍了每一行代码,硬是没找出问题。 后来在网上找了些资料,原来是引入的问题。 解决方案: 改一下引入方式即可。 错误姿势 import Vue from …

构建高效AI代理:单代理与多代理架构的策略与挑战

AI代理架构正成为实现复杂任务自动化的关键技术。这些代理不仅需要处理信息、做出决策,还要能够与外部环境进行交互。随着ChatGPT等生成式AI应用的兴起,研究者们开始探索下一代AI应用,其中AI代理的角色愈发重要。单代理架构以其简洁高效的特点…

牛皮!亚信安全《2024国家级攻防演练100+必修高危漏洞合集》.pdf

上次分享了2023攻防演练高危漏洞,获得了很多粉丝的好评。 今天再分享一份由亚信安全服务团队结合自身的“外部攻击面管理”服务能力和专业的红队能力,最新发布的《2024攻防演练必修高危漏洞合集》,一共108页,非常详细&#xff0c…

五分钟部署开源运维平台Spug结合内网穿透实现远程登录管理

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件…

【产品经理】输出

引言:        在最近频繁的产品管理职位面试中,我深刻体会到了作为产品经理需要的不仅仅是对市场和技术的敏锐洞察,更多的是在复杂多变的环境中,如何运用沟通、领导力和决策能力来引导产品从概念走向市场。这一系列博客将分享…

RoboMaster机甲大师赛

RoboMaster机甲大师赛 RoboMaster机甲大师赛中部赛区承办方主要赛事:机甲大师高校联盟赛(RMUL,RoboMaster University League)组别概况比赛规则 RoboMaster机甲大师赛中部赛区 昨天现场观看了机甲师中部赛区,感觉很受震撼&#x…

dmanywhere的docker制作

dmanywhere的docker制作 官网地址: http://www.dmanywhere.cn/ 下载相关执行文件。 Dockerfile的默认命名是“Dockerfile”, 在构建镜像时,如果没有指定Dockerfile文件,Docker通常会寻找名为“Dockerfile”的文件 1.Dockerf…

校园二手书交易|基于SprinBoot+vue的校园二手书交易管理系统(源码+数据库+文档)

校园二手书交易管理系统 目录 基于SprinBootvue的校园二手书交易管理系统 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3 卖家用户功能模块 4 用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

类图的六大关系

类图中的六大关系包括:继承关系、实现关系、关联关系、聚合关系、组合关系和依赖关系。 1. 继承关系 继承是一种类与类之间的关系,表示一种泛化和特化的关系。子类继承父类的特性和行为。 class Animal {void eat() {System.out.println("This an…

Kafka之【存储消息】

数据已经由生产者Producer发送给Kafka集群,当Kafka接收到数据后,会将数据写入本地文件中。 存储组件 Kafka 的消息存储涉及多个关键组件,每个组件在消息的存储和管理过程中扮演着特定的角色。以下是 Kafka 存储消息过程中涉及的主要存储组件及…

解决ModuleNotFoundError: No module named ‘dnnlib‘问题

复现论文采用了大佬的库,这时候运行报错: 尝试采用:pip install dnnlib解决,但下载源中并不包含该依赖。 解决方法: pip install https://github.com/podgorskiy/dnnlib/releases/download/0.0.1/dnnlib-0.0.1-py3-n…

python数据类型之列表

目录 1.创建列表 2.列表基础操作 常用操作 对列表元素顺序随机打乱 列表下标和切片 字符串分割为列表 列表位移 列表切片替换 3.列表内置方法 4.列表排序 简单排序 使用key参数按指定规则排序 二维列表排序 自定义排序规则函数 5.列表排序算法 选择排序 柱状图…

MiniMax Golang2轮面试,期望薪资25K

一面 1、自我介绍 2、简单介绍一下你们成立了这个finance的财务中台之后,整体的服务架构是怎么样的吗? 3、就你提到的预算池项目,展开说说背景,以及解决了怎么样的问题? 4、为什么采用针对T-1订单的异步计算方案&a…

java语言概述和代码的编译

文章目录 前言 一、机器语言 二、汇编语言 三、高级语言 四、编写代码 打印字符串 求前n项和 五、问题及解决 总结 前言 计算机经过了多年的发展,已经诞生了很多编程语言,如早期的汇编语言,basic语言,现在的高级语言C语言java语言…