【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation

目录

主干目录

已有研究工作扫盲(Related work)

本文主要工作简介(Introduction)

点云分割(3. 3D Point Cloud Segmentation)

 实验具体实施(4 Experiment and result)

消融实验

Conclusion


原文:https://arxiv.org/pdf/2101.11987.pdf

主干目录

3. 3D Point Cloud Segmentation
3.1. Convolutions on Point Clouds
3.2. Inception module
3.3. Global average pooling (GAP)
3.4. Implementation details
3.5. Performance evaluation
4. Experiments and Results
4.1. Data augmentation
4.2. Datasets
4.3. ShapeNet-part
4.4. PartNet
4.5. Ablation Study
        4.5.1. Alternative Network Architecture
        4.5.2. Robustness test
        4.5.3. Time and Space Complexity

浏览目录之后存在问题:

1、所提出的算法的组合结构?算法效果怎样?

2、证明算法有效性的消融实验是怎么做的?

3、算法适合使用的数据范围有什么样的限制?



已有研究工作扫盲(Related work)

1、Handcrafted feature learning

        传统的工作依赖于从3D对象中手工提取特征来完成特定的数据处理任务。

        点特征方法捕捉物体的形状、点的固有几何特性,并对某些变换具有不变性。目前广泛使用的特征描述符可以分为签名描述符直方图描述符基于变换的描述符

        基于签名的描述子如normal aligned radial feature (NARF)normal based signature (NBS)在距离图像中很受欢迎。

        基于直方图的描述符如自旋转图像、形状上下文、旋转投影统计(RoPS)、三维尺度不变特征变换(SIFT)快速点特征直方图(FPFH)是多视图图像和点云组合中常用的描述符。

        基于变换的描述子如3D加速鲁棒特征(SURF)光谱描述子如拉普拉斯-贝尔特拉米算子(LBO)、热核特征(HKS)、尺度不变的HKS (SIHKS)、波核特征(WKS)、改进的WKS (IWKS)以及度量张量和Christoffel克里斯托费尔符号已广泛用于网格和点云。

        特征提取后,直接使用这些特征或采用patch clustering或feature encoding等方法对这些特征进行机器学习。然而,选择最优的手工制作的特征是不平凡的和高度数据特定的任务,因为这些方法往往是基于特定的先验假设和三维对象

2、Deep feature learning

        在PointNet中,作者使用(x;y;z)点的坐标作为输入特征,利用多层感知器(MLPs)进行分类和分割。这些特性使用max pooling 进行聚合,形成全局特性。该网络学习通过一组稀疏的关键点来总结输入点云,这些关键点大致对应于对象的骨架。限制是,该体系结构不能捕获由度量引起的局部结构。利用这种局部结构已经被证明是卷积结构成功的重要因素。因此,作为对该网络的扩展,pointnet++的作者提出了一种分层特征体系结构,通过采用max pooling有效地学习。但这两种网络都依赖于最大pooling来聚合局部和全局特征。

        ... ...         

        为了克服PointNet++和Kd-Net的问题,SONet[73]的作者提出了一种置换不变体系结构。建立了自组织地图(SOM)来模拟输入点云的空间分布。从个体点和SOM节点中提取层次特征。对于三维物体的分割,将全局特征向量直接展开并与归一化后的点连接起来。但SONet遭遇了与PointNet类似的失败。另一个克服pointnet++限制的工作是PointGrid[74]。在这种架构中,输入点云被嵌入到一个3D网格中。三维卷积网络提取特征并学习高阶局部逼近函数,以捕获三维形状的局部几何形状。对于分割,网络采用特征提取,并利用反褶积对提取的特征进行解码。限制是随机抽样,对于大的集群值会失败,并且计算成本很高。

        ... ...

本文主要工作简介(Introduction)

        我们的PIG-Net是一种深度学习架构,它直接将点云作为输入,并根据点云的每个点段标签提供结果输出。

        PIG-Net架构结合了输入变换层和特征变换层、初始模块、全局平均池化层(GAP)和卷积层。

        最初我们采用PointNet[49]的输入变换来对齐所有的输入点。

        然后,我们使用一系列提议的初始层来提取局部特征,以捕获细粒度的细节,然后进行特征转换。

        为了获得全局特征,这些特征使用GAP层进行聚合,该层对点云的空间平移具有鲁棒性,并避免过拟合。

        然后将得到的局部和全局特征串联起来,最后给出卷积层,分割3D对象的不同部分。

本文主要工作:

1、我们提出了一个基于初始点的深度神经网络称为PIG-Net,用于分割和标记三维点云。

2、为了提取局部特征,我们提出了基于初始模块的初始层作为中间层,并结合输入和特征转换来提取判别特征,以提高性能。此外,我们提出在其他池化方法中使用GAP,以避免过拟合。

