论文阅读 2DPASS: 2D Priors Assisted SemanticSegmentation on LiDAR Point Clouds LiDAR

题目:2DPASS: 2D Priors Assisted SemanticSegmentation on LiDAR Point Clouds

ECCV 2022。建议打开csdn右侧目录栏,部分个人理解和觉得重要内容有加粗表示,其余内容主要是机器翻译。如果对整个领域比较熟悉直接从第三章开始看就行。

主要贡献:2D先验辅助语义分割 (2DPASS)+多尺度融合到单知识蒸馏 (MSFSKS) 策略

原文下载链接:https://arxiv.org/pdf/2207.04397.pdf

原文代码:https://github.com/yanx27/2DPASS

0、摘要

        由于摄像头和 LiDAR 传感器在自动驾驶中捕获互补信息,因此人们努力通过多模态数据融合进行语义分割。然而,基于融合的方法需要配对数据,即具有严格的点到像素映射的 LiDAR 点云和相机图像,作为训练和推理阶段的输入。这严重阻碍了它们在实际场景中的应用。因此,在这项工作中,我们提出了 2D Priors 辅助语义分割 (2DPASS) 方法,这是一种通用的训练方案,以促进点云上的表示学习。所提出的 2DPASS 方法在训练过程中充分利用具有丰富外观的 2D 图像,然后在没有严格的配对数据约束的情况下进行语义分割。在实践中,通过利用辅助模态融合和多尺度融合到单一知识蒸馏(MSFSKD),2DPASS 从多模态数据中获取更丰富的语义和结构信息,然后将其蒸馏到纯 3D 网络。因此,我们的基线模型在配备 2DPASS 后仅使用点云输入显示出显着改进。具体来说,它在两个大规模公认的基准测试(即 SemanticKITTI 和 NuScenes)上实现了最先进的水平,即在 SemanticKITTI 的单次和多次扫描比赛中均名列前茅。

1、引言

        语义分割在大规模户外场景理解中起着至关重要的作用,在自动驾驶和机器人技术中具有广泛的应用 [1-3]。在过去的几年中,研究界致力于使用相机图像 [4-7] 或LiDAR点云 [2,8-12] 作为输入来理解自然场景。然而,由于输入传感器的固有局限性,这些单模态方法不可避免地在复杂环境中面临挑战。具体而言,相机提供密集的色彩信息和精细的纹理,但它们在深度感测方面模棱两可,在弱光条件下不可靠。相比之下,LiDARs可以可靠地提供准确且广泛的深度信息,而与照明差异无关,但只能捕获稀疏且无纹理的数据。由于相机和雷达是相辅相成的,因此最好使用两个传感器来感知周围的环境。

        最近,许多商用车都配备了摄像头和LiDARs。这激发了研究界通过融合来自两个互补传感器的信息来改善语义分割 [13-15]。这些方法首先通过使用传感器校准将点云投影到图像平面上来建立3D点和2D像素之间的映射。基于点到像素映射,模型将相应的图像特征融合到点特征中,并进一步处理以获得最终的语义得分。尽管进行了改进,但基于融合的方法仍具有以下不可避免的局限性: 1) 由于相机和LiDARs之间的fov (视场) 不同,因此无法为不在图像平面中的点建立点对像素映射。通常,激光雷达和摄像机的fov仅在一小部分重叠 (参见图1),这显著限制了基于融合的方法的应用。2) 基于融合的方法会消耗更多的计算资源,因为它们在运行时同时处理图像和点云 (通过多任务或级联方式),这给实时应用带来了很大的负担。

        为了解决上述两个问题,我们通过这项工作中的有效设计,专注于通过利用图像和点云来改进语义分割。考虑到传感器在场景中移动,同一时间戳图像对应的360度LiDAR点云的非重叠部分(见图1右侧灰色区域)可以被其他图像覆盖时间戳。此外,图像的密集和结构信息为可见和不可见的点云区域提供了有用的正则化。基于这些观察,我们提出了一种“与模型无关”的训练方案,即 2D先验辅助语义分割 (2DPASS:2D Priors Assisted Semantic Segmentation),以通过较小的结构修改来增强任何 3D 语义分割网络的表示学习。

        一方面,对于上述非重叠区域2DPASS以纯点云为输入来训练分割模型。另一方面,对于具有良好对齐的点像素映射的子区域,2DPASS采用辅助多模态融合来聚合每个尺度中的图像和点特征,然后将3D预测与融合预测对齐。与以前的交叉模态对齐 [17] 易于污染模态特定信息不同,我们设计了一种多尺度融合到单知识蒸馏 (MSFSKD) 策略,以将额外的知识转移到3D模型中,并保留其模态特定能力。与基于融合的方法相比,论文的解决方案具有以下更好的特性。

  •  通用性: 可以轻松地与任何3D分割模型集成,并进行较小的结构修改;
  •  灵活性: 融合模块仅在训练期间用于增强3D网络。训练后,无需图像输入即可部署增强的3D模型。
  • 有效性: 即使只有一小部分重叠的多模态数据,我们的方法也可以显着提高性能。

        我们使用稀疏卷积实现的简单而强大的基线来评估2DPASS[3]。实验表明,即使在这个强大的基线上,2dbass也带来了明显的改善。配备了使用多模式数据的2DPASS,我们的模型在SemanticKITTI的单扫描和多扫描排行榜上获得了前1位的结果 [16]。NuScenes [18] 数据集的最新结果进一步证实了我们方法的通用性。

