[论文阅读]MVX-Net——基于3D目标检测的多模态VoxelNet

MVX-Net

MVX-Net: Multimodal VoxelNet for 3D Object Detection
基于3D目标检测的多模态VoxelNet
论文网址:MVX-Net

简读论文

这篇论文主要提出了两种多模态融合方法,PointFusion和VoxelFusion,用于将RGB图像特征与点云特征结合,从而提高3D目标检测的性能。论文的主要内容和贡献总结如下:

  1. 提出了两种简单有效的多模态融合方法,PointFusion和VoxelFusion,用于将2D图像特征与3D点云特征结合,以提高3D目标检测的性能。
  2. PointFusion通过将3D点投影到图像平面上,提取对应的2D图像特征,并将其拼接到每个3D点的特征中。这种早期融合方式可以让网络从两种模态中同时学习有用的信息。
  3. VoxelFusion则是在Voxel特征编码层进行融合,即将图像特征汇聚到对应的voxel中,与voxel的点云特征拼接。这种较晚的融合方式可以扩展到没有点的voxel。
  4. 两个融合方法都是基于VoxelNet的单阶段检测网络,可以端到端训练,简单高效。
  5. 在KITTI数据集上做了评估实验,与只使用单一模态的方法相比取得了明显提升,也优于其他一些复杂的多模态融合方法,表明了提出方法的有效性。
  6. 在KITTI测试集的排行榜上,该方法在6个BEV和3D检测类别中达到了较好的水平。
  7. 总体来说,这篇论文对如何有效融合多模态信息进行了很好的探索,为多传感器融合的3D检测任务提供了简单高效的解决方案。

PointFusion

PointFusion的具体过程如下:

  1. 使用预训练的2D检测网络(Faster R-CNN)从RGB图像中提取语义特征图,编码图像中的语义信息。
  2. 使用标定矩阵,将每个3D点投影到图像平面上,找到对应的像素坐标。
  3. 根据投影后的像素坐标,从步骤1提取的2D特征图中查询该像素对应的特征向量。
  4. 将查找到的2D特征向量连接到对应的3D点的特征向量上,形成增强的点特征。
  5. 将这些增强的点特征输入到VoxelNet的VFE(Voxel特征编码)层中,之后通过中间卷积层、Region Proposal Network生成3D检测框。
  6. 在VFE层中,网络可以同时学习3D点云本身的几何特征和2D图像提供的语义特征,实现多模态特征的有效融合。
  7. 2D特征提取时使用了ImageNet预训练、在2D检测数据集上微调的Faster R-CNN模型,可以提取具有语义信息的高层特征。
  8. 通过将2D特征映射到3D点上,充分利用了点云的几何结构信息,同时赋予每一个3D点丰富的语义信息。
  9. 这种简单的早期融合方式,允许网络从早期就学习多模态特征的互补信息,增强网络的表达能力,从而提升3D检测的性能。

以上是PointFusion的具体过程,可以看出其设计简单高效,既利用了2D图像的语义信息,也保留了3D点云本身的几何结构,是一种非常有效的多模态特征融合方式。
在PointFusion中,由于LiDAR的点云分辨率限制,确实会有多个3D点投影到图像平面上的同一个像素位置。这时这些3D点都会共享这个像素对应的2D图像特征。具体来说,对于投影到同一像素的多个3D点,它们会取得完全相同的2D特征向量进行拼接。这主要有以下几点原因:
1.3D点云的分辨率相对2D图像较低,一个像素大小可能对应物理世界中的较大区域,多个3D点可能落在这个区域内。
2.即使多个3D点在物理空间有细微区别,也可能在图像上投影到非常接近或相同的像素位置。
3.2D特征图的分辨率也是有限的,每个像素 encodes 了周围一定区域的信息。
4.共享2D特征可以减少计算量,不需要为每个3D点单独查询一次。

VoxelFusion

