重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies

PointNeXt: Revisiting PointNet++ with Improved

Training and Scaling Strategies

Abstract

PointNet++是理解点云最有影响力的神经架构之一。虽然PointNet++的准确性已被PointMLP和Point Transformer等最新网络大大超越,但我们发现,性能提高的很大一部分是由于改进了培训策略,即数据扩充和优化技术,以及增加了模型大小,而非架构创新。因此,PointNet++的全部潜力还有待挖掘。在这项工作中,我们通过对模型训练和缩放策略的系统研究,重新审视了经典的PointNet+,并提供了两个主要贡献。首先,我们提出了一组改进的培训策略,可以显著提高PointNet++的性能。例如,我们表明,在不改变体系结构的情况下,PointNet++对ScanObjectNN对象分类的总体准确率(OA)可以从77.9%提高到86.1%,甚至优于现有的PointMLP。其次,我们将倒残差瓶颈设计和可分离的MLP引入pointnet++,以实现高效的模型缩放,并提出了point net的下一个版本PointNeXt。PointNeXt可以灵活扩展,在3D分类和分割任务上都优于最先进的方法。对于分类,PointNeXt在ScanObjectNN上的总体准确率达到87.7%,超过PointMLP 2.3%,同时推理速度提高了10倍。对于语义分割,PointNeXt在S3DIS上建立了一个新的最先进的性能,平均IoU为74.9%(6倍交叉验证),优于最近的Point Transformer。

1简介

3D数据采集的最新进展导致对点云理解的兴趣激增。随着PointNet[31]和PointNet++[32]的兴起,使用深层CNN以非结构化格式处理点云成为可能。继“point net”之后,引入了许多基于点的网络,其中大多数侧重于开发新的复杂模块以提取局部结构,例如KPConv中的伪网格卷积[47]和point Transformer中的自注意力层[62]。这些新提出的方法在各种任务中的表现都大大优于PointNet+,给人的印象是,PointNet++体系结构太简单,无法学习复杂的点云表示。在这项工作中,我们重新审视了经典且广泛使用的网络PointNet++,并发现其全部潜力尚待挖掘,主要是由于在PointNet++时代还没有出现两个因素:

(1)卓越的训练策略

(2)有效的模型缩放策略架构的更改。

例如,在训练过程中随机dropping color会意外地将PointNet++的测试性能提高5.9%的平均IoU(mIoU),如表5、1所示。此外,采用标签平滑[43]可以将ScanObjectNN[48]的总体精度(OA)提高1.3%。这些发现启发我们重新审视PointNet+,并为其配备当今广泛使用的新的高级培训策略。令人惊讶的是,如图1所示,在ScanObjectNN上,仅使用改进的训练策略就可以将PointNet++的OA提高8.2%(从77.9%提高到86.1%),从而在不改变架构的情况下建立新的SOTA(详情请参阅第4.4.1节)。对于S3DIS细分基准,通过6倍交叉验证在所有领域评估的mIoU可以增加13.6%(从54.5%增加到68.1%),优于PointNet++之后的许多现代体系结构,如PointCNN[21]和DeepGCN[20]。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第1张图片

图1:训练策略和模型缩放对PointNet++的影响[32]。我们表明,改进的训练策略(数据扩充和优化技术)和模型缩放可以显著提高PointNet++的性能。ScanObjectNN[48]和S3DIS[1]报告了平均总体精度和mIoU(6倍交叉验证)。

此外,我们观察到,当前流行的点云分析模型[19、47、62]采用的参数比原始point net[31、32]多得多。有效地将PointNet++从原来的小规模扩展到更大的规模是一个值得研究的主题,因为通常期望更大的模型能够实现更丰富的表示,并且性能更好[2,18,61]。然而,我们发现,在PointNet++中使用更多构建块或增加通道大小的天真方法只会导致延迟开销,而准确性没有显著提高(请参见第4.4.2节)。为了有效地扩展模型,我们在PointNet++中引入了残差连接[14]、反向瓶颈设计[40]和可分离的MLP[34]。这种现代化的架构被命名为PointNeXt,是PointNets的下一个版本。PointNeXt可以灵活扩展,在各种基准上都优于SOTA。如图1所示,PointNeXt在S3DIS上将原来的PointNet++提高了20.4%mIoU(从54.5%提高到74.9%)[1]6倍,在ScanObjecNN上实现了9.8%的OA增益[48],超过了SOTA Point Transformer[62]和PointMLP[29]。下面我们总结一下我们的贡献:

