Cross-Generational Contrastive Continual  Learning for 3D Point Cloud Semantic  Segmentation

用于 3D 点云语义分割的跨代对比持续学习

摘要:近年来,点云语义分割技术取得了重大进展,推动了自动驾驶、机器人导航和城市建模的发展。但是,当前大多数方法都依赖于同时训练所有类别的数据。这种限制使模型难以适应动态环境,从而导致重复的重新训练和高计算成本。为了通过利用以前的知识实现对新类别的持续学习,并受到大脑通过比较和关联学习新知识的能力的启发,我们引入了一种跨代对比持续学习方法,用于 3D 点云语义分割。为了减少灾难性遗忘,我们对比了不同代编码器中旧类和新类的表示。此外,我们提出了一种精细的标签引导对比损失,它综合解释了点之间的语义依赖性,并利用了先前的知识。此外,我们提出了一种精细的标签估计策略,以提高所有类别的置信度,同时保留以前的知识。对两个公共 3D 点云语义分割基准的广泛实验证明了我们提出的方法的有效性。

关键词:3D点云;持续学习;语义分割

1引言

        3D 点云语义分割对于使机器能够理解复杂的现实世界环境并与之交互至关重要,应用于自动驾驶、机器人导航等领域。然而,实际部署要求模型不断学习和适应新数据,同时保留以前获得的知识。这在使点云分段模型能够适应不断变化的数据和环境方面带来了重大挑战。

        目前,虽然持续学习在二维图像领域中得到了广泛的研究,但其在三维点云语义分割中的应用仍然相对不足。在持续学习中,训练过程分为几个步骤,每个步骤处理一组看不见的类。最突出的问题是灾难性的遗忘,即学习新类会降低以前学习的类的性能,以及语义偏移,即旧类别的表示随着时间的推移而失去一致性。此外,由于 3D 点云数据的无序性质和场景的复杂性,这些挑战需要更强大的方法,以便在点云应用中进行连续语义分割。现有的 3D 持续学习方法主要侧重于通过蒸馏或重放机制来保存旧知识。他们中的大多数都集中在点云对象分类上,很少有人解决 3D 点云语义分割。此外,主要关注于保存旧知识,但未能完全捕捉当前场景中点之间的关系。

        为了应对这些挑战,我们从大脑的自然学习机制中汲取灵感。人脑具有非凡的学习和适应能力,通过将新信息与现有知识进行比较并无缝集成 [8]。例如,在学习新事物时,大脑会将新知识与先前已知的信息联系起来,并将这些知识整合到先前经验的框架中,以过去的经验为支架来建立联系和进行比较。这个过程可以加速学习并增强大脑持续学习的能力。受这种机制的启发,我们在持续学习中引入了一种有监督的对比学习策略,它不仅将新类集成到旧模型中,而且还使新旧类之间能够进行比较,确保语义表示的一致性并减轻灾难性的遗忘。

        在本文中,我们提出了一种用于 3D 点云语义分割的跨代对比持续学习 (CGC) 方法。CGC 框架通过利用对比学习原则,有效地最大限度地减少灾难性遗忘,并在不同代编码器之间保持一致的语义表示,这些原则将同一类别的点聚集在一起,并将不同类别的点分开。此外,我们提出了一种改进的标签引导对比损失来训练模型,这有助于从以前的任务中提取知识,并利用点之间的关系来帮助模型学习更稳健的表示。为了进一步提高性能,我们提出了一种精细的标签估计策略来生成旧类的高置信度伪标签。我们的贡献可以总结如下:

        我们引入了一个跨代对比持续学习框架,用于 3D 点云语义分割,以减少灾难性的遗忘。

        我们为我们的学习框架引入了一种精细的标签引导的对比损失,它充分考虑了点之间的语义依赖关系,并使用先前的知识来解决语义转变。

        我们提出了一种精细的标签估计策略来解决语义偏移问题,增强了当前步骤中所有类别标签(旧类和新类)的置信度。

        我们通过对两个公开可用的基准 S3DIS和 ScanNetv2进行广泛的实验和分析来展示我们的方法。

2相关工作

持续学习

其特点是从动态数据分布中学习,目的是在接收新数据的同时逐步更新模型,而不会忘记以前学习的知识。在实践中,持续学习通常会面临多步骤学习中的遗忘问题。许多研究都集中在灾难性遗忘问题上,可分为以下类型:

1) 基于正则化的方法通过添加包含权重正则化 和函数正则化  的显式正则化项来平衡新旧模型。

2) 基于重放的方法 通过存储和重放旧数据来帮助模型保留以前的知识。

3) 基于优化的方法明确设计和操作优化程序以保留旧知识。

4) 基于表征的方法利用表征的优势进行持续学习,例如自我监督学习 。

对比学习