总的来说,主要贡献概述如下。

        我们提出了2D先验辅助语义分割 (2DPASS),该算法可通过摄像机的2D先验辅助3D LiDAR语义分割。据我们所知,2DPASS是第一种将多模态知识提炼为单点云模态以进行语义分割的方法。-配备了拟议的多尺度融合到单一知识蒸馏 (MSFSKS) 策略,2DPASS在SemanticKITTI和NuScenes基准测试上获得了显着的性能提升,在SemanticKITTI的单个和多个轨道上排名第一。

  • 我们提出了2D先验辅助语义分割 (2DPASS),该算法可通过摄像机的2D先验辅助3D LiDAR语义分割。据我们所知,2DPASS是第一种将多模态知识提炼为单点云模态以进行语义分割的方法。
  • 配备了提出的多尺度融合到单知识蒸馏 (MSFSKS) 策略,2DPASS在SemanticKITTI和NuScenes基准上获得了显着的性能提升,在SemanticKITTI的单轨和多轨上排名第一。

2 相关工作Related Work

2.1 单传感器方案Single-Sensor Methods

2.1.1 相机方案Camera-Based Methods

        基于相机的语义分割旨在预测输入 2D 图像的像素级标签。 FCN [19] 是语义分割的先驱,它提出了一种基于图像分类网络的端到端全卷积架构。最近的工作通过探索多尺度特征学习 [4、20、21]、扩张卷积 [5,22] 和注意力机制 [7,23] 取得了重大改进。然而,仅相机方法在深度感测方面模棱两可,并且在弱光条件下不稳健。

2.1.2 激光雷达方案LiDAR-Based Methods.

LiDAR数据通常表示为点云。有几个主流处理具有不同表示形式的点云。

1) 基于点的方法使用每点多层感知器 (MLP) 来近似置换不变集函数。PointNet [24] 是该领域的先驱。后来,许多研究设计了基于点的MLP [25,26],自适应权重 [27,28] 和伪网格 [29,30] 的方法来提取点云的局部特征或利用非局部算子 [31-444] 来学习长距离依赖。但是,基于点的方法在LiDAR场景中并不有效,因为它们的采样和分组算法通常是时间消耗的。

2) 基于投影的方法是LiDAR点云的非常有效的方法。他们将点云投影到2D像素上,以便传统的CNN可以发挥正常作用。以前的作品通过平面投影 [34-36],球形投影 [37,38] 或两者 [39] 将旋转激光雷达扫描的所有点投影到2D图像上。然而,预测不可避免地造成信息丢失。并且基于投影的方法目前满足了分割精度的瓶颈。