我们首次对点云域中的训练策略进行了系统研究,结果表明,仅通过采用改进的训练策略,PointNet++就可以起效果(ScanObjectNN上的OA为8.2%,S3DIS上的mIoU为13.6%)。改进后的培训策略是通用的,可以很容易地应用于改进其他方法[31、51、29]我们提出PointNeXt,即point net的下一个版本。PointNeXt具有可扩展性,在所研究的所有任务上都优于SOTA,包括对象分类[48]、语义分割[1]和部分分割[59],同时推理速度也比SOTA快。

2初步:回顾PointNet ++

我们的PointNeXt是基于PointNet++[32]构建的,它使用类似U-Net[39]的架构,带有编码器和解码器,如图2所示。编码器部分使用多个集合抽象(SA)块分层抽象点云的特征,而解码器通过相同数量的特征传播块逐步插值抽象的特征。SA块包括一个用于对输入点进行下采样的子采样层、一个用于查询每个点的邻居的分组层、一组用于提取特征的共享多层感知器(MLP)以及一个用于聚合邻居中的特征的简化层。分组层、MLPs和还原层的组合公式如下:

其中,R是还原层(例如,最大池),该还原层从点i的邻域(表示为聚合点i的特征。分别是网络第lth层的输入坐标、输入特征和邻居j的特征。hΘ表示采用和相对坐标串联的共享mlp作为输入。请注意,由于具有单标度分组的PointNet++每个阶段使用一个SA块是原始论文中使用的默认体系结构[32],因此我们通篇将其称为PointNet++,并将其用作基线。

3方法论:从PointNet++到PointNeXt

在本节中,我们将介绍如何将经典体系结构PointNet++[32]现代化为PointNeXt,这是具有SOTA性能的PointNet++的下一个版本。我们的探索主要集中在两个方面:

(1)训练更新化,以改进数据扩充和优化技术;

(2)架构更新化,以探索感受野缩放和模型缩放。这两个方面对模型的性能都有重要影响,但之前的研究对其探索不足。

3.1训练现代化:PointNet++的反击

我们进行了一项系统研究,以量化现代点云网络使用的每种数据增强和优化技术的效果[51、47、62],并提出一套改进的培训策略。通过采用我们提出的培训策略,可以揭示PointNet++的潜力。

3.1.1数据扩充数据

扩充是提高神经网络性能的最重要策略之一;因此,我们从那里开始现代化。最初的PointNet++对各种基准测试使用了来自随机旋转、缩放、平移和抖动的数据扩展的简单组合。最近的方法采用了比PointNet++中使用的方法更强的扩充。例如,KPConv[47]在训练过程中随机掉色,Point BERT[60]使用公共点重采样策略从原始点云中随机采样1024个点以进行数据缩放,而RandLA Net[15]和Point Transformer[62]加载整个场景作为分割任务的输入。在本文中,我们通过加性研究量化了每个数据增加的效果。

我们以PointNet++[32]为基线开始研究,并使用原始数据扩充和优化技术进行训练。我们删除每个数据扩充以检查它是否必要。我们添加了有用的增强,但删除了不必要的增强。然后,我们系统地研究了代表性作品中使用的所有数据增强[51、47、34、62、29、60],包括数据缩放,如点重采样[60]和加载整个场景作为输入[15]、随机旋转、随机缩放、平移点云、抖动以向每个点添加独立噪声,高度附加[47](即,沿物体重力方向附加每个点的测量值作为附加输入特征)、自动调整颜色对比度的颜色自动对比度[62]和随机用零值替换颜色的颜色下降。我们以增量方式验证了数据扩充的有效性,并且只保留提供更好验证准确性的扩充。在本研究的最后,我们为每个任务提供了一组数据扩充,以最大限度地提高模型的性能。4.4.1详细介绍和分析未发现的调查结果。

3.1.2优化技术优化

技术包括损失函数、优化器、学习率调度器和超参数,对神经网络的性能也至关重要。PointNet++在其整个实验中使用了相同的优化技术:交叉熵损失、Adam优化器[16]、指数学习率衰减(阶跃衰减)和相同的超参数。由于机器学习理论的发展,现代神经网络可以使用理论上更好的优化器(如AdamW[28]vs.Adam[16])和更好的损失函数(带标签平滑的交叉熵[43])进行训练。与我们对数据扩充的研究类似,我们还量化了每种现代优化技术对PointNet++的影响。我们首先对学习率和权重衰减进行顺序超参数搜索。然后,我们对标签平滑、优化器和学习速率调度器进行加性研究。我们发现了一组改进的优化技术,通过可观的差额。标签平滑、AdamW和余弦衰减的交叉熵通常可以提高各种任务的性能。参见第。4.4.1详细的消融实验和发现。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第2张图片

*建议的PointNeXt与经典的PointNet++之间的差异以红色边框突出显示。

图2:PointNeXt架构。PointNeXt与PointNet++[32]共享相同的集合抽象和特征传播块,同时在开始时添加额外的MLP层,并使用建议的反向剩余MLP(InvResMLP反向残差mlp)块扩展架构。这里,我们以PointNeXt为例进行分段。有关分类架构,请参阅附录。

3.2架构现代化:小修改→ 重大改进

在本小节中,我们将PointNet++[32]现代化为拟议的PointNeXt。现代化包括两个方面:

(1)感受野标度

(2)模型标度。

3.2.1感受野标度

感受野是神经网络设计空间中的一个重要因素[42,8]。在点云处理中,至少有两种方法可以缩放感受野:

(1)采用更大的半径查询邻域。

(2)采用层次结构。

由于原始的PointNet++采用了层次结构,因此本小节主要研究(1)。请注意,PointNet++的半径设置为初始值r,该值在点云下采样时加倍。我们研究了每个基准中不同的初始值,发现半径是特定于数据集的,可以对性能产生重大影响。第4.4.2.节对此进行了详细阐述。此外,我们发现相对坐标使网络优化更加困难,导致性能下降。因此,我们建议规范化∆p乘以半径:

如果没有归一化,相对坐标的值相当小(小于半径),需要网络学习更大的权重以应用于∆p、 这使得优化变得非常重要,尤其是因为权重衰减用于减少网络的权重。建议的归一化还减少了∆p在不同阶段之间。

3.2.2模型缩放

PointNet++是一个相对较小的网络,其中编码器仅由分类体系结构中的2个阶段和用于分段的4个阶段组成。每个阶段仅由1个SA块组成,每个块包含3层MLP。用于分类和分段的PointNet++模型大小都小于2M,这比通常使用超过10M参数的现代网络要小得多[47、29、34]。有趣的是,我们发现,添加更多SA块或使用更多通道都不会显著提高精度,同时导致吞吐量显著下降(参见第4.4.2节),主要原因是梯度消失和过度拟合。因此,在本小节中,我们将研究如何以有效的方式扩展PointNet++。我们建议在每个阶段的第一个SA块之后附加一个反向残差MLP(InvResMLP)块,以实现有效的模型缩放。InvResMLP构建在SA块上如图2中下部所示。InvResMLP和SA之间有三个区别。

1) 在输入和输出之间添加一个残差网络连接,以缓解消失梯度问题,尤其是当网络更深时。

