图 1. 给定输入的彩色点云,对每个体素的占用大小进行回归,从而预测其所属实例占用的体素数量。自适应聚类方案同时考虑占用信息和嵌入距离,进一步应用于3D实例分割。

Abstract

如今,3D实例分割在机器人技术和增强现实中具有多种应用,需求量很大。与作为环境投影观察的2D图像不同,3D模型提供场景的度量重建,没有遮挡或尺度模糊。在本文中,我们将“3D occupancy size”定义为每个实例占用的体素数量。它具有预测鲁棒性的优点,在此基础上,OccuSeg提出了一种占用感知的3D实例分割方案。我们的多任务学习产生占用信号和嵌入表示,其中空间和特征嵌入的训练随着它们在尺度感知方面的差异而变化。我们的聚类方案受益于预测占用大小和集群占用大小之间的可靠比较,这鼓励了困难样本正确聚类并避免过度分割。所提出的方法在3个真实世界数据集(即ScanNetV2、S3DIS和SceneNN)上实现了最先进的性能,同时保持了高效率。

1. Introduction

过去十年见证了实时3D重建技术的快速发展[31、32、5、45、14],随着Kinect、Xtion等商用RGB-D深度传感器的普及。鉴于重建场景,有对3D环境的实例级语义理解越来越关注。更具体地说,3D实例分割旨在识别属于同一目标的点并同时推断其语义类别,这是移动机器人以及增强/虚拟现实应用程序的基本技术。

尽管最近随着深度学习技术的发展,对2D图像的场景理解取得了重大进展,但3D数据的不规则性带来了超出2D解决方案能力的新挑战。如之前的工作[17]所示,将最先进的2D实例分割MaskRCNN[16]预测直接投影到3D空间会导致性能不佳,这通过将3D几何信息整合到网络设计中来激发更好的解决方案。一种流行的3D实例分割解决方案[26,41,21]是将强大的3D特征提取器(空间稀疏卷积网络[13]或PointNet++[37])与传统的2D图像实例分割技术[16,7,27]结合起来.这种现有的3D解决方案不太关注利用3D模型本身的固有属性,它提供了环境的度量重建,而没有遮挡或尺度模糊。

图 2. 提出的实例分割方案概述。对于输入点云,我们的方法以RGB特征作为输入,并使用3D UNet进行逐点特征学习。通过用于3D实例分割的全连接层,将学习到的特征解码为各种表示。

在本文中,我们提出了一种占用感知3D实例分割方法OccuSeg。它以3D几何模型作为输入,并生成实例级语义信息的逐点预测,如图1所示。鉴于3D度量空间比基于2D图像的投影观测提供更可靠的感知3D场景,我们特别引入了“3D occupancy signal”,表示每个实例占用的体素数量。这样的占用信号代表了每个3D实例的固有和基本属性,显示出在3D设置下处理比例、位置、纹理、照明和遮挡的模糊性的强大潜力。因此,我们将新的占用信号编码到传统的3D实例分割管道中,即学习阶段,然后是聚类阶段。在我们的占用感知方法中,学习和聚类阶段都充分利用占用信号的特征,从而在公共数据集上具有竞争力的性能。mAP的可观增益(mAP中约为12.3)进一步表明我们的占用感知方法拥有在3D环境中保留实例的固有和基本性质的优越性。

更具体地说,学习阶段将彩色3D场景作为输入,并利用空间稀疏卷积方法[12]为每个体素[26、25、21]提取混合向量。它不仅学习了空间嵌入(图1(d))和特征嵌入(图1(e))等经典嵌入,而且还产生了表示目标级别的占用信号(图1(f))体积。为了充分利用语义和几何信息,我们的特征和空间嵌入受到不同目标的明确监督,并通过特征和空间嵌入距离的协方差估计进一步结合。对于聚类阶段,3D输入点云是使用基于图形的分割算法[9]根据几何和外观约束将超级体素分组。然后,为了将具有相似特征嵌入的超级体素合并到同一个实例中,我们利用自适应阈值来评估之间的相似性嵌入距离和占用大小。借助预测的占用大小和集群占用大小之间的可靠比较,我们的聚类鼓励困难样本正确聚类,并消除部分实例被识别为独立实例的误报。技术贡献总结如下。

