论文阅读:LaserNet++:Sensor Fusion for Joint 3D Object Detection and Semantic Segmentation

题目:Sensor Fusion for Joint 3D Object Detection and Semantic Segmentation

翻译:用于联合 3D 对象检测和语义分割的传感器融合

来源:2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops

0、摘要

    在本文中,我们提出了 LaserNet 的扩展,这是一种高效且最先进的基于 LiDAR 的 3D 物体检测器。我们提出了一种将图像数据与 LiDAR 数据融合的方法,并表明这种传感器融合方法提高了模型的检测性能,尤其是在远距离时。添加图像数据很简单,不需要图像标签。此外,除了 3D 对象检测之外,我们还扩展了模型的功能以执行 3D 语义分割。在大型基准数据集上,我们证明了我们的方法在对象检测和语义分割方面实现了最先进的性能,同时保持较低的运行时间。

1、引言

        3D对象检测和语义场景理解是自动驾驶的两个基本功能。 LiDAR测距传感器通常用于这两项任务,因为传感器能够提供准确的测距测量,同时对大多数照明条件具有鲁棒性。 除了LiDAR之外,自动驾驶车辆通常还配备了许多摄像头,这些摄像头提供LiDAR数据中缺失的致密纹理信息。 自动驾驶系统不仅需要实时运行,还具有有限的计算资源。 因此,至关重要的是,算法以高效的方式运行,同时保持高精度。

        卷积神经网络 (CNN) 在 LiDAR 数据的 3D 对象检测 [15、18] 和 3D 点云语义分割 [29、34] 上产生了最先进的结果。通常,之前的工作 [11、15、31、32、34、35] 将 LiDAR 点离散化为 3D 体素,并在鸟瞰图 (BEV) 中执行卷积。只有少数方法 [14、18、29] 利用了 LiDAR 传感器的本地范围视图 (RV)。在 3D 物体检测方面,BEV 方法传统上取得了比 RV 方法更高的性能。另一方面,RV 方法通常计算效率更高,因为 RV 是 BEV 稀疏的 LiDAR 数据的紧凑表示。最近,[18] 证明 RV 方法在对非常大的数据集进行训练时可以既高效又获得最先进的性能。此外,他们还表明,RV 检测器可以对行人和自行车等小物体进行更准确的检测。这可能是由于 BEV 体素化去除了细粒度细节,这对于检测较小的物体很重要。

        在距离范围内,LiDAR 测量变得越来越稀疏,因此结合高分辨率图像数据可以提高远处物体的性能。已经提出了几种将相机图像与 LiDAR 点融合的方法 [2、11、15、19、21、30]。尽管这些方法取得了良好的性能,但它们通常计算效率低下,这使得集成到自动驾驶系统中具有挑战性。

        在本文中,我们提出了一种融合 2D 图像数据和 3D LiDAR 数据的有效方法,我们利用这种方法改进了 LaserNet,这是一种现有的最先进的基于 LiDAR 的 3D 目标检测器 [18]。我们的传感器融合技术是高效的,使我们能够保持 LaserNet 的低运行时间。与之前将 3D 对象检测和语义分割作为单独任务处理的工作不同,我们扩展模型以在 3D 对象检测之外执行 3D 语义分割。通过将这两项任务合并到一个模型中,我们能够更好地利用自动驾驶车辆上可用的计算资源。我们的方法可以进行端到端的训练,而无需额外的 2D 图像标签。在大型数据集上,我们在 3D 对象检测和语义分割任务上实现了最先进的性能。图 1 显示了我们的输入数据和结果预测的示例。

2、相关工作