(2) 为了减少计算量和加强逐点特征提取,引入了可分离的MLP。虽然原始SA块中的所有3层MLP都是基于邻域特征计算的,但InvResMLP将MLP分为一个基于邻域特征计算的层(分组层和缩减层之间)和两个用于点特征的层(缩减后),这是受ASSANet[34]和ConvNeXt[27]启发的。

(3) 利用反向瓶颈设计将第二个MLP的输出通道扩展了4倍,以丰富特征提取。与附加原始SA块相比,附加InvResMLP块可显著提高性能(见第4.4.2节)。

除了InvResMLP之外,我们还介绍了宏观(巨大)体系结构中的三个变化。

(1)我们统一了用于分类和分割的PointNet++编码器的设计,即将用于分类的SA块的数量从2个缩放到4个,同时在每个阶段保持用于分割的原始数量(4个块)。

(2)我们使用了一个对称解码器,其中它的信道大小被改变以匹配编码器。

(3)我们添加了一个stem MLP,即在体系结构开始处插入的附加MLP层,以将输入点云映射到更高的维度。

总之,我们介绍了PointNeXt,这是PointNet的下一个版本[31,58],它是通过合并建议的InvResMLP和前面提到的宏观体系结构更改从PointNet++修改而来的。PointNeXt的架构如图2所示。我们将stem MLP的通道大小表示为C,InvResMLP块的数量表示为B。C越大,网络的宽度越大(即宽度缩放),而B越大,网络的深度越大(即深度缩放)。请注意,当B=0时,每个阶段仅使用一个SA块,

