写点什么

【论文阅读】【三维场景点云分割】Superpoint Transformer for 3D Scene Instance Segmentation

作者:AI阿辉
  • 2023-10-15
    浙江
  • 本文字数:4176 字

    阅读完需:约 14 分钟

【论文阅读】【三维场景点云分割】Superpoint Transformer for 3D Scene Instance Segmentation

前言

AAAI 2023《Superpoint Transformer for 3D Scene Instance Segmentation》

论文地址:https://arxiv.org/abs/2211.15766

Code 地址:https://github.com/sunjiahao1999/SPFormer

论文十问

Q1 论文试图解决什么问题?三维场景点云实例分割问题

出发点

现有的基于提案和基于分组的方法都存在对应的缺点,限制了实例分割的性能,而且这些方法需要耗时的中间步骤。

贡献

  • 我们提出了一种名为 SPFormer 的新颖的端到端两阶段方法,它可以表示具有潜在 superpoint 特征的 3D sence,而不依赖于对象检测或语义分割的结果。

  • 我们设计了一个基于 Transformer 的查询解码器,其中可学习的查询向量可以通过 Superpoint 交叉注意力捕获实例信息。借助查询向量,查询解码器可以直接生成实例预测结果。

  • 通过基于 Superpoint 掩码的二分匹配,SPFormer 可以实现网络训练,无需耗时的中间聚合步骤,并且在推理过程中无需复杂的后处理。

核心(一句话总结)

本方法将基于提案的方法和基于分组的方法进行组合,用基于 Transformer 的查询解码器更新实例特征,再配合二分匹配优化训练过程,无需中间聚合步骤,实现高效高精度点云实例分割。

文章解读

1.摘要

大多数现有方法通过扩展用于 3D 对象检测或 3D 语义分割的模型来实现 3D 实例分割。然而,这些非直接方法有两个缺点:1)不精确的边界框或不令人满意的语义预测限制了整个 3D 实例分割框架的性能。 2)现有方法需要耗时的聚合中间步骤。为了解决这些问题,本文提出了一种基于 Superpoint Transformer 的新颖的端到端 3D 实例分割方法,命名为 SPFormer。它将点云中的潜在特征分组为 Superpoint,并通过查询向量直接预测实例,而不依赖于对象检测或语义分割的结果。该框架的关键步骤是一种带有 Transformer 的新型查询解码器,它可以通过 superpoint 交叉注意机制捕获实例信息并生成实例的 Superpoint 掩码。通过基于 superpoint 掩码的二分匹配,SPFormer 可以实现无需中间聚合步骤的网络训练,从而加速网络。 ScanNetv2 和 S3DIS 基准的大量实验验证了我们的方法简洁而高效。值得注意的是,SPFormer 在 ScanNetv2 隐藏测试集上的 mAP 超过了最先进的方法 4.3%,同时保持了快速的推理速度(每帧 247 毫秒)。

2.Introduction


基于分组的方法缺点:依赖于其语义分割结果,导致实例分割错误,这些错误的预测传播到后续处理会抑制网络的性能;这个方法需要中间聚合步骤,增加了训练和推理时间。聚合步骤独立于网络训练而且缺乏监督,需要额外的细化模块。因此提出一个混合框架,避免缺点并同时从两种类型的方法中受益。两阶段端到端的 3D 实例分割方法:SPFormer。SPFormer 将点云中自下而上的潜在特征分组为超级点,并通过查询向量作为自上而下的管道提出实例。

3.Method


Sparse 3D U-Net 从输入点云 P 中提取逐点特征,然后 Superpoint 池化层将同质相邻点分组为 Superpoint 特征 S。在自上而下的 提议阶段,查询解码器分为两个分支。实例分支通过 Transformer Decoder 获取查询向量特征 ,Mask 分支提取 mask-aware 特征 。最后,预测头生成实例预测,并在训练/推理期间将它们输入到二分匹配或排名中。“具体一点说:在 Query Decoder,下面的 Transformer Decoder 有 Q,K,V。Q 在训练前随机初始化,K 和 V 都是 S 的不同线性投影,过了 Transformer Decoder 就拿到等于不同 superpoint 交互后的实例查询向量特征 (K 个数是人为预先设定的)。 和 相乘送进几个 MLP 中生成实例预测结果,输入到二分匹配(训练)或排名(推理)中得到最终的结果。(同质相邻点的意义就是几何上相似)”

