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还提出了新的角度编码方案和数据增强方法。对大目标检测效果很不错。

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

  1. SECOND: Sparsely Embedded Convolutional Detection 论文笔记

    SECOND: Sparsely Embedded Convolutional Detection 论文链接: https://www.researchgate.net/publication/328 ...

  2. 论文阅读 SECOND:Sparsely Embedded Convolutional Detection

    标题:SECOND:Sparsely Embedded Convolutional Detection 作者:Yan Yan,Yuxing Mao,and Bo Li 来源:sensors 2018 ...

  3. 论文笔记 : SECOND: Sparsely Embedded Convolutional Detection

    SECOND: Sparsely Embedded Convolutional Detection 重庆大学,输变电设备与系统安全国家重点实验室,2018,KITTI 总结 基于体素划分的3D卷积网络 ...

  4. 【3D目标检测】SECOND: Sparsely Embedded Convolutional Detection

    目录 概述 细节 网络结构 稀疏卷积 方向分类 损失函数 概述 首先,本文是基于点云,并且将点云处理成体素的3D目标检测网络,提出的SECOND可以看做是VoxelNet的升级版. 提出动机与贡献 V ...

  5. SECOND: Sparsely Embedded Convolutional Detection

    Abstract 基于LiDAR或基于RGB-D的目标检测被用于从自动驾驶到机器人视觉的众多应用中.一段时间以来,基于体素的3D卷积网络在处理点云LiDAR数据时被用于增强信息的保留.然而,问题仍然存 ...

  6. AI_综述:3D目标检测于RGB-D(Object detection in RGB-D images)

    转载自:https://zhuanlan.zhihu.com/p/34887948 基于深度学习的图像目标检测(上) 基于深度学习的图像目标检测(下) 大牛讲堂 | 基于DenesBox的目标检测在自 ...

  7. 【3D目标检测】Accurate Monocular Object Detection via Color-Embedded 3D Reconstruction for AD

    目录 概述 细节 整体流程 第一阶段:3D数据生成 第二阶段:3D边界框估计 前景分割 颜色嵌入 3D 边界框估计 损失函数 概述 本文是基于图像的3D目标检测方法. 和伪点云原论文在流程上是相同的, ...

  8. 3D目标检测(单目)D4LCN论文复现(paddlepaddle)

    D4LCN: Learning Depth-Guided Convolutions for Monocular 3D Object Detection (CVPR2020) 基于深度引导卷积的单目3D ...

  9. 【论文阅读】SECOND: Sparsely Embedded Convolutional Detection

    论文链接: https://www.researchgate.net/publication/328158485_SECOND_Sparsely_Embedded_Convolutional_Dete ...

最新文章

  1. Route 66地图安装的一个简单方法,在N70上验证过
  2. Red hat linux 下配置Java环境(jdk)
  3. REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED
  4. springboot书籍_常见的SpringBoot面试题四
  5. [zz]Linux操作系统下三种配置环境变量的方法
  6. 【NOI2016】网格,离散化+求割点
  7. html/css/js各类相对路径引用方法归类
  8. 电脑花屏是屏幕坏了吗_电脑开机屏幕花的是不是主板坏了
  9. php全表搜索,搜索整个表? PHP MySQL
  10. python离线录音转文字软件_有能把录音变成文字的软件么?
  11. 几个免费的中文分词模块
  12. Ubuntu20.04开启night夜间模式保护视力
  13. 一个服务器多个网站搜外问答,多个网站共用一台服务器对SEO有影响吗?
  14. Java Spring MVC框架 VIII 之 Spring MVC拦截器
  15. MySQL数据库web客户端管理工具软件
  16. 关于使用条码打印机指令打印汉字的问题
  17. 360数科华丽财报下的增长困局
  18. 操作系统中的吸烟者问题
  19. 量化投资学习——股指期货研究(四)
  20. PAT甲级真题1166

热门文章

  1. u盘文件删除不掉,用360粉碎生成随机数文件删除不掉
  2. 数字经济下 “东数西算” 的中国布局
  3. 新网域名解析指向自己的dns服务器,DNS修改和域名解析的一些小知识
  4. 本地缓存:为什么要用本地缓存?用它会有什么问题?
  5. 【知乎整理】云计算和虚拟机(VMWare)有什么区别?
  6. 如何将会议录音转文字?你知道如何将会议录音转文字吗?
  7. 【深入理解CLR 三】生成、打包、部署和管理应用程序及类型
  8. 在计算机系统内部使用的汉子编码是,数据库系统工程师考试汉字编码输入码
  9. 有关Last-Modified 与 If-Modified-Since
  10. 利用HashMap找出数组中出现次数最多的元素及其次数