OccuSeg: Occupancy-aware 3D Instance Segmentation

  • Abstract
  • (一)Introduction
  • (二)Related Work
  • (三)Methods
    • 3.1. Multi-task Learning
      • 3.1.1 Embedding Learning
      • 3.1.2 Occupancy Regression
    • 3.2. Instance Clustering
    • 3.3. Network Training
  • (四)Experiments
    • 4.1. Qualitative Evaluation
    • 4.2. Quantitative Evaluation
    • 4.3. Complexity Analysis
    • 4.4. Ablation Study
  • (五)Discussion and Conclusion

Abstract

  • 定义“3D occupancy size”,即每个实例所占用的体素数。
  • 在此基础上,提出了一种基于occupancy-aware的三维实例分割方案OccuSeg。
  • 论文的多任务学习产生了 occupancy signal和embedding representations,在这两个representations中,对空间和特征嵌入的训练随着它们在scale-aware上的不同而不同。
  • 论文的聚类方案得益于预测的occupancy size 和聚类occupancy size 之间的可靠比较,这有助于正确地对hard samples进行聚类,避免过度分割。
  • 该方法在保持高效率的同时,在3个真实数据集(即ScanNetV2、S3DIS和SceneNN)上实现了最先进的性能。

(一)Introduction

  • 以三维几何模型为输入,逐点预测实例级语义信息.
  • 如图1所示。鉴于三维度量空间比基于2D图像的投影观察提供了更可靠的感知,特别引入了“3D occupancy signal”,表示每个实例所占用的体素的数量。
  • 这样的occupancy signal代表了每个3D实例的内在和基本属性,显示了处理三维设置下尺度、位置、纹理、光照和遮挡的模糊性的强大潜力。
  • 将新的occupancy signal编码到传统的三维实例分割管道中,即:学习阶段,聚类阶段。
  • 在occupancy-aware方法中,学习和聚类阶段都充分利用了occupancy signal的特征,从而在公共数据集上实现了竞争性能。

具体步骤:

  1. 学习阶段以彩色3D场景为输入,利用空间稀疏卷积方法为每个体素提取一个混合向量。它不仅学习了经典的嵌入方法,如空间嵌入(图1(d))和特征嵌入(图1(e)),还产生了occupancy signal(图1(f)),这意味着object-level volume。
  2. 为了充分利用语义信息和几何信息,特征和空间嵌入被明确地以不同的目标进行监督,并进一步通过对特征和空间嵌入距离的协方差估计进行组合。
  3. 在聚类阶段,使用基于图的分割算法<< Efficient
    graph-based image segmentation.>>,根据几何和外观约束将三维输入点云分组为超体素。
  4. 然后,将嵌入相似特征的超体素合并到同一实例中,利用自适应阈值评估嵌入距离与occupancy size的相似性。
  5. 借助预测的occupancy size和聚类occupancy size之间的可靠比较,论文的聚类方法使得hard samples 被正确地聚类,并消除了部分实例被识别为独立实例的假阳性。

贡献:

  1. 提出了一种基于occupancy-aware 的三维实例分割方案OccuSeg。它在三个公共数据集上实现了最先进的性能:ScanNetV2、S3DIS和SceneNN,在所有指标上都以显著的优势排名第一,同时保持高效率.
  2. 提出了一种新的occupancy signal,它可以预测每个实例中被占用的体素数量。将特征与空间嵌入相结合,共同学习occupancy signal,用于指导三维实例分割的聚类阶段。

(二)Related Work

~~

(三)Methods

目标:

  • 将一个体素化的3D彩色场景作为输入,并为每个体素生成一个3D对象实例标签,其中属于同一对象的体素共享一个惟一的实例标签。

现有方法不足:

  • 目前很少明确地利用了不同于2D图像观测的3D模型的固有特性:在没有遮挡或尺度模糊的情况下重建度量空间中的环境。

发现:

  • 如图2,同一实例在三维空间中,其在二维图像上的观测结果可能会有很大差异。每个实例占用的像素/体素数(表示occupancy)在二维图像上是不可预测的,但可以从重建的三维模型中得到可靠的预测。

论文idea:

在occupancy signal的基础上,提出了一种occupancy-aware的三维实例分割方案。虽然它遵循经典的学习再聚类过程,但是学习阶段和聚类阶段都不同于现有的方法。

