RandLA-Net
- Main Work:主流方法在segmentation任务上,由于计算代价,只适用small-scale的点云。本文使用random point sampling策略,减少计算代价,适用于large-scale点云。然而这种策略会削弱特征表达能力,因此文章提出了一种新颖的local feature aggregation模块增强每个点的感受野,从而保存点云的几何细节。主流方法无法直接扩展到large-scale的主要原因有:
- 主流的point-sampling方法低效且占内存,例如FPS;
- 主流的local feature learner需要大量计算代价,例如基于核/图结构的方法;
- 一个large-scale点云,通常包含上百个object,主流方法由于受限的感受野,难以捕捉这种复杂的结构。
- Method
- Architecture
- Architecture
-
主流的point-sampling方法
- 启发式:
① Farthest Point Sampling,FPS:O(n^2)
② Inverse Density Importance Sampling,IDIS:O(n)
③ Random Sample,RS:O(1) - Learning-based:
① Generator-based Sampling,GS
② Continuous Relaxation based Sampling ,CRS
③ Policy Gradient based Sampling,PGS
- 启发式:
-
Local Feature Aggregation
- Local Spatial Encoding:对点的位置信息进行显式的编码
① 对于第i个输入,使用KNN寻找其K个邻域;
② 对第i个输入,与其K个邻域计算位置相关的编码:
③ 点特征增强,将位置相关编码与邻域点的特征进行连接。
- Attentive Pooling:利用注意力机制对特征进行加权
① 用MLP计算注意权重;
② 权重相加。 - Dilated Residual Block:受启发于ResNet,对LocSE与Attentive Pooling进行堆叠
- Local Spatial Encoding:对点的位置信息进行显式的编码
-
实验对比
-
Random Sampling的效率:
-
RandLA-Net的效率:
-
Point Transformer
- Main Work:Transformer在点云任务上的首次应用,并且为点云任务特殊设计了self-attention层
- Method
- Architecture
- Architecture
- Point Transformer Layer:文章采用的是vector attention,即attention weight是可以调整单个通道特征的向量。point attention pair采用的是【减法关系】,不同于传统的【点乘】。
-
Position Encoding:θ是MLP以及激活函数,并且前对 attention generation branch和feature transformation branch都重要。
-
一些消融实验
-
Position embedding:
-
Form of self-attention operator:
-
Point Transformer V2
- Main Work:研究了Point Transformer的缺陷,提出了V2版本。其中,提出了group vector attention替换vector attention,增强了position information,并且提出了轻量的partition-based pooling实现更好的空间对齐以及高效的采样。
- 在PTv1中,采用了vector attention。但随着网络层次深入,通道数量增加,容易导致模型过拟合;
- 主流方法使用的3D位置编码方法多数是跟随2D方法,没有办法充分挖掘3D坐标中的几何信息;
- 主流的pooling策略是依赖于采样策略(例如FPS),他们多数是低效且缺乏有效空间对齐的。
- Method
-
Local attention:相较于shifted-grid attnetion(划分网格,每一个网格中的点相互进行attention),PTv1中采用的neighborhood attention(利用knn计算出点的邻域并进行attnetion)更加有效,因此本文的PTv2也采用neighborhood attention;
-
Scalar Attention与Vector Attention:
-
Scalar Attention:注意力权重是q与k点乘得到,是一个标量
-
Vector Attention:注意力权重是通过q与k经过relation function(例如相减)得到的,是一个多通道向量
-
-
Group Vector Attention(GVA):PTv1的Vector Attention在网络加深时会带来大量参数,削弱模型的性能。Group Attention将value的通道数划分为g个组,同时将weight的通道数减少为g,因此在同一个组内的value可以共享同一个weight。
-
GVA会退化为多头注意力机制,当w被定义为:
Grouped linear:不同组的input需要经过不同的projection,如此一来也可以减少学习参数量
-
Position Encoding Multipler:由于PTv1受限制于模型的大量参数,再引入position embedding实质上不会带来太多提升。而在PTv2中,由于通过group scalar attention对参数量的规模进行了限制,因此可以对position embedding的表征进行增强。
-
Partition-based Pooling:由于传统方法中,不同点对邻域特征的聚合存在重叠,因此对于空间对齐是不可控的。针对这个问题,文章提出的Parition-based pooling采用网格划分,不同邻域不存在重叠。
-
Architecture