3) 最近的作品采用基于体素的框架,因为它们平衡了效率和有效性,其中最常用的是稀疏卷积 (SparseConv) [3]。与传统的基于体素的方法 (即3DCNN) 直接将所有点转换为3D体素网格相比,SparseConv仅在哈希表中存储非空体素,并且仅以更有效的方式对这些非空体素进行卷积运算。最近,许多研究已经使用SparseConv来设计更强大的网络架构。Cylinder3D [40] 将原始网格体素更改为圆柱体体素,并设计了不对称网络以提高性能。AF2-S3Net [41] 应用具有不同内核大小的多个分支,通过注意力机制聚合多尺度特征。

4)最近,有一种利用多表示融合方法的趋势。这些方法结合了上述多种表示(即点、投影图像和体素),并设计了不同分支之间的特征融合。唐等人。 [10] 在每个稀疏卷积块中结合逐点 MLP 来学习点体素表示,并使用 NAS 来搜索更有效的架构。 RPVNet [42] 提出了距离点体素融合网络来利用来自三种表示的信息。然而,这些方法仅将稀疏且无纹理的激光雷达点云作为输入,因此相机图像中的外观和纹理并未得到充分利用。

2.2 多传感器方案Multi-Sensor Methods

        多传感器方法试图融合来自两个互补传感器的信息,并利用相机和激光雷达的优势 [14,15,43,44]。RGBAL [14] 将RGB图像转换为极坐标网格映射表示,并设计早期和中级融合策略。PointPainting [15] 利用图像的分割日志,并通过鸟瞰投影 [23] 或球形投影 [45] 将它们投影到激光雷达空间,以提高激光雷达网络的性能。最近,PMF [13] 利用了相机坐标中两种模态的协作融合。但是,这些方法在训练和推理阶段都需要多传感器输入。此外,成对的多模态数据通常是计算密集型的,并且在实际应用中不可用。

2.3 跨模态知识转移Cross-modal Knowledge Transfer

        最初提出知识蒸馏是为了将大型教师网络压缩为小型学生网络 [46]。在过去的几年里,随后的几项研究通过以不同方式匹配特征表示来增强知识转移[47-50]。例如,对齐注意力图 [49] 和 Jacobean 矩阵 [50] 是独立应用的。随着多模式计算机视觉的发展,最近的研究应用知识蒸馏来跨不同模式传输先验,例如,在训练阶段利用额外的 2D 图像并提高推理性能 [51-55]。具体来说,[56] 引入了 2D 辅助预训练,[57] 将 2D 卷积核膨胀到 3D 卷积核,[58] 应用了精心设计的师生框架。受上述启发但不同的是,我们通过多尺度融合到单一的方式来传输 2D 知识,另外还处理了特定于模态的知识。

3 我们的方法Method

3.1 框架概述Framework Overview

        本文重点改进激光雷达点云语义分割,旨在为每个点分配语义标签。为了解决大规模户外 LiDAR 点云中的困难,即稀疏性、密度变化和缺乏纹理,我们通过融合到单一的知识转移引入了 2D 相机图像的强正则化和先验。

        我们的 2D Priors 辅助语义分割 (2DPASS) 的工作流程如图 2 所示。由于相机图像非常大(例如 1242 × 512),因此将原始图像发送到我们的多模态管道是很棘手的。我们从原始相机图像中随机抽取一个小块 (480 × 320) 作为 2D 输入 [17],在不降低性能的情况下加速训练处理。然后,裁剪后的图像块和 LiDAR 点云分别通过独立的 2D 和 3D 编码器,其中并行提取来自两个主干的多尺度特征。然后,进行多尺度融合到单一知识蒸馏(MSFSKD)以使用多模态特征增强 3D 网络,即充分利用纹理和颜色感知 2D 先验并保留原始 3D 特定知识。最后每个尺度的所有 2D 和 3D 特征都用于生成语义分割预测,这些预测由纯 3D 标签监督在推理过程中,可以丢弃与二维相关的分支,与基于融合的方法相比,这有效地防止了实际应用中的额外计算负担。