块。SA块中的MLP层数设置为2,并在每个SA块内添加剩余连接。当B ≠0时,InvResMLP块附加在原始SA块之后。在这种情况下,SA块中的MLP层数设置为1以节省计算成本。PointNeXt系列的配置总结如下:

4 Experiments

我们在三个标准基准上评估PointNeXt:用于语义分割的S3DIS[1],用于现实世界对象分类的ScanObjectNN[49],以及用于对象部分分割的ShapeNet part[3]。

实验设置。我们使用交叉熵损失和标签平滑来训练PointNeXt[43],AdamW优化器[28],初始学习率lr=0.002,权重衰减10−4,具有余弦衰减,批大小为32,用于所有任务,除非另有规定。选择验证集中的最佳模型进行测试。对于S3DIS分割,点云按照常规做法以0.04m的体素大小进行体素下采样[47、34、62]。PointNeXt以初始lr=0.01进行训练,训练时间为100个历元,每批使用固定数量的点数(24000),批量大小为8作为输入。在训练过程中,通过在每次迭代中查询随机点的最近邻居来获得输入点。根据Point Transformer[62],我们使用整个场景作为输入来评估PointNeXt。对于ScanObjectNN分类,PointNeXt使用0.05的权重衰减训练250个时代。在点BERT[60]之后,输入点的数量设置为1024,其中点在训练期间随机采样,在测试期间均匀采样。对于ShapeNetPart零件分割,我们对PointNeXt进行训练,批量大小为64,用于400个时代。在PointNet++[32]之后,2048个随机采样点和法线被用作训练和测试的输入。有关S3DIS、ScanObjectNN和ShapeNet部分中使用的数据扩充的详细信息,请参见第节。4.4.1.

对于所有实验,我们不进行任何投票[22]2,因为比较模型的性能更为标准,而不使用SimpleView[10]建议的任何集成方法。我们还提供了模型参数(参数)和推理吞吐量(每秒实例数)进行比较。所有方法的吞吐量都是使用128×1024(批量大小128,点数1024)作为ScanObjectNN上的输入和ShapeNetPart上的64×2048来测量的。在S3DIS上,16×15000个点用于测量[34]之后的吞吐量,因为有些方法[51,19]由于内存限制,无法处理整个场景。所有方法的吞吐量都是使用NVIDIA Tesla V100 32GB GPU和32核Intel [email protected] CPU测量的。

4.1 S3DIS上的三维语义分割

