点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
来源:3D视觉工坊
添加小助理:dddvision,备注:3D点云,拉你入群。文末附行业细分群
论文题目:Swin3D++: Effective Multi-Source Pretraining for 3D Indoor Scene Understanding
作者:Yu-Qi Yang,Yu-Xiao Guo等
作者机构:Tsinghua University等
论文链接:https://arxiv.org/pdf/2402.14215.pdf
代码链接:https://github.com/microsoft/Swin3D
数据的多样性和丰富性对于提高自然语言处理和二维视觉模型的性能和泛化能力至关重要。在3D视觉领域,由于缺乏3D数据,仅仅将多个3D数据集组合起来对3D主干进行预训练并不能取得显著的改进。本文提出了Swin3D++,这是一种基于Swin3D的增强架构,用于有效地对多源3D点云进行预训练。Swin3D++引入了特定于领域的机制到Swin3D的模块中,以解决领域差异并增强网络在多源预训练中的能力。此外,作者设计了一种简单的源增强策略,以增加预训练数据规模并促进监督式预训练。实验证明,Swin3D++在典型的室内场景理解任务上超越了最先进的3D预训练方法。
读者理解:
本文介绍了一种名为Swin3D++的方法,旨在解决多源3D数据集预训练中的挑战。该方法通过引入多个领域特定的组件,如域特定的初始特征嵌入、域特定的层归一化、域特定的体素提示等,从而提高了预训练模型在不同领域中的性能和泛化能力。作者通过实验证明,Swin3D++在3D语义分割、3D检测和实例分割等任务上取得了显著的改进,表明了其在多源预训练中的有效性。
从我个人的看法来看,本文提出的Swin3D++方法对于解决多源3D数据集预训练中的领域差异性问题具有很大的意义。该方法结合了领域特定的组件和多数据集的优势,为改善3D预训练模型的性能提供了一个有效的途径。此外,作者在实验中展示了Swin3D++在多个任务上的优越性能,进一步验证了其在实际应用中的潜力。总体而言,我认为这是一篇具有启发意义和实用价值的研究工作。

1 引言
点云是3D数据的常见表示形式,从中提取点级特征对于许多3D理解任务至关重要。深度学习方法在这一领域取得了令人瞩目的成果和进展,但通常需要大量和多样化的数据集来改善特征学习。这是自然语言处理和二维视觉中的一种常见策略,在3D视觉中也已被证明可以有效增强模型性能和泛化能力。然而,与图像和文本数据相比,3D数据更加稀缺且注释较少,这给3D预训练的开发和影响带来了重大挑战和限制。缓解数据稀缺问题的一种直接解决方案是合并多个现有的3D数据集,并使用合并后的数据对通用3D主干进行预训练。然而,这种解决方案忽略了不同3D点云之间的领域差异,例如点密度、点信号和噪声特性。这些差异可能会对预训练质量产生不利影响,甚至降低性能,正如PPT的工作所观察到的那样。为了解决这个问题,我们对3D室内场景数据集之间的领域差异进行了全面分析,并确定了可能影响多源预训练的关键因素:不同数据集之间的数据稀疏性和信号变化。基于我们对领域差异的分析,我们提出了Swin3D++,这是一种扩展Swin3D框架的新型架构,用于多源预训练,旨在解决领域差异问题。
我们的主要贡献是:
(1) 我们为Swin3D设计了特定于领域的机制,例如处理不同领域之间稀疏且不均匀的体素分布的领域特定体素提示,增强了多源环境下的稀疏体素特征注意力;领域调制的上下文相对信号嵌入方案,捕捉领域特定的信号变化,并使用基于张量分解的表示改进了上下文相对信号嵌入;领域特定的初始特征嵌入和领域特定的层归一化,以分开的方式捕捉数据源先验;
(2) 我们使用了一种源增强策略,利用数据集中不同类型的信号灵活增加训练数据量,并提升网络预训练。我们对两个具有不同数据特征的室内场景数据集Structured3D和ScanNet进行了Swin3D++的监督式多源预训练。
我们在各种下游任务上测试了Swin3D++的性能和泛化能力,如3D语义分割、3D检测和实例分割。结果表明,Swin3D++优于最先进方法,并实现了:ScanNet分割(Val)上的78.2 mIoU,ScanNet 3D检测上的64.1 mAP @0.5,6倍S3DIS分割上的80.2 mIoU,S3DIS 3D目标检测上的60.7 mAP @0.5。我们还进行了全面的消融研究,验证了我们架构设计的有效性。此外,我们证明了微调Swin3D++的领域特定参数是一种强大且高效的数据节约学习策略,明显优于现有方法。