3、我们在ShapeNet-part[1]和PartNet[2]两个最先进的数据集上,用现有的方法对PIG-Net进行了详尽的评估和比较分析。此外,进行消融研究证明了所提出的PIG-Net的有效性。

初始模块原文:

Going Deeper With Convolutions (cv-foundation.org)

点云分割(3. 3D Point Cloud Segmentation)

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第1张图片

         利用PointNet的输入变换网络预测仿射变换矩阵(T-Net),将所有的输入点对齐到一个正则空间,使网络对某些几何变换(如刚性变换)具有不变性。

点云卷积所使用公式:

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第2张图片

 其中Conv(q)是每个点q上的卷积,w_{j}是卷积核权重W\in R^{d}j^{th}分量表示为一系列1\times d核权重向量,其中d是维数,h_{j}是特征向量H\in R^{d}j^{th}分量。

        虽然PointNet算法考虑了无序点集的置换不变性来提高性能,但通过考虑网络中最优的局部稀疏结构,可以进一步提高性能。因此,我们使用初始模块作为PIG-Net的中间层,如图1所示,以提高网络性能。

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第3张图片

         这是PointNet的网络结构图,对比可知,作者的PIG-Net把feature transform前面那个mlp模块换成了自己之前提出的Inception module

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第4张图片

Inception module结构

         所提出来的Inception module由Conv层和Max Pooling层组成。每个卷积层包括批归一化(以减少协方差位移)和ReLU激活函数(以增加网络非线性和最小化梯度消失问题)。

        卷积层识别基本模式,并连接其中的几个层,创建表示点云的不同部分的分层过滤器。

        如图1所示,在每个Inception中,第一个卷积层使用e个滤波器对输入进行卷积。这一层的输出被输入到两个卷积层,每个层都有e/2个滤波器和一个最大池化层。最大池化特征给另一个具有e个滤波器的卷积层。

        最后,将所有四个卷积层的输出连接起来,提取局部特征。在我们的网络中,我们使用了一系列的四个Inception,从64个过滤器开始,它们在连续的层中加倍(即128,256,512)。提取的初始特征通过识别细粒度的细节,精确地捕捉到了点云的形状。

        然后利用对称函数对这些特征进行对齐,得到变换后的特征F{}'=\left \{ f{}'_{1},f{}'_{2}...f{}'_{n} \right \}。利用对齐网络,预测了一个对特征F进行对齐的特征变换矩阵。由于变换矩阵的维数较高,因此增加了一个正则化项来稳定优化。对齐网络有助于使学习到的初始特征对几何变换不变,并进一步提高性能。

全局平均池化(GAP)

        我们建议使用GAP[80]层来提取全局特征G,以表征整个对象。传统上,包括PointNet和PointGrid在内的大多数网络都采用了考虑最大值来获得全局特征的最大池化方法。与最大池化类似,GAP层可以用来减少空间维度,获得单一的全局特征。然而,由于没有需要优化的参数,GAP避免了数据的过拟合,并且对输入点云的空间转换具有额外的鲁棒性。与最大池化聚合相比,这是一个潜在的优势。因此,在我们的网络中,我们建议使用GAP来获得全局特征。在cnn中,特别是在图像中,GAP被用来取代网络中的全连接层。我们在PIG-Net中使用GAP,不仅获得全局特征,而且为卷积结构提供一种更原生的方式,加强特征和点云部分之间的对应。

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第5张图片

        GAP计算变换后的特征图的均值F{'},得到全局特征G。对于三维对象的分割,需要同时保留局部信息和全局信息。为此,我们将F{'}中的每个点局部特征映射与全局特征G连接起来,得到每个点的连接特征。因此,网络会对点云的局部和全局特征都有意识,这加强了网络对预测每个点的适当准确的标签的能力。

        最后,将连接后的特征C输入到卷积层中,并将它们组合起来构成输出。对于点云中的每一个点,网络预测了属于一个特定部分的点的概率,从而生成每一个点的分数作为输出。

实验具体实施(4 Experiment and result)


具体选择

        在分割方面,我们将batch-size批处理大小设置为64,并使用cross entropy loss function交叉熵损失函数,Adam优化器(随机梯度下降的延申),利用交叉熵损失,学习率为0.001。我们使用Keras库[81]实现了分割网络,并使用 NvidiaQuadroM2000 分别训练每个类别。

评价指标

        分析网络性能的评价度量是均交并比(mIoU)。

        对于类别中的每个对象,为了计算对象的mIoU,需要计算类别中的每个部分的ground truth和预测之间的IoU。所有部分的IoU在类别中被平均,以得到该对象的mIoU。我们报告实例mIoU(Ins.mIoU)是所有点云实例IOU的平均值,报告类别mIoU(Cat.mIoU)是所有类别mIoU的平均值。

