最近在学习点云,首先便是开山之作pointnet
一、点云的特性

2.Interaction among points
该模型需要能够从附近的点捕获局部结构,以及局部结构之间的组合相互作用
3.Invariance under transformations
旋转不变性,即一个点云数据旋转后仍然表达的是同一个物体
这个在原文中主要采用的是一个T-net来实现
T-Net网络是可以去学习点云的旋转从而给予校正,给后面的网络使用。
二、网络结构
pointnet的结构很简单,主要可以完成分类以及分割的任务,首先是分类任务,输入n个点的三维数据(x,y,z),经过一个input transform层,n个点三维数据经过多层感知机mlp,将三维数据输出为64维,然后在特征转换层feature transform后经过多层感知机将每个点依次从64输出到128再到1024,自此每个点都包含1024的数据,然后经过maxpool 层提取global feature,将所有点的每一个维度比大小,提取每一个维度的最大值,得到一个1x1024大小的向量,这包含了全局信息,然后在用mlp层,将信息进一步提取到512,到256,然后到输出的分类数k,最后经过softmax输出每一个类别的分数从而完成分类的任务。
分割任务主要是在第二个transform层后将提取到的局部信息nx64与global feature复制n份粘贴到一起,每一个点的信息包括自己的64维信息加上全局信息1024,总共1088维,融合了语义与空间的信息,然后在由mlp重新提取新特征到128维,然后是再到分割类别m维,至此每个点都是m维信息,n个点每个点表达m类别中的一个。输出逐点的类别,从而完成分割。