VoxelFusion 的具体过程如下:

  1. 使用预训练的 2D 检测网络(Faster R-CNN)对整张图像提取特征,得到全局的特征图。
  2. 将3D点云分割到voxel网格中,并为每个包含点的voxel生成VFE特征。
  3. 将这些有点的voxel投影到图像平面,确定2D的ROI。
  4. 在特征图中针对每个 ROI 进行池化,得到定长的特征向量。
  5. 将2D特征向量连接到对应的voxel的VFE特征后面,形成增强的voxel特征。
  6. 将这些增强后的voxel特征输入到后续的中间卷积层和Region Proposal Network中,生成3D检测框。
  7. 在voxel级别进行特征融合,允许网络同时学习3D几何信息和2D语义信息。
  8. 可以方便地扩展到无点的voxel,减少对高密度点云的依赖。
  9. 利用ROI pooling来生成voxel的2D特征,编码了像素级别的局部信息。
  10. 相比PointFusion稍晚进行融合,但计算量更小,也便于扩展到无点voxel。

综上,VoxelFusion在voxel层面进行两种模态的特征融合,既保留了3D的结构化表示,也赋予每一个voxel丰富的2D语义信息。这种多模态融合方式高效简洁,也获得了很好的检测性能提升。
在VoxelFusion中,也存在多个Voxel投影到图像平面上的同一个区域的情况,这时它们会共享这个区域的2D特征。具体来说:
1.由于Voxel的分辨率相对图像也是有限的,常见会有多个Voxel投影到同一图像区域。
2.在进行ROI池化时,这些Voxel会对应到同一个ROI区域。
3.然后这个ROI区域的特征会被不同的Voxel共享使用。
4.这样可以避免重复计算,提高效率。
5.但共享特征也会降低不同Voxel之间的区分能力。

摘要

最近许多关于 3D 对象检测的工作都集中在设计可以使用点云数据的神经网络架构。虽然这些方法表现出令人鼓舞的性能,但它们通常基于单模态,并且无法利用来自其他模态(例如相机)的信息。尽管一些方法融合了来自不同模态的数据,但这些方法要么使用复杂的pipeline来顺序处理模态,要么执行后期融合并且无法在早期阶段学习不同模态之间的交互。在这项工作中,提出了 PointFusion 和 VoxelFusion:两种简单但有效的早期融合方法,通过利用最近引入的 VoxelNet 架构来结合 RGB 和点云模式。对 KITTI 数据集的评估表明,与仅使用点云数据的方法相比,性能有了显着提高。此外,所提出的方法提供了与最先进的多模态算法相媲美的结果,通过使用简单的单级网络,在 KITTI 基准上的六个鸟瞰图和 3D 检测类别中的五个类别中实现了前两名。

引言