2 领域差异分析
在领域差异分析中,我们考察了不同因素对3D室内场景数据集的影响,并通过使用H-分歧工具来量化领域差异,并选择了窗口稀疏度和信号变化作为进一步分析的重点因素。这些分析为我们的多源预训练网络设计提供了指导。
2.1 领域差异评估
H-分歧是衡量两个数据集之间差异的方法,它基于分类器能否准确区分两个数据集的样本。本节使用 H-分歧工具量化了不同数据集之间的领域差异,并选择了窗口稀疏度和信号变化作为进一步分析的重点因素。通过实验发现,Structured3D 和 ScanNet 之间存在显著的领域差异,真实世界数据集之间的差异也是显著的。
2.2 窗口稀疏性
窗口稀疏性是指3D深度学习模型处理由稀疏体素形成的局部区域时,每个区域中占用的体素数量。通过分析不同3D室内场景数据集的窗口稀疏性,可以了解到这些数据集的数据特征。力。
2.3 信号变化
信号变化指的是3D神经网络输入中点信号的相对变化,如位置、颜色和法线。通过分析不同数据集中这些相对变化的变化情况,可以了解到数据集在几何和颜色方面的差异性。在研究中,通过计算窗口内点位置、颜色和法线的方差,并使用归一化累积直方图来评估信号方差的分布。实验结果表明,Structured3D在几何和颜色方面具有更多样化的变化,而ScanNet的法线数据较嘈杂。

3 方法
3.1 回顾Swin3D
本节介绍了Swin3D网络架构的概述和对其进行的修改,以实现有效的多源预训练。Swin3D采用了Swin Transformer模型,使用分层网络结构将输入点云转换为多尺度稀疏体素网格。其自注意力机制应用了上下文相对信号编码,将相对信号变化映射到高维特征并整合到自注意力计算中。在多源预训练方面,简单地合并数据并预训练Swin3D并不能保证在下游任务中获得更好的性能,需要考虑到数据集之间的域差异。对Swin3D在不同数据集上的预训练结果表明,单独在Structured3D上预训练的性能优于在ScanNet和Structured3D上同时预训练的性能。
3.2 Swin3D++
本节介绍了Swin3D++的设计,它是对Swin3D模型的增强,旨在解决多源预训练中的一些问题,并提高性能和泛化能力。
引言:介绍了Swin3D++的设计目的,即为了解决多源预训练中存在的问题,提出了几个领域特定的组件来增强Swin3D模型。
组件介绍:介绍了Swin3D++的几个领域特定组件:
领域特定的初始特征嵌入:为每个数据源使用单独的特征嵌入模块,以捕捉数据源的先验和属性。
领域特定的层归一化:引入领域特定的层归一化,允许每个数据源具有自己的仿射变换,以考虑到领域差异。
领域特定的体素提示:在每个Swin3D块中引入一组虚拟体素,用于减少窗口的极端稀疏问题,并提供数据源的先验。
领域调制的cRSE:为了编码在不同数据集之间变化的原始信号差异,引入了领域调制的cRSE,将基本cRSE与领域特定的调制相结合。
源增强策略:引入了源增强策略,通过扩展预训练数据集中的信号类型组合来增加数据集的数量和多样性,从而提高性能。
具体实现:详细描述了每个组件的具体实现方式,包括公式和算法。例如,领域特定的层归一化使用了领域特定的元素仿射变换,领域特定的体素提示引入了虚拟体素来减少窗口的稀疏问题等。
实验验证:通过在Structured3D数据集上的实验验证了领域特定的体素提示的有效性,并展示了在不同数据集上的性能提升。

