1 简介

3D-BoNet是一个高效、优雅、简洁的点云实例分割算法,相较于往常算法,有high objectness、not require expensive and dense proposals、no post-processing steps等特性,主要由bounding box prediction与point mask prediction构成。

meshlab两点云匹配_特征向量


meshlab两点云匹配_算法_02

2 功能介绍

2.1 bounding box prediction

此功能以一个全局特征向量为输入,回归出若干边界盒,然后以一个联系层将真实值与预测值相联系,训练神经网络。

meshlab两点云匹配_算法_03


bounding box prediction

Neural Layers
以点云为输入,得到一个全局特征向量和点特征向量,这里全局特征向量经由MLPs得到一个六维的矩阵代表预测边界盒以及一个一维向量表示这些盒的置信度。

Bounding Box Association Layer
得到的边界预测盒无法直接与真实值联系进行训练,原因有三:一是数量不均等,二是顺序不对应,三是无锚点将二者联系,因此此处提出了Bounding Box Association Layer用以匹配预测值与真实值。

创建二维布尔矩阵meshlab两点云匹配_特征向量_04meshlab两点云匹配_meshlab两点云匹配_05的值代表了对应的预测盒与真实值是否联系。

将一个预测盒与真实盒联系是要有代价付出的,预测盒与真实盒越匹配,则代价越低,创建一个大小与A相同的矩阵meshlab两点云匹配_特征向量_06,每一种匹配情况都对应着一个代价值,找到最小代价,就找到了最优匹配办法。

按这种思路,就把问题转化为了寻找最优解的问题。

即,在C确定的情况下,如何确定meshlab两点云匹配_特征向量_04

幸运的是,这个式子已有Hungarian algorithm做以解决,因此,只需要确定好meshlab两点云匹配_特征向量_06的值就行了。

meshlab两点云匹配_meshlab两点云匹配_09


optimal assignment problem

作者提供了三个影响代价的指标,分别是欧式距离,最小最大覆盖。

1)欧式距离容易理解,即真实值与预测值各个顶点的距离平均值,欧式距离越高,代价越大:

meshlab两点云匹配_meshlab两点云匹配_10


欧式距离2)最小覆盖这一块,需要做以思考,作者抛出了一个不可忽视的情况,如图所示

meshlab两点云匹配_神经网络_11

即对于真实盒#0来说,预测盒#1与#2中,#2肯定预测的更好一点。但是#1与#0和#2与#0的欧式距离也是相等的,所以这里就要考虑一下点云最小覆盖的问题。

设输入点云meshlab两点云匹配_特征向量_12meshlab两点云匹配_特征向量_13个点,建立meshlab两点云匹配_神经网络_14维布尔矩阵代表点是否在真实盒里,这样,每一个点相对于某一个真实盒的情况就能直接得出,但是对于预测盒,如果我们还是以这种方式来确定,则会由于离散化导致结果不可微。

作者提出了一种point-in-pred-box-probability算法,将每一个是否在预测盒的情况转化为可以参与连续计算的概率值。概率值的获取参照其相对于预测盒最大点和最小点的距离以及两个超参数。

meshlab两点云匹配_神经网络_15


point-in-pred-box-probability这样,就获得了这对预测盒与真实盒的所有点位情况,作者采用了交并比的思路来考察点的最小覆盖,即点云中最紧凑的部分。交并比关注重叠区域,零星分布的数据对结果影响较小。交并比越高,重合越密切,真实盒与预测盒选择越合适,代价越低,即代价与meshlab两点云匹配_深度学习_16值呈负相关,加上负号,量化这种影响。

meshlab两点云匹配_特征向量_17


sIoU3)对于最大覆盖,作者使用了交叉熵来考察,交叉熵关注所有预测值与真实值的差异情况,对全局都有所关照。交叉熵越小,相对熵越小,预测盒与真实盒选择越合适,代价越低,即代价与交叉熵值呈负相关,加上负号,量化这种影响。

meshlab两点云匹配_特征向量_18

交叉熵则连接代价矩阵得以获得,则meshlab两点云匹配_特征向量_04得以求出,则真实盒与预测盒也得以成果匹配。

meshlab两点云匹配_特征向量_20


连接代价矩阵Loss Functions

上述步骤仅仅是把预测值与真实值联系了起来,现在需要进行反向传播,源自于盒子联系的损失可以描述为:

meshlab两点云匹配_meshlab两点云匹配_21


Multi-criteria Loss for Box Prediction仅仅考虑成功联系起来的盒是不够的,因为这样会使那些未参与连接的预测盒逃避损失方程的惩罚,即他们产生的负面影响未有考虑至损失中,这里将成功匹配的真实值盒子的置信度设为1,再次使用交叉熵来计算损失,

meshlab两点云匹配_特征向量_22


Loss for Box Score Prediction

损失方程建立,训练网络,则可求得最优的预测边界盒。

2.2 Point Mask Prediction

在预测盒足够精准的情况下,点位掩膜将很容易获取。以预测值、全局特征向量和点特征向量为输入,经由下述神经网络,得到预测掩膜。

meshlab两点云匹配_神经网络_23


Point Mask Prediction

2.3 End-to-End Implementation

考虑语义分割的损失,则总误差可以记做

meshlab两点云匹配_特征向量_24


combinedmulti-task loss

至此,完成了实例分割。

3 总结

该算法创造性的使用了meshlab两点云匹配_meshlab两点云匹配_25来实现预测值与真实值的连接,在条件不足的情况下完成了神经网络的建立。这是本人阅读的第一篇点云处理的英语原文文献,在被作者们的奇思妙想与大刀阔斧的研究所震撼时,也不由得惊叹其行文之流畅与逻辑之缜密。受限于硬件条件,未能对实验结果予以复现,望日后抓紧补齐知识短板,潜心修学。