随着 3D 传感器的出现和 3D 感知的多样化应用,3D 识别 、目标检测 和分割 的研究越来越集中。增强现实、机器人技术 和导航 等各种应用在很大程度上依赖于对3D环境的理解。在这些任务中,3D 目标检测是一个基本问题,是许多 3D 感知流程中的关键步骤。这项工作专注于通过融合多种模态来提高 3D 检测性能。
2D 目标检测是计算机视觉社区中广泛研究的主题。基于卷积神经网络(CNN)的技术[Fast r-cnn]、[Ssd]、[Yolo]在基于图像的检测数据集[coco]、[voc]、[imagenet]上表现出了优异的性能。然而,这些方法不能直接应用于 3D 检测,因为输入模态根本不同。 LiDAR 能够在 3D 空间中准确定位物体,并且基于 LiDAR 数据的检测技术通常优于 2D 技术。其中一些方法将 3D 点云转换为手工制作的特征表示,例如深度或鸟瞰 (BEV) 图 [MV3D-2017]、[pixor-2018],然后应用基于 2D-CNN 的方法进行车辆检测和分类。然而,这些技术受到量化的影响,导致点较少或几何形状可变的对象的性能下降。另一组技术在体素网格中表示 3D 点云数据 [VoxNet],并采用 3D CNN 生成检测结果。这些方法通常受到内存要求的限制,尤其是在处理完整场景时。
最近关于 3D 分类的研究重点是使用端到端可训练神经网络,该网络可以使用点云数据,而无需将其转换为中间表示形式,例如深度或 BEV 格式。[Pointnet]设计了一种直接以点云作为输入并输出类标签的神经网络架构。通过这种设计,人们可以从原始数据中学习表示。然而,由于架构设计的限制以及较高的计算和内存成本,这项工作无法应用于检测和定位问题。最近,VoxelNet 克服了这个问题,该网络涉及点云的体素化并使用体素特征编码(VFE)层堆栈对体素进行编码。通过这些步骤,VoxelNet 启用了 3D 区域提议网络进行检测。尽管该方法表现出令人鼓舞的性能,但它依赖于单一模态,即点云数据。与点云相比,RGB 图像提供更密集的纹理信息,因此需要利用这两种模式来提高检测性能。
本文提出了多模态体素网络(MVXNet),用语义图像特征来增强 LiDAR 点,并在早期阶段学习融合图像和 LiDAR 特征,以实现准确的 3D 物体检测。该方法扩展了最近提出的 VoxelNet 算法。具体来说,开发了两种融合技术:(i)PointFusion:这是一种早期融合方法,其中来自 LiDAR 传感器的点被投影到图像平面上,然后从预先训练的 2D 检测器中提取图像特征。然后,图像特征和对应点的串联由 VoxelNet 架构联合处理。 (ii) VoxelFusion:在该技术中,将 VoxelNet 创建的非空 3D 体素投影到图像,然后使用预训练的 CNN 提取每个投影体素的图像特征。然后,这些特征被汇集起来并附加到每个体素的 VFE 特征编码中,并进一步由 3D 区域提议网络 (RPN) 使用来生成 3D 边界框。与 PointFusion 相比,VoxelFusion 是一种相对较晚的融合技术,但也可以扩展到处理空体素,从而减少对高分辨率 LiDAR 点云数据可用性的依赖。与仅使用 LiDAR 的 VoxelNet 相比,所提出的 MVX-Net 有效地融合了多模态信息,从而减少了误报。

相关工作

如前所述,3D 理解是一个广泛研究的主题。早期的方法采用手工制作的特征表示,并在存在丰富且详细的 3D 信息的情况下取得令人满意的结果。一些技术使用体素网格来表示 3D 点云数据,然后使用 3D 卷积来计算 3D 边界框。由于计算和内存成本较高,开发了几种基于 BEV 表示的方法([Pixor-2018])。基于 BEV 的方法假设点云数据在一维上是稀疏的,但在许多场景中通常情况并非如此。与这些方法不同,基于图像的方法被开发来从 2D 图像推断 3D 边界框。然而,它们在深度定位方面通常精度较低。最近,VoxelNet 提出了一种端到端学习架构,以原始格式使用点云数据。
与基于单一模态的方法相比,通过结合 LiDAR 和 RGB 数据进行多模态融合的探索较少。最近,提出了一种多视图 3D 对象检测网络(MV3D),它以多模态数据作为输入,并通过结合基于区域的特征融合来生成 3D 边界框。尽管该方法通过使用多模态数据展示了令人鼓舞的结果,但它具有以下缺点:(i)该方法将点云转换为 BEV 表示,这会丢失详细的 3D 形状信息,以及(ii)融合是在更晚的阶段进行的,因为与所提出的融合技术(即在 3D 提案生成阶段之后)相比,这限制了神经网络在早期阶段捕获两种模式之间交互的能力,因此集成不一定是无缝的。与[MV3D]类似,[Joint 3D proposal generation and object detection from view aggregation-2017]提出了通过结合基于区域的特征的多模态融合。他们通过设计采用高分辨率特征图的更先进的 RPN,取得了比 [MV3D] 更好的性能,特别是在小对象类别中。该方法还使用手工制作的 BEV 表示并执行后期融合。
Qi 等人采用了不同的方法。提出了使用 LiDAR 和 RGB 数据进行 3D 检测的 Frustum PointNets [2018]。首先,他们在 RGB 数据上使用 2D 对象检测器来生成 2D 提案,然后将其转换为 3D 空间中的提案,然后使用 PointNet 架构进行逐点实例分割 。该方法是一种图像优先的方法,因此缺乏同时利用两种模式的能力。最近,[Deep continuous fusion for multi-sensor 3D object detection-2018]提出通过将 LiDAR 点投影到图像空间来聚合离散 BEV 空间与图像特征。该方法基于K最近邻搜索用RGB特征对每个BEV像素位置进行插值,随着LiDAR点云的密度和覆盖范围的增加,这可能无法满足实时要求。与使用复杂pipeline处理不同模态或执行后期融合的现有方法相比,本文简单而有效的融合策略可以在早期阶段学习模态之间的相互作用。

