PPT:用多数据集 Point Prompt Training 扩展大规模 3D 表征学习)
论文题目Towards Large-scale 3D Representation Learning with Multi-dataset Point Prompt Training中文翻译面向大规模 3D 表征学习的多数据集点提示训练会议CVPR 2024摘要深度学习模型的快速发展通常得益于其利用海量训练数据的能力。相比之下3D 深度学习尚未充分获得这一优势主要原因是大规模 3D 数据集仍然有限。将多个已有数据源合并并协同训练一个模型是一种潜在解决方案。然而由于不同 3D 点云数据集之间存在较大的域差异这种混合监督反而可能损害模型性能相比单数据集训练出现性能退化即负迁移。针对这一问题本文提出 Point Prompt TrainingPPT一个面向 3D 表征学习的多数据集协同学习框架并且支持多种预训练范式。在该框架下作者提出 Prompt-driven Normalization用数据集特定的域提示适配不同数据集同时提出 Language-guided Categorical Alignment利用类别文本之间的关系统一多个数据集的标签空间。大量实验表明PPT 能够缓解多数据集协同学习中的负迁移并学习更具泛化性的表征。在监督式多数据集训练下一个共享权重模型即可在各数据集上取得领先表现作为预训练框架时PPT 也在表征质量上优于其他预训练方法并在覆盖室内与室外场景的十余个下游任务中取得显著结果。源码GitHub - Pointcept/Pointcept: Pointcept: Perceive the world with sparse points, a codebase for point cloud perception research. Latest works: Utonia (ICML26), Concerto (NeurIPS25), Sonata (CVPR25 Highlight), PTv3 (CVPR24 Oral) · GitHub一、研究背景与核心问题3D 视觉当前一个很现实的瓶颈是数据规模远小于 2D 图像和自然语言。以 ScanNet 为例论文指出它只有约 1.6K 个扫描场景因此想继续依赖“单个数据集越做越大”并不容易。一个自然思路是把 ScanNet、S3DIS、Structured3D 等已有数据集合并起来让一个模型同时吃到更多数据。但作者首先证明了一件并不直观的事情数据变多不一定让 3D 模型变强。不同点云数据集在来源、密度、场景复杂度、类别定义等方面差异很大直接把它们混在一起训练会产生 negative transfer。也就是说来自其他数据集的额外监督不仅可能没帮助甚至会伤害目标数据集。论文 Table 1不同数据集直接联合训练时的负迁移现象Table 1 是整篇论文的问题起点。SparseUNet 单独在 ScanNet 上训练时 mIoU 为 72.2而直接把 ScanNet、S3DIS、Structured3D 全部联合训练后下降到 68.9S3DIS 从 65.4 降到 63.3Structured3D 也从 74.5 降到 72.9。说明问题并不是“有没有更多数据”而是如何让分布不同的数据真正协同而不是互相干扰。因此 PPT 主要处理两个矛盾第一不同数据集的特征分布不同需要让同一个 backbone 知道“当前输入来自哪个域”第二不同数据集的类别空间并不一致需要让监督信号在语义层面能够对齐。二、PPT 的整体框架共享 Backbone但让域和类别都可适配论文 Figure 1Multi-dataset Point Prompt Training 整体框架与结果对比Figure 1 可以先抓住一条主线Dataset → Domain Prompt → Prompt Adapter → Shared Point Cloud Backbone → Categorical Alignment → Training ObjectivePPT 并没有为每个数据集维护一套独立模型而是让多个数据集共享同一个 backbone。不同之处在于每个数据集拥有自己的domain-specific promptprompt 通过 adapter 调整网络内部特征在输出端再通过 categorical alignment 处理不同数据集标签空间不一致的问题。如果把第 (i) 个数据集记为 (Di)其域提示记为 (ci)那么联合训练目标可写成这里 () 是所有数据集共享的 backbone 参数() 是各数据集对应的 domain prompts。和普通联合训练相比关键变化就是模型不再只看 (x)而是同时知道“这是哪个数据域”。论文强调 PPT 不只适用于一种训练方式。它既可以做监督式联合训练也可以做监督预训练后再 fine-tune还能够与无监督预训练方法结合。也正因为如此作者把它定位成一个面向多数据集 3D 表征学习的通用框架而不是某个特定 backbone 的专用模块。三、核心模块一Prompt-driven Normalization 如何缓解域差异论文 Figure 2(a)Prompt-driven NormalizationPDNorm普通 prompt tuning 常见做法是把 prompt 直接加到输入或中间特征中。但 PPT 的场景不同这里不是拿一个已经训练好的大模型去适配单个下游任务而是从训练阶段开始让多个域共同学习一个共享模型。作者比较了 Direct Injection、Cross Attention 和 Prompt-driven Normalization 三种 adapter最终选择 PDNorm。它的核心思想很像“保留共享内容、调节域风格”不同数据集共用 backbone 的主要表示能力但 normalization 的缩放与偏移参数由对应域的 prompt 控制。给定特征 (x) 和域提示 (c)PDNorm 为其中 () 和 () 是由域 prompt 经过线性映射得到的 scale 与 shift不同数据集的统计量独立计算。实际实现时作者直接用 PDNorm 替换 backbone 原有的 normalization 层因此不需要为每个数据集复制整套网络。这里还有两个训练细节很重要。第一作者对 prompt 相关的 () 和 () 做 zero-initialization避免随机初始化的 prompt 在训练初期扰乱共享 backbone第二prompt 参数使用更小的基础学习率先让 backbone 学到跨域通用知识再逐渐形成域特定表示。直观来看PDNorm 做的不是“把不同数据集强行变成一样”而是把应该共享的表示能力放进 backbone把必须区分的域差异交给轻量 prompt 处理。四、核心模块二Language-guided Categorical Alignment 如何统一标签空间论文 Figure 2(b)Language-guided Categorical Alignment只有域适配还不够。即使不同数据集的点云特征能够共用一个更棘手的问题仍然存在标签空间不一致。例如不同数据集可能同时包含“wall”这类共享类别也可能拥有各自特有类别如果简单为每个数据集配置独立分类头就很难利用跨数据集类别之间的语义关联。作者依次考虑三种方案。Decoupled 为每个数据集使用独立 projection head简单但参数冗余也忽略共享类别Unionized 把所有类别并到一个统一标签空间中已经能让共享类别获得一致表示最终采用的 Language-guided 方法进一步引入预训练文本编码器用类别名称生成语言嵌入再把点特征投影到这个统一的 category-language embedding space。训练时使用 InfoNCE 作为对齐准则而且负样本限制在当前数据集自己的类别空间内。这样做的意义是模型不只是记住“类别编号”而是利用类别名称之间的语义关系帮助多个数据集对齐。类别含义接近其表示也应当更接近从而减少不同数据集监督之间的冲突。因此PPT 的两部分正好对应两个层次的问题PDNorm 处理 domain gapLanguage-guided Categorical Alignment 处理 label-space gap。五、实验结果与消融分析5.1 先看核心消融每个设计是否真的必要论文 Table 2PPT 模块与关键设计消融Table 2 包含八组消融是理解这篇论文最重要的证据之一。首先看 prompt adapter不使用 adapter 时ScanNet 联合训练 mIoU 只有 68.9Direct Injection 提升到 70.9Cross Attention 为 73.5而 PDNorm 达到 75.7fine-tune 后为 76.4。说明“有 prompt”还不够如何让 prompt 进入 backbone是关键。训练策略也有明确作用。加入 zero-initialization 后 fine-tune 结果由 75.6 提升到 76.4prompt 学习率缩放系数取 0.1 时表现最好。Prompt location 的实验则说明只在初始层加入 adapter 远远不够把 prompt adapter 贯穿整个 backbone 才能达到 75.7这也与作者的解释一致——越深层的特征越偏高层语义越容易受到域差异影响。在标签对齐部分Decoupled、Unionized、Language-guided 的联合训练结果依次为 74.4、75.3、75.7使用 InfoNCE 后 fine-tune 达到 76.4。值得注意的是简单 L2 对齐在联合训练时只有 12.8作者将其归因于缺少负样本导致的 mode collapse。换句话说语言监督并不是“挂一个 CLIP 文本编码器”就结束对齐目标本身也必须能保持类别判别性。Table 2(g)(h) 还说明 PPT 对采样比例相对稳健并且即使数据在真实/合成、稀疏/稠密、场景复杂度和规模上差异明显不同来源仍能在 PPT 框架下互相受益。5.2 室内、室外语义分割共享模型能否真正吃到多数据集收益论文 Table 3室内语义分割结果Table 3 覆盖 ScanNet、ScanNet200 和 S3DIS。以 SparseUNet 为例PPT 监督联合训练在 ScanNet Val 上由 72.2 提升到 75.7在 S3DIS Area5 mIoU 上由 65.4 提升到 72.2监督预训练后再 fine-tuneScanNet 达到 76.4ScanNet200 Test 达到 33.2。换成更强的 PTv3 后PPT 仍能继续带来提升例如 ScanNet Val 从 77.5 提升到 78.6。这说明 PPT 的收益并不是来自“换了一个更强 backbone”因为在 SparseUNet 和 PTv3 上都能观察到增益同时监督联合训练已经能够让一个共享权重模型直接服务多个数据集。论文 Table 4室外语义分割结果在 SemanticKITTI、nuScenes 和 Waymo 上PPT 同样成立。SparseUNet PPT 联合训练在 SemanticKITTI Val 上从 63.8 提升到 70.9在 nuScenes Val 上从 73.3 提升到 78.5fine-tune 后 SemanticKITTI 达到 71.4。基于 PTv3 时PPT 也在三个数据集上继续取得稳定增益。因此论文并不是只在“室内三数据集”这个特定组合上成立而是把多数据集协同训练扩展到了室外 LiDAR 场景。5.3 表征是否能迁移实例分割与数据高效学习论文 Table 5室内实例分割迁移结果作者进一步把监督预训练得到的表示迁移到 PointGroup 实例分割。SparseUNet PPT 在 ScanNet 上的 mAP50 为 62.0而 MSC 为 59.6在 ScanNet200 上则为 29.4 对 26.8。也就是说PPT 学到的并不只是“适合语义分割头”的表示而能够迁移到实例级任务。论文 Table 6ScanNet Data Efficient Benchmark数据高效实验更能体现预训练价值。当只使用 1% 场景重建数据时从头训练 mIoU 为 26.0PPT 达到 31.3当每个场景只标注 20 个点时从头训练为 41.9PPT 达到 60.6。随着数据变完整差距会缩小但 PPT 在不同数据受限设置下始终保持优势。这组结果说明多数据集预训练的价值不只体现在最终 full-data 指标更体现在下游数据不足时预训练表示能明显降低对目标数据标注量的依赖。六、总结与思考如果把这篇论文压缩成一句话PPT 让多个差异很大的 3D 点云数据集可以共享一个 backbone同时用 domain prompt 吸收域差异、用语言语义对齐类别空间从而把“简单混数据会负迁移”转化为真正的多数据集协同学习。论文最值得记住的不是某一个单独指标而是它把 3D representation learning 的问题从“每个数据集单独训练”推进到了“如何利用多个异构数据源共同训练”。Table 1 先证明直接混合数据会退化Figure 1–2 给出域适配与类别对齐方案Table 2 解释这些设计为什么有效Table 3–6 再从室内、室外、跨任务和低数据场景验证表示的泛化能力证据链是完整的。作者也明确指出当前工作的边界现有模块仍可能是次优设计实验虽然同时利用真实与合成数据但还没有真正做到室内与室外域的统一训练当前预训练仍主要围绕单一任务未来可以继续探索统一框架下的 multi-task 3D scene understanding。从方法设定上看PPT 更像是在回答一个基础问题当 3D 数据无法像互联网图像那样天然汇聚成单一大数据集时能否通过“共享表示 条件化域适配 语义标签对齐”实现另一种 scaling这也是这篇论文相较于单纯刷新 benchmark 指标更值得关注的地方。