经典文献阅读之--Representing 3D sparse map points....(用于相机重定位的3D点线稀疏地图)

news2025/3/16 21:59:49

0.简介

最近在视觉定位和地图制图方面取得了显著的进展,成功地将点特征和线特征进行了整合。然而,将定位框架扩展到包括额外的地图组件往往会导致对匹配任务的内存和计算资源需求增加。《Representing 3D sparse map points and lines for camera relocalization》展示了一种轻量级神经网络如何学习表示3D点和线特征,并通过利用多个学习映射来展示领先的姿态准确性。具体而言,我们利用一个单独的转换器块来编码线特征,有效地将其转换为独特的点状描述符。随后,我们将这些点和线描述符集视为不同但相互连接的特征集。通过在几个图层中集成自注意力和交叉注意力,我们的方法有效地在回归使用两个简单的MLP生成3D地图之前对每个特征进行了精炼。在全面的实验中,我们的室内定位结果在基于点和辅助线配置方面均超过了Hloc和Limap。此外,在户外场景中,我们的方法取得了显著的领先优势,标志着对基于最新学习方法的最大增强。本研究的源代码和演示视频可在以下网址公开获取:https://thpjp.github.io/pl2map/。

1. 主要贡献

为了克服前述挑战,我们首先从特征匹配器的原理[7]、[14]中汲取灵感,将点和线视为两个不同但相互关联的无序描述符集合。为了考虑线长度的变化并确保其独特的特征,我们采用了[8]启发的策略,将线条构想为单词序列,其中每个单词代表一个内点描述符。然后,我们使用了一个Transformer编码器模型[15],将每个线条句子编码为一个独特的点状描述符,从而在PL2Map的预处理过程中简化了线描述符的提取过程,允许同时用于点和线的共享提取器。随后,我们在几个图层中利用自注意力和交叉注意力机制促进特征描述符的交换和精炼。在这种基于注意力的更新之后,点和线特征被分为两个单独的多层感知机(MLPs),用于回归它们各自的3D坐标。本研究的贡献如下。

  • 据我们所知,我们的直接学习方法,用于点和线特征的2D-3D对应关系映射,是对相机重定位的首次尝试。
  • 我们提出了一个完整的学习流程,包括网络架构和稳健的损失函数,用于学习如何表示来自预建SfM模型的点和线。通过提出的端到端训练流程,点和线的地图可以进一步精炼,从而改善随后的相机重定位。
  • 我们在7scenes[16]和剑桥地标[17]这两个定位基准上取得了新的记录,在7scenes上,我们的PL2Map超过了基于FM的Hloc和Limap的性能。对于室外的剑桥地标,我们的流程标志着对最新学习方法的最显著增强。

在这里插入图片描述

图1:由PL2Map表示的3D点线地图。我们展示了提出的学习方法用于表示3D点线特征的结果示例。在左侧的输入图像上,红色相机姿势在预测的线(a)和点(b)地图中都是真实姿势,而蓝色相机姿势是使用预测的线或点地图估计出的。


2. 问题描述

最近在SfM和视觉SLAM领域取得了许多成功的映射元素的探索,例如点、线、边缘、平面和物体。随着对额外映射元素的需求增加,迫切需要一种更高效的映射表示策略,超越了基本的描述符向量存储。为了解决这个问题,特别是针对点和线地图,我们引入了一个基于神经网络的替代模型,能够通过它们的描述符来表示3D点和线。这简化了多个映射元素的匹配过程。
假设我们有一组2D关键点 { p i } N \{p_i\}^N {pi}N 和一组从图像 I I I 中提取的 2D 线段 { l i } M \{l_i\}^M {li}M,每个与视觉描述符 { d i p } N \{d^p_i\}^N {dip}N { d i l } M \{d^l_i\}^M {dil}M 相关联。这里, r r r 表示从参考数据库中获取的用于构建 3D 点和线地图的图像。我们的目标是开发一个学习函数 F ( . ) F(.) F(.),它输入两组视觉描述符 { d i p } N \{d^p_i\}^N {dip}N { d i l } M \{d^l_i\}^M {dil}M,并输出相应的世界坐标系中的 3D 点 { P i ∈ R 3 } N \{P_i ∈ \mathbb{R}^3\}^N {PiR3}N 和线 { L i ∈ R 6 } M \{L_i ∈ \mathbb{R}^6\}^M {LiR6}M 集合。最终目标是为来自同一环境的任何新查询图像 I I I 估计出一个六自由度(6 DOF)相机姿势 T ∈ R 4 × 4 T ∈ \mathbb{R}^{4×4} TR4×4


3. PL2Map

本节详细介绍了PL2Map模型,旨在学习稀疏的2D-3D对应关系,包括点和线。点和线都具有可互换的特征,如线端点和相邻点,可以整合以增强最终3D地图的开发和准确性。图2展示了提出的架构,包括三个子模块。

在这里插入图片描述

图2:PL2Map的架构,它包括三个主要组件:前端、注意力细化和建图回归器。

…详情请参照古月居

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尝试用java spring boot+VUE3实现前后端分离部署(8/31)

前言 这几天开学了,公司这边几个和学校对接的项目都挺忙的,然后我又开始有点闲的情况了。问大佬能不能继续看看若依的项目,大佬让我自己去学了。在看若依的项目的时候在想,python的FLASK后端实现和JAVA spring boot的实现差别大不…

通过指令微调提升语言模型性能

