Pointnet Transform Net

Posted by Packy on June 7, 2019

PointNet分类网络由于基本体系结构已在主要论文中说明,因此我们在此提供有关联合对齐/转换网络和训练参数的更多详细信息。

第一个转换网络是一个迷你PointNet,它将原始点云作为输入并回归到3 3矩阵。它由每个点上的共享MLP(64; 128; 1024)网络(层输出大小为64,128,1024)组成,跨点最大池和两个完全连接的层,输出大小为512,256

a max pooling across points and two fully connected

layers with output sizes 512, 256.

输出矩阵为初始化为单位矩阵。除最后一层外,所有层都包括ReLU和批量标准化

第二个转换网络具有与第一个转换网络相同的架构,除了输出是64 64矩阵。矩阵也初始化为身份。将正则化损失(具有权重0.001)添加到softmax分类损失以使矩阵接近正交。

在类评分预测之前,我们在最后一个完全连接的层上使用保持率为0:7的丢失,其输出维数为256。批量标准化的衰减率从0:5开始逐渐增加到0:99。我们使用adam优化器,初始学习率为0:001,动量为0:9,批量大小为32.学习率每20个epochs 期除以2。在ModelNet上进行培训需要3-6个小时才能与TensorFlow和GTX1080 GPU融合。

PointNet分段网络分段网络是PointNet分类的扩展。对于每个点,连接本地点要素(第二个转换网络之后的输出)和全局特征(最大池的输出)。没有丢失用于分段网络。训练参数与分类网络相同。

至于形状部分分割的任务,我们对基本分割网络体系结构进行了一些修改(主要论文中的图2)以获得最佳性能,如图9所示。我们添加了一个指示类的单热矢量输入并将其与最大池层的输出连接。我们还增加了某些层中的神经元,并添加了跳过链接以收集不同层中的局部点要素,并将它们连接起来以形成分段网络的点要素输入。

虽然[27]和[29]独立处理每个对象类别,但由于缺少某些类别的训练数据(数据集中所有类别的形状总数显示在第一行),我们训练我们的PointNet跨类别(但使用单热矢量输入来指示类别)。为了进行公平比较,在测试这两个模型时,我们只预测给定特定对象类别的零件标签。

对于语义分割任务,我们在主要论文中使用了如图2所示的架构。

在ShapeNet零件数据集上训练模型大约需要6到12个小时,大约需要半天时间来训练斯坦福语义分析数据集。