3.2 模型具体架构Modal-Specific Architectures

3.2.1 多尺度特征编码器Multi-Scale Feature Encoders

        如图 2 所示,我们使用两个不同的网络对 2D 图像和 3D 点云的多尺度特征进行独立编码。我们应用具有 2D 卷积的 ResNet34 [59] 编码器作为 2D 网络。对于 3D 网络,我们采用稀疏卷积 [3] 来构建 3D 网络。稀疏卷积的一个优点在于稀疏性,卷积运算只考虑非空体素。具体来说,我们设计了一个分层点体素编码器,就像在[10]的解码器中使用的那样,并在每个尺度上采用 ResNet 瓶颈[59],同时用 Leaky ReLU [60] 替换 ReLU。在这两个网络中,我们从不同尺度提取 L 个特征图,获得 2D 和 3D 特征。

3.2.2 预测解码器 Prediction Decoders

        在处理来自每个比例的图像和点云的特征之后,独立地应用两个特定于模态的预测解码器以将下采样的特征图恢复到其原始大小。

        对于 2D 网络,我们采用 FCN [19] 解码器对每个编码器层的特征进行上采样。具体来说,第 l 个解码器层的特征图 D2D l 可以通过对第 (L − l + 1) 个编码器层的特征图进行上采样来获得,其中所有上采样的特征图将通过逐元素加法。最后,将融合后的特征图通过一个线性分类器,得到二维网络的语义分割。

        对于3D网络,我们不采用先前方法 [10,40,41] 中使用的U-Net解码器。相反,我们将特征从不同比例上采样到原始大小,并将它们串联在一起,然后再将它们输入分类器。我们发现,这种结构可以更好地学习层次信息,同时以更有效的方式获得预测。(这个怎么看起来也很像FCN?)

有的翻译写的这里是用的U-net,但其实原文说的是没有采用以前使用的U-net

3.3 点对像素的对应关系 Point-to-Pixel Correspondence

        由于2D特征和3D特征通常分别表示为像素和点,因此很难在两种模态之间直接传递信息。在本节中,我们旨在使用点对像素的对应关系生成两种模态的配对特征,以进一步进行知识蒸馏。在图3中展示了两种模式中的成对特征生成的细节。

3.3.1  2D特征 2D Features

        2D特征生成的过程如图3 (a) 所示。通过从原始图像中裁剪一个小补丁I \in \mathbb{R}^{H \times W \times 3}并将其通过2D网络,可以在具有不同分辨率的隐藏层中提取多尺度特征。以第l层的特征图F_{l}^{2 D} \in \mathbb{R}^{H_{l} \times W_{l} \times D_{l}}为例,我们首先进行了一个退卷积操作,将其分辨率升级到原始的\tilde{F}_{l}^{2 D}。与最近的多传感器方法 [13] 类似,我们采用透视投影并计算点云与图像之间的点对像素映射。具体地,给定一个LiDAR点云P=\left\{p_{i}\right\}_{i=1}^{N} \in \mathbb{R}^{N \times 3},每个3D点p_{i}=\left(x_{i}, y_{i}, z_{i}\right) \in \mathbb{R}^{3}到一个点的投影在图像平面内的\hat{p}_{i}=\left(u_{i}, v_{i}\right) \in \mathbb{R}^{2}给出为:

