【3D目标检测】SECOND: Sparsely Embedded Convolutional Detection论文解读(2018)

1、 为什么要做这个研究(理论走向和目前缺陷) ?
VoxelNet这种直接对点云进行特征提取而非手工设计特征的3D检测算法效果还行但是很慢。以前的方案朝向预测不准。
2、 他们怎么做这个研究 (方法,尤其是与之前不同之处) ?
提出了3D稀疏卷积(在流形卷积基础上进行优化),充分利用了计算机内存的局部性和多级缓存特性减少访存,以及成熟的GEMM计算速度优势,GPU并行计算的优势等,加速计算。提出了新的朝向编码方案,避免朝向相反但损失很大的情况。提出了新的数据增强方法,将其他点云里的目标点加到当前点云中,增加正例数。
3、 发现了什么(总结结果,补充和理论的关系)?
速度很快,对于大目标car预测较准确,但是小目标不行。

摘要:基于体素的3D卷积做目标检测存在的问题就是慢且朝向预测不准,故本文研究用改进的稀疏卷积提升速度和性能。

1、 引言
VoxelNet将点云划分体素网格,对每个网格中的3D点用VFE(voxel feature encoding)层,VFE层具体结构如下图,即对体素内的点输入到全连接+BN+RELU获得局部(逐点)特征,对逐点特征MAXPooling获得全局特征,局部+全局特征输出。
在这里插入图片描述

VoxelNet的问题就是计算量大,无法实时。
SECOND就是为了解决VoxelNet的计算量过大的问题的,主要创新点是引入了空间稀疏卷积,用于在3D数据被降采样为类似于2D图像数据之前从Z轴提取信息。且此稀疏卷积能够应用GPU加速,实现训练速度提升4倍,推断速度提升3倍,SECOND达到每秒20帧的速度。
此外,SECOND还用了一个新的角度损失回归方法来解决当预测框和GT框角度相差180度但是框却重合时损失太大的问题,这个损失函数比AVOD提出的角度损失要强。
本文主要贡献:
1) 用了稀疏卷积且实现稀疏卷积在GPU上加速
2) 提出了新的角度损失
3) 提出新的数据增强方法

2、 相关研究
2.1 基于前视图和基于图像的方法:
2.2 基于鸟瞰图的方法:MV3D, ComplexYOLO
2.3 基于3D点云的方法:Vote3D等
2.4 基于融合的方法:MV3D, F-PointNet等

3、 SECOND检测器
3.1 网络结构
网络结构如下图,包含3部分:1)体素特征提取器,2)稀疏卷积中间层3)RPN网络
在这里插入图片描述

3.1.1 点云分组(体素化)
按照VoxelNet的体素化的方法进行划分网格,即对点云中的点建立与体素网格的hash映射,没有点的网格不在hash表中存储,对car每个体素网格最多对应35个点,对人每个网格最多对应45个点。
3.1.2 逐体素特征提取
用的跟VoxelNet中的VFE层一样。
3.1.3 稀疏卷积中间提取器
在这里插入图片描述

这部分涉及3D稀疏卷积设计及优化过程,较难以理解,具体原理参考这篇知乎文章,主要思想就是借用hash, GEMM加速等实现在GPU上的快速计算(相关计算过程见上图),计算的结果跟普通卷积是一样的,但是更快,此处贴出3D稀疏卷积跟流行卷积以及常规的密集卷积速度比较:
在这里插入图片描述

稀疏卷积中间提取器的主要作用学习关于z轴的信息,并将稀疏的3D数据转换为2D BEV图像。中间提取器中主要结构如下图,包括两个稀疏卷积、三个流行卷积以及一个稀疏数据转密集数据层。中间提取器将稀疏特征沿z轴压缩至1或2个通道,并转换为密集特征。

3.1.4 RPN网络
这个单阶段网络是基于SSD网络实现,输入就是中间提取器输出的特征图。

3.1.4 Anchors和targets
Anchor与GT框的IOU大于0.6为正例,小于0.45为负例,输出包括一个分类向量(car, pedestrian, cyclist等),一个7维的回归向量(x, y, z, l, w, h, theta),以及一个方向二分类向量用于预测的角度值跟实际方向重合还是相反。

3.2 训练和推断
3.2.1 损失
之前的对朝向编码有:1)用8个角点编码朝向(MV3D),缺点是不能明确车到底是朝两个可选方向中的哪一个,也不能用于行人,因为其框在俯视图视角是正方形的。2)用一个向量来确定四个方向中的哪一个(AVOD),缺点是信息冗余,远距离目标预测不准。3)直接预测航向角(VoxelNet),确定是当两个框重合但朝向相反时,损失很大 。
本文提出的编码朝向的损失函数公式如下,同时还要预测一个二分类的向量确定具体朝向是两个中的哪一个,这样可以很好避免朝向相反但损失很大的情况:
在这里插入图片描述

单阶段网络一般都会用Focal Loss,本文也不例外。
最终的损失函数:
在这里插入图片描述

3.2.2 数据增强
考虑到有很多点云中车很少,就把其他点云里的车相关的数据点随机搬过来,增加车辆数目。

RPN网络结构:
在这里插入图片描述

4.实验
Kitti测试集实验:
对较大物体(car)检测效果很不错,小物体不太行,但是很快。
在这里插入图片描述

BEV实验结果:
在这里插入图片描述

KITTI验证集实验结果:
在这里插入图片描述

可视化:
在这里插入图片描述

不同朝向编码实验:
在这里插入图片描述

4、结论
提出的SECOND网络很快,就很快啊!(近期马保国很火),得益于其实现的3D稀疏卷积能很好的利用内存的局部性及多级缓存原理。另外,SECOND还提出了新的角度编码方案和数据增强方法。对大目标检测效果很不错。

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值