VoxelNet: 基于点云的三维空间信息逐层次学习网络

地址:https://arxiv.org/abs/1711.06396
VoxelNet: 基于点云的三维空间信息逐层次学习网络

一、简介

这篇文章主要是对来自2017年苹果公司基于点云的3D物体检测论文"VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection"进行解读。VoxelNet只利用点云数据,在无人驾驶环境下实现了高精度的三维物体检测:
VoxelNet: 基于点云的三维空间信息逐层次学习网络

二、核心思路总结

将三维点云划分为一定数量的Voxel,经过点的随机采样以及归一化后,对每一个非空Voxel使用若干个VFE(Voxel Feature Encoding)层进行局部特征提取,得到Voxel-wise Feature,然后经过3D Convolutional Middle Layers进一步抽象特征(增大感受野并学习几何空间表示),最后使用RPN(Region Proposal Network)对物体进行分类检测与位置回归。VoxelNet整个pipeline如下图所示。
VoxelNet: 基于点云的三维空间信息逐层次学习网络

三、要点分析

1. 点云的多层次学习

VoxelNet是对PointNet以及PointNet++这两项工作(会在后续文章中详细介绍)的拓展与改进,粗浅地说,是对点云划分后的Voxel使用"PointNet"。我们可以仔细看一下某一层VFE,如图二所示,一块Voxel中的三个点经过FCN抽象Point-wise feature,并使用MaxPool得到Locally Aggregated Feature(局部聚合特征),然后将这个局部特征concatenate到每一个Point-wise feature上。
VoxelNet: 基于点云的三维空间信息逐层次学习网络
这个过程与PointNet中的Segmentation Network非常相似,见图三淡黄色框中n x 1088这一类feature,它是由来自Classification Network中n x 64大小的Point-wise Feature以及global feature 组合构成。PointNet提取的global feature可以理解为每一个Voxel中的local feature。
VoxelNet: 基于点云的三维空间信息逐层次学习网络

2、点云的高效查询

此外,由于点云具有高度的稀疏性以及密度不均匀性,作者利用哈希表查询的方式,可以做到快速找到每一个Voxel中的点在三维点云中的具体位置,如图四所示。

VoxelNet: 基于点云的三维空间信息逐层次学习网络

四、总结

VoxelNet只使用激光雷达数据,在KITTI上取得了SOTA的效果,在github上有非官方的复现代码。VoxelNet说明了一些特点:
①在无人驾驶这一场景中,RGB信息对3D Detection不是特别重要。因为汽车、自行车、人这三类物体仅仅通过外形轮廓就能够区分出来,如果网络能够很好地学习到这些几何空间特征,那么只需要点云就能得到很好的效果,比如图五中的四类物体,我们不需要颜色信息就能将其分类。但是如果是针对3D Instance Segmentation这类任务,比如区分黄车与黑车,LiDAR data与RGB data之间进行fusion就很有必要了。
②直接将两种data(或者两者对应的feature map)进行fusion操作,这种数据处理方式可能会使得神经网络不容易去学习更好的特征。比如人具备颜色信息感知与空间位置感知,但是这两种感知并不是混为一谈的,两者应该是并行且存在交互的关系,这种交互关系可能比目前先concatenate再通过若干层全连接层的fusion机制要更加高级抽象。

解释

Scaling up 3D feature learning networks to orders of magnitude more points and to 3D detection tasks are the main challenges that we address in this paper.
#表明了这篇论文的主要任务,是针对PointNet以及PointNet++存在计算量庞大的缺点提出来的。Charles R. Qi 后续的工作F-PointNet也注意到了这一点,使用FPN(Feature Pyramid Network)在RGB图像中提取的2D region proposal,然后利用Frustum结构巧妙地在点云中映射到待检测的3D region,大大减少了计算量。

We present VoxelNet, a generic 3D detection framework that simultaneously learns a discriminative feature representation from point clouds and predicts accurate 3D bounding boxes, in an end-to-end fashion. We design a novel voxel feature encoding (VFE) layer, which enables inter-point interaction within a voxel, by combining point-wise features with a locally aggregated feature.
#详细介绍了论文主要的工作,很清晰。

However the need for an additional camera that is time synchronized and calibrated with the LiDAR restricts their use and makes the solution more sensitive to sensor failure modes.
#针对同时使用相机以及激光雷达数据的解决方案,作者提出了其需要联合标定以及时间同步等附件条件,这些附件条件可能会限制每一个传感器的灵活使用,并且如果一个传感器出现了问题,那么会影响整个结果。

Although the point cloud contains ∼100k points, more than 90% of voxels typically are empty. Representing non-empty voxel features as a sparse tensor greatly reduces the memory usage and computation cost during backpropagation, and it is a critical step in our efficient implementation.
#将所有非空的Voxel表示成稀疏张量,能够大大降低存储量和计算代价。

The convolutional middle layers aggregate voxel-wise features within a progressively expanding receptive field, adding more context to the shape description.
#介绍了卷积中间层的作用,是一种空间感受野增量式的学习过程。

参考:
https://zhuanlan.zhihu.com/p/40051716
https://arxiv.org/pdf/1711.06396.pdf