PointNet解决的问题:

PointNet解读

如上图所示:

1.点云图像的分类(整片点云是什么物体)

2.点云图像的部件分割(整片点云所代表的物体能拆分的结构)

3.点云图像的语义分割(将三维点云环境中不同的物体用不同的颜色区分开)

论文中展示的输入输出效果:

1.部件分割的效果(左边是输入不完整的点云,右边是输入完整的点云)

PointNet解读

2.语义分割的效果

PointNet解读 论文中提到的点云的三个特性:

1.点的无序性:点云是无序的集合,点与点之间没有严格的顺序,如将两个点交换之后仍然表示同一个点云。

2.点之间的相互作用:虽然点云的点是离散的,但是却可以共同组成物体或者环境的轮廓。这意味着点之间不是孤立的,相邻点形成一个有意义的子集。因此,模型需要从点的附近的点捕捉局部结构,以及局部结构之间的相互作用。

3.变换不变性:点云进行刚性变换(旋转平移)后,再进行输入,输出的分类或者是分割结果不变。

要解决点云图像的分类和分割任务就是如何对点云数据进行特征提取:

PointNet解读

        如果不进行MLP神经网络进行升维直接进行池化操作提取特征,那么n个点才提取到1个3个维度的特征(2,3,4),然后在进行K分类,似乎很不合理 ,损失特征太多了。所以在进行池化操作前要进行升维,让特征足够多。

PointNet解读

        如上图公式所示,h函数相当于升维操作,g函数为池化提取特征操作,y函数为分类操作。 

PointNet解读

        经过上面的讲解那么PointNet架构就很好理解了。PointNet由分类网络和分割网络两部分组成。分类网络以n个点作为输入,应用输入和特征转换,然后通过最大池化来聚合点特征。输出是K个类的 分类分数。分割网络是分类网络的扩展。它连接全局和局部特征,并输出每个点的分数。多层感知器 (MLP)由5个隐藏层组成,神经元大小分别为64,64,64, 128,1024,所有点共享一个MLP副本。分类和分割网络中靠近输出的MLP由大小为512,256的两层组成。

发表回复