PREDATOR: Registration of 3D Point Clouds with Low Overlap

Abstract

这篇文章介绍了一种新的点云配准模型-Predator。该模型专注于处理低重叠的点云对,它更加关注于重叠区域的处理,其新颖之处在于一个重叠的注意块,作用是用于两个点云的潜在编码之间的早期信息交换。该模型大大提高了低重叠场景下的配准效率。

Introduction

首先讲了现在的配准已经有了很高的recall,但是仍然还有改进的空间。因为之前的方法聚焦于处理高重叠度(大于30%)的点云,然而低重叠度的配准在实际应用当中也是非常重要的。

现有的方法,在重叠度低于30%时,性能会飞速下降。但是人工仍然能记录这种操作。为了研究原因,作者构建了一个低重叠数据集进行了分析发现:描述子几乎不会被非重叠的区域损坏。而配准低重叠点云的关键是在哪里采样特征点,而并非去构建更好的描述子。同时作者发现,如果特征点主要从扫描的重叠部分采样,则可以实现很大的性能提升。

文章的主要贡献如下:

分析为什么现有的配准方法在低重叠状态下效果很差

提出了一个全新的重叠注意力块允许两个点云做一些信息交换同时关注重叠区域

提出了一种改进特征点描述符的方案

设计了一种新的损失函数来训练匹配分数

还提供了一个3DLoMatch数据集(主要是一些低重叠的扫描对)

Related work

介绍了点云配准常用的组件

局部3D特征描述子:讲了一些目前存在的方法,这个描述子的目的是提取一些局部几何信息的特征。

兴趣点采样:作者论述对一个点进行采样,需要这个点是显著的salient,而且必须位于两个点云的重叠区域。但是很多人都忽略了第二点。

深度学习的点云配准:介绍了一些深度学习的配准方法。

上下文本信息:类似于注意力机制,要求关注局部的信息。

Method

Predator是一个双流编码器-解码器网络架构,使用带有kpconvs风格的点卷积的残差块,架构可以分解为三个主要模块。

将两个点云编码为更小的超点集和相关的潜在特征编码,并共享权值。

重叠注意模块(在瓶颈中)可以提取两个点云的特征编码之间的协同上下文信息,并为每个叠加点分配两个重叠分数,量化叠加点本身及其软对应位于两个输入之间重叠的可能性。

将相互制约的瓶颈表示解码为逐点描述符,以及精炼的逐点重叠和匹配分数。

Problem Setting

点云配准问题,目的是找到一个刚体变换(包含旋转和平移),使得一个点云能够对齐到另一个点云。它强调了点云之间必须有足够的重叠,并且定义了一个用于评估重叠程度的公式,涉及最近邻搜索和欧几里得距离。此外,还提到当重叠比率大于0.1时就尝试进行配准。

Encoder

介绍了编码器的功能,也就是图中左边的模块

Overlap attention module

现在已经对两个点云分别进行了编码,但是它们当中并不存在对方的点云信息。所以需要进行一个交互(cross-talk)。

图卷积神经网络:通过图卷积网络去加强文本关系。

交叉注意力块:这个模块的目标是让两个点云的相对信息互相融合,以便更好地表示重叠区域。

瓶颈点的重叠分数:分数表示点云中特定超点(superpoint)位于重叠区域的概率。关于这一部分,首先,使用交叉注意力模块更新超点的特征,使其包含其他点云的上下文信息;其次,使用另一个GNN更新局部上下文,并计算超点的重叠分数,分数表示超点位于两个点云重叠区域的概率。此外,还介绍了一种计算超点之间软对应关系的方法,有助于预测超点的交叉重叠分数。

Decoder

解码器接收来自编码器的条件化特征,并与重叠分数和交叉重叠分数进行拼接,然后输出每个点的特征描述符、重叠分数和匹配性分数。这些输出用于后续的点云处理任务。解码器的架构包括上采样、线性层和跳跃连接,以增强特征的传递和利用。通过分离处理重叠分数和匹配性分数,解码器能够更准确地评估每个点作为匹配候选的好坏。网络通过训练学习到在重叠区域内预测高匹配性。

Loss Function

圆圈损失:描述了一种用于点云特征描述符学习的损失函数,通过调整特征空间中正负样本的距离,来优化特征描述符的性能。

重叠损失:描述了一种用于评估点云配准中重叠区域识别准确性的损失函数,通过二元分类的方式进行监督学习,以优化模型对重叠区域的识别能力。

