PTT:Point Tree Transformer for Point Cloud Registration 论文解读

news2024/11/17 7:44:50

目录

一、导言

二、相关工作

1、基于Transformer的点云配准

2、针对点云的局部注意力

三、PTT

1、KPconv提取特征

2、Tree Transformer Encoder

3、Decoder 

4、估计姿态

5、损失函数

四、实验

1、对比不同Backbone

2、运行时间对比

3、对比不同PTT方法下RR指标的影响


一、导言

        本文提出了一种名为Point Tree Transformer(PTT),该方法可以有效地提取全面的局部和全局特征,同时保持线性计算复杂度,也在点云配准精度和效率方面均达到SOTA水平。

(1)提出了一种新型Transformer模型PTT,用于点云配准任务

(2)提出了PTA机制,遵循分层树结构,并将注意力权重聚焦到关键点上,从而提取丰富的局部特征以及保持线性复杂度。

(3)将粗糙特征引导方法引入特征提取中,以便关注局部结构,促进多尺度的集成。

二、相关工作

1、基于Transformer的点云配准

        对于以往基于Transformer的点云配准。

        CoFiNet:交替使用自注意力机制和交叉注意力机制,并使用又粗糙到精细的方式提取特征。

        RegTR:利用Transformer直接进行配准,而不需要RANSAC后处理

        GeoTransformer:在Transformer中引入几何结构,来计算超点匹配。

        RegTransformer:结合了Transformer和图神经网络。

        基于Transformer的点云配准可以保证有效地建立源点云与目标点云之间的全局关系,但存在一些局限性,难以专注于稀疏且有意义的关键点,而是分散在所有点上,另外也存在复杂度随点云规模呈二次增长问题。

        该论文中提出树形结构的Transformer,保证有局部特征能力的情况下,计算复杂度为线性。

2、针对点云的局部注意力

        对于以往的引入局部注意力的基于Transformer的点云配准工作。

        Sparse voxel transformer:基于体素编码短程局部关系,基于聚类编码长程上下文关系。

        Voxel transformer:收敛注意力区域到局部邻域并采样远距离点,在实现大感受野的情况下删掉低相关点的影响,也优化了注意力机制的计算效率和关注度。

        PatchFormer:将点云分块后再分别计算每个patch的局部特征并逐渐逼近全局信息。

        由于以往的方法都是使用一种固定的限制注意场的方法,而并不能很好地关注何为高相关点,而是用一个统一的方法近似关注高相关点(对比各种方法删除离群点,和分类离群点)

三、PTT

        PTT网络结构类似于REGTR的结构,但是他在transformer改用树状Transformer。

        PTT网络分为四部分构成,KPConv提取特征,Tree Transformer Encoder,Decoder,加权Procrutes估算姿态。

1、KPconv提取特征

         类似于REGTR中的KPconv接Resnet的残差结构,用于降采样以及提取特征。最终输出特征F^{\hat{X}},F^{\hat{Y}},下采样的点云坐标\tilde{X},\tilde{Y}

2、Tree Transformer Encoder

        Tree Transformer编码器由Tree Construction、特征池化、Tree Transformer Layer构成。

(1)Tree Construction(树建立)

        目的:将点云特征信息,转换为树的信息。

        首先经过下采样的点云\tilde{X},\tilde{Y}分别划分为多个体素结构,并将相邻的N个体素合并为更加粗糙的体素,并不断重复上述步骤,得到多层次的体素结构,也就建立两个从底到上的树状结构\tau^{\tilde{X}},\tau^{\tilde{Y}}。        

        对于不同的树状结构层l下,一个体素由N_l^{\tilde{X}}个点构成的P_l^{\tilde{X}}点集合。由于最开始从最密集层输入点云,并从密集到稀疏进行构建聚合到上层的父节点上,所以我们定义两个索引,分别由密集到稀疏和稀疏到密集。

        密集到粗糙的索引\rho _{d \rightarrow c}^{\hat{X}}:从某一密集层d的每个点对应上一粗糙层c的哪些点的映射关系。

        粗糙到密集的索引\rho _{c \rightarrow d}^{\hat{X}}:从某一粗糙层d的每个点对应上一密集层c的哪些点的映射关系。

        对于应该是那一层密集层或是粗糙层收到上标i的影响。

        第i层体素的坐标情况为C^{\hat{X}_i}_d,与下一层C^{\hat{X}_j}_d坐标之间的关系如下:

        其中,索引的模代表对应关系数量,所以这个公式代表密集层的若干点的坐标的中心点定为上一层粗层的体素中心。其中d=c+1。

(2)特征池化

         特征池化目的:通过树的建立得到的不同层体素中心点的建立后,计算不同层的特征的关系。

        在不同层之间使用两个全连接层的MLP夹一个ReLU的感知层进行映射,粗糙层的特征,使用下一层密集层一团体素特征和两层的这团体素坐标差的concat作为输入并经过MLP后再取体素特征中心。

