CVPR论文解读 | 点云匹配的旋转不变变压器

news2024/11/24 5:29:33

 原创 | 文 BFT机器人

传统的手工特征描述符通常具有内在的旋转不变性,但是最近的深度匹配器通常通过数据增强来获得旋转不变性。

然而,由于增强旋转数量有限,无法覆盖连续SO(3)空间中所有可能的旋转,因此这些方法通常在面对罕见旋转时表现不稳定。

为了解决这个问题,本篇论文提出了RoITr方法,使用注意力机制和基于点对特征的坐标来处理姿态变化,并在刚性和非刚性基准测试中进行了广泛实验以证明其优越性。

01  该篇论文的创新点

本篇论文的创新点是提出了一种名为RoITr(Ro tation-Invariant Tr ansformer)的新方法,用于解决点云匹配任务中的姿态变化问题。

该方法使用注意力机制和基于点对特征的坐标来处理姿态变化,并在刚性和非刚性基准测试中进行了广泛实验以证明其优越性。与现有的深度匹配器相比,RoITr具有更高的鲁棒性和旋转不变性,并且在效率和准确性方面都表现出色。

图1是本篇论文中的一个概览图,它展示了RoITr的整体架构。

本文提出了一种名为RoITr的点云配准算法,它能够在姿态不确定的情况下实现高精度的点云配准。RoITr算法主要分为三个步骤:局部几何编码、全局上下文聚合和粗到细的匹配。

第一步是局部几何编码。

RoITr使用了一个名为Point Pair Feature Transformer(PPFTrans)的编码器-解码器架构,用于对点云进行局部几何编码。PPFTrans包含一个编码器和一个解码器,其中编码器由多个Attentional Abstraction Layer(AAL)和Point Pair Feature Attention Layer(PAL)组成。

AAL用于下采样和抽象化,而PAL则用于对局部几何进行编码和上下文聚合。这些层都基于本文提出的PPF Attention Mechanism(PAM),它使得RoITr具有姿态不变性。

第二步是全局上下文聚合。

RoITr使用了一个堆叠的全局Transformer网络来对整个点云进行上下文聚合。

这个网络由多个Transformer块组成,每个块都包含多头自注意力机制和前馈神经网络层。这些块可以有效地捕获点云中的全局结构信息,并将其与局部几何信息相结合。

第三步是粗到细的匹配。

RoITr使用了一种粗到细的匹配策略,该策略通过逐层下采样和上采样来实现。

首先,RoITr将输入点云分别编码为超级点P和Q,并提取它们之间的初始匹配集C0。然后,RoITr对P和Q进行逐层下采样,生成更粗糙的超级点,并提取它们之间的匹配集Ci。

接下来,RoITr对Ci进行上采样,生成更细致的超级点,并提取它们之间的匹配集Ci+1。这个过程一直持续到达到所需的匹配精度为止。

02  实验

实验主要是针对三维点云匹配和配准问题进行的。

作者提出了一种新的方法RoITr,并将其与七种现有方法进行了比较。实验使用了3DMatch和3DLoMatch数据集,并在旋转和非旋转情况下进行了评估。表格和图表展示了定量和定性结果,以及不同方法之间的比较。

表1展示了在旋转和非旋转的3DMatch和3DLoMatch数据集上的定量结果。

评估使用了5,000个点/对应关系。只有RMSE小于0.2m的点云被视为正确配准。

图2展示了在3DLoMatch数据集上的定性结果。

基准方法是GeoTrans。

图中的(b)和(c)列显示了两个点云之间的对应关系,而(d)和(e)列则展示了配准结果。绿色线表示内点,红色线表示外点。

消融实验:

在本文的Ablation Study中,作者主要对RoITr方法进行了改进和削弱,并比较了这些变化对匹配和配准性能的影响。

具体来说,作者使用Point-Transformer(PT)替换PPFTrans,并将PPF-based local coordinates嵌入到PT中,同时采用PT在PAM中使用的相对坐标。结果表明,本地坐标表示显著提高了PT在点云匹配任务中的性能,并使其具有旋转不变性。然而,相对坐标在PAM中失败了,因为作者采用了一种更有效的注意力机制。