对比学习旨在通过最大化相似样本特征之间的相似性并最小化不同样本之间的相似性来学习有用的表示。这种方法在二维图像和三维点云分析等各个领域都表现出色。此外,研究表明,监督学习也可以利用对比表示学习,通过使用标签扩展正样本的定义 。在这项工作中,我们在持续学习框架内应用了监督对比表示学习。

持续语义分割

持续语义分割旨在对二维图像进行像素级类别预测或对三维点云进行点级预测,其中新旧类别可能同时出现。然而,只有新类别被标记,而旧类别则被视为背景。现有的持续语义分割研究大多针对二维图像。例如,MiB [5] 提出了一种常规的交叉熵损失和知识提炼来保留旧知识。PLOP [10] 和 RECALL [22] 使用旧模型生成的伪标签来减少旧类别的遗忘。然而,对点云的持续语义分割的研究仍然相当有限。[30] 使用伪标签和点的几何提炼来解决灾难性遗忘问题。然而,点与类别之间的关系还没有得到充分考虑。在这项工作中,我们在持续学习框架中引入了一种监督对比学习方案,这将有助于编码器提取更鲁棒的表示。此外,提出了一种精细的标签引导对比损失来协助该持续学习框架的学习。

图 1. 当前学习步骤中 CGC 的整体框架。灰色块表示在旧任务上训练的网络,这些块被冻结,而蓝色模块对应于在当前学习步骤中训练的网络。

3方法

3.1概述

        令 D 为包含一组 (P , Y ) 的点云数据集。令 P ∈ RN×(3+F) 表示具有 xyz 坐标和 F 维特征的输入 3D 点云,其中 N 是点数,Y ∈ RN 表示相应的点级标签。在持续学习的训练范式中,旧类别 Cold 和新类别 Cnew 是两个不相交的类别集,并且模型在每个学习步骤中仅使用当前类别信息进行训练。重要的是,网络只能访问当前类别集的标签,将先前的类别和未见过的类别都视为背景。在每次训练步骤之后,都会在先前的类别和当前的类别上对模型进行评估,期望在新类别上取得进展,同时在旧类别上保持稳定的性能。

        图 1 展示了我们的框架 CGC 的整体架构,它由两个并行的流组成。这两个流分别代表当前和之前学习步骤的骨干。值得注意的是,旧特征提取器 Eold 和旧分类器 Cold 在当前学习步骤中被冻结。在当前学习步骤中,一批点云 {Pi}(i = 1, 2, ..., B) 分别通过旧特征提取器 Eold 和新特征提取器 Enew 以生成它们的表示 {hold i } 和 {hnew i }。一方面,这些表示被输入到旧分类器 Cold 以产生旧类的概率分布和新分类器 Cnew 以预测新类。另一方面,表示 {hq i } 和 {hk i } 也分别用线性投影仪 Hold 和相应的动量投影仪 Hnew 投影到度量空间。投影和规范化的表示 {zold i } 和 {znew i } 用于接下来的对比学习。

3.2 跨代对比持续学习

        一般和可转移的知识可以有效地帮助减轻持续学习的遗忘。有论文表明,通过监督对比学习获得的知识表现出增强的鲁棒性和可转移性。我们引入跨代对比持续学习(CGC),将监督对比学习机制整合到持续学习中。

        有监督对比学习(SCL)。SCL 旨在将不同类别样本的表示推得更远,同时将同一类别样本的表示紧密聚类。SCL 损失采用以下形式:

其中,i 是批次中样本的索引。Mi = {m} 表示锚点 i 的对比样本集。Ai = {a|yi = ya} 表示锚点 i 的正样本集。符号·表示点积,τ ∈ R+ 是温度超参数。

        CGC。为了最大限度地发挥 SCL 在持续学习中的优势,CGC 进一步引入了精炼标签估计策略 (RLE) 和精炼标签引导对比损失 (RLCL) 来辅助 CGC 的学习,有效地将 SCL 融入到持续语义分割中。在此基础上,CGC 不仅通过 RLCL 学习到更鲁棒和可迁移的表示,而且还通过 RLE 更有效地保留旧知识。

3.3 精细标签估计

        为了保留先前的知识,我们充分利用旧模型中隐含的信息,利用其生成的点级特征和伪标签。值得注意的是,旧模型只能预测先前的类别。旧类的伪标签 Yˆ old i 和标签置信度 Sˆold i 是通过以下方式获得的:

其中 argmax 函数将分类向量转换为分类索引,n 表示点云样本中点的索引。但是,我们可以访问当前类别的真实标签,然后将新类别和伪标签的 groundtruth 与标签置信度混合,以获得精炼标签

其中 γ 是置信度阈值。然后我们使用这些标签对新模型进行监督分割,分割损失为