更具体地说,学习阶段将彩色3D场景作为输入,并利用空间稀疏卷积方法[12]为每个体素[26、25、21]提取混合向量。它不仅学习了空间嵌入(图1(d))和特征嵌入(图1(e))等经典嵌入,而且还产生了表示目标级别的占用信号(图1(f))体积。为了充分利用语义和几何信息,我们的特征和空间嵌入受到不同目标的明确监督,并通过特征和空间嵌入距离的协方差估计进一步结合。对于聚类阶段,3D输入点云是使用基于图形的分割算法[9]根据几何和外观约束将超级体素分组。然后,为了将具有相似特征嵌入的超级体素合并到同一个实例中,我们利用自适应阈值来评估之间的相似性嵌入距离和占用大小。借助预测的占用大小和集群占用大小之间的可靠比较,我们的聚类鼓励硬样本正确聚类,并消除部分实例被识别为独立实例的误报。技术贡献总结如下。

  • 我们提出了一种占用感知3D实例分割方案OccuSeg。它在三个公共数据集上实现了最先进的性能:ScanNetV2[4]、S3DIS[1]和SceneNN[18],在所有指标中以显着的优势排名第一,同时保持高效率,例如,mAP增益为12.3在ScanNetV2基准测试上。

  • 特别是,本文提出了一种新的占用信号,它可以预测每个实例的占用体素的数量。占用信号与特征和空间嵌入的组合共同学习,并用于指导3D实例分割的聚类阶段。

2. Related Work

2D Instance Segmentation. 2D实例分割方法通常分为两类:基于提议的方法和无提议的方法。基于提议的方法[10,6,16,15,23,44]首先生成包含目标的区域提议(预定义的矩形),并进一步将每个提议内的像素分类为目标或背景。通过认为卷积算子是平移不变的,因此不能很好地区分不同位置的相似目标,Novotny等人[33]提出了基于每个像素坐标的半卷积算子,以实现更好的实例分割。

另一方面,无提议方法[24、7、8、20、22]为每个像素学习一个嵌入向量,并在嵌入空间中应用一个聚类步骤作为实例分割的后处理。Brabandere等人[7]提出训练每个像素的嵌入向量,并采用判别成本来鼓励属于同一实例的像素尽可能靠近,而不同实例的嵌入中心彼此远离。Liang等人[24]对每个像素的指向目标中心的偏移向量进行回归,并进一步使用预测的中心从“投票”角度进行实例分割[22]。最近,Neven等人[30]引入了一种可学习的聚类带宽,而不是使用手工制作的成本函数来学习嵌入,从而实现了实时准确的实例分割。

虽然所有这些方法都在2D领域取得了可喜的成果,但扩展到3D领域并非易事。如何利用3D实例的基本属性仍然是一个具有挑战性的问题。

3D Instance Segmentation. 与具有规则像素网格的2D图像不同,3D点云在物理空间中的不规则分布对3D实例分割提出了新的挑战。先锋作品[43, 40, 17]尝试通过将输入点体素化为统一体素,并改为应用3D卷积,将2D卷积神经网络直接扩展到3D空间。然而,大多数计算都浪费在不活动的空体素上。因此,最近的方法利用更可行的3D特征提取器来解决这个问题。基于点的实例分割方法[41, 46, 48]直接使用无序点云作为输入,并使用置换不变神经网络PointNet[36, 37]进行特征提取。而体积方法[26, 25, 21]采用空间稀疏卷积网络(SSCN)[12, 2]来省略使用稀疏卷积技术对非活动体素的计算。

图 3. 在同一3D场景的不同视角下进行2D观察的玩具示例。每个实例的占用像素/体素的数量(表示为占用率)在2D图像上是不确定的,但可以对重建的3D模型进行稳健的预测。

具体来说,SGPN[41]建议学习所有点对的相似度矩阵,在此基础上合并相似点以进行实例分割。3D BoNet[46]直接预测目标的边界框以进行有效的实例分割。GSPN[48]引入了一个生成形状提议网络,并依靠目标提议来识别3D点云中的实例。VoteNet[35]为种子点预测到相应目标中心的偏移向量,然后是一个聚类模块以生成目标建议。此外,3DSIS[17]通过将从图像上的2D卷积提取的特征反向投影到3D空间来联合学习2D和3D特征。它进一步将3D卷积应用于基于提案的3D实例分割的体积特征学习。对于无提议的3D实例分割,MASC[26]将SSCN架构与跨多个尺度的实例亲和力预测相结合。Liang等人[25]在SSCN的卓越性能之上应用嵌入学习[7]。Lahoud等人[21]进一步将每个目标的方向信息与语义特征嵌入相结合。