2.1、3D目标检测

        在自动驾驶的背景下,已经提出了几种用于 3D 对象检测的方法。由于 LiDAR 直接提供物体表面的距离测量,因此它是用于此任务的最流行的传感器之一 [13、14、18、31、32、35]。多项工作 [2、11、15] 表明,将 LiDAR 数据与 RGB 图像融合可以提高物体检测的性能,尤其是在远距离和小物体上。因此,在这项工作中,我们专注于将相机图像与最先进的基于 LiDAR 的检测器融合 [18]。

        现有的相机和 LiDAR 融合方法可以分为三个不同的组:2D 到 3D提议融合密集融合。在 2D 到 3D 方法 [5、19、21、30] 中,首先对 RGB 执行 2D 对象检测使用 [17, 23] 等方法的图像。之后,使用 LiDAR 数据将这些 2D 框转换为 3D 框。这些方法依赖于计算量大的 CNN 进行 2D 检测,并且它们不利用 3D 数据来识别对象。然而,我们的方法使用轻量级 CNN 从 2D 图像中提取特征,我们使用这些特征来丰富 3D 数据。此外,这些类型的方法需要 2D 和 3D 边界框标签,而我们的方法只需要 3D 标签。

        与 2D 到 3D 方法一样,提议融合方法 [2、11] 也包含两个阶段。首先,他们通过在输出空间 [11] 上均匀采样或根据 LiDAR 数据 [2] 预测它们来提出 3D 边界框。 3D 提议用于从两种传感器模式中提取和组合特征。通过将提案投影到每个视图并汇集提案封装的区域来提取特征。来自每个传感器的特征被组合并用于产生最终的 3D 检测。由于这些方法需要对每个提议进行特征池化,因此它们通常具有较高的运行时间。

        通过密集融合 [15],LiDAR 和图像特征被融合到一个公共框架中,从而实现单级 3D 目标检测。具体来说,[15] 使用 LiDAR 的 3D 点将图像中的特征投影到 3D 空间中,他们使用连续卷积[28]将这些特性合并到体外化BEV中。 为了利用连续卷积,[15]需要确定每个voxel的最近的3D点,这是一个计算昂贵的操作。 我们提出的方法属于这个组;然而,我们使用3D点将图像特性直接投射到激光雷达传感器的原生范围视图中。 我们证明我们的方法是高效的,可以显著提高检测性能。

2.2. 3D语义分割

        先前关于 3D 语义分割的工作以多种方式表示 LiDAR 数据:作为点云 [3、4、22、28]、体素化 3D 空间 [9、24、26、34] 和球形图像 [29]。一种方法的准确性和效率取决于它对数据的表示。离散化 3D 空间的方法可能会因量化误差而丢失信息,这限制了它们对数据进行细粒度分割的能力。然而,直接对点云数据进行操作的方法通常速度较慢,因为表示的非结构化性质不允许进行有效的卷积。

        从室内场景的 RGB-D 摄像机获得的数据已广泛探索了颜色和几何数据的融合 [1, 25]。在此设置中,图像像素具有 RGB 值和深度测量值。将此数据表示为 3D 点云 [12、26] 的方法使用相应的 RGB 值装饰每个点,并将其作为输入提供给他们的模型。将 RGB-D 数据表示为单独图像 [6、7、20、27] 的方法,从两个图像中提取特征并使用 CNN 在多个尺度上组合这些特征。由于 RGB 和深度之间存在密集的对应关系,因此融合是在每个像素级别执行的。对于使用 LiDAR 的户外场景,相机像素与距离测量值之间只有稀疏的对应关系。我们证明,将 RGB 值与其对应的 LiDAR 点结合起来对性能没有帮助。或者,我们使用 CNN 从 RGB 图像中提取特征,然后将这些特征与传感器本地范围视图中的 LiDAR 点融合。我们表明,在远距离上,额外的图像数据改善了 3D 点的语义分割。

3、我们的方法

        在接下来的部分中,我们将描述我们对 LaserNet [18] 的修改以融合 RGB 图像数据,并在 3D 对象检测之外联合执行 3D 点云的语义分割。我们提出的方法的概述如图 2 所示。

3.1 输入数据

        自动驾驶汽车利用一套传感器从其环境中收集数据。我们提出的方法的输入是来自 Velodyne 64E LiDAR 的 3D 数据和来自 RGB 相机的 2D 数据。输入数据的示例如图 2 所示。

        Velodyne 64E LiDAR 通过使用一组 64 个激光器扫过场景来测量周围的几何形状。对于每次测量,传感器提供范围 r、反射率 e、传感器的方位角 θ 以及产生返回的激光的仰角 φ。测量的 3D 位置可以计算如下:

        其中 p 通常称为 LiDAR 点。与 [18] 中一样,我们通过将激光映射到行并将方位角离散化为列来形成图像。对于图像中包含测量值的每个单元格,我们使用 LiDAR 点的范围 r、高度 z、方位角 θ 和强度 e 填充一组通道,以及一个指示单元格是否被占用的标志。结果是五通道 LiDAR 图像。

        相机捕获 RGB 图像,该图像覆盖 LiDAR 图像的正面 90° 水平视野和整个 30° 垂直视野。我们裁剪 RGB​​ 和 LiDAR 图像以对齐传感器的视野,从而产生 512×64×5 LiDAR 图像和 1920×640×3 RGB 图像。这两张图片是我们模型的输入。

(输入是展平的lidar图像和相机图像)

