点击下方卡片,关注“人工智能AI算法工程师”公众号

ADAS巨卷干货,即可获取

今天很荣幸邀请到零跑汽车胡浩天、浙大宁波理工张志望来分享nuScenes最新SOTA—多模态融合新方案EA-LSS!如果您有相关工作需要分享,请在文末联系我们!

论文作者 | 胡浩天

编辑 | 自动驾驶之心

大家好,很开心能够受邀来到自动驾驶之心分享我们最近针对多模态BEV 3D目标检测的改进方案——EA-LSS。下面将会给大家详细介绍EA-LSS的设计思路与实验。

近年来,Lift-Splat-Shot-based(LSS-based)的多视图3D目标检测模型取得了巨大进展,其将2D相机视角和3D Lidar 视角的特征统一转换到鸟瞰图(BEV)中再进行融合。然而深度估计不准仍然是制约 LSS-base 3D 目标检测模型精度的重要原因,尤其是图像中深度显著变化(“深度跳变”)的区域。因此,我们提出一种全新的边缘感知转换框架EA-LSS。通过耦合精细深度估计模块和边缘梯度感知模块,该框架进一步细化了对深度网络(DepthNet)的约束,并且对图像中“深度跳变”区域进行了额外的监督。EA-LSS 可以即插即用到各种 LSS-based 的BEV 3D目标检测模型中,其在几乎不降低推理速度的同时有效提高了基线性能。nuScenes beachmarks 中对 EA-LSS 的验证表明了其有效性和高效性。其在 nuScenes 测试集中的mAP和NDS指标分别达到了76.5%和77.6%,位居榜单第一。

论文贡献

总结来说,我们提出的 EA-LSS 主要有以下几点贡献:

  • 提出了边缘感知深度融合模块和精细化深度模块,有效缓解了深度网络对图像深度快速变化区域拟合能力弱的问题以及深度预测和真值在尺寸匹配过程中的失准问题。

  • 提出了边缘感知转换框架 EA-LSS,其作为一种全新的多模态深度预测范式,有效的提高了深度信息在深度估计任务中的利用率。

  • 全面的实验。在不增加推理时间和推理资源的情况下,EA-LSS 显著提高了在 nuScenes 3D 目标检测基准上的几个最先进的 BEV baselines 。

方法提出

BEV 感知任务的核心问题之一在于如何在 2D 图像中重建丢失的深度信息,并为后续网络提供精确的BEV特征。Lift-Splat-Shot(LSS) 预测2D 特征图上每个像素的深度分布,并通过对应的深度估计将每个网格的 2D 特征“提升(lift)”到体素空间。然而,由于真实场景中部分区域间的深度差较大,这些“深度跳变”区域导致现有的深度网络(DepthNet)的预测值和实际深度有着显著差距,从而造成场景边缘的图像特征在体素中的位置偏移或丢失。如图1所示。

为了提高DepthNet 在“深度跳变”区域的精度,我们提出了边缘梯度感知模块,其为深度网络提供了额外的场景边缘信息,以帮助模型更好的适应了物体间深度的快速变化。图像经过了backbone 后被下采样了若干倍,导致图像深度预测图和点云投影深度图的尺寸不匹配。为了更好地解决上述问题,我们提出了一种全新的精细深度估计模块。额外的上采样分支被用于在模型训练时匹配特征图和真值间的尺寸差异,这使得深度网络可以更精细的感知整个场景的深度分布,并最大程度保留原始深度信息。上采样分支仅在训练中使用,因此不会影响模型在推理中的速度和资源消耗。

边缘感知转换框架EA-LSS 耦合了边缘梯度感知模块和精细深度估计模块,其作为一个即插即用的视图转换器,可以适配于各种 LSS-base 的BEV 3D 目标检测模型。EA-LSS 可以辅助网络更精细的估计单目图像中的深度分布,并且使网络更好的适应图像中“深度跳变”区域,这对于正确的指导后续网络有着重要意义。

方法设计