mIoU具体介绍公式,实现代码原文:

 MIoU(均交并比)的计算_晓野豬的博客-CSDN博客_miou公式         

【python】计算miou_.云哲.的博客-CSDN博客_miou python


数据预处理

        对点云进行均匀采样,获得1024个点。在训练过程中,我们通过沿上轴线随机旋转对象来动态增强点云。我们使用随机各向异性缩放(范围:[0.66,1.5])和随机平移(范围:[−0.2,0.2])增加数据。此外,通过均值为零且标准偏差为0.01的高斯噪声抖动每个点的位置

所使用的数据集

【ShapeNet-part dataset】

A Scalable Active Framework for Region Annotation in 3D Shape Collections (stanford.edu)

ShapeNet-Part Benchmark (3D Part Segmentation) | Papers With Code

【PartNet v0 dataset】【本文是这个数据集第一个使用的网络】

PartNet (stanford.edu)

PartNet Dataset | Papers With Code

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第6张图片

实验结果 

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第7张图片

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第8张图片

        我们的架构正确地分割了大部分点云。火箭类的mIoU最低,为64.8%。尾翼和机头部分的大部分点被错误地分割到火箭的身体部分。这在很大程度上是由于这些部分中存在的细微差别和连续性导致了混淆。我们还在表3最后一行使用maxpolling而不是GAP,通过烧蚀研究展示了PIG-Net的性能。我们观察到,与使用GAP的IOU相比,使用max pooling的结果显示出更低的IOU。与仅获取全局特征的max pooling不同,GAP加强了全局特征与3D点云部分之间的对应关系。

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第9张图片

        键盘类的性能最差,mIoU为49.7%。在键盘正确分割中,背景面板与前景键是不同的部分。由于按键和面板的内部紧密,我们的网络将这些部分分割成一个单独的部分(参见图3中的键盘)。

消融实验

通过改变网络结构:

PIG-Net是一个使用(64,128,256,512)过滤器的4层初始架构,它优于使用GAP的其他初始架构。当初始层数进一步增加时,我们观察到网络的性能下降,如表5所示。

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第10张图片

         这是因为随着层数的增加,网络变得越来越深,由于梯度的消失,学习也很困难。此外,这可能会导致过度拟合,因为初始阶段中的层和过滤器数量增加,因此有必要更改初始阶段的体系结构,我们还发现没有inception,PIG网络的性能很差。

       我们通过使用4层inception修复体系结构的其余部分,将最大池与GAP进行比较。从表5中,我们观察到,GAP以显著的优势(类别和实例mIoU为3.5%)实现了最佳性能,这表明它是一个更好的选择,因为它有效地捕捉了全局点云特征。

通过进行鲁棒性实验:

        密度变化:我们将输入点随机采样到128、256、512和1024,如图4(顶行)所示。图5(左)显示了在PartNet数据集上提出的PIG-Net和PointNet体系结构的实例mIoU,输入点的数量不同。在密度变化方面,当输入点数减少88%时,PIG-Net的性能下降仅为2.7%。PIG-Net在所有密度水平上都优于PointNet。

【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第11张图片

 【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第12张图片

        扰动:高斯噪声被独立地添加到每个点上,如图4(底行)所示。附加噪声的标准偏差为0.01、0.02、0.03和0.04。图5(右)显示了根据不同噪声水平的实例mIoU。即使当点云被标准偏差为0.04的严重噪声扭曲时,PIG-Net仍能达到约65%的性能。PIG-Net在所有噪声水平下都优于PointNet。这些结果表明,所提出的PIG-Net对各种输入损坏具有鲁棒性,并且在复杂PartNet数据集上基本上优于PointNet。         

  【阅读整理】PIG-Net: Inception based Deep Learning Architecture for 3D Point Cloud Segmentation_第13张图片

        表6总结了学习模型PIG-Net体系结构关于空间(体系结构中的参数数量)和时间(秒)复杂性。就空间复杂度而言,PIG-Net比PointNet效率更高,网络中的参数数量减少了1.2倍。然而,由于初始阶段的计算成本占主导地位,PIG-Net的时间复杂度比PointNet高30%。

Conclusion

在广泛流行的具有挑战性的数据集,即ShapeNet[1]和PartNet[2]上的实验分析说明了我们的网络的有效性。PIG-Net优于现有的最先进的复杂深度学习方法,ShapeNet部分的mIoU提高了1%和mIoU提高了3.7%,PartNet的mIoU提高了4.1%和mIoU提高了7.3%。

你可能感兴趣的:(深度学习,人工智能,计算机视觉)