VoxelNet深入解读

论文:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection
代码:

0 介绍

在基于激光雷达点云的3D检测方法中, 有两类常见的算法, 一种是Point-based, 即直接基于原始的点云数据进行操作;
另一类是Voxel-based, 通过把原始的点云数据处理成规则的voxel, 从而可以使用传统的CNN等方法。 VoxelNet就是voxel-based 的经典模型。

1 网络结构

VoxelNet深入解读_第1张图片

整体的网络结构非常简单, 主要包含3部分,Feature Learning Network,Convolutional Middle Layers和Region Proposal Network。
Feature Learning Network 是为了提取点云的特征,Convolutional Middle Layers是为了聚合voxel的特征, 同时通过卷积提取更高层次
的特征, Region Proposal Network 与2D检测中的RPN类似, 主要是为了提取region proposal。

1.1 特征学习网络

Feature Learning Network的流程主要有:
划分voxel --> 采样 --> 体素特征编码层(VFE)
VFE层的结构如下:
VoxelNet深入解读_第2张图片

划分voxel比较简单, 首先定义好voxel的三维尺寸,接着直接在点云对应的3维空间中进行切割。
采样主要有2个原因: 1是为了降低数据量, 二是每个voxel中包含的点可能很不均匀, 采样可以使每个voxel包含点更均匀一些。
VFE层是比较核心的模块, 这里的操作也很类似于PointNet中的操作, 即对点云先进行MLP进行高维映射, 然后做maxpool聚合特征,得到global 的feature, 最后在和每个点提取到的特征进行concat操作。
跟PoiontNet所不同的是, PointNet直接操作所有点, 而VFE这里操作的只是一个voxel内的点。 从这个角度理解, VFE也有点类似CNN局部特征提取的意思了。

Feature Learning Network的输出是一个4维的数据, CxDxHxW, 其中C是提取的特征的维度, DxHxW 为非空体素的个数。由于点云数据的稀疏性, 大约有90%的体素是空的。

1.2 卷积中间层

卷积中间层是为了进一步提取更高层的特征, 这里用到的是3D卷积。 但是3D卷积的计算代价是很大的, 这导致VoxelNet 的性能比较低。后续的一篇工作SECOND 一个主要的改进就是把3D卷积换成了更高效的稀疏3D卷积sp-conv.

1.3 RPN

VoxelNet深入解读_第3张图片

2 实验结果

在KITTI数据集的3D检测和BEV两个评测中都取得了SOTA结果。BEV评测和3D检测的不同点之处就是评测标准不同, 3D检测是按3D box 的IoU来计算的, 而BEV评测是按3D box的BEV投影的IoU来算的。 BEV的标准要低一些, 因为高度上预测错了是不影响BEV指标的, 因此在所有的3D检测网络中, BEV的评测指标都要高一些。
VoxelNet深入解读_第4张图片

你可能感兴趣的:(论文解读,3D目标检测,深度学习,目标检测,自动驾驶,人工智能)