此外,在消融实验中还比较了不同模型组件的贡献。例如,在RoITr方法中,Attention Abstraction Layer(AAL)、PPF Attention Layer(PAL)和Transition Up Layer(TUL)是构成PPFTrans(PPF Transformer)的关键组件。通过逐步去除这些组件并重新训练模型,作者发现每个组件都对最终性能有重要贡献。

总之,在Ablation Study中,作者通过逐步改变模型并比较结果来探索RoITr方法的优缺点,并确定哪些组件对于该方法的成功至关重要。

图3展示了在4DLoMatch上使用Lepard 作为基准的非刚性匹配的定性结果。绿色/红色线表示内点/外点。

03  结论

引入了一种用于点云匹配的内在旋转不变模型RoITr。提出了PAM (PPF注意机制),该机制嵌入了基于PPF的局部坐标来编码旋转不变几何。

该设计以AAL (Attention Abstraction Layer)、PAL (PPF Attention Layer)和TUL (Transition Up Layer)为核心,它们被连续堆叠组成PPFTrans (PPF Transformer),用于具有代表性和姿态无关的几何描述。

通过引入一种新的全局变压器架构进一步增强了特征,该架构确保了旋转不变的跨帧空间感知。在刚性和非刚性基准上进行了大量的实验,以证明该方法的优越性,特别是对任意旋转的显著鲁棒性。

网址:

https://blog.csdn.net/qinglostsoul/article/details/108224863

标题:

Rotation-Invariant Transformer for Point Cloud Matching

更多精彩内容请关注公众号:BFT机器人

本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。

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

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

相关文章

VC6.0的工程设置解读Project--Settings

做开发差不多一年多了,突然感觉对VC的工程设置都不是很清楚,天天要和VC见面,虽然通常情况下一般都不会修改工程设置,但是还是有必要对它的一些设置项的来龙去脉有一定的了解,所以狂查资料,稍作整理&#xf…

(仿真)创建 URDF 机器人模(1)

继上一篇基础篇的结束,不用看以前的也可以,这里是不受前面的影响的。 如果你没有这个目录,就创建一个catkin_ws文件夹 然后里面再一个src文件夹就ok了,我在基础篇第一篇的时候就有这个文件夹了,所有我现在是直接进入 …

【 计算机组成原理 】第七章 外围设备

系列文章目录 第一章 计算系统概论 第二章 运算方法和运算器 第三章 多层次的存储器 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 文章目录 系列文章目录前言第七章 外围设备7.1 外围设备概述7.1.1 外围设备的一般功能7.1.2 外围…

zabbix安装部署、三分钟分钟部署zabbix监控(超详细)

zabbix安装部署 1,快速安装部署zabbix2,一键脚本安装zabbix 1,快速安装部署zabbix 1,关闭防火墙,selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 #临时 sed -i s/SELINUXenforcing/SE…

运维宝典大全

运维宝典大全 网络拓展Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别&#xff…

Jmeter性能测试 -3 Jmeter使用中的一些问题

请求内容出现乱码的处理方法 1 内容编码:utf-8 2 请求头添加编码 Content-Type: application/json;charsetutf-8 3 请求体为参数类型时,勾选参数“编码”,编码为urlencoded编码。当参数值为非字符(汉字、特殊符号)时…

全面了解Java连接MySQL的基础知识,快速实现数据交互

全面了解Java连接MySQL的基础知识,快速实现数据交互 1. 数据库的重要性2. MySQL数据库简介2.1 MySQL数据库的基本概念2.2 MySQL的基本组成部分包括服务器、客户端和存储引擎。2.3 安装MySQL数据库2.3.1安装MySQL数据库2.3.2 下载MySQL安装程序2.3.3 运行MySQL安装程…

API接口|了解API接口测试|API接口测试指南

part1.什么是API接口 API接口是指应用程序接口(Application Programming Interface),它是一组定义、控制和描述软件程序中不同组件之间交互的方式和规则。 API接口允许不同的软件系统之间进行信息共享和相互访问,而无需了解在其…

QT6之QTimeZone

一、简介 QTimeZone 标识时间表示与 UTC 的关系,也可以表示 UTC、本地时间和与 UTC 的固定偏移量。 QTimeZone(自 Qt 6.5 起)统一了它们与一般时间系统的表示,大多数操作系统普遍支持的一个时区被指定为本地时间。 总结&#x…