网络流程:

  1. 首先将输入的三维场景在2cm分辨率下进行体素化,
  2. 然后送入三维卷积神经网络(UNet)进行特征提取。
  3. 将学习到的特征转发给task-specific heads,学习每个输入体素的不同表示,包括语义分割,目的是分配类标签,特征和空间嵌入,以及 occupancy regression(第3.1节)。
  4. 最后,提出了一种graph-based occupancy-aware clustering scheme,该方案利用了预测的occupancy information和前一阶段的feature embedding(第3.2节)。
  5. 所有的3D卷积都是使用子流形稀疏卷积网络实现的,利用了输入3D场景的稀疏性。 该网络的详细信息在附录中提供。

3.1. Multi-task Learning

目的: 同时利用三维场景中固有的occupancy以及语义和空间信息。

提出了一个多任务学习框架来学习第iii个输入体素的task-specific representations ,包括:

  1. 语义分割cic_ici,目的是分配类标签;
  2. sis_isidid_idi for 联合特征和空间嵌入,以及相应的bib_ibi for 协方差预测,以融合特征和空间信息;
  3. oio_ioi for occupancy regression。

对网络进行训练,使联合损失函数最小化:
L=Lc+Le+Lo−−−−−−−−−−(2)L=L_{c}+L_{e}+L_{o}----------(2)L=Lc+Le+Lo(2)

  • LcL_{c}Lc是一种传统的用于语义分割的交叉熵损失。
  • LeL_{e}Le目的是学习一种综合考虑feature and spatial embedding的嵌入向量,用于实例分割。
  • LoL_{o}Lo用于回归每个体素所属实例的occupancy size。
3.1.1 Embedding Learning

与以往直接将特征和空间嵌入相结合的方法不同,论文将它们分开,并用不同的目标监督它们的学习过程。

  • 虽然空间嵌入是尺度感知的,并且具有明确的物理解释,例如从当前体素到其所属实例的空间中心的偏移向量,
  • 但是特征嵌入存在固有的模糊尺度,因此必须使用附加的代价函数进行正则化。
  • 利用协方差估计进一步正则化了两个嵌入。
  • 用于嵌入LcL_{c}Lc的学习函数包含三个项的元素列表,即空间项LspL_{sp}Lsp、特征项LscL_{sc}Lsc和协方差项LcovL_{cov}Lcov:
    Le=Lsp+Lse+Lcov−−−−−−−−−−(2)L_{e}=L_{sp}+L_{se}+L_{cov}----------(2)Le=Lsp+Lse+Lcov(2)

Spatial Term.

iii个体素的空间嵌入did_idi是一个回归到对象中心的3维向量,使用以下空间术语对其进行监督:
Lsp=1C∑c=1C1Nc∑i=1Nc∥di+ui−1Nc∑i=1Ncui∥−−−−−−−−(3)L_{sp}=\frac{1}{C}\sum_{c=1}^{C}\frac{1}{N_{c}}\sum_{i=1}^{N_{c}}\left \| d_{i}+u_{i}-\frac{1}{N_{c}}\sum_{i=1}^{N_{c}}u_{i}\right \|--------(3)Lsp=C1c=1CNc1i=1Ncdi+uiNc1i=1Ncui(3)

  • CCC是输入3D场景中实例的数量
  • NCN_CNC是是第c个实例中的体素的数量
  • uiu_iui是第c个实例中第i个体素的3D位置。

Feature Term.

包含三个项的判别损失函数来学习特征嵌入sis_isi
Lsc=Lvar+Ldist+Lreg−−−−−−−−−−(4)L_{sc}=L_{var}+L_{dist}+L_{reg}----------(4)Lsc=Lvar+Ldist+Lreg(4)

  • Lvar.L_{var.}Lvar.将属于同一实例的特征拉到它们的平均值
  • Ldist.L_{dist.}Ldist.将实例彼此远离
  • Lreg.L_{reg.}Lreg.是一个正则化的术语, pulling the means towards the origin。
  • Lvar.=1C∑c=1C1Nc∑i=1Nc[∥μC−ϵi∥−δv]+2−−−−−−−−−−−−−−−(5)L_{var.}=\frac{1}{C}\sum_{c=1}^{C}\frac{1}{N_{c}}\sum_{i=1}^{N_{c}}\left [ \left \| \mu_{C}-\epsilon _{i}\right \|-\delta _{v}\right ]_{+}^{2}---------------(5)Lvar.=C1c=1CNc1i=1Nc[μCϵiδv]+2(5)
  • Ldist.=1C(C−1)∑CA=1C∑CB=1C[2δd−∥μCA−μCB∥]+2........CA≠CB−−−−−−−−−−(6)L_{dist.}=\frac{1}{C(C-1)}\sum_{C_{A}=1}^{C}\sum_{C_{B}=1}^{C}\left [2\delta _{d}- \left \| \mu_{C_{A}}-\mu_{C_{B}}\right \|\right ]_{+}^{2} ........ C_{A}\neq C_{B}----------(6)Ldist.=C(C1)1CA=1CCB=1C[2δdμCAμCB]+2........CA=CB(6)
  • Lreg.=1C∑C=1C∥μC∥−−−−−−−−−−−−(7)L_{reg.}=\frac{1}{C}\sum_{C=1}^{C}\left \|\mu _{C} \right \|------------(7)Lreg.=C1C=1CμC(7)
  • Uc=1Nc∑i=1NcsiU_c=\frac{1}{N_{c}}\sum_{i=1}^{N_{c}}s_{i}Uc=Nc1i=1Ncsi 表示第c个实例的平均特征嵌入。
  • 预定义的阈值δv=0.1δ_v=0.1δv=0.1δd=0.5δ_d=0.5δd=0.5,以确保实例内嵌入距离小于实例间距离。

