CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理
我们提出了一种用于 3D 点云分析的非参数网络 Point-NN,它由纯不可学习的组件组成:最远点采样 (FPS)、k 最近邻 (k-NN) 和池化操作,具有三角函数.令人惊讶的是,它在各种 3D 任务上表现良好,不需要参数或训练,甚至超过了现有的完全训练模型。从这个基本的非参数模型开始,我们提出了两个扩展。首先,Point-NN 可以作为基础架构框架,通过简单地在顶部插入线性层来构建参数网络。鉴于优越的非参数基础,派生的 Point-PN 表现出高性能与效率的权衡,只有几个可学习的参数。其次,Point-NN 可以被视为推理过程中已训练的 3D 模型的即插即用模块。Point-NN 捕获互补的几何知识,并在无需重新训练的情况下针对不同的 3D 基准增强现有方法。我们希望我们的工作可以让社区了解使用非参数方法理解 3D 点云。
项目代码:https://github.com/ZrrSkywalker/Point-NN
1.研究背景与动机:
点云三维数据处理是自动驾驶,场景理解和机器人中的基本操作。点云包含无序点,离散描述三维空间中的物体表面。与基于网格的2D图像不同,它们是分布不规则和排列不变的,这导致了算法设计方面的非常规挑战。
自PointNet ++以来,主流趋势是添加高级局部算子和扩展学习参数。提出了以提取局部几何形状(例如,自适应点卷积和类似图形的消息传递)的机制,而不是使用max pooling进行特征聚合。性能提升也来自于扩大参数数量,例如KPConv的14.3M和PointMLP 的12.6M,比PointNet ++的1.7M要大得多。这一趋势增加了网络复杂性和计算资源。
相反,所有可学习模块下的非参数框架自PointNet ++以来几乎保持不变,包括最远点抽样(FPS),k最近邻(k-NN)和池化操作。鉴于很少有研究调查它们的有效性,我们提出问题:能否仅使用这些非参数组件实现高性能的三维点云分析?
2.贡献
我们重新审视现有3D模型中的不可学习组件:最远点抽样(FPS),k最近邻(k-NN)和池化操作构件,并以此提出了Point-NN,这是一个纯非参数网络,用于3D点云分析。
以Point-NN为基本框架,通过在Point-NN的每个阶段插入线性层,引入了其 parameter-efficient 的变体 Point-PN(图a),它在没有先进算子的情况下具有优越的性能。
作为一个即插即用的模块,PointNN可以在推理过程中直接提升各种3D任务中的现成的训练过的模型(图b)
3.方法
3.1Point-NN
Point-NN(Figure 1)由不可学习的组件:最远点抽样(FPS),k最近邻(k-NN)和池化操作构成,它们形成了一个用于提****取3D特征的无参数编码器(Non - Parametric Encoder)以及一个用于特定任务识别的的点记忆库(Point-Memory Bank)。
多阶段编码器逐步采用FPS、k-NN、三角函数和池化操作来聚合局部几何信息,生成点云的高维全局向量。仅采用简单的三角函数来揭示每个池化阶段的局部的空间形态,而没有可学习的算子。然后我们采用Point-NN的无参数编码器来提取训练集的特征并缓存到点记忆库中。
对于测试的点云,通过朴素的特征相似度匹配,点记忆库输出特定任务的预测结果。
3.2 Non-Parametric Encoder
如Figure 3 所示,非参数编码器将P点的X Y Z 左边进行初始嵌入,转化为高维的向量,并经过多级结构逐步聚合成局部形态。
Raw-point Embedding
文章中的原始点嵌入参考了Transformer中的位置编码并将他扩展为3D的无参数嵌入,对于一个原始点的坐标为,我们利用三角函数将其嵌入成维向量。其中代表着三个轴的嵌入,而代表初始维度。以为例,对于通道索引
其中α,β分别控制幅度和波长。由于三角函数的固有特性,变换后的向量可以很好地编码不同点之间的相对位置信息,并捕捉3D形状的精细结构变化。
Local Geometry Aggregation
我们采用四阶段的网络架构来逐层聚合空间局部特征。在使用FPS和k-NN之后,我们放弃任何可学习的运算符Φ(·),而是简单地利用**三角函数PosE(·)**来揭示局部模式。具体而言,对于每个中心点及其邻域,我们旨在实现三个目标。
(1)Feature Expansion
随着网络阶段的加深,每个点特征被分配更大的感受野并需要更高的特征维度来编码3D语义。我们通过将邻居特征与中心特征沿特征维度简单地进行连接来进行这种特征扩展。
(2)Geometry Extraction
为了指示局部区域内k个邻居的空间分布,我们通过相对位置编码对每个进行加权。我们用平均值和标准差对它们的坐标进行归一化,表示为,并通过下面的方程进行嵌入。然后,k个邻居的特征被加权:
(3)Feature Aggregation
称重后,我们利用最大池化和平均池化进行局部特征聚合:
3.3Point-Memory Bank
我们的 Point-NN 不使用传统可学习分类头,而采用点存储器从 3D 训练集中获取足够的类别知识。如图 4 所示,该存储器首先通过无需训练的非参数编码器构建,然后在推理时通过相似度匹配输出预测。
Memory Construction
点记忆库由特征记忆库和标签记忆库。其中:
通过标记,可以将视为3D训练集的编码类别知识。具有相同标签的特征共同描述相同类别的特征,并且嵌入空间距离也可以反映类间区别。
Similarity-based Prediction
对于测试点云,我们还使用非参数编码器提取其全局特征作为,它与特征记忆位于相同的嵌入空间中。然后,通过构建的记忆库简单地通过两个矩阵乘法完成分类。首先,我们通过计算测试特征和之间的余弦相似度来完成:
其中,表示测试点云与每N个训练样本之间的语义相关性。除此之外,我们还将标签存储器中的one -hot标签按加权整合,公式化为:
其中φ(x) = exp(−γ(1−x))为激活函数的一种形式。在中,得分越高的相似特征记忆对最终分类logits的贡献越大,反之亦然。
4.Starting from Point-NN
4.1 As Architectural Frameworks
如图5所示,在Point-NN的顶部,我们首先替使用一个传统的可学习的分类头替代点存储库(上图A位置),这个轻量级的版本在ModelNet40上就实现了90.3%的分类准确率,只有0.3M的参数。
为了更好的提取多尺度层次结构,我们在编码器的额每个阶段添加了简单的线性层。在每个阶段,在几何特征提取之前或者之后添加2个可学习的线性层(上图C D E位置),以捕捉更高层次的空间形态。Point-PN在0.8M参数下达到了竞争性的93.8%的精度。
4.2 As Plug-and-play Modules
此外Point-NN也可作为一种即插即用的增强模块,我们可以将其运用在其他网络上。以形状分类为例,我们直接使用线性插值来融合Point-NN和成品模型的分类预测。该设计产生了两种类型的知识集成:来自Point-NN的低级结构信号和经过训练的网络的高级语义知识。
如图6所示,Point-NN提取的点云特征,在锐利的3D结构周围产生高响应值,例如飞机的翼尖、椅子的腿和灯杆。相比之下,经过训练的PointNet++更注重具有丰富语义的3D结构,例如飞机的主体、椅子的底部和灯罩。
对于部分分割和三维物体检测,同时运行额外的Point-NN来增强现有模型会在时间和内存方面都很昂贵。因此,我们直接采用已经训练好的模型的编码器提取点云特征,并仅在其上方应用我们的点存储器,用于即插即用。通过利用相似度匹配和传统可学习分类头之间的互补知识,我们也可以实现性能提升。
5.Experiments
5.1 Shape Classification
5.2Ablation Study
6.Conclusion
我们重新审视现有 3D 模型中的不可学习部分,并提出 Point-NN,这是一个纯非参数的 3D 点云分析网络。Point-NN 不受任何参数或训练的限制,在各种 3D 任务中都能取得良好的准确性。从 Point-NN 开始,我们提出了其两个有前途的应用:PointPN 的结构框架和性能改进的即插即用模块。广泛的实验已经证明了它的有效性和重要性。对于未来的工作,我们将集中探索更先进的非参数模型,以应用于更广泛的 3D 点云分析场景。