S3DIS[1](斯坦福大学大型3D室内空间)是一个具有挑战性的基准,由6个大型室内区域、271个房间和13个语义类别组成。S3DIS上的标准6倍交叉验证结果如表所示。1、请注意,官方的PointNet++[32]没有在S3DIS上进行实验。这里,我们使用PointCNN报道的结果进行比较。我们的小型变体PointNeXt-S在平均IoU(mIoU)、总体准确度(OA)和平均准确度(mAcc)方面分别比PointNet++高出13.5%、6.4%和10.2%,而在吞吐量方面则更快。速度的提高是由于PointNeXt-S的SA块中的层数减少(见第3.2.2节)。通过提出的模型缩放,PointNeXt的性能可以逐步提高。例如,PointNeXt-L在mIoU中比SOTA Point Transformer[62]快0.4%,同时比SOTA Point Transformer快3倍。请注意,Point Transformer利用了我们大多数改进的培训策略。超大变型PointNeXt XL设定了新的SOTA性能,mIoU \OA \mAcc为74.9%\90.3%\83.0%,同时运行速度比Point Transformer快。作为一个限制,我们的PointNeXt XL包含更多的参数,并且在触发器方面的计算成本更高,这主要是由于反向瓶颈中的通道扩展(×4)和通道大小加倍(C=64)。参见第。4.4关于PointNeXt在S3DIS 5区的结果,以及与SOTA进行比较的附录。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第3张图片

表1:S3DIS上6倍交叉验证的语义切分。我们的PointNeXt相对于PointNet++[32]的改进以绿色突出显示。方法按时间顺序排列。

4.2 ScanObjectNN上的3D对象分类

ScanObjectNN[49]包含约15000个实际扫描对象,这些对象分为15个类,有2902个唯一的对象实例。由于遮挡和噪声,ScanObjectNN对现有的点云分析方法提出了重大挑战。根据PointMLP[29],我们在PB\U T50\U RS上进行了实验,PB\U T50\U RS是ScanObjectNN最硬和最常用的变体,并报告了三次随机运行的平均值±std。如表中所述。2、提出的PointNeXt-S在OA和mAcc方面都超过了现有方法,具有非常大的裕度,同时使用的模型参数更少,运行速度更快。PointNeXt以PointNet++[32]为基础,与最初报告的PointNet++性能相比,实现了显著的改进,即OA提高了9.8%,mACC提高了10.4%。这证明了所提出的训练和模型缩放策略的有效性。PointNeXt也优于SOTA PointMLP[29](即OA增加2.3%,mACC增加1.9%),同时运行速度提高10倍。

这表明PointNeXt是一个简单但有效的基线。请注意,我们没有在这个基准测试中使用升级的PointNeXt变体,因为我们发现使用PointNeXt-S的性能已经饱和,这主要是由于数据集的规模有限。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第4张图片

4.3 ShapeNet零件上的三维对象零件分割

ShapeNet part[59]是一个用于零件分割的对象级数据集。它由16个不同形状类别的16880个模型组成,每个类别有2-6个零件,总共有50个零件标签。如表所示。3,我们的默认宽度(C=32)的PointNeXt-S的性能与SOTA CurveNet的性能相当[56],并且在实例平均IoU(Ins.mIoU)和吞吐量方面都优于大量有代表性的网络,如KPConv[47]和ASSANet[34]。此外,通过将宽度从32增加到64,PointNeXt的性能优于CurveNet,同时速度超过4倍。同样值得强调的是,宽度更大(C=160)的PointNeXt达到87.2%英寸。mIoU,而基于点的方法的性能多年来一直饱和在87%以下。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第5张图片

4.4烧蚀与分析

表4和表5分别对ScanObjectNN[48]和S3DIS[1]提出的训练和缩放策略进行相加研究。我们采用原始的PointNet++作为基线。在ScanObjectNN上,PointNet++最初使用交叉熵损失、Adam优化器、学习率1e-3、权重衰减1e-4、每20个历元阶跃衰减0.7、批次大小16(250个历元)进行训练,同时使用随机旋转和抖动作为数据增强。官方的PointNet++没有在S3DIS数据集上进行实验。我们参考了广泛使用的重新实现[58],其中PointNet++使用与ScanObjectNN相同的设置进行训练,除了仅使用随机旋转作为增强。注意,对于所有实验,我们在ScanObjectNN上训练了250个时代的所有模型,在S3DIS上训练了100个时代的模型。由于间距有限,我们将ShapeNet零件的详细烧蚀研究留在附录中。

4.4.1培训策略

