本文介绍一篇两阶段的3D目标检测网络:SIENet
。 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Information Enhancement module。
论文链接为:https://arxiv.org/abs/2103.15396
项目链接为:https://github.com/Liz66666/SIENet
0. Abstract
这里先给出本文摘要:
基于LiDAR的3D目标检测对自动驾驶汽车产生了巨大影响。由于LiDAR固有特性限制,距离LiDAR较远的物体收集到的点数相对较少。点云的这种密度不平衡往往会降低检测准确率,但是在之前的研究中都忽略了这一点
。
为了解决这一挑战,本文提出了一种新的两阶段3D目标检测网络:SIENet
。具体来说,本文设计了 Spatial Information Enhancement(SIE) 模块,用来预测proposals中前景点的空间形状,并提取结构信息进行特征学习进一步优化
。预测的空间形状是完整且密集的点集,因此提取的结构信息包含更多的语义表示。此外,本文还设计了 Hybrid-Paradigm Region Proposal Network(HP-RPN),该网络包括多个网络分支,进行特征学习并为SIE模块生成准确的proposals
。在KITTI
数据集上的实验表明,本文精心设计的SIENet
网络取得了目前最好的检测准确率。
1. Introduction & Related Work
( 本文的引言部分和第二部分研究现状这里就不详细介绍了,大家可以查看原文,我在这里大致总结下。)
从下面左边这张图可以看到,现有的3D目标检测算法在近距离(20米以内)的检测准确率都很高(90%左右),但是在远距离(超过40米)它们的准确率下降到了30%~40%左右。
右边这张图说明了点云密度的不平衡性,这里以汽车为例,在近距离内点云数量超过了1000,而在中等距离内点云数量仍然在200个以上,远距离处点云数量只有20个左右。因此需要找到一个办法来解决点云密度不平衡性。
下面介绍研究现状:
- 3D Object Detection Based on Multi-modality Fusion
多模态融合的3D目标检测方法有MV3D,AVOD,Frustum PointNet,EPNet,3D-CVF
。以上方法需要同时使用图像和点云数据,且需要进行数据对齐和投影。 - 3D Object Detection Based on LiDAR Only
基于LiDAR的检测方法有VoxelNet,SECOND,Part-A2,PointRCNN,3DSSD,STD
。但是这些研究都忽视了点云密度不平衡性的问题。 - 3D Shape Completion
在本文中选择Pcn (Point completion network)
算法进行物体空间形状的预测,生成完整且密集的点集。
Detection performance at different distance ranges | Illustration of the point cloud with imbalanced density on the KITTI dataset |
---|---|
2. Our Framework (重点)
下图是SIENet
网络整体框架,由HP-RPN
和SIE module
组成。下面首先介绍HP-RPN
,然后介绍SIE module
。
2.1 Hybrid-Paradigm RPN
如下图所示,HP-RPN
包含三个分支:SPConv Branch,Auxiliary Branch,Keypoint Branch
。首先对点云进行体素化处理,使用SPConv Branch
学习voxel特征,然后Keypoint Branch
使用注意力机制动态编码voxel 特征,Auxiliary Branch
用于学习结构信息。
下面详解介绍这三个网络分支:
- SPConv branch
和SECOND
一样,这里将点云划分为一个个相等大小的voxel,堆叠4个稀疏卷积块对输入的体素特征进行8倍下采样,最后使用和SECOND
一样的RPN Head
生成候选方案。 - Auxiliary branch
这里使用了SA-SSD
网络中的Auxiliary Network
将voxel坐标转换为真实场景坐标,同时使用PointNet++
中的特征传播层进行插值,将每一块得到的特征进行结合用以学习结构信息。 - Keypoint branch
和PVRCNN
中的VSA模块
进行voxel特征融合相似,但是由于点云密度不平衡,每个keypoint权重并不一样,使用了Deformable pv-rcnn
中的context fusion方法分配关键点权重。
2.2 Spatial Information Enhancement Module
这里有三个问题需要考虑:如何预测空间形状?如何提取结构信息?如何进行特征融合和box优化?
-
Spatial shape prediction
空间形状预测如下图所示,这里选择PCN
作为主干网来进行预测。假设输入点集为:{Pi∣i=1,…,N}\left\{\boldsymbol{P}_{i} \mid i=1, \ldots, N\right\}{Pi∣i=1,…,N},其中Pi\boldsymbol{P}_{i}Pi是坐标向量,NNN为点的个数。为了减少干扰,这里先使用了Part-A2
中的RoI-aware pooling
进行点集变换;然后使用一个PointNet
得到一个256维的全局特征向量vvv,特征结合得到512维的特征,然后再使用一个PointNet
得到1024维的全局特征向量,最后再使用全连接层网络得到新的点集P^\hat{\boldsymbol{P}}P^。
-
Structure information extraction
现在我们已经有了预测的形状点集{P^i∣i=1,…,1024}\left\{\hat{\boldsymbol{P}}_{i} \mid i=1, \ldots, 1024\right\}{P^i∣i=1,…,1024},我们使用FPS
采样mmm个点得到点集{Si∣i=1,…,m}\left\{\boldsymbol{S}_{i} \mid i=1, \ldots, m\right\}{Si∣i=1,…,m}。对每一个采样点,有TTT个近邻点。使用MSG
方法进行多尺度的特征提取得到m×(C1+C1)m \times\left(C_{1}+C_{1}\right)m×(C1+C1),最后使用全连接层网络得到全局信息Fs∈RC1\boldsymbol{F}^{s} \in \mathbb{R}^{C_{1}}Fs∈RC1。 -
Feature fusion and box refinement
特征融合如下图所示。首先使用了PV-RCNN
中的RoI-grid pooling
捕获网格点近邻 keypoint 的 context 信息,表示为:Fg={f1g,f2g,…,f216g}∈R216×C2\boldsymbol{F}^{g}=\left\{\boldsymbol{f}_{1}^{g}, \boldsymbol{f}_{2}^{g}, \ldots, \boldsymbol{f}_{216}^{g}\right\} \in \mathbb{R}^{216 \times C_{2}}Fg={f1g,f2g,…,f216g}∈R216×C2。然后网格点特征和结构特征进行结合得到新的特征:Fc=[Fg,Fs]∈R216×(C2+C1)\boldsymbol{F}^{c}=\left[\boldsymbol{F}^{g}, \boldsymbol{F}^{s}\right] \in \mathbb{R}^{216 \times\left(C_{2}+C_{1}\right)}Fc=[Fg,Fs]∈R216×(C2+C1),这里在结合时使用了Perspective-Channel Attention
分配特征权重,最后得到增强权重Fe∈R216×(C2+C1)\boldsymbol{F}^{e} \in \mathbb{R}^{216 \times\left(C_{2}+C_{1}\right)}Fe∈R216×(C2+C1)。
3. Experiments
实验部分,作者在KITTI
数据集上进行了验证,实验细节这里不介绍了,可以查看代码和论文,下面几张表是实验结果。
Comparison with the state-of-the-art methods on KITTI test set | Comparison with the state-of-the-art methods on KITTI val split - Moderate Car (R11) |
---|---|
下面两张表是本文提出的HP-RPN
和SIE
对检测准确率的影响。
Effects of auxiliary branch and context fusion for HP-RPN | Effects of SIE module |
---|---|
下面这张表是在验证集上对Moderate difficulty在不同距离上的检测准确率。
最后是本文提出的物体形状预测的可视化效果。