人工智能咨询培训老师叶梓 转载标明出处 如何让机器更好地理解和执行人类的指令一直是一个重要课题。Google的研究团队中提出了一种新的方法,通过指令微调(instruction finetuning)来提升语言模型的性能和泛化能力。 他们主要研究了如何通过…

美食|基于SpringBoot+vue的美食网站(源码+数据库+文档)

美食网站 基于SSMvue的美食网站 一、前言 二、系统设计 三、系统功能设计 系统功能实现 后台模块实现 管理员模块实现 用户模块实现 餐厅模块实现 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍&…

JavaScript拷贝的艺术:玩转深拷贝和浅拷贝

前言 在实际的项目开发中,我们时刻都在使用数据拷贝功能,赋值、深拷贝和浅拷贝是前端开发中常见的概念,用于复制简单数据类型(字符串、数值、布尔值)和引用类型(对象、数组)。它们的主要区别在…

第十六篇:走入计算机网络的传输层--传输层概述

1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设…

中小型局域网组网规划与实施

一、绪论 1.1 背景 本课题以中小型企业网络搭建为背景,实现网络规划与设计和模拟。该企业网有四个部门,人力部、研发部、市场部和财务部,不同部门分别划分VLAN,不同VLAN之间分配不同的IP地址段。内外网之间要互通。 1.2 发展趋势…

关于前端分辨率兼容和显示器缩放兼容的处理

如下图所示,我们的电脑屏幕可以进行缩放,和分辨率的切换。 我们在项目开发中,时常需要适配不同的分辨率。 一般来说,开发人员电脑分辨率显示正常的页面,只会在更小的分辨率尺寸中出现问题。 所以当测试人员给我们提分…

QT项目实战之音乐播放器2.0版本

该版本相较于1.0版本最主要的不同在于连接数据库实现类似于歌曲收藏和取消收藏的功能。 详细情况看我的这篇文章http://t.csdnimg.cn/WS5s8。 效果展示 VSMyMusicShow2.0 define.h UseMySQL.h musicInfo.h VSMyMusicPlayer.h

出现 /www/server/mysql/bin/mysqld: Shutdown complete 的解决方法

目录 1. 基本知识1.1 查找my.cnf目录1.2 配置错误日志2. 问题所示3. 原理分析4. 解决方法1. 基本知识 主要补充一些基本知识的拓展 1.1 查找my.cnf目录 查看mysql默认读取my.cnf的目录: mysql --help|grep my.cnf 截图如下:(为了方便查看具体使用的配置文件在哪个路径)…

2024/9/6黑马头条跟学笔记(三)

D3 内容介绍 jdk8新特性,stream流,lambda表达式 ​ 自媒体前后端搭建 步骤 sql—— 实体—— 微服务拷贝,配置nacos—— spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://192.168.233.136:3306/leadnews_…

拥有一个能倾听你心声的「微信AI小助理」,是一种什么体验?

前两天,搞了个微信 AI 小助理-小爱(AI),爸妈玩的不亦乐乎。 零风险!零费用!我把AI接入微信群,爸妈玩嗨了,附教程(上)零风险!零费用!我把AI接入微信群&#x…

解决Django会话中的竞态条件

Django 会话中的竞态条件(race condition)问题通常发生在多个请求几乎同时修改同一个会话数据时,导致数据丢失或数据不一致。这种情况在需要频繁更新会话数据的场景(如实时聊天应用、并发请求处理等)中尤为常见。 1、问…

一次性解决 | 网站被提示“不安全 ”

当网站被提示“不安全”时,这通常意味着用户的个人信息、登录凭证和其他数据可能面临风险。为了一次性解决这个问题,可以从一下方面入手。 一、检查并启用HTTPS协议 检查URL:确保网站地址以“https”开头,而非“http”。HTTPS协议…

Java项目: 基于SpringBoot+mybatis+maven学科竞赛管理系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven学科竞赛管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简…

[Redis] 分布式系统与Redis介绍

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

研1日记6

1. 一般输入参数为batch_sizenum_featuresheightwidth 当高度和宽度不一样时,分别计算即可。 2.ReLU函数的表达式为:f(x) max(0, x)。 3.Pytorch中最大池化层Maxpool的作用说明及实例使用(附代码)-CSDN博客 4.假设x的形状是(A…

设计模式 第一次复学

创建者模式 单例模式(Singleton Pattern) 单例模式(Singleton)确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式实现分为两种饿汉式和懒汉式,即创建时机,一个是类…

衡石分析平台使用手册-系统指引

首页​ 首页是用户进入衡石系统后的第一个页面,这里汇聚了平台最新动态信息、行业模板案例、用户的操作记录等,引导用户快速方便地使用平台功能。 首页包括以下版块,可以帮助用户继续之前的工作,开启新的工作,使用内置…

Spire.PDF for .NET【文档操作】演示:创建 PDF 文档

通过代码创建 PDF 文档具有多种优势。例如,您可以轻松合并动态内容,如用户输入、数据库记录或实时数据。基于代码的 PDF 生成允许更大的自定义和自动化,最大限度地减少创建高度定制文档时的手动干预。在本文中,您将学习如何使用Sp…

A*(A star)搜索算法

A*搜索算法是一种启发式算法,利用现有的信息进行搜索的一种方法。 首先,定义横纵相邻方格之间的距离为10,对角相邻方格的距离为14(本文设定可以向8个方向前进,也可以根据需求设置为4个,比如只能横纵相邻方格…