[NeurIPS 2019 Spotlight] 3D-BoNet:3D点云实例分割新框架

Arxiv链接: https://arxiv.org/abs/1906.01140

TensorFlow代码: https://github.com/Yang7879/3D-BoNet

先上图:
img

Introduction

实现有效的三维场景理解(3D scene understanding)是计算机视觉和人工智能领域的关键问题之一。近年来,针对三维点云理解的研究取得了显著的进展,在诸如点云目标检测,语义分割等任务上都展现出了很不错的效果。然而,针对于点云实例分割的研究还处于较为初级的阶段。

Motivation

如下图所示,当前主流的点云实例分割算法可以分为以下两类:1)基于候选目标框(Proposal-based methods)的算法,例如3D-SIS[1],GSPN[2],这类方法通常依赖于两阶段的训练(two-stage training)和昂贵的非极大值抑制(non-maximum suppression, NMS)等操作来对密集的proposal进行选择。2)无候选目标框的算法(Proposal-free methods),例如SGPN[3], ASIS[4], JSIS3D[5], MASC[6], 3D-BEVIS[7]等。这类算法的核心思想是为每个点学习一个discriminative feature embedding,然后再通过诸如mean-shift等聚类(clustering)方法来将同一个instance的点聚集(group)到一起。这类方法的问题在于最终聚类到一起的instance目标性(objectness)比较差。此外,此类方法后处理步骤(post-processing)的时间成本通常较高。

img

图1. 当前主流的点云实例分割算法对比

不同于上述两类方法,我们提出了一个single stage, anchor free并且end-to-end的基于边界框回归的实例分割算法(3D-BoNet)。该算法具有如下优势:

  • 相比于proposal-free的方法,3D-BoNet显式地去预测目标的边界框,因此最终学到的instance具有更好的目标性(high objectness).
  • 相比于proposal-based的方法,3D-BoNet并不需要复杂耗时的region proposal network以及ROIAlign等操作,因此也不需要NMS等post-processing步骤。
  • 3D-BoNet由非常高效的shared MLP组成,并且不需要诸如非极大值抑制,特征采样(feature sampling),聚类(clustering)或者投票(voting)等后处理步骤,因此非常高效。

Overview

3D-BoNet的总体框架如下图所示,它主要由1) Instance-level bounding box prediction 2) Point-level mask prediction两个分支组成。顾名思义,bounding box prediction分支用于预测点云中每个实例的边界框,mask prediction分支用于为边界框内的点预测一个mask,进一步区分边界框内的点是属于instance还是背景。

img

图2. 3D-BoNet的总体框架

看到这里,你可能会产生疑惑:这个看起来跟proposal-based的框架好像也没什么区别?

先说结论:区别很大。但问题是区别到底在哪里呢?

首先,我们可以回顾下proposal-based方法是怎么产生边界框的呢?没错,就是根据anchor用region proposal network (RPN)来产生大量密集的边界框然后再进一步refine,但这个显然不够高效,而且是否真的有必要产生这么多密集的边界框呢?针对这个问题,我们可以来一个大胆的假设:要不不用RPN,直接让为每一个instance回归(regress)一个唯一的,但可能不是那么准确的边界框呢(如图3所示)?

img

图3. 为每一个instance回归一个大致的边界框示例

考虑到3D点云本身就显式地包含了每个物体的几何信息,我们认为这个目标是可行的。然后再更大胆一点,要不直接用global feature来regress每个instance的边界框试试?如果能做到这点,那问题不就解决一半了吗?

但新的问题马上又来了。。首先,每个三维场景中所包含的实例数目是不一样的(如何让网络自适应的输出不同个数的边界框?),而且每个点云中的实例还是无顺序的。这就意味着我们即便用网络regress了一系列边界框,也难以将这些边界框和ground truth的边界框一一对应的联系起来,进一步带来的问题就是:我们无法实现对网络的有监督的训练和优化。

到这里,核心的问题就变成了:我们应该怎么去训练这种网络呢?

针对这个问题,我们提出了边界框关联层(bounding box association layer)以及multi-criteria loss 函数来实现对网络的训练。 换句话说,我们要把这个预测边界框和ground truth边界框关联(配对)的问题建模为一个最优分配问题。

img

图4. 边界框预测分支的结构图

如何关联?

为了将网络预测出来的每一个边界框与ground truth 中的边界框唯一对应地关联起来,我们将其建模为一个最优分配问题。假定 A A A 是一个二值(binary)关联索引矩阵,当且仅当第 i t h i^{th} ith个预测的边界框分配给 j t h j^{th} jthground truth的边界框时 A i , j = 1 A_{i,j}=1 Ai,j=1 C C C是关联代价矩阵, C i , j C_{i,j} Ci,j 代表将第 i t h i^{th} ith个预测的边界框分配给 j t h j^{th} jthground truth的边界框的关联代价。一般来说, C i , j C_{i,j} Ci,j代表两个边界框的匹配程度,两个边界框越匹配也即代价越小。因此,边界框的最优关联问题也就转变成为寻找总代价最小的最优分配索引矩阵 A A A的问题,用公式表示如下:

A = a r g m i n A ∑ i = 1 H ∑ j = 1 T C i , j A i , j subject to ∑ i = 1 H A i , j = 1 , ∑ j = 1 T A i , j ⩽ 1 , j ∈ { 1.. T } , i ∈ { 1.. H } A=\underset{A}{\mathrm{argmin}}\sum_{i=1}^{H}\sum_{j=1}^{T}C_{i,j}A_{i,j} \quad \text{subject to} \sum_{i=1}^{H}A_{i,j}= 1, \sum_{j=1}^{T}A_{i,j}\leqslant 1, \small{j \in \{1.. T\}, i \in \{1.. H\}} A=Aargmini=1Hj=1TCi,jAi,jsubject toi=1HAi,j=1,j=1TAi,j1,j

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值