MVX-Net

所提出的融合技术如图 2 和图 3 所示,基于 VoxelNet 架构。为了融合 RGB 和点云数据的信息,首先从 2D 检测网络的最后一个卷积层提取特征。该网络首先在 ImageNet 上进行预训练,然后针对 2D 对象检测任务进行微调。这些高级图像特征对语义信息进行编码,可用作先验知识来帮助推断对象的存在。基于前面描述的融合类型(PointFusion 或 VoxelFusion),点或体素被投影到图像上,并且相应的特征分别与点特征或体素特征连接。 2D 检测网络、VoxelNet 和所提出的融合技术的详细信息将在以下小节中描述。
PointFusion
VoxelFusion

2D Detection Network

与LiDAR点云相比,RGB图像捕获更丰富的颜色和纹理信息。在这项工作中,为了提高 3D 检测精度,从 RGB 图像中提取高级语义特征并将其合并到 VoxelNet 算法中。
卷积神经网络在学习图像中存在的语义信息方面非常有效。在这里,建议使用现有的 2D 检测框架,该框架在各种任务上表现出了出色的性能。具体来说,采用 Faster-RCNN 框架,它由区域提议网络(RPN)和区域分类网络(RCN)组成。使用在 ImageNet上预训练的 VGG16 作为基础网络,并使用来自 2D 检测数据集的图像和相应的边界框注释对 Faster-RCNN 网络进行微调。
一旦检测网络经过训练,就会在点或体素级别提取并融合高级特征(来自 VGG16 网络的 conv5 层)。

VoxelNet

本文选择 VoxelNet 架构作为基础 3D 检测网络有两个主要原因:(i) 它消耗原始点云并消除了对手工制作特征的需求,(ii) 它提供了一个自然有效的接口来组合不同位置的图像特征和3D 空间中的粒度,例如点和体素。使用[VoxelNet]中描述的网络。为了完整起见,在本节中简要回顾一下 VoxelNet。该算法由三个构建块组成:(i) 体素特征编码 (VFE) 层 (ii) 卷积中间层,以及 (iii) 3D 区域提议网络。
VFE 是一种特征学习网络,旨在在单个体素级别对原始点云进行编码。给定点云,3D 空间被划分为等间距的体素,然后将点分组为体素。然后使用体素特征编码层的层次结构对每个体素进行编码。首先,体素中的每个点 pi = [xi, yi, zi, ri](包含 XYZ 坐标和反射率值)由其坐标及其相对于体素中点的质心的相对偏移量表示。体素。即每个点现在表示为: pˆ i = [xi, yi, zi, ri, xi − vx, yi − vy, zi − vz]T ∈ R7,其中 xi, yi, zi, ri 是 XYZ 坐标,点pi的反射率值,vx、vy、vz为pi所属体素中点的质心的XYZ坐标。接下来,每个 p^ i 通过由全连接网络(FCN)组成的 VFE 层转换到特征空间,其中来自点特征的信息可以聚合以对体素内包含的表面形状进行编码。 FCN 由线性层、批量归一化 (BN) 层和修正线性单元 (ReLU) 层组成。属于特定体素的变换后的特征使用逐元素最大池进行聚合。然后将最大池特征向量与点特征连接以形成最终的特征嵌入。所有非空体素都以相同的方式编码,并且它们在 FCN 中共享相同的参数集。此类 VFE 层的堆栈用于将输入点云数据转换为高维特征。
堆叠 VFE 层的输出通过一组卷积中间层转发,这些中间层应用 3D 卷积在逐渐扩展的感受野内聚合体素特征。这些层包含额外的上下文,从而能够使用上下文信息来提高检测性能。
在卷积中间层之后,区域提议网络执行 3D 对象检测。该网络由三块全卷积层组成。每个块的第一层通过步长大小为 2 的卷积将特征图下采样一半,然后是步长为 1 的卷积序列。在每个卷积层之后,应用 BN 和 ReLU 操作。然后将每个块的输出上采样到固定大小并连接以构建高分辨率特征图。最后,该特征图被映射到目标:(1)概率得分图和(2)回归图。

