PointNet是一个通过直接处理原始点云的网络,根据点云的两大特性(置换不变性和旋转不变性)有以下分析:
一.置换不变性:
我们可以利用max函数(对称函数)设计一个很简单的点云网络,如下:
但是这样的网络有一个问题,就是每个点损失的特征太多了,输出的全局特征仅仅继承了三个坐标轴上最大的那个特征,因此我们不妨先将点云上的每一个点映射到一个高维的空间(例如1024维),目的是使得再次做MAX操作,损失的信息不会那么多。
此时我们发现,当我们将点云的每个点先映射到一个冗余的高维空间后,再去进行max的对称函数操作,损失的特征就没那么多了。由此,就可以设计出这PointNet的雏形,称之为PointNet(vanilla):
二.旋转不变性:
点云的旋转不变性指的是,给予一个点云一个旋转,所有的x , y , z坐标都变了,但是代表的还是同一个物体。
因此对于普通的PointNet(vanilla),如果先后输入同一个但是经过不同旋转角度的物体,它可能不能很好地将其识别出来。在论文中的方法是新引入了一个T-Net网络去学习点云的旋转,将物体校准,剩下来的PointNet(vanilla)只需要对校准后的物体进行分类或者分割即可。