Vision-Centric BEV Perception: A Survey (以视觉为中心的BEV感知综述)论文笔记

2023-11-12

原文链接:https://arxiv.org/abs/2208.02797

1.引言

        BEV表达包含了丰富的语义信息,精确定位和绝对尺度,可直接应用于下游任务如行为预测和运动规划。此外,BEV表达为融合不同视角、模态、时间和智能体的信息提供了物理可解释的方法。

        其中,以视觉为中心的BEV表达成本最低,但透视图(PV)与BEV之间的转换问题是不适定的。

        目前PV到BEV的变换方法主要分为两类,即基于几何的转换和基于网络的转换。前者利用相机的物理原理,使用可解释的方法转换视图;主要的方法为通过显式(使用深度标注监督)或隐式(仅使用最终任务的监督)的方法估计深度(如单一值、均匀分布或分类分布),将2D特征提升到3D空间。后者使用深度神经网络对视图转换的映射函数进行拟合,如使用MLP或编码器-解码器结构投影视图,或是建立BEV查询后用交叉注意力机制在图像搜索相应特征。

2.背景

2.1 任务定义

        以视觉为中心的BEV感知即输入图像序列,算法需要将透视图转换为BEV特征,然后基于BEV特征进行感知。与基于激光雷达的方法相比,视觉方法有更丰富的语义信息,但缺乏精确的深度测量。

2.1.1 3D检测

        分为基于图像的、基于激光雷达的和基于多模态的3D目标检测。

        基于图像的3D检测:过去的方法有直接从透视图特征预测结果,但对多视图图像需要复杂的后处理操作,且难以利用多视图中的立体线索和时序帧的信息。

        基于激光雷达的3D检测:激光雷达能提供随周围3D环境的精确测量,比基于图像的方法有更好的性能。分为基于点的方法和基于体素的方法,后者可简化为基于BEV的方法。这些方法的成功经验为以视觉为中心的方法提供了重要基础。

        多模态3D检测:由于各模态有互补的信息,融合可以达到更好的效果。视觉BEV感知使融合多模态信息变得更加容易。

2.1.2 BEV分割

        地图分割:分为基于MLP的方法和基于transformer的方法。

        基于MLP的方法:

        PON:设计了语义贝叶斯占用网格来用单目图像估计地图。

        基于transformer的方法:

  • Image2Map:将图像生成地图的问题视为序列到序列的转换问题,使用transformer端到端地生成地图。
  • GitNet:使用两阶段网络,先在透视图中进行分割,然后使用基于射线的transformer处理BEV特征。 

        车道分割:在BEV下进行车道检测可以减轻透视效应。 

  • 3DLaneNet:开创性工作。使用CNN端到端地预测车道的3D位置。
  • GEN-LaneNet:先将图像投影为虚拟俯视图,然后设计两阶段网络回归车道位置,对不平坦道路车道检测的性能有极大提升。
  • PersFormer:使用类transformer的网络从前视图特征生成更好的BEV特征,可同时预测2D和3D车道。

2.2 数据集

        3D感知的数据集主要有KITTI、nuScenes和Waymo Open。

        KITTI提供车辆、行人和自行车的2D和3D标注,且根据物体大小、遮挡和截断程度分为三个难度。

        nuScenes的六视图图像覆盖了360°水平FOV,为视觉BEV表达最常用的数据集。

        此外还有Argoverse、H3D和Lyft L5等3D感知数据集。

2.3 公共评估指标

        BEV检测指标:AP和mAP(不同难度、不同类别平均)。

        BEV分割指标:IoU和mIoU(不同类别平均)。

2.4 数据集特定的指标

        KITTI、nuScenes和Waymo Open数据集的指标见此综述的3.2节。

        此外,最近Waymo团队提出图像3D检测的新指标,更加容忍深度估计误差。

        纵向容错IoU(LET-IoU):给定真实边界框G的中心坐标\vec{G}=[x_g,y_g,z_g]和预测边界框P的中心坐标\vec{P}=[x_p,y_p,z_p],首先将真实边界框中心投影到传感器到预测边界框中心的视线上:

\vec{P}_{\textup{aligned}}=(\vec{G}\cdot\vec{u}_P)\times \vec{u}_P

其中\vec{u}_P=\vec{P}/|\vec{P}|为传感器到预测边界框中心视线的单位方向向量。则

\textup{LET-IoU}(P,G)=\textup{3D-IoU}(P_{\textup{aligned}},G)

其中P_{\textup{aligned}}是以\vec{P}_{\textup{aligned}}为中心的预测边界框。

        纵向容错3D AP(LET-3D-AP):首先按下式计算纵向相似性:

a_l(\vec{P},\vec{G})=1-\min\left ( \frac{|\vec{e}_{\textup{lon}}(\vec{P},\vec{G})|}{T_l},1.0 \right )

其中T_l=\max(T_l^p\times|G|,T^m_l)T^p_l是纵向容忍百分比,T_l^m控制了近距离物体的容忍度。该纵向相似性即给定纵向误差容忍度时匹配预测边界框和真实边界框的分数。

        然后使用考虑纵向容错的双向匹配。双向匹配权重为