\left[u_{i}, v_{i}, 1\right]^{T}=\frac{1}{z_{i}} \times K \times T \times\left[x_{i}, y_{i}, z_{i}, 1\right]^{T}

        其中 K 和 T 分别是相机内部和外部矩阵(K是相机内参,相当于把三维点投影到二维,而T个人理解就是相机的摆放位置和角度,是一个转移矩阵,因为默认激光雷达也就是点云是世界坐标系,为了整体计算简单,所以采用了四维矩阵,详细见视觉slam十四讲) K和T在KITTI中直接提供 [61]。由于激光雷达和摄像机在NuScenes [18] 中以不同的频率运行,因此我们需要通过全局坐标系将时间戳tl处的激光雷达帧转换为时间戳tc处的摄像机帧。NuScenes数据集 [18] 中的外在矩阵T给出为:

 (这里角标太复杂,简单理解为分子分母,\frac{camera}{ego_{tc} }\times \frac{ego_{tc}}{global } \times \frac{global }{ego_{tl}}\times \frac{ego_{tl} }{lidar}=\frac{camera}{lidar} 其实还是相机和雷达的相对位置关系T=T_{\text {camera} \leftarrow \mathrm{lidar}},看不懂也没关系只是NuScenes数据集没给T而已需要自己算一下而已)

投影后,点到像素的映射表示为:

 其中\left\lfloor \cdot \right\rfloor是下取整操作。根据点到像素的映射,我们从原始特征图F2D中提取一个逐点的二维特征 F^2D ∈ RNimg×Dl 如果特征图上的任何像素包含在Mimg中。这里\hat{F}^{2 D} \in \mathbb{R}^{N^{i m g} \times D_{l}}表示Mimg中包含的点数。

这里可能会比较绕,写一下自己的想法,欢迎交流:

(1)从原始图片中选一个小区域  I \in \mathbb{R}^{H \times W \times 3}

(2)这个小区域经过resnet得到特征层F_{l}^{2 D} \in \mathbb{R}^{H_{l} \times W_{l} \times D_{l}}

(3) 特征层F_{l}^{2 D} \in \mathbb{R}^{H_{l} \times W_{l} \times D_{l}}上采样得到原始分辨率\tilde{F}_{l}^{2 D}但是原文没说深度,默认就不变吧,后边才能推的通\tilde{F}_{l}^{2 D} \in \mathbb{R}^{H \times W \times D_{l}}

(4)根据投影关系找到落在H*W中的点云,就是图中红色框内的点云,因为要让每个点都有一个对应的图像提取出来的特征,所以这里M^{\text {ing }}叫做映射,采用下取整去原来图像中找最近的一个像素对应的特征向量。

(5)假设这个H*W的中包含的对应点云数量为N^{\text {ing }},从原来的\tilde{F}_{l}^{2 D} \in \mathbb{R}^{H \times W \times D_{l}}中根据M^{\text {ing }}映射出来,有用的\hat{F}^{2 D} \in \mathbb{R}^{N^{i m g} \times D_{l}},记住这个向量shape,这个下边也要用到。

3.3.2 3D 特征 3D Features

3D特征的处理是相对简单的 (如图3 (b) 所示)。具体地说,对于点云P=\left\{\left(x_{i}, y_{i}, z_{i}\right)\right\}_{i=1}^{N}我们通过在第l层得到点到体素的映射

 其中rl是第l层中的体素化分辨率。之后,从稀疏卷积网络得到的3d特征F_{l}^{3 D} \in \mathbb{R}^{N_{l}^{\prime} \times D_{l}}我们得到\tilde{F}_{l}^{3 D} \in \mathbb{R}^{N \times D_{l}}。最后,我们通过丢弃图像 FOV 之外的点来过滤点:

这里也解释一下:

(1)原始点云数据P=\left\{\left(x_{i}, y_{i}, z_{i}\right)\right\}_{i=1}^{N}经过体素化,稀疏卷积网络得到F_{l}^{3 D} \in \mathbb{R}^{N_{l}^{\prime} \times D_{l}},这里的N_{l}^{\prime}我认为就是体素化后的分辨率,可以理解为小格子。

(2)建立原始点云对于特征的映射M_{l}^{\text {voxel }},这里也可以印证前面的猜想,因为这个r其实就是格子大小。