3.1Backbone and Superpoints

首先用的 Sparse 3D U-Net 拿到逐点的特征 ,这里我就不再赘述了。

Superpoint 池化层

基于预先计算的 Superpoint 直接将前面拿到的点级特征送入到的 Superpoint pooling layer 《Large-scale point cloud semantic segmentation with superpoint graphs》CVPR2018“这篇文章介绍了如何获得点云中的 Superpoint,值得一提的是该文章的作者新的 SuperPoint Transformer 发表在 ICCV2023 上,我稍晚些也会一并进行解读。”

Superpoint 池化层通过对每个 Superpoint 内的逐点特征进行平均池化,简单地获得 Superpoint 特征 。不失一般性,我们假设有 M 个从输入点云计算得到的 Superpoint 。值得注意的是,Superpoint 池化层可靠地将输入点云下采样为数百个 Superpoint,这显着减少了后续处理的计算开销并优化了整个网络的表示能力。

3.2 Query Decoder

查询解码器由实例分支和掩码分支组成。在掩模分支中,一个简单的多层感知器(MLP)旨在提取掩模感知特征 。实例分支由一系列 Transformer 解码器层组成。通过 Superpoint 交叉注意力来解码可学习的查询向量。假设有 K 个可学习的查询向量。将每个 Transformer 解码器层的查询向量的特征预定义为 。D 是嵌入维度,l=1,2,3...是层索引。

“这个东西是用来干什么的?是用实际的超点特征来更新查询向量的,目的就是为了之后的实例预测。”

Superpoint Cross-Attention

考虑到 Superpoint 的无序性和数量的不确定性,引入 Transformer 结构来处理变长输入。Superpoint 的潜在特征和可学习的查询向量被用作变压器解码器的输入。我们修改后的 Transformer 解码器层的详细架构如下图所示:


由 2022 的文章启发,查询向量 (Query) Z 在训练前随机初始化,并且每个点云的实例信息只能通过 Superpoint 交叉注意力获得,因此,我们的 Transformer 解码器层与标准解码器层相比交换了自注意力层和交叉注意力层的顺序)。此外,由于输入是 Superpoint 的潜在特征,因此我们凭经验删除了位置嵌入。

《Masked-attention mask transformer for universal image segmentation》CVPR2022

经过线性投影后的 Superpoint 特征 ,来自上一层的查询向量 通过 Superpoint 交叉注意机制捕获上下文信息,可以表示为:


是 Superpoint 交叉注意力的输出, 输入查询向量 Z`−1 的线性投影,K,V 是 Superpoint 特征的不同线性投影。

是 Superpoint 注意力掩码。给定来自前一个预测头的预测 Superpoint 掩码 使用阈值 τ 过滤 Superpoint,如下


标志第 j 个 Superpoint 的第 i 个查询向量。根据经验,将 τ 设置为 0.5.通过 Transformer 解码器层堆叠, Superpoint 注意力掩码 自适应地约束前景实例内的交叉注意力。

“具体这个 A 是怎么定义计算并且使用的,所以这个 A 就是得到的结果?”

Shared Prediction Head

使用来自实例分支的查询向量 。用两个 MLP 分别来预测每个查询向量的类别,用 IoU-aware 分数评估提案的质量。具体来说,除了 Nclass 类别之外,我们还附加了“无实例”概率的预测,以便通过二分匹配将基本事实分配给提案,并将其他提案视为负面预测。此外,提案的排名深刻地影响实例分割结果,而在实践中,由于一对一的匹配方式,大多数提案会被视为背景,这导致提案质量排名的错位。因此,我们设计了一个分数分支来估计预测的 Superpoint 掩模和地面真实掩模的 IoU,以补偿未对准的结果。

此外,给定来自 mask 分支的 mask-aware 特征 时,我们直接将其乘以查询向量 Z ,然后使用 sigmoid 函数来生成 Superpoint 掩码预测。

Iterative Prediction

考虑到基于 Transformer 的模型收敛速度较慢(Carion et al. 2020),我们将每个 Transformer 解码器层输出送入到共享预测头中以生成建议。特别地,将 定义为尚未捕获 3D 场景实例信息的查询向量。我们还将 送入到共享预测头中,即使它对于任何 3D 场景都是等变的。

在训练期间,我们将真实值分配给具有不同层输入 Z` 的共享预测头的所有输出。我们发现它将提高模型的性能并且查询向量特征将被逐层更新。我们在推理时只使用最后一个预测头的输出作为最终实例提案,这样可以避免提案的冗余并加快推理速度。

