3D 语义分割——2DPASS

2DPASS是一种新颖的方法,通过结合二维图像的丰富信息来增强三维点云的语义分割。该方法在不需严格成对数据的情况下,利用多尺度融合进行单知识蒸馏,提高了模型在SemanticKITTI和NuScenes等基准上的性能,达到SOTA水平。2DPASS具有通用性、灵活性和有效性,适用于各种3D分割模型,且在部署时不需要额外的计算资源。

😸2DPASS(ECCV2022)主要贡献:

  1. 提出了二维先验辅助语义分割 2DPASS,该方法利用相机的二维先验信息来辅助三维语义分割。据作者团队所知,2DPASS 是第一个将多模态信息蒸馏后并用于单点云(模态)的语义分割方法
  2. 利用论文所提出的多尺度融合进行单知识蒸馏(MSFSKD)策略,2DPASS 在 SemanticKITTI 和 NuScenes 这两个大规模基准上取得了显著的性能提升且达到了 SOTA

前言

✍️在自动驾驶领域中,相机可以获取到密集的颜色信息和细粒度纹理却无法得到准确的深度信息且在弱光条件下不可靠,而激光雷达能提供准确的深度信息但只能捕获稀疏和无纹理的数据。因此,相机和激光雷达可捕捉到互补信息,这使得通过多模态数据融合进行语义分割成为了研究热点。

在这里插入图片描述

😿尽管使用多模态数据能有效提升模型性能,但基于融合(fusion-based)的方法需要成对的数据(paired data)且存在以下局限性:

  • 由于摄像机和激光雷达之间的视野(FOVs)不同无法为图像平面外的点建立点到像素的映射。通常情况下,激光雷达和相机的 FOVs 仅在一小部分上有重叠(如上图所示,最右边图像上红色部分为 FOVs 重叠部分),这大大限制了基于融合的方法的应用
  • 基于融合的方法在运行时同时处理图像和点云(通过多任务或级联方式),从而消耗了更多的计算资源,这给实时应用带来了很大负担

😸因此,论文提出了一种二维先验辅助语义分割(2DPASS)的通用训练方案,以提高在点云上的表示学习(representation learning)能力。论文提出的 2DPASS 在训练过程中充分利用了具有丰富语义信息的二维图像,然后在没有严格的成对数据约束情况下进行语义分割。在实际应用中,2DPASS 通过辅助模态融合(auxiliary modal fusion)和多尺度融合到单知识蒸馏(MSFSKD),从多模态数据中获取更丰富的语义和结构信息,然后将这些信息提取到纯 3D 网络。与基于融合的方法相比,论文的解决方案具有以下更好的特性:

  • 通用性:可以在只修改少量的网络结构下轻松地与其他任何 3D 分割模型集成在一起
  • 灵活性融合模块仅在训练期间用于增强 3D 网络,训练后,增强的三维模型可以在没有图像输入的情况下部署
  • 有效性:即使只有一小部分重叠的多模态数据,论文提出的方法也可以显著提高性能

🙀实验结果显示,在装备了 2DPASS 之后,论文使用的基线模型(baseline model)在只有点云输入的情况下得到了显著的性能提升。具体来说,它在 SemanticKITTI 和 NuScenes 这两个大规模的公认基准上达到了 SOTA。

网络结构

在这里插入图片描述

  1. 从原始图像中裁剪出一小块图像480x320)作为 2D 输入(由于相机图像非常大,导致将原始图像发送到论文的多模态 pipeline 中是很难处理的),这个步骤加速了训练过程且没有多余的性能下降
  2. 裁剪后的图像和激光雷达点云分别通过 2D 和 3D 编码器,并行生成多尺度特征
  3. 对于每个尺度,互补的二维知识通过 MSFSKD 从而有效地转移到三维网络中(即充分利用纹理和颜色感知的二维先验知识,并保留原始的三维特定知识)
  4. 每个尺度上的 2D 和 3D 特征都被用于生成语义分割预测,这些预测由纯 3D 标签监督

✍️在推理过程中,可以丢弃与 2D 相关的分支,与基于融合的方法相比,这有效地避免了实际应用中额外的计算负担

编码器

论文采用具有二维卷积的 ResNet34 编码器作为 2D 网络,而使用稀疏卷积来构建 3D 网络。具体来说,论文设计了一个分层编码器 SPVCNN,并在每个尺度上采用 ResNet 瓶颈设计,同时用 LeakyReLU 激活函数代替 ReLU 激活函数。在这两个网络中,我们分别从不同的尺度中提取 L 个特征图,得到二维特征 { F l 2 D } l = 1 L \{F_l^{2D}\}_{l=1}^L { Fl2D}l=1L 和三维特征 { F l 3 D } l = 1 L \{F_l^{3D}\}_{l=1}^L { Fl3D}l=1L