数据扩充是我们为使PointNet++现代化而研究的第一个方面。根据表中的观察结果,我们得出四个结论。表4和表5。

(1)数据缩放可提高分类和分段任务的性能。例如,在ScanObjectNN上,点重采样可以将性能提高2.5%。将整个场景作为输入,而不是像PointNet++[32]和其他以前的工作[47、20、34]那样使用块或球体子采样输入,可以将分割结果提高1.1个百万像素。

(2)高度附加提高了性能,尤其是在对象分类方面。高度附加使网络了解实际大小从而提高了精确度(+1.1%OA)。

(3)颜色下降是一种强大的增强,可以显著提高有颜色的任务的性能。在S3DIS区域5上,仅采用颜色下降即可增加5.9%的mIoU。我们假设,颜色下降会迫使网络更加关注点之间的几何关系,从而提高性能。

(4)更大的模型支持更强的数据扩充。虽然随机旋转会使S3DIS上的PointNet++性能降低0.3%mIoU(表5数据扩充部分的第二行),但它对更大规模的模型是有益的(例如,在PointNeXt-B上提高1.5%mIoU)。ScanObjectNN上的另一个示例显示,消除随机抖动也会增加1.1%的OA。总的来说,随着数据的增强,ScanObjectNN上的PointNet++的OA和S3DIS区域5上的mIoU分别增加了5.8%和9.5%。

优化技术

包括损失函数、优化器、学习率调度器和超参数。如表所示。4和5、标签平滑、AdamW[28]优化器和余弦衰减始终可以提高分类和分割任务的性能。这表明,较发达的优化方法,如标签平滑和AdamW,通常都适合优化神经网络。与阶跃衰减相比,余弦衰减也更容易调整(通常只需要初始和最小学习速率),并且可以实现与阶跃衰减类似的性能。关于超参数,使用大于PointNet++中使用的学习速率可以提高S3DIS上的分段性能。

总的来说,我们的训练策略包括更强的数据扩充和现代优化技术,可以将PointNet++在ScanObjectNN数据集上的性能从77.9%提高到86.1%,显著超过SOTA PointMLP 0.7%。S3DIS区域5和S3DIS 6倍(如图1所示)上的mIoU分别提高了11.7和13.6个绝对百分比。我们的观察结果表明,经典PointNet++和SOTA之间的性能差距很大一部分是由于训练策略造成的。

推广到其他网络。虽然这些训练策略是针对PointNet++[32]提出的,但我们发现它们可以应用于其他方法,如PointNet[31]、DGCNN[51]和PointMLP[29],并提高其性能。ScanObjectNN[48]验证了这种通用性。如表6所示。有代表性的方法的OA都可以通过我们的培训策略来提高。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第6张图片

表6:改进培训策略的可推广性。报道了用改进的训练策略训练的网络在ScanObjectNN上的OA。

4.4.2模型缩放

感受野缩放包括半径缩放和归一化∆p在等式中定义。(2) ,也在表4和5中验证。。radius是特定于数据集的,而将radius从0.2缩小到0.15可以在ScanObjectNN上提高0.3%的OA,保持radius为0.1可以在S3DIS上获得最佳性能。关于规范化∆p、它改进了在ScanObjectNN和S3DIS上的性能分别提高了0.3个OA和0.4个mIoU。此外,在表7中。我们展示了规范化∆p对更大的模型PointNext XL有更大的影响(S3DIS数据集上有230万个)。

模型缩放