(3)我们只关心刚才3.3.1中图片区域内的点云,因此我们将刚刚感兴趣的N^{\text {ing }}个点云,通过M_{l}^{\text {voxel }}映射,在F_{l}^{3 D} \in \mathbb{R}^{N_{l}^{\prime} \times D_{l}}筛选出需要的特征向量,\hat{F}_{l}^{3 D}\in \mathbb{R}^{N^{i m g} \times D_{l}}

(4)由上可知3.3.4中的特征对应含义

 3.3.3 二维地面真值2D Ground Truths

考虑到仅提供 2D 图像,通过使用上述点到像素映射将 3D 点标签投影到相应的图像平面来获得 2D groundtruths。之后,投影的 2D ground truths 可以作为 2D 分支的监督。

3.3.4 特征对应Features Correspondence

        由于 2D和3D特征都使用相同的点到像素映射,因此任意第 l 层中的 2D 特征 \hat{F}_{l}^{2 D}和 3D 特征 \hat{F}_{l}^{3 D}具有相同数量的点N^{i m g}和点到像素对应关系。

3.4 多尺度融合到单一知识蒸馏 Multi-Scale Fusion-to-Single Knowledge Distillation (MSFSKD)

        作为2dbass的关键,MSFSKD旨在通过融合然后蒸馏的方式使用辅助2D先验来改善每个比例的3D表示。MSFSKD的知识蒸馏 (KD) 设计部分受 [17] 启发。然而,[17] 以朴素的跨模态方式进行KD,即简单地对齐两组单模态特征 (即2D或3D) 的输出,这不可避免地将特征从两个模态推向它们的重叠空间。因此,这种方式实际上丢弃了模态特定的信息,这在多传感器分割中至关重要。尽管可以通过引入额外的分段头 [17] 来缓解此问题,但它是交叉模态蒸馏固有的,从而导致有偏差的预测。为此,我们提出了多尺度融合到单知识蒸馏 (MSFSKD) 模块,如图4所示,该模块首先融合图像和点云的特征,然后在融合和点云特征之间进行单向对准。在我们的融合-然后-蒸馏方式中,融合井保留了来自多模态数据的完整信息。此外,单向对齐可确保从融合中增强点云特征,而不会丢失特定于模态的信息。

3.4.1 模态融合 Modality Fusion

        对于每个尺度,考虑到由于主干不同而导致的 2D 和 3D 特征差异,直接融合原始 3D 特征\hat{F}_{l}^{3 D}和2D对应的特征\hat{F}_{l}^{2 D}是无效的。因此,我们首先通过 “2D learner” MLP将\hat{F}_{l}^{3 D}转换为\hat{F}_{l}^{\text {learner }},努力缩小功能差距。之后\hat{F}_{l}^{\text {learner }}不仅和2D特征\hat{F}_{l}^{2 D}一起流进获得融合特征\hat{F}_{l}^{2 D 3 D} ,还而且还可以通过跳过连接返回原始3D特征,以产生增强的3D特征。此外,类似于注意机制,最终的增强融合功能。

3.4.2 模态保持知识蒸馏Modality-Preserving KD

 尽管\hat{F}_{l}^{\text {learner }}是从3D的特征直接获得的,但是它也受到2D解码器的分割loss的影响,因为loss受到了\hat{F}_{l}^{2 D 3 D}的影响。2D learner功能就像融合特征和点特征之间的残差一样,可以很好地防止蒸馏污染\hat{F}_{l}^{3 D}的模型特定信息,从而实现了模态保持知识蒸馏。最后分别是两个独立的分类器(全连接层)来产生语义分割分数S_{l}^{2 D 3 D}S_{l}^{3 D},我们选择KL散度作为蒸馏损失。

 通过这样的实现,它通过推动来实现单向蒸馏S_{l}^{3 D}S_{l}^{2 D 3 D}

         通过采用这样的知识蒸馏方案,我们的框架有几个优点: 1) 2D学习者和融合到单蒸馏提供了丰富的纹理信息和结构正则化,以增强3D特征学习,而不会丢失任何特定于3D的模态信息。2) 仅在训练阶段采用融合分支。因此,在推理过程中,增强的模型几乎可以在没有额外计算成本的情况下运行。

