资讯详情

(CVPR 2022) SoftGroup for 3D Instance Segmentation on Point Clouds

Abstract

语义分割是现有最先进的三维实例分割方法,然后分组。语义分割时进行hard predictions,使每一点都与单一类别有关。然而,由hard decision错误会传播到分组,导致(1)预测的实例和ground truth重叠度低,(2)大量false positives。为了解决上述问题,本文提出了一种叫做SoftGroup通过自下而上的三维实例分割方法soft grouping完成自上而下的细化。SoftGroup允许每个点与多个类别相关联,以减少语义预测错误带来的问题,并通过学习将其归类为背景来抑制false positive实例。不同数据集和各种评价指标的实验结果证明SoftGroup的功效。它的性能超过了以前最强的方法 A P 50 A P_{50} AP50而言,它在ScanNet v2 hidden test数据集的性能是 6.2%,在S3DIS Area 5的性能为 6.8%。SoftGroup在ScanNet v2数据集上,单台Titan X每次扫描时间为345ms。两个数据集的源代码和训练模型都可以https: //github.com/thangvubk/SoftGroup.git上找到。

1. Introduction

由于3D传感器的快速发展和大规模3D对于3D对数据场景的理解越来越受到关注。点云上的实例分割是3D感知任务是广泛应用于自动驾驶、虚拟现实和机器人导航的基础。实例分割处理点云输出每个检测目标的类别和实例mask。

最先进的方法[4,15,20]将3D实例分割视为自下而上pipeline。他们学习逐点语义标签和中心偏移量,然后将具有较小几何距离的相同标签的点分组成实例。在这些分组算法中hard实施语义预测的一点与单个类相关。在许多情况下,目标是局部模糊的,输出语义预测显示不同部分的不同类别,因此使用hard实例分组的语义预测会导致两个问题:(1)预测实例和ground-truth值之间的低重叠和(2)来自错误语义区域的额外false-positive实例。图1显示了一个可视化示例。在语义预测结果中,橱柜的某些部分被误预测为其他家具。当使用hard语义预测进行分组时,语义预测误差会传播到实例预测。结果,预测的橱柜实例和ground-truth重叠度很低,另一个家具实例是误报。

图 1. 是否有相同语义预测结果?SoftGroup实例分割。最后一行显示只用于语义预测的调色板。实例预测由不同目标的不同随机颜色来解释。在语义预测结果中,橱柜的某些区域被误预测为其他家具。如果没有SoftGroup,这些错误将传播到实例预测。 SoftGroup解决这个问题,生成更准确的例子mask。

本文提出SoftGroup通过考虑soft语义分数不是分组hard one-hot语义预测可以解决这些问题。 SoftGroup如图2所示。我们发现,错误语义预测的目标部分对真实语义类仍有合理的分数。 SoftGroup目标属于哪个类别取决于分数阈值,而不是参数的最大值。对soft分组语义分数会产生真实语义的准确例子。通过学习将语义预测错误的例子分为背景来抑制。为此,我们根据和ground truth的最大交集(IoU)将实例proposal视为正样本或负样本,然后构建自上而下的细化阶段,细化正样本,抑制负样本。如图1所示,SoftGroup准确的例子可以从不完美的语义预测中生成mask。

SoftGroup概念简单易实现。 ScanNet v2[6]和S3DIS[1]基准数据集中的实验显示了我们方法的有效性。值得注意的是, A P 50 \mathrm{AP}_{50} AP50而言,SoftGroup在ScanNet hidden test数据集上以 6.2%的显著优势和在S3DIS Area 5上 6.8%的优势明显优于以前最先进的方法。 SoftGroup快速处理一个ScanNet场景需要345毫秒。总之,我们的贡献是三倍。

  • 我们提出了SoftGroup,它对soft分组语义分数,避免从hard对实例分割错误传播的语义预测。

  • 我们提出了一个自上而下的细化阶段来纠正、细化样本,并抑制错误语义预测引入的误报。

  • 我们对具有不同评价指标的多个数据集进行了广泛的实验报告,显示了对现有最先进方法的显著改进。