通过建议的InvResMLP和一些宏观架构更改(见第3.2.2节)缩放PointNet+。在表中。4,我们表明,在ScanObjectNN上,使用stem MLP、对称解码器和SA块中的剩余连接的PointNeXt-S将OA提高了1.0%。通过使用建议的InvResMLP的更多块来放大PointNeXt-S,可以进一步展示大规模S3DIS数据集的性能(从63.8%到70.5%mIoU),如表4所示,此外表7,我们使用性能最佳的模型PointNeXt XL作为基线,在S3DIS区域5上烧蚀拟定InvResMLP区块的每个组件和不同的阶段比率。正如所观察到的,每一个架构更改都确实有助于提高性能。在所有变化中,剩余连接是最重要的,没有剩余连接,mIoU将从70.5%降至64.0%。可分离MLP将mIoU增加3.9%,同时将网络速度提高了3倍。从基线移除反向瓶颈会导致mIoU下降1.5%,速度提升不到1%。表7还显示了朴素宽度缩放的性能,它将PointNet++的宽度从32增加到256以匹配PointNeXt XL的吞吐量,朴素深度缩放在PointNet++中添加更多SA块以获得相同数量的PointNeXt XL块(B=(3,6,3,3)),朴素复合缩放将朴素深度缩放模型的宽度增加一倍,达到与PointNeXt XL相同的宽度64。我们提出的模型缩放策略比这些朴素的缩放策略实现了更高的性能,同时速度更快(比较PointNeXt XL和朴素的复合缩放)。

5相关工作

与基于体素的方法[11、6]和基于多视图的方法[41、13、10]相比,基于点的方法直接使用非结构化格式处理点云。PointNet[31]是基于点的方法的先驱,它提出通过将特征提取限制为逐点的方式,用共享MLP对点的置换不变性进行建模。PointNet++[32]通过捕获局部几何结构来改进PointNet。目前,大多数基于点的方法侧重于局部模块的设计。[51、50、33]依赖于图形神经网络。[57、21、47、46]将点云投影到伪网格上,以允许进行规则卷积。[53、22、23]通过局部结构确定的权重自适应聚合邻域特征。此外,最近的方法利用transformer式网络[62,17]通过自我关注提取局部信息。我们的工作并没有遵循局部模块设计的这一趋势。相比之下,我们将注意力转移到另一个重要但基本上未得到充分探索的方面,即培训和扩展策略。

最近关于图像分类的文献[2,52,27]研究了训练策略。在点云领域,SimpleView【10】首次表明训练策略对神经网络的性能有很大影响。然而,SimpleView只是采用了与DGCNN相同的训练策略【51】。相反,我们进行了系统研究,量化了每种数据增强和优化技术的效果,并提出了一套改进的培训策略,以提高PointNet++[32]和其他代表性作品的性能[31、51、29]。

模型缩放可以显著提高网络的性能,如各领域的开创性工作所示[44、61、20]。与使用参数小于2M的PointNet++[32]相比,当前大多数主流网络由大于10m的参数组成,如KPConv[47](15M)和PointMLP[29](13M)。在我们的工作中,我们探索了能够以有效的方式扩展PointNet++的模型扩展策略。我们提供了有关可提高性能的扩展技术的实用建议,即使用剩余连接和反向瓶颈设计,同时使用可分离的MLP保持吞吐量。

6 结论与讨论

在本文中,我们证明了通过改进训练和缩放策略,可以提高PointNet++的性能,使其超过当前的技术水平。更具体地说,我们量化了目前广泛使用的每种数据增强和优化技术的效果,并提出了一套改进的训练策略。这些策略可以很容易地应用于提高PointNet++和其他代表性作品的性能。我们还将反向剩余MLP块引入PointNet++以开发PointNeXt。我们证明了PointNeXt在保持高吞吐量的同时,在各种基准上比PointNet++具有更高的性能和可扩展性。这项工作旨在引导研究人员更加关注培训和缩放策略的效果,并激励未来在这方面的工作。

限制

