PointNeXt:通过改进的模型训练和缩放策略审视PointNet++

PointNet++ 是用于点云理解的最有影响力的神经架构之一。尽管 PointNet++ 的准确性已被 PointMLP 和 Point Transformer 等最近的网络在很大程度上超越,但我们发现很大一部分性能提升是由于改进了训练策略,即数据增强和优化技术,以及增加了模型大小而不是架构创新。因此,PointNet++ 的全部潜力还有待探索。
在这项工作中,我们通过对模型训练和缩放策略的系统研究重新审视了经典的 PointNet++,并提供了两个主要贡献。
首先,我们提出了一组改进的训练策略,显著提高了 PointNet++ 的性能。例如,我们表明,在不改变架构的情况下,PointNet++ 在 ScanObjectNN 对象分类上的整体准确率(OA)可以从 77.9% 提高到 86.1%,甚至优于最先进的 PointMLP。
其次,我们将倒置残差瓶颈设计和可分离 MLP 引入 PointNet++,以实现高效且有效的模型缩放,并提出 PointNeXt,即下一版本的 PointNets。
PointNeXt 可以灵活扩展,在 3D 分类和分割任务上都优于最先进的方法。

论文题目:PointNeXt: Revisiting PointNet++ with Improved Training and Scaling Strategies
详细解读:
https://www.aminer.cn/research_report/62afdfb27cb68b460fd6c4fa?download=false
icon-default.png?t=M5H6https://www.aminer.cn/research_report/62afdfb27cb68b460fd6c4fa?download=false

AMiner链接:https://www.aminer.cn/?f=cs

https://zhuanlan.zhihu.com/p/526818590

本文通过对模型训练和缩放策略的系统研究重新审视了经典的PointNet++,并提供了两个主要贡献,进而提出PointNeXt,表现SOTA!性能优于PointMLP、Point Transformer等网络,代码已开源(5天 90+ star)!
在这里插入图片描述
在这里插入图片描述

PointNeXt: Revisiting PointNet++ with Improved Training and Scaling Strategies
单位:KAUST, 微软
代码:https://github.com/guochengqian/pointnext
论文:https://www.aminer.cn/pub/62a2b6955aee126c0f4d8e79
PointNet++ 是用于点云理解的最有影响力的神经架构之一。尽管 PointNet++ 的准确性已被 PointMLP 和 Point Transformer 等最近的网络在很大程度上超越,但我们发现很大一部分性能提升是由于改进了训练策略,即数据增强和优化技术,以及增加了模型大小而不是架构创新。因此,PointNet++ 的全部潜力还有待探索。
在这项工作中,我们通过对模型训练和缩放策略的系统研究重新审视了经典的 PointNet++,并提供了两个主要贡献。
首先,我们提出了一组改进的训练策略,显著提高了 PointNet++ 的性能。例如,我们表明,在不改变架构的情况下,PointNet++ 在 ScanObjectNN 对象分类上的整体准确率(OA)可以从 77.9% 提高到 86.1%,甚至优于最先进的 PointMLP。
其次,我们将倒置残差瓶颈设计和可分离 MLP 引入 PointNet++,以实现高效且有效的模型缩放,并提出 PointNeXt,即下一版本的 PointNets。
PointNeXt 可以灵活扩展,在 3D 分类和分割任务上都优于最先进的方法。

在这里插入图片描述
在这一节,我们展示了通过更先进的训练策略以及模型缩放策略提升PointNet++ 的性能。我们从两个小节分别介绍他们:
(1)训练策略现代化;
(2)网络架构现代化。
训练策略现代化
本章节中,我们简述我们的研究方法, 具体的训练策略可见后续的消融实验章节。
数据增强
数据增强是提升神经网络性能的最重要的方法之一,而PointNet++ 使用了简单的数据增强组合如随机旋转,缩放,平移,抖动(jitter)并应用于不同的数据集。最新的一些方法使用了更强的数据增强方法。例如, KPConv在训练时随机的失活(drop)部分颜色信息。在这篇工作中,我们收集了近期方法中用到的常见数据增强方法,并通过叠加实验定量地研究每个数据集上每种数据增强方法的效果。针对每一个数据集,我们提出了一组改进的数据增强方法,其可以大幅度提升了PointNet++ 的性能。
优化策略
优化技术主要包含损失函数(loss function),优化器(optimizer),学习率计划器(learning rate schedulers),和超参数(hyperparmeters)。随着机器学习理论的发展,现代化的神经网络可以被理论上更好的**优化器(如AdamW)和更好的损失函数(CrossEntropy with label smoothing)**训练。Cosine learning rate decay也在近年被大量使用,因为相比 step decay,它的调参更为简单而且效果不会差。在这篇工作中,我们通过叠加实验量化了每种优化策略对PointNet++的影响。同样的,针对每一个数据集,我们提出了一组改进的优化技术可以进一步提高网络性能。
模型架构现代化:小修改 → 大改进
感受野缩放
在点云网络中,使用不同的ball query radius (查询半径)会影响模型的感受野,进而影响性能。我们发现初始半径对于网络性能有很大程度上的影响,并且不同数据集上最佳查询半径不同。此外,我们发现相对坐标 使得网络优化更难,导致性能下降。因此,我们提出利用相对坐标处以查询半径以实现的归一化:
如果没有归一化,相对坐标的值会非常小(小于半径)。这就要求网络能学习到更大的权重应用于 。这使得优化变得困难,特别是考虑到权重衰减的正则化手段限制了网络权重的大小。
模型缩放
PointNet++ 用于分类和分割的模型规模均小于2M。而现在的网络参数普遍在10M以上[3,4]。有趣的是,我们发现无论是使用更多的SA模块还是使用更大的channel size都不会显著提高准确性,却反而导致thoughput显著下降。这主要是梯度消失和过度拟合导致的。在本小节中,我们提出了Inverted Residual MLP (InvResMLP)模块以实现高效实用的模型缩放。该模块建立在SA模块上,如图一的中部所示。InvResMLP和SA模块的不同点有三个:

  • 在模块的输入和输出之间添加了残差连接, 以缓解梯度消失问题
  • 引入了可分离的MLP 以减少计算量,并增强逐点的特征提取
  • 引入invertedbottleneck的设计,以提高特征提取的能力

在PointNet++基础上结合InvResMLP 和图一所示的宏观架构变化,我们提出了PointNeXt。我们将 stem MLP 的channel大小表示为 C,将 InvResMLP 模块的数量表示为 B。我们 PointNeXt 系列的配置总结如下:

  • PointNeXt-S: C = 32, B = 0
  • PointNeXt-B: C = 32, B = (1, 2, 1, 1)
    PointNeXt-L: C = 32, B = (2, 4, 2, 2)
    PointNeXt-XL: C = 64, B = (3, 6, 3, 3)

实验
在S3DIS语义分割上,PointNeXt-XL以mIoU/OA/mACC=74.9%/90.3%/83.0%超越了Point Transformer取得SOTA性能且在推理速度上更快。在ScanObjectNN分类上,PointNeXt-S超越目前的SOTA方法PointMLP,且推理速度快十倍。在ShapeNetPart部分分割上,加宽后的模型PointNeXt-S(C=160)达到87.2 Instance mIoU, 超越SOTA CurNet。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
消融实验
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值