Covariance Term.

协方差项旨在为每个实例学习最佳聚类区域。

  • bi=(σsi,σdi)b_i=\left ( \sigma _{s}^{i},\sigma _{d}^{i}\right )bi=(σsi,σdi)表示在第c个实例中第i个体素的预测特征/空间协方差。
  • 过对bib_ibi求平均值,得到第c个实例的嵌入协方差(σsc,σdc)\left ( \sigma _{s}^{c},\sigma _{d}^{c}\right )(σsc,σdc)
  • 将第iii个体素属于第ccc个实例的概率表示为pip_ipi
    pi=exp(−(si−Ucσsc)2−(ui+di−ecσdc)2)−−−−−−−−−−−−−−−(8)p_i=exp\left (-\left ( \frac{s_{i}-U_{c}}{\sigma _{s}^{c}}\right )^{2}- \left ( \frac{u_{i}+d_i-e_{c}}{\sigma _{d}^{c}}\right )^{2}\right )---------------(8)pi=exp((σscsiUc)2(σdcui+diec)2)(8)
    Lcov=−1C∑c=1C1Nc∑i=1Nc[yilog(pi)+(1−yi)log(1−pi)]−−−−(9)L_{cov}=-\frac{1}{C}\sum_{c=1}^{C}\frac{1}{N_{c}}\sum_{i=1}^{N_{c}}\left [ y_{i}log(p_i)+ (1-y_{i})log(1-p_i)\right ]----(9)Lcov=C1c=1CNc1i=1Nc[yilog(pi)+(1yi)log(1pi)](9)
  • ec=1Nc∑k=0Nc(μk+dk)e_{c}=\frac{1}{N_c}\sum_{k=0}^{N_{c}}\left ( \mu _{k}+d_{k}\right )ec=Nc1k=0Nc(μk+dk)表示第c个实例的预测空间中心。

由于对于属于第ccc个实例的体素,预期pip_ipi会大于0.5,因此协方差项由二元交叉熵损失表示:
Lcov=1C∑c=1C1Nc∑i=1Nc∥oi−log(Nc)∥−−−−−−−−−−−−−−−−−(10)L_{cov}=\frac{1}{C}\sum_{c=1}^{C}\frac{1}{N_{c}}\sum_{i=1}^{N_{c}}\left \| o_{i}-log(N_{c})\right \|-----------------(10)Lcov=C1c=1CNc1i=1Ncoilog(Nc)(10)

  • 其中yi=1y_i = 1yi=1表示iii属于ccc,yi = 0,否。
  • NNN表示输入点云中的点数。
3.1.2 Occupancy Regression
  1. 为了利用3D设置下的occupancy information,对于第ccc个实例中的第iii个体素,预测一个positive value oio_ioi指示当前实例占用的体素数。
  2. 然后,oio_ioi的平均值将用作当前实例的预计occupancy size。为了获得更可靠的预测,将对数而不是原始值进行回归,并制定以下 occupancy term:
    Lo=1C∑c=1C1Nc∑i=1Nc∥oi−log(Nc)∥−−−−−−−−−−−−−−(10)L_{o}=\frac{1}{C}\sum_{c=1}^{C}\frac{1}{N_{c}}\sum_{i=1}^{N_{c}}\left \| o_i-log(N_c)\right \|--------------(10)Lo=C1c=1CNc1i=1Ncoilog(Nc)(10)
    NcN_cNc是第c个实例中的体素数。
  3. 为了评估occupancy预测策略的可行性,使用相对预测误差RcR_cRc来衡量第ccc个实例的occupancy预测性能:
    Rc=∣Nc−exp(1Nc∑i=1Ncoi)∣Nc−−−−−−−−−−−−−−−−−−−−−−−(11)R_c=\frac{\left | N_c-exp\left ( \frac{1}{N_c}\sum_{i=1}^{N_c}o_i\right )\right |}{N_c}-----------------------(11)Rc=NcNcexp(Nc1i=1Ncoi)(11)