4 实验
实验分析部分主要包括三个方面的内容:多源预训练配置、拟议模块的有效性剖析和在典型下游任务上的性能评估。
多源预训练配置:
网络配置:Swin3D提出了两个预训练模型版本:Swin3D-S和Swin3D-L,两者具有相同的窗口大小和块层数。Swin3D++基于Swin3D-S结构设计,旨在在多个数据集上平衡性能和预训练成本。
预训练设置:使用Structured3D和ScanNet作为预训练数据集,选择3D语义分割作为预训练任务。采用语言引导的分类对齐处理不兼容的语义标签问题。
训练细节:遵循Structured3D和ScanNet的原始数据分割。使用AdamW优化器和余弦学习率调度器,在8个NVIDIA V100 GPUs(32GB)上训练100个epochs,耗时6天。
网络效率:推理阶段的网络对GPU内存和时间都很高效,平均只需6GB GPU内存,每个场景推理时间为900ms。
拟议模块的有效性剖析:
进行消融研究,检验Swin3D++的不同预训练设置:
基准线:仅在Structured3D数据上使用Swin3D-S网络结构进行预训练。
基准线 + 多源:在Structured3D和ScanNet上使用Swin3D-S进行预训练,并使用语言引导的分类对齐。
在基准线的基础上,引入特定领域的初始特征嵌入。
在前一步的基础上,应用特定领域的层归一化。
在前一步的基础上,用领域调制的cRSE替换共享的cRSE。
在前一步的基础上,用领域调制的VM-cRSE替换领域调制的cRSE。
在前一步的基础上,添加特定领域的体素提示。
在前一步的基础上,启用源数据增强。
在下游任务上的性能评估:
3D语义分割:在ScanNet和S3DIS数据集上进行语义分割,使用Swin3D++在预训练阶段和相应ScanNet数据集的特定模块参数进行微调。
3D检测:使用CAGroup3D或FCAF3D作为检测器架构,在ScanNet和S3DIS数据集上评估检测性能。-3D实例分割:采用PointGroup架构进行实例分割,使用ScanNet和ScanNet200数据集进行测试。
数据效率学习:在ScanNet200分割任务上进行数据有效性学习,比较Swin3D++与其他预训练模型的性能。
总体而言,Swin3D++通过多源预训练和引入特定领域的模块,提高了在3D场景理解任务上的性能,在数据效率方面也取得了显著的改进。
5 总结
在这项工作中,我们解决了整合多个具有较大领域差异的3D数据集的挑战,并利用它们互补的优势来提高3D预训练性能。Swin3D++的显著成果证明了多数据集预训练的好处,并提出了更有效利用不同3D数据的方法。对于未来的工作,我们打算将我们的方法扩展到多源户外数据集,这些数据集展示了更大的领域多样性、复杂性和数据规模。




下载
在公众号「3D视觉工坊」后台,回复「 3dcv」,即可获取工业3D视觉、SLAM、自动驾驶、三维重建、事件相机、无人机等近千余篇最新顶会论文;巴塞罗那自治大学和慕尼黑工业大学3D视觉和视觉导航精品课件;相机标定、结构光、三维重建、SLAM,深度估计、模型部署、3D目标检测等学习资料。
3D视觉方向交流群成立啦
目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶、三维重建、无人机方向,细分群包括:
[工业3D视觉]相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
[SLAM]视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
[自动驾驶]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
[三维重建]NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
[无人机]四旋翼建模、无人机飞控等
除了这些,还有求职、硬件选型、视觉产品落地、最新论文、3D视觉最新产品、3D视觉行业新闻等交流群
大家可以添加小助理:dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

— 完 —
点这里👇关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
3D视觉科技前沿进展日日相见 ~