PointCNN论文阅读笔记
主要思想
这篇论文提出了将卷积层用于三维物体识别的方法,引入一种可学习的矩阵X,对三维点云数据加权、置换。使得卷积能够保留点云的空间位置信息,并且不依赖与点的输入顺序。前层区域内的特征点经卷积操作,得到后层表示点(representative poin),即前层的高维局部特征表示。此方法可以同时应用在分类和分割任务中,作者介绍了在两类任务中的不同网络架构及细节实现。
X-conv
符号表示
- 点集P:K个点,每个点D维。(K*D)
- P中每个点对应一个特征,特征C维。(K*C)
- X矩阵:K*K
先来看一下对点云数据直接应用卷积存在的问题。
上图中,图1四个点有序排列在图片中,自然保留着空间结构信息。而对于点云数据,卷积算子的输入是一串点集,存在一下两种情况:
- 四个点分布于不同空间位置,相同次序输入。如图2和图3。对其特征做卷积,得到的结果(f2,f3)相同。因为每个点自有的特征与空间位置无关,此时,丢失了局部各店的结构相关信息。
- 四个点分布于同一空间位置,不同次序输入。如图3和图4。对其特征做卷积,得到的结果(f2,f4)不同。
这说明,直接卷积会丢失点云的形状信息,并且结果对点的顺序敏感。究其原因,是图像中点的位置信息隐含在其排列次序中,而点云数据显示的以坐标存储,没有同一的排序规则。将邻域内的点按坐标提特征排序,就可以将无序点云转化为有序点列,而X-conv就是做了这个事情。
文章提出,通过MLP从P学习一个K×K的矩阵,作用于点集P的特征F矩阵,这样,对于输入特征点加权、置换。由于加权操作,同一特征点在不同空间位置拥有不同的权重,解决了上图f2==f3的问题。由于置换操作,点被重新排序,解决了点顺序造成的敏感。即:理想状态的X变换,能够在考虑点集形状的同时,不依赖于点的输入顺序。
多层卷积
符号表示
- 前层特征:F1(矩阵R1xR1xC1)={ ( p