题目:PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on
Point Clouds
PAConv:点云上动态核组装的位置自适应卷积
摘要
- 我们引入了位置自适应卷积(PAConv),一种用于三维点云处理的通用卷积操作。
- paconv的关键是通过动态组装存储在权重库中的基本权重矩阵来构造卷积核,这些权重矩阵的系数通过ScoreNet从点位置自适应学习。这样,就以数据驱动的方式构建了内核,使得PAConv比2D卷积具有更大的灵活性,可以更好地处理不规则无序的点云数据。
- 此外,通过结合权值矩阵来降低学习过程的复杂性,而不是从点的位置来预测核。
- 此外,不同于现有的点卷积算子,它们的网络架构通常是经过大量设计的,我们将我们的PAConv集成到经典的基于mlp的点云管道中,而不改变网络配置。即使建立在简单的网络上,我们的方法仍然接近甚至超过了最先进的模型,并显著提高了分类和分割任务的基线性能,但具有良好的效率。全面的消融研究和可视化提供了解PAConv。代码在https://github.com/CVMI-Lab/PAConv上发布。
🎈位置自适应卷积PAConv
🎈PAConv的卷积核由多个基本权重矩阵组装而成。
🎈权重矩阵的系数通过ScoreNet自适应学习点的相对位置关系得到。
🐸数据驱动构建卷积核
🐸PAConv直接集成到基于MLP的经典点云网络架构中,而无需更改原有的网络配置
引言
🎈深度学习在三维点云处理上取得了显着进步——但鉴于点云的稀疏性、不规则性和无序性,这仍然是一项具有挑战性的任务。
🎈现有方法大致分为三类:第一类是对点云进行体素化以便可以采用三维网格卷积处理,然而重要的几何信息可能由于量化而丢失,体素化通常也会带来额外的存储和计算成本;第二类是用共享MLP处理所有点,这种方式难以表征点云空间复杂的变化关系;第三类则是设计可以直接处理点云的卷积核,现有方法亦受限于计算复杂度或灵活性
一、创新点
1、通过动态地汇集权重矩阵构建一个卷积核,这些权重矩阵的参数是通过使用ScoreNet从点云的位置信息中学习到的。这样,卷积核就是通过数据驱动的方式构建的,与2dcnn相比更好处理不规则、无序的点云数据。
2、学习过程的复杂度从根据点位置信息直接估计卷积核 降低到 估计系数来联合权重矩阵。
3、以往的方法的网络架构都是高度订制的,很难清楚是module的作用还是网络结构的作用,本文将PAConv集合到MLP-based的框架中,不改变网络配置,达到了sota的效果。
二、具体实现
以二维为例,2d卷积可以描述为:
其中,N代表邻域(3x3),f_j代表每一点的输入特征C_in维,K代表一个权重矩阵,将C_in维特征映射为C_out维,A代表邻域特征聚合操作。假如3x3的邻域,那么就有9个C_in*C_out的映射矩阵。
但是由于点云是无序的,不规则的,在一个点的邻域内的点的位置是不确定的(图像指定一个3x3的邻域,其点的数量是固定的),因此在点云的邻域内不能得到有限个权重矩阵。
该问题解决如下:
1、Weigh Bank
定义一个矩阵集合B,B={Bm|m=1,2,..,M},每一个Bm代表一个权重矩阵,M是权重矩阵的个数。
较大的M有助于内核组装的权重矩阵更加多样化。但是M过大会冗余+内存/计算开销。
作者发现,M设置为8或者16比较合适。
矩阵是C_in*C_out的大小。
,
最后得到的每一个邻域点的权重矩阵(C_in*C_out)就是这M个矩阵的的加权和。
2、ScoreNet
ScoreNet,根据点的位置关系学习一个系数向量以组合权重矩阵。
ScoreNet的输入为点云中某一个局部区域的中心点pi和其相邻点pj之间的相对位置关系向量。
对每一个邻域点p_j,计算其与中心点p_i的相对距离,根据空间位置信息,得到一个M维的分数向量,代表M个矩阵的加权系数。输出为一个归一化的系数向量:
其中S_ij是M个系数的集合,代表j这个点上的M个weigh matrix的权重系数。
其中是一个非线性函数,由MLP实现,代表softmax归一化函数,(pi,pj)是输入的点的位置关系向量。
输出向量Sij={|m=1,2,..,M},其中表示构建核函数k(pi,pj)时每个权重矩阵的位置自适应系数。
Softmax确保输出的系数在(0,1)的范围内,以概率选择每个权重矩阵,系数越高,表示输入位置向量和权重矩阵之间的关系越强。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
这样就建立了一个从离散的卷积核映射到连续的三维空间的映射
这里连续的三维空间是怎么体现的呢?
我的理解是根据距离,距离连续的,无论什么距离,都可以得到一组分数作为weight matrix的加权系数。
3、Kernel generation
最终,通过将Weight Bank中的权重矩阵与ScoreNet预测出的相应系数进行组合,得出PAConv的卷积核函数。根据以上,p_j点处的卷积权重就是:
这样,p_j的卷积核权重就是根据空间信息动态获取的了,这种位置自适应的卷积对于不规则分布的点云有很高的的灵活性。
4、Weight Regularization
【由于权重矩阵是随机初始化的并且可能会收敛为彼此非常相似,因此无法保证权重矩阵的多样性。】因为权重矩阵需要代表不同类型的信息,为了使M个权重矩阵尽可能地具有差异性,引入了一个Loss函数来惩罚他们的相识性:
这使得权重矩阵尽可能多样分布,进而保证了卷积核的多样性。
关于这个式子的理解,可以简单理解成是计算余弦相识度,参考两个向量的内积,这里就是量量计算weigh matrix的相识度,然后求和。
三、简单的网络结构
虽然最近的点云网络结构差异较大,但是大多数可以视为经典的MLP点云网络的不同变体。
为了评估PAConv的有效性并最大程度地减少复杂网络架构的影响,作者针对不同的点云任务采用了三个基于MLP的经典且简单的网络主干来集成我们的PAConv,而不修改原始的网络架构(如网络层数、特征通道数)。
对于物体分类和物体部件分割任务,作者直接使用PAConv替换了DGCNN中的EdgeConv 和PointNet编码器中的MLP。而对于室内场景分割任务,作者采用了PointNet++最简单的单尺度分组(SSG)版本,并用PAConv直接替换PointNet ++编码器中的MLP。
四、实验
对于物体分类任务,作者采用了ModelNet40数据集,取得了现有方法中最高的分类准确率,并且在不改变原始骨干网络PointNet和DGCNN的结构的情况下,分别带来了明显的提升。
其次,本文还在物体部件分割任务的数据集ShapeNet Part上对PAConv进行了评估,同样也给DGCNN带来了显著的提升。
此外,论文还可视化了ScoreNet学到的系数在空间中的分布。可以看出,对于每个权重矩阵,其系数的分布是不同的,表明不同的权重矩阵捕获了不同的点位置关系。
五、总结
本论文提出了PAConv,一种具有动态内核组装的位置自适应卷积,用于点云处理。PAConv通过结合Weight Bank中的基本权重矩阵以及通过ScoreNet从点位置学习的相关系数来构造卷积核。通过将PAConv集成到简单的MLP点云网络而无需修改网络配置时,它依然可以表现SOTA,并且保持着很高的模型效率。大量的实验和可视化证明了PAConv的有效性。