PointGST:点云分析精度卷到99%了,还只用了2M训练参数

未分类1个月前发布 tree
16 0 0
↑ 点击蓝字 关注极市平台
PointGST:点云分析精度卷到99%了,还只用了2M训练参数
作者丨极市粉丝
编辑丨极市平台

极市导读

 

本文提出了一种全新的点云参数高效微调算法—PointGST,在极大地降低微调训练开销的同时,还展现出了优异的性能。仅凭 2M 可训练参数(仅为此前 SOTA 方法的 0.6%),PointGST 在多个点云分析数据集上均取得了 SOTA 结果,并首次在 ScanObjectNN OBJ_BG 数据集上实现了超过 99% 的准确率,几乎宣告了该数据集的性能达到了饱和。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

近年来,点云分析技术在自动驾驶、虚拟现实、三维重建等领域得到了广泛应用。尽管点云预训练模型展现出了优越的性能,但随着模型参数量的急剧增加,对其进行微调的内存和存储开销也同步增加。为了缓解这一问题,本文提出了一种全新的点云参数高效微调算法——PointGST,在极大地降低微调训练开销的同时,还展现出了优异的性能。仅凭 2M 可训练参数(仅为此前 SOTA 方法的 0.6%),PointGST 在多个点云分析数据集上均取得了 SOTA 结果,并首次在 ScanObjectNN OBJ_BG 数据集上实现了超过 99% 的准确率,几乎宣告了该数据集的性能达到了饱和。

PointGST:点云分析精度卷到99%了,还只用了2M训练参数
图1:近年来点云分析模型的训练参数大小和性能的发展趋势
PointGST:点云分析精度卷到99%了,还只用了2M训练参数

论文地址:https://arxiv.org/abs/2410.08114

代码地址:https://github.com/jerryfeng2003/PointGST

单位:华中科技大学,百度

摘要

提出了一种全新的三维预训练模型微调算法:PointGST,它主要包含以下创新点:

1、构建了一套参数高效谱域微调方法,通过冻结预训练模型的参数并引入轻量级可训练模块,显著降低了模型在微调过程中的显存占用,同时实现了高性能。

2、通过图傅里叶变换,有效地消除了预训练模型内部点云tokens之间的混淆,并进一步引入点云几何结构信息,使得模型在不同数据集上的泛化能力显著增强。此外,PointGST采用了一种新的多层次点云图构建方法,能够更好地捕捉点云数据的内在特征。在实验中,PointGST在多个点云分析任务上展现出优异的准确性和鲁棒性,超越了目前所有同类方法。

动机

三维点云分析是计算机视觉的基础任务之一,广泛应用于自动驾驶、机器人和三维重建等领域。近年来,探索通过新的预训练方法提升点云分析模型性能已成为热门研究课题,这些方法通常通过对全部参数进行微调,然后将模型部署于下游任务中。

然而,由于需要更新全部参数,并且不同下游任务需要独立训练和存储,全微调带来了较高的GPU显存和存储开销,且随着现有模型参数量的逐渐增加而变得愈发显著。为了解决这一问题,一些研究者开始探索将参数高效微调(Parameter-Efficient Fine-Tuning)应用于点云分析领域,并取得了一定的成果。

但这些方法直接在空间域微调时缺乏下游任务的先验知识,难以消除预训练模型内部 token 的混淆;且这些方法未明确引入点云的固有内在结构,仅靠冻结参数的预训练模型来捕获结构信息存在缺陷。

针对上述问题,文章提出了一种基于谱域的三维预训练模型微调方法PointGST(Point Graph Spectral Tuning),用于进一步减轻预训练模型微调中的显存和存储开销问题,同时有效提升参数高效微调算法的性能。

方法

PointGST通过冻结预训练模型的参数,并向其中并行地插入轻量级的可训练模块,点云谱适配器(PCSA),在谱域内进行微调。通过图傅里叶变换(GFT),PointGST将点云tokens从空间域转换为谱域,使得各个token之间的相关性得以有效去除,缓解了预训练模型内部tokens的混淆。

与此同时,PointGST通过基于点云数据关键点构建多层次的点云图,再分别生成图傅里叶变换的基向量,由此引入点云数据的几何结构信息,使得在对下游任务进行微调时,能够通过谱域微调更好地捕捉到点云数据的固有信息。这使得PointGST在显著减少可学习参数量的同时,在多个点云数据集上实现了优异性能。模型整体的pipeline如下图所示:

PointGST:点云分析精度卷到99%了,还只用了2M训练参数
图2:PointGST整体框架图