3. Methods

回想一下,我们的目标是,我们将体素化的3D彩色场景作为输入,并为每个体素生成一个3D目标实例标签,其中属于同一目标的体素共享一个唯一的实例标签。

检查上述方法,其中很少有人明确利用与2D图像观察不同的3D模型的固有性质:在度量空间中重建环境而没有遮挡或尺度模糊。如图3所示,对于3D空间中的相同实例,其在2D图像上的观察结果可能会有很大差异。每个实例的占用像素/体素的数量(表示为占用)在2D图像上是不可预测的,但可以从重建的3D模型中稳健地预测。

在占用信号的基础上,我们提出了一种占用感知的3D实例分割方案。管道如图2所示。虽然它遵循经典的学习后聚类过程,但学习阶段和聚类阶段都不同于现有方法。首先,输入3D场景以2cm的分辨率进行体素化,然后输入用于特征提取的3D卷积神经网络(UNet[38])。然后,将学习到的特征转发给特定任务的头部,以学习每个输入体素的不同表示,包括语义分割,旨在分配类标签、特征和空间嵌入,以及占用回归(第3.1节)。最后,执行基于图的占用感知聚类方案,该方案利用预测的占用信息和前一阶段的特征嵌入(第3.2节)。请注意,所有3D卷积都是使用子流形稀疏卷积网络[13]实现的,以利用输入3D场景的稀疏性。附录中提供了网络的详细信息。

3.1. Multi-task Learning

为了共同利用来自3D场景的固有占用以及语义和空间信息,我们提出了一个多任务学习框架来学习第iii个输入体素的任务特定表示,包括(1)用于语义分割的ci\mathbf{c}_ici,其目标是分配类别标签;(2)si\mathbf{s}_isidi\mathbf{d}_idi用于联合特征和空间嵌入,以及对应的bi\mathbf{b}_ibi用于协方差预测以融合特征和空间信息;(3)oio_ioi用于入住率回归。网络经过训练以最小化联合成本函数Ljoint \mathcal{L}_{\text {joint }}Ljoint

Ljoint =Lc+Le+Lo(1)\mathcal{L}_{\text {joint }}=\mathcal{L}_{\mathrm{c}}+\mathcal{L}_{\mathrm{e}}+\mathcal{L}_{\mathrm{o}} \tag{1} Ljoint=Lc+Le+Lo(1)

这里Lc\mathcal{L}_{\mathrm{c}}Lc是用于语义分割的传统交叉熵损失[11]。Le\mathcal{L}_{\mathrm{e}}Le旨在学习一个嵌入向量,该向量同时考虑特征和空间嵌入以进行实例分割(第3.1.1节)。Lo\mathcal{L}_{\mathrm{o}}Lo用于回归每个体素所属实例的占用大小(第3.1.2节)。

3.1.1 Embedding Learning

与以前直接连接特征和空间嵌入的方法[33]不同,我们建议将它们明确分离并以不同的目标监督它们的学习过程。我们的关键观察是,虽然空间嵌入是尺度感知的并且具有明确的物理解释,例如从当前体素到其所属实例的空间中心的偏移向量,但特征嵌入存在固有的模糊尺度,因此必须进行正则化使用额外的成本函数。两个嵌入都使用协方差估计进一步正则化。我们嵌入Le\mathcal{L}_{\mathrm{e}}Le的学习函数由三个项组成,即空间项Lsp\mathcal{L}_{\mathrm{sp}}Lsp、特征项Lse\mathcal{L}_{\mathrm{se}}Lse和协方差项Lcov\mathcal{L}_{\mathrm{cov}}Lcov

Le=Lsp+Lse+Lcov .(2)\mathcal{L}_{\mathrm{e}}=\mathcal{L}_{\mathrm{sp}}+\mathcal{L}_{\mathrm{se}}+\mathcal{L}_{\text {cov }} . \tag{2} Le=Lsp+Lse+Lcov.(2)