W(i,j)=\left\{\begin{array}{ll} a_l(\vec{P}(i),\vec{G}(j))\times \textup{LET-IoU}(P(i),G(j)), & \textup{if } a_l>0 \textup{ and LET-IoU}>T_{\textup{iou}}\\ 0, & \textup{otherwise} \end{array}\right.

其中T_{\textup{iou}}为预定义的IoU阈值。

        通过双向匹配确定TP,FP和FN后,可得准确率和召回率。最后按下式计算得到LET-3D-AP:

\textup{LET-3D-AP}=\int_{0}^{1}p(r)\textup{d}r

        纵向相似度加权的LET-3D-AP(LET-3D-APL:惩罚没有匹配真实边界框的预测。将TP分为针对准确率计算的\textup{TP}_\textup{P}和针对召回率计算的\textup{TP}_\textup{G}。首先按下式计算\textup{TP}_\textup{P}和FP:

\textup{TP}_\textup{P}=\sum_{\textup{matched }P}a_l(\vec{P},\vec{G})

\textup{FP}=\sum_{\textup{matched }P}(1-a_l(\vec{P},\vec{G}))+\sum_{\textup{unmatched }P}1.0

软性准确率p_L按下式计算(带入上式化解的过程略):

\begin{aligned} p_L&=\frac{\textup{TP}_\textup{P}}{\textup{TP}_\textup{P}+\textup{FP}}=\frac{\sum_{\textup{matched }P}a_l(\vec{P},\vec{G})}{\sum_P 1.0} \\ &=\frac{\sum_{\textup{matched }P}a_l(\vec{P},\vec{G})}{\sum_{\textup{matched }P} 1.0}\cdot \frac{\sum_{\textup{matched }P} 1.0}{\sum_P 1.0}\\ &=\bar{a}_l\cdot p \end{aligned}

即由平均纵向相似性(\bar{a}_l)加权的准确率(p)。

        \textup{TP}_\textup{G}按常规方法计算,用于计算召回率。最后按下式计算LET-3D-APL:

\textup{LET-3D-APL}=\int_0^1p_L(r)\textup{d}r=\int_0^1\bar{a}_l\cdot p(r)\textup{d}r

3.基于几何的PV2BEV

        即应用两个视图之间的几何投影关系进行视图转换。分为基于单应性的方法和基于深度的方法。前者简化几何关系或是仅在水平地面上感知,后者在实际场景中更加通用。

3.1 基于单应性的PV2BEV

        3D空间的点可以通过透视投影转换到图像空间,而反过来将图像像素投影到3D空间是不适定的。

        逆透视映射(IPM)通过添加逆映射点位于水平面上的约束来解决这一问题;该方法使用相机旋转单应性,然后进行各向异性缩放。单应性矩阵可由相机内外参得到;一些方法通过CNN提取图像语义特征,然后估计图像的垂直消失点和水平面消失线(地平线)来确定单应性矩阵。

        IPM以后就可以在BEV下进行下游感知任务了。

        VPOE 连接YOLOv3作为检测主干,估计BEV下的车辆位置和朝向。

        实际应用中,相机的内外参可能是未知的。

        TrafCam3D 提出基于双视图网络结构的鲁棒单应性映射以减轻IPM的失真。

        IPM的水平面假设使得其对地面上的物体检测精度低,有些方法使用语义信息减小扭曲。

  • OGMs 将footprint(可理解为物体在地平面上的投影)分割结果从PV转换到BEV,避免了地面上的车体在BEV下造成的扭曲。
  • BEVStitch 使用两个分支分别分割车辆的footprint和道路并用IPM转换到BEV下,然后缝合起来作为完整的公路交通图。
  • DSM 先对图像进行语义分割,然后使用单应性建立BEV下的语义图。
  • SHOT 使用多个单应性矩阵将行人的不同部位投影到不同高度。

        上述方法是将图像或者分割结果使用IPM作为预处理或后处理方法进行投影,下面的方法是在训练阶段将图像特征图投影。

  • Cam2BEV:将多个车载相机图像特征投影到BEV,得到整体的BEV语义图。
  • MVNet:将多视图图像转换得到的BEV特征聚合,然后使用大卷积核处理行人的遮挡问题。
  • 3D-LaneNet:以监督方式训练额外网络估计单应性矩阵,然后对多尺度特征图进行投影变换。
  • 单应性损失:嵌入2D空间和BEV之间的几何约束,从而可用2D检测结果全局优化3D边界框。

        仅使用IPM不足以生成无扭曲的BEV图像或语义图。

  • BridgeGAN 将单应性视图作为中间视图,提出基于多个生成对抗网络(GAN)的模型学习PV和BEV之间的跨视图变换。GAN用于增强生成BEV图像的真实性。
  • 后续工作在BEV上进行2D检测,并与地平面估计结果对齐,生成3D检测结果。

        由于PV图像遮挡,丢失的3D信息导致了视图变换的模糊性。

  • MonoLayout 也使用GAN生成不可见区域的信息,用动态目标估计场景布局。
  • RAP 使用增量GAN学习更可靠的IPM,显著减轻远处物体的拉伸。

        总结:基于单应性的方法可解释性强,且投影过程无需学习,效率高。通常会使用语义信息,GAN也被用于提高BEV特征的质量。但其使用的硬性假设使得其没有完全解决问题。

3.2 基于深度的PV2BEV

        基于IPM的方法所作的水平面假设牺牲了重要的高度判别能力。

        由于深度是将2D像素提升到3D空间所必需的,因此许多方法基于深度预测进行PV到BEV的转换。

        基于深度的方法先将输入转换为显式的3D表达。和基于激光雷达的方法一样,可分为基于点和基于体素的方法。

3.2.1 基于点的视图变换

        基于点的方法直接使用深度信息将像素转换为点云,该方法更直接且更容易利用成熟的单目深度估计方法。

  • Pseudo-LiDAR:开创性工作。投影为点云后使用基于激光雷达的3D检测器。


  • Pseudo-LiDAR++:使用立体深度估计网络和损失函数提高深度精度。


  • AM3D:提出将互补的RGB特征附加到伪点云通道维度。

  • PatchNet:将转换后的3D坐标作为图像的额外通道,得到相似结果。

        但上述方法存在两个问题:数据泄漏(与KITTI数据集相关)和泛化问题(深度估计和后续阶段之间的梯度截断使得训练和应用都很复杂)。

        E2E Pseudo-LiDAR 提出表达变换(CoR)模块允许端到端训练网络。

        总的来说,基于点的方法性能比基于体素方法的性能更低。

3.2.2 基于体素的视图变换

        基于体素的方法通过离散化3D空间为规则结构,使得3D场景理解更加高效,且后续可直接应用基于BEV的模块。此外,该方法适合视图转换的端到端学习,且能覆盖大尺度场景结构特征,但缺点是牺牲了局部的空间精度。

        具体来说,该方法就是让深度指导2D特征分散到相应的3D位置,如使用图像特征图与深度分布的外积。

        早期工作将深度视为均匀分布,即沿射线的所有特征都相同。

        OFT 将均匀分布的体素投影到图像上,将投影区域的像素特征累积;最后体素特征沿垂直轴求和得到BEV特征图,通过CNN处理并进行3D检测。该方法无需深度监督,能够端到端地(间接)学习深度信息。

        另一种方法是显式地预测深度分布。

  • LSS:预测深度的类别分布和上下文特征向量,其外积定义了透视射线上各点的特征;还将多视图图像的特征融合为单一场景表示,从而对相机校准误差更加鲁棒。


  • BEVDet:基于 LSS 方法提出多视图图像3D检测网络,包含图像编码器、视图转换器、BEV编码器和检测头。
  • BEVDet4D:进一步引入时间线索,即保留上一帧的BEV特征与当前帧拼接。

3.2.3 深度监督

        不使用深度标签监督的方法仅能从稀疏的实例标注中学习深度信息,这对网络来说通常很困难。

  • CaDDN 使用经典方法插值激光雷达产生的稀疏深度图,用于监督深度分布的学习。这种监督可以学到比较窄的分布,对这类方法来说很关键。


  • 其余基于双目的3D检测方法如 DSGN 和 LIGA-Stereo 也使用了稀疏激光雷达深度图的监督。

        此外,DD3D 和 MV-FCOS3D++ 指出深度估计和单目目标检测的预训练对加强2D主干的表达学习有帮助。

3.2.4 与基于IPM的方法结合

        基于IPM的方法和基于深度的方法各有优势。

        PanopticSeg 结合了两种方法的优势,提出密集transformer模块用于全景分割,该模块包含(1)使用IPM的横向transformer和后续的误差修正,用于生成横向BEV特征;(2)纵向transformer,使用体积网格建模3D空间,然后被拉平生成纵向BEV特征。

3.2.5 立体匹配的多视图聚合

        立体匹配可得到比单目深度估计更精确的深度信息,依赖于多视图设置产生的基线。

        双目设置是最常见的,其左右图像有较大的重叠区域和较小的水平偏移。

        对环视图图像,其相邻图像的重叠区域很小,因此主要依赖单目深度估计。因此对于多视图感知而言,基于BEV的方法仅在简单性和统一性方面有优势。

        但对于双目图像的深度估计而言BEV表达有更多优点。

  • DSGN 和 LIGA-Stereo 使用平面扫描表示法进行立体匹配和深度估计,即从平面扫描特征volume中采样体素和BEV特征,进行3D检测。

  • ImVoxelNet 使用多视图图像(相邻图像之间有较大的重叠),显示出基于体素方法的有效性。

        此外,相邻帧也满足大重叠区域的条件。

        DfM 理论分析了该问题,并使用类似方法从视频中获得了更精确的单目3D检测结果。

3.2.6 总结

        基于深度的视图转换方法通常建立在显式的3D表达上。

        早期的方法通常是基于点的方法,可以直接在第二阶段使用3D检测器,但模型复杂度高,且由于不能端到端训练,性能较差;最近的方法关注基于体素的方法,因其高效而灵活。

4.基于网络的PV2BEV

        另一方法是隐式地使用相机几何,使用网络作为PV和BEV之间的映射函数,以数据驱动的方式进行视图转换。常用的网络有MLP和transformer。

4.1 基于MLP的PV2BEV

  • VED 使用带MLP瓶颈层的变分编码器-解码器结构进行视图转换。它是第一个实时生成语义度量占用网格图的单目图像端到端学习方法。
  • VPN 考虑到视图转换需要全局感受野,使用2层MLP,通过 拉平-映射-reshape 方法进行视图转换,并融合多视图图像特征。
  • FishingNet 转换相机特征到BEV后,与激光雷达和雷达数据进行融合感知和预测。
  • 为充分利用空间上下文,更好地关注小物体,PON(如下图所示)和 STA-ST 使用特征金字塔提取图像的多分辨率特征,然后将特征通过MLP沿图像高度折叠以及沿深度方向展开。 

        上述方法的设计基于如下观察:网络需要大量垂直上下文来将特征映射到BEV(因为缺少深度、存在遮挡、未知地面拓扑结构);但在水平方向上,BEV和图像的位置关系可通过简单的相机几何建立。基于transformer的方法也有使用该逐列视图变换的。

  • HDMap-Net 目标是生成BEV下矢量化的地图元素和实例嵌入,但单向投影很难保证前视图的信息被充分利用,因此使用另一个MLP将BEV特征投影回PV以检查特征是否被正确映射。

  • PYVA 基于上述双向投影,提出循环自监督方法加强视图投影,进一步提出基于注意力的特征选择来关联两个视图,得到更强的BEV特征,用于下游分割任务。

  • HFT 分析了基于相机模型的特征变换和无相机模型的特征变换的优缺点,前者容易处理局部道路或停车场的视图转换,但对高出地面的区域会产生扭曲。后者无需地平面假设,但网络因为无几何先验而收敛缓慢。因此HFT设计了混合特征转换,其两个分支分别使用几何信息和捕捉全局上下文。

        总结:基于MLP的多视图感知方法通常分别将各图像特征投影到BEV后进行晚期融合,而不能用到多视图重叠区域的几何信息。因此目前该方法主要关注单目图像。

4.2 基于transformer的PV2BEV

        基于transformer的方法和基于MLP的方法有3点区别:

  1. 基于MLP的方法权重是固定的;而基于transformer方法是数据依赖的(权重与输入相关)。这使得transformer有更强的表达能力,但也更难以训练。

  2. Transformer中的交叉注意力是排列不变(可参考此文最后自注意力的排列等价性)的,导致需要位置编码以确定输入顺序;但MLP对输入顺序敏感。

  3. 基于transformer的方法以逆向的方式,通过在BEV下建立可学习查询,用注意力搜索相应的图像特征;而基于MLP的方法正向地将PV特征投影到BEV。

        Tesla 是首个用transformer进行视图投影的方法,首先使用位置编码定义一组BEV查询,然后使用BEV查询和图像特征之间的交叉注意力进行视图变换。

        基于查询的粒度,将方法分为基于稀疏查询的方法、基于密集查询的方法和基于混合查询的方法。

4.2.1 基于稀疏查询的方法

        该方法能直接产生稀疏感知结果,而无需显示地进行图像特征的密集转换。该设计适用于以物体为中心的方法,如3D目标检测;但不太能直接用于密集感知任务如分割。

  • STSU 由2D检测网络 DETR(下图(a))启发,从单个图像中提取表示局部道路网络的有向图(使用查询检测中心线);也可引入另一组查询来同时检测3D物体。网络可利用道路中心线和物体的依赖性。

  • 后续工作 TopologyPL 通过考虑道路网络的拓扑结构(保留最小环)来改进 STSU。

  • DETR3D(下图(b))关注多视图图像的3D检测,将交叉注意力替换为基于几何的特征采样过程。首先从可学习的稀疏查询中预测3D参考点,利用校准矩阵将参考点投影到图像平面,采样相应的多视图多尺度图像特征用于端到端的3D边界框预测。

  • PETR(下图(c))由相机参数得到的3D位置嵌入编码为2D多视图特征,这样稀疏查询可以通过原始的交叉注意力直接与位置感知的图像特征交互,避免了 DETR3D 中复杂的特征采样,得到更简单的框架。

  • PETRv2 通过将3D位置嵌入延伸到时间域,引入了时间信息。

  • Graph-DETR3D 通过图结构学习为每个物体查询聚合多图像信息,增强了物体表达,解决了 DETR3D 中特征聚合不足的问题,在多视图重叠区域得到更好的感知结果。

  • 类似地,ORA3D 也关注提升 DETR3D 重叠区域的检测结果。该方法通过立体视差监督和对抗性训练来规范化重叠区域的表达学习。


  • 为利用环视相机的视图对称性,使优化更容易并提高性能,PolarDETR 提出3D检测的极参数化(即边界框参数化、网络预测和损失计算均在极坐标下)。该方法也使用了被投影参考点的上下文特征以减轻 DETR3D 中上下文信息不足的问题。


  • SRCN3D 基于另一2D检测框架 SparseRCNN 设计了基于稀疏提案的多相机3D目标检测方法,其每个提案包含一个可学习的3D边界框和一个编码实例特点的可学习特征向量。为替代基于交叉注意力的特征交互,该方法提出稀疏特征采样模块和动态实例交互头,用从提案框中提取的RoI特征来更新提案特征。

4.2.2 基于密集查询的方法

        基于密集查询的方法,其每个查询在3D空间或BEV空间预先分配了一个位置。查询的数量由离散化空间的分辨率决定,通常大于稀疏查询方法的查询数量。密集的BEV表达可由密集查询和图像特征的交互获得。

  • 前面提到的 Tesla 未考虑相机参数。

  • 为了促进几何注意力的几何推理,CVT 提出相机感知的交叉注意力模块,其中图像特征被附加了由相机内外参得到的位置嵌入。

        Transformer解码层中的注意力操作有高空间复杂度,限制了图像和BEV的分辨率,从而导致模型的可放缩性差。

        可变形注意力结合了可变形卷积的稀疏空间采样和注意力的关系建模能力,通过关注稀疏的位置极大地减小了空间消耗。

  • BEVSegFormer 和 PersFormer 都使用可变形注意力进行视图转换。

  • BEVFormer 也使用可变形注意力进行多视图图像特征和密集查询之间的交互,还在历史BEV特征和BEV查询之间应用可变形注意力以利用时间线索。

  • Ego3RT 将密集BEV查询放在极坐标BEV网格中,使用可变形注意力交互查询和多视图图像特征。然后使用网格采样,将极坐标BEV特征转化为笛卡尔特征用于下游任务。

  • 与 BEVSegFormer 直接从查询特征预测参考点不同,BEVFormer 和 Ego3RT 使用相机参数计算每个查询的2D参考点,用于可变形注意力中的特征采样。PersFormer 也依赖IPM计算参考点。

        这些方法利用几何先验作为指导,更好地确定图像的相应区域,但会对校准矩阵更加敏感。

  • GKT 在2D参考点附近定义核区域,将核区域特征与相应的BEV查询交互。如果校准矩阵固定,BEV查询到像素的位置映射是固定的。该操作可以视为固定采样偏移量、注意力权重基于相似度的可变形注意力。此外,还建立BEV到2D的查找表,用于快速推断。

  • CoBEVT 提出新的注意力变体,称为融合轴向注意力(FAX),以低计算复杂度推理高级上下文信息和区域细节特征。该方法首先将特征图分割为不重叠的3D窗口,然后在各个窗口使用局部注意力,在窗口之间使用全局注意力。 

        另一减小存储消耗的方法是使用3D几何约束简化基于交叉注意力的交互。

  • Image2Map 通过假设图像列与BEV极射线之间的一一对应关系,将视图转换视为一组1D序列到序列的变换问题,并建模为transformer。该方法避免了2D图像特征图和BEV查询之间的密集交叉注意力,减小了空间耗费并提高了效率。


  •  GitNet 的第二个视图变换阶段也使用了逐列的transformer模块,以加强基于几何的第一个视图变换阶段产生的初始BEV特征。

        上述方法均仅处理单目图像。对于360°图像,需要对齐不同相机的极射线到自车坐标系。

  • PolarFormer 设计了极对齐模块,聚合不同相机的极射线,生成结构化的极坐标特征图。与 PolarDETR 类似,边界框的预测也是在极坐标下进行的。 

        LaRa 先编码多视图图像特征到隐空间,然后使用交叉注意力模块查询隐空间的表达来获得BEV特征。紧凑的隐空间与输入大小和输出分辨率解耦,可以实现精确的计算量控制。此外,由校准矩阵得到的基于射线的位置嵌入被用于加强视觉特征,指导特征和隐空间向量之间的交叉注意力。

4.2.3 基于混合查询的方法

        PETRv2 设计了混合查询策略,包含密集分割查询和稀疏物体查询,其中每个分割查询用于分割特定的patch。

4.2.4 稀疏查询vs密集查询

        稀疏查询在目标检测任务上取得了很好的结果,但很难用于密集预测任务;有明确空间分布的密集查询提供了密集而统一的BEV表达,适用于不同任务,但由于其查询数量多,计算量大,需要高效的注意力机制来提高BEV特征图的分辨率。

4.2.5 几何线索

        基于transformer的PV2BEV可仅依赖注意力机制,而无需几何先验。但排列不变性使得transformer无法感知图像区域和BEV像素之间的空间关系,从而导致网络收敛缓慢。许多方法使用几何约束来加速收敛。

        校准矩阵:给出查询的3D坐标(预定义或是使用查询特征预测),相机的校准矩阵定义了PV和BEV的映射关系。

  1. 基于可变形注意力的方法通常依赖相机投影矩阵计算2D参考点用于特征采样,帮助网络关注相应区域,避免全局注意力的计算。

  2. 另一方法是使用校准矩阵,基于几何关系为图像每一列分配一个BEV射线,以简化全局交叉注意力为逐列注意力。

  3. 此外,校准矩阵用于生成3D位置嵌入,使用几何先验丰富图像特征,帮助transformer学习使用隐式几何信息推理PV2BEV的映射。

        深度信息:使用深度信息对transformer进行几何推理很有帮助。

  1. 许多方法使用深度预训练学习深度感知的2D特征,建立查询与图像特征的联系。

  2. 也可在视觉3D检测任务中联合优化深度预测,其真实深度可来自激光雷达点或物体级深度信息。

        MonoDTR 和 MonoDETR 都设计了单独的模块来产生深度感知特征,预测逐像素深度用于transformer的位置编码。具体来说,前者使用transformer聚合上下文特征和深度特征,后者提出带有深度交叉注意力的transformer解码器,使物体查询直接与深度特征交互,从而可以直接从2D图像解码出3D预测结果。

4.2.6 总结

        基于transformer的方法的优点:性能好,关系建模能力强,有数据依赖性。

        Transformer还可替换CNN作为特征提取器,或是作为检测头。基于transformer解码器的检测头和基于双向匹配的标签分配策略常用于图像3D检测,因为该方法无需后处理如NMS操作。

        引入时间信息对基于transformer的方法也有很大帮助。

5.扩展

5.1 BEV下的多任务学习

        许多下游任务可基于BEV表达,共用的网络可以节省计算并提高效率。

  • FIERY使用来自多视图视频的时空BEV表达,同时进行感知和预测。

  • StretchBEV在每个时间戳上采样隐变量,估计残差变化来生成未来状态。


  • BEVerse设计了一个迭代流,高效地生成未来状态,联合进行3D检测、语义图重建和运动预测任务。


  • M²BEV​​​​​​​ 也提出基于BEV表达的多任务方法,并通过假设深度的均匀分布简化投影过程、节省空间。


  • STSU和PETRv2 引入与任务相关的查询,不同任务的查询与共享的图像特征交互。

  • BEVFormer 使用密集BEV查询将多视图图像投影到BEV平面,然后使用不同的任务头如Deformable DETR和掩膜解码器,进行端到端的3D检测和地图分割。Ego3RT和PolarFormer也使用了类似方法。

        虽然CNN会因为多任务联合优化而受益,但3D目标检测和BEV分割通常不会相互促进。3D检测性能通常会下降,BEV分割在各类别上的性能改变也不一致(多数模型还是会均有下降)。

5.2 BEV下的融合

5.2.1 多模态融合

        不同的传感器有各自的优缺点。图像包含丰富的外表特征如颜色、形状、边缘,但对光照敏感且缺乏深度信息。激光雷达点云包含精确的深度信息和大量几何特征,但缺乏纹理信息。雷达有更广的检测范围,且可直接测量物体速度,但点云稀疏而含有噪声,提取形状和尺度视觉特征很困难。

        图像和点云的融合分为数据级别的融合和特征级别的融合。前者使用校准矩阵将像素特征附加到点云上(或反过来);后者分别提取图像的PV特征和点云的BEV特征,其中可解释性最好的方法就是将图像特征转换为BEV特征后融合。

        BEV下的融合方法可进一步分为三类。

        第一类方法依赖深度指导,在3D空间融合。

  • UVTR 根据预测的深度分数和几何约束,从图像平面采样特征,建立体素空间。


  • AutoAlign 自适应地对齐像素和3D体素的语义一致性,而无需显式的相机投影,使用自监督方法指导跨模态特征交互。

  • AutoAlignV2 使用确定性投影矩阵指导多模态特征的自动对齐,并使用模态间稀疏采样(类似 Deformable DETR 方法)。这样可以直接建立图像特征和关联点云特征之间的关系。

  • Frustum PointNets 和 CenterFusion 使用棱台投影将2D检测结果变换到相应的3D位置,然后分别与激光雷达检测和雷达检测融合。 

        第二类方法是对多模态的BEV特征进行融合。

  • BEVFusion 在融合阶段充分保留了图像的密集语义信息和点云的空间几何信息,并提出高效BEV池化操作来加快推断。


  • RRF 通过投影和双线性采样为图像特征定义了3D volume,与栅格化的雷达BEV图像拼接,然后压缩z轴得到融合的BEV特征图。

  • FISHINGNet 将相机、激光雷达和雷达特征转换为一个公共的俯视图语义网格表达,然后聚合特征进行语义网格预测。

         第三类方法针对3D检测任务,通过初始化3D参考点作为查询,来从所有模态中提取特征并融合。该类方法通常使用注意力机制进行自适应融合。

  • FUTR3D 使用基于查询的模态无关特征采样器和transformer解码器,用于多传感器融合3D检测。该方法可在任何传感器组合和设置下使用。


  • TransFusion 使用标准的3D和2D主干分别提取激光雷达BEV特征图和图像特征图,并用前者初始化查询。然后压缩图像垂直方向特征,使用交叉注意力投影到BEV平面,与激光雷达BEV特征融合。

5.2.2 时间融合

        时间信息有如下优点:

  1. 能积累序列观测以减轻自遮挡和外部遮挡的影响,帮助检测高度遮挡物体或生成可靠的交通图;
  2. 能帮助估计与时间相关的属性如速度、加速度和转向等,从而对物体分类和运动预测有好处;
  3. 连续图像中包含的立体几何关系为绝对深度估计提供了指导和理论基础。 

        许多方法将原始图像或图像特征进行拼接,或使用RNN或transformer进行视频理解,但很少有方法考虑3D感知任务。这是因为自车运动改变了相机姿态,使得连续的透视图没有严格的物理对应关系。因此直接在PV进行时间特征融合对3D定位的性能提升有限,可在BEV下进行时间融合。

  • BEVDet4D 先将过去帧的BEV特征图转换到当前帧的自车坐标下进行对齐,沿通道维度拼接后输入到检测头中。 

        基于拼接的时间融合方法简单且可扩展,Image2Map、FIERY 和 PolarFormer 均使用了此方法。

        此外,对称聚合函数如max和mean也可用于组合时间对齐特征。

  • 由于不同时刻,物体可能有不同的网格位置,不同时间相同网格位置的BEV特征可能来自不同物体。BEVFormer 通过自注意力层建模特征之间的时间连接,其中当前帧BEV特征作为查询,过去帧的BEV特征作为键和值。

  • PETRv2直接在透视图和3D空间进行特征对齐。首先根据自车运动,通过将坐标系变换到当前帧,生成过去帧的位置编码;然后将这两帧的2D图像特征和3D坐标拼接,输入到transformer解码器中,稀疏物体查询在那里与这两帧特征进行交互得到时间信息。

  • 类似地,UniFormer 将过去帧的PV特征转换到统一的虚拟视图,然后使用交叉注意力融合所有过去和当前的特征。

        这些工作均通过引入时间信息极大提高了定位精度,但没有解释其理论基础。

        DfM 理论分析了时间线索在深度估计中的重要作用,然后在较早阶段利用这些时间线索(从时间相邻的图像整合立体几何线索),用更好的深度估计促进PV2BEV变换,即将图像特征提升到3D空间进行3D检测。

        实验表明,将模型从3D空间提升为4D时空极大地提升了整体检测性能,特别是在速度和朝向方面。但多数方法不能很好地利用长距离时间信息,如使用更多连续帧时,性能会趋于平稳。

5.2.3 多智能体融合

        单一智能体系统的3D感知对被遮挡物体和远处物体的检测存在困难。使用车辆到车辆(V2V)的通讯技术可以在附近车辆之间传播传感器数据,以提供同一场景的不同视角。

        CoBEVT 设计了多智能体多相机框架,协同生成BEV地图预测。首先根据自车姿态和发送者姿态对齐来自不同智能体的BEV特征,然后使用带融合轴向注意力机制的transformer融合这些BEV特征的信息。

        但目前没有多智能体的真实数据,目前的方法仅能在合成数据集上进行验证,对真实世界的泛化能力还是未知的。

5.3 经验知识

        以视觉为中心的感知方法通常包含多个数据模态,且在类别不平衡的数据集上实验,需要多种保证几何关系的数据增广方法,以及对注释较少的类别的训练技巧。此外,平衡精度和效率也是重要问题。

5.3.1 感知分辨率

        增大图像或BEV的分辨率会提高性能,但会降低效率。常规设置通常与基于激光雷达的方法一致,但对于某些环境如高速公路上的高速环境而言,这些常规设置是不够的。

5.3.2 网络设计

        基于BEV表达的感知方法通常缺少透视图的语义监督,因此有人对PV主干进行预训练。许多方法使用额外的深度数据预训练PV主干,能极大地提高3D检测性能。

        检测头除基于锚框的、无需锚框的、基于 CenterPoint 的以外,基于transformer的检测头通常使用 DETR3D 或 Deformable DETR 的检测头以实现完全端到端设计。

5.3.3 辅助任务

        除了传统的深度估计、单目图像2D/3D检测、2D车道检测辅助任务以外,一些方法使用跨模态设置的知识蒸馏方法,如从立体图像到单目图像、从激光雷达到立体图像等等。

5.3.4 训练细节

        PV图像和BEV网格均能进行数据增广,其中后者由其重要。

        对于类别不平衡的问题,类似基于激光雷达的方法,可使用 CBGS 增加长尾类别的样本数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vision-Centric BEV Perception: A Survey (以视觉为中心的BEV感知综述)论文笔记 的相关文章

随机推荐

  • 面试题,说说你对spring IOC和AOP的理解

    在面试中 经常会问 说说你对spring IOC和AOP的理解 问题很宽泛 似乎不知道从何说起 回答思路 1 先用通俗易懂的话解释下何为IOC和AOP 2 各自的实现原理 3 自己的项目中如何使用 以下是个人的一些总结 仅供参考 1 IOC
  • java异常处理

    目录 异常概述与异常体系结构 常见异常2 数组下标越界异常 空指针异常 异常的运算 转换不兼容 异常处理机制一 异常处理机制二 手动抛出异常 用户自定义异常类 总结 异常概述与异常体系结构 在使用计算机语言进行项目开发的过程中 即使程序员把
  • 在winform中屏蔽双击最大化或最小化窗体(C#实现),禁用任务管理器结束程序

    在需要屏蔽双击窗体最大化 最小化 关闭 拖拽窗体中写入以下代码 可以根据需要取舍代码 protected override void WndProc ref Message m if m Msg 0x112 switch int m WPa
  • 数组方法对字符串使用时,需要注意的地方

    在平时工作或者练习的时候 我们有时会使用数组的方法去处理字符串 在使用时 我们可以发现有些方法可以对字符串使用 但是有一些不能 那么 这个规律究竟是什么 为什么有的可以使用 而有的不能使用 那些不能使用的原因是什么 分析思路 我们可以看到
  • 程序员到底要怎么找女朋友?

    漫小话碎碎念 新弄了个小专栏 以两三格漫画的形式给大家呈现一些只有程序猿才能看懂的梗 刚开始着手弄这个part 一切都还不太成熟 也欢迎大家在留言区提出一些建议 可以是一些梗 可以是形象整改 表达形式 都好 目前定在每周五发 毕竟工作了一周
  • windows驱动程序开发初探

    最近 由于需求推动 自己得开始学一下在windows下如何开发驱动程序 虽然 后来由于其他的原因使得学习没继续下去 但是我还是把一些粗略的学习经历与体会写在这里 方便自己日后卷土重来 也方便其他的对windows开发一窍不通的有志之士参考一
  • IP地址判断有效性

    IP地址判断有效性 标签 空格分隔 OJ 算法 1 题目 判断输入的字符串是不是一个有效的IP地址 详细描述 请实现如下接口 boolisIPAddressValid constchar pszIPAddr 输入 pszIPAddr 字符串
  • 基于选择排序的一些想法

    选择排序的工作原理是 每一次从待排序的数据中选出最小 或最大 的一个元素 存放在序列的起始位置 然后 再从剩余未排序元素中继续寻找最小 大 元素 放到已排序序列的末尾 以此类推 直到全部待排序的数据元素排完 优化思路是 每次循环都同时找出最
  • Elasticsearch之聚合aggregations

    聚合可以让我们极其方便的实现对数据的统计 分析 例如 什么品牌的手机最受欢迎 这些手机的平均价格 最高价格 最低价格 这些手机每月的销售情况如何 实现这些统计功能的比数据库的sql要方便的多 而且查询速度非常快 可以实现实时搜索效果 1 基
  • Paimon 学习笔记

    本博客对应于 B 站尚硅谷教学视频 尚硅谷大数据Apache Paimon教程 流式数据湖平台 为视频对应笔记的相关整理 1 概述 1 1 简介 Flink 社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehou
  • Docker boot2docker镜像默认用户和密码

    用户 密码 进入方式 docker tcuser ssh root command sudo i docker用户下执行
  • 记录一个iOS实现视频分片缓存拖拽快进不能播放的问题

    代码现状 首先来看一下我们将视频数据塞给请求的代码 void finishLoadingWithLoadingRequest IdiotResourceTask task printf 哈哈执行到这里执行到到这里 n printf 哈哈哈数
  • 【目标检测-YOLO】YOLOv5-5.0v-损失函数(第四篇)

    YOLO Input Backbone Neck Head 置信度Loss 坐标回归Loss 分类Loss v1 448 448 GoogleNet FC 2 MSE v2 32x D
  • mod_jk 分析

    mod jk 分析 1 mod jk 模块的总体功能 由于 tomcat 的 HTTP 处理部分都由 Java 所写 5 5 12 版本以后出现了 native 库 用以 提高其 I O 和 SSL 的性能 1 在高并发的情况下负载较高 而
  • 误解#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)

    define GPIOA BASE AHB1PERIPH BASE 0x0000 typedef struct IO uint32 t MODER lt GPIO port mode register Address offset 0x00
  • python+opencv最简单的人脸识别入门

    0前置操作 安装python 最新3 10即可 安装pycharm 社区版即可 安装opencv python cmd输入pip install opencv python即可 嫌慢用国内镜像也可以 后续也需要安装opencv contri
  • 利用Scrum敏捷工具管理敏捷产品迭代Sprint Backlog

    什么是Sprint Backlog Sprint Backlog是Scrum的主要工件之一 在Scrum中 团队按照迭代的方式工作 每个迭代称为一个Sprint 在Sprint开始之前 PO会准备好产品Backlog 准备好的产品Backl
  • 数据本地存储方法

    存储到本地的数据类型有 数组 字典 字符串 对象类型的 1 字符串的本地存储 NSString str dsadasd NSArray arr NSSearchPathForDirectoriesInDomains NSLibraryDir
  • opencv-python中的腐蚀与膨胀函数

    1 图像的腐蚀 就像土壤侵蚀一样 这个操作会把前景物体的边界腐蚀掉 但是前景仍然是白色 这是怎么做到的呢 卷积核沿着图像滑动 如果与卷积核对应的原图像的所有像素值都是1 那么中心元素就保持原来的像素值 否则就变为零 这回产生什么影响呢 根据
  • Vision-Centric BEV Perception: A Survey (以视觉为中心的BEV感知综述)论文笔记

    原文链接 https arxiv org abs 2208 02797 1 引言 BEV表达包含了丰富的语义信息 精确定位和绝对尺度 可直接应用于下游任务如行为预测和运动规划 此外 BEV表达为融合不同视角 模态 时间和智能体的信息提供了物