3.4 精炼标签引导对比损失

        在努力保留先前知识的同时,我们还充分利用点之间的关系来增强模型对当前类的表示能力。为了防止模型过拟合过去的任务,我们仅使用当前类的点作为锚点来训练网络。此外,我们使用新模型生成的表示 znew i,n 作为锚点特征。旧模型和新模型生成的点级特征均为锚点提供了正样本和负样本。这种方法不仅增强了模型对当前类的表示能力,还有助于保留先前知识。SCL 中使用的损失函数 LSCL 主要用于分类任务。对于语义分割,我们通过合并改进的标签来改进 LSCL,如下所示:

其中 n 是点云样本中属于当前类别的点的索引。Mi,n = {m} 表示包含来自旧类别和当前类别的样本的 anchor {Pi,n} 的对比样本集。Ai,n = {a|yi,n = yi,a} 表示正样本。

        然而,引导对比损失的计算成本与正/负点数高度相关。由于点云场景中的点数量巨大,我们不能将所有点都视为正样本和负样本。因此,我们必须选择一个样本子集作为正样本和负样本。点云场景还表现出不平衡的类别分布。因此,我们可以从每个类别中选择固定数量的点作为正样本和负样本。如果某个类别包含的点少于固定数量,则将包括所有这些点。

3.5 总训练损失

       在训练过程中,我们的 CGC 网络通过最小化训练数据上的以下损失来学习: 

其中 Lkd = − P i∈B P c∈cnew ∥hnew i,c − hold i,c ∥2 是蒸馏损失,有助于模型防止灾难性遗忘。λ1 和 λ2 是非负权重。

4实验

4.1实验设置

数据集。我们的实验是在两个主要点云数据集上进行的:S3DIS [3] 和 ScanNetv2 [7]。S3DIS 数据集有 13 个语义类别,包含 6 个室内区域的 3D RGB 点云,覆盖 272 个房间。我们使用更具挑战性的区域 5 作为验证,其他区域作为训练。ScanNetv2 数据集包含 707 个室内场景中的 1,513 次扫描。每个点都被标记为 21 个类之一(20 个语义类和未注释的位置)。按照 [30],我们应用特定的数据处理和配置进行点云连续语义分割。S1 按字母顺序介绍类别。

实施细节。为了便于与 [30] 中的这些点云语义分割方法进行比较,我们还选择了 DGCNN [29] 作为特征提取器,尽管我们的方法与大多数点云特征提取器兼容。在初始训练阶段,我们仅利用当前类来使用标签引导对比损失和分割损失来训练网络。在后续的学习步骤中,我们将旧类的信息集成到网络训练中。

基线。我们与 [30] 中也进行了比较的连续语义分割方法进行了比较,并重现了这些方法的结果ods。微调(FT)随机初始化新分类器并将基础模型加入训练。EWC [16]和LWF [19]从经典增量学习模型转变为GUC [30]的3D点云增量分割设置。GUC是点云连续语义分割领域的最新研究,我们将我们的工作与之进行比较。

4.2实验结果

表 1 和表 2 展示了在 S1 分割的 S3DIS 和 ScanNetv2 数据集上的结果。表中的“BT”和“FT”分别代表基础训练和微调。“Joint”表示同时对所有类别进行联合训练。在不同的增量设置下,我们报告增量学习后新旧类别的 mIoU。与这些基线相比,我们的方法比最先进的方法高出约 0.67-3.3%。从表中我们发现新模型对旧类别的识别能力在“FT”中大大降低。EWC [16] 和 LWF [19] 通过引入应对灾难性遗忘的策略,与 FT 相比,大大减少了对旧类别的遗忘。GUC [30] 利用基于特定任务特征的点之间的几何关系来减轻遗忘,取得了令人印象深刻的效果。尽管如此,我们的方法在两个数据集上取得了最佳性能,这清楚地证明了所提出的 CGC 的优越性。

消融研究。然后,我们研究了所提出的模块在 CGC 中的贡献。在表 3 中,我们观察到添加 RLE 和 RLCL 模块可以提高性能。所提出的 RLE 和 RLCL 对于减轻灾难性遗忘和增强知识保留至关重要。更详细地说,结果表明 RLE 的表现优于 KD,在 S3DIS 上 mIoU 分别提高了 15.58% 和在 ScanNetv2 上提高了 11.59%。RLCL 进一步提高了模型的性能,在 S3DIS 上比 RLE 高出 1.29%,在 ScanNetv2 上比 RLE 高出 1.08%。

5总结

在本文中,我们提出了一种跨代连续对比学习框架 (CGC),用于 3D 点云语义分割。通过利用点之间的关系和旧模型中的隐式信息,我们的方法可以捕捉新旧模型之间的全局语义关系通过对比损失和精细标签估计策略,我们显著减轻了灾难性遗忘,与以前的技术相比。通过大量实验,我们验证了所提出的精细标签引导对比损失和精细标签估计的有效性,证明了我们方法的卓越性能。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