匹配性损失:描述了一种用于评估点云匹配过程中匹配质量的损失函数,通过动态生成真实标签并进行二元分类,以优化模型对点云中可匹配点的识别能力。

Experiments

实验一共在四个数据集上进行,分别是3DMatch、3DLoMatch,合成的以对象为中心的ModelNet40,大型户外场景的odometryKITTI。

如图所示,左边是输入的点云序列,中间是模型推理出的可能的重叠区域,右侧是估计的配准结果。

3DMatch

这个官方数据集中只考虑了重叠大于30%的扫描部分,作者又添加了对应部分,考虑重叠在10%到30%的扫描对。

接下来提出了评价的指标,包括配准召回率,特征匹配召回率(定义为在地面真值转换(不检查是否可以从这些匹配中恢复转换)下具有>5%的“inlier”匹配且残差<10 cm的配对的分数),还引入了经验累积分布函数来评估相对重叠率。

相对重叠率:就是说predator专注于提高点云之间的重叠区域,通过预测重叠分数并丢弃得分低于0.5的点,来筛选出高重叠区域。结果就是超过一半的低重叠点云对的重叠率被提高到了30%的阈值以上。

与基于特征的方法的比较:predator与其它基于特征的配准方法进行了比较,该方法在低重叠的3DLoMatch数据集上明显优于现有的方法,而且在3DMatch上也有最高的配准召回率。但是也不能胜任所有的任务(比如下图所示的任务),同时作者提到,重要的部分是找到位于重叠区域的兴趣点(interest point)

接下来是对ModelNet40和odometryKITTI的实验。

Conclusion

介绍了PREDATOR,是一个专为低重叠点云的成对配准设计的深度模型。核心是重叠关注模块,该模块可以在点云的潜在编码之间进行早期信息交换,从而推断出哪些点可能位于重叠区域。

“捕食者”有很多可以扩展的方向。目前它是与全卷积点云编码器紧密耦合的,依赖于在瓶颈处有合理数量的超点。在点密度非常不均匀的情况下,这是一个限制。低重叠区域的配准是具有挑战性的,PREDATOR不能解决所有的情况。

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

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

相关文章

【博弈强化学习】——UAV-BS 的联合功率分配和 3D 部署:基于博弈论的深度强化学习方法

【论文】&#xff1a;Joint Power Allocation and 3D Deployment for UAV-BSs: A Game Theory Based Deep Reinforcement Learning Approach 【引用】&#xff1a;Fu S, Feng X, Sultana A, et al. Joint power allocation and 3D deployment for UAV-BSs: A game theory based…

C++深入学习string类成员函数(3):访问与修饰

引言 在 C 中&#xff0c;std::string 提供了丰富的成员函数来访问和修改字符串中的字符。通过这些函数&#xff0c;程序员可以灵活地处理字符串中的各个元素&#xff0c;无论是读取特定位置的字符&#xff0c;还是修改字符串的内容。此外&#xff0c;std::string 类还确保了访…

农牧场可视化管理:精准监测与优化运营

利用图扑可视化技术实现农牧场的实时数据监测和分析&#xff0c;优化资源配置&#xff0c;提高生产效率和可持续发展能力。

无需安装移动端的互传工具“快速分享”

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 前不久给大家介绍过 Windows 自带的 Nearby Sharing 附近分享&#xff0c;只需要在手机上安装个 App 就可以与 Windows 进行互传。而今天介绍的“快速分享”正好相反&#xff0c;是在 Windows 上安装 Goog…

tomcat安装与部署

一、基础准备 1. 节点规划 IP 主机名 节点 192.168.200.70 tomcat Tomcat 2. 环境准备 准备一台虚拟机&#xff0c;镜像为CentOS-7-x86_64&#xff0c;下载两个软件包&#xff0c;apache-tomcat-9.0.95.tar.gz&#xff1b;zrlog WAR包。 二、安装Tomcat 1.基础环境配…

【C++篇】从零实现 `list` 容器:细粒度剖析与代码实现

文章目录 从零实现 list 容器&#xff1a;细粒度剖析与代码实现前言1. list 的核心数据结构节点结构分析 2 迭代器设计与实现2.1 为什么 list 需要迭代器&#xff1f;2.2 实现一个简单的迭代器2.3 测试简单迭代器解释&#xff1a; 2.4 增加后向移动和 -> 运算符关键点&#…

多模态——基于XrayGLM的X光片诊断的多模态大模型

