摘要
由于数据结构的不规则和无序性,点云分析具有挑战性。为了获取三维几何图形,以往的工作主要依靠利用卷积、图或注意机制探索复杂的局部几何提取器。然而,这些方法在推断过程中产生了不利的延迟,并且在过去的几年里性能趋于饱和。在本文中,我们提出了一个新的视角来研究这一任务。我们注意到详细的局部几何信息可能不是点云分析的关键,我们引入了一个纯粹的残差MLP网络,称为PointMLP,它没有集成复杂的局部几何提取器,但仍然具有很强的竞争力。PointMLP配备了一个轻量级的几何仿射模块,在多个数据集上提供了最新的技术。在真实的ScanObjectNN数据集上,我们的方法甚至比之前的最佳方法高出3.3%的精度。我们强调,PointMLP在没有任何复杂操作的情况下实现了这种强大的性能,从而导致了更高的推理速度。与最近的CurveNet相比,PointMLP训练更快,测试更快,在ModelNet40基准上更准确。
引言
在本文中,我们的目标是建立一个深度网络,仅使用残差前馈MLP(residual feed-forward MLP),而不使用任何精细的局部特征探索点云分析。通过这样做,我们避免了复杂的局部几何提取器带来的令人望而却步的计算和持续的内存访问,并享受了高度优化的mlp带来的效率优势。为了进一步提高性能和泛化能力,我们引入了一种轻量级的局部几何仿射模块,自适应变换局部区域的点特征。我们将新的网络体系结构称为PointMLP。在基于mlp的设计理念的意义上,我们的PointMLP类似于PointNet和pointnet++。
尽管设计理念很简单,但PointMLP(以及精英版本)在3D点云分析方面表现出了卓越的性能。具体来说,我们在ModelNet40基准上实现了最先进的分类性能,为94.5%,在真实的ScanObjectNN数据集上,我们的分类精度比相关工作高出3.3%,推理速度显著提高。
点云的深度残差MLP
我们建议通过一个简单的前馈残差MLP网络 ( PointMLP ) 来学习点云表示,该网络将MLP提取的局部特征分层次地聚合起来,并放弃使用精细的局部几何提取器。为了进一步提高鲁棒性和性能,我们还引入了一个轻量级的几何仿射模块,将局部点转换为正态分布。我们的方法的详细框架如图所示:
PointMLP中一个阶段的概述。给定一个输入点云,PointMLP利用 residual point MLP 模块逐步提取局部特征。在每个阶段,我们首先使用几何仿射模对局部点进行变换,然后分别在聚合操作前后提取它们。PointMLP通过重复多个阶段,逐步扩大接受域,建立完整的点云几何信息模型。
回顾 基于点的方法
基于点的点云分析方法的设计可以追溯到PointNet和pointnet++,这个方向背后的动机是从一开始就直接处理点云,以避免不必要的渲染过程。
给定一个点云
P
=
{
p
i
∣
i
=
1
,
2
,
.
.
.
,
N
}
∈
R
N
×
3
P = \lbrace p_i | i=1,2,...,N \rbrace \in R^{N \times 3}
P={pi∣i=1,2,...,N}∈RN×3, 基于点的方法旨在使用神经网络直接学习
P
P
P 的底层表示
f
f
f.最具开创性的作品之一是PointNet++,它通过叠加多个学习阶段来学习分层特征。在每个阶段中,
N
s
N_s
Ns 个点以最远点采样方法被重采样,以
s
s
s来索引采样阶段,每个采样点选择
K
K
K 个临近点,然后采用最大池化方法进行聚合以获取局部结构。概念上,pointnet++的核心操作可以表述为:
g
i
=
A
(
Φ
(
f
i
,
j
)
∣
j
=
1
,
2
,
.
.
.
,
K
)
g_i=A(\Phi(f_{i,j}) | j=1,2,...,K)
gi=A(Φ(fi,j)∣j=1,2,...,K) 其中
A
A
A 表示最大池化聚合操作,
Φ
(
⋅
)
\Phi(\cdot)
Φ(⋅) 表示局部特征提取函数(PointNet++中的MLP),
f
i
,
j
f_{i,j}
fi,j 表示第
i
i
i 个采样点的第
j
j
j 个临近点的特征。通过这样做,pointnet++能够有效地捕获局部几何信息,并通过重复操作逐步扩大接受域。
在网络架构设计的意义上,pointnet++展示了一个通用的点云分析策略。在此基础上,提出了一些即插即用的方法,主要是局部特征提取器
Φ
(
⋅
)
\Phi(\cdot)
Φ(⋅) 。一般情况下,这些局部特征提取器利用卷积、图或自我注意机制深入挖掘局部几何信息。在RSCNN中,提取器主要是通过探索点关系来实现的:
Φ
(
f
i
,
j
)
=
M
L
P
(
[
∥
x
i
,
j
−
x
i
∥
2
,
x
i
,
j
−
x
i
,
x
i
,
j
,
x
i
]
)
⋅
f
i
,
j
,
∀
j
∈
{
1
,
2
,
.
.
.
,
K
}
\Phi(f_{i,j})=MLP([\lVert x_{i,j}-x_i \rVert _2, x_{i,j}-x_i, x_{i,j}, x_i]) \cdot f_{i,j}, \forall j \in \lbrace 1,2,...,K \rbrace
Φ(fi,j)=MLP([∥xi,j−xi∥2,xi,j−xi,xi,j,xi])⋅fi,j,∀j∈{1,2,...,K} 其中
[
⋅
]
[ \cdot ]
[⋅] 是串联操作,MLP是一个由全连接(FC)层、批归一化层和激活函数组成的小网络。与RSCNN不同,Point Transformer 在点云分析中引入了自我注意机制,并考虑了局部区域中成对点之间的相似性。为此,它将提取器重新定义为:
Φ
(
f
i
)
=
∑
j
=
1
k
ρ
(
γ
(
φ
(
f
i
)
−
ψ
(
f
i
,
j
)
+
δ
)
)
⊙
(
α
(
f
i
,
j
+
δ
)
)
\Phi(f_i)=\sum^{k}_{j=1} \rho(\gamma( \varphi(f_i)-\psi(f_{i,j})+\delta) ) \odot (\alpha(f_{i,j}+\delta))
Φ(fi)=j=1∑kρ(γ(φ(fi)−ψ(fi,j)+δ))⊙(α(fi,j+δ)) 其中
γ
,
ψ
,
φ
,
α
\gamma, \psi, \varphi, \alpha
γ,ψ,φ,α是线性映射函数,
⊙
\odot
⊙ 将两个矩阵的对应元素相乘,
ρ
\rho
ρ 进行了
s
o
f
t
m
a
x
softmax
softmax 归一化。特别地,点转换器引入了一种相对位置编码,
δ
=
θ
(
x
i
−
x
i
,
j
)
\delta=\theta(x_i-x_{i,j})
δ=θ(xi−xi,j),其中,相对位置通过两个FC层和一个ReLU非线性层进行编码,成为注意力权值和特征值。这种轻量级的位置编码器大大提高了 Point Transformer 的性能。
PointMLP 框架
为了摆脱上述限制,我们提出了一个简单而有效的基于mlp的点云分析网络,没有引入复杂或繁重的操作。我们的PointMLP的关键操作可以表述为:
g
i
=
Φ
p
o
s
(
A
(
Φ
p
r
e
(
f
i
,
j
)
∣
j
=
1
,
2
,
.
.
.
,
K
)
)
g_i=\Phi_{pos}(\mathcal A(\Phi_{pre}(f_{i,j}) | j=1,2,...,K))
gi=Φpos(A(Φpre(fi,j)∣j=1,2,...,K)) 其中
Φ
p
o
s
(
⋅
)
\Phi_{pos}(\cdot)
Φpos(⋅) 和
Φ
p
r
e
(
⋅
)
\Phi_{pre}(\cdot)
Φpre(⋅) 是残差点MLP块,
Φ
p
r
e
(
⋅
)
\Phi_{pre}(\cdot)
Φpre(⋅) 用来从局部区域学习共享权重,
Φ
p
o
s
(
⋅
)
\Phi_{pos}(\cdot)
Φpos(⋅) 用于提取深度聚合特征。映射函数可以写成一系列同构的残差点MLP块,
M
L
P
(
x
)
+
x
MLP (x) + x
MLP(x)+x,其中MLP由FC层、归一化层和激活层(重复两次)组合而成。聚合函数
A
(
⋅
)
\mathcal A(\cdot)
A(⋅) 表示最大池操作。上式描述了PointMLP的一个阶段。对于层次结构和深度网络,我们递归地重复
s
s
s 个阶段的操作。
尽管PointMLP的框架很简洁,但它展示了一些突出的优点:1) 由于PointMLP只利用mlp,所以它自然不受排列的影响,这完全符合点云的特点。2) 通过合并残差连接,PointMLP可以很容易地扩展到几十层,从而得到深度特征表示。3) 此外,由于没有包含复杂的提取器,主要操作只是高度优化的前馈mlp,即使我们引入更多的层,我们的PointMLP仍然可以高效地执行。
我们实验中的网络使用了四个阶段,在
Φ
p
o
s
(
⋅
)
\Phi_{pos}(\cdot)
Φpos(⋅) 和
Φ
p
r
e
(
⋅
)
\Phi_{pre}(\cdot)
Φpre(⋅) 中都有两个残差块。我们采用K近邻算法(kNN)来选择临近点,并设置K为24。
几何仿射模块
虽然在
Φ
p
o
s
(
⋅
)
\Phi_{pos}(\cdot)
Φpos(⋅) 和
Φ
p
r
e
(
⋅
)
\Phi_{pre}(\cdot)
Φpre(⋅) 中可以简单地通过考虑更多的阶段或堆积更多的块来增加深度,但我们注意到,简单的深度MLP结构会降低精度和稳定性,使模型的鲁棒性降低。这可能是由于局部区域几何结构稀疏、不规则造成的。不同局部区域之间不同的几何结构可能需要不同的提取器,但共享剩余mlp很难实现这一点。我们具体化了这种直觉,并开发了一个轻量级的几何仿射模块来解决这个问题。
令
{
f
i
,
j
}
j
=
1
,
2
,
.
.
.
,
K
∈
R
k
×
d
\lbrace f_{i,j} \rbrace_{j=1,2,...,K} \in \mathbb R^{k \times d}
{fi,j}j=1,2,...,K∈Rk×d 表示
k
k
k 个被分好组的点
f
i
∈
R
d
f_i \in \mathbb R^d
fi∈Rd 的局部临近点,每个点
f
i
,
j
f_{i,j}
fi,j 都是一个
d
d
d 维特征向量,用以下公式对这个局部区域进行变换:
{
f
i
,
j
}
=
α
⊙
{
f
i
,
j
}
−
f
i
σ
+
ϵ
+
β
,
σ
=
1
k
×
n
×
d
∑
i
=
1
n
∑
j
=
1
k
(
f
i
,
j
−
f
i
)
2
\lbrace f_{i,j} \rbrace =\alpha \odot \frac{\lbrace f_{i,j} \rbrace-f_i}{\sigma+\epsilon}+ \beta , \sigma=\sqrt{\frac{1}{k \times n \times d}\sum^n_{i=1}\sum^k_{j=1}(f_{i,j}-f_i)^2}
{fi,j}=α⊙σ+ϵ{fi,j}−fi+β,σ=k×n×d1i=1∑nj=1∑k(fi,j−fi)2 其中
α
∈
R
d
\alpha \in \mathbb R^d
α∈Rd 和
β
∈
R
d
\beta \in \mathbb R^d
β∈Rd 是可学习的参数,
ϵ
=
1
e
−
5
\epsilon=1e^{-5}
ϵ=1e−5 是用于维持数值稳定的极小值。注意,
ϵ
\epsilon
ϵ 是一个标量,描述了在所有局部组和通道上的特征偏差。通过这样做,我们将局部点转换为正态分布,同时保持原来的几何性质。
计算复杂度和精简版结构
虽然主流深度学习框架对FC层进行了高度优化,但理论参数数量和计算复杂度仍然较高。为进一步提高效率,我们引入了一个轻量级的PointMLP版本,命名为
P
o
i
n
t
M
L
P
−
e
l
i
t
e
PointMLP-elite
PointMLP−elite,其参数小于0.7M,推理速度显著(在ModelNet40基准上为176个样本/秒)。
受 [11, 22]的启发,我们给出了映射函数
Φ
p
o
s
(
⋅
)
\Phi_{pos}(\cdot)
Φpos(⋅) 和
Φ
p
r
e
(
⋅
)
\Phi_{pre}(\cdot)
Φpre(⋅) 的瓶颈结构。我们选择将中间FC层的通道数减少
r
r
r 倍,并增加通道数作为原始的 feature map,这一策略与Vaswani等人增加中间特征维数的设计3 4相反。根据经验,我们没有观察到显著的性能下降。该方法剩余MLP块的参数从
2
d
2
2d^2
2d2减小到
2
r
d
2
\frac{2}{r}d^2
r2d2。默认情况下,我们在
P
o
i
n
t
M
L
P
−
e
l
i
t
e
PointMLP-elite
PointMLP−elite中将
r
r
r 设置为4。此外,我们还对网络架构进行了微调,减少了MLP块和嵌入维度数。
网络细节
He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep Residual Learning for Image Recognition. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 770-778. ↩︎
Hu, J., Shen, L., Albanie, S., Sun, G., & Wu, E. (2020). Squeeze-and-Excitation Networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 42, 2011-2023. ↩︎
Vaswani, A., Shazeer, N.M., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A.N., Kaiser, L., & Polosukhin, I. (2017). Attention is All you Need. NIPS. ↩︎
Touvron, H., Bojanowski, P., Caron, M., Cord, M., El-Nouby, A., Grave, E., Izacard, G., Joulin, A., Synnaeve, G., Verbeek, J., & J’egou, H. (2021). ResMLP: Feedforward networks for image classification with data-efficient training. ArXiv, abs/2105.03404. ↩︎