尽管PointNeXt XL是所有有代表性的基于点的网络中最大的模型之一[32、47、15、62],但其参数数量(44M)仍低于图像分类中小型网络的参数数量,如SWN-S[24](50M)、ConNeXt-S[27](50M)和ViT-B[9](87M),并且与它们的大型变体(包括SWN-L(197M)、ConNeXt XL(350M)和ViT-L(305M)相去甚远。在这项工作中,我们没有进一步扩大模型的规模,主要是因为点云数据集的规模比其较大的图像数据集(如ImageNet)更小。此外,我们的工作仅限于现有模块,因为重点不是引入新的架构更改。

PointNeXt:通过改进的培训和扩展策略重新访问PointNet++

在本附录中,我们提供了补充主要手稿的其他内容:

  1. 附录A:一项关于在ShapeNet上依次将培训和缩放策略应用于PointNet++[32]的附加研究[59]
  2. 附录B:S3DIS区域5【1】和ModelNet40【54】数据集的附加实验
  3. 附录C:表格7的详细说明。
  4. 附录D:先前代表性作品和PointNeXt的培训策略比较。
  5. 附录E:S3DIS和ShapeNet部分的定性比较
  6. 附录F:分类的PointNeXt架构
  7. 附录G:社会影响。

附录A  ShapeNetPart的加性研究

我们对Tab中的ShapeNet Part[59]分割顺序应用训练和缩放策略进行了加性研究。

一、 基准point net++[32]最初通过随机缩放和平移增强进行训练,并达到85.1%的实例平均IoU(Ins.mIoU)。通过在不改变架构的情况下应用所提出的培训策略,我们将其性能提高到86.6%(+1.5%)。高度附加数据增强和AdamW优化器可以极大地提高ShapeNet部件的性能(+0.3英寸兆欧)。正交化∆p还将PointNet++的性能提高了0.1%。米欧。模型缩放后, PointNeXt的Ins. mIOU进一步增加到87.2%(比PointNet++高出0.6%),超过了最先进的CurveNet[56]。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第7张图片

表一:在ShapeNet零件上顺序应用训练和模型缩放策略进行对象零件分割的相加研究。我们使用浅绿色、紫色、黄色和粉色背景分别表示数据增强、优化技术、感受野缩放和模型缩放。

B附加实验

B.1 S3DIS上的分割

在手稿中,我们提供了S3DIS上的标准6倍交叉验证mIoU。在此,我们还报告了选项卡中区域5的性能。

二、正如所观察到的,PointNeXt-S是一种小型变体,其性能比使用原始训练策略训练的PointNet++高出4.9%OA和9.9%mIoU。PointNeXt-S的性能也比许多有代表性的方法(如PointCNN[21]、DeepGCN[20]和PVCNN[25])好得多。我们最大的型号PointNeXt XL的性能略低于最先进的分层变压器[17],同时超过了许多最新的方法,如ASSANet[34]、Point Transformer[62]和CBL[45]。请注意,我们的方法很容易复制,在大多数情况下,三次随机运行的标准偏差小于0.5。

重振pointnet++雄风!PointNeXt: Revisiting PointNet++ with ImprovedTraining and Scaling Strategies_第8张图片

表二:S3DIS区域5的语义分割结果。报告了平均±std(OA、mACC和mIoU)和三次随机运行的每类平均IoU。

B.2 ModelNet40上的分类

ModelNet40【55】是3D计算机图形CAD模型常用的对象分类数据集。它有40个对象类别,每个类别包含100个独特的CAD模型。最近的工作【13、29、38】表明,与合成的3D数据集ModelNet40相比,人们对真实世界的扫描数据集ScanObejectNN【48】越来越感兴趣。根据这一趋势,我们在手稿中对ScanObjectNN的PointNeXt进行了基准测试(表2)。这里,我们进一步提供ModelNet40上PointNeXt的结果。PointNet++[32]最初使用交叉熵损失、Adam优化器、学习率1e-3、权重衰减1e-4、步长学习率衰减和批量大小16进行250个时代的训练,同时使用随机旋转、缩放、平移和抖动作为数据增强。通过采用改进的训练策略,我们将PointNet++从91.9%的OA提高到92.8%的OA:带标签平滑的交叉熵损失、AdamW优化器、学习率1e-3、权重衰减0.05、余弦学习率衰减和批次大小32,持续600个时代,同时使用随机缩放和转换作为数据增强。选项卡。III显示了PointNeXt的小变体(默认宽度为C=32的PointNeXt-S)比PointNet++快1.3个百分点,同时速度更快。具有更大宽度C=64的PointNeXt-S,实现了与最先进的CurveNet相媲美的性能(93.7%OA)[56],并优于大量代表性网络,如KPConv[47]、ASSANet[34]和点云转换器[12]。

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