BEVFormer v2

论文链接:bevformerv2

背景

典型的BEV模型

典型的BEV模型

如上图所示,一个典型的BEV模块建立在主干网络上,之后是视图转换模块(将透视图像特征提升为BEV特征),最后通过BEV特征编码器和一些特定任务的头进行处理。目前绝大多数研究都关注于视图转换模块,而忽略了BEV模型中图片的主干网络。

由于BEV模型和结合不同传感器的视角形成一个完整的3D视图,因此越来越多的自动驾驶技术开始对其展开研究,但是现有的BEV检测器通常和需要预训练的深度骨干网络如VoVNet绑定在一起,阻碍了新晋的图像主干网络和BEV检测器的协同发展。

简单的应用没有经过正确的预训练现代图像主干网络获得的效果不是很好,主要有以下两个原因

  • 2D原始图像和自动驾驶图像之间的差距:在普通2D识别任务预训练好的主干网络不能很好的预测3D信息尤其是深度信息;
  • 目前BEV检测器复杂的结构:3D边界框和物体类别标签的监督信号分别从来自于主干网络的视觉编码器和物体编码器得到。且两者都由多层的transformer结果组成,因此梯度流会被扭曲。

BEVFormerV2

为了解决上述问题,我们在BEVFormer的基础上提出了透视监督。来自于透视图任务中额外的监督信息被直接用于主干网络中:能够帮助主干网络去学习在2D识别任务中被遗忘的3D知识。

具体而言,在主干网络上建立了一个透视三维检测头,以图像特征作为输入,直接预测目标物体的3D先验框和标签类别,且该损失函数作为一个辅助的损失函数。我们将两个检测头合并形成两阶段的BEV检测器。

BEVFormerV2的主体框架

在这里插入图片描述
如上图所示,BEVFormer v2主要由5个部分组成:图像主干网络、透视3D检测头、空间编码器、改造后的时间编码器、BEV检测头。(但是v1 版本的是先时间编码器在进行空间编码器,此时是先空间在时间吗?)

BEVFormer v2版本有以下几个更新:

  • 所有在BEVFormer V2上的图像主干网络没有在任何自动驾驶数据集或者深度估计数据集上预训练过。
  • 一个新的时间编码器模型用于更好的融合长期的时序信息。
  • 将第一个阶段生成的提议和本身学习到的查询进行融合,生成一个混合的物体查询用于解码器中。

Perspective Supervision

在这里插入图片描述
一个典型的BEV模型在BEV平面上是网格状的,每个网格从多个2D视图中提取特征并且融合形成3D信息。对BEV特征进行监督的称为BEV监督,对图像特征进行监督的称为透视监督。

BEV监督根据BEV特征信息去预测目标物体的3D边界框,具有以下特点:

  • BEV监督中对图像特征的监督是隐性的,因为损失直接作用与BEV特征,而图像特征转换为BEV特征需要进行从2D到3D的采样,因此属于间接损失的形式。
  • 监督信号具有稀疏性,因为只有少量的BEV网格对损失有贡献,因此只有那些网格的2D参考点周围的稀疏像素才能获得监督信号

这些特点导致BEV监督在训练的时候需要来自于图片数据生成的3D信息,但是它本身又不能为主干网络提供足够的指导去编码这些信息之间。因此不能得到足够的监督信号。

透视监督是直接且密集的,它对来自于2D图像特征中的每一个像素都进行预测,能够为2D图像主干网络提供足够多的监督信号,并且透视监督的损失函数也直接应用于图像特征。因此我们认为透视监督可以显示的指导主干网络感知3D场景并且提取有用的信息。

Ravamped Temporal Encoder

BEVFormer采用循环时间自注意力机制去融合历史BEV特征,但是它不能充分利用到长期的时序信息。对此我们采用一个简单的扭曲再拼接的方法。

给定在k时刻的BEV特征 B k B_k Bk,我们利用双线性插值,以及从t时刻到k时刻的变换矩阵 T k t T_k^t Tkt对其进行扭曲,得到BEV特征 B k t B_k^t Bkt(此时特征是否代表从t-k之间的特征信息),之后与历史的BEV特征在通道维度上进行拼接,并且采用残差模块对通道数进行降维。

Two-stage BEV Detector

利用两个检测头能够得到足够的监督,但是检测的结果来源于不同的视角,为了不随意的丢弃其中一个预测效果,我们将两个头部集成到两阶段的预测管道上。

BEV检测头的解码器是DETR的解码器,采用一组可学习的嵌入作为对象查询,在训练的时候去学习目标对象可能所处的位置,但是随意的初始化该嵌入信息会需要花费大量的时间找到正确的位置信息,且如果对于每张图片获得的嵌入信息都是一样的,那么可能出现不准确性,因为不同图片上的物体所处的位置可能不一样。

为了解决该问题,将通过后处理的透视头预测,融合到解码器的对象查询中,形成一个两阶段的过程,由于混合的对象查询具有高的分的侯选位置,因此BEV在第二阶段更容易捕获目标。同时发现,第一阶段中的提议不一定需要来自于透视图,可以来自于另外一个BEV特征,但是只有来自于透视图的提议对最终结果有帮助

Decoder with Hybrid Object Queries

在这里插入图片描述
为了将一阶段的提议融合到两阶段的物体查询中,解码器由堆叠交替的自注意力和交叉注意力层构成。
交叉注意力层需要三个输入:

  • 内容查询:对查询特征获得采样偏移和注意力权重
  • 参考点:将价值特征上的2D点作为每次查询的采样参考
  • 价值特征:BEV本身特征

在v1版本中,内容查询是一组学习的嵌入通过线性层,该嵌入在加上位置编码通过线性层得到的预测结果,参考点是利用一组学习的位置嵌入进行线性层的预测。在v2版本中,我们通过透视头得到一些提议,并且通过后处理选取他们中的一部分。如上图所示,将所选区的提议投影到BEV平面上的中心点作为每张图片的参考坐标,并且与位置嵌入生成的数据进行结合

每张图片上的参考点可以直接指示BEV平面上的可能坐标,能够使解码器更加容易预测物体,但是透视检测可能检测不到被遮挡的物体或者处于相邻视角边界情况的物体,因此保留了原始每个数据的参考点,并且采用空间先验来进行捕获(但是在途中没有体现出保存原始的信息处于哪里,且此时不能确定是否提议只会影响参考点,还是都进行影响)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值