Multimodal Fusion

多模态融合
如前所述,VoxelNet 基于单一模态,使其适应多模态输入可以进一步提高性能。在本文中,提出了两种简单的技术,通过扩展 VoxelNet 框架来将 RGB 数据与点云数据融合。
PointFusion:这是一种早期的融合技术,其中每个 3D 点都由图像特征聚合以捕获密集的上下文。
PointFusion
该方法首先使用预训练的 2D 检测网络从图像中提取高级特征图,该特征图对基于图像的语义进行编码。然后使用校准矩阵,将每个 3D 点投影到图像上,并在该点上添加与投影位置索引相对应的特征。此过程将有关对象存在的信息以及对象的姿态(如果存在)从 2D 图像关联到每个 3D 点。请注意,特征是从 VGG16 网络的 conv5 层提取的,并且是 512 维的。首先通过一组全连接层将维度降低到 16,然后将它们连接到点特征。连接的特征由 VoxelNet 中的一组 VFE 层处理,然后用于检测阶段。图 2 概述了这种方法。
这种方法的优点是,由于图像特征在很早的阶段就被连接起来,网络可以通过 VFE 层学习总结来自两种模态的有用信息。此外,该方法利用 LiDAR 点云并将相应的图像特征提升到 3D 点的坐标。
VoxelFusion:与早期阶段结合特征的 PointFusion 相比,VoxelFusion 采用相对较晚的融合策略,其中 RGB 图像的特征附加在体素级别。如[Voxel]中所述,VoxelNet 的第一阶段涉及将 3D 空间划分为一组等间隔的体素。根据点所在的位置将点分组为这些体素,然后使用 VFE 层对每个体素进行编码。在所提出的 VoxelFusion 方法中,每个非空体素都被投影到图像平面上以产生 2D 感兴趣区域 (ROI)。使用预先训练的检测器网络(VGG16 的 conv5 层)中的特征图,将 ROI 内的特征进行池化以生成 512 维特征向量,其维度首先减少到 64,然后附加到由每个体素处堆叠的 VFE 层。此过程对每个体素的 2D 图像中的先验信息进行编码。图 3 概述了这种方法。
VoxelFusion
虽然VoxelFusion是一种相对较晚的融合策略,并且与PointFusion相比性能稍差,但它具有以下优点。首先,它可以轻松扩展,将图像信息聚合到由于激光雷达分辨率低或物体较远等原因而未对激光雷达点进行采样的空体素,从而减少对高分辨率激光雷达点可用性的依赖。其次,与 PointFusion 相比,VoxelFusion 在内存消耗方面更高效。

Training Details

