【3D目标检测】VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection解读

VoxelNet是首个端到端的3D目标检测网络,利用体素化和VFE层处理点云数据,解决了PointNet++处理大规模数据的难题。在KITTI汽车检测任务中表现出SOTA性能。
摘要由CSDN通过智能技术生成


前言

1. 为什么要做这个研究?
以往的3D检测应用LiDAR数据或是投影到某个视角,或是对3D体素手工提取特征,而PointNet++无法处理大规模点云数据。作者希望能够构建一个端到端的3D检测网络,并且可以高效运行。
2. 实验方法是什么样的?

  1. 体素化划分,将整个点云区域按照固定分辨率划分成立体网格;
  2. 随机采样,每个体素随机选取t个点( t ≤ T t \leq T tT),由于点云的稀疏,这些体素90%为空;
  3. VFE层级结构,对每个体素进行编码,得到输入特征集 V i n V_{in} Vin,对体素内每个点进行全连接(FCN)操作获得逐点特征 f i f_i fi;然后对所有点特征进行MaxPooling操作获取局部聚合特征 f ~ \widetilde{f} f ;逐点拼接 f i f_i fi f ~ \widetilde{f} f ,得到 f o u t = [ f i T , f ~ T ] T f_{out}=[f_i^T, \widetilde{f}^T]^T fout=[fiT,f T]T
  4. 每个体素经过多层VFE得到 n × C n×C n×C的特征向量,再经过FCN和element-wise Maxpool,提取出1×C维的voxel-wise Feature;
  5. 所有体素的voxel-wise Feature可放在一个稀疏的4D特征张量中,方便并行处理节约计算成本(这里打一个问号,就是把没有点的网格在4D张量中置0,但是也要参与计算);
  6. 4D特征张量作为输入,采用3D卷积来提取特征;
  7. 通过RPN网络进行预测和回归。

3. 得到了什么结果?
VoxelNet是第一个不采用手工设计的特征表达处理体素网格的端到端3D目标检测网络,网络在KITTI汽车、行人和自行车检测上都取得了很不错的效果。这篇文章可以帮助我们了解如何处理体素化后的点云数据。

摘要

VoxelNet是一种将特征提取和边界盒预测统一为一个单阶段、端到端可训练的3D检测网络。具体而言,VoxelNet将点云划分为等距的3D体素,采用VFE(voxel feature encoding)网络对每个体素内的点进行编码,然后将其连接到3D-RPN检测。该方法在KITTI car detection上取得了SOTA的效果。

1. 介绍

3D检测的应用及其重要性 广泛用于自主导航、家政机器人以及AR/VR。LIDAR提供可靠的深度信息用于准确定位目标并表征其形状。
现有方法 将LIDAR投影到某个视角作为输入;采用3D体素,手工提取体素特征;PointNet和Pointnet++无法处理大规模点云数据。让网络能够处理大规模点云数据实现3D目标检测是本文的主要挑战。
Region proposal network(RPN) 是一种高度优化的高效目标检测算法。该方法要求数据是密集的,并且以张量结构(图像、视频),而原始点云是无序的、稀疏的。在本文中,作者是缩小了3D检测任务的点云特征学习和RPN之间的差距。
VFE 结合点尺度特征和局部聚合特征,实现体素内的点间交互。通过层叠的VFE层将体素编码,然后3D卷积进一步聚合局部体素特征,将点云转化为高维体积表示。最后,通过RPN产生检测结果。
1.1 相关工作 现有的一些3D检测的方法包括:

  1. 手工制作特征,但是无法适应更复杂的形状和场景,也无法从数据中学习。
  2. 从2D图像中推断出3D边界框,但是精准度被深度估计限制。
  3. 对每个体素网格进行表示,先encode再处理。
  4. 多模态融合方法,将图像和LiDAR结合。

1.2 贡献

  1. 提出了一种基于点云的端到端可训练的3D检测架构,VoxelNet。
  2. 提出了VoxelNet的快速实现的方法,受益于稀疏点结构能在体素网格上有效并行处理。
  3. SOTA效果。

2. VoxelNet

2.1 VoxelNet架构
VoxelNet由三个功能块组成:特征学习网络、卷积中间层和区域候选网络。
在这里插入图片描述
2.1.1 Feature Learning Network
Voxel Partition 将3D空间细分为同样间隔的体素。假设点云包含的范围D, H, W是沿Z,Y,X轴的3D空间。作者定义了每个体素的大小为 v D , v H , v W v_D, v_H, v_W vD,vH,vW,则得到的3D体素网格的size为 D ′ = D / v D , H ′ = H / v H , W ′ = W / v W D^{'}=D/v_D, H^{'}=H/v_H, W^{'}=W/v_W D=D/vD,H=H/vH,W=W/vW。这里作者假设D,H,W是体素网格的整数倍。
Grouping 由于点云在空间中分布不均匀,因此不同体素之间的点数量差别很大。
Random Samping 针对包含超过T个点的体素,随机抽取保留T个点,一是为了节省计算量,二是为了减少体素之间点的不平衡性,减少采样偏差,增加训练的多样性。
Stacked Voxel Feature Encoding 作者表明最大的创新就在于VFE层级结构,图3显示了VFE第1层的体系结构。
在这里插入图片描述
假设一个体素中包含 t ≤ T t \leq T tT个点,每个点由其XYZ坐标以及反射率表示,体素 V = { p i = [ x i , y i , z i , r i ] T ∈ R 4 } i = 1... t V = \{p_i=[x_i, y_i, z_i, r_i]^T \in \mathbb{R^4}\}_{i=1...t} V={ p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值