✍️其中,稀疏卷积的一个优点在于它的稀疏性,卷积运算只考虑非空体素

解码器

  • 对于 2D 网络,论文采用 FCN 作为解码器对每个编码层的特征进行上采样。具体来说,可以通过对第 ( L − l + 1 ) (L−l + 1) (Ll+1) 编码层的特征图进行上采样来获得第 l l l 解码层的特征图 D l 2 D D_l^{2D} Dl2D,其中所有上采样的特征图将通过元素相加进行合并。最后,将融合后的特征图通过线性分类器(linear classifier)进行 2D 语义分割
  • 对于 3D 网络,论文采用 U-Net 作为解码器。其中,论文将不同尺度的特征上采样到原始大小,并将它们连接在一起,然后将它们输入分类器。论文发现,这种结构可以更好地学习分层信息,同时更有效地获得预测结果

Point-to-Pixel Correspondence

在这里插入图片描述

  • 2D 特征生成如上图 (a) 所示(以第 l l l 层特征为例),其首先使用反卷积将二维特征 F l 2 D ∈ R H l × W l × D l F_l^{2D} \in R^{H_l \times W_l \times D_l} Fl2DRHl×Wl×Dl 上采样至与原始图像分辨率一致得到特征图 F ~ l 2 D \tilde{F}_l^{2D} F~l2D,然后再将点云投影到图像面片(image patch)上并生成点到像素(P2P)的映射,最后根据 P2P 映射将二维特征图 F ~ l 2 D \tilde{F}_l^{2D} F~l2D 转换为逐点二维特征 F ^ l 2 D \hat{F}_l^{2D} F^l2D。其中,点到像素的映射关系如下:

  [ u i , v i , 1 ] T = 1 z i × K × T × [ x i , y i , z i , 1 ] T M i m g = { ( ⌊ v i ⌋ , ⌊ u i ⌋ ) } i = 1 N ∈ R N × 2 \begin{aligned} \ [u_i, v_i, 1]^T &= \frac{1}{z_i} \times K \times T \times [x_i, y_i, z_i, 1]^T \\ M^{img} &= \{ (\lfloor v_i \rfloor , \lfloor u_i \rfloor) \}_{i=1}^N \in R^{N \times 2} \end{aligned}  [ui,vi,1]T

### 3D语义分割的技术与实现 3D语义分割是一种用于理解三维空间数据的任务,其目标是对输入的3D场景中的每个体素或点云赋予特定的类别标签。这项技术广泛应用于自动驾驶、机器人导航以及医学图像分析等领域。 #### 数据表示形式 在处理3D数据时,通常有三种主要的数据表示方式:基于体素的方法、基于点云的方法和多视图方法。每种方法都有各自的优缺点[^1]: - **基于体素的方法** 将3D空间划分为规则网格结构(即体素),并将其转换为体积张量进行处理。这种方法的优点在于可以利用成熟的卷积神经网络架构来提取特征;然而,随着分辨率增加,计算成本会显著上升。 - **基于点云的方法** 处理的是无序集合形式的原始传感器测量值。相比体素化模型更节省内存资源,并能保持较高的精度水平。但是由于缺乏局部邻域关系定义,在设计有效的学习框架方面存在挑战。 - **多视角方法** 则通过从不同角度渲染物体得到二维投影图片序列作为输入源来进行分类预测操作 。尽管如此简单直观易实现 ,但在某些情况下可能会丢失部分深度信息而导致性能下降 。 #### 特征抽取机制 对于上述提到的各种类型 的 输入 表达 方式 来说 , 提取 高质量 的 局部 和 全局 特征 是 实现 准确 分割 结果 的 关键 所 在 . 下面介绍几种常用 技术 : - 使用修改版ResNet50作为骨干网路完成特性抽取工作流程 [^3]. 这一策略能够有效捕捉到高层次抽象概念 同时保留足够的细节描述能力 . - 应用统计学建模选择原则 —— 对应于翻转前景 && 前景 tracking 场景下所采用 方法之一 [^2], 可帮助优化参数配置从而提升整体表现效果 . 最后值得注意的一点就是如何融合来自多个尺度上的特征表达以便更好地适应复杂环境变化需求. ```python import torch.nn as nn class ModifiedResNet(nn.Module): def __init__(self, num_classes=20): super(ModifiedResNet, self).__init__() # Define your custom ResNet structure here def forward(self, x): pass model = ModifiedResNet() print(model) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值