当前位置:网站首页>End-to-end 3D Point Cloud Instance Segmentation without Detection
End-to-end 3D Point Cloud Instance Segmentation without Detection
2022-06-30 08:04:00 【fish小余儿】
Abstract
3D实例分割在机器人和增强现实的环境感知中起着主导作用。最近为这项任务提出了许多基于深度学习的方法。这些方法要么依靠检测分支来提出目标,要么依靠分组步骤来组装相同的实例点。然而,基于检测的方法不能确保每个点的实例标签一致,而分组步骤需要参数调整并且计算量很大。在本文中,我们介绍了一种分配和抑制网络,称为AS-Net,以实现无需检测和单独的分组步骤的端到端实例分割。核心思想是将实例分割作为候选分配问题。首先,对一组候选实例进行采样。然后我们提出了一个分配模块用于候选分配和一个抑制模块来消除冗余候选。进一步寻求实例标签和实例候选之间的映射,以构建用于网络训练的实例分组损失。实验结果表明,我们的方法比以前的无检测方法更有效和高效。
1. Introduction
3D实例分割具有广泛的应用,从自主系统中的3D感知到增强现实和虚拟现实中的3D重建。例如,对于室内机器人来说,识别场景中的障碍物和目标至关重要,这样它才能与特定目标交互并在场景中移动。实现这一目标需要区分不同的语义标签以及具有相同语义标签的不同实例。因此,研究3D实例分割问题很重要。
从点云进行3D实例分割是一项非常具有挑战性的任务。在承受分散数据和额外维度带来的困难的同时,它也与二维对应物存在相同的问题。首先,实例标签是随机顺序的,这与语义标签有很大不同,很难以端到端的方式直接优化实例标签。其次,对实例分割有很大影响的实例数量在推理过程中是未知的,因此带来了额外的挑战。
图 1. 3D实例分割的不同框架示意图。(a)基于检测的框架,(b) detection-free框架, 我们的。请注意,在合并基于检测的结果时存在不一致或缺失的标签,如 (a) 中以红色和黄色突出显示的那样。
在2D/3D实例分割方面取得了很大进展[4, 7, 11, 12, 18, 22, 28, 29, 31]。一般来说,现有的方法可以分为两类:基于检测的和detection-free的。基于检测的方法[11, 12, 31]通过使用检测分支掩盖不同的目标,可以很好地处理随机实例标签和不规则数量的实例。但是,它们不能确保每个点的标签一致。例如,一个点可能会获得多个实例标签或没有标签,具体取决于包含它的分割区域的数量,如图1(a) 所示。另一方面,detection-free方法[18, 22, 28, 29]利用额外的分组步骤来回避排序和不规则数量的实例,例如使用mean-shift算法[22, 29],如图1(b) 所示。额外的组步骤通常依赖于超参数设置,如clustering bandwidth[21]以获得良好的性能。此外,这些方法通常优化代理目标而不是实例分割,例如分别最小化或最大化同一实例或两个不同实例的点之间的嵌入特征距离[4,22,28,29]。因此,训练目标和最终实例分割之间存在差距。
在本文中,我们提出了一个名为ASNet的新框架,旨在为无需检测的3D实例分割提供端到端解决方案。整个管道如图2所示。我们不是为不同的实例检测大量目标,而是采样一小组实例候选作为实例代表。然后实例分割变成了使用分配模块将点分配给不同候选者的问题。然后提出了一个抑制模块来屏蔽冗余候选者,以便可以驯服不规则数量的实例。最后,我们引入了实例标签和实例候选之间的映射,以便于直接优化具有随机实例顺序的实例分组。在图1中,我们说明了我们的框架与之前的框架之间的差异。
总之,我们的贡献是:
一种3D实例分割框架,它首先对一组候选实例进行采样,然后使用分配模块将点分配给不同的候选,并使用抑制模块消除重复的候选。
一种将实例标签映射到实例候选并促进实例分割的端到端训练的算法。
与现有方法相比,大量实验表明我们的方法以更快的运行速度取得了优异的结果。
2. Related Work
2D实例分割。 2D实例分割针对实例目标的语义分类和像素分组,由[6, 9]开创。最近,先进的深度学习极大地推动了实例分割的性能。以前的工作可以分为两类,即基于检测的方法和detection-free方法。
基于检测的方法要么采用滑动和分割过程[7、23],要么采用联合检测和分割过程[5、9、10、11]。基于滑动和分割的方法[7, 23]存在边界预测和重叠目标分割不准确的问题。联合检测和分割方法,例如,MaskRCNN[11]可以生成很好的实例分割,但由于使用了额外的检测过程,因此需要更大的内存占用。
另一类作品通过根据预测的像素信息对像素进行分组来获得实例,例如用于watershed变换的basin energy[3]、形状信息[2、14、20]、语义信息[2]和嵌入特征[4、8、 16, 21]等。但是,这些方法中的大多数在推理过程中都需要多阶段处理。例如,基于嵌入的方法[4, 16, 21]首先推断嵌入特征,然后使用聚类算法对像素进行分组。这不可避免地会在训练和测试阶段之间引入差距,因为这是一个代理目标,而不是优化像素分组损失。此外,额外的超参数,例如聚类带宽[4, 21]和条件随机场[2]中的参数也需要仔细调整以确保良好的性能。虽然Neven等人[21]提出直接估计这些超参数,即均值偏移算法中的聚类带宽,但它只能衰减但不能消除差距。
点云的三维实例分割。 考虑到流行的点云数据及其在自动驾驶和场景重建中的广泛应用,3D点云实例分割在视觉领域引起了极大的兴趣。3D实例分割可以被视为3D数据上的2D实例分割的类比,旨在3D场景的目标级理解。
然而,嘈杂的数据和非结构化的拓扑结构使这个问题变得更加困难。开创性的工作[28]通过探索成对相似性矩阵研究了3D实例分割。Pham等人[22]提出了多值条件随机场(MV-CRF)来增强实例分割和语义分割。王等人[29]研究了语义特征和实例特征之间的依赖关系,取得了最先进的成果。这些方法都是基于点云表示,通常使用多阶段过程作为2D proposal-free实例分割[4,16,18,21],从而继承了它们的限制,如超参数调整和优化差距。
另一类3D实例分割方法是基于检测的。特别是,Hou等人[12]通过将MaskRCNN[11]扩展到RGBD扫描中的多模态信号,联合优化了3D检测和3D语义实例分割。Yi等人[31]提出了一种生成形状提议网络(SGPN)来从不同的种子生成形状,然后通过估计边界框及其分割来实现实例分割。 Yang等人[30]提出了一项有趣的工作,它直接预测固定数量的边界框,然后为每个边界框估计一个实例掩码。然而,基于检测的方法可能会因为检测片段的缺失或重叠而没有为一个点分配标签或不一致的实例标签。在这项工作中,我们尝试以端到端的方式学习3D实例分割,无需检测且无需额外的分组步骤。
3D点云分析。 深度神经网络在2D图像分析方面的出色表现促使研究人员将其应用于3D点云。Qi等人首先提出PointNet[24]和PointNet++[25]来处理点云的随机顺序和多尺度特征提取。最近的工作还研究了球核[19]、角度表示[15]和切线投影[27],以从点云中学习特征表示。我们的工作依赖于骨干网络来提取点云特征。虽然我们使用PointNet和PointNet++进行评估,但它可以很容易地更改为其他架构。
图2. 我们方法的管道。我们的方法采用N个点的点云,并通过点云特征提取主干学习点特征。点特征通过细化模块进一步细化。然后对一组代表不同实例的候选实例进行采样。然后实例分组归结为具有分配模块的候选分配,并且冗余候选被抑制模块掩盖。3.5节详细介绍了在不同位置强制执行的损失函数 ( L s e m , L e , L c , L c d , L g , L s i m ) \left(\mathcal{L}_{s e m}, \mathcal{L}_{e}, \mathcal{L}_{c}, \mathcal{L}_{c d}, \mathcal{L}_{g}, \mathcal{L}_{s i m}\right) (Lsem,Le,Lc,Lcd,Lg,Lsim)。K表示候选实例的数量。
3. Proposed Method
我们的目标是在不检测的情况下以端到端的方式对3D点云进行实例分割。我们的方法将3D点云 X = { x j } j = 1 N X=\left\{x_{j}\right\}_{j=1}^{N} X={ xj}j=1N作为输入,并预测每个点的实例标签 Y i = { y j i } j = 1 N Y^{i}=\left\{y_{j}^{i}\right\}_{j=1}^{N} Yi={ yji}j=1N,如图2所示,其中 N N N是输入点的数量, x j x_{j} xj表示每个点的输入特征,例如坐标和颜色, y j i y_{j}^{i} yji是实例标签集 L i L^{i} Li中的实例标签。
与之前的两阶段detection-free方法[22, 28, 29]和基于检测的方法[12]不同,我们将这个问题模拟为一个阶段过程,无需额外的分组步骤或检测。首先用点云主干处理点云,通过探索语义标签、实例质心和实例标签的监督来提取语义特征、质心感知特征和实例感知特征,其中实例的质心由下式获得计算实例中所有点的平均坐标。然后将这些特征连接为细化特征 F r ∈ R N × 256 F^{r} \in \mathbb{R}^{N \times 256} Fr∈RN×256。实例分割是通过首先采样K个实例候选 L c = { 1 , 2 , … , K } L^{c}=\{1,2, \ldots, K\} Lc={ 1,2,…,K},然后预测每个点属于一个实例候选的分数,称为候选分配 W ∈ R N × K W \in \mathbb{R}^{N \times K} W∈RN×K。 W中的每一行包含一个点分配给K个候选者中的每一个的分数。根据抑制网络产生的掩码 M ∈ { 0 , 1 } 1 × K M \in\{0,1\}^{1 \times K} M∈{ 0,1}1×K进一步消除冗余候选者,每个维度指定是否候选人被屏蔽/删除。每个点的最终分组标签是通过在所有未屏蔽的候选中取最大分数来估计的。
3.1. Feature Learning for Point clouds
实例分割与语义信息和几何信息都相关。例如,具有不同语义标签的目标可以很容易地识别为不同的实例。但语义信息不能用于区分同一类别的目标。在这种情况下,几何信息,例如目标边界框和目标质心,可以辅助实例识别。事实上,这种信息也被广泛用于指导2D实例分割[3, 11]。在我们的方法中,我们共同学习用于3D实例分割的质心感知和语义感知信息。
图 3. 特征细化模块。通过结合语义特征、质心感知特征和实例感知特征来细化点特征。我们还预测预测的实例质心与其对应的ground truth之间的质心距离。注意⊕表示特征连接,而 ∣ L s ∣ \left|L^{s}\right| ∣Ls∣计算语义标签的数量。不同特征的监督损失用 ↶ \curvearrowleft ↶标记。
我们首先使用现有的点云主干提取点特征,例如PointNet[24],如图2所示。然后将点特征馈送到四个分支,共同学习语义特征(顶部分支)、实例感知特征(第二分支)、质心感知特征(第三分支),和具有四个分离的多层感知器(MLP)的质心预测和ground truth(底部分支)之间的质心距离,如图3所示。语义特征是通过执行语义损失 L s e m \mathcal{L}_{s e m} Lsem来学习的,这可以帮助区分具有不同语义标签。实例感知特征是通过最小化嵌入损失 L e \mathcal{L}_{e} Le来学习的,这样同一实例中的点的特征应该是接近的。通过优化预测实例质心与其ground truth之间的距离 L c \mathcal{L}_{c} Lc来训练质心感知特征。这些实例质心有助于根据目标的位置区分目标。通过最小化质心距离损失 L c d \mathcal{L}_{c d} Lcd进一步估计距离 L c \mathcal{L}_{c} Lc,它可以充当正则化器。然后我们将前三个分支的特征连接为细化特征 F r F^{r} Fr。所有损失函数在第3.5节中有详细说明。
3.2. Instance Candidate Sampling
在我们的方法中,我们采样了一组实例候选 L c L^{c} Lc作为实例代表,用于对点进行分组。然而,在不知道实例分割的情况下很难确定候选实例。直觉是生成足够多的候选实例,覆盖所有实例,并且不同的候选应该具有尽可能大的候选距离。我们为这项任务采用了PointNet++[25]中提出的最远点采样。基本上,最远点采样计算采样点与其他每个点之间的距离,并将距离最大的点添加到采样集中。这个过程迭代直到采样到足够多的候选者。在我们的实验中,我们使用点的实例感知特征之间的欧几里德距离作为点距离。
3.3. Candidate Suppression
图 4. 候选实例的数量的影响。星形标志着不同的候选人,黑色圆圈给出了他们的成员点。(a) 缺少一个候选人,(b) 候选人数量正确, 产生一个多余的候选人。
图 5. 抑制模块。符号⊖表示特征的减法。
图 6. 分配模块。
如图4所示,采样候选的数量对性能有很大影响。例如,缺少一个候选会减少实例的数量,从而降低召回率(见图4(a))。相反,冗余候选者会降低分组精度,因为它们会蚕食其他候选者的点,见图4(c)中的蓝点。
在我们的方法中,我们将候选数 K K K设置为足够大的数字,以便在大多数情况下它可以覆盖所有实例。不幸的是,这将大大增加冗余候选者。为了规避候选冗余,我们引入了一个如图5所示的抑制模块来预测候选掩码 M M M。抑制模块首先计算任意两个候选 j , k ∈ L c j, k \in L^{c} j,k∈Lc的特征 F j r , F k r F_{j}^{r}, F_{k}^{r} Fjr,Fkr之间的绝对差,然后将结果反馈给到一个双层MLP(128 × 64 × 1)来估计相似矩阵 S ∈ R K × K S \in \mathbb{R}^{K \times K} S∈RK×K,如图5所示。然后相似矩阵 S S S被二值化为0、1,其中1表示两个候选者来自同一个实例。
如果我们将相似度矩阵 S S S视为任意两个候选者之间的相邻图表示,则将来自同一实例的候选者分组可以看作是查找图的所有连通分量的问题。矩阵的幂可以用来解决这个问题。直觉是连接矩阵的 k k k次方表示少于 k k k跳的连接组件。如果 k k k足够大,矩阵的幂将找到所有连接的组件,如[26]中所述。在我们的实验中,我们计算相似度矩阵 S S S的32次方,结果矩阵的每一行表示候选者与其他候选者的连通性。对于每组候选人,我们保留一个候选人并将其他候选人屏蔽为冗余候选人。候选分组是没有差异的,抑制模块是通过在第3.5节中最小化相似性损失来学习的。
3.4. Instance Assignment
我们将实例分组表述为将点 X X X分配给不同的实例候选 L c L_{c} Lc。在本文中,我们提出了一个专用的分配模块来学习分配,如图6所示。分配网络首先使用单层 MLP ( 256 × 128 ) \operatorname{MLP}(256 \times 128) MLP(256×128)对特征进行编码,然后取候选特征和点特征之间的绝对差异,最后用两层 MLP ( 128 × 64 × 1 ) \operatorname{MLP}(128 \times 64 \times 1) MLP(128×64×1)估计分配分数 W W W。然后,分配分数用图5中的预测masked M M M被 W − α ( 1 − M ) W-\alpha(1-M) W−α(1−M)与广播进行mask,其中 α \alpha α设置为较大的值以消除冗余候选者。最终的实例分割可以通过用最高分数的候选标记每个点来获得。
3.5. Objective Functions
通过优化一个结合语义损失 L sem \mathcal{L}_{\text {sem }} Lsem 、实例质心损失 L c L_{c} Lc、质心距离损失 L c d L_{cd} Lcd、嵌入损失 L e L_{e} Le、实例分组损失 L g L_{g} Lg和候选相似度损失 L s i m L_{sim} Lsim的目标来学习整个网络:
L = w s e m ⋅ L s e m + w c ⋅ L c + w c d ⋅ L c d + w e ⋅ L e + w g ⋅ L g + w s i m ⋅ L s i m ( 1 ) \begin{gathered} \mathcal{L}=w_{s e m} \cdot \mathcal{L}_{s e m}+w_{c} \cdot \mathcal{L}_{c}+w_{c d} \cdot \mathcal{L}_{c d}+w_{e} \cdot \mathcal{L}_{e} \\ +w_{g} \cdot \mathcal{L}_{g}+w_{s i m} \cdot \mathcal{L}_{s i m} \end{gathered} \quad\quad\quad\quad(1) L=wsem⋅Lsem+wc⋅Lc+wcd⋅Lcd+we⋅Le+wg⋅Lg+wsim⋅Lsim(1)
其中 w ∗ w_{*} w∗表示不同损失项的平衡权重。图 2 和图 3 显示了这些损失在训练期间的执行位置。
语义损失。 语义损失 L s e m L_{sem} Lsem计算预测语义标签和ground truth标签之间的交叉熵损失。
质心损失。 实例质心损失 L c L_c Lc定义为预测实例质心 z j z_{j} zj和ground truth质心 z j ∗ z_{j}^{*} zj∗之间的距离:
L c = ∑ j = 1 N ∥ z j − z j ∗ ∥ 2 ( 2 ) \mathcal{L}_{c}=\sum_{j=1}^{N}\left\|z_{j}-z_{j}^{*}\right\|_{2} \quad\quad\quad\quad(2) Lc=j=1∑N∥∥zj−zj∗∥∥2(2)
质心距离损失。质心距离损失 L c d L_{cd} Lcd计算如下:
L c d = ∑ j = 1 N ∥ d j − ∥ z j − z j ∗ ∥ 2 ∥ 2 ( 3 ) \mathcal{L}_{c d}=\sum_{j=1}^{N}\left\|d_{j}-\right\| z_{j}-z_{j}^{*}\left\|_{2}\right\|_{2} \quad\quad\quad\quad(3) Lcd=j=1∑N∥dj−∥zj−zj∗∥2∥2(3)
其中 d j d_{j} dj是预测的质心距离。
相似度损失。 抑制模块是通过在相似矩阵 S S S上强制执行的相似损失 L s i m L_{sim} Lsim来学习的。基本上,这种损失使用二元交叉熵来衡量两个候选者是否来自同一实例。由于给出了实例标签,因此很容易获得ground truth。
实例分组损失。 给定预测的候选分配和每个点的ground truth实例标签,候选和实例可能处于不同的顺序并且具有不同的编号(示例参见图7(a))。因为实例标签只指定了哪些点在同一个组中,并没有具体的含义,所以实例的顺序可以是随机的。这种随机性使得直接优化实例分割精度变得困难。
图 7. 候选和实例标签之间的匹配示例。 (a) 点列表的预测候选分配(左)和实例标签(右),(b)从实例标签(右)到候选(左)的最佳映射,(c)(a)中的实例标签(左)根据(b)重新映射。候选和实例标签由颜色最密集的索引表示。
为了解决这个问题,我们建议将实例标签 L i L_{i} Li映射到候选 L c L_{c} Lc。一个例子如图7所示。我们首先计算最优映射,即 { 1 → 1 , 2 → 3 , 3 → 2 } \{1 \rightarrow 1,2 \rightarrow 3,3 \rightarrow 2\} { 1→1,2→3,3→2},如图7(b)所示。然后将原始实例标签{3, 2, 2, 1}映射到图7 ( c)中的{2, 3, 3, 1}以便重新映射的实例标签和候选者将具有一致的顺序。通过最小化最佳匹配的成本来获得最佳映射:
minimize ∑ j = 1 ∣ L i ∣ ∑ k = 1 ∣ L c ∣ b j , k ⋅ cost ( j , k ) s.t. ∑ j = 1 ∣ L i ∣ b j , k = 1 , ∀ k = 1 , … , ∣ L c ∣ ∑ k = 1 ∣ L c ∣ b j , k < = 1 , ∀ j = 1 , … , ∣ L i ∣ ( 4 ) \begin{aligned} \text { minimize } & \sum_{j=1}^{\left|L^{i}\right|} \sum_{k=1}^{\left|L^{c}\right|} b_{j, k} \cdot \operatorname{cost}(j, k) \\ \text { s.t. } \quad & \sum_{j=1}^{\left|L^{i}\right|} b_{j, k}=1, \forall k=1, \ldots,\left|L^{c}\right| \\ & \sum_{k=1}^{\left|L^{c}\right|} b_{j, k}<=1, \forall j=1, \ldots,\left|L^{i}\right| \end{aligned} \quad\quad\quad\quad(4) minimize s.t. j=1∑∣Li∣k=1∑∣Lc∣bj,k⋅cost(j,k)j=1∑∣Li∣bj,k=1,∀k=1,…,∣Lc∣k=1∑∣Lc∣bj,k<=1,∀j=1,…,∣∣Li∣∣(4)
其中 b j , k b_{j, k} bj,k是一个二进制变量,表示 j j j和 k k k是否匹配, ∣ ⋅ ∣ |\cdot| ∣⋅∣计算实例或候选者的数量,cost(j, k)衡量匹配的好坏。第一个约束确保每个实例标签都分配给一个候选者,而第二个约束保证最多一个候选者与实例标签匹配。在我们的例子中,匹配应该最大化实例分割的准确性,因此成本定义为1减去预测的候选分配和实例标签之间的交集:
cost ( j , k ) = 1.0 − ∑ m = 1 N 1 ( y m c = l j c ) ∧ 1 ( y m i = l k i ) ∑ m = 1 N 1 ( y m c = l j c ) ∨ 1 ( y m i = l k i ) ( 5 ) \operatorname{cost}(j, k)=1.0-\frac{\sum_{m=1}^{N} \mathbb{1}\left(y_{m}^{c}=l_{j}^{c}\right) \wedge \mathbb{1}\left(y_{m}^{i}=l_{k}^{i}\right)}{\sum_{m=1}^{N} \mathbb{1}\left(y_{m}^{c}=l_{j}^{c}\right) \vee \mathbb{1}\left(y_{m}^{i}=l_{k}^{i}\right)} \quad\quad\quad\quad(5) cost(j,k)=1.0−∑m=1N1(ymc=ljc)∨1(ymi=lki)∑m=1N1(ymc=ljc)∧1(ymi=lki)(5)
其中 y m c y_{m}^{c} ymc是点 m m m的预测候选分配, y i m y_{im} yim表示该点所属的ground truth实例标签, 1 ( ⋅ ) \mathbb{1}(\cdot) 1(⋅)测试给定值是否为真。
这个分配问题可以通过匈牙利算法[17]或整数规划来解决。在我们的实现中,我们使用SciPy中的线性分配求解器。由于每个输入的实例数量很少(不超过50个实例),因此可以有效地解决问题。
在获得实例标签和实例候选之间的映射后,我们可以通过最小化预测概率和最优分配标签之间的交叉熵来优化实例分割。
嵌入损失。 尽管我们的方法可以通过提出的实例分组损失来学习,但仍然需要实例感知特征来确保可以在候选采样步骤中对好的候选进行采样。这是因为采样步骤是没有区别的,因此无法将实例分组损失传播回去以指导嵌入学习。在[22, 29]之后,嵌入损失 L e L_{e} Le定义如下:
L e = L pull + L push + w reg ⋅ L reg ( 6 ) \mathcal{L}_{e}=\mathcal{L}_{\text {pull }}+\mathcal{L}_{\text {push }}+w_{\text {reg }} \cdot \mathcal{L}_{\text {reg }} \quad\quad\quad\quad(6) Le=Lpull +Lpush +wreg ⋅Lreg (6)
其中 L p u l l \mathcal{L}_{p u l l} Lpull是拉动损失, L p u s h \mathcal{L}_{p u s h} Lpush是推动损失, L r e g \mathcal{L}_{reg} Lreg是正则化项。 Pulling loss试图最小化实例感知特征 f j i f_{j}^{i} fji与其所有者实例 m k m_{k} mk的平均特征之间的距离,而pushing loss最大化两个不同实例的平均特征 m k , m o m_{k}, m_{o} mk,mo的实例间距离:
L pull = 1 ∣ L i ∣ ∑ k = 1 ∣ L i ∣ 1 N k ∑ j = 1 N k max ( 0 , ∥ m k − f j i ∥ 2 − δ 1 ) 2 ( 7 ) \mathcal{L}_{\text {pull }}=\frac{1}{\left|L^{i}\right|} \sum_{k=1}^{\left|L^{i}\right|} \frac{1}{N_{k}} \sum_{j=1}^{N_{k}} \max \left(0,\left\|m_{k}-f_{j}^{i}\right\|_{2}-\delta_{1}\right)^{2} \quad\quad\quad\quad(7) Lpull =∣Li∣1k=1∑∣Li∣Nk1j=1∑Nkmax(0,∥∥mk−fji∥∥2−δ1)2(7)
L push = 1 ∣ L i ∣ ( ∣ L i ∣ − 1 ) ∑ k = 1 ∣ L i ∣ ∑ o = 1 , o ≠ k K max ( 0 , δ 2 − ∥ m k − m o ∥ 2 ) 2 ( 8 ) \mathcal{L}_{\text {push }}=\frac{1}{\left|L^{i}\right|\left(\left|L^{i}\right|-1\right)} \sum_{k=1}^{\left|L^{i}\right|} \sum_{o=1, o \neq k}^{K} \max \left(0, \delta_{2}-\left\|m_{k}-m_{o}\right\|_{2}\right)^{2} \quad\quad\quad\quad(8) Lpush =∣Li∣(∣Li∣−1)1k=1∑∣Li∣o=1,o=k∑Kmax(0,δ2−∥mk−mo∥2)2(8)
其中 N k N_{k} Nk是实例 k k k中的点数, k , δ 1 = 0.5 k, \delta_{1}=0.5 k,δ1=0.5, δ 2 = 1.5 \delta_{2}=1.5 δ2=1.5是限制损失的两个边距。 Loss L r e g \mathcal{L}_{r e g} Lreg通过鼓励小的值来帮助限制实例感知特征是有限的:
L r e g = 1 ∣ L i ∣ ∑ k = 1 ∣ L i ∣ ∥ m k ∥ 2 ( 9 ) \mathcal{L}_{r e g}=\frac{1}{\left|L^{i}\right|} \sum_{k=1}^{\left|L^{i}\right|}\left\|m_{k}\right\|_{2} \quad\quad\quad\quad(9) Lreg=∣Li∣1k=1∑∣Li∣∥mk∥2(9)
4. Experiments
4.1. Datasets and Evaluation Metrics
数据集。 我们对斯坦福3D室内语义数据集(S3DIS)[1]进行了评估,该数据集广泛用于3D实例分割[22、28、29]。 S3DIS包含在6个区域收集的3D扫描。在标准数据拆分之后,区域5用于测试,其他区域用于训练。我们还在SceneNN[13]上评估了我们的方法,这是一个在房间尺度上扫描的室内场景数据集。我们遵循JSIS[22]的数据拆分进行训练和测试。由于注册的网格包含许多异常值,我们通过删除少于200个点的异常值实例来清理它们。
评估。 我们的方法主要针对3D点云的实例分割。用于实例分割的广泛使用的指标是平均类精度(mPrec)和平均类召回率(mRec),预测和ground truth之间的交集(IoU)大于0.5。我们还报告了[29, 32]之后的平均类覆盖率(mCov)和平均类加权覆盖率(mwCov)。Coverage衡量的是ground truth与其匹配预测之间的实例IoU。给定一组ground truth区域G和特定类别的预测区域P,mCov和mwCov计算如下:
m Cov ( G , P ) = 1 ∣ G ∣ ∑ g ∈ G max p ∈ P IoU ( g , p ) ( 10 ) m \operatorname{Cov}(\mathcal{G}, \mathcal{P})=\frac{1}{|\mathcal{G}|} \sum_{g \in \mathcal{G}} \max _{p \in \mathcal{P}} \operatorname{IoU}(g, p) \quad\quad\quad\quad(10) mCov(G,P)=∣G∣1g∈G∑p∈PmaxIoU(g,p)(10)
mwCov ( G , P ) = ∑ g ∈ G w g max p ∈ P IoU ( g , p ) , w g = ∣ g ∣ ∑ g ′ ∈ G ∣ g ′ ∣ , ( 11 ) \begin{aligned} \operatorname{mwCov}(\mathcal{G}, \mathcal{P}) &=\sum_{g \in \mathcal{G}} w_{g} \max _{p \in \mathcal{P}} \operatorname{IoU}(g, p), \\ w_{g} &=\frac{|g|}{\sum_{g^{\prime} \in \mathcal{G}}\left|g^{\prime}\right|}, \end{aligned} \quad\quad\quad\quad(11) mwCov(G,P)wg=g∈G∑wgp∈PmaxIoU(g,p),=∑g′∈G∣g′∣∣g∣,(11)
其中 ∣ ⋅ ∣ |\cdot| ∣⋅∣计算列表中的点数, IoU ( ⋅ , ⋅ ) \operatorname{IoU}(\cdot, \cdot) IoU(⋅,⋅)计算两个点集之间的IoU。
实施。 我们在PyTorch中实现了该算法。用初始学习率为0.002的Adam优化器训练网络。在训练和测试期间,我们根据SGPN[28]用4096个点将场景分割成点云。我们的算法预测每个点云的实例分割,然后将它们与SGPN中提出的块合并算法合并作为最终结果。
4.2. Comparisons to the-state-of-the-art
现有方法。我们将我们的方法与3D实例分割的最新方法进行比较,包括SGPN[28]、ASIS[29]和JSIS[22]。这些方法的结果是用它们发布的代码生成的。由于网络主干对最终结果有很大的影响,我们用同一个主干评估这些方法,即PointNet[24]。Wang等人[29]仅发布了带有PointNet++[25]主干的代码。为了进行公平比较,我们使用PointNet主干实现ASIS。我们还报告了使用PointNet++主干的方法的结果,以方便与ASIS的最新结果进行比较。对于S3DIS数据集的评估,我们使用已发布的JSIS(PN)和ASIS(PN2)模型以及微调的SGPN(PN)模型来评估性能,其中PN和PN2分别表示PointNet和PointNet++。对于其他数据集和ASIS(PN)模型的评估,我们使用训练数据集从头开始训练网络。
S3DIS数据集的结果。在我们的实验中,我们发现3D实例分割对点云的不同采样很敏感。在图8中,我们比较了不同方法的性能及其在测试数据集中6个点云采样上的差异。我们的方法在所有指标的平均值上始终具有更好的结果。尽管所有方法的结果都存在波动,但我们的mCov和mwCov指标的差异较小。为了消除这些方差的影响,报告了来自同一输入的6次抽样的平均结果。在表1中,我们与mCov指标上的最新方法进行了比较。结果表明,当使用PointNet主干时,我们的方法与其他方法相当,如果使用PointNet++主干,则可以在10/13类别上取得最佳结果。补充中提供了其他指标的结果。定性结果如图9和图10所示。我们通过我们在第2节中的分配算法将预测的实例与其基本事实相匹配。 3.5以便相同的实例具有相同的颜色。我们可以使用PointNet主干和PointNet++主干实现更好的实例分割,特别是在杂乱区域,例如图9和图10中突出显示的区域附近的椅子、长桌和一堆物体。
表 1. S3DIS 数据集上 mCov 指标的比较。 #inst 计算类别的实例数。
图 8. S3DIS 数据集的定量比较。每个颜色条的高度表示每个指标的平均值,黑色条线的范围表示每个指标的最大值和最小值之间的差异。
图 9. 与 ASIS (PN2) 的定性比较。颜色有助于标记不同的实例。请注意突出显示区域中的杂乱目标是如何区分的。
SceneNN数据集的结果。我们还在SceneNN数据集上评估了我们的方法。结果在表中报告。 NYU-40标签的10个选定类别中的2个(包括墙壁、地板、床、椅子、桌子、门、桌子、冰箱、电视和道具)。所有方法都表现不佳,因为SceneNN数据集中的重建场景有很多异常值和飞行形状.而且,数据集非常小。
表 2. SceneNN 数据集的比较结果。
表 3. 不同模块的消融研究。
4.3. Ablation Study
为了评估不同模块的有效性,我们研究了质心感知特征(w/o cen.)、语义特征(w/o sem.)、实例感知特征(w/o emb.)和质心距离的影响通过从特征精炼模块中删除相应的分支来分支(w/o c.d.)。我们还通过去除掩蔽过程和相似性损失(w/o sup.)来研究抑制模块的重要性。
在表3中,我们展示了替代设计的结果。我们可以看到不同类型特征的融合提高了性能,尤其是实例感知特征。这是因为候选采样步骤依赖于实例感知功能来获得可靠的候选。尽管质心分支对细化特征 F r F^{r} Fr没有帮助,但它仍然对结果有影响。这可能归功于多任务学习的正则化。抑制模块也很重要,因为它有助于消除如图4中讨论的冗余候选。在图11中,评估了K选择的影响,并且我们的方法在推理过程中对K的不同选择具有鲁棒性。这归因于学习抑制模块。默认情况下,我们使用训练数据集所有输入中的最大实例数作为K。
图 10. S3DIS测试数据集上的实例分割结果。请注意我们的方法如何能够区分相同类别的不同实例,例如椅子。
图 11. 推理过程中K选择的影响。
表 4. 推理时间比较。时间是在 S3DIS 测试数据集(区域 5)上测量和平均的。
4.4. Time Analysis
我们在表4中比较了计算时间。时间是在S3DIS的测试集上使用具有nVidia GTX 1080 GPU和 Intel i7-6850K CPU的计算机上测量的。注意,数据加载时间不计算在内。我们测量了SGPN的分组合并、ASIS的均值偏移聚类以及JSIS的均值偏移聚类和多值CRF标签细化所花费的分组时间。我们可以看到分组阶段是这些方法中计算量最大的部分。相比之下,我们的方法可以以端到端的方式执行,并且网络推理运行得非常快。因此我们的方法只用了34ms就可以处理一个 4096个点的点云。在表4中,我们的算法比SGPN快约257倍,比ASIS快11倍,比JSIS快147倍。所有方法都使用PointNet主干进行评估。我们的计算提升归功于端到端的实例分配设计。
4.5. Limitations and Discussions
我们的方法使用最远点采样来生成候选实例。此过程是非差异化的,并且高度依赖于实例感知功能。如果对较差的候选者进行抽样,将会使冗余去除和实例分配变得更加困难。将来,我们将结合估计的质心距离来指导候选采样。
5. Conclusion
我们提出了一种用于3D实例分割的端到端方法。与detection-free和基于检测的方法不同,我们直接生成一组候选实例,并将实例分组作为每个点的候选分配问题。冗余候选者被抑制模块进一步mask。 S3DIS数据集和SceneNN数据集的实验结果证明了我们方法的效率和有效性。我们的框架不限于3D点云,也可以轻松扩展以处理2D实例分割。
原文链接:https://openaccess.thecvf.com/content_CVPR_2020/papers/Jiang_End-to-End_3D_Point_Cloud_Instance_Segmentation_Without_Detection_CVPR_2020_paper.pdf
References
[1] Iro Armeni, Ozan Sener, Amir Roshan Zamir, Helen Jiang, Ioannis K. Brilakis, Martin Fischer, and Silvio Savarese. 3d semantic parsing of large-scale indoor spaces. In 2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016, Las V egas, NV , USA, June 27-30, 2016, pages 1534–1543, 2016. 6
[2] Anurag Arnab and Philip H. S. Torr. Pixelwise instance segmentation with a dynamically instantiated network. In 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, pages 879–888, 2017. 2
[3] Min Bai and Raquel Urtasun. Deep watershed transform for instance segmentation. In 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, pages 2858–2866, 2017.2, 3
[4] Bert De Brabandere, Davy Neven, and Luc V an Gool.Semantic instance segmentation with a discriminative loss function. CoRR, abs/1708.02551, 2017. 1, 2, 3
[5] Jifeng Dai, Kaiming He, Yi Li, Shaoqing Ren, and Jian Sun.Instance-sensitive fully convolutional networks. In Computer Vision - ECCV 2016 - 14th European Conference, Amsterdam, The Netherlands, October 11-14, 2016, Proceedings, Part VI, pages 534–549, 2016. 2
[6] Jifeng Dai, Kaiming He, and Jian Sun. Convolutional feature masking for joint object and stuff segmentation. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2015, Boston, MA, USA, June 7-12, 2015, pages 3992–4000, 2015. 2
[7] Jifeng Dai, Kaiming He, and Jian Sun. Instance-aware semantic segmentation via multi-task network cascades. In 2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016, Las V egas, NV , USA, June 27-30, 2016, pages 3150–3158, 2016. 1, 2
[8] Alireza Fathi, Zbigniew Wojna, Vivek Rathod, Peng Wang, Hyun Oh Song, Sergio Guadarrama, and Kevin P . Murphy.Semantic instance segmentation via deep metric learning.CoRR, abs/1703.10277, 2017. 2
[9] Bharath Hariharan, Pablo Andrés Arbeláez, Ross B. Girshick, and Jitendra Malik. Simultaneous detection and segmentation. In Computer Vision - ECCV 2014 - 13th European Conference, Zurich, Switzerland, September 6-12, 2014, Proceedings, Part VII, pages 297–312, 2014. 2
[10] Zeeshan Hayder, Xuming He, and Mathieu Salzmann.Boundary-aware instance segmentation. In 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, pages 587–595, 2017. 2
[11] Kaiming He, Georgia Gkioxari, Piotr Dollár, and Ross B.Girshick. Mask R-CNN. In IEEE International Conference on Computer Vision, ICCV 2017, V enice, Italy, October 2229, 2017, pages 2980–2988, 2017. 1, 2, 3
[12] Ji Hou, Angela Dai, and Matthias Nießner. 3d-sis: 3d semantic instance segmentation of RGB-D scans. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, pages 4421– 4430, 2019. 1, 3
[13] Binh-Son Hua, Quang-Hieu Pham, Duc Thanh Nguyen, Minh-Khoi Tran, Lap-Fai Y u, and Sai-Kit Y eung. SceneNN: A scene meshes dataset with annotations. In F ourth International Conference on 3D Vision, 3DV 2016, Stanford, CA, USA, October 25-28, 2016, pages 92–101, 2016. 6
[14] Alexander Kirillov, Evgeny Levinkov, Bjoern Andres, Bogdan Savchynskyy, and Carsten Rother. Instancecut: From edges to instances with multicut. In 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, pages 7322–7331, 2017. 2
[15] Artem Komarichev, Zichun Zhong, and Jing Hua. A-CNN: annularly convolutional neural networks on point clouds. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, pages 7421–7430, 2019. 3
[16] Shu Kong and Charless C. Fowlkes. Recurrent pixel embedding for instance grouping. In 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 18-22, 2018, pages 9018–9028, 2018. 2, 3
[17] H. W. Kuhn. V ariants of the hungarian method for assignment problems. Naval Research Logistics Quarterly, 3(4):253–258, December 1956. 5
[18] Jean Lahoud, Bernard Ghanem, Marc Pollefeys, and Martin R. Oswald. 3d instance segmentation via multi-task metric learning. CoRR, abs/1906.08650, 2019. 1, 3
[19] Huan Lei, Naveed Akhtar, and Ajmal Mian. Octree guided CNN with spherical kernels for 3d point clouds. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, pages 9631–9640, 2019. 3
[20] Shu Liu, Jiaya Jia, Sanja Fidler, and Raquel Urtasun. SGN: sequential grouping networks for instance segmentation. In IEEE International Conference on Computer Vision, ICCV 2017, V enice, Italy, October 22-29, 2017, pages 3516–3524, 2017. 2
[21] Davy Neven, Bert De Brabandere, Marc Proesmans, and Luc V an Gool. Instance segmentation by jointly optimizing spatial embeddings and clustering bandwidth. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, pages 8837– 8845, 2019. 1, 2, 3
[22] Quang-Hieu Pham, Duc Thanh Nguyen, Binh-Son Hua, Gemma Roig, and Sai-Kit Y eung. JSIS3D: joint semanticinstance segmentation of 3d point clouds with multi-task pointwise networks and multi-value conditional random fields. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, pages 8827–8836, 2019. 1, 2, 3, 6
[23] Pedro H. O. Pinheiro, Ronan Collobert, and Piotr Dollár.Learning to segment object candidates. In Advances in Neural Information Processing Systems 28: Annual Conference on Neural Information Processing Systems 2015, December 7-12, 2015, Montreal, Quebec, Canada, pages 1990–1998, 2015. 2
[24] Charles Ruizhongtai Qi, Hao Su, Kaichun Mo, and Leonidas J. Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. pages 77–85, 2017.3, 4, 6
[25] Charles Ruizhongtai Qi, Li Yi, Hao Su, and Leonidas J.Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. In Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems 2017, 4-9 December 2017, Long Beach, CA, USA, pages 5105–5114, 2017. 3, 4, 6
[26] Steven Skiena. Implementing discrete mathematics - combinatorics and graph theory with Mathematica. AddisonWesley, 1990. 4
[27] Maxim Tatarchenko, Jaesik Park, Vladlen Koltun, and QianYi Zhou. Tangent convolutions for dense prediction in 3d.In 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 1822, 2018, pages 3887–3896, 2018. 3
[28] Weiyue Wang, Ronald Y u, Qiangui Huang, and Ulrich Neumann. SGPN: similarity group proposal network for 3d point cloud instance segmentation. In 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 18-22, 2018, pages 2569–2578, 2018. 1, 2, 3, 6
[29] Xinlong Wang, Shu Liu, Xiaoyong Shen, Chunhua Shen, and Jiaya Jia. Associatively segmenting instances and semantics in point clouds. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, pages 4096–4105, 2019. 1, 2, 3, 6
[30] Bo Y ang, Jianan Wang, Ronald Clark, Qingyong Hu, Sen Wang, Andrew Markham, and Niki Trigoni. Learning object bounding boxes for 3d instance segmentation on point clouds. In Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurIPS 2019, 8-14 December 2019, V ancouver , BC, Canada, pages 6737–6746, 2019. 3
[31] Li Yi, Wang Zhao, He Wang, Minhyuk Sung, and Leonidas J.Guibas. GSPN: generative shape proposal network for 3d instance segmentation in point cloud. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019, Long Beach, CA, USA, June 16-20, 2019, pages 3947–3956, 2019. 1, 3
[32] Wei Zhuo, Mathieu Salzmann, Xuming He, and Miaomiao Liu. Indoor scene parsing with instance segmentation, semantic labeling and support relationship inference. In 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, pages 6269–6277, 2017. 6
边栏推荐
- 【JUC系列】Fork/Join框架之概览
- November 22, 2021 [reading notes] - bioinformatics and functional genomics (Chapter 5, section 4, hidden Markov model)
- Vulfocus entry target
- Niuke White Moon race 52
- C# Console. Writeline() function output format
- 深度学习——使用词嵌入and词嵌入特征
- 深度学习——特征点检测和目标检测
- [notes] polygon mesh processing learning notes (10)
- 深度学习——卷积的滑动窗口实现
- Cesium learning notes (IV) visual image & Terrain
猜你喜欢
1162 Postfix Expression
Final review -php learning notes 4-php custom functions
深度学习——残差网络ResNets
Deep learning -- using word embedding and word embedding features
Want to change careers, but don't know what to do? This article is written for you who are confused
Is it difficult to jump job ByteDance? With these skills, you can easily pass
At the age of 25, I started to work in the Tiankeng industry with buckets. After going through a lot of hardships to become a programmer, my spring finally came
Applet uses QR code plug-in
Simple application of generating function
Hit the industry directly | the flying propeller launched the industry's first model selection tool
随机推荐
2021.11.20 [reading notes] | differential variable splicing events and DTU analysis
Experiment 6 examination
MySQL cannot connect to the intranet database
Simple application of generating function -- integer splitting 2
November 19, 2021 [reading notes] a summary of common problems of sneakemake (Part 2)
Lexicographic order -- full arrangement in bell sound
【花雕体验】13 搭建ESP32C3之PlatformIO IDE开发环境
【花雕体验】14 行空板pinpong库测试外接传感器模块(之一)
November 22, 2021 [reading notes] - bioinformatics and functional genomics (Chapter 5, section 4, hidden Markov model)
Construction of energy conservation supervision system for campus buildings of ankery University
Dlib library blink
2021-10-29 [microbiology] a complete set of 16s/its analysis process based on qiime2 tool (Part I)
深度学习——LSTM
JS code case
November 22, 2021 [reading notes] - bioinformatics and functional genomics (Section 5 of Chapter 5 uses a comparison tool similar to blast to quickly search genomic DNA)
深度学习——循环神经网络
全栈最全性能测试理论-总结
Armv8 (coretex-a53) debugging based on openocd and ft2232h
JS代码案例
December 13, 2021 [reading notes] | understanding of chain specific database building