三维点云---BANet(Boundary aware Net)

更多内容更新于个人博客 twn29004.top
三维点云---BANet(Boundary aware Net)_第1张图片

代码链接

paper链接

论文总结

三维点云---BANet(Boundary aware Net)_第2张图片

本文首先提出了一个目前二阶段目标检测网络存在的问题,就是第一阶段提出的proposal通常与真实的边界框存在一定的偏移,特别是在距离较远,包含点很少的目标。例如上图中的(a),©,(d)中提出的proposal.由于偏移的存在,这样的话这些边界框就很难获的目标的边缘信息。此外,现存的refine的网络也没有聚合或者补偿这些边界信息的机制。此外,现存的网络在优化这些proposal的时候,通常是独立的来优化这些proposal,本文中提出了一种将这些proposal建立图神经网络来同时调整以及特征的传播。作者的解释是通过这个图神经网络,使得当前的proposal能够扩大感受野,获得与其相邻的其他proposal的特征,这样的话就能更好的获得目标的边界信息。

此外,由于BEV的表达方式存在着一些问题,比如特征模糊或者放弃了3D结构的上下文信息,因此作者提出了一个新的局部特征聚合的网络来弥补这些损失。

本文中图神经网络的机制:

三维点云---BANet(Boundary aware Net)_第3张图片

以两个proposal的中心点为衡量标准,半径r内的proposal之间存在一条边。所有的proposal构成了集合V,所有的边构成了集合E。上面算法中的K表达的是网络迭代的次数。每次迭代,遍历每个节点,将与当前节点有边相连的节点的特征全部拼接起来,输入到一个线性层中,然后再做一个通道层面的pooling操作(这个和pointnet中是一样的),然后再将计算得到的特征经过一个线性层和非线性操作,然后再将其与上一阶段的特征相加,得到本次遍历的特征。最后这个proposal的特征采用最后一次遍历的输出。通过一次次遍历,可以不断的扩大当前节点的感受野,从而不断完善当前proposal对于目标边界的了解。

然后是本文作者提出的一个关于局部区域特征聚合的网络,

这部分感觉作者说的不是很清楚,也可能是我读得不太仔细。大概按照作者的意思翻译一下:

关于体素层面的encoding网络,为了能够后的体素层面的特征,作者设计了一个体素和点融合的模块,以充分利用基于点和基于体素的方法的优点。首先作者再稀疏卷积中保留了每个体素的位置坐标,这样的话每个体素的特征的表示就是 { ( f j , p j : J = 1 , . . . M ) } \left \{(f_j,p_j:J=1,...M) \right \} {(fj,pj:J=1,...M)}.为了能够关联多尺度的不同阶段的特征,作者根据pointnet++中的FP层将稀疏卷积的特征传递到了原始点云中。然后我们从原始的点云中插值3D稀疏卷积特征以弥补直接将3D稀疏卷积特征映射到2DBEV特征带来的缺少三维上下文信息的问题。

我的理解: 大概意思就是没有直接把三维稀疏体素的特征直接转化到2D的BEV特征下,因为这样的话将会带来三维信息的确实。于是作者将三维体素信息使用FP传播到原始点云空间,然后在利用原始点云空间来插值这个BEV的特征。【但是看pipline又不太对,迷惑了】

pixel-wise的特征部分也说的不是很明白;

point-wise部分的特征是作者通过使用一个小的pointnet,以原始点云作为输入,将整个点云场景的特征聚合到一些关键点上。

然后最后来做refine的特征就是上面描述的三部分的特征拼接起来。

实验结果:

三维点云---BANet(Boundary aware Net)_第4张图片

上表展示的是BANet在KITTI测试集上的表现。其在BEV这个指标上好像获得了排名第一的成绩,其3D的检测精度也达到了一个较好的水平。

三维点云---BANet(Boundary aware Net)_第5张图片

上述两个表格展示了聚合的不同特征以及图神经网络迭代次数对于性能的影响。从不同特征的消融实验中可以看出,基于点的特征对于实验性能的影响非常的巨大。加入了基于点的对于实验性能的影响非常巨大,但是只是用基于点的特征的网络的性能却不是很好。作者分析其原因是在直接转化BEV表示时,从3D特征逐步进行8x下采样,可能会降低定位精度且缺少3D结构上下文信息。

从图神经网络的迭代次数对于网络性能的影响可以看出,在迭代0次和迭代4次模型性能的差异,这也体现了作者所提方法的有效性。


常用句式

  1. to fully exploit the merits of both sth. and sth. 为了充分利用什么和什么的优点
  2. Specifically, to compensate for sth, we devise sth. 特别地,为了弥补什么,我们提出了什么

代码解读

[挖坑]作者还没有公布代码

你可能感兴趣的:(论文阅读,深度学习,神经网络,机器学习,计算机视觉,3d)