文章目录
论文地址: PointASNL: Robust Point Clouds Processing using Nonlocal Neural Networks
with Adaptive Sampling
代码地址: PointASNL
1 创新点
- 提出了一种端到端的模型 PointASNL,用于处理带有噪声或异常值的点云数据;
- 引入了自适应采样(AS)模块可以自适应地调整初始采样点的坐标,使其更适合具有内在几何特征的特征学习,并且对于噪声异常值更加鲁棒;
- 在局部-非局部(L-NL)模块中设计了点非局部单元,增强了点局部单元中的特征学习。
2 方法
2.1 Adaptive Sampling(AS)模块
定义如下符号:
P
s
∈
R
N
s
×
3
\mathcal{P}_s \in \mathbb{R}^{N_s\times 3}
Ps∈RNs×3:表示从某个层用 FPS 下采样后得到的点集,其中可能包含噪点。
F
s
∈
R
N
s
×
D
l
\mathcal{F}_s \in \mathbb{R}^{N_s\times D_l}
Fs∈RNs×Dl:表示下采样得到的点集的 feature 集合。
x
i
,
f
i
x_i,f_i
xi,fi:表示下采样得到的点集里面的某个点的坐标和 feature。
AS 模块首先从上一层的点集合中使用 FPS 下采样得到
P
s
\mathcal{P}_s
Ps、
F
s
\mathcal{F}_s
Fs,然后
2.1.1 用 KNN 找邻居点集
用 KNN 算法,给每个下采样得到的点找 K 个邻居点。假设点 x i x_i xi的邻居点集合为: x i , 1 , . . . , x i , K ∈ N ( x i ) x_{i,1},...,x_{i,K}\in \mathcal{N}(x_i) xi,1,...,xi,K∈N(xi),对应的邻居点的 feature 集合为: f i , 1 , . . . , f i , K f_{i,1},...,f_{i,K} fi,1,...,fi,K。
2.1.2 Self-attention 增强邻居点 feature
主要思路是:对于点
x
i
x_i
xi的第
k
k
k个邻居点,分别计算出它与
x
i
x_i
xi的其它邻居点的相关性,然后 softmax 计算出一组权重,最后使用权重对
x
i
x_i
xi 的所有邻居点的 feature 进行加权求和,得出点
x
i
x_i
xi 的第
k
k
k 个邻居点的新的 feature。直觉上,经过这步处理后,每个邻居点的 feature 会包含邻域范围内的所有点的一些信息。
具体操作流程如下:
- 邻居点坐标 normalization:所有邻居点的坐标,减去第一个邻居点的坐标,转成相对于第一个点的相对坐标。
- 重新构建邻居点的 feature:每个邻居点的相对坐标,与邻居点的 feature,拼到一起,得到每个邻居点的新 feature。
- 用 self-attention 模式,分别计算出邻居点集的 3 个 feature 矩阵:query、key、value。
- 用 query 和 key 矩阵相乘,并用 softmax,得到邻居点之间的 attention 矩阵。对 attention 进行scale。
- 用 attention 和 value 矩阵相乘,得到所有邻居点 feature。
f i , k = A ( R ( x i , k , x i , j ) γ ( x i , j ) , ∀ x i , j ∈ N ( x i ) ) f_{i,k}=\mathcal{A}(\mathcal{R}(x_{i,k},x_{i,j})\gamma (x_{i,j}), \forall x_{i,j}\in \mathcal{N}(x_i)) fi,k=A(R(xi,k,xi,j)γ(xi,j),∀xi,j∈N(xi))
γ ( x i , j ) = W γ f i , j \gamma(x_{i,j})=W_{\gamma}f_{i,j} γ(xi,j)=Wγfi,j
R ( x i , k , x i , j ) = S o f t m a x ( ϕ ( f i , k ) T θ ( f i , j ) / D ′ ) \mathcal{R}(x_{i,k},x_{i,j})=Softmax \left ( \phi(f_{i,k})^T\theta(f_{i,j})/\sqrt{D'} \right ) R(xi,k,xi,j)=Softmax(ϕ(fi,k)Tθ(fi,j)/D′)
2.1.3 调整采样点
主要思路是:用增强后的邻居点的 feature,通过网络学出以下两个信息:
- 邻居点集的 feature 的每个 channel 的 attention 权重向量,然后分别在每个 channel 上,用对应channel 上的 attention 权重向量,加权求和,得到采样点 x i x_i xi 调整后的 feature。
- 邻居点集的坐标的 attention 权重向量,然后用该 attention 权重向量,对所有邻居点的坐标加权求和,得到采样点 x i x_i xi 调整后的坐标。
具体操作流程如下:
- Self-attention 后的 feature,经过一个多层 MLP 网络,得出一个新的 weight 矩阵,该矩阵的维度是:[batch,point_number,neighbor_number,channel+1]。这里额外增加的一个 channel 是为了后面计算邻居点集的坐标的权重矩阵。
- 在以上的 neighbor_number 维度上,用 softmax,计算出邻居点集的每个 channel、坐标的权重矩阵。
- 用 channel 维度上的权重矩阵,对邻居点集的 feature 在每个 channel 上进行加权求和,得到点 x i x_i xi 调整后的 feature。
- 用坐标的权重矩阵,对邻居点集的坐标进行加权求和,得到点 x i x_i xi 调整后的坐标。
总结:Adaptive Sampling 在邻域内,先用 Self-Attention 进行 feature 增强,然后用另一种 attention 在邻域内进行 feature、坐标的加权求和,得出所有采样点的 feature、坐标。论文认为,这样可对采样点中包含的噪点进行处理。