三维目标检测中的RPN网络总结

发布时间:2023-02-10 11:00

更过内容更新于个人博客 twn29004.top

常见的RPN网络

Faster-RCNN中的RPN网络

三维目标检测中的RPN网络总结_第1张图片

在Backbone生成的特征图中,使用大小为 3 × 3 3\times 3 3×3的卷积处理特征图,针对每一个中心点生成一个256维的向量。特征图可以理解为原图的一种缩小版。 使用 3 × 3 3\times3 3×3的卷积处理特征图可以对应到原图中的一个区域。然后RPN网络的目的就是在原图中的各个区域放置anchors。然后根据提取的特征判断这些anchor是否合理以及之后对这些anchor进行调整。

针对特征图中的每一个中心点,使用 3 × 3 3\times3 3×3的卷积来提取特征图的特征,生成一个256-D的向量。这个256-D的向量可以理解为对应于原始图像中的某一个区域。然后使用一些全连接层来判断这些anchor是背景还是前景,以及这些anchor距离目标中心点的偏移。

上述步骤处理完成之后,我们就在提取的特征图上的每一个点都获得了一组anchor,及其是否是前景点还是背景点,以及其相对Ground truth的偏移。然后我们需要proposal layer网络来生成proposal了。其基本步骤如下:

  1. 生成anchors. 根据前面的RPN网络计算出的偏移量和原始的anchors,生成最终anchors所在的位置
  2. 根据前面的对于anchor是前景点还是背景点的判断的输出,根据置信度排序,选取前N个作为关注的anchor.
  3. 对于超出图像边界的anchors进行处理
  4. 剔除尺寸较小的anchors
  5. 对剩余的positive anchor进行NMS
  6. 剩余的区域输出作为下个阶段的输入

上述proposal生成了一系列大小不同的anchor。这些anchor都是对应原图的不同大小的区域。由于神经网络只能处理固定大小的输入,因此,在将不同大小的anchor映射回backbone生成的特征图之后,将所对应区域的不同大小的特征图划分为相同大小的网格,然后对这些网格进行pooling操作。这样就使得网络能够有固定大小的输入了。

三维目标检测中的RPN网络总结_第2张图片

SECOND网络中的RPN网络

三维目标检测中的RPN网络总结_第3张图片

SECOND的RPN网络与Faster-RCNN中的类似,不同的是,SECOND中并没有第二阶段,这个RPN网络是用于从backbone提取的特征图中生成边界框的。

由于三维的卷积神经网络太过耗时,所以作者在使用稀疏卷积神经网络提取三维点云的特征之后,将其压缩到了俯视图的特征图上,然后再特征图的各个位置计算该区域所属的类别以及回归分支计算的值。

神经网络总是要找到一个目标去优化的,但是就目前来说,我们还不知道我们优化的目标是什么,所以我们需要找到一个基准值去优化。所以需要根据anchor找到一个基准值作为优化的目标。这里采用的是以IoU为基准来进行判断。也就是说当我的anchor与基准值的IoU大于某个阈值的时候,我就需要关注这个anchor预测的输出。小于某个阈值的时候,我们也需要关注其预测的输出,我们将其分类背景,那么我们在训练的时候也希望他是朝着背景的方向去优化的。

这个就是OpenPCDet中的TargetAssign. 将anchor与gt绑定之后,我们还需要gt的其他信息来帮助我们优化我们的目标。

PointRCNN网络中的RPN网络

三维目标检测中的RPN网络总结_第4张图片

**该方法生成的区域提议达到了很高的recall。**其实原因很好理解,根据每一个前景点生成,只要能够找到目标的前景点,大概率也能计算出其对应的三维边界框。使用点云分割网络对采样的点云进行分割。然后根据分割出的前景点生成边界框。文中的意思的是针对每一个前景点都预测一个三维边界框。这样的话就会产生大量的重复的三维边界框,因此作者使用了NMS去除边界框。作者选择在俯视图上IoU阈值为0.85,来选择300个高质量的porposal来进行第二阶段的refine。选择在俯视图上的原因是二维IoU的计算要简单快速的多,此外,因为重复的很多,所以作者选择了一个很高的阈值来减少proposal的数量。

三维目标检测中的RPN网络总结_第5张图片

从上图中可以看出,在IoU为0.5时,其recall能达到98.21。这已经达到了相当高的水准。但是当IoU为0.7时,其下降到了82.29,这也在一定程度上反映了针对其实各个前景点生成的三维边界框的质量并不是很高。分析其原因是因为不同的前景点通常位于目标不同的位置,根据其预测回归三维边界框可能比较困难。

上述方法存在的弊端就一方面需要消耗大量的资源来计算三维边界框。该网络是一个二阶段的网络,但是作者并没有同时训练这两个网络,分析其原因是因为计算资源消耗太大了。一方面是分割网络的资源消耗,另一方面的proposal生成的消耗。

VoteNet网络中的RPN网络

三维目标检测中的RPN网络总结_第6张图片

VoteNet的基本流程就是首先在原始场景中进行采样,提取特征。然后根据提取的特征对目标的中心点进行投票。这里投票的意思就是根据原始点云的位置和特征,估算目标中心点的位置,计算该点云到中心点的偏移。原始点云加上这个偏移就可以向目标中心点靠拢。然后在根据投票结果做一个聚类。文中描述的聚类的话是在Votes中进行FPS采样,采样 K K K个点,然后将这 K K K个点周围的其他点聚合到一个集合中就形成了一个聚类。因为投票之后目标的点靠的更近了。聚类后的结果即为网络的proposal。然后根据这些proposal生成三维边界框。

VoteNet网络的RPN感觉比PointRCNN的要好一些,同样是根据点来生成proposal。VoteNet中借用了投票和聚类的方法来生成proposal。此外,再该方法中,不仅利用了前景点云,还在一定程度上利用了周围的背景点云。可能还在一定程度上减少了计算开销。

3DSSD网络中的RPN网络

三维目标检测中的RPN网络总结_第7张图片

3DSSD中的RPN网络部分和VoteNet中的基本一致。不同的是3DSSD中引入了一种混合采样的方法。传统的FPS采样是在欧几里得空间进行的。作者在文中分析了这个方法的弊端。因为点云场景中大部分的点云都是背景点云。FPS采样虽然可以让采样的点云均匀的近似均匀的分布在整个点云空间,但是其采样到的点云大部分都是背景点云。这不利于我们的特征提取。因此作者引入了一种混合采样的方式,就是既在欧几里得空间应用FPS采样,又在语义特征空间应用FPS采样。然后将两种采样的距离结合起来。

三维目标检测中的RPN网络总结_第8张图片

上表中,D-FPS表示的是欧几里得空间的FPS,F-FPS表示的是语义特征空间的FPS。从上表中可以看出,引入F-FPS确实能在一定程度上提高算法采样到前景点的比例。

此外,3DSSD采用的是anchor-free的方法生成三维框,其根据每一个候选人点生成一个三维框,

一个疑问高维空间中的距离度量将会失效,那再高维的语义特征空间中,FPS为什么还会有效呢???,难道是这里的语义特征的维度很小,这里需要到代码中求证

点生成一个三维框,

一个疑问高维空间中的距离度量将会失效,那再高维的语义特征空间中,FPS为什么还会有效呢???,难道是这里的语义特征的维度很小,这里需要到代码中求证

高维空间欧氏距离与余弦相似度失效

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号