本文介绍的是CVPR2020入选论文《HVNet: Hybrid Voxel Network for LiDAR Based 3D Object Detection》,作者来自 元戎启行 。
作者 | 元戎启行
编辑 | 丛 末
论文地址:https://arxiv.org/abs/2003.00186
3D目标检测是当前自动驾驶感知模块重要的一个环节, 如何平衡3D物体检测的精度以及速度 更是非常重要的一个研究话题。本文提出了一种新的 基于点云的三维物体检测的统一网络:混合体素网络(HVNet) ,通过在点级别上混合尺度体素特征编码器(VFE)得到更好的体素特征编码方法,从而在速度和精度上得到提升。与多种方法相比,HVNet在检测速度上有明显的提高。在KITTI数据集自行车检测的中等难度级别(moderate)中, HVNet 的准确率比PointPillars方法高出了8.44%。
图1 3D物体检测
在KITTI数据集上,HVNet网络在KITTI数据集上提交结果的所有已有方法中获得了最好的mAP,并且实时推理速度可以达到31Hz。
图2 KITTI测试集上的速度-精度对比图,其中O为HVNet
1
研究背景
在当前点云检测模块,格网化(voxelization)是一个重要的方式。许多已有的方式都是通过格网化,然后进行离散的卷积操作。但是,在应对大规模的场景下,一个关键参数是格网voxel的大小:较小的voxelscale捕获更精细的几何体特征,并更好地定位对象,但需要较长的推理时间。较大的voxel scale导致较小的特征图和较快的推理速度,但性能较差,特别是对于较小的物体。
图3 常见的体素特征提取网络(VFE)
为了应对上面问题带来的挑战,我们通过多尺度的点云信息,利用注意力机制(attention),提取更加细粒度的点云特征,然后映射到更大格网粒度上,从而保证速度跟精度的平衡。传统体素特征提取网络(VFE)方法通常包含三个步骤:1.体素化:将点云指定给二维体素网格。2.体素特征提取:为每个点计算依赖于网格的逐点特征,并将其送入PointNet风格的特征编码器。3.投影:将逐点特征聚合到体素级特征,并投影回其原始网格,形成伪图像特征图。HVNet中提出的HVFE方法则将混合比例尺度下的点级别的特征聚合到全局上下文中,然后投影到动态目标尺度中的特征图上。
图4 本文提出的HVFE方法
2
算法设计
整个HVNET包括:HVFE特征提取模块;2D卷积模块;以及检测的head模块,用来输出最后的预测结果。下图中第一行是HVNet的整个结构。第二行是混合体素特征提取器的结构,由四部分组成:a) x-y平面多尺度预体素化;b)并行多流的注意力机制体素特征编码层(AVFE)编码多尺度点云特征;c) 编码特征聚合;d)注意力机制体素特征编码输出层(AVFEO)层结合聚合特征和目标尺度信息进行动态特征投影。
图5 网络框架图
1.HVFE layer方面,我们提取了不同尺度的voxel下点云的特征,为了融合不同尺度下的点云的特征,我们提出了attentive layer,利用原始的geometry信息,对不同尺度的点云进行特征映射以及融合,形成最终的2.5D上的特征图。在整个过程,我们提出了index-based的高效操作,使得整个聚集(scatter),以及分散(gather)的操作能够充分利用GPU并行,相比与之前方法的操作,我们的方式可以有效减少信息的损失以及GPU显存的使用。
图6 AVFE和AVFEO层。索引张量用于索引操作:聚集(Gather)和分散(Scatter)
2.2D 卷积部分,我们利用HVFE layer提出的多尺度的feature map,在特征图上面也进行多尺度的融合。由于点云的稀疏性和伪特征图的低分辨率性,我们提出了尺度融合金字塔网络(FFPN)来进行进一步的特征融合。多尺度特征首先在主干网络中浅层融合,然后在提出的FFPN网络中进行深度融合。
图7主干网络
3.detection head部分,我们利用不同层的featuremap感受野不同的特性,对不同的层设计相应的anchorbox进行预测。具体来说,对于不同层的feature map,在detection head部分只会对相对应的尺度的类别进行预测,这样的方式可以有效减少类别间的混淆。
3
结果
KITTI数据集是自动驾驶是目前自动驾驶领域最重要的测试集之一,我们在KITTI上进行了实验验证。实验结果证明了我们方法的有效性,我们的算法在KITTI上做到了Cyclist当时的最好成绩,并且在当时的leaderboard上超越了第二名2个点,同时在Car上面我们做到了第六名。
图8 HVNet 在KITTI 测试上的BEV成绩(自行车,2019年11月)
图9 HVNet 在KITTI 测试上的BEV成绩(汽车,2019年11月)
值得注意的是,很多方法在处理多类别物体检测中训练多个模型来检测不同的类别,我们仅通过单一的网络完成输出。在KITTI的多类别检测任务中,我们取得了当时最好的mAP(平均精度),同时保证了实时的效率。相比于PointPillars、Second等算法,HVNet在效率也有很大的突破。
图 10 KITTI test上的BEV成绩
相比于PointPillars、Second等算法,我们调整了Voxel的尺度,对比了和这些方法在相似的Voxel尺度下的效率和准确率。结果表明我们的方法在性能和效率方面都超过了现有方法。
图 11 KITTI val数据集中BEV上的不同Voxel设置下结果对比
4
思考总结
在这项工作中,我们提出了一种新型的单级三维目标探测网络HVNet。HVNet将混合尺度体素聚合成统一的逐点特征,然后在注意力特征的引导下将其投影成不同尺度的伪图像特征。HVNet的关键是对特征提取尺度和伪图像投影尺度进行解耦。此外,特征融合金字塔网络的主干获取伪图像并融合特征,以生成不同类别的紧凑表达。实验研究表明,该方法取得了目前最先进的效果,并且具有较高的实时性。
点击“ 阅读 原文 ” ,观看直播回放视频
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 大讲堂 | 物体检测算法的近期发展及开源框架介绍
- SimpleDet: 一套简单通用的目标检测与物体识别框架
- Recognize.js 1.0.0-alpha 发布,Node.js 物体识别 AI 框架
- 香港中文大学陈恺:物体检测算法的近期发展及开源框架介绍 | 大讲堂第 102 期
- 旷视发布通用物体检测数据集 Objects365,开启 CVPR 物体检测挑战赛
- c++ 投掷活动物体
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。