(BEV论文精读7)BEVDet: High-Performance Multi-Camera3D Object Detection in Bird-Eye-View

前言

自动驾驶的主要任务3D目标检测和地图重建(即鸟瞰图(BEV)语义分割)

在nuScenes [1]基准测试中,基于图像视角的方法如FCOS3D [49]和PGD [50]在多摄像头3D目标检测项目中表现领先,而BEV语义分割项目则由BEV为基础的方法如PON [39]、Lift-Splat-Shoot [33]和VPN [31]主导。

能否在一个统一的框架中处理这些任务???

本文中,作者想要证明用BEV做3D目标检测也会获得很好的结果。

(与基于图像视角的方法相比,显式编码BEV空间中的特征使得BEVDet在感知目标的平移、尺度、方向和速度方面具有优势) 

于是作者进行了如下尝试:

先看网络图:

 提出的BEVDet与最新的BEV语义分割算法[33, 39, 54]框架相似。它采用模块化设计,包括图像视角编码器用于在图像视角中编码特征、视角转换器用于将特征从图像视角转换到BEV视角、BEV编码器用于进一步在BEV视角中编码特征,以及一个特定任务的头部用于在BEV空间中执行3D目标检测

似乎BEVDet的结构很简单,也没有什么大的创新性(真要是真么简单,就不会只有大佬能发论文了)作者在验证效果时,发现了以下问题:

过拟合问题

在验证BEVDet的可行性时,为了获得合理的性能,数据处理策略和BEVDet的参数数量被设置得接近于基于图像视角的3D目标检测器,如FCOS3D [49]和PGD [50]。出乎意料的是,在训练过程中观察到了严重的过拟合问题。有些线索显示,问题出在BEV空间中BEVDet的过度拟合能力上

问题分析: 

  • 过拟合现象促使我们在图像视角空间中应用复杂的数据增强策略(如Lift-Splat-Shoot [33])以达到正则化效果。然而,这种修改只有在没有BEV编码器时才有正向效果,否则甚至会降低性能。(下文解释原因)
  • 图像视角编码器的批次大小是后续模块的N倍(即nuScenes [1]中的相机数量,如6台),这也在某种程度上导致了BEV空间学习中的训练数据不足,从而产生过拟合问题。
  • 我们观察到视角转换器以逐像素的方式将图像视角空间与BEV空间连接起来,从数据增强的角度看,它们是解耦的。这使得图像视角中的数据增强对后续模块(即BEV编码器和3D目标检测头)没有正则化效果。

作者给出解决方案:

在BEV空间中进行了额外的数据增强操作,如翻转、缩放和旋转,以增强模型在这些方面的鲁棒性。这在防止BEVDet过拟合方面效果显著。 

此外,我们升级了经典的非极大值抑制(NMS)策略,以提高其在3D目标检测场景中的适应性。通过去除顺序执行的操作,推理过程得到了进一步加速。通过这些修改,BEVDet在现有范式中提供了卓越的准确性和推理延迟之间的平衡

网络结构

如图1所示,BEVDet采用模块化设计,由四种模块组成:图像视图编码器、视图变换器、BEV编码器和任务特定头部。我们通过构建几种不同结构的衍生版本来研究BEVDet的可行性,如表1所示。

  • 图像视图编码器(Image-view Encoder): 负责从原始图像中提取特征,通常使用卷积神经网络(CNN)或变换器(Transformer)架构进行处理。

  • 视图变换器(View Transformer): 将图像视图特征转换为BEV视图特征。此模块负责将2D特征映射到3D BEV空间中,以便进行进一步处理。

  • BEV编码器(BEV Encoder): 在BEV视图中进一步编码特征,以捕捉目标的空间关系和其他3D信息。这一模块通常使用深层网络结构来处理BEV视图中的数据。

  • 任务特定头部(Task-Specific Head): 负责执行具体任务,如3D目标检测。在BEV空间中对目标进行定位和分类,并生成最终的检测结果。

图像视图编码器(Image-view Encoder)

图像视图编码器负责将输入图像编码为高级特征。为了利用多分辨率特征的优势,图像视图编码器包括一个用于高级特征提取的主干网络(backbone)和一个用于多分辨率特征融合的颈部(neck)。具体细节如下:

  • 主干网络(Backbone): 主要用于提取图像中的高级特征。默认情况下,我们使用经典的 ResNet [14] 和最新的基于注意力机制的 Swin Transformer [26] 作为主干网络进行原型研究。其他替代主干网络包括 DenseNet [16] 和 HRNet [43] 等。

  • 颈部模块(Neck Module): 用于融合多分辨率特征。默认使用经典的 FPN [22] 和 [33] 中提出的颈部结构,该结构在下文中称为 FPN-LSS。FPN-LSS 通过将分辨率为 1/32 的特征上采样至 1/16 分辨率,并与主干网络生成的特征进行拼接来实现特征融合。至今尚未探索更复杂的颈部模块,如 PAFPN [25]、NAS-FPN [10] 等。

视图变换器(View Transformer)

视图变换器负责将图像视图中的特征转换为 BEV 特征。我们采用了LSS 中提出的视图变换器来构建 BEVDet 原型。具体过程如下:

  1. 深度预测: 视图变换器接收图像视图特征作为输入,通过分类方式密集预测深度。这个过程将图像视图特征映射到深度信息上。

  2. 点云渲染: 使用分类分数和衍生的图像视图特征来渲染预定义的点云。

  3. 生成 BEV 特征: 通过沿垂直方向(即 Z 坐标轴)应用池化操作来生成 BEV 特征。这一过程将图像视图中的特征聚合成 BEV 空间中的特征表示。