3.2  传感器融合

        如图 2 所示,2D 图像和 3D 点通过射影几何相关联。为了融合 LiDAR 和 RGB 数据,我们首先将每个 LiDAR 点 p 投影到 RGB 图像上,

        其中 (u, v) 是 3D 点在 2D 图像中的像素坐标,K 是相机的固有校准矩阵,R 和 t 是将 3D 点从 LiDAR 的坐标系转换而来的旋转矩阵和平移向量到相机的坐标系。结果,我们获得了从 LiDAR 图像到 RGB 图像的映射,我们可以使用此映射将特征从 RGB 图像复制到 LiDAR 图像中,如图 2 所示。如果我们以这种方式融合原始 RGB 数据, 大量信息将被丢弃。或者,我们可以融合 CNN 从 RGB 图像中提取的学习特征。这允许网络从图像数据中捕获更高级别的概念,以便在与 LiDAR 图像融合时传达更多信息。我们的方法使用的 CNN 从 RGB 图像中提取特征在 3.3 节中描述。

        如果特征图的分辨率与原始图像不同,我们通过将像素坐标除以尺度差 (u/sx,v/sy) 来更新点和像素之间的映射。之后,像素坐标四舍五入为最接近的整数值。

        虽然我们在本文中只使用了一个摄像头,但将这种方法扩展到包含多个摄像头是很简单的。

3.3. 网络结构

        我们的网络架构由两个主要部分组成:用于从 RGB 图像中提取特征的辅助网络,以及用于处理来自两个传感器的特征的主要网络。

        如图 3 所示,辅助网络将 RGB 图像作为输入并生成特征图。该网络包含三个 ResNet 块 [8],其中每个块将特征图下采样一半并执行一组 2D 卷积。每个块中的特征通道数分别为16、24和32。

        使用第 3.2 节中描述的方法将从 RGB 图像中提取的特征变形到 LiDAR 图像中。如果 LiDAR 图像中的点与 RGB 图像中的像素之间没有有效映射,则该位置的图像特征向量将设置为全零。之后,LiDAR 图像包含一组直接从 LiDAR 数据导出的特征通道,以及一组从 RGB 图像中提取和变形的特征通道。为了确保两个传感器贡献相同数量的通道,我们通过将 LiDAR 特征通道传递给单个 3×3 卷积层来扩展它们。

        来自两个传感器的通道被连接起来并传递到主网络。 [18] 中描述的深层聚合网络 [33] 用作我们的主要网络。最后,使用 1×1 卷积将网络的输出转换为我们的预测。

(总结:图像和激光图像像经过cnn提取特征,但是此时特征并没有对应上。因此根据相机内参外参公式进行一一映射,最后拼接特征,再一起进入lasernet,完成)

3.4 预测和训练

        在之前的工作 [18] 中,该模型被训练为预测一组类概率和一组边界框,用于 LiDAR 图像中的每个点。由于该模型将 LiDAR 点分类为车辆、自行车、行人或背景,因此它已经在一定程度上执行了 3D 语义分割。为了向自动驾驶系统中的下游组件提供更多信息,我们增加了类的数量以区分背景和道路以及自行车和摩托车。

        训练过程与 [18] 基本相同。我们只是将额外的类添加到分类损失中,我们不修改回归损失。虽然损失应用于 LiDAR 图像中的每个点,但可以通过投影图像特征反向传播损失来更新辅助网络的参数。重要的是要注意图像特征提取器不需要额外的监督;因此,不需要补充 2D 图像标签。

4、实验

        我们对我们提出的方法进行了评估,并与大规模 ATG4D 数据集上的 3D 对象检测和语义分割方面的最先进方法进行了比较。该数据集包含一个训练集,其中包含以 10 Hz 采样的 5,000 个序列,共计 120 万张图像。验证集包含 500 个以 0.5 Hz 采样的序列,总共 5,969 张图像。我们评估前 90° 视野内和最远 70 米外的检测和分割。

        为了训练网络,我们使用 [18] 中描述的设置。我们训练 300k 次迭代,批量大小为 128,分布在 32 个 GPU 上。学习率初始化为 0.002,每 150 次迭代按指数衰减 0.99。此外,我们利用 Adam 优化器 [10]。

5、结论

        在这项工作中,我们提出了 LaserNet [18] 的扩展,将 2D 相机数据与现有的 3D LiDAR 数据融合,在大型数据集上实现 3D 对象检测和语义分割方面的最新性能。我们的传感器融合方法简单高效。此外,我们的方法可以在没有任何二维标签的情况下进行端到端的训练。 RGB 图像数据的添加提高了模型的性能,尤其是在 LiDAR 测量值稀疏的远距离以及行人和自行车等较小物体上。

        此外,我们扩展了模型识别的语义类的数量,这为完全自动驾驶系统中的下游组件提供了更多信息。通过将这两个任务组合到一个网络中,我们减少了运行多个独立模型时可能发生的计算和延迟。        

猜你喜欢

转载自blog.csdn.net/qq_53086461/article/details/128379044