当前位置: 首页 > 科技观察

牛津华人小哥提出“3D-BoNet”,比3D点云实例分割算法快10倍!

时间:2023-03-17 16:26:57 科技观察

本文提出了一种基于边界框回归的高效点云实例分割算法,通过最小化关联代价函数实现近似边界框回归,通过点掩码预测实现最终实例分割。3D-BoNet不仅在ScanNet和S3DIS数据集上实现了最先进的效果,而且比当前大多数算法快10倍以上。实现有效的3D场景理解是计算机视觉和人工智能领域的关键问题之一。近年来,对3D点云理解的研究取得了显着进展,在点云目标检测、语义分割等任务上都显示出了非常好的效果。然而,点云实例分割的研究仍处于起步阶段。Motivation如下图所示,目前主流的点云实例分割算法可以分为以下两类:1)基于候选目标框的算法(Proposal-basedmethods),如3D-SIS[1]、GSPN[2],哪些Class方法通常依赖于两阶段训练和昂贵的非最大抑制(NMS)等操作来选择密集提议。2)无候选目标框的算法(Proposal-freemethods),如SGPN[3]、ASIS[4]、JSIS3D[5]、MASC[6]、3D-BEVIS[7]等。核心思想这类算法是为每个点学习一个有判别力的特征嵌入,然后使用mean-shift等聚类方法将同一实例的点聚在一起。这类方法的问题是最终聚类在一起的实例的对象性比较差。此外,此类方法的后处理步骤的时间成本通常很高。图1.当前主流点云实例分割算法的比较与上述两类方法不同,我们提出了一种基于边界框回归(3D-BoNet)的单阶段、anchorfree和端到端实例分割算法。该算法与proposal-free方法相比有以下优点,3D-BoNet显式地预测了目标的boundingbox,因此最终学习到的实例具有更好的targetness(highobjectness)。与基于提议的方法相比,3D-BoNet不需要复杂耗时的区域提议网络和ROIAlign操作,因此不需要NMS等后处理步骤。3D-BoNet由非常高效的共享MLP组成,不需要非极大值抑制、特征采样、聚类或投票等后处理步骤,因此非常高效。Overview3D-BoNet的整体框架如下图所示。它主要由两个分支组成:Instance-levelboundingboxprediction和Point-levelmaskprediction。顾名思义,boundingbox预测分支用于预测点云中每个实例的boundingbox,mask预测分支用于为boundingbox中的点预测一个mask,进一步区分点是否在边界框中属于实例或背景。图23D-BoNet的整体框架看到这里,你可能会有疑问:这好像和proposal-based框架没什么区别吧?让我们从结论开始:差异是巨大的。但问题是有什么区别?首先,我们可以回顾一下proposal-based方法是如何生成boundingbox的?没错,就是在anchor的基础上使用regionproposalnetwork(RPN)生成大量denseboundingbox然后进一步refine,但是这样显然效率不够,真的有必要生成那么多densebounding吗盒子?针对这个问题,我们可以提出一个大胆的假设:为什么不使用RPN,直接让每个实例回归(regress)一个唯一的,但可能不那么准确的boundingbox(如图3所示)?图3.为每个实例回归粗略边界框的示例考虑到3D点云本身明确包含每个对象的几何信息,我们认为这个目标是可行的。那就大胆点,为什么不直接用全局特征来回归每个实例的boundingbox呢?如果能做到这一点,问题不就解决了一半吗?但是马上又出现了新的问题。.首先,每个3D场景包含的实例数量不同(如何让网络自适应输出不同数量的边界框?),每个点云中的实例仍然是乱序的。这意味着即使我们使用网络回归一系列边界框,也很难将这些边界框与groundtruth的边界框一一联系起来。进一步的问题是我们无法实现有监督的网络训练和优化。至此,核心问题就变成了:我们应该如何训练这个网络?针对这个问题,我们提出了一个边界框关联层和一个多准则损失函数来训练网络。换句话说,我们将预测边界框与地面实况边界框关联(配对)的问题建模为最佳分配问题。图4.boundingboxprediction分支的结构图是如何关联的?为了将网络预测的每个边界框与groundtruth中的边界框唯一关联,我们将其建模为最优分配问题。假设当且仅当第-th个预测边界框被分配给地面实况边界框时,它是一个二元关联索引矩阵。是关联成本矩阵,表示将第th个预测边界框分配给groundtruth的边界框的关联成本。一般来说,它代表了两个边界框的匹配程度。两个边界框越匹配,成本越低。因此,boundingbox的最优关联问题也转化为寻找总代价最小的最优分配指标矩阵的问题,表示如下:接下来,如何计算关联代价矩阵?衡量两个3D边界框的匹配程度,最简单直观的评价指标就是比较两个边界框的min-max顶点之间的欧氏距离。然而,考虑到点云在3D空间中通常非常稀疏且分布不均匀,如图4所示,尽管候选框#2(红色)和候选框#1(黑色)和地面真值边界框#0(蓝色)都具有相同的欧几里德距离,但框#2显然具有更多有效点(更多重叠)。因此,在计算成本矩阵时,还应考虑有效点的覆盖范围。图5.预测和地面实况边界框点云覆盖示意图。为此,我们考虑以下三个指标:(1)顶点之间的欧氏距离。例如,将第th个预测边界框分配给groundtruth边界框的成本为:(2)SoftIoU。给定输入点云和groundtruth的实例边界框,我们可以直接得到一个硬二值向量来表示每个点是否在边界框内。然而,直接为相同输入点云的预测帧获取类似的硬二进制向量将导致不可微分的帧。因此,我们引入了一种可微但简单的算法来获得相似但软的二元向量,称为point-in-pred-box-probability,详见论文算法1。所有的值都在范围内,值越高代表该点越有可能在框内,值越小代表对应的点可能离框越远。因此,我们定义第th个预测边界框和第th个groundtruth边界框的sIoU如下:(3)此外,我们还考虑了和之间的交叉熵。cross-entropy倾向于得到更大覆盖率更高的边界框:总而言之,指标(1)试图让学习到的边界框尽可能与groundtruth的边界框重合,并且(2)(3)使用到coverasmanypointspossibleandovercomethenon-uniformnessinfigure5.第一个预测边界框和第一个groundtruth边界框的最终关联代价是:Lossfunction是如何定义的?经过boundingbox关联层后,我们使用关联索引矩阵将预测的boundingbox及其对应的score与groundtruth进行匹配,使得第一个boundingbox(groundtruth的boundingbox的总数)和boundingbox地面实况匹配。对于边界框预测,我们使用多标准损失函数,它是三者之和:对于边界框分数预测,我们使用另一个损失函数。预测框得分旨在表征相应预测框的有效性。通过关联索引矩阵重新排序后,我们将第一个正确的边界框对应的分数设置为1,其余无效的边界框为0。我们使用交叉熵损失作为此二元分类任务的另一个并行分支。我们的方法可以使用任何现有的点云语义分割算法(如Sparseconv、Pointnet++等)作为相应的语义分割模块。整个网络最终的损失函数被定义为表示语义分割分支的损失。这里我们使用标准的交叉熵。对于网络的具体优化和求解过程,我们采用匈牙利算法,详见[8]、[9]。如何预测实例掩码?相比boundingbox预测分支,这个分支比较简单,因为只要boundingbox预测足够好,这个分支相当于做了一个二分类问题,即使是盲猜,也能50%正确速度。在这个分支中,我们将点特征点与每个边界框和分数融合,然后为每个实例预测一个点级二进制掩码。考虑到背景点和实例点之间的不平衡,我们使用focalloss[10]来优化这个分支。图6.点掩码预测分支结构图。实验在ScanNet(v2)benchmark上,我们的方法达到了state-of-the-art的效果。与3D-SIS相比,MASC等方法有明显改进。图7.我们的方法在ScanNet(V2)中的结果在Ablationstudy中,我们还进一步确认了每个分支的作用以及损失函数的每个评估指标。详细分析见论文。图8.Ablationstudyresults(S3DIS,Area5)在计算效率方面,3D-BoNet是目前最快的方法。与SGPN、ASIS、3D-SIS等方法相比,3D-BoNet的速度提高了十倍以上。图9.通过不同方法处理ScanNet验证集所需的时间消耗。此外,我们在图10中进一步显示了我们提出的损失函数在S3DIS数据集(Area1、2、3、4、6用于训练,Area5用于测试)上训练时的变化曲线。从图中可以看出,我们提出的损失函数可以更加一致地收敛,从而实现语义分割分支、边界框预测分支和点掩码预测分支的端到端优化。图10.我们的方法在S3DIS数据集上的训练损失。在图11中,我们给出了预测边界框和边界框分数的可视化。可以看出,我们的方法预测的框不一定非常准确和紧凑。相反,它们具有相对的包容性和较高的客观性。这也与本文开头得到一个粗略的boundingbox的目标是一致的。图11.预测边界框的可视化和我们的方法在S3DIS数据集区域2上的得分。红色框代表预测的边界框,蓝色边界框代表groundtruth。预测边界框后,预测每个框中的点掩码就容易多了。最后,让我们可视化预测的实例掩码。黑点代表属于这个实例的概率接近于0,而彩色点代表属于这个实例的概率接近于1。颜色越深,概率越大。图12.预测实例掩码的可视化结果。输入点云总共包含四个实例,即两把椅子、一张桌子和地面。从左到右分别是椅子#1、椅子#2、桌子#1和地面#2的点掩码。最后,总结一下,我们提出了一种基于边界框回归的高效点云实例分割算法,通过最小化匹配代价函数来实现近似边界框回归,并通过点掩码预测来实现最终的实例分割。我们提出的3D-BoNet不仅在ScanNet和S3DIS数据集上取得了最先进的结果,而且比其他现有算法更有效。