算法结构
原理解析
已知:
N个点,每个点的信息x,y,z。
MLP:全连接网络,输入层,隐藏层,输出层。
原理:
(1)第一步 MLP
对每个点进行MLP操作,即:3–>MLP(3,C1)–>C1其中C1是MLP的输入和输出维度,此时这个点的特征数由原来的3编程了C1 。
将点云的每个点都经过以上操作,得到:N3–>MLP(3N,C1)–>NC1
小结:内个点的特征由3变成了64。
(2)第二步 Max Pool
将MLP得到的结果进行max pool操作,max pool的目的是为了:pointNet网络改变点的输入顺序不会影响最终输出的结果。
MLP得到的结果可以看作是NC1的矩阵,max pool操作是对NC1矩阵的C1列进行max操作,得到1C1的矩阵。即NC1–>1C1 。
小结:max pool 是pointNet的算法核心。mean或min也能做到但max更好。
(3)分类器
将max pool的结果经过一个分类器,得到最后的分类结果,pointnet网络的作用是点云的分类。分类器一般用MLP网络来实现。