图释:

  1. RcR_cRc的累积分布函数图
  2. 对于ScanNetV2数据集的验证集中超过4000个实例,可以预测到超过68%的实例,相对误差小于0.3.
  3. 说明了occupancy regression对于接下来的聚类阶段的有效性。

3.2. Instance Clustering

引入了一种基于图的 occupancy-aware聚类方案来解决推理过程中的三维实例分割问题。

步骤:

  1. 采用自底向上的策略,使用高效的基于图的分割方案《Efficient graph-based image segmentation》将输入的体素分组为超体素。(超体素表示可以更好地分离不同的实例,由于具有几何连续性或局部凹凸约束,三维空间中的实例边界更容易识别。)
  2. Ωi\Omega _{i}Ωi表示属于超体素viv_ivi的所有体素的集合,定义viv_ivi的空间嵌入DiD_iDi为:
    Di=1∣Ωi∣∑k∈Ωi(di+μi)−−−−−−−−−−−−−−−−−−−(12)D_i=\frac{1}{|\Omega _{i}|}\sum_{k\in \Omega _{i}}^{}\left ( d_{i}+\mu _i\right )-------------------(12)Di=Ωi1kΩi(di+μi)(12) ∣Ωi∣|\Omega _{i}|Ωi表示Ωi\Omega _{i}Ωi的体素数量。
    feature embedding SiS_iSi, occupancy OiO_iOiviv_ivi的covariance σsi\sigma _{s}^{i}σsiσdi\sigma _{d}^{i}σdi都是基于similar averaging operation对所有属于viv_ivi的体素进行计算。
  3. 进一步定义occupancy ratio rir_iri 来指导聚类步骤,
    ri=Oi∣Ωi∣−−−−−−−−−−−−−−−−−−−(13)r_i=\frac{O_i}{\left | \Omega _i\right |}-------------------(13)ri=ΩiOi(13)ri>1r_i>1ri>1 表示有太多的体素在viv_ivi用于实例分割,否则viv_ivi应该attract更多的体素。
  4. 建立无向图G=(V,E,W)G=\left ( V,E,W\right )G=(V,E,W),顶点vi∈Vv_i∈VviV表示生成的超体素,ei,j=(vi,vj)∈Ee_{i,j}=\left ( v_i,v_j\right )\in Eei,j=(vi,vj)E表示权重为wi,j∈Ww_{i,j}\in Wwi,jW的成对顶点。
    wi,j=exp(−(∥Si−Sj∥σs)2−(∥Di−Dj∥σd)2)max(r,0.5)−−−−−−−−−−−−(14)w_{i,j}=\frac{exp(-\left ( \frac{\left \| S_i-S_j\right \|}{\sigma _{s}}\right )^{2}-\left ( \frac{\left \| D_i-D_j\right \|}{\sigma _{d}}\right )^{2})}{max\left ( r,0.5\right )}------------(14)wi,j=max(r,0.5)exp((σsSiSj)2(σdDiDj)2)(14)
    σs\sigma _{s}σsσd\sigma _{d}σdrrr表示合并 viv_ivi,vjv_jvj的virtual super-voxel的特征协方差、空间协方差和occupancy ratio。
    权重越大表示viv_ivi,vjv_jvj属于同一实例的可能性越大。在计算合并权重时,occupancy ratio有助于惩罚实例过分割,鼓励部分实例合并在一起,如图5所示。
  5. 对于EEE中的所有边,选择权重wi,jw_{i,j}wi,j最大的边ei,je_{i,j}ei,j,如果wi,j>T0w_{i,j}> T_0wij>T0合并viv_ivi,vjv_jvj作为一个新的顶点。合并阈值T0T_0T0设置为0.5。
  6. 在每次合并操作之后更新图GGG
  7. 重复此过程,直到所有权重均不大于T0T_0T0
  8. 最后,如果GGG中的其余顶点occupancy ratio rrr满足0.3<r<20.3 < r < 20.3<r<2的约束,则标记为实例,以避免实例分割的 false positives。

3.3. Network Training

  • 使用UNet-like structure,从带有颜色信息的输入点云中提取特征。
  • 为了提高效率,采用了基于块的稀疏卷积策略。
  • 使用Adam optimizer对网络进行训练,初始学习率为1e-3。
  • 对于数据集,ScanNetV2、Stanford3D和SceneNN,使用相同的超参数,320个epoch。