Spatial Term.iii个体素的空间嵌入di\mathbf{d}_idi是一个回归到目标中心的3维向量,使用以下空间项进行监督:

其中CCC是输入 3D场景中的实例数,NcN_cNc是第ccc个实例中的体素数,μi\mu_iμi表示第ccc个实例的第iii个体素的3D位置。

Feature Term. 特征嵌入si\mathbf{s}_isi是使用由三个项组成的判别损失函数[7]来学习的:

其中方差项Lvar \mathcal{L}_{\text {var }}Lvar将当前嵌入吸引到每个实例的平均嵌入,距离项Ldist \mathcal{L}_{\text {dist }}Ldist将实例推离彼此,正则化项Lreg \mathcal{L}_{\text {reg }}Lreg将所有实例吸引到原点以保持激活有界。详细配方如下。

这里,uc=1Nc∑i=1Ncsi\mathbf{u}_c=\frac{1}{N_c} \sum_{i=1}^{N_c} \mathbf{s}_iuc=Nc1i=1Ncsi表示第ccc个实例的平均特征嵌入。预定义阈值δv\delta_vδvδd\delta_dδd设置为0.1和1.5,确保实例内嵌入距离小于实例间距离。

Covariance Term. 协方差项旨在为每个实例学习最佳聚类区域。令bi=(σsi,σdi)\mathbf{b}_i=\left(\sigma_s^i,\sigma_d^i\right)bi=(σsi,σdi)表示第ccc个实例中第iii个体素的预测特征/空间协方差。通过对bi\mathbf{b}_ibi进行平均,我们得到(σsc,σdc)\left(\sigma_s^c, \sigma_d^c\right)(σsc,σdc),即第ccc个实例的嵌入协方差。然后,第iii个体素属于第ccc个实例的概率,记为pip_ipi,表示为:

其中ec=1Nc∑k=0Nc(μk+dk)\mathbf{e}_c=\frac{1}{N_c} \sum_{k=0}^{N_c}\left(\mu_k+\mathbf{d}_k\right)ec=Nc1k=0Nc(μk+dk)表示第ccc个实例的预测空间中心。由于对于属于第ccc个实例的体素,预计pip_ipi大于 0.5,因此协方差项由二元交叉熵损失表示,

其中yi=1y_i=1yi=1表示iii属于ccc,否则yi=0y_i=0yi=0NNN表示输入点云中的点数。

3.1.2 Occupancy Regression

为了利用3D设置下的占用信息,对于第ccc个实例中的第iii个体素,我们预测一个正值oio_ioi来表示当前实例占用的体素数量。然后,oio_ioi的平均值将作为当前实例的预测占用大小。为了更稳健的预测,我们回归对数而不是原始值并制定以下占用项,

图 4.ScanNet V2[4]验证集上相对预测误差的累积分布函数。

其中NcN_cNc是第ccc个实例中的体素数。

为了评估我们的占用预测策略的可行性,我们使用相对预测误差RcR_cRc来衡量第ccc个实例的占用预测性能,

我们特别在图4中绘制了RcR_cRc的累积分布函数。对于ScanNet V2数据集[4]的验证集中的4000多个实例,预测了超过68%的实例,相对误差小于0.3,这说明了我们为以下聚类阶段的入住率回归。

3.2. Instance Clustering

在本小节中,在前一阶段的多表示学习的基础上,引入了一种基于图的占用感知聚类方案来解决推理过程中的3D实例分割问题。具体来说,我们采用自下而上的策略,并使用有效的基于图的分割方案[9]将输入体素分组为超级体素。与2D空间中的超像素表示[39, 47]相比,由于几何连续性或局部凸性约束[3],超体素表示可以更好地分离不同实例,其中3D空间中的实例边界更容易识别。

Ωi\Omega_iΩi表示属于超体素viv_ivi的所有体素的集合,我们将viv_ivi的空间嵌入Di\mathbf{D}_iDi定义为,

其中∣Ωi∣\left|\Omega_i\right|Ωi表示Ωi\Omega_iΩi中的体素数。viv_ivi的特征嵌入Si\mathbf{S}_iSi、占用率OiO_iOi和协方差σsi,σdi\sigma_s^i,\sigma_d^iσsi,σdi是基于对属于viv_ivi的所有体素的类似平均操作计算的。我们进一步定义以下占用率rir_iri来指导聚类步骤,
ri=Oi∣Ωi∣(13)r_i=\frac{O_i}{\left|\Omega_i\right|} \tag{13} ri=ΩiOi(13)
注意ri>1r_i>1ri>1表示viv_ivi中的体素太多进行实例分割,否则viv_ivi应该吸引更多的体素。

