原创 | 文 BFT机器人
01
摘要
论文提出了表述了一个新的基于点云的3D检测方法,名为VoxelNet,该方法是一个端到端可训练的深度学习架构,利用了稀疏点云的结构特性,直接在稀疏的3D点上进行操作,并通过高效的并行处理体素网格来获得性能的提升。
此方法在KITTI基准数据集上进行了实验,并展示了VoxelNet在基于激光雷达的汽车、行人和骑自行车者检测任务中取得了最先进的结果。实验表明,VoxelNet在很大程度上优于最先进的基于LiDAR的3D检测方法。
02
VoxelNet框架
如图二所示,这是一个通用的3D检测框架,可以同时从点云中学习判别特征表示,并以端到端方式预测准确的3D边界框。
图二所示,它主要包含三个模块;
1.特征学习网络Feature Learning Network
1.1提素分区Voxel Partition
如图2 所⽰。假设点云包含沿 Z、Y、X 轴分别具有范围D、 H 、 W的 3D 空间。我们相应地定义了⼤⼩为vD、 vH和vW的每个体素。⽣成的 3D 体素⽹格的⼤⼩为D′ = D/vD、 H′ = H/vH、 W′ = W/vW 。这⾥,为了简单起⻅,我们假设D、 H、 W是vD、 vH、 vW的倍数。
1.2分组 Grouping
点云是稀疏的,并且在整个空间中具有高度可变的点密度。因此,在分组之后,一个体素将包含可变数量的点。如图2所示,其中voxel -1比Voxel-2和Voxel-4有更多的点,而Voxel-3没有点。
1.3随机抽样 Random Sampling
为了节省计算量,减少了体素之间点的不平衡,减少了采样偏差,为训练增加了更多的变化,从包含超过T个点的体素中随机抽取固定数量的T个点。
1.4堆叠体素特征编码 Stacked Voxel Feature Encoding
图三为VFE Layer-1的体系结构
1.5稀疏张量表示 Sparse Tensor Representation
通过处理非空体素,获得了一个体素特征列表,每个体素特征都与特定非空体素的空间坐标唯一相关。得到的体素特征列表可以表示为一个稀疏的4D张量,大小为C×D '×H '×W '。将非空体素特征表示为稀疏张量,大大降低了反向传播过程中的内存使用和计算成本,是高效实现的关键步骤。
2.卷积中间层Convolutional middle layers
使用ConvMD(cin, cout, k, s, p)来表示一个m维卷积算子,其中cin和cout是输入和输出通道的数量,k, s和p是分别对应内核大小,步幅大小和填充大小的m维向量。
3. 区域提议网络Region proposal network
RPN作为高性能目标检测框架的重要组成部分。在这项工作中,作者对RPN架构进行了关键修改,并将其与特征学习网络和卷积中间层相结合,形成了一个端到端可训练的管道。
RPN的输入是由卷积中间层提供的特征映射。网络的体系结构包括三个完全卷积层块。每个块的第一层通过步长为2的卷积对特征图进行下采样,接着是一系列步长为1的卷积操作。在每个卷积层后,应用批量归一化(BN)和ReLU操作。然后,将每个块的输出上采样到固定大小,并拼接以构建高分辨率特征图。最后,将该特征映射映射到学习目标,包括概率分数映射和回归映射。
03
损失函数Loss Function
分为两个部分,一个是分类,一个是回归。分类用的是binary cross entropy, 回归用的是smooth-L1 loss。
04
数据增强
在点云目标检测中,如果从头开始训练网络的训练数据少于4000个点云,则会面临过拟合的问题。为了减少这个问题,作者引入了三种不同形式的数据增强,这些增强是即时生成的,无需存储在磁盘上。
第一种形式的数据增强是对每个真实边界框和边界框内的点云应用摄动。摄动包括围绕z轴的旋转和XYZ方向的平移。为了避免不可能的结果,进行了碰撞测试来确保边界框之间没有碰撞。第二种增强是对所有真实边界框和整个点云应用全局缩放,以提高网络对不同大小和距离物体的检测鲁棒性。最后,对所有真实边界框和整个点云进行全局旋转,模拟车辆转弯。
这种方式方法使网络能够从更多的数据变化中学习,提高点云目标检测的性能和鲁棒性。
05
实验结果
06
结论
VoxelNet在KITTI汽车检测任务上的表现明显优于现有基于激光雷达的3D检测方法。在更具挑战性的行人和骑自行车者的3D检测任务中,VoxelNet也展示出令人鼓舞的结果,证明其提供了更好的三维表示能力。
作者未来的工作包括扩展VoxelNet,用于联合激光雷达和基于图像的端到端3D检测,以进一步提高检测和定位精度。
论文标题:
VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection
网址:
https://arxiv.org/pdf/1711.06396.pdf%20em%2017/12/2017.pdf
代码参考:
https://github.com/ModelBunker/VoxelNet-PyTorch