Title: Parameter is Not All You Need: Starting from Non-Parametric Networks for 3D Point Cloud Analysis
Paper: https://arxiv.org/pdf/2303.08134.pdf
Code: https://github.com/zrrskywalker/point-nn
导读
论文提出了一个用于三维点云分析的非参数网络,Point-NN,它由纯不可学习的组件组成:最远点采样(FPS)、k近邻(k-NN)和三角函数以及池化操作。令人惊讶的是,它在各种3D任务上表现得很好,不需要任何参数或训练,甚至超过了现有的完全训练的模型。从这个基本的非参数模型出发,论文提出了两个扩展。首先,Point-NN可以作为一个基础架构框架,通过在上面插入线性层来构建参数化网络Point-PN。由于具有优越的非参数基础,所构建出的Point-PN仅用少量可学习参数表现出高性能-效率的权衡。其次,Point-NN可以被视为已经训练过的三维模型的即插即用模块。Point-NN捕获互补的几何知识,为不同的3D benchmarks来增强现有的方法,而无需再训练。研究者希望该工作可以为社区用非参数方法理解三维点云提供一个线索。
动机
从PointNet++起,包括最远点采样(FPS)、k近邻(k-NN)和池化操作在内,所有可学习模块背后的非参数框架几乎保持相同。很少有研究去探索它们的疗效,论文提出了一个问题:
仅使用非参数组件,能否实现较高的三维点云分析性能?
贡献
论文提出了一个非参数网络,称为PointNN,如上图所示,PointNN由一个用于3D特征提取的非参数编码器和一个用于特定任务识别的point-memory bank组成。该多阶段编码器应用FPS、kNN、三角函数和池化操作来逐步聚合局部几何图形,为点云生成一个高维的全局向量。论文只采用简单的三角函数来揭示每个池化阶段的局部空间模式,而没有可学习的算子。然后,多阶段编码器提取到的训练集特征,将其缓存作为point-memory bank。对于测试点云,bank通过朴素的特征相似度匹配输出特定于任务的预测,从而验证了编码器的识别能力。
- 论文建议重新审视三维点云网络中的不可学习组件,并首次开发一种非参数方法Point-NN进行三维点云分析
- 以Point-NN为基本框架,通过在Point-NN的每个阶段插入线性层,引入了其 parameter-efficient 的变体 Point-PN(上图a),它在没有先进算子的情况下具有优越的性能
- 作为一个即插即用的模块,PointNN可以在推理过程中直接提升各种3D任务中的现成的训练过的模型(上图b)
方法
Non-Parametric Networks
论文提出了Point-NN,一个纯粹由不可学习的基本组件组成的网络,以及简单的三角函数的三维坐标编码。Point-NN由一个Non-Parametric Encoder(NPEnc)和一个Point-Memory Bank(PoM)组成。给定一个用于形状分类的输入点云 P P P,NPEnc提取其高维全局特征 f G f_G fG,PoM通过相似度匹配产生分类结果:
Non-Parametric Encoder
如上图所示,非参数编码器首先将输入点云进行Raw-point Embedding得到局部特征,再经过4阶段的Local Geometry Aggregation逐步聚合局部特征得到全局特征。
Raw-point Embedding
论文参考Transformer中的positional encoding,对于输入点云的一个点 p i = ( x i , y i , z i ) ∈ R 1 × 3 p_{i}=\left(x_{i}, y_{i}, z_{i}\right) \in \mathbb{R}^{1 \times 3} pi=(xi,yi,zi)∈R1×3,利用三角函数将它嵌入到一个 C i C_i Ci 维向量中:
其中, f i x , f i y , f i z ∈ R 1 × C I 3 f_{i}^{x}, f_{i}^{y}, f_{i}^{z} \in \mathbb{R}^{1 \times \frac{C_{I}}{3}} fix,fiy,fiz∈R1×3CI表示三个轴的embedding, C i C_i Ci表示初始化的特征维度。以 f i x f^x_i fix 为例,对于通道索引 m ∈ [ 0 , C I 6 ] m \in[0,\frac{C_I}6] m∈[0,6CI]:
其中,α,β分别控制了其大小和波长。由于三角函数的固有性质,变换后的向量可以很好地编码不同点之间的相对位置信息,并捕获三维形状的细粒度结构变化。
Local Geometry Aggregation
基于embedding,论文采用四阶段网络结构分层聚合空间局部特征。论文使用三角函数PosE(·)来提取局部特征,取代传统最近邻点局部特征提取算法,对于每个中心点 { p c , f c } \{p_c, f_c\} {pc,fc} 和其邻域 { p j , f j } j ∈ N c \{p_j, f_j\}_{j \in{N_c}} {pj,fj}j∈Nc :
- Feature Expansion. 论文首先地将邻居特征 p j p_j pj 与中心特征 p c p_c pc 沿特征维数concat来进行特征扩张:
- Geometry Extraction. 接着,论文通过相对位置编码来得到每个 f c j f_{cj} fcj 的权重,然后用均值和标准差对它们的坐标进行归一化,记为 { Δ p j } j ∈ N c \left\{\Delta p_{j}\right\}_{j \in \mathcal{N}_{c}} {Δpj}j∈Nc,通过下面的公式得到加权后的K邻域特征,该区域的局部几何形状就可以被隐式地编码到特征中,而不需要任何可学习的参数。
- Feature Aggregation。最后,同时利用最大池和平均池来进行局部特征聚合::
在4个Local Geometry Aggregation之后,再应用这两个池化操作来得到点云的全局特征 f G f_G fG
Point-Memory Bank
Point-NN没有使用传统的可学习分类头,而是采用了一个point-memory bank。如上图所示,首先由Non-Parametric
Encoder以无训练的方式构造bank,然后在推理过程中通过相似度匹配输出预测。
Memory Construction
point memory由一个feature memory F m e m F_{mem} Fmem和一个label memory T m e m T_{mem} Tmem。以图像分类任务为例,假设给定的训练集包含K个类别的N个点云, { P n } n = 1 N \{P_n\}^N_{n=1} {Pn}n=1N。通过上述非参数编码器得到的N个全局特征进行编码,同时将它们的ground-truth标签 { t n } n = 1 N \{t_n\}^N_{n=1} {tn}n=1N转换为一个one-hot编码。然后分别将两者沿着样本维度concat,缓存为两个矩阵:
其中, F m e m ∈ R N × C G F_{m e m} \in \mathbb{R}^{N \times C_{G}} Fmem∈RN×CG, T m e m ∈ R N × K T_{m e m} \in \mathbb{R}^{N \times K} Tmem∈RN×K
Similarity-based Prediction.
对于测试点云,利用非参数编码器来提取其全局特征 f G t ∈ R 1 × C G f^t_{G} \in \mathbb{R}^{1 \times C_{G}} fGt∈R1×CG,然后通过上一步构造的bank进行两个矩阵乘法来完成分类。
- 计算测试点云全局特征 f G t f^t_{G} fGt 与feature memory F m e m F_{m e m} Fmem之间的余弦相似度:
- 将label memory T m e m T_{m e m} Tmem中的one-hot标签与 S c o s S_{cos} Scos 进行加权:
在 S c o s S_{cos} Scos 中,越相似的feature memory对最终分类logits的贡献越大,反之亦然。通过这种基于相似性的标签集成, point-memory bank可以在不经过任何训练的情况下自适应地区分不同的点云实例。
Starting from Point-NN
在本节中将介绍两个很有前途的Point-NN应用,它充分释放了非参数组件在三维点云分析中的潜力。
As Architectural Frameworks
Point-NN可以扩展到可学习的参数网络(Point-PN),不需要添加复杂的算子或太多的参数。只需要简单地通过在编码器的每个阶段插入线性层来构造参数微分。使用图中A∼E处的线性层的性能增益如表1所示:
- 首先用可学习分类器替换point-memory bank(上图A位置),这个轻量级的版本在ModelNet40上就实现了90.3%的分类准确率,只有0.3M的参数
- 为了更好地提取多尺度层次结构,在编码器的每个stage(上图C, D, E位置)都添加了简单的线性层。Point-PN在0.8M参数下达到了竞争性的93.8%的精度。
As Plug-and-play Modules
Point-NN可以在不进行额外re-training的情况下增强已经训练过的三维模型。
分类任务
对于shape分类任务,论文直接通过线性插值融合Point-NN和现成模型的分类结果。这种巧妙的设计将两种类型的知识进行集成:来自Point-NN的low-level结构信号和来自训练网络的high-level语义信号。
如上图所示,通过Point-NN提取的点云特征在清晰的三维结构周围产生了较高的响应值,例如,飞机的翼尖、椅子的腿和灯杆。相比之下,训练过的PointNet++更注重具有语义丰富的3D结构,这些结构包括飞机的主体、椅子的底部和灯罩
如上图所示,对于输入点云,论文将其低频和高频几何进行可视化,并与Point-NN的特征响应进行比较,其中较深的颜色表示更高的响应。如图所示,Point-NN可以聚焦于点云急剧变化的高频三维结构。
分割、检测任务
论文直接采用已经训练过的模型的编码器来提取点云特征,只将所提的point-memory bank在上面进行即插即用。利用相似度匹配和传统的可学习分类头之间的互补知识实现性能的改进。
实验
Point-NN
Shape Classification
如表2、表3所示,Point-NN对真实世界和合成点云都获得了良好的分类精度,表明了没有任何参数的Point-NN有效性和通用性。
Few-shot Classification
如表5所示,与现有的训练模型相比,Point-NN的few-shot性能显著超过了第二好的方法。这是由于训练样本有限,具有可学习参数的传统网络严重存在过拟合问题。
Part Segmentation
如表4所示,70.4% mIoU表明非参数网络Point-NN拓张的分割网络,也可以产生执行良好的点级特征,并捕获鉴别特征的细粒度空间理解。
3D Object Detection
将Point-NN作为非参数分类头,配合两种流行的三维检测器VoteNet和3DETR-m提取类别无关的3D region proposals.如表6所示,不经过归一化处理的点坐标可以大大提高Point-NN的AP分数,保留了原始场景中更多物体三维位置的位置线索。
Ablation Study
Point-PN
Shape Classification
如表2、表3所示,Point-PN在现实世界和合成的三维识别方面都取得了有竞争的结果。在ScanObjectNN上,与12.6M的大模型PointMLP相比,参数少16×,推理速度快6×,精度超过1.9%
Part Segmentation
对于表4中的点向分割任务,Point-PN也取得了具有竞争力的性能,mIoU为86.6%。与CurveNet相比,具有简单局部几何聚合的Point-PN可以节省28小时的训练时间,推理速度快6×。
Ablation Study
如图1所示,论文提出了如何从Point-NN逐步构造Point-PN,可以观察到“1+2”(Geometry Extraction step前面加一层线性层,后面加两层)的 Point-PN表现最好,而更容易学习的层,“2+2”会损害性能
Plug-and-play
Shape Classification
如上图所示,Point-NN有效地提高了现有的方法的性能,如PointNet和PointMLP的准确率提高了2.0%
Segmentation and Detection
如上图所示,Point-NN对于分割和检测网络具有通用的增强能力。
总结
论文重新讨论了现有三维模型中的不可学习组件,并提出了 Point-NN,一个用于三维点云分析的纯非参数网络。没有任何参数或训练, Point-NN在各种三维任务上取得了良好的准确性。从Point-NN开始,论文提出了它的两个很有前途的应用程序:针对PointPN的架构框架和用于提高性能的即插即用模块。大量的实验已经证明了其有效性和意义。在未来的工作中,研究者将重点探索更先进的非参数模型,具有更广泛的三维点云分析应用场景。
如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎添加小编微信号: cv_huber,备注"CSDN",加入 CVHub 官方学术&技术交流群,一起探讨更多有趣的话题!