图 5. OccuSeg与先前方法[21]在ScanNet V2[4]的验证集上的定性比较。OccuSeg生成更一致的实例标签并成功区分附近的小实例,这要归功于所提出的占用感知聚类方案。

给定超体素表示,建立无向图G=(V,E,W)G=(V, E, W)G=(V,E,W),其中顶点vi∈Vv_i \in VviV表示生成的超体素,ei,j=(vi,vi)∈Ee_{i, j}=\left(v_i, v_i\right) \in Eei,j=(vi,vi)E 表示权重为wi,j∈Ww_{i, j} \in Wwi,jW的顶点。权重wi,jw_{i, j}wi,j表示viv_ivivjv_jvj之间的相似度。这里wi,jw_{i, j}wi,j被表述为

其中σs,σd\sigma_s, \sigma_dσs,σdrrr表示合并viv_ivivjv_jvj的虚拟超体素的特征协方差、空间协方差和占有率。

请注意,较大的权重表示viv_ivivjv_jvj属于同一实例的可能性较高。在计算合并权重的过程中,我们的占用率有助于惩罚过度分割的实例,并鼓励部分实例合并在一起,如图5所示。

对于EEE中的所有边,我们选择权重wi,jw_{i, j}wi,j最高的边ei,je_{i, j}ei,j,如果wi,j>T0w_{i, j}>T_0wi,j>T0,则合并vi,vjv_i, v_jvi,vj作为新顶点,其中合并阈值T0T_0T0设置为0.5。图GGG然后在每次合并操作后更新。这个过程被迭代,直到没有一个权重大于T0T_0T0。最后,如果GGG中的剩余顶点的占用率rrr满足0.3<r<20.3<r<20.3<r<2的约束以拒绝实例分割中的误报,则将其标记为实例。

3.3. Network Training

我们采用简单的类似UNet的结构[38]从带有颜色信息的输入点云中提取特征。网络详细信息见附录。为了效率,采用[19]中基于块的稀疏卷积策略,比SCN[13]的原始实现快4倍。该网络使用Adam优化器进行训练,初始学习率为1e−31 \mathrm{e}-31e3。对于包括ScanNetV2[4]、Stanford3D[1]和SceneNN[18]在内的所有数据集,如第4节的实验所示。如图4所示,我们使用相同的超参数并从头开始训练网络320个epoch。

5. Discussion and Conclusion

我们提出了OccuSeg,一种用于3D场景的占用感知实例分割方法。我们的学习阶段利用特征嵌入和空间嵌入,以及新颖的3D占用信号来暗示3D目标的固有属性。占用信号进一步指导我们基于图的聚类阶段正确合并硬样本并禁止过度分割的聚类。大量的实验结果证明了我们的方法的有效性,它大大优于以前的方法并保持了高效率。在未来的工作中,我们将通过为部分重建的目标结合定制设计来改进我们的方法。此外,我们打算研究子目标级3D实例分割并进一步提高效率,使高质量3D实例分割在AR/VR、游戏和移动机器人的巨大应用中得到实际应用。

论文链接:https://openaccess.thecvf.com/content_CVPR_2020/html/Han_OccuSeg_Occupancy-Aware_3D_Instance_Segmentation_CVPR_2020_paper.html

References