如图2所示,EA-LSS 由边缘感知深度融合模块(Edge-aware Depth Fusion Module, EADF)和精细化深度模块(Fine-grained Depth Module,FGD)耦合而成,可以预测细粒度全局深度分布并且关注深度跳变区域。下面将分别介绍 FGD 模块、EADF 模块以及整体的EA-LSS网络。

Fine-Grained Depth Module

我们提出了一种精细化深度模块来逐点的约束深度网络。为了保留精确的深度信息,我们提出令上采样分支作为额外的深度预测网络用于监督。由于点云投影极为稀疏,若直接计算点云投影深度图和预测深度图间的损失,投影图中过多的零值会导致拟合难度增加。因此,我们提出了精细化深度损失来约束深度网络,该监督仅计算了投影深度图中非零值点和其对应深度估计中像素间的损失,这有效的排除了投影深度图中零值点对深度网络的干扰。

此外,由于背景点往往分布在相近深度区间中,为了使深度估计网络可以有效学习少量的前景点的深度信息,我们使用 Focal loss来计算损失。精细化深度损失函数如下所示:

其中, 表示 ground-truth 中的非零像素的数量, 为独热向量。 表示预测深度的类别, 是 D 中 个非零像素第 个类的值, 表示预测深度图 中对应的像素, 表示第 类样本的权重, 表示softmax输出的第 类概率值, 为可调节因子。

Edge-aware Depth Fusion Module

为了缓解深度网络对图像深度快速变化区域拟合能力弱的问题,我们提出了边缘梯度感知模块。

首先,我们将原始点云P投影到多视角深度图中,其表示为 ,其中 表示视角数,表示深度图的长度和宽度。多视角深度图 沿着 轴和 轴分成大小为 的块,随后利用每个块中的最大深度值填充其所有像素,这使得稀疏的深度图变得稠密,我们记稠密深度图为

然后,为了获取图像边缘几何信息,我们计算了稠密深度图 轴正负和 正负这四个方向上的梯度,记 轴正、 轴负、 轴正和 轴负这四个方向的深度梯度图分别为,其中 = , = 1,2,3,4。各像素定义如下:

其中 是多视角稠密深度图 的第 行第 列像素值。我们将深度梯度图 的最后一维最大池化和归一化,得到边缘梯度图 ,其中所有的像素值大小均在[0,1]范围内。

如图3(a)所示,多视角深度图 由机械式激光雷达投影得到,其稀疏性并不利于直接用于监督深度网络。图3(b)展示了经过分块和填充后的稠密深度图 ,其不仅保留了原始的深度信息,而且场景主体更加稠密,有利于深度网络感知整个场景的深度分布。在图3(c)中,我们通过计算深度图中各像素点在四个方向的梯度,并进行最大池化和归一化操作,得到了多视角边缘图。EADF 模块输出形式表示为 = [ : ]。

此外,我们提出了边缘感知深度融合损失,保证网络可以学习到其“跳跃式”的深度变化关系。其定义为:

其中 是预测的深度图 中像素的数量。表示预测深度的类别。 表示预测深度图 中的 第 个像素 第 个类别的值。 表示在稠密深度图 中的对应像素。 代表了 对应像素值。 表示第c类样本的权重, 为 Focal Loss 中预定义的超参数。

Edge-aware Lift-splat-shot Framework

如图4所示,为了更好地利用深度信息,EADF 模块输出的特征 继续输入到卷积层提取几何信息。随后提取到的该特征与图像特征融合作为深度网络的输入。此外,我们认为在融合几何信息后图像的部分语义信息可能会丢失,因此用两个卷积层和一个跳跃连接来帮助网络还原可能丢失的语义信息。

如图5所示,作为一种即插即用的视图转换范式,EA-LSS 可以在大部分基于 LSS 的 BEV 3D目标检测模型中使用。网络总的损失函数 表示如下:

包括了精细化深度损失 、边缘感知深度融合损失、分类损失 以及框生成损失

实验

我们使用 BEVFusion、BEVDepth、BEVFusion 和 Tig-bev作为 baseline 在 nuScenes 数据集上来验证 EA-LSS 的有效性和高效性,并遵循了其原本的参数设置。

