三维目标检测---PointCloudTransformer论文解读

1

代码链接

paper链接

论文总结

本文提出了一种在适用于点云的Transformer结构。根据点云数据的特点进一步改善了Transformer的结构。其主要做了三点改进:

  1. 基于坐标的输入嵌入方法
  2. 改进的offset-attention方法(想法主要来源于图神经网络)
  3. 邻近点嵌入方法

下面依次介绍上述三种改进点以及改进的原因。

首先介绍原始的Transformer结构在点云中的使用。

2

使用点云的Encoder结构来提取点云的特征。首先使用一个输入嵌入层来转化点云的坐标,就是将三维的点云坐标映射到一个更高维的空间。这一步的目的是使得具有相似语义信息的点云能够在高维空间中更加靠近。文中这一步是使用线性层来完成的。然后将经过转化后的坐标输入到级联的Attention网络中。然后将各个层级的Attention网络的输出拼接起来,再经过一个线性层以得到一个逐点的特征,然后使用一个Max Pooling或者Mean Pooling操作来获得一个全局的特征。这样我们就可以使用全局的特征来进行点云的分类了。如果是其他任务的话,可以把全局特征和前面逐点的特征进行拼接,在来进行下一步的任务(这个和PointNet++中的操作是一致的)。

上述过程描述的就是使用基于坐标的输入嵌入方法和原始的Transformer结构结合起来处理点云的网络。

在介绍offset-Attention方法之前,需要先介绍一下原始的self-Attenion的机制:
A ^ = ( a ^ ) i , j = Q ⋅ K T F s a = A ⋅ V F o u t = S A ( F i n ) = L B R ( F s a ) + F i n \hat{A}=(\hat{a})_{i,j}=Q \cdot K^T \\ F_{sa} = A \cdot V \\ F_{out} = SA(F_{in}) = LBR(F_{sa}) + F_{in} A^=(a^)i,j=QKTFsa=AVFout=SA(Fin)=LBR(Fsa)+Fin
上述公式中 A A A A ^ \hat{A} A^的归一化后的结果,具体的归一化的方法可以参考原论文。offset-Attention的方法就是将 L B R LBR LBR中的 F s a F_{sa} Fsa变化为 F s a F_{sa} Fsa F i n F_{in} Fin的差。这样的话就可以有:
F o u t = O A ( F i n ) = L R B ( F i n − F s a ) + F i n F_{out}=OA(F_{in})=LRB(F_{in} - F_{sa}) + F_{in} Fout=OA(Fin)=LRB(FinFsa)+Fin
image-20211208123926572

作者把这样改进之后的PCT记为SPCT.

此外,作者还注意到,PCT在提取点云特征的时候,只关注到了点云的全局特征,而忽略了局部特征,因此,受到PointNet++的影响,作者引入了一个局部特征聚合的机制。和PointNet++一样,进行了一个Sampling和Grouping。然后使用PointNet来提取局部点云的特征,然后将这些采样的点及其对应的聚合的特征作为Attention网络的输入.此举大大提高了模型的性能。具体可见下表:

image-20211208124405743

image-20211208124541575

从上述表格中可以看出,SPCT和那个局部特征聚合都对模型的性能有所提升。此外,作者还做了计算资源方面的分析。资源消耗对比如下表所示:

image-20211208125922176

从上表可以看出,NPCT和SPCT的资源消耗相差不是很大,但是精度有一定的提升。PCT相比其余两个的参数量和计算量要多很多,但是所需的浮点运算的次数仍比PointNet++(MSG)要少很多。精度却有很大的提升。

可用知识点

  1. 在点云中使用Transformer时,因为点云自带位置信息,因此可以考虑将位置嵌入和输入嵌入结合起来。
  2. 在点云中使用Transformer时,可以考虑使用offset-Attenion方法来替换self-Attention方法。
  3. 在点云中使用Transformer时,可以考虑从使用类似于PointNet2中的局部特征聚合的方法来聚合局部信息。

常用句式

  1. Therefore, the whole self-attention process is permutation-invariant, making it well-suited to the disordered, irregular domain presented by point clouds. 解释了self-attention适合于point cloud处理的原因。

代码解读

[挖坑]

resented by point clouds. 解释了self-attention适合于point cloud处理的原因。

代码解读

[挖坑]

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值