PCT: Point Cloud Transformer论文阅读及理解

2023-10-31 05:30

本文主要是介绍PCT: Point Cloud Transformer论文阅读及理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PCT: Point Cloud Transformer

Abstract

点云数据的不规则和无序性是的用神经网络处理变得很困难。PCT是基于Transformer。

为了更好的获得点云局部的联系,采用了最远点采样和最邻近搜索。

Introduction

Transformer是一个编码器-解码器结构,包含了三个主要的模块:输入嵌入、位置编码、自注意。自注意模块是核心模块,用于根据输入的全文信息形成细化后的特征。

Transformer所有的操作都是并行且与顺序无关的。理论上来说,Transformer操作能够替换卷积操作,且有更好的通用性。

PCT关键思想是利用Transformer固有的顺序不变性,无需定义点云数据的顺序,利用注意力机制进行特征学习。

 

由PCT生成的注意力图和部分分割。前三列表示不同查询点对应的点的注意力映射,有黄色到蓝色注意力权重加深。最后一列表示了分割的结果。

PCT框架做了一些改变:

基于坐标的输入点输入模块:在Transformer对于翻译任务中时,编码器对单词所在的位置进行了编码,获得了位置信息,而点云时无序性的。在PCT框架中,将位置位置编码和输入嵌入融合成一个基于坐标的嵌入模块。

优化的偏移注意模块:对于原有的自我注意的有效升级,通过将原有的注意力特征替换为自我主义模块和注意特征之间的偏移量

领域嵌入模型:注意力机制可以高效的获取全局特征,但是容易忽略局部的集合特征,这对于点云的学习时很重要的。为了解决这个问题,提出了领域嵌入模型。

贡献:

  1. 提出了基于Transformer的点云学习框架PCT
  2. 提出了带有隐式Laplace算子的偏移注意和归一化细化,具有固定的置换不变性。
  3. 在具有显示局部上下文增强的PCT在形状分类、零件分割和正常估计任务方面取得了先进的性能

Transformer for Point Cloud Representation

Point Cloud Processing with PCT

**Encoder.**PCT的完整结构如下图:

 

PCT的目标是将输入的点云转化成一个高位的特征向量空间,可以表示为点之间语义的亲和性。PCT首先间输入坐标嵌入于一个新的特征空间中,随后嵌入的特征被输入四个堆叠的注意模块,对每个点的语义丰富和区别的表示进行学习,同故宫一个线形层形成输出特征。

输入一个点云P,具有N个点,每个点有d维特征向量,首先经过输入嵌入模块输出de维的特征向量Fe,再通过特征维度将每个注意层的输出连接起来进行线性变换输出do维的Fo特征向量。:

 

ATi代表了第i个注意层,注意层有着和输入一样的输出,Wo时线性层的权重。

为了提取全局的特征向量Fg,我们将两个池化层的输出连接了起来。

 

**classification.**将全局特征向量Fg放入分类解码器进行分类,分类解码器包含了两个前馈神经网络LBRs(线形层,batchnorm和ReLU),设置dropout为0.5,以一个线性层去预测最终的得分最为结尾。

Segmentation:点云分割任务中,首先将全局特征Fg和第一个线性层输出的特征Fo结合起来,为了学习各类目标的通用模型,将目标目录向量编写为64维的独热码特征,把这个特征和全局特征连接起来,遵循绝大多数的其他点云分割网络。

 

与分类网络基本一致,只在第一层LBR进行dropout。

Na¨ıve PCT‘

首先考虑 naive的点嵌入,点嵌入的目的时将语义上近似的点在嵌入空间更加靠近。 具体来说,首先嵌入一个点云P到de维的空间Fe中,使用一个共享的神经网络,包含类两个LBR层,每层都输出de维的向量。通常设置de=128,通常只是用点的坐标作为输入特征,即输入特征维度dp=3,但是也可以加入法线作为输入特征。

对于实现PCT,采用了自注意机制(SA)作为初始的Transformer,用于计算数据序列中不同项的亲密关系,SA层的结构如下图虚线所示:

 

Fin作为de维的输入特征向量,用于得到Q、K、V矩阵,过程如下:

 

Wq、Wk、Wv时共享的可学习的线性变换,da时Q和K向量的维度,da一般不等于de,在这里设置维da=de/4

首先可以通过Q和K矩阵计算注意力权重:

 

将这些权值进行归一标准化输出(在figure中用SS表示)得到A=(α)i,j:

自注意输出的特征Fsa时使用对应注意权重V向量的和:

图中部分:

 

Q、K、V矩阵都时输入Fin矩阵决定,他们都是与顺序无关的。且softmax和加权都是与排序无关的算子。因此整个自注意过程都是与顺序无关的,十分适合点云的特征。

最后Fout由Fsa和Fin经过LBR网络维SA层提供输出特征Fout:

Offset-Attention

在Transformer中将自主意(SA)模块替换为offset-attention(OA)偏移注意模块,用以增强PCT。

在figure3中显示,偏移注意层通过元素相减计算自注意特征和输入特征的偏移。

 

在网络中,使用偏移量Fin-Fsa替代了原有的Fsa,即公式

 

需要改变为:

Fin-Fsa的过程类似于拉普拉斯算子,从公式中可以推出:

 

 Wi因为时Laplace层的权重矩阵,因此被忽视?(这里有点不懂,评论区有大佬帮忙解释一下吗)

在PCT的增强版本种,softmax层也被改为:

 

 这里使用softmax作为第一层,而1阶范数作为第二维来标准化注意力映射。这样提高了注意力权重,减少了噪音的影响。

Neighbor Embedding for Augmented Local Feature Representation

带有点嵌入的PCT是一种提取全局的特征有效网络,但是忽略了全局的领域信息。利用Pointnet++和DGCNN的思想,设计了一种局部邻域聚合策略,以增强PCT的局部特征提取能力。结构如下:

 

邻域嵌入模块包含了两个LBR层和两个SG层(采样和分组),LBR层作为嵌入的基点,在特征聚集的过程种使用两个SG层来扩大接受域。在采样过程种,SG层利用欧式距离聚合了由k-NN搜索分组的每个点的局部邻域特征。

对于一个具有N个点的点云P,特征向量为F,子采样点云Ps,具有Ns个点,对应的特征向量为Fs。首先使用最远点采样算法采样出Ps。对于每个采样点,令knn(p,P)成为在P种k个最近的邻域。则可以计算出输出特征向量Fs:

其中,F(p)时输入对点p的特征,Fs(p)时输出采样点的特征,MP时最大池化采样,RP(x,k)重复x向量k次以形成一个矩阵。

这篇关于PCT: Point Cloud Transformer论文阅读及理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/313144

相关文章

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

Sentinel 断路器在Spring Cloud使用详解

《Sentinel断路器在SpringCloud使用详解》Sentinel是阿里巴巴开源的一款微服务流量控制组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、... 目录Sentinel 介绍同类对比Hystrix:Sentinel:微服务雪崩问题问题原因问题解决方案请