小白科研笔记:点云目标检测相关文献速读-Part B

1. 3DSSD

首先分析CVPR2020的3D目标检测文章“3DSSD: Point-based 3D Single Stage Object Detector”。这是一个单阶段,不需要Anchor的,基于点云的3D目标检测算法。网络实验效果也比较不错,比单阶段目标检测的SOTA方法优秀。在引言中,把当前的方法分为voxel-based方法和point-based方法。介绍voxel-based方法显得很苍白。但是介绍point-based方法写的很细致。这些方法需要PointNet++中的Set Abstraction(SA层)和Feature Propagation(FP层)的操作。3DSSD主要有三个创新点:

  • 提出一个新网络3DSSD,不需要FP层,进而提高推断时间
  • 在SA层上提出一个新的采样策略,可以保留充足的前景信息
  • 提出一个新的3D框预测网络

3DSSD的网络结构图如下所示:

小白科研笔记:点云目标检测相关文献速读-Part B_第1张图片
图1:3DSSD的网络结构(注意作者提出的创新点:Fusion Sampling,Candidata Generation Layer;)

这篇文章逻辑写的很通畅。作者会讲解他们提出创新点的思路和原因,以Motiviation的形式写出。这一点是非常值得学习的。

1.1 Fusion Sampling

作者认为现有的point-based方法都采用双阶段的形式。这类方法通常会采用FP层做特征提取,而FP层的计算是非常消耗时间的。基于此,作者想设计一个轻量的网络,不去使用FP层。

在图1中,D-FPS指欧式空间下的采样,可以直接理解为K近邻。在Fusion Sampling的机制中,作者首先提出了F-FPS,即feature-farthest points sampling。在Feature空间下,衡量两个点之间的feature距离可以用它们对应的高维特征向量的欧式距离。这一个思路其实很好。作者定义的空间距离,实际上是3D距离和特征距离的加权和,如下所示:

小白科研笔记:点云目标检测相关文献速读-Part B_第2张图片
然后根据这种混合的特征距离进行最远点采样。所谓Fusion Sampling就是同时进行D-FPSF-FPS操作。总之这篇文章的核心就是F-FPS。后续的操作都是对F-FPS的延续。

2. Part-A2 Net

分析一篇TPMAI2020的双阶段的3D目标检测文章“From Points to Parts: 3D Object Detection from Point Cloud with Part-aware and Part-aggregation Network”。正如题目所言,这篇论文有两个主要的创新点:

  • Part-aware stage 用于回归初始3D框
  • Part-aggregation stage 用于精细化优化初始3D框

Part-A2 Net的网络结构图如下所示:

小白科研笔记:点云目标检测相关文献速读-Part B_第3张图片
图2:Part-A2 Net网络示意图

总体感觉是对PointRCNN的细致升级版。PointRCNNBackbone使用的是PointNet++,在这里就升级为SparseConvPointRCNNPoint cloud region pooling就升级为RoI-aware Point cloud Pooloing。误差函数和PointRCNN一样,采用Bin based的误差函数。

2.1 RoI-aware point cloud feature pooling

对我而言,比较重要的是RoI-aware Point cloud Pooloing机制。PointRCNNPoint cloud region pooling比较简单,但是会面临一个问题:如果两个候选框(图3中两个蓝色虚线框)中覆盖的点是一模一样的(图3中黄色的点),那么这两个候选框池化的信息也是一样的,如下图所示。这样会产生歧义。作者会根据黄色的点,在体素空间上得到一个“方方正正”的候选框(图3中的绿色框),然后再去做池化(把点云特征转移到体素特征上,一个体素就是一个小立方块,把小立方块中的点云特征池化为该立方块对应的特征,有平均池化和最大池化两种方式)。

小白科研笔记:点云目标检测相关文献速读-Part B_第4张图片
图3:RoI-aware point cloud feature pooling示意图

3. PV-RCNN

这是一篇CVPR2020的文章“PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection”。这篇文章目前是KITTI3D目标检测的榜首。PV-RCNN网络的Backbone部分吸同时收了Point特征和Voxel特征,它的网络结构如下所示:

小白科研笔记:点云目标检测相关文献速读-Part B_第5张图片
图4:PV-RCNN网络结构

这个网络结构其实很容易懂。对原始点云进行FPS采样,采样点的特征包括周围点的近邻特征,稀疏卷积得到的特征,以及BEV视图下的特征。这些采样点中又会回归出各自的权重比值,用于第二阶段的3D框的回归。它同时也吸取了Part-A2 Net的核心创新点RoI-aware Point cloud Pooloing,并在此基础上做了改进,得到RoI-grid Pooling Module。采样点的权重计算过程则如下所示(通过监督学习方式,让属于前景目标的关键点的权值尽可能大,背景点的权值尽可能小):

小白科研笔记:点云目标检测相关文献速读-Part B_第6张图片
图5:关键点权值计算过程

最后看一下RoI-grid Pooling Module机制,如下图所示。提取体素点(即Grid Point)的特征,会在该点展开两个邻域球,一个半径较小(紫色球),而另外一个半径较大(绿色球),把这两个球内的特征拼接在一起,然后得到RoI-grid Point Features

小白科研笔记:点云目标检测相关文献速读-Part B_第7张图片
图6:RoI-grid Pooling Module机制

4. 感想

读文章最重要的是学习它的闪光点。有时候先去理解这篇文章的解决问题思想,然后再按照自己实际的需求,细化分析文章中的数学公式和背后的代码,也是未尝不可的。

你可能感兴趣的:(computer,vision论文代码分析)