(四)Experiments

  • 硬件设备:笔记本电脑Microsoft Surface Book 2上进行的,该笔记本拥有NVIDIA GTX 1060(移动)GPU和Intel Core i7-8650U CPU。
  • 利用实时三维重建方法FlashFusion进行三维几何输入,在便携式设备上演示了在线三维实例分割。

4.1. Qualitative Evaluation

图6给出了公共数据集验证集上具有代表性的三维实例分割结果.

验证方法对真实场景的鲁棒性,在实时三维重建方法FlashFusion的基础上实现了在线三维实例分割。如图7所示,网络在ScanNetV2上进行了预训练,可以在真实场景中稳健地生成三维实例分割结果。

4.2. Quantitative Evaluation

ScanNetV2.

S3DIS.

SceneNN.

4.3. Complexity Analysis

4.4. Ablation Study

  • w/o_feature 代表没有 feature embedding
  • w/o_spatial 代表没有 spatial feature embedding
  • w/o occupancy 在学习阶段禁用occupancy prediction,在聚类阶段设置Eqn. 14中所有顶点的occupancy ratio rrr= 1

(五)Discussion and Conclusion

  1. OccuSeg,一种基于occupancy-aware的三维场景实例分割方法。
  2. 学习阶段利用特征嵌入和空间嵌入,以及一种新的三维 occupancy signal 来imply三维对象的固有属性。
  3. occupancy signal 进一步指导基于图的聚类阶段正确合并hard 样本,禁止过度分割聚类。
  4. 未来,结合针对部分重建对象的定制设计来改进方法。研究sub-object level的三维实例分割,并进一步提高效率,使高质量的三维实例分割实际应用于AR/VR、游戏和移动机器人的大量应用。

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

  1. OccuSeg: Occupancy-aware 3D Instance Segmentation

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

  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. CVPR 2020 | 港中文提出3D目标检测新框架DSGN

    ©PaperWeekly 原创 · 作者|张承灏 学校|中科院自动化所硕士生 研究方向|双目深度估计 本文介绍的是香港中文大学贾佳亚团队在 CVPR 2020 上提出的 3D 目标检测新框架--深度立 ...

  6. 计算机鹅点云,CVPR 2020 | 用于点云中3D对象检测的图神经网络

    论文原文:Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud 论文地址:https://www.amine ...

  7. (CVPR 2020)3DSSD: Point-based 3D Single Stage Object Detector

    摘要 目前,基于体素的3D单级检测器已经有很多种,而基于点的单级检测器仍处于探索阶段.在本文中,我们首先提出了一种轻量级且有效的基于点的3D单级目标检测器,名为3DSSD,在精度和效率之间取得了很好的 ...

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

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

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

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

最新文章

  1. 微信小应用,又一大神,音乐播放器
  2. docker命令大全
  3. MPLS 具有哪些特点?——Vecloud
  4. Kotlin极简教程:第7章 面向对象编程
  5. Python程序全局观--以温度转换为例
  6. VSS(2005)中如何强行签入文件
  7. python 网络编程----非阻塞或异步编程
  8. 考研心路历程2021北京交通大学计算机学院软件工程
  9. Linux实现ICMP PING代码
  10. const和readonly区别
  11. nc加载不了java,用友NC系统使用过程中常见问题和解决方法
  12. Map 转 json格式 保留null值的解决办法
  13. crt连接中兴服务器,利用SecureCRT实现中兴C220自动登录
  14. java字符串以什么结尾_java怎么判断一个字符串以什么结尾
  15. 触发器详解——(三)T触发器
  16. Google OpenThread 技术研讨会
  17. import image的坑
  18. 汇编综合实验--学生管理系统
  19. Java String字符串长度不足指定位数补0
  20. [AHK]Windows10中如何只通过键盘就将窗口移动到其他虚拟桌面?

热门文章

  1. 快速修复 bug 的技巧?初学者的痛点,教你一招搞定!
  2. 简介响应状态码1xx、2xx、5xx
  3. 了解 Tornado 框架
  4. 英寸与毫米的换算依据
  5. 2004古墓丽影黄金关卡——Lara在电影中:二号门
  6. 计算机小游戏有哪些,计算机有哪些单机游戏可以耐玩,4 G以下?
  7. c语言实现utf-8编码解码器
  8. 电脑如何备份文件,怎么同步?
  9. 三星android平板,三星也不忘Android平板,或推带虹膜识别的Galaxy Tab S4
  10. 冷战——婚姻生活的双刃剑