MV3D
Multi-View 3D Object Detection Network for Autonomous Driving
用于自动驾驶的多视角3D目标检测网络
论文网址:MV3D
论文总结
这篇论文提出了一个多视角3D目标检测网络(MV3D),用于自动驾驶场景下高精度的3D目标检测。主要的创新点有:
- 提出了一种紧凑的多视角表示方法来编码稀疏的3D点云数据。该方法将点云投影到俯视图和前视图两个视角。
- 设计了一个3D目标提议网络,基于俯视图来高效生成3D候选框。与基于图像的方法相比,直接利用点云的俯视图可以更准确预测3D位置。
- 提出了一个基于区域的多视角特征融合网络。该网络对3D提议框进行多视角的ROI池化,获得每个视角的区域特征,然后通过一种深度融合方式联合多视角信息。
- 最终网络可以进行朝向敏感的3D框回归,即预测目标在3D空间中的准确位置、大小和朝向。
- 在KITTI数据集上进行评估,与当时其他基于激光雷达或图像的方法相比,该方法在3D定位和3D检测任务上取得了明显提高,约25%-30%的增益。
- 即使该方法优化的是3D框,但投影到图像平面进行2D检测,其性能也可以与当时专门优化2D框的方法相媲美。
总之,该论文通过联合利用点云的多视角表示,并采用深度融合的方式有效结合两种模态信息,达到了当时最好的3D检测性能。这为基于多传感器的3D目标检测奠定了基础。
网络前向传播过程
MV3D网络在训练时的前向传播过程可以分为以下步骤:
- 输入表示:
从原始点云数据中提取鸟瞰图和前视图表示,并与RGB图像作为网络的输入。 - 3D提议生成:
3D提议网络基于鸟瞰图,通过2D卷积从一组预定义的3D锚框中回归出3D提议框。 - 多视角ROI池化:
将3D提议框投影到鸟瞰图、前视图和图像上,生成2D的ROI区域。
对每个视角的输入特征图进行ROI池化,得到固定长度的区域特征。 - 多视角特征融合:
将各视角的区域特征通过元素均值进行深度融合。
对每个3D提议框,通过多视角ROI池化分别得到鸟瞰图特征、前视图特征和图像特征。初始化: 将上述三个特征直接进行拼接组合,作为融合特征的初始输入f0。
对特征f0, 分别通过三个视角的子网络进行特征转换,得到新特征: f1_bv = H1_bv(f0), f1_fv = H1_fv(f0), f1_rgb = H1_rgb(f0)。
将三个子网络的输出特征作元素均值,得到融合特征: f1 = (f1_bv + f1_fv + f1_rgb) / 3
重复进行特征融合,形成一个多层的融合网络。
将f1作为输入,重复上述操作,得到f2,f3等融合特征。 - 3D框回归与分类:
基于融合特征,网络可以同时做Oriented 3D框回归和分类任务。 - 多任务损失:
使用分类交叉熵损失和3D框回归的Smooth L1损失作为多任务损失。
在训练时,重复上述过程,并通过反向传播多任务损失来更新网络参数。
这就是MV3D网络训练时的基本前向传播过程。让我知道如果您有任何其他问题!
摘要
本文针对自动驾驶场景中的高精度 3D 目标检测,提出了Mutil-View 3D Networks (MV3D),这是一种感知融合框架,它将 LIDAR 点云和 RGB 图像作为输入并预测定向 3D 边界框。使用紧凑的多视图表示对稀疏 3D 点云进行编码。该网络由两个子网络组成:一个用于 3D 对象提议生成,另一个用于多视图特征融合。提议网络根据 3D 点云的鸟瞰图高效生成 3D 候选框。本文设计了一种深度融合方案来组合来自多个视图的区域特征,并实现不同路径的中间层之间的交互。在具有挑战性的 KITTI 基准上进行的实验表明,本文的方法在 3D 定位和 3D 检测任务上的性能比最先进的方法高出约 25% 和 30% AP。对于 2D 检测,本文的方法在基于 LIDAR 的硬数据方法中获得的 AP 比最先进的方法高 10.3%。
引言
3D 目标检测在自动驾驶汽车的视觉感知系统中发挥着重要作用。现代自动驾驶汽车通常配备多个传感器,例如激光雷达和摄像头。激光雷达具有准确的深度信息的优点,而相机则保留更详细的语义信息。 LIDAR点云和RGB图像的融合应该能够为自动驾驶汽车实现更高的性能和安全性。
本文的重点是利用激光雷达和图像数据进行 3D 物体检测。本文的目标是对道路场景中的物体进行高精度 3D 定位和识别。最近基于 LIDAR 的方法将 3D 窗口放置在 3D 体素网格中以对点云进行评分 [Voting for voting in online point cloud object detection-2015, Vote3Deep-2016] 或将卷积网络应用于密集框预测方案中的前视点图 [Vehicle detection from 3d lidar using fully convolutional network-2016]。基于图像的方法 [3d object proposals for accurate object class detection-2015, Monocular 3d object detection for autonomous driving-2016] 通常首先生成 3D 框提议,然后使用 Fast RCNN pipeline执行基于区域的识别。基于激光雷达点云的方法通常可以实现更准确的 3D 定位,而基于图像的方法在 2D 框评估方面具有更高的准确性。 [Onboard object detection: Multicue, multimodal, and multiview random forest of local experts-2016, A multilevel mixture-of-experts framework for pedestrian classification-2011] 通过采用早或晚融合方案,将 LIDAR 和图像结合起来进行 2D 检测。然而,对于更具挑战性的三维物体检测任务,需要一个精心设计的模型来利用多种模态的优势。
本文提出了一种Mutil-View 3D object detection Network (MV3D),该网络以多模态数据作为输入并预测 3D 空间中目标的完整 3D 范围。利用多模态信息的主要思想是进行基于区域的特征融合。本文首先提出了一种多视图编码方案,以获得稀疏 3D 点云的紧凑且有效的表示。如下图所示,多视图3D检测网络由两部分组成:3D提议网络和基于区域的融合网络。 3D 提议网络利用点云的鸟瞰图表示来生成高准确度的 3D 候选框。 3D 目标提议的好处是它可以投影到 3D 空间中的任何视图。多视图融合网络通过将 3D 提议投影到多个视图的特征图来提取区域特征。本文设计了一种深度融合方法来实现不同视图的中间层的交互。结合drop-path training[Fractalnet]和辅助损失,本文的方法显示出优于早/晚融合方案的性能。给定多视图特征表示,网络执行定向 3D 框回归,预测 3D 空间中目标的准确 3D 位置、大小和方向。
该网络将激光雷达点云的鸟瞰图和前视图以及图像作为输入。它首先从鸟瞰图生成 3D 对象建议并将其投影到三个视图。深度融合网络用于组合通过每个视图的 ROI 池化获得的区域特征。融合的特征用于联合预测对象类别并进行定向 3D 框回归。
相关工作
基于点云的3D目标检测
大多数现有方法使用体素网格表示来编码 3D 点云。 Sliding Shapes [2014] 和 Vote3D [2015] 在使用几何特征编码的 3D 网格上应用 SVM 分类器。最近提出的一些方法 [Deep sliding shapes for amodal 3d object detection in rgb-d images-2016, Vote3Deep-2016, 3d fully convolutional network for vehicle detection in point cloud-2017] 通过 3D 卷积网络改进了特征表示,但这需要昂贵的计算。除了 3D 体素表示之外,VeloFCN [2016] 将点云投影到前视图,获得 2D 点图。他们在 2D 点图上应用全卷积网络,并根据卷积特征图密集地预测 3D 框。 [Multi-view convolutional neural networks for 3d shape recognition2015, Volumetric and multi-view cnns for object classification on 3d data-2016, Fusionnet-2016]研究用于 3D 对象分类的点云的体积和多视图表示。在这项工作中,使用多视图特征图对 3D 点云进行编码,从而实现基于区域的多模态融合表示。
基于图像的3D目标检测
3DVP [2015]引入了3D体素模式并采用一组ACF检测器来进行2D检测和3D姿态估计。 3DOP [2015] 从立体图像重建深度,并使用能量最小化方法生成 3D 框建议,将其馈送到 R-CNN pipeline以进行目标识别。虽然 Mono3D [2016] 与 3DOP 共享相同的pipeline,但它从单目图像生成 3D 建议。 [Detailed 3d representations for object recognition and modeling-2013, Are cars just 3d boxes? jointly estimating the 3d shape of multiple objects-2014] 介绍了使用 3D 线框模型的对象的详细几何表示。为了合并时间信息,一些工作 [A continuous occlusion model for road scene understanding-2016, Joint sfm and detection cues for monocular 3d localization in road scenes-2015] 将运动和地面估计的结构结合起来,将 2D 检测框提升到 3D 边界框。基于图像的方法通常依赖于准确的深度估计或地标检测。本文的工作展示了如何结合 LIDAR 点云来改进 3D 定位。
多模态融合
只有少数工作能够在自动驾驶的背景下利用多种数据模式。 [Onboard object detection: Multicue, multimodal, and multiview random forest of local experts-2016] 使用专家混合框架将图像、深度和光流结合起来进行 2D 行人检测。 [A multilevel mixture-of-experts framework for pedestrian classification-2011] 在早期阶段融合 RGB 和深度图像,并训练基于姿势的分类器进行 2D 检测。在本文中,受 FractalNet [2016] 和 Deeply-Fused Net [2016] 的启发,设计了一种深度融合方法。在 FractalNet 中,迭代地重复基本模块以构建具有指数增长路径的网络。类似地,[Deeply-fused nets-2016]通过结合浅层和深层子网络构建深度融合网络。本文的网络与他们的不同之处在于,每列使用相同的基础网络,并添加辅助路径和损失以进行正则化。
3D目标提议
与 2D 目标提议类似,3D 目标提议方法生成一小组 3D 候选框,以覆盖 3D 空间中的大部分对象。为此,3DOP[2015]在立体点云中设计了一些深度特征来对大量的3D候选框进行评分。 Mono3D [2016] 利用地平面先验并利用一些分割特征从单个图像生成 3D 建议。 3DOP 和 Mono3D 都使用手工创建的功能。 Deep Sliding Shapes [2016] 利用更强大的深度学习功能。然而,它在 3D 体素网格上运行,并使用计算成本高昂的 3D 卷积。本文提出了一种更有效的方法,引入点云的鸟瞰图表示并采用 2D 卷积来生成准确的 3D 建议。
MV3D
MV3D 网络采用 3D 点云的多视图表示和图像作为输入。它首先从鸟瞰图生成 3D 对象建议,并通过基于区域的表示深度融合多视图特征。融合的特征用于类别分类和定向 3D 框回归。
3D点云表示
现有工作通常将 3D LIDAR 点云编码为 3D 网格或前视图。虽然 3D 网格表示保留了点云的大部分原始信息,但它通常需要更复杂的计算来进行后续的特征提取。本文通过将 3D 点云投影到鸟瞰图和前视图来提出更紧凑的表示。下图直观地展示了点云表示。
Bird’s Eye View Representation. 鸟瞰图表示由高度、强度和密度编码。将投影点云离散化为分辨率为 0.1m 的二维网格。对于每个单元,高度特征计算为单元中点的最大高度。为了编码更详细的高度信息,点云被平均划分为 M 个切片。为每个切片计算一个高度图,从而获得 M 个高度图。
将三维点云数据投影到该坐标系的XOY平面上,就是鸟瞰平面。这个平面可看作是一个2D栅格,论文中设置分辨率为0.1米。高度的定义:这里的高度特征不是简单的Z坐标,而是点相对于传感器的高度。因为在建模车辆时,通常将激光雷达安装在一个已知的高度位置,所以可以获得点相对于传感器的高度信息。最大高度:将点云投影到2D栅格后,每个格子内可能有多个点,此时取这些点中的最大高度值作为该格子的高度特征。之所以不直接取Z值,是因为点云是稀疏的,一个格子内可能没有点,所以需要取各个格子内的最大高度值来构成高度图。
切片:将整个点云的数据在Z轴上进行等间距切分,切分成M个部分。对每个切片中的点分别进行高度图的构建。也就是对每个切片中的点云投影到2D平面,计算每个栅格的最大高度值,形成一个高度图。所以对整个点云总共可以得到M个高度图。每个高度图反映了不同高度层次的信息。
强度特征是每个像素中具有最大高度的点的反射率值。点云密度表示每个单元中的点的数量。为了标准化特征,它的计算方式为 min(1.0, log(N+1) log(64) ),其中 N 是单元中的点数。请注意,强度和密度特征是针对整个点云计算的,而高度特征是针对 M 个切片计算的,因此鸟瞰图总共被编码为 (M+2) 通道特征。
Front View Representation. 前视图表示为鸟瞰图表示提供了补充信息。由于 LIDAR 点云非常稀疏,将其投影到图像平面会产生稀疏的 2D 点图。相反,将其投影到圆柱平面以生成密集的前视图图,如[Vehicle detection from 3d lidar using fully convolutional network]中所示。给定一个 3D 点 p = (x, y, z),其在前视图图中的坐标 pfv = (r, c) 可以使用以下公式计算:
其中 Δθ 和 Δφ 分别是激光束的水平和垂直分辨率。本文用三通道特征(高度、距离和强度)对前视图图进行编码。
前视图就是将点云投影到一个与传感器视角一致的垂直平面,这里构造为一个半圆柱面。
高度:指点相对于激光雷达的高度值,通过点的Z坐标可以直接获得。
距离:指点到激光雷达的水平距离,可以通过点的X、Y坐标计算得到。
强度:指点的激光反射强度值,是激光雷达对每个点直接测量的属性。
3D提议网络
受到区域提议网络(RPN)的启发,该网络已成为最先进的 2D 对象检测器的关键组件,本文首先设计一个网络来生成 3D 对象提议。使用鸟瞰图作为输入。在 3D 物体检测中,鸟瞰图比前视图/图像平面有几个优点。首先,物体在投影到鸟瞰图时保留物理尺寸,因此具有较小的尺寸变化,而在前视图/图像平面中情况并非如此。其次,鸟瞰图中的物体占据不同的空间,从而避免了遮挡问题。第三,在道路场景中,由于物体通常位于地平面上并且垂直位置的变化较小,因此鸟瞰图位置对于获得准确的 3D 边界框更为重要。因此,使用明确的鸟瞰图作为输入使得 3D 位置预测更加可行。
给出鸟瞰图。网络从一组 3D 先验框生成 3D 框建议。每个 3D 框由 (x, y, z, l, w, h) 参数化,它们是 LIDAR 坐标系中 3D 框的中心和大小(以米为单位)。对于每个3D先验框,可以通过离散化(x,y,l,w)获得相应的鸟瞰锚点(xbv,ybv,lbv,wbv)。通过对训练集中的真实对象大小进行聚类来设计 N 个 3D 先验框。在汽车检测的情况下,先验框的(l,w)取{(3.9,1.6),(1.0,0.6)}中的值,高度h设置为1.56m。通过将鸟瞰图锚点旋转 90 度,获得 N = 4 个先验框。 (x,y)是鸟瞰图特征图中的变化位置,z可以根据相机高度和物体高度计算。本文在提案生成中不进行方向回归,而是将其留给下一个预测阶段。 3D 框的方向限制为 {0°, 90°},这接近大多数道路场景对象的实际方向。这种简化使得提案回归的训练变得更加容易。
离散化分辨率为0.1m,鸟瞰图中的目标框仅占据5∼40个像素。检测如此超小的物体对于深度网络来说仍然是一个难题。一种可能的解决方案是使用更高分辨率的输入,但这将需要更多的计算。本文选择特征图上采样。在提案网络的最后一个卷积层之后使用 2x 双线性上采样。在实现中,前端卷积仅进行三个池化操作,即 8 倍下采样。因此,结合 2x 反卷积,输入提案网络的特征图相对于鸟瞰图输入进行 4x 下采样。
本文通过回归到 t = (Δx,Δy,Δz,Δl,Δw,Δh) 来进行 3D 框回归,类似于 RPN。(Δx,Δy,Δz) 是通过锚点大小标准化的中心偏移,(Δl,Δw,Δh) 计算为 Δs = log sGT/Sanchor , s ∈ {l, w, h}。我们使用多任务损失来同时对对象/背景进行分类并进行 3D 框回归。特别是,本文使用类熵作为“objectness”损失,使用 Smooth L1 作为 3D 框回归损失。计算框回归损失时,背景锚点将被忽略。在训练过程中,计算锚点和地面真实鸟瞰图框之间的 IoU 重叠。如果锚点的重叠度高于 0.7,则该锚点被认为是正的;如果重叠度低于 0.5,则该锚点被认为是负的。之间有重叠的锚点将被忽略。
由于激光雷达点云稀疏,导致出现许多空锚点,因此在训练和测试期间删除所有空锚点以减少计算量。这可以通过计算点占用图上的积分图像来实现。
对于最后一个卷积特征图每个位置的每个非空锚点,网络生成一个 3D 框。为了减少冗余,在鸟瞰图框上应用非极大值抑制(NMS)。与[Deep sliding shapes for amodal 3d
object detection in rgb-d images-2016]不同,本文没有使用3D NMS,因为物体应该占据地平面上的不同空间。本文对 NMS 使用 IoU 阈值 0.7。训练时保留前 2000 个框,而在测试中,只使用 300 个框。
Region-based Fusion Network
本文设计了一个基于区域的融合网络,可以有效地结合多个视图的特征,联合对目标提案进行分类,并进行定向 3D 框回归。
Multi-View ROI Pooling. 由于来自不同视图/模态的特征通常具有不同的分辨率,因此对每个视图采用 ROI 池化 以获得相同长度的特征向量。根据生成的 3D 建议,可以将它们投影到 3D 空间中的任何视图。在本文的例子中,将它们投影到三个视图,即鸟瞰图 (BV)、前视图 (FV) 和图像平面 (RGB)。给定 3D 提案 p3D,通过以下方式获得每个视图的 ROI:
其中T3D→v分别表示LIDAR坐标系到鸟瞰图、前视图和像平面的变换函数。给定每个视图前端网络的输入特征图 x,通过 ROI 池化获得固定长度的特征 fv:
Deep Fusion. 为了结合来自不同特征的信息,先前的工作通常使用早融合或晚融合。受[Fractalnet-2016, Deeply-fused nets-2016]的启发,本文采用深度融合方法,分层融合多视图特征。本文的深度融合网络和早/晚融合网络的架构比较如下图所示。对于具有 L 层的网络,早融合在输入阶段结合了来自多个视图的特征 {fv}:
{Hl, l = 1, · · · , L} 是特征转换函数,⊕ 是连接操作(例如,串联、求和)。相比之下,后融合使用单独的子网络来独立学习特征变换,并在预测阶段组合它们的输出:
为了使不同视角的中间层特征之间有更多的交互,本文设计了以下深度融合过程:
本文使用逐元素均值进行深度融合的连接操作,因为与 drop-path 训练相结合时它更加灵活。
Oriented 3D Box Regression. 考虑到多视图网络的融合特征,从 3D 提案回归到定向 3D 框。特别是,回归目标是 3D 框的 8 个角:t = (Δx0, · · · ,Δx7,Δy0, · · · ,Δy7,Δz0, · · · ,Δz7)。它们被编码为由提案框的对角线长度标准化的角偏移。尽管这样的 24-D 矢量表示在表示定向 3D 框时是多余的,但本文发现这种编码方法比中心和大小编码方法效果更好。请注意,本文的 3D 框回归与 [Deep sliding shapes for amodal 3d object detection in rgb-d images-2016] 不同,后者回归到轴对齐的 3D 框。在本文的模型中,可以根据预测的 3D 框角计算对象方向。本文使用多任务损失来联合预测对象类别和定向 3D 框。与提案网络中一样,类别损失使用交叉熵,3D 框损失使用smooth L1。在训练过程中,正/负 ROI 是根据新娘眼睛视图框的 IoU 重叠来确定的。如果鸟瞰图 IoU 重叠高于 0.5,则 3D 建议被认为是正的,否则被认为是负的。在推理过程中,在 3D 边界框回归后对 3D 框应用 NMS。将 3D 盒子投影到鸟瞰图上来计算它们的 IoU 重叠。使用0.05的IoU阈值来去除冗余框,这确保了鸟瞰图中物体不会占据相同的空间。
Network Regularization 本文采用两种方法来规范基于区域的融合网络:drop-path训练和辅助损失。对于每次迭代,以 50% 的概率随机选择进行全局 drop-path 或局部 drop-path。如果选择全局丢弃路径,本文以相等的概率从三个视图中选择一个视图。如果选择本地丢弃路径,则输入到每个连接节点的路径将以 50% 的概率随机丢弃。本文确保对于每个连接节点至少保留一个输入路径。为了进一步增强每个视图的表示能力,本文在网络中添加了辅助路径和损失。如下图所示,辅助路径与主网络具有相同的层数。辅助路径中的每一层与主网络中的相应层共享权重。使用相同的多任务损失,即分类损失加上 3D 框回归损失,来反向传播每个辅助路径。本文对包括辅助损失在内的所有损失进行同等加权。辅助路径在推理过程中被删除。
贡献
在本文的多视图网络中,每个视图都具有相同的架构。基础网络建立在16层VGG网络的基础上,并进行了以下修改:
- 通道减少到原来网络的一半
- 为了处理超小物体,使用特征近似来获得高分辨率特征图。特别是,在将最后一个卷积特征图输入 3D Proposal Network 之前插入一个 2x 双线性上采样层。类似地,在 BV/FV/RGB 分支的 ROI 池化层之前插入 4x/4x/2x 上采样层。
- 删除了原始 VGG 网络中的第四个池化操作,因此本文网络的卷积部分进行 8 倍下采样。
- 在多视图融合网络中,除了原来的fc6和fc7层之外,还额外添加了一个全连接层fc8。
本文通过从在 ImageNet 上预训练的 VGG-16 网络中采样权重来初始化参数。尽管本文的网络有三个分支,但参数数量约为 VGG-16 网络的 75%。在 GeForce Titan X GPU 上,一张图像的网络推理时间约为 0.36 秒。
Input Representation. 对于 KITTI,它仅提供前视图(大约 90° 视野)中的对象的注释,本文使用 [0, 70.4] × [-40, 40] 米范围内的点云。当投影到图像平面时,本文还删除了图像边界之外的点。对于鸟瞰图,离散化分辨率设置为0.1m,因此鸟瞰图输入的尺寸为704×800。由于KITTI使用64光束Velodyne激光扫描仪,可以获得前视点的64×512地图。 RGB 图像被放大,使得最短尺寸为 500。
Training. 该网络以端到端的方式进行训练。对于每个小批量,使用 1 个图像并对 128 个 ROI 进行采样,大致将 25% 的 ROI 保留为正值。使用 SGD 训练网络,学习率为 0.001,迭代 10 万次。然后将学习率降低到 0.0001 并训练另外 20K 次迭代。文章来源:https://www.toymoban.com/news/detail-721503.html
结论
本文提出了一种用于道路场景中 3D 目标检测的多视图感知融合模型。本文的模型利用激光雷达点云和图像。通过生成 3D 建议并将其投影到多个视图以进行特征提取来对齐不同的模式。提出了一种基于区域的融合网络来深度融合多视图信息并进行定向 3D 框回归。本文的方法在 KITTI 基准上的 3D 定位和 3D 检测任务上显着优于现有的基于 LIDAR 和基于图像的方法。与最先进的 2D 检测方法相比,从 3D 检测获得的 2D 框结果也显示出具有竞争力的性能。文章来源地址https://www.toymoban.com/news/detail-721503.html
到了这里,关于[论文阅读]MV3D——用于自动驾驶的多视角3D目标检测网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!