用全局特征过一个 MLP 来做 label prediction。 分割网络:相比分类,分割需要每个点捕捉全局信息后才能知道自己是哪一类,于是把每个点的 feature 和全局 feature 做一个 concat,过 MLP,之后对每个点做 label prediction。 实现过程中的网络模型功能函数说明如下: PointNet的block为t_net,用于生成一个仿射变换矩阵来对...
在分割网络里,作者通过concate全局特征和局部特征,构造一个语义特征更强的特征形式,后面就是常规的通过MLP网络进行降维后生成预测点云。 更加详细的细节,可以查看原论文和下面的代码:论文地址 其中代码中的网络定义,对应网络细节如下: input_transform_net+input_fc:对应T-Net,后续reshape到3x3做为变换矩阵和输入进行...
我们的目标:左边f是我们的目标,右边g是我们期望设计的对称函数。由上公式可以看出,基本思路就是对各个元素(即点云中的各个点)使用h分别处理,在送入对称函数g中处理,以实现排列不变性。 在实现中h就是MLP,g就是max pooling 对于以上三种不同的做法,作者均作了实验来验证,得出第三种方法效果最好: 2 Local and ...
点云网络论文中,尽管表述使用共享多层感知机(MLP)概念,但在代码实现中,却采取了卷积层方式。理解这一转变的关键在于,卷积层能实现共享权重的点积,即每次点积使用的权重相同,实现MLP的功能。多通道卷积本质上是共享多通道权重的点积,对滑窗内的点进行全连接处理。具体地,以Nx3矩阵表示点云数据,...
PointNet主要由多个全连接层(MLP)和最大池化层组成。根据任务的不同,可能需要对输出层进行调整,例如添加分类器或分割器。训练:使用准备好的数据集对PointNet进行训练。在训练过程中,采用了Adam优化器,使用了交叉熵损失函数来优化网络,使其在特定任务上表现更好。评估:在训练完成后,使用测试集对PointNet进行评估...
这个过程通过多层感知机(MLP)和最大池化(max pooling)操作实现。 Feature Propagation Feature Propagation是PointNet++中的另一个关键部分,它负责将高层级的特征信息向下传递至低层级的特征表示中。这个过程通过上采样操作实现,将高层级的特征表示插值到低层级的特征空间中。 上采样过程主要包括两个步骤:首先,根据低层级...
2、通过多个mlp对各点云数据进行特征提取后,再用一个T-net对特征进行对齐。 image.png 3、在特征的各个维度上执行maxpooling操作来得到最终的全局特征。 image.png 4、对分类任务,将全局特征通过mlp来预测最后的分类分数;对分割任务,将全局特征和之前学习到的各点云的局部特征进行串联,再通过mlp得到每个数据点的分...
FeaturePropagation层实现了上采用和skip-connection功能,其通过线性插值与MLP堆叠完成。当点的个数只有一个的时候,采用repeat直接复制成N个点;当点的个数大于一个的时候,采用线性插值的方式进行上采样,再对上采样后的每一个点都做一个MLP,同时拼接上下采样前相同点个数的SetAbstraction层的特征。 ...
Shared MLP **网络结构中的Shared MLP是什么?**这一点论文中没有提,但从代码实现上来看其将点云变为B * N * 3,采用1*1的一维卷积,其实相当于每个顶点都共用了同一个卷积权重 如下图所示某种程度上是类似于MLP的,因此称为Shared MLP(个人理解,不知道对不对)。
过一系列MLP,最终输出 形状的矩阵, 代表语义分割的类别 实验分析 物体分类 首先是在ModelNet40数据集上分类的准确率 cls 基本上在3D输入上达到了SOTA的性能,整体正确率为89.2%。 语义分割 seg 可以看到,比起3D全卷积的baseline,mIoU也是达到SOTA的性能