在实际应用中,我们将深度预测的默认范围扩展到 [1, 60] 米,间隔为 1.25 × r,其中 r 表示输出特征的分辨率。

BEV编码器(BEV Encoder)

BEV 编码器在 BEV 空间中进一步编码特征。尽管其结构类似于图像视图编码器,包括一个主干网络和一个颈部模块,但 BEV 编码器具有更高的精度来感知一些关键线索,如尺度、方向和速度,因为这些特征在 BEV 空间中定义。

  1. 主干网络: 使用带有经典残差块的 ResNet [14] 作为主干网络。ResNet 在处理特征时能够有效捕捉多层次的信息,从而增强 BEV 编码器的能力。

  2. 特征融合: 与图像视图编码器类似,我们应用 FPN-LSS 来结合不同分辨率的特征。FPN-LSS 通过上采样 1/32 输入分辨率的特征到 1/16 输入分辨率,并将其与主干网络生成的特征进行拼接。这种方法能够更好地融合来自不同尺度的信息。

BEV 编码器的设计目的是为了更精确地提取 BEV 空间中的关键信息,从而提升 3D 物体检测的性能。

任务特定头部(Task-Specific Head)

  1. 目标: 3D 物体检测头部负责预测目标的 3D 边界框,包括位置、尺度、方向和速度。它以 BEV 特征作为输入,并通过特定的网络层进行处理,以输出这些物体的相关信息。

  2. 使用: 在 BEVDet 中,我们使用了 CenterPoint [56] 的第一阶段头部结构,这是为了确保与现有 LiDAR 基础的检测方法进行公平对比。CenterPoint 的这种头部结构已被证明在多种 3D 物体检测任务中有效。

  3. 不包括的部分: 由于目标是在 BEV 空间中进行 3D 物体检测,因此没有应用 CenterPoint 的第二阶段精炼阶段,这一阶段通常用于进一步提高检测精度,但在 BEVDet 的上下文中并不需要。

CenterPoint提出了一个基于中心的框架来表示、检测和跟踪对象。 以前的基于anchor的方法使用相对于车辆自身坐标轴对齐anchor。 当车辆在笔直的道路上行驶时,基于anchor的方法和我们的基于中心的方法都能够准确地检测到物体。 然而,在左转(底部)期间,基于anchor的方法难以将轴对齐的边界框拟合到旋转对象。 我们的基于中心的模型通过旋转不变的点准确地检测对象。

                     
原文链接:https://blog.csdn.net/weixin_42905141/article/details/126510847

图像增强策略(解决过拟合问题)

前文提到了直接使用上述结构出现了过拟合问题,而常规的在2D图像的数据增强无法改善效果,作者给出了原因:

解决方法:

增强操作: 参考最新的 LiDAR 基于方法 [34, 55, 56, 63],我们在 2D 空间中采用常见的数据增强操作,包括翻转、缩放和旋转。这些操作不仅在视图变换器的输出特征上进行,也在 3D 目标检测目标上进行,以保持空间一致性。

Scale-NMS

 简单说:

BEV空间分辨率较大(每个小格代表真实空间0.8m的距离),而行人或者小的交通锥等物体肯定小于0.8m,也就是小于分辨率。这样也就带来了在较高分辨率空间内,本身重合的物体却没有重合:

解决方案:

为了克服上述问题,我们在本文中提出了 Scale-NMS。Scale-NMS 在执行经典 NMS 算法之前,根据物体类别缩放每个物体的尺寸。通过这种方式,正样本和冗余结果之间的 IOU 分布被调整,以匹配经典 NMS。

原理与应用

  1. 缩放策略: 如图所示,在预测小物体时,Scale-NMS 通过放大物体尺寸来建立结果之间的空间关系,这使得经典 NMS 能根据 IOU 指标去除冗余的预测结果。

  2. 实践中应用: 在实际应用中,我们将 Scale-NMS 应用于除障碍物外的所有类别,因为障碍物的尺寸各异。缩放因子是基于类别的,通过在验证集上进行超参数搜索生成。

 

BEV Transformer是一种在视觉检测领域中被广泛使用的模型。它将视觉图片转换到BEV(鸟瞰图)坐标系下,并使用连续帧编码的方式来获取更丰富的特征信息。这种组合模型相对较大,需要更多的数据进行训练,并且对AI芯片的推理部署也有更高的要求。\[1\] 关于BEV Transformer的训练模型,有一项研究提出了一种名为BEVFormer的方法,通过从多摄像头图像中学习鸟瞰图表示,并利用时空Transformer来提取特征。这项研究的论文标题是《BEVFormer: Learning Bird's-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers》。\[2\] 此外,为了弥补BEV Transformer在远处感知能力较弱的问题,可以采用一些方法。例如,可以使用前视单目摄像头结合卷积神经网络(CNN)来获取远处的感知信息,并将其与BEV Transformer的结果进行融合。另外,还可以采用前视叠加4D雷达的方案,同时提供近处冗余和远处障碍物感知能力,以弥补BEV Transformer的不足之处。\[3\] #### 引用[.reference_title] - *1* *3* [BEV+Transformer的发展趋势](https://blog.csdn.net/weixin_41691854/article/details/129921659)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [大白话用Transformer做BEV 3D目标检测](https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/125175953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值