自己总结:注意看图中的虚线和实线,虚线是训练用的,实线是推理用的。上边绿色的那一条路Fusion Prediction可以认为是能力更强,因为他融合了两个特征图像的特征和激光的特征,所以这里用作教师信号,产生类似的软标签。下边的蓝色那一条路3D Prediction可以理解为学生,通过KL散度去逼近教师信号,最终达到的效果就是只用激光也能达到很好的分割效果。

如果仅仅是学习网络结构后边就不用看了,反正很厉害就行了,毕竟都是顶刊顶会,效果都差不了。

 4 实验结果Experiments

4.1 实验设置Experiment Setups

数据集。我们在两个大型户外基准测试中广泛评估 2DPASS:SemanticKITTI [16] 和 Nuscenes [18]。 SemanticKITTI 为 KITTI 数据集 [61] 中序列 00-10 的每个单独扫描提供密集的语义注释。根据官方设置,sequence 08 是 validation split,其余是 train split。 SemanticKITTI 使用 KITTI 中的 11-21 序列作为测试集,保留其标签用于在线盲测1。 NuScenes 包含 1000 个场景,展示了内城交通和天气条件的多样性。它官方将数据分为700/150/150个场景进行train/val/test。与SemanticKITTI类似,NuScenes的测试集用于在线benchmarking2。对于 2D 传感器,KITTI 只有两个前视摄像头,而 NuScenes 有六个摄像头覆盖整个 360° 视野。评估指标。我们主要使用并集平均交集(mIoU)来评估方法,mIoU 定义为所有类的平均 IoU。此外,我们报告了两个基准的在线排行榜提供的总体准确度 (Acc)/频率加权 IOU (FwIOU)。 FwIoU 类似于 mIoU,不同之处在于每个 IoU 由其类别的点级频率加权。网络设置。我们应用具有 2D 卷积的 ResNet34 [59] 编码器作为 2D 网络,其中提取每个下采样层后的特征以生成 2D 特征。 3D 编码器是修改后的 SPVCNN [10](体素大小 0.1),参数较少,SemanticKITTI 的隐藏维度为 64,NuScenes 的隐藏维度为 128,以加速网络。对于 SemanticKITTI 和 NuScenes,MSFSKD 的层数 L 分别设置为 4 和 6。在每个知识蒸馏尺度中,通过反卷积或 MLP 将 2D 和 3D 特征减少到 64 维。类似地,MSFSKD 中 MLP 和 2D 学习器的隐藏大小相同为 64。训练和推理细节。我们使用交叉熵和 Lovasz 损失作为 [40] 进行语义分割。对于知识蒸馏,我们将分割损失和 KL 散度的比例设置为 1:0.05。在推理过程中应用了测试时间增强[40]。培训详情将在补充材料中介绍。

4.2 基准测试结果  Benchmark Results

SemanticKITTI 使用两种设置评估分割性能:单次扫描和多次扫描。对于使用单次扫描作为输入的方法,移动和非移动被映射到单个类。虽然使用多次扫描作为输入的方法应该区分移动和非移动对象,这更具挑战性。所有报告的结果均来自SemanticKITTI的官方竞赛网站。

NuScenes。 Tab 中报告了 NuScenes 上的结果。 3,其中 2DPASS 也获得了第一名。请注意,我们仅在 Tab 中包含已发表的作品。 3 结果直接取自 NuScenes 的官方排行榜,在考虑未发表的作品时,我们的模型也排名第三,略有劣势。除了超越所有单模态方法外,2DPASS 出人意料地优于那些基于融合的方法(表 3 中的最后两行)。请注意,NuScenes 提供覆盖 LiDAR 整个 FOV 的图像,而基于融合的方法通过在推理过程中同时使用点云和图像特征来实现此类结果。相比之下,我们的方法只将点云作为输入。

 4.3 综合分析Comprehensive Analysis

