赞
踩
论文:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection
代码:
在基于激光雷达点云的3D检测方法中, 有两类常见的算法, 一种是Point-based, 即直接基于原始的点云数据进行操作;
另一类是Voxel-based, 通过把原始的点云数据处理成规则的voxel, 从而可以使用传统的CNN等方法。 VoxelNet就是voxel-based 的经典模型。
整体的网络结构非常简单, 主要包含3部分,Feature Learning Network,Convolutional Middle Layers和Region Proposal Network。
Feature Learning Network 是为了提取点云的特征,Convolutional Middle Layers是为了聚合voxel的特征, 同时通过卷积提取更高层次
的特征, Region Proposal Network 与2D检测中的RPN类似, 主要是为了提取region proposal。
Feature Learning Network的流程主要有:
划分voxel --> 采样 --> 体素特征编码层(VFE)
VFE层的结构如下:
划分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%的体素是空的。
卷积中间层是为了进一步提取更高层的特征, 这里用到的是3D卷积。 但是3D卷积的计算代价是很大的, 这导致VoxelNet 的性能比较低。后续的一篇工作SECOND 一个主要的改进就是把3D卷积换成了更高效的稀疏3D卷积sp-conv.
在KITTI数据集的3D检测和BEV两个评测中都取得了SOTA结果。BEV评测和3D检测的不同点之处就是评测标准不同, 3D检测是按3D box 的IoU来计算的, 而BEV评测是按3D box的BEV投影的IoU来算的。 BEV的标准要低一些, 因为高度上预测错了是不影响BEV指标的, 因此在所有的3D检测网络中, BEV的评测指标都要高一些。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。