《PointNet:Depp Learning on Points Sets for 3D Classification and Segmentation》一文是点云作为输入进行神经网络学习的开山之作,在如今有关点云深度学习的研究中占据半壁江山,其以及其改进版本常被用于特征提取器应用于各个方向。
众所周知,点云是具有无序性的。所以希望我们无论点云的输入顺序如何变换,深度学习模型的输出结果都是一致的,在以往的点云神经网络中为了达到这一点常使用3D变2D,体素化等操作使得无序的点云变得具有拓扑属性,进而达到这一目标。
点云无序性PointNet的最大贡献就是无需对点云作变换,可以使得无序的点云直接输入至神经网络中。其实现的手段非常的简单,但却非常的有用--maxpooling。
最大池化顾名思义,就是取一串特征中最大的那个,如下图所示:
对于一个输入的无序点云,对其进行最大池化,取得x,y,z特征中最大的特征作为最后的输出,这样无论输入如何变换,都可以保证输出的一致性。当然在一开始就用最大池化的必然会造成信息丢失,所以需要先通过多层感知机将其映射到更高维的特征空间再进行池化。
至此,PointNet网络中最重要的思想部分已经解释完成了。PointNet的结构非常简单,是非常典型的encoder-decoder结构。encoer首先通过多层感知机进行特征加深,然后利用最大池化提取全局特征。decoder部分也很中规中矩,主要是通过反卷积完成的。
PointNet网络架构细心的伙伴看结构图就会发现了,其中有一个T-net我没有讲。
T-Net 加入在网络的目的大概是为了让不同姿态输入的点云不影响最后结果,时间太久记不清了,但是无需介意!!!因为在同团队的后一篇文章PointNet++中自己否定了T-net,认为T-net加不加对最后的结果没有影响。
网友评论