0.引言 近年来&#xff0c;通用领域的大型语言模型&#xff08;LLM&#xff09;&#xff0c;如ChatGPT&#xff0c;已在遵循指令和生成类似人类的响应方面取得了显著成就。这些成就不仅推动了多模态大模型研究的热潮&#xff0c;也催生了如MiniGPT-4、mPLUG-Owl、Multimodal-G…

Synchronized和 ReentrantLock有什么区别?

目录 一、java中的线程同步 二、Synchronized 使用方式 底层原理 synchronized 同步代码块的情况 synchronized 修饰方法的情况 总结 synchronized 和 volatile 有什么区别&#xff1f; 三、ReentrantLock 底层原理 使用方式 四、Synchronized和 ReentrantLock有什…

GPIO端口的使用

目录 一. 前言 二. APB2外设时钟使能寄存器 三. GPIO端口的描述 四. GPIO端口使用案例 一. 前言 基于库函数的开发方式就是使用ST官方提供的封装好的函数。而如果没有添加库函数&#xff0c;那就是基于寄存器的开发方式&#xff0c;这种方式一般不是很推荐。因为由于ST对寄存…

docker pull 超时的问题如何解决

docker不能使用&#xff0c;使用之前的阿里云镜像失败。。。 搜了各种解决方法&#xff0c;感谢B站UP主 <iframe src"//player.bilibili.com/player.html?isOutsidetrue&aid113173361331402&bvidBV1KstBeEEQR&cid25942297878&p1" scrolling"…

维护左边枚举右边

前言&#xff1a;一开始遇到这个题目的时候没啥思路&#xff0c;但是当我看到值域在1000的时候我想着直接暴力从右边枚举不就行了吗&#xff0c;时间复杂度刚刚好&#xff0c;试一下就过了 正解应该是啥呢&#xff0c;其实也是维护一遍&#xff0c;运行另外一边 O ( n ) O(n)…

所有测试人,下半年的新方向(大模型),赢麻了!!!

现在做测试&#xff0c;真的挺累的。 现在测试越来越难做&#xff0c;晋升困难&#xff0c;工资迟迟不涨……公司裁员&#xff0c;测试首当其冲&#xff01;&#xff01; 做测试几年了&#xff0c;还没升职&#xff0c;就先到了“职业天花板”。 想凭工作几年积累的经验&…

Linux进程:fork函数深度剖析

目录 一、初识fork函数 二、fork函数的返回值 三、fork之后&#xff0c;父子进程谁先运行 四、fork的使用示例 一、初识fork函数 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 进程调用fork…

Apache POI快速入门

介绍 Apache POl是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI都是用于操作 Excel 文件。 Apache POI的主要组件包括&#xff1a; HS…

监控易监测对象及指标之:全面监控Sybase_New数据库

随着企业数据量的不断增长和业务的复杂化&#xff0c;数据库的稳定性和性能成为了保障业务连续性的关键因素。Sybase_New数据库作为众多企业选择的数据管理解决方案&#xff0c;其稳定性和性能对于企业的运营至关重要。 为了确保Sybase_New数据库的稳定运行和高效性能&#xff…

单体到微服务架构服务演化过程

架构服务化 聊聊从单体到微服务架构服务演化过程 单体分层架构 在 Web 应用程序发展的早期&#xff0c;大部分工程是将所有的服务端功能模块打包到单个巨石型&#xff08;Monolith&#xff09;应用中&#xff0c;譬如很多企业的 Java 应用程序打包为 war 包&#xff0c;最终会形…

基于vue框架的刺梨销售管理系统pgl49(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,刺梨分类,刺梨产品,刺梨新闻 开题报告内容 基于Vue框架的刺梨销售管理系统开题报告 一、引言 随着现代农业的快速发展和消费者对健康食品需求的日益增长&#xff0c;刺梨这一富含营养价值的水果逐渐受到市场的青睐。然而&#x…

学习Python的难点分析

一、语法灵活性带来的困惑 缩进规则 Python使用缩进来表示代码块&#xff0c;而不是像其他编程语言&#xff08;如C或Java&#xff09;使用大括号。这虽然使代码看起来简洁&#xff0c;但对于初学者来说可能会造成困扰。例如&#xff1a; if True:print("This is insid…

网站建设中,营销型网站与普通网站有什么区别

营销型网站与普通网站在建站目的、交互设计以及结构优化等方面存在区别。以下是具体分析&#xff1a; 建站目的 营销型网站&#xff1a;以销售和转化为主要目标&#xff0c;通过专业的市场分析和策划来吸引潜在客户&#xff0c;并促使其采取购买行动。普通网站&#xff1a;通常…