(3)位置编码

         为了有效地集成位置信息,将密集特征进行特征池化之前提前将最密集的特征通过正弦编码汇入特征池化过程,后续特征池化过程可以自适应地校准点特征,根据相对位置进行聚合特征。

(4)PTA注意力机制

        首先你要了解一般的交叉注意力机制和自注意力机制结合的结构,参照REGTR博客。

REGTR: End-to-end Point Cloud Correspondences with Transformers 论文解读_3dregnet-CSDN博客

        之后对于PTA注意力机制,我们对自注意力机制和交叉注意力机制分别解体,先送第一层的特征(最粗糙层)进入自注意力机制,得到的输出特征与第二层特征相加,再次送入自注意力机制,重复规则直到最细层特征之后送入交叉注意力机制,重复上述工作,由于对于源点云和目标点云特征均进行相同工作,最终encoder分别输出特征F^{\tilde{X}},F^{\tilde{Y}}

        下图为概述,层间体素图示以及层间二维下的图示。

        另外在论文中,计算了对于树形态的PTA结构的复杂度,在层数为2和层数大于2情况下,均可以达到线性时间复杂度,大幅降低了计算开销。

        公式丢在这里,确实不太想看了。

3、Decoder 

        Decoder部分还是采用了传统的两层MLP夹一个ReLU的形态,并且两个分支的权重共享,输入Encoder的输出特征F^{\tilde{X}},F^{\tilde{Y}},得到Decoder输出特征\hat{\mathcal{X}},\hat{\mathcal{Y}}。(题外话:这个latex花体是\mathcal{X})

        共享参数:减少了模型参数数量,提高了可拓展性。

        另外,使用FC+Sigmoid计算重叠分数。输入Encoder的输出特征F^{\tilde{X}},F^{\tilde{Y}},输出重叠分数\hat{o}^{\tilde{X}},\hat{o}^{\tilde{Y}},用于计算loss。

4、估计姿态

        使用加权的Procrustes估算姿态(但是在REGTR中使用的是Kabsch-Umeyama算法,在3DRegNet中使用加权的Procrustes计算是因为存在内外点,他需要解决内外点问题,所以此处是不是有错,不太清楚)

5、损失函数

         见REGTR损失函数,一模一样。

四、实验

1、对比不同Backbone

        基于3DMatch、ModelNet40、KITTI数据集,对比往年的SOTA的Backbone,在RTE、RRE、CD、RR等多指标下均达到SOTA水平。(如下图部分实验)

2、运行时间对比

        线性计算量下运行时间较快,也看到与RegTR相当近似(其实也是网络结构相近)

3、对比不同PTT方法下RR指标的影响

        由于树的结构取决与树的层数与不同层的体素大小,而实验表明将最密集层的V设置为KPConv最终下采样层的体素距离,并将树结构设置为八叉树可以达到最好性能。

        过大的体素大小会妨碍对于细粒度区域的提取,过小的体素大小会限制粗糙层的信息,过浅的树结构会导致粗糙层包含过多无关区域,而过深的结构阻碍训练收敛。

 参考论文:https://arxiv.org/abs/2406.17530

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

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

相关文章

[机器学习]决策树

1 决策树简介 2 信息熵 3 ID3决策树 3.1 决策树构建流程 3.2 决策树案例 4 C4.5决策树 5 CART决策树(分类&回归) 6 泰坦尼克号生存预测案例 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import …

starUML使用说明文档[简单易懂/清晰明了]||好上手