3.3 Bipartite Matching

通过固定数量的提案,我们将真实标签分配制定为最优分配问题。形式上,我们引入了成对匹配成本 Cik 来评估第 i 个提案和第 k 个真实值的相似度。

由分类概率和 Superpoint 掩模匹配成本 确定:


其中 表示第 i 个 proposal 的类别 。

“这个 的损失是有参考文献的。”

3.4 Inference

输入点云,直接预测具有分类,IoU-aware 得分和相应的 Superpoint 掩码的 K 个实例。我们还通过平均每个 Superpoint 掩码中高于 0.5 的 Superpoint 概率来获得掩码分数 {msi ∈ [0, 1]}K。SPFormer 在后处理中没有非极大值抑制,保证了其快速的推理速度。

4.实验结果

4.1 Benchmark Result

文章里贴出来的结果(2022.11.7)


目前 2023.10.1 Scannet 官网上的结果,实际也蛮好的。Mask3D 算是同期的工作。



在 ScanNetv2 验证集上测试了不同方法的每个场景的运行时间,如表 4 所示。为了公平比较,上述所有方法中的 SSC 和 SC 层均由 spconv v2.1 实现。我们详细报告每个方法组件的运行时间(每个模型的最后部分包含自己的后处理)。由于我们的 SPFormer 和(Liang et al. 2021)基于 Superpoint ,因此这里我们添加 Superpoint 提取(s.p.提取)运行时来测试原始输入点云的推理速度。然而,超级点可以在训练阶段进行预计算,这可以显著减少模型训练时间。即使使用 Superpoint 提取,与现有方法相比,SPFormer 仍然是最快的方法。

4.2 消融实验


第一个就是没有 Superpoint ,直接将主干网络的输出输入到查询解码器中,结果很差。因为查询向量无法关注到数十万个点。采用 Superpoint 在主干网络和查询解码器之间建起桥梁,可以提升性能。然后讨论二分匹配目标。将框匹配和按掩码匹配进行比较。Mask 匹配的性能更高。最后是增加了 IoU-aware 感知分数分支,进一步提升性能。


证明了本文使用的 Transformer 架构最为合适。(迭代预测、Attention mask、位置编码)



证明了 Dice 损失和 BCE 损失的结合效果最佳。


Superpoint 交叉注意机制的可视化。它呈现了查询向量中注意力权重和相应分割掩模的可视化。对于厨房场景的输入点云,上面一行是 heat map,显示查询向量和点之间的相对注意力权重。底行显示每个查询向量对应的掩模预测。放大以获得最佳视图。

5.总结

在本文中,作者提出了一种用于 3D 实例分割的新颖的端到端两阶段框架(SPFormer)。它可以被认为是基于提案的方法和基于分组的方法的组合。 SPFormer 具有新颖的混合 pipeline,将点云中自下而上的潜在特征分组为超级点,并通过查询向量作为自上而下的 pipeline 提出实例。 SPFormer 在 ScanNetv2 和 S3DIS 基准测试上均达到了最先进的水平,并保持了快速的推理速度。


发布于: 21 分钟前阅读数: 5
用户头像

AI阿辉

关注

某司工程师 2020-02-04 加入

AI计算机视觉算法工程师

评论

发布
暂无评论
【论文阅读】【三维场景点云分割】Superpoint Transformer for 3D Scene Instance Segmentation_深度学习_AI阿辉_InfoQ写作社区