为了公平起见,我们采用与BEVDepth 和 Tig-bev相同的输入,没有直接在网络中输入点云信息,而仅在训练阶段增加了 以约束 DepthNet。

在 EADF 特征之后的两个卷积层通道数分别为 32、64。在上采样分支的三个卷积层的通道数设置为 256,128,128。卷积层的卷积核大小为5,步长和填充大小都设置为2。

在深度预测网络中的五个卷积层的通道数分别设置为 256、256、40、128 和 1。上下文特征之前的两个卷积层的通道数为 256 和 128。这些卷积层的卷积核大小为 3,步长和填充都设置为 1。

在EADF 模块中的填充操作中, 大小为 7,视角数 为 6。 都采用了 Focal Loss 的形式, 分别设置为 2.0 和 0.25。我们的实验训练环境为8*NVIDIA A100 GPU 和 AMD EPYC 7402 CPU。

对比实验

从表 1 所示为在 nuScenes 3D 目标检测验证集上的实验结果。从中可以看出,EA-LSS 在基于 LSS 的模型中均有较好的表现。插入EA-LSS后,camera-only 模型Tig-bev 的 mAP 和 NDS 分别提高了2.1% 和3.2%。与作为我们 baseline 的 BEVFusion 方法相比,mAP 和 NDS 分别提升了 1.6% 和 1.0%。

表 2 中,我们记录了在 nuScenens 3D 目标检测测试集上的实验结果对比。使用EA-LSS 框架后,mAP 和 NDS 相对于 BEVFusion 分别提高了 0.9% 和 1.1%。在增加了测试时间增强策略和模型集成策略之后,我们的 EA-LSS 方法的 mAP 和 NDS 分别达到了 76.5% 和 77.6%, 在 nuScenes 检测任务榜单上位列第一。

消融实验

在表 3 中,我们提供了在 nuScenes 基准上的 EA-LSS 框架中各个模块的消融实验。我们使用 BEVFusion 方法作为基线,验证 EADF 模块和 FGD 模块的有效性。在只增加 FGD模块之后,mAP 和 NDS 分别提高了0.5% 和 0.3%。随后加入 EADF 模块之后, mAP 和 NDS 分别提高了1.0% 和 0.7%。我们也对 和 连接 策略进行了消融实验,mAP 和 NDS 分别提高了 0.5% 和 0.6%。

表4 提供了 EADF 模块的分块和填充操作中使用不同大小的步长 在 nuScenes 3D 目标检测验证集上的性能。当 = 7 时,性能达到最优。若步长 过大,则会导致深度图分辨率过低,而当步长 过小时,会导致深度图中零值点过多。

为了研究深度预测网络在“深度跳变”区域进行错误的预测带来的影响,我们引入了上限分析法。表 5 中我们使用 3D 激光雷达信息作为真值代替场景边缘预测的深度,图像分支的 mAP 和 NDS 分别提高了3.6% 和 2.9%。这个结果阐明了“深度跳变”问题的重要性。

可视化结果

在图 6 中我们提供了 EA-LSS 在 nuScenes 数据集上的可视化结果。图中从左到右分别为真值图、BEVFusion 检测结果和 EA-LSS 的检测结果。其中黄色框为汽车,蓝色框为行人,红色框为卡车。

总结

我们提出了一种全新的边缘感知转换框架 EA-LSS,其可以即插即通到任意 LSS-based 的 3D 目标检测模型中。EADF 模块的提出缓解了图像深度估计过程中出现的“深度跳变”问题,使得网络更加关注场景的边缘信息。FGD 模块实现了预测深度图和真实深度图间精细的尺寸匹配,充分利用了 Lidar 深度信息来监督深度网络,以捕捉全局深度变化。我们在 nuScenes beachmarks 中进行了广泛实验,证明 EA-LSS 在几乎不增加推理时间的前提下,有效提高多种单模态和多模态模型中不同 baseline 的精度,可以作为一种即插即用的高效视图转换器。

内容中包含的图片若涉及版权问题,请及时与我们联系删除