2D Detector:本文 使用标准的 Faster-RCNN 检测框架 ,它是一个由区域提议网络和区域分类网络组成的两阶段检测管道。基础网络是 VGG16 架构,使用 ROIAlign 操作来池化最后一个卷积层的特征,然后将它们转发到第二阶段(RCNN)。在 conv5 层上使用四组尺寸为 {4,8,16,32} 和三个长宽比为 {0.5,1,2} 的锚点。如果与真实框的交集(IoU)大于 0.7,则锚点被标记为正,如果 IoU 小于 0.3,则锚点被标记为负。在训练期间,图像的最短边被重新缩放为 600 像素。训练数据集通过翻转和添加随机噪声等标准技术进行了增强。对于 RCNN 阶段,使用 128 的批量大小,并为前景 ROI 保留 25% 的样本。该网络使用随机梯度下降进行训练,学习率为 0.0005,动量为 0.9。
Multimodal VoxelNet:除了一些提高效率的简化之外,保留了VoxelNet 的大部分设置。 3D 空间被划分为大小为 vD = 0.4、vH = 0.2、vW = 0.2 的体素。使用两组 VFE 层和三个卷积中间层。这些层的输入和输出维度根据融合类型而不同。
对于 PointFusion,VFE 堆栈的配置为 VFE-1(7+16,32) 和 VFE-2(32,128)。第一个 VFE 层的输入是 7 维点特征和 16 维 CNN 特征的串联。请注意,从预训练 2D 检测网络的 conv5 层提取的特征的维度为 512。使用带有 BN 和 ReLU 的两个全连接 (FC) 层,它们的维度首先减少到 96,最后减少到 16。
对于 VoxelFusion,VFE 堆栈的配置为 VFE-1(7,32) 和 VFE-2(32,64)。从预训练的 2D 检测网络的 conv5 层提取的特征维度为 512,使用两个 FC 层将其降维为 128D 和 64D,每个层后面跟着一个 BN 和一个 ReLU 非线性。然后将这些降维特征连接到 VFE-2 的输出,为每个体素形成 128 维向量。通过将 VFE-2 的输出维度减少到 64(与原始工作中的 128 相比),确保卷积中间层的架构保持不变。
为了减少内存占用,仅使用原始工作中一半数量的 ResNet 块来修剪 RPN。采用与原始工作中相同的锚匹配策略。对于这两种融合技术,网络都使用随机梯度下降进行训练,前 150 个时期的学习率为 0.01,之后学习率衰减 10 倍。此外,由于同时使用图像和点云,一些原始工作中使用的增强策略不适用于所提出的多模式框架,例如全局点云旋转。尽管使用修剪后的 RPN 进行训练并使用较少的数据增强,但与原始仅使用 LiDAR 的 VoxelNet 相比,所提出的多模态框架仍然能够实现更高的检测精度。

实验和结果

dataset

所提出的融合技术在 KITTI 3D 对象检测数据集上进行评估,该数据集包含 7,481 个训练样本和 7,518 个测试样本。根据对象大小、可见性(遮挡)和截断确定三个难度级别:简单、中等和困难。通过避免来自同一序列的样本被包含在两个集合中,进一步将训练集分成训练集/验证集。分割后,训练集由 3712 个样本组成,验证集由 3769 个样本组成。
将提出的 MVX-Net 与之前发布的汽车检测任务方法进行比较。为了分析所提出的多模态方法的有效性,还训练了基线 VoxelNet 模型。与多模态方法类似,该模型使用修剪的架构,并且没有使用全局旋转增强。通过将结果与该基线进行比较,可以直接将增益归因于所提出的多模态融合技术。

结论

在这项工作中,通过扩展最近提出的 VoxelNet,提出了两种特征融合技术:PointFusion 和 VoxelFusion,将 RGB 与 LiDAR 结合起来。 PointFusion 涉及使用已知的校准矩阵将 3D 点投影到图像上,然后从预先训练的 2D CNN 中提取特征,并在点级别串联图像特征。 VoxelFusion 涉及将 3D 体素投影到图像上,然后在 2D ROI 内提取特征,并在体素级别连接池化图像特征。与现有的多模态技术相比,所提出的方法是简单有效的单级检测器。 KITTI 数据集的实验结果表明,与使用单一模态的方法相比,有了显着的改进。此外,本文的方法在 KITTI 测试集上产生的结果可与最先进的多模态算法相媲美。未来,计划训练多类检测网络,并将当前的两阶段训练与端到端训练进行比较。

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一朵小红花HH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值