bim精装修常用软件【建模助手】有什么功能?

大家好,这里是BIM建模助手。 今天有个重磅消息要告诉大家,那就是BIM建模助手的【精装模块】上线啦! 为了辅助BIMer快速设计出精装修的房屋效果,我们开发了【精装模块】,无论是装饰面层、铺排瓷砖、布置吊顶、统计出量…

chatgpt赋能Python-python_kazoo

Python Kazoo: 优质的分布式应用程序开发工具 什么是Python Kazoo? Python Kazoo是一个Python库,它提供了高级别的API,使得分布式应用程序的开发更加容易。Kazoo是基于Zookeeper实现的,它是一个分布式系统协调器,为分…

力扣sql中等篇练习(二十六)

力扣sql中等篇练习(二十六) 1 世界排名的变化 1.1 题目内容 1.1.1 基本题目信息1 1.1.2 基本题目信息2 1.1.3 示例输入输出 a 示例输入 b 示例输出 1.2 示例sql语句 # 分别求出变化前后的排名 然后再进行内连接即可 # row_number()里面也可以用多个字段加减的表达式去进行…

【C++】类和对象(3)

文章目录 一、初始化列表二、explicit关键字三、static成员四、友元4.1 友元函数4.2 友元类 五、内部类六、匿名对象七、编译器的优化 一、初始化列表 首先我们先回顾一下构造函数,对象的初始化由构造函数来完成,我们可以在构造函数的函数体内对对象的成…

00后卷王,把我们这些老油条卷的辞职信都写好了........

现在的小年轻真的卷得过分了。 前段时间我们公司来了个00年的,工作没两年,跳槽到我们公司起薪18K,都快接近我了。 后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家…

一个简单的c程序

有些基础知识点如果不经常温故可能就会忘记&#xff0c;难道是因为我已经老了吗&#xff1f;人要是老了&#xff0c;脑子是真的不好用了啊。今天看一个很简单的c代码&#xff1a; #include <stdio.h> #include <stdlib.h>typedef int eint32; typedef unsigned in…

基于数据库实现乐观锁

基于数据库实现乐观锁 一 乐观锁与悲观锁介绍二 乐观锁实践案例2.1 库存超卖问题复现2.1.1 模拟秒杀下单分析2.1.2秒杀代码2.1.3单元测试结果 2.2 库存超卖问题分析2.3 乐观锁解决超卖问题2.3.1版本号方式 案例源码案例中sql脚本 一 乐观锁与悲观锁介绍 悲观锁&#xff1a; 悲…

Java的文件操作和IO

目录 一、认识文件 树型结构组织 和 目录 文件路径&#xff08;Path&#xff09; 其他知识 二、Java 中操作文件 File 概述 属性 构造方法 文件内容的读写 —— 数据流 InputStream 概述 FileInputStream 概述 构造方法 代码示例 利用 Scanner 进行字符读取 Out…

Puppeteer 部署 - Docker容器 - Idea一键部署

Puppeteer 代码注意 部署到服务器&#xff0c;报错 Running as root without --no-sandbox is not supported.解决方案&#xff1a; const browser await puppeteer.launch({args: [--no-sandbox],env: {DISPLAY: ":10.0"}});Dockerfile 编写Dockerfile根据自己…

前后端交互 | 传递参数的方式

目录 GET请求两种方式 第一种&#xff1a;&#xff1f;& 形式 第二种:不使用&#xff1f;或者引号进行 传递参数 POST请求 小结&#xff1a; get和post的使用情况 传参数重复 传参数&#xff1a;目前共有三种传递参数的方式 GET请求两种方式 第一种&#xff1a;&…

史上最全BI知识全解,万字长文带你读懂BI

在各种新趋势的影响下&#xff0c;数字化不仅在当下有着强大的实力以及巨大的潜力&#xff0c;更是成为了未来世界的标志&#xff0c;成为了社会各界对未来发展的共识。企业为了执行数字化战略&#xff0c;实行数字化转型&#xff0c;实现数据价值&#xff0c;除了需要相关数字…