通过切片注意力网络进行准确的 BEV 3D 目标检测
Bella · 2024-08-06 1721
目标检测是一项重要的计算机视觉任务,在安全、机器人、自动驾驶等领域有着广泛的应用。
作者 | Jone
出品 | 焉知汽车
目标检测是一项重要的计算机视觉任务,在安全、机器人、自动驾驶等领域有着广泛的应用。随着深度神经网络(DNN)的发展,大量的2D和3D目标检测方法被提出。本文重点介绍最前沿的基于多视角相机的 3D 目标检测,该方法越来越受到业界的关注。鸟瞰图(BEV)是周围场景的统一表示,适合自动驾驶任务。因此,最近些年,有很多学者都在研究应用于多视角 BEV 感知的 3D 目标检测方法。
尽管这些方法的模型架构不同,但它们通常遵循相似的范式,由三个基本组件组成,包括相机特征提取、BEV 特征提取和任务头。在这三个组件中,与 2D 任务相比,BEV 具备自身特定的特征构建方法。有一种新的BEV目标检测网络框架,通过结合Transformer对空间学习进行统一的 BEV 要素表示。
对于Transformer来说,其原理是首先将扁平化 BEV 网格上的每个查询提升为柱状查询,并将采样的3D点投影到 2D 视图,该视图的提取特征被加权并求和作为空间交叉注意力的输出。然后,预测 RGB 输入的深度并将图像特征投影到截锥体空间。接着,通过总结属于同一扁平 BEV 网格的平截头体特征。两种方法都有优点和缺点,但它们都沿高度维度压平 BEV 空间。
在自动驾驶的实际应用中,检测目标的形状和大小各不相同,导致基于视觉的学习存在严重偏差。例如,护栏位置较低,而卡车位置较高。然而,沿着高度维度压平 BEV 空间并不能充分利用不同高度的优势。
本文针对这一问题介绍一种名为 BEV Slice Attention Network (BEV SAN) 的新方法来探索不同目标物体高度的内在属性。首先,沿高度维度采样以构建全局和局部BEV切片,它们表示为 BEV 切片高度的上限和下限。全局切片与以前的作品类似,旨在覆盖 BEV 整个空间的高度范围,而局部 BEV 切片旨在突出感兴趣目标的高度信息。通过聚合多视图相机的特征可以构建全局和局部 BEV 切片。通过使用transformer算法中的注意机制,即对其中目标的高度属性进行有效的全局及局部切片合并,最终将融合特征图用于特定任务的头部中即可。
为了找到这些局部BEV切片信息,进一步提出了一种激光雷达引导采样策略,与均匀采样相比,这种利用激光雷达的统计分布来确定局部切片高度的引导采样方法,可以确定物体更多的高度信息。然后,BEV 切片的特征从相机特征中聚合出来,并通过注意力机制进行合并。最后,通过Transformer机制融合局部和全局 BEV 特征,以生成任务头的最终特征图。
本文介绍的方法不仅可以用于BEV-SAN在3D物体检测,也可以用于其他 BEV 感知任务,例如地图分割和规划。
单目3D对象检测相关方法论
1、单视点BEV 3D对象检测
在自动驾驶中是一种有用但具有挑战性的技术,因为它需要从单个2D图像预测3D边界框。当前已有一些利用单目视觉进行3D对象检测的方法:
Deep3DBox 首先使用DNN回归相对稳定的 3D 边界框属性,并将其与几何约束相结合以生成最终结果。M3D-RPN 设计深度感知卷积层和3D区域提议网络,显着提高单目3D物体检测的性能。SMOKE 通过将单个关键点估计与回归 3D 变量相结合来预测每个检测到的2D对象的3D边界框。FCOS 3D 提出了一种单阶段框架,可以预测3D目标来解耦2D和3D属性。MonoDLE 量化了单目3D物体,从而可以很好的检测每个子任务带来的影响,并提出了三种减少定位误差的策略。PGD在预测对象之间构建几何关系图,并使用该图来改进单目3D对象检测的深度估计。MonoPair 通过考虑配对样本的关系来改进单目 3D 对象检测。RTM3D 预测 3D 空间中的九个透视关键点,并从这九个关键点恢复尺寸、位置和方向。MonoFlex 提出了一种灵活的框架,可以显式地解耦截断的对象,并自适应地组合多种方法进行对象深度估计。GUP-Net提出解决投影过程引入的误差放大问题。MonoDETR 引入了一种使用深度引导Transformer的新框架,并在基准测试中实现了最先进的性能。
2、多视点 BEV 3D 物体检测
作为周围场景的统一表示,BEV 3D 物体检测在多视点相机系统中也越来越受欢迎。最近,人们也提出了许多用于多视图 BEV 3D 目标检测的方法。DETR3D 使用一组稀疏的 3D 对象查询来索引从多视图相机图像中提取的 2D 特征。其中,使用集合到集合损失对每个查询进行边界框预测。BEVDet 则首先预测每个相机图像的深度,然后通过LSS操作将提取的图像特征投影到 BEV 空间。最后,特定于任务的头部是基于BEV特征构建的。BEVDet4D 将前一帧的特征与当前帧融合,将 BEVDet 范式从 3D 空间上增加时间要素以提升到 4D 空间。BEVFormer 通过预定义的网格状BEV查询时空交互信息,从而可以很好的利用空间和时间关联信息进行表示。PETR将3D坐标的位置信息编码为图像特征,并基于3D位置感知特征进行端到端的物体检测。BEVDepth 揭示了中间深度的质量是改进多视图 3D 物体检测的关键。他们利用编码的内在和外在参数获得明确的深度监督。PolarDETR 重新制定了位置参数化、速度分解、感知范围、极坐标系中的标签分配和损失函数。BEVStereo 引入了一种有效的时间立体方法来动态选择多视图立体匹配候选的尺度。并进一步设计了一种迭代算法来更新更有价值的候选者,使其能够适应移动的候选者。STS提出了一种环视时间立体技术,利用跨时间帧之间的几何对应关系来提高深度质量。
基于多视角图像的BEV切片地图构建的方法论
像BEVDepth这样的现有方法总结了属于同一扁平BEV网格的平截头体特征。然而,却未能利用不同高度对BEV感知的好处。这一小节中展示了根据不同高度对BEV空间进行切片的动机,如图 1 所示,表示了目标物体可视化带注释的3D边界框的高度。
图1. 沿高度属性的 3D 边界框的统计数据
基于如上分析,通过调整BEVDepth 的高度范围并评估不同类别的3D目标检测性能,可以得到如下表所示的交通锥、人员和公交车等不同高度范围的BEV 切片 mAP 结果。
从如上表中可以看出,与人和公共汽车相比较低的交通锥桶在不同高度范围内表现出明显不同的性能([0,1]中分别为0.436和[3,4]中为0.368)。这表明高度范围将极大地影响不同目标类别的检测性能,这一观察启发可以利用不同目标的高度属性来提高目标的检测性能。
1、设计原理分析
本文的方法遵循 BEVDepth 等现有方法的流程,即相机特征提取、BEV 特征构建、和任务头Head创建。更加具体的实例说明如下:
首先,是给定输入多视图图像 Ik ∈ R3×H×W ,采用共享主干模型来提取特征 Fk ∈ RC×Hf ×Wf,其中k是相机的索引。同时,该方法框架还需要预测每个输入图像 Dk ∈ RD×Hf ×Wf 的深度分布图。
其次,将相机特征投影到视锥体 Vk ∈ RC×D×Hf ×Wf 并使用所提出的切片注意力模块构造扁平化的 BEV 特征 B ∈ RC×He×We。
最后,将特定于任务的头应用于 BEV 功能。
如下图表示了本文介绍的基于切片注意力模块的整个框架。
图 2.本文介绍的 SAN 方法的流程:基于全局和局部切片构建 BEV 特征,并使用两阶段融合策略来合并任务头的全局和局部切片的特征。
2、切片注意力模块
本文所述的切片注意力模块是使用 BEV 空间中的高度范围来定义切片。首先,需要实现对 BEV 空间进行采样以生成全局和局部切片,并对全局切片进行采样以覆盖 BEV 空间的大高度范围。其次,对局部切片进行采样可以很好的突出感兴趣目标ROI的高度信息。最后,用注意力机制融合采样的全局和局部切片的方法,融合任务头的全局特征和局部特征生成对应的目标BEV图层。
对于多视图图像,通过共享主干模型Fk ∈ RC×Hf ×Wf 来提取特征,其中k是相机的索引。可以聚合图像特征来构造 BEV 特征 Bs ∈ RC×He×We。给定 BEV 空间中的高度范围s = [l, u],可以以此定义对应高度的BEV 切片。
1)全局切片
凭经验将全局切片确定为 {sg} = [[−6, 4] , [−5, 3] , [−4, 2]]。考虑最大的范围[−6, 4]包含了整个空间的整体信息,对应的BEV特征表示与[−5, 3]或[−4, 2]显着不同。由于高度信息被视为通道维度,因此可以采用通道关注来自适应聚合多个全局级切片。三个全局切片之间的注意力机制提供了一种可学习的方式来充分探索不同的语义知识,从而改善 BEV 潜在空间中的全局上下文表示。三个全局切片之间的关注对于帮助提高全局级别的性能是必要的,这里可以将全局切片的构造特征表示为{Bisg}。
2)局部切片
局部切片的目标是强调信息丰富的高度范围。可以通过从整体范围 [−6, 4] 中采样来构建局部切片。为了对合理的局部切片进行采样,这里提出了一种激光雷达引导的采样策略来确定局部切片的最佳高度。将LiDAR点转换到BEV空间并计算沿高度维度的直方图,如图3所示。
图3. LiDAR点沿高度维度的统计
使用这个激光雷达直方图来指导局部切片的采样,这强调了信息高度。由于大多数LiDAR点位于-2和0附近。然而,这些区域包含小物体,而[-2,2] 包含大型物体。为了采样更有效的局部切片,设计了一种新颖的策略来考虑类之间的分布差异。具体来说,累积直方图并从累积分布中选择局部切片。将整个范围 [−6, 4] 分割为六个 bin,包括 [−6, −3]、[−3, −2]、[−2, −1]、[−1, 0]、[0, 2] 和 [2, 4]。与全局切片类似,也利用通道注意力机制对局部切片进行重新加权,从而有效聚合不同高度的信息。这里,局部切片表示为{sl},聚合特征表示为{Bjsl}。
3)切片特征融合
获得全局特征{Bisg}和局部特征{Bjsl}后,可以将它们融合到任务头的特征图中。对应的方法是引入两阶段注意力结构来逐步融合特征,如图4 所示。第一阶段基于通道注意力分别合并局部切片和全局切片。第二阶段基于双分支变压器,探索空间注意力。
图 4. 切片特征融合的流程
在第一阶段,通过注意力机制融合全局融合特征Bg ∈ RC×He×We 和局部融合特征 Bl ∈ RC×He×We。更具体地说,在第一阶段,采用类似于挤压和激励(SE)操作的注意力机制。以局部特征为例,局部切片的特征表示为{Bjsl} ∈ RJ×C×He×We,其中J是局部切片的数量。
图 5. 用于分别合并局部和全局切片的 SE 注意力残差块的图示
如图5所示,首先使用1x1卷积将通道数从J×C减少到C。其中,使用全局平均池化来提取J×C特征并对输入特征重新加权。另一个 3x3 卷积用于将通道数从 J × C 减少到 C。最后,将这两部分相加以提供融合特征Bl ∈ RC×He×We。全局切片{Bisg}的特征可以用同样的方式融合到Bg中。
在第二阶段,使用Transformer来融合 Bg 和 Bl 并生成任务头的特征图。在这里,需要用Transformer熔断Bg和Bl。如图2所示,Transformer包含两个分支(表示为G2L和L2G),使用Bg和Bl作为输入。一个功能将转换为一组键/值对,以便与另一个功能进行交互。
例如,G2L Transformer 中的查询/键/值对是:
q = q
L, k = k
G,v = v
G,其中L代表局部级,G代表全局级。最后,将两个分支的输出相加,以获得任务头的最终特征图。
测试结果消融研究
本文介绍的方法同时使用全局和局部切片来构建 BEV 特征。全局切片旨在覆盖大范围的 BEV 高度,而局部切片旨在强调信息高度。这里,通过进行消融研究可以很好的评估全局和局部切片的贡献。如下图所示,红色框表示真实情况,绿色框表示预测。在这种情况下,本文介绍的方法给出了更准确的预测,并对黄色圆圈中没有标签的行人给出了两个正确的预测。
图 6. BEV基础检测和本文切片BEV识别结果
融合策略融合策略在合并局部和全局切片方面也发挥着重要作用。简而言之,融合策略包含两个阶段。第一阶段分别合并局部切片和全局切片。第二阶段评估基于 BEVDepth 和 ResNet-50 的融合策略,融合了任务头的局部和全局特征。平均值表示将 BEV 功能加在一起,SE 表示挤压和激励注意力残差块,Trans是指设计的两个分支的Transformer变换。如下图7,可以看出,不同切片的特征可以捕获不同的对象。例如,原始特征无法捕获左上角的对象,而我们的增强功能成功捕获了该对象。
与替代方案相比,第一阶段使用 SE,第二阶段使用 Trans 实现了最佳性能。基于以上分析,所有融合策略都能取得相当大的改进,证明了所提出的 SAN 的有效性。
图7. 基线 BEV 功能和SAN BEV 功能的可视化结果
总结
鸟瞰图 (BEV) 3D 物体检测是自动驾驶系统的一项重要的多视图技术,其原理是遵循由三部分组成的基础范式:即相机特征提取、BEV 特征构建和任务头Head。与 2D 任务相比,在这三个组件的特征构建是 BEV 特定的。现有方法通常是将多视图相机特征聚合为扁平化网格以构建 BEV 特征。然而,沿高度维度方向展平 BEV 空间并不能突出不同目标的高度信息特征。
基于此,本文介绍一种名为 BEV切片注意力网络 (BEV Slice Attention Network,BEV-SAN) 的新方法,用于表征不同高度目标物体的内在特征。这里介绍的方法不用展平 BEV 空间,而是首先沿高度维度采样以构建全局以及局部 BEV 切片。其中,局部 BEV 切片的目的是强调信息高度。
请先 登录 后再发表评论~