1. 安装 StarUML 首先,您需要从 StarUML 官方网站(http://staruml.io/)下载最新版本的 StarUML 安装包。然后,按照提示进行安装。(联想可以从软件管家里下载) 2. 打开 StarUML 安装完成后,双击桌…

mac上Charles怎么配置,可以抓取浏览器/IDEA的接口

一、抓取浏览器接口 1、下载安装Charles后,按下图操作安装证书,mac撒好难过要把证书调整为可信任 2、打开macOS代理 方式一:指点开启这里 方式二:进入代理配置中开启,结果和方式一一样的 3、这时就可以抓取到浏览器…

高职院校人工智能技术和无人机技术实训室建设方案

一、方案背景与需求分析 1.1 人工智能与无人机技术发展概况 人工智能(AI)和无人机技术作为当今科技领域的两大热点,正以前所未有的速度发展和渗透到各行各业中。根据国际数据公司(IDC)的报告,全球人工智能市场规模预计将在2024年…

Oracle按照某一字段值排序并显示,相同的显示序号

Oracle按照某一字段值排序并显示,相同的显示序号 最近的工作遇到对于相同的字段,按照序号去显示值,并对相同的值进行排序 实验了半天,感觉满意的答案,分享给大家 第一种: ROW_NUMBER 语法: ROW_NUMBER() OVER (ORDER BY your_column) AS sequence_number 说明: 根据your_column…

Python 数学建模——ARMA 时间序列分析

文章目录 前言使用前提平稳性检验白噪声检验 用法代码实例第一步——平稳性分析方法一方法二方法三 第二步——白噪声分析第三步——确定参数第四步——模型构建与检验检验模型效果预测未来数据 前言 常见的时间序列分析方法有很多,之前介绍了一个稍微新颖的 Prophe…

55 mysql 的登录认证流程

前言 这里我们来看一下 mysql 的认证的流程 我们这里仅仅看 我们最常见的一个 认证的处理流程 我们经常会登录的时候 碰到各种异常信息 认证失败的大体流程 大概的流程是这样 客户端和服务器建立连接之后, 服务器向客户端发送 salt 然后 客户端根据 salt 将客户端传入的…

MySQL权限控制(DCL)

我的mysql里面的一些数据库和一些表 基本语法 1.查询权限 show grants for 用户名主机名;例子1:查询权限 show grants for heima%;2.授予权限 grant 权限列表 on 数据库名.表名 to 用户名主机名;例子2: 授予权限 grant all on itcast.* to heima%;…

<<编码>>第 12 章 二进制加法器--二进制加法器 示例电路

info::操作说明 鼠标单击逻辑输入切换 0|1 状态 另: 因节点较多, 为避免过多连线, 此处采用标签虚拟连接方式, 相同的标识符表示连接在一起 关于标签虚拟连接的介绍见该链接: https://book.xiaogd.net/usage-of-circuitjs/circuitjs-label-simplify-circuit.html primary::在线…

《订单来了2024中秋预订趋势报告》发布:截至9月13日,商家中秋预订率上涨42.73%,山西文化巡礼成顶流

# 截至9月13日,订单来了酒店民宿已突破16万,商家中秋假期平均预订率较9月8日上涨42.73%。 对比6天前,酒店商家中秋平均预订率增长38.85%,民宿商家增长38.10%。 1%的酒店民宿达成「连续3天满房」成就,4%商家预订率超…

terminator-gnome

gnome import os#启动节点指令变量 stere"ros2 launch stereo_c start.py" utils"ros2 launch task utils.launch.py" #tab标题 stere_title"stere_driver" utils_title"utils"#一个终端界面打开5个tab cmd1f"gnome-terminal --…

嵌入式软件黑盒测试技术与案例分析培训

黑盒测试,也称为基于需求的测试,是目前嵌入式软件领域普遍开展的一种测试过程。目前,随着人们对软件质量要求的不断提升,行业对软件测试和验证的要求也在不断提高,对测试的充分性和准确性要求越来越苛刻。当前行业内&a…

工作流技术(WorkFlow)

什么是工作流 1.使用编程语言完成一套固定的审批流程 例如请假审批流程 订单配送流程 入职,辞职审批流程 2.使用场景 业务类:合同审批流程、订单处理流程、出入库审批流程等。 行政类:请假流程、出差流程、用车流程、办公用品申请流程…

代理IP设置后IP不变?可能的原因及解决方法

在使用代理IP时,有时会遇到代理设置后IP地址却没有变化的情况。这种问题可能会让人感到困惑,但其实背后有多种原因。本文将详细探讨这些原因,并提供相应的解决方法,帮助你顺利解决问题。 可能的原因 代理IP设置后IP地址不变的原…

智慧人居视音频解决方案探究和技术实现

智慧人居技术背景 智慧人居是一种利用先进技术和智能化系统,旨在提升居住环境的舒适性、便捷性和安全性的新型居住模式。随着物联网、大数据、人工智能等技术的不断发展,智慧人居正朝着更加智能化、个性化、集成化的方向发展。 智慧人居通过集成各种智…

【数据结构与算法 | 灵神题单 | 合并链表篇】力扣2, 21, 445, 2816

1. 力扣2:两数相加 1.1 题目: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可…

房产销售系统:SpringBoot技术应用案例

第二章关键技术的研究 2.1相关技术 房产销售系统是在Java MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言,易于学习,实用且面向用户。全球超过35%的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统,因为它的…

Blender/3ds Max/C4D哪个软件好?

在3D建模和动画制作领域,Blender、3ds Max和Cinema 4D(C4D)都是备受赞誉的软件。每个软件都有其独特的优势和特点,选择哪个软件取决于用户的具体需求和个人偏好。今天,成都渲染101云渲染就来分析一些这三款软件的情况&…

滑动窗口算法—最小覆盖子串

题目 ”最小覆盖子串“问题,难度为Hard,题目如下: 给你两个字符串 S 和 T,请你在 S 中找到包含 T 中全部字母的最短子串。如果 S 中没有这样一个子串,则算法返回空串,如果存在这样一个子串,则可…

GANs-生成对抗网络

参考: https://mp.weixin.qq.com/s?__bizMjM5ODIwNjEzNQ&mid2649887403&idx3&snf61fc0e238ffbc56a7f1249b93c20690&chksmbfa0f632460e035f00be6cc6eb09637d91614e4c31da9ff47077ca468caad1ee27d08c04ca32&scene27 https://cloud.tencent.com…