PointGST的核心在于将点云tokens从空间域转换到谱域进行处理。具体流程如下:

1、构建点云全局和局部图:通过Farthest Point Sampling (FPS)从原始点云中抽取n个关键点,作为全局图;利用空间填充曲线扫描,将点云中的关键点排序后划分出k组,作为k个点云局部图。通过文章提出的数据依赖放缩策略,由点云得到图的邻接矩阵W,并计算拉普拉斯矩阵L,对原始点云数据提取全局和局部点云的图结构,再加入模型由各个子层共用,在引入了全局和局部空间几何信息的同时,共用的基向量矩阵也显著减小了计算开销。

再对其进行特征值分解得到基向量U,传入各个Transformer子层中。具体过程如下图:

PointGST:点云分析精度卷到99%了,还只用了2M训练参数
图3:全局和局部的图傅里叶变换基向量构建过程

2、图傅里叶变换(GFT):利用全局和局部图的基向量,对输入适配器并降维后的tokens做GFT,得到点云谱域tokens。此过程能够有效解耦点云数据的复杂空间关系,使得各个token在谱域内得到独立表示。图傅里叶变换即基向量矩阵乘输入图信号。其中,为了和局部图的点云分组对应,在对其进行图傅里叶变换前先由上一阶段关键点排序的索引对点云空间域tokens排序后分组,再对各组进行变换。

3、谱域微调:使用轻量级的点云谱适配器(PCSA)对谱域内的tokens进行微调。该适配器包括简单的线性层和残差连接,通过共享的线性层进行全局和局部谱域tokens的调整。

4、图傅里叶逆变换(iGFT):经过微调的谱域tokens通过逆傅里叶变换返回空间域,即乘以基向量矩阵的转置。随后将局部图点云tokens重排序后,各组tokens相加,升维并输出。为了使训练初始时不改变原有子层的输出,并维持图傅里叶正逆变换前后的一致性,对共享线性层和升维矩阵做零初始化,并加入残差连接结构。

通过这一完整的处理流程,PointGST在显著减少可训练参数的同时,实现了较高的微调性能。

实验结果

PointGST在真实世界点云分类数据集ScanObjectNN以及模拟数据集ModelNet40中取得了优异的性能。实验结果显示,相较于之前的点云参数高效微调方法,PointGST在显著减少了微调参数量和显存开销的同时,对于五种不同的baseline,在几乎所有任务上超过全微调并得到点云参数高效微调的SOTA结果。

PointGST:点云分析精度卷到99%了,还只用了2M训练参数
表1:点云分类任务上参数高效微调方法对比

以PointGPT-L为baseline进行微调训练,超过以往的点云分析方法,实现了多个的SOTA结果,并首次在ScanObjectNN OBJ_BG数据集实现超过99%的准确率。

PointGST:点云分析精度卷到99%了,还只用了2M训练参数
表2:点云分类任务上性能对比

下图展现了在NVIDIA 3090显卡上,不同批次大小下PointGST相比全微调和现有方法能极大地减小内存开销。与以往方法相比,PointGST采用了更加精简的网络结构,从而能够在保持性能的同时,显著降低显存需求,使得模型在实际应用中更加高效和灵活。

PointGST:点云分析精度卷到99%了,还只用了2M训练参数
图4:微调训练中显存占用大小对比

与此同时,当只使用部分训练数据进行训练,PointGST在不同比例数据下得到了最优的结果,体现其在微调训练中能更好地收敛,并证明了其在鲁棒性上的优越性。

PointGST:点云分析精度卷到99%了,还只用了2M训练参数
图5:部分数据进行微调训练性能对比

总结

PointGST作为一种全新的点云参数高效微调方法,通过引入谱域微调,有效缓解了传统全微调在显存开销和存储占用上的问题。其在多个数据集上的性能表现证明了该方法的优越性,特别是对大型点云预训练模型进行微调的潜力。PointGST为高效、精确和廉价的三维信息处理提供新的解决方案和可能思路。

PointGST:点云分析精度卷到99%了,还只用了2M训练参数

公众号后台回复“数据集”获取100+深度学习各方向资源整理

极市干货

技术专栏:多模态大模型超详细解读专栏搞懂Tranformer系列大视觉模型 (LVM) 解读扩散模型系列极市直播
技术综述:小目标检测那点事大模型面试八股含答案万字长文!人体姿态估计(HPE)入门教程

PointGST:点云分析精度卷到99%了,还只用了2M训练参数

点击阅读原文进入CV社区

收获更多技术干货

© 版权声明

相关文章

暂无评论

暂无评论...