与其他知识蒸馏相比。为了进一步验证我们在通用的师生体系结构和其他跨模式方式上融合到单一知识蒸馏范例的有效性,我们将2dbass与Tab中的典型知识转移方法进行了比较。4,我们在每个量表中利用这些方法进行公平比较。在所有方法中,Hinton等人。[46],Huang等人。[67] 杨等人。[68] 是纯粹的知识蒸馏设计,其中前者是研究领域的先驱,后者是新提出的。如选项卡中所示。如图4所示,激光雷达语义分割不能直接采用纯知识蒸馏方式,并且它们在基线模型上的改进受到限制。最近,[17] 在语义分割的领域自适应任务中采用了跨模态特征对齐技术。然而,它们的改善仍然微不足道。最后,在选项卡中。4,2dbass显着表现更好,这说明了我们的多尺度融合到单知识蒸馏 (MSFSKD) 的有效性。

MSFSKD 的设计分析。标签。图 5 展示了对 SemanticKITTI 验证集的消融研究。如表中所示,我们的基线仅实现了 65.58 mIoU 的较低结果。请注意,简单地使用两种模态之间的特征对齐不能有效地改善结果,其中 mIoU 的指标只会增加到 66.34。在各个知识蒸馏尺度使用2D-3D融合后,均有明显提升至69.13。这种改进主要来自更强的融合预测所提供的知识。最后,我们发现 2D 学习器设计可以将性能略微提高约 0.2%。请注意,SemanticKITTI 验证集的结果低于基准,因为小对象类别(即摩托车手)只占很小的比例。

基于距离的评估。我们研究了分段如何受到点到自我车辆的距离的影响,并比较了2DPASS,当前最新技术和SemanticKITTI验证集的基线。图6 (a) 示出了与基线和 (AF)2-S3Net相反的2DPASS的mIoU。由于点在长距离中相对稀疏,因此所有方法的结果都通过增加距离而变差。2DPASS大大提高了10m内的性能,即从61.2到89.1,这是相机捕获物体颜色和纹理的最佳距离。在该距离内 (AF)2-S3Net,即84.4 v.s,也有显著的改进。89.1。

概论。我们展示了我们的 2DPASS 可以是一种“独立于模型”的训练方案,可以提高其他网络的性能。我们还使用 2DPASS 训练了两个开源基线,即 MinkowskiNet 和 [10] 中实现的 SPVCCNN。在实验过程中,除了与 2D 相关的组件外,我们保持所有设置相同。如图 6 (b) 所示,2DPASS 将前者从 63.1 提高到 66.2,将后者从 63.8 提高到 66.9。这些结果充分证明了 2DPASS 的有效性和通用性。

放个图吧

5 结论 Conclusion

这项工作提出了 2D优先辅助语义分割 (2DPASS),这是一种通用训练方案,通过 2D 先验相关知识蒸馏来提高 LiDAR 点云语义分割的性能。通过以多尺度方式利用辅助模态融合和知识蒸馏,2DPASS 从多模态数据中获取更丰富的语义和结构信息,有效提高纯 3D 网络的性能。最终,它在两个大型基准测试(即 SemanticKITTI 和 NuScenes)上达到了最先进水平。我们相信我们的工作在未来可以应用于更广泛的其他场景,例如 3D 检测和跟踪。

自己的想法: 思路很奇妙,有点点自监督的感觉就是蒸馏那里,可以只用激光点云推理。但是一般都有激光点云了肯定有摄像头了呀,感觉摄像头+激光结果应该会更好,感觉文中消融实验那里的所说的baseline应该是只有针对点云的稀疏卷积,并没有对比fusion的预测结果 假设两种输入一起进来,欢迎探讨~

整理不易,求点赞!

最近在复现,但是效果不太好,自己把代码看了,发现和原文有很多不同,有一起做的探讨下吗

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 37
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值