OccuSeg: Occupancy-aware 3D Instance Segmentation相关推荐

  1. CVPR 2020——OccuSeg: Occupancy-aware 3D Instance Segmentation

    OccuSeg: Occupancy-aware 3D Instance Segmentation Abstract (一)Introduction (二)Related Work (三)Method ...

  2. 【文献翻译CVPR2022】SoftGroup for 3D Instance Segmentation on Point Clouds

    点云三维实例分割的软分组 目录 点云三维实例分割的软分组 摘要 1 简介 2 相关工作 3 方法 3.1 逐点预测网络 3.2 软分组 3.3 自上而下的精细化 3.4 多任务学习 4 实验 4.1 ...

  3. (NeurIPS 2019) Learning Object Bounding Boxes for 3D Instance Segmentation on Point Clouds

    Abstract 我们提出了一种新颖的.概念上简单的通用框架,用于在3D点云上进行实例分割.我们的方法称为3D-BoNet,遵循每点多层感知器(MLP)的简单设计理念.该框架直接回归点云中所有实例的3 ...

  4. 3D Instance Segmentation via Multi-Task Metric Learning

    Abstract 我们提出了一种新方法,用于密集3D体素网格的实例标签分割.我们的目标是使用深度传感器或多视图立体方法获取的体积场景表示,并使用语义3D重建或场景完成方法进行处理.主要任务是学习有关单 ...

  5. MASC: Multi-scale Affinity with Sparse Convolution for 3D Instance Segmentation

    Abstract 我们提出了一种基于稀疏卷积和点亲和力预测的 3D 实例分割新方法,该方法指示两个点属于同一实例的可能性.所提出的网络基于子流形稀疏卷积[3],处理体素化点云并预测每个占用体素的语义分 ...

  6. MASKGROUP: HIERARCHICAL POINT GROUPING AND MASKING FOR 3D INSTANCE SEGMENTATION

    ABSTRACT 本文研究了 3D 实例分割问题,该问题在机器人技术和增强现实等现实世界中具有多种应用.由于3D物体的周围环境非常复杂,不同物体的分离非常困难.为了解决这个具有挑战性的问题,我们提出了 ...

  7. (ICCV 2021) Hierarchical Aggregation for 3D Instance Segmentation

    Abstract 点云上的实例分割是3D场景感知中的一项基本任务.在这项工作中,我们提出了一个简洁的基于聚类的框架HAIS,它充分利用了点和点集的空间关系.考虑到基于聚类的方法可能导致过度分割或分割不 ...

  8. 3D Instance Embedding Learning With a Structure-Aware Loss Function for Point Cloud Segmentation

    Abstract 这封信提出了一个在点云上进行3D实例分割的框架.使用3D卷积神经网络作为主干,同时生成语义预测和实例嵌入.除了嵌入信息,点云还提供反映点之间关系的3D几何信息.考虑到这两种类型的信息 ...

  9. 【论文阅读/翻译笔记】Deep Snake for Real-Time Instance Segmentation

    原论文标题:Deep Snake for Real-Time Instance Segmentation 原论文链接:https://arxiv.org/abs/2001.01629 翻译:张欢荣 用 ...

最新文章

  1. 交叉熵损失函数数学推导
  2. .bashrc: line 123: syntax error: unexpected end of file
  3. Jena文档《An Introduction to RDF and the Jena RDF API》的译文
  4. 通过批处理文件自动安装apk到手机
  5. 简单说一下elasticsearch安装
  6. Android中Intent传递Object和ArrayListObject对象---笔记
  7. (转)基因芯片数据GO和KEGG功能分析
  8. 深度学习笔记(16) 误差分析(一)
  9. HTML元素和标签的区别
  10. java中sping基础_Java回顾之Spring基础
  11. 【机房收费系统】---如何引用Microsoft Excel xx.0 Object Library
  12. 关于js的冒泡--新手踩坑案例
  13. 【python3.X】python学习中排雷过程^_^
  14. AcWing 240. 食物链
  15. [Hadoop]Sqoop 1.4.2中文文档(二)之数据导出
  16. matlab两张图片合成一张_MATLAB|多个Figure图按子图合成一个Figure
  17. linux zookeeper开机启动
  18. ORACLE11g数据库安装-刘建-专题视频课程
  19. php调用手写板,手写板使用起来方便、快捷 其原理你知道吗?
  20. 解决“bipwallet\wallet.py decoding str is not supported“问题

热门文章

  1. Python邮件附件保存
  2. 【自】2014会计准则科目和主要账务处理对照
  3. mysql中的declare_sql中declare是什么意思
  4. SQL 视图 简记
  5. 计算机那些事(8)——图形图像渲染原理
  6. 小米id锁状态查询_揭秘:苹果隐藏ID到底是什么?你可能就被坑了!
  7. 关于springboot访问页面
  8. Android Studio 实现将视频资源嵌入APP中
  9. python水印检测_使用Python检测照片中的特定水印(无SciPy)
  10. 微信公众平台找自己APPID