2. Related work

点云表示是3D常用的场景理解数据格式。为处理点云,早期方法[2、3、36、37]根据点的统计属性提取手工制作的特点。从点中提取最近的深度学习方法。基于PointNet方法[32,33]提出通过共享多层传感器(MLP)处理点,然后从对称函数(如最大池化)中聚合区域和整体特征。点云处理采用卷积法。连续卷积法[23、40、44、45]学习与局部空间分布相关的核心。离散卷积方法[5,8,13,19,25,34]学习从点量化获得的规则网格的内核。 Transformers[18, 基于图的方法[38, 39, 还提出了解决点云数据不规则性的建议。

基于proposal的方法考虑了一种自上而下的策略,该策略生成区域proposal,然后在每个proposal目标目标。现有的基于proposal的3D点云法在很大程度上受到了影响Mask-R CNN用于2D影响图像成功。为处理点云数据不规则,Li等人[47]提出了GSPN,采用综合分析策略生成高目标3D proposal,以区域为基础PointNet进行细化。Hou等人[12]提出3DSIS,它结合了多视图RGB输入和3D几何来预边界框和实例mask。Yang等人[46]提出了3D-BoNet,它直接输出一组边界框,无需生成anchor和非极大值抑制,然后通过逐点二元分类器对目标进行分割。Liu等人[22]提出GICN将每个目标的实例中心近似为高斯分布,对其进行采样以获得目标候选,然后生成相应的边界框和实例mask。

基于分组的方法依赖于自下而上的pipeline,该pipeline产生逐点预测(例如语义图、几何位移或潜在特征),然后将点分组到实例中。Wang等人[41]提出SGPN来为所有点构建特征相似性矩阵,然后将具有相似特征的点分组为实例。Pham等人[29]提出了JSIS3D,它通过多值条件随机场模型合并语义和实例标签,并联合优化标签以获得目标实例。Lahoud等人[17]提出了MTML来学习特征和方向嵌入,然后在特征嵌入上执行mean-shift聚类以生成object segments,这些object segments根据它们的方向特征一致性来评分。Han等人[9]介绍了OccuSeg,它执行由目标占用信号引导的基于图形的聚类,以获得更准确的分割输出。Zhang等人[48]考虑了一种概率方法,将每个点表示为三变量正态分布,然后进行聚类步骤以获得目标实例。Jiang等人[15]提出了点群算法来分割原始点集和偏移点集上的目标,该算法简单而有效,可将具有相同标签的邻近点进行分组,并逐步扩展该组。Chen等人[4]扩展了PointGroup并提出了HAIS,它进一步吸收实例的周围片段,然后基于实例内预测来细化实例。Liang等人[20]SSTNet从预先计算的超级点构建树网络,然后遍历树并分割节点以获得目标实例。

常见的基于proposal和基于分组的方法各有优缺点。基于proposal的方法独立处理每个目标proposal,不受其他实例的干扰。基于分组的方法无需生成proposal即可处理整个场景,从而实现快速推理。然而,基于proposal的方法难以生成高质量的proposal,因为该点仅存在于目标表面上。基于分组的方法高度依赖于语义分割,使得语义预测中的错误传播到实例预测中。所提出的方法利用了这两种方法的优点并解决了它们的局限性。我们的方法被构建为一个两阶段的pipeline,其中自下而上的阶段通过对soft语义分数进行分组来生成高质量的目标proposal,然后自上而下的阶段处理每个proposal以细化正样本并抑制负样本。

图 2. 提取图1中的橱柜以说明我们方法的高级pipeline。基于软语义分数的软分组模块输出更准确的实例(上一个)。分类器处理每个实例并从错误的语义预测(较低的一个)中抑制实例。

3. Method

SoftGroup的整体架构如图3所示,分为两个阶段。在自下而上分组阶段,逐点预测网络(第3.1节)将点云作为输入并生成逐点语义标签和偏移向量。软分组模块(第3.2节)处理这些输出以产生初步的实例proposal。在自上而下的细化阶段,基于proposal,从主干中提取相应的特征,并用于预测类、实例mask和mask分数作为最终结果。

图 3.所提出方法的架构由自下而上的分组和自上而下的细化阶段组成。从输入点云中,U-Net主干提取点特征。然后语义和偏移分支预测语义分数和偏移向量,然后是软分组模块以生成实例proposal。特征提取层从实例proposal中提取主干特征。每个proposal的特征都被输入到一个微型U-Net中,然后是分类、分割和掩码评分分支,以获得最终实例。

3.1. Point-wise Prediction Network

逐点预测网络的输入是一组 N N N个点,每个点由其坐标和颜色表示。点集被体素化以将无序的点转换为有序的体积网格,这些网格被馈送到U-Net风格的主干[35]以获得点特征。采用子流形稀疏卷积[8]来实现3D点云的U-Net。根据点特征,构造两个分支以输出逐点语义分数和偏移向量。

语义分支由两层MLP构建,并学习输出语义分数 S = { s 1 , … , s N } ∈ R N × N class  \boldsymbol{S}=\left\{\boldsymbol{s}_{1}, \ldots, \boldsymbol{s}_{N}\right\} \in \mathbb{R}^{N \times N_{\text {class }}} S={ s1​,…,sN​}∈RN×Nclass ​,用于 N class  N_{\text {class }} Nclass ​类上的 N N N个点。与现有方法[4,15]不同,我们直接对语义分数进行分组,而不将语义分数转换为one-hot语义预测。

与语义分支并行,我们应用两层MLP来学习偏移向量 O = { o 1 , … , o N } ∈ R N × 3 O= \left\{\boldsymbol{o}_{1}, \ldots, \boldsymbol{o}_{N}\right\} \in \mathbb{R}^{N \times 3} O={ o1​,…,oN​}∈RN×3,表示每个点到该点所属实例几何中心的向量。基于学习到的偏移向量,我们将点移动到相应实例的中心,以更有效地执行分组。

交叉熵损失和 ℓ 1 \ell_{1} ℓ1​回归损失分别用于训练语义和偏移分支。

L s e m a n t i c = 1 N ∑ i = 1 N C E ( s i , s i ∗ ) (1) L_{\mathrm{semantic}}=\frac{1}{N} \sum_{i=1}^{N} \mathrm{CE}\left(\boldsymbol{s}_{i}, s_{i}^{*}\right) \tag{1} Lsemantic​=N1​i=1∑N​CE(si​,si∗​)(1) L o f f s e t = 1 ∑ i = 1 N 1 { p i } ∑ i = 1 N 1 { p i } ∥ o i − o i ∗ ∥ 1 (2) L_{\mathrm{offset}}=\frac{1}{\sum_{i=1}^{N} \mathbb{1}_{\left\{\boldsymbol{p}_{i}\right\}}} \sum_{i=1}^{N} \mathbb{1}_{\left\{\boldsymbol{p}_{i}\right\}}\left\|\boldsymbol{o}_{i}-\boldsymbol{o}_{i}^{*}\right\|_{1} \tag{2} Loffset​=∑i=1N​1{ pi​}​1​i=1∑N​1{ pi​}​∥oi​−oi∗​∥1​(2)

其中 s ∗ s^{*} s∗是语义标签, O ∗ \boldsymbol{O}^{*} O∗是偏移标签,表示从一个点到该点所属实例的几何中心的向量(类似于[4, 15, 20]), 1 { p i } \mathbb{1}_{\left\{\boldsymbol{p}_{i}\right\}} 1{ pi​}​是指示点 p i \boldsymbol{p}_{i} pi​是否属于任何实例的指示函数。

3.2. Soft Grouping

软分组模块接收语义分数和偏移向量作为输入并生成实例proposal。首先,偏移向量用于将点移向相应的实例中心。为了使用语义分数进行分组,我们定义了一个分数阈值 τ \tau τ来确定一个点属于哪些语义类,允许该点与多个类相关联。给定语义分数 S ∈ R N × N class  \boldsymbol{S} \in \mathbb{R}^{N \times N_{\text {class }}} S∈RN×Nclass ​,我们遍历 N class  N_{\text {class }} Nclass ​类,并且在每个类索引处,我们对整个场景的一个点子集进行切片,该子集的分数(相对于类索引)高于阈值 τ \tau τ。我们按照[4, 15]对每个点子集进行分组。由于每个子集中的所有点都属于同一类,因此我们只需遍历子集中的所有点,并创建几何距离小于分组bandwidth b b b的点之间的链接即可获得实例proposal。对于每次迭代,对整个扫描的一个点子集进行分组,确保快速推理。整体实例proposal是来自所有子集的proposal的联合。

我们注意到现有的基于proposal的方法[12,22,46]通常将边界框视为目标proposals,然后在每个proposal中执行分割。直观地说,与实例高度重叠的边界框的中心应该靠近目标中心。但是,在3D点云中生成高质量的边界框proposals具有挑战性,因为该点仅存在于目标表面上。相反,SoftGroup依赖于更准确的point-level proposal,并且自然地继承了点云的分散属性。

由于来自分组的实例proposals的质量高度依赖于语义分割的质量,我们定量分析了 τ \tau τ对语义预测的召回率和精度的影响。类 j j j的召回率和精度定义如下。

recall ⁡ j = ∑ i = 1 N ( s i j > τ ) ∧ ( s i ∗ = j ) s i ∗ = j \operatorname{recall}_{j}=\sum_{i=1}^{N} \frac{\left(s_{i j}>\tau\right) \wedge\left(s_{i}^{*}=j\right)}{s_{i}^{*}=j} recallj​=i=1∑N​si∗​=j(sij​>τ)∧(si∗​=j)​ precision ⁡ j = ∑ i = 1 N ( s i j > τ ) ∧ ( s i ∗ = j ) s i j > τ (3) \operatorname{precision}_{j}=\sum_{i=1}^{N} \frac{\left(s_{i j}>\tau\right) \wedge\left(s_{i}^{*}=j\right)}{s_{i j}>\tau} \tag{3} precisionj​=i=1∑N​sij​>τ(sij​>τ)∧(si∗​=j)​(3)

图 4. 不同分数阈值 τ \tau τ语义预测的召回率和准确率。虚线表示硬语义预测的召回率和精度。

图4显示了与hard语义预测相比,具有不同分数阈值 τ \tau τ的召回率和精度(类的平均值)。使用hard语义预测,召回率为79.1%,这表明超过20%的类点数没有被预测覆盖。当使用分数阈值时,召回率随着分数阈值的降低而增加。但是,分数阈值小也会导致精度低。我们提出了一个自上而下的细化阶段来缓解低精度问题。精度可以解释为目标实例的前景和背景点之间的关系。我们将阈值设置为0.2,精度接近50%,导致前景和背景点之间的比率,以确保阶段是平衡的。

3.3. Top-Down Refinement

自上向下的细化阶段从自底向上的分组阶段对实例proposal进行分类和细化。特征提取器层处理每个proposals以提取其相应的主干特征。在预测分类分数、实例mask和后续分支的mask分数之前,提取的特征被输入到一个微小的U-Net网络(具有少量层的U-Net类型的网络)。

分类分支以全局平均池化层开始,聚合实例中所有点的特征,然后是MLP预测分类分数 C = { c 1 , … , c K } ∈ R K × ( N class  + 1 ) \boldsymbol{C}=\left\{\boldsymbol{c}_{1}, \ldots, \boldsymbol{c}_{K}\right\} \in \mathbb{R}^{K \times\left(N_{\text {class }}+1\right)} C={ c1

标签: 高精度mt高精度传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台