论文笔记 : SECOND: Sparsely Embedded Convolutional Detection

SECOND: Sparsely Embedded Convolutional Detection

重庆大学,输变电设备与系统安全国家重点实验室,2018,KITTI


总结

基于体素划分的3D卷积网络可以较好的处理lidar信息,但是有推理速度慢和朝向估计的性能差的不足。

本文贡献:

  1. 提出了一种改进的稀疏卷积网络,应用于基于LiDAR的目标检测任务中,显著提高了训练和推理的速度
  2. 引入新的朝向角度损失函数,较其他方法有更好的性能
  3. 对仅基于LiDAR的学习问题引入新的数据扩增方法,提高了收敛速度和性能

SECOND Detecter:

论文笔记 : SECOND: Sparsely Embedded Convolutional Detection_第1张图片
提出的SECOND检测模型由3部分组成:体素网格特征提取器,稀疏卷积层(中间层),RPN网络

1. 体素网格特征提取器:

先对点云做grouping,选取特定范围内的点作为特征提取器的输入

先对原始点云进行体素网格划分,随后利用 VFE 体素特征提取网络提取每个体素的特征

2. 稀疏卷积中间层

体素化之后大约会产生5k~8k个体素以及约0.005的稀疏度,直接运用3D卷积将消耗巨大的计算资源和时间.这里作者采用了submanifold convolution, 通过输入数据的稀疏性限制输出的稀疏性,从而极大减少了后续卷积操作的计算量。

本文使用的稀疏卷积特征提取网络包含了稀疏卷积层(由黄色表示), submanifold convolution(白)以及稀疏到稠密的转换层(红)。

论文笔记 : SECOND: Sparsely Embedded Convolutional Detection_第2张图片

RPN:

论文笔记 : SECOND: Sparsely Embedded Convolutional Detection_第3张图片
使用类似SSD的网络作为RPN,由3个stage组成,即(conv * k + BN + ReLU) * 3,然后将每个stage的输出反卷积上采样连接成一个特征图。最后使用三个1* 1的卷积得到类别,偏移和方向。

Loss

新的角度损失回归函数Sine-Error:
在这里插入图片描述
对比voxel net的损失函数:
论文笔记 : SECOND: Sparsely Embedded Convolutional Detection_第4张图片
貌似新的损失函数多了求sin()的步骤,这样的好处有:

  • 解决了朝向为0和Pi的混淆问题
  • 天然地根据角度偏移函数来模拟iou

此外还添加了朝向分类器,向前为正,向后为负

除此之外,作者还提出了一种数据增强方法来加速训练的收敛。从训练集的ground truths中采样形成一个数据库,在训练过程中随机选择数据库中的几个样本并且引入到当前的点云中,为了避免矛盾情况的出现还需要进行碰撞检测。作者还对样本引入了随机的角度噪声,最后还对全局的点云进行小幅度的旋转和缩放。

性能测试

3D detection:论文笔记 : SECOND: Sparsely Embedded Convolutional Detection_第5张图片
论文笔记 : SECOND: Sparsely Embedded Convolutional Detection_第6张图片

实验分析和个人观点:

SECOND速度快,在基本接近实时的情况下达到了与SOTA相近的精度。在大目标检测中性能优越,对于小目标检测则不如较重的网络。点云数据对小目标不敏感是天生的缺点,目前的应对策略是融合2D信息,但是会降低检测速度。原文中讲到:

“However, the promising aspect of this finding is that if it is possible to use information from such images, unrelated points can simply be filtered and locations of objects can be easily determined based on 2D detection results, which should make this problem easy to eliminate”

或许可以采用 稀疏卷积的点云检测网络 + 附加的2D小目标检测RPN 的结构
即:设计一种专门用来检测小目标的2D检测器,很轻速度非常快,这样只需要在最后3D检测RPN的输出上加上2D检测器的输出就可以了。

你可能感兴趣的:(论文笔记 : SECOND: Sparsely Embedded Convolutional Detection)