EA-LSS:边缘感知 Lift-splat-shot 框架用于三维鸟瞰视角目标检测
EA-LSS
- 摘要
- 引言
- 相关工作
- 基于网络的视角转换方法
- 基于深度的视图变换
- 方法
- 细粒度深度模块FGD
- 边缘感知深度融合EADF
- 边缘感知的 Lift-Splat-Shoot 框架
- 实验
- 实验设置
- 数据集
- 比较结果
- 结论
EA-LSS: Edge-aware Lift-splat-shot Framework for 3D BEV Object Detection
论文网址: EA-LSS
论文代码: EA-LSS
摘要
近年来,基于 Lift-Splat-Shot(LSS)的三维目标检测方法取得了显著进展。然而,深度估计不准仍是制约纯视觉及多模态三维检测模型精度的关键瓶颈,尤其在深度突变区域(即“深度跳变”问题)。本文提出了一种新颖的边缘感知 Lift-Splat-Shot(EA-LSS)框架。具体而言,我们设计了边缘感知深度融合(EADF)模块来缓解“深度跳变”问题,并引入细粒度深度(FGD)模块进一步加强对深度的精细化监督。EA-LSS 框架可无缝嵌入任意基于 LSS 的三维检测模型,在几乎不增加推理耗时的前提下显著提升其性能。nuScenes 基准实验表明,EA-LSS 在纯视觉和多模态场景下均有效。值得一提的是,EA-LSS 在 nuScenes 测试集上取得了 76.5% mAP 和 77.6% NDS 的最新最优成绩。
首先解释
(1)Lift-Splat-Shot是什么意思:Lift(提升)——把 2D 图像中的像素特征“提升”到 3D 空间(考虑相机参数,推测深度分布)。Splat(投影/散射)——将这些 3D 点投影到一个统一的鸟瞰平面(BEV 平面)。Shoot(预测/射击)——在鸟瞰图上进行目标检测、分割或规划等任务。
(2)什么是深度突变区域:场景里相邻像素(或相邻空间点)之间深度值出现剧烈跳变的地方,例如:车体 ↔ 背景建筑
引言
随着自动驾驶的发展,车载传感器日益复杂。如何融合来自不同传感器的多源信息(如二维图像、三维激光雷达和雷达),并以统一的方式刻画其特征,变得至关重要。将各类特征投影到鸟瞰图(BEV)空间已成为主流做法,并受到学术界与工业界的广泛关注。BEV 感知任务的核心问题之一,是如何重建二维图像中隐含的深度信息,并为后续网络(即 BEV 解码器和检测头)提供准确的 BEV 特征。
Lift-Splat-Shot(LSS)先预测二维特征图上每个像素的深度分布,再依据对应的深度估计将每个网格的二维特征“抬升”到体素空间。然而,由于真实场景中不同区域之间存在显著深度差异(即“深度跳变”),现有基于 LSS 的方法的深度估计网络无法获得准确的深度,导致场景边缘处的二维图像特征被“抬升”到错误的体素空间。如图 1 所示,在基线方法 BEVFusion 中,前景车辆边缘周围的黑色区域(红色框内)表明其深度估计网络在处理“深度跳变”区域时性能不佳。
为了提升深度估计网络在“深度跳变”区域的精度,我们提出了边缘感知深度融合(EADF)模块。该模块为深度网络提供场景边缘的额外信息,使模型能够更好地适应物体间深度的急剧变化。
我们发现,现有基于 LSS 的方法在将预测深度图与真值深度图进行匹配时,并未充分利用深度信息,导致深度网络性能不佳。
- BEVDet 完全未考虑利用点云深度信息来约束深度网络。
- BEVFusion 仅把点云深度当作一种特征,对深度估计网络进行隐式监督,准确深度信息仍未被充分挖掘。
- CaDDN 将激光雷达点投影成稀疏深度图后做插值,再用其监督深度分布预测,但插值后的深度真值趋于平滑,丢失了前景与背景之间的深度分布细节。
- BEVDepth 采用最小值池化加 one-hot 操作,将估计深度与点云投影深度对齐,然而点云在 2D 图像上极其稀疏,严重阻碍网络学到正确的深度估计
为解决上述问题,我们提出了一种新颖的细粒度深度(FGD)模块。该模块包含一个上采样分支,用于在训练阶段将预测特征图与真值深度图的尺寸对齐,使深度估计网络能够更精细地感知整个场景的深度分布,并尽可能保留原始深度信息。由于 FGD 模块仅在训练阶段使用,因此不会影响模型在推理阶段的速度和资源消耗。
我们提出的边缘感知 Lift-Splat-Shot(EA-LSS)框架将边缘感知深度融合(EADF)模块与细粒度深度(FGD)模块有机结合。作为即插即用的视角转换器,EA-LSS 框架可轻松嵌入各类基于 LSS 的 BEV 三维目标检测方法。该框架能够帮助深度估计网络更精细地估计单目图像的深度分布,并更好地适应图像中的“深度跳变”区域。
我们在 nuScenes三维目标检测基准上对提出的 EA-LSS 框架进行了验证。相比纯视觉基线 Tig-BEV(Huang 等,2022),我们的方法在 mAP 和 NDS 上分别提升了 2.1% 和 3.2%;相比多模态基线 BEVFusion,mAP 和 NDS 分别提升 1.6% 和 1.0%,且推理阶段的时间与计算资源消耗几乎无增加。在 nuScenes 测试集上,EA-LSS 框架取得了2023年8月最优性能,mAP 达到 76.5%,NDS 达到 77.6%。
本文贡献总结如下:
- 提出了边缘感知深度融合(EADF)模块和细粒度深度(FGD)模块,有效缓解深度估计网络对图像深度突变区域拟合能力不足、以及深度预测与真值在尺寸匹配时的错位问题。
- 设计了全新的边缘感知 Lift-Splat-Shot(EA-LSS)框架,作为一种多模态深度预测范式,能够充分利用深度信息完成深度估计任务。
- 大量实验表明,EA-LSS 在推理耗时与资源消耗几乎零增长的前提下,显著提升了多个主流 BEV 基线在 nuScenes 三维目标检测基准上的性能。我们的 EA-LSS 框架以 76.5% mAP 和 77.6% NDS 的成绩(2023年8月)位居 nuScenes 检测榜单第一。
针对深度估计网络对图像深度突变区域拟合能力不足提出了边缘感知深度融合(EADF)模块;针对深度预测与真值在尺寸匹配时的错位问题提出了细粒度深度(FGD)模块
相关工作
3D目标检测是3D感知的核心任务之一,旨在预测特定类型的物体及其3D边界框。先前的工作直接从透视视图(PV)特征中进行预测,无法利用多视角和时间连续帧中的立体视觉线索。基于BEV(鸟瞰视图)的3D目标检测模型擅长融合多源和多时间戳特征,在效率和性能方面均取得了显著进展。
BEV感知的核心问题之一,在于如何利用“PV到BEV视角转换”来重建已经丢失的三维信息。为了弥补这两种视角之间的差异,以往的方法可分为两类:基于网络的视角转换方法和基于深度的视角转换方法。
基于网络的视角转换方法
基于MLP的方法。 基于MLP的方法利用多层感知机学习相机标定的隐式表示,以实现两种不同视角之间的转换。HDMapNet 认为,单向投影难以在信息从透视视图(PV)向鸟瞰视图(BEV)前向传递时保证有效迁移,因此它还利用MLP将特征从BEV反向投影回PV。VED 则是首个在单目图像上采用端到端学习、实时生成语义-度量占用栅格地图的方法。该方法通过展平、映射和重塑操作,将PV特征图转换为BEV特征图,用于多模态感知与预测。
基于Transformer的方法。 基于 Transformer 的方法直接使用 Transformer 将透视视图(PV)映射到鸟瞰视图(BEV),无需显式依赖相机模型。Tesla 率先利用 Transformer 将 PV 特征投影至 BEV:通过位置编码设计一组 BEV 查询向量,再以交叉注意力机制在 BEV 查询与图像特征之间完成视角转换。
- BEVFormer 采用可变形注意力在 BEV 空间提取密集查询,并刻画多视角特征间的关联。
- DETR3D 则用基于几何的特征采样替代交叉注意力,先预测 3D 参考点,再通过标定矩阵将这些点投影到 2D 图像平面,实现端到端的 3D 边缘预测。
- PETRv2 把 3D 位置嵌入扩展到时域,有效利用连续帧信息。
- PolarDETR 将 3D 目标检测的参数表示移至极坐标系,对边缘参数化、网络预测与损失计算进行重新设计。
基于深度的视图变换
基于点的方法。 基于点的方法利用深度估计网络将图像像素转换为伪激光点云,再输入到基于激光雷达的3D检测器中。这类方法高度依赖深度估计的准确性。Pseudo-LiDAR++ 通过立体视觉估计网络提升深度估计网络的精度。SFD 同时使用原始点云和由深度估计网络生成的伪点云,并将二者融合,以提高对远处及被遮挡物体的检测精度。
基于深度估计的方法。 该类方法显式预测图像特征的深度分布,以构建3D特征。LSS 是这类方法的代表。LSS 系列方法同时预测深度方向上的特征分布和图像上下文信息,从而确定透视射线上每一点的特征,减少因深度预测偏差导致的图像语义损失。BEVDet 提出了一种多视角3D检测框架,包含图像视角编码器、视角变换器、BEV 编码器和检测头。CaDDN 对激光雷达点投影的稀疏深度图进行插值,并利用深度分布监督深度估计。MVFCOS3D++ 提出深度估计与单目3D检测的预训练策略,显著增强了2D骨干网络的学习能力。
我们提出的 EA-LSS 框架通过所设计的深度估计模块与边缘感知深度融合模块,对基于深度估计的方法进行了优化。EA-LSS 框架能够准确估计全局深度,并精准捕捉物体边缘区域中深度剧烈变化的部分,有效缓解“深度跳变”问题,为后续网络提供可靠指引。
方法
深度估计网络在纯视觉和多模态 3D 目标检测方法中都起着关键作用,其估计精度会直接影响后续网络(如 BEV 解码器和检测头)的性能。因此,为了预测细粒度的深度分布,我们提出了边缘感知 Lift-Splat-Shot(EA-LSS)框架(见图 2),该框架由边缘感知深度融合(EADF)模块和细粒度深度(FGD)模块共同构成。
细粒度深度模块FGD
我们提出细粒度深度模块,以像素级方式约束深度网络。为保留精确的深度信息,设计了一条上采样分支作为额外的深度估计网络用于监督。由点云投影得到的深度图极为稀疏,若直接将点云投影深度图与预测深度图计算损失,投影图中大量零值会显著增加两图拟合难度。为此,我们提出细粒度深度(FGD)损失,仅约束投影深度图中非零像素与预测图中对应像素的差异。FGD 损失有效排除了投影深度图零值像素对深度网络的干扰。
此外,为了聚焦于前景目标(考虑到更多目标出现在背景中),我们在细粒度深度损失中嵌入了 Focal Loss 。在 FGD 损失中,采样分支的输出 D_pred 作为预测样本,而由输入点云投影得到的多视角深度图 D_projected 则作为真值标签。FGD 损失定义如下:
其中,
- n 为真值深度图 D 中非零像素的总数;
- HD 为预测深度图 Dpred 的类别数(即将连续深度量化为 HD 个区间);
- 真值 D 被转换成 one-hot 向量,yi,c 表示第 i 个非零像素在 one-hot 向量中第 c 类的取值(0 或 1);
- yi,c 为预测深度图 Dpred 中对应像素属于第 c 类的概率;
- αc 为类别权重,γ 为 Focal Loss 的预设超参数。
边缘感知深度融合EADF
为了缓解“深度跳变”问题,我们提出了一个边缘感知的深度融合(EADF)模块。
将输入的点云投影到多视角深度图
D={dij∣i=1,…,NH;j=1,…,NW}∈RNv×NH×NW,D = \{d_{ij} \mid i = 1,\dots,N_H;\ j = 1,\dots,N_W\} \in \mathbb{R}^{N_v \times N_H \times N_W},D={dij∣i=1,…,NH; j=1,…,NW}∈RNv×NH×NW,
其中 NvN_vNv 表示视角数量,NHN_HNH 和 NWN_WNW 分别表示深度图的高度和宽度。
多视角深度图 DDD 在 xxx 轴和 yyy 轴方向上以步长 kkk 进行分块,每个块的大小为 k×kk \times kk×k。然后,通过膨胀操作,用每个块中的最大深度值填充整个块,从而连接点云深度图中的大部分场景。经过分块和膨胀操作后,多视角深度图 DDD 被转换为具有相同维度的多视角稠密深度图 D′D'D′。
接下来,我们沿 x 轴与 y 轴计算多视角稠密深度图的梯度,以提取具备边缘感知能力的 3D 几何信息。考虑到每个轴存在两个方向,我们在公式 (2) 中定义稠密深度图的梯度
G={G1,G2,G3,G4},其中 Gt={gi,jt},t=1,2,3,4.G = \{G_1, G_2, G_3, G_4\},\quad \text{其中}\ G_t = \{g^t_{i,j}\},\ t=1,2,3,4. G={G1,G2,G3,G4},其中 Gt={gi,jt}, t=1,2,3,4.
多视角稠密深度图的每个像素 gi,j1g^1_{i,j}gi,j1、gi,j2g^2_{i,j}gi,j2、gi,j3g^3_{i,j}gi,j3 和 gi,j4g^4_{i,j}gi,j4 分别定义为:
其中 di,j′d'_{i,j}di,j′ 为多视角稠密深度图 D′D'D′ 的第 iii 列第 jjj 行像素值;
{gi,jt}∈RNv×NH×NW\{g^t_{i,j}\}\in \mathbb{R}^{N_v\times N_H\times N_W}{gi,jt}∈RNv×NH×NW 表示多视角稠密深度图在某一个方向上的梯度。
稠密深度图梯度 G∈RNv×NH×NW×4G \in \mathbb{R}^{N_v \times N_H \times N_W \times 4}G∈RNv×NH×NW×4 在最后一个维度上进行最大池化操作,并经过归一化处理,得到多视角边缘图 G′G'G′。
多视角边缘图 G′∈RNv×NH×NWG' \in \mathbb{R}^{N_v \times N_H \times N_W}G′∈RNv×NH×NW 表示不同物体的边缘。
G′G'G′ 通过归一化操作被缩放至 [0,1][0, 1][0,1] 区间。
如图3(a)所示,由3D激光雷达扫描投影得到的多视角深度图D非常稀疏,不适合直接用于监督深度估计网络。图3(b)展示了经过分块和扩展操作后的多视角稠密深度图D′。原始深度图中的深度信息被保留下来,稠密深度图中的主要物体是连通的,这有利于整个场景的深度估计网络。在图3©中,我们通过计算每个像素在四个方向上的最大梯度值,得到了多视角边缘图G′。多视角边缘图G′反映了每个块内部的最大深度变化。在获得多视角深度图D和多视角边缘图G′之后,我们将D和G′进行拼接,生成EADF模块的输出:FEADF=[D:G′]F_{\text{EADF}} = [D : G']FEADF=[D:G′]
我们提出边缘感知的深度融合(EADF)损失,通过将多视角稠密深度图 D′ 作为真值、多视角边缘图 G′ 作为权重,聚焦于每个物体的边缘,从而缓解“深度跳变”问题。用于监督的 EADF 损失 LEADF 定义为:
其中,m 为预测深度图 Dpred 中的像素总数;HD 表示预测深度的类别数;pi,c 表示预测深度图 Dpred 中第 i 个像素在第 c 类上的预测值;bpi,c 为对应真值深度图 D′ 中该像素的类别标签;wi 为边缘图 G′ 中对应位置的像素权重;αc 为第 c 类的类别权重,γ 为 focal loss 的预设超参数。
边缘感知的 Lift-Splat-Shoot 框架
我们提出的EA-LSS框架由一个细粒度深度(FGD)模块和一个边缘感知深度融合(EADF)模块组成。该框架能够在关注深度跳变区域(即物体边缘)的同时,估计细粒度的全局深度分布。
如图4所示,为了充分利用深度信息,EADF模块的输出特征FEADF被送入卷积层以提取其几何特征。这些几何特征随后与图像特征融合,共同作为深度网络的输入。此外,我们认为,在融合几何信息之后,图像中的部分语义信息可能会丢失。因此,我们采用两个卷积层并引入一条跳跃连接,以帮助网络恢复丢失的语义信息。
如图5所示,所提出的EA-LSS框架具有“即插即用”的特性,可应用于多种基于LSS的BEV 3D目标检测方法,用于将相机特征图转换到3D自车坐标系中。
总损失 LtotalL_{\text{total}}Ltotal 定义为:Ltotal=LFGD+LEADF+Lcls+Lbox,L_{\text{total}} = L_{\text{FGD}} + L_{\text{EADF}} + L_{\text{cls}} + L_{\text{box}},Ltotal=LFGD+LEADF+Lcls+Lbox,
其中 LFGDL_{\text{FGD}}LFGD 和 LEADFL_{\text{EADF}}LEADF 分别为公式 (1) 和公式 (3) 中定义的 FGD 损失与 EADF 损失;LclsL_{\text{cls}}Lcls 和 LboxL_{\text{box}}Lbox 表示检测头部的分类损失与边界框损失。
实验
实验设置
在实验中,我们选用 BEVFusion / BEVDepth / Tig-bev 作为基线方法,以验证所提出的 EA-LSS 框架的有效性与高效性。训练策略与这些基线保持一致。为与纯相机 LSS 方法 公平比较,我们采用与 BEVDepth 和 Tig-bev 相同的输入设定,即不直接将 3D 点云信息作为网络输入。在训练阶段,仅使用 EADF Loss 与 FGD Loss 对深度估计网络进行约束。
网络细节配置如下:
-
EADF 特征后接两个卷积层,通道数依次为 32、64。
-
上采样分支含三个卷积层,通道数依次为 256、128、128。
-
上述卷积层核大小为 5,填充为 2,步长为 2。
-
深度估计网络含五个卷积层,通道数依次为 256、256、40、128、1。
-
Context 特征前接两个卷积层,通道数依次为 256、128。
-
上述卷积层核大小为 3,填充为 1,步长为 1。
-
边缘感知深度融合模块的展开操作步长 k=7k=7k=7。
-
视图数 Nv=6N_v=6Nv=6;深度图高 NH=256N_H=256NH=256,宽 NW=704N_W=704NW=704。
损失函数:LFGDL_{\text{FGD}}LFGD 与 LEADFL_{\text{EADF}}LEADF 均采用 Focal Loss,其中 γ=2.0\gamma=2.0γ=2.0,αc=0.25\alpha_c=0.25αc=0.25。
训练环境:8×NVIDIA A100 GPU,AMD EPYC 7402 CPU。
数据集
为评估所提出的 EA-LSS 框架的有效性,我们在 nuScenes 数据集上开展对比实验。该数据集包含 4 万个带标注样本,共 23 个类别。我们采用 mean Average Precision(mAP)与 nuScenes Detection Score(NDS)作为评价指标,并报告验证集上的结果。同时,给出延迟时间,以说明引入 EA-LSS 框架后推理时间的增加可忽略不计。
比较结果
!!
结论
在本文中,我们提出了一种新颖的边缘感知 lift-splat-shot(EA-LSS)框架,该框架即插即用,可应用于任何基于 LSS 的方法。该框架包含一个边缘感知深度融合(EADF)模块和一个细粒度深度(FGD)模块。EADF 模块通过关注每个物体的边缘,缓解深度估计网络中的“深度跳变”问题。为了获得更准确的深度分布,我们提出的 FGD 模块通过使预测深度图与真值深度图之间实现更好的尺寸匹配,充分利用三维激光雷达深度信息来监督深度估计网络。为验证其有效性与效率,我们在 nuScenes 3D 目标检测基准上进行了实验。实验结果表明,EA-LSS 框架在几乎不增加推理时间的前提下,显著提升了纯视觉和多模态 BEV 3D 目标检测方法的精度。