BEVFormer论文解读
背景
相比于雷达点云,相机部署成本低,能够识别远距离物体与基于视觉的路面元素如交通灯等。相比于单目框架,BEV视图提供了对整体场景的表示,并且能很好地反映物体的尺度与位置信息。此外,BEV空间能够作为一个理想的中介来联系时空间,时间信息能够帮助我们推理物体的运动状态以及识别被遮挡的物体,
而在自动驾驶任务中,物体变化速度快且实时性要求高,简单堆叠多帧BEV特征不是最优的。而且现有的BEV方法要用在目标检测任务上取得较好的效果需要质量高的BEV特征,因此需要较好的深度估计方法,但从2D图像预估深度本身就是有点难度的,因此BEV特征多少会不准确。
因此,本文提出了不依赖深度信息生成BEV特征的方法,能够自适应的学习BEV特征而不依赖于严格的3D先验,其实就是加入了Transformer满足这个需求。对于时序融合,则是效仿RNN的架构实现,能够把握物体运动状态并识别遮挡物体。
贡献
- 提出了自上而下的BEV生成模式,BEVFormer架构通过一个Transformer编码器,空间上与多视角特征交叉注意力,时间上与历史BEV特征自注意力,很好地融合了时空间特征。
- 提出了可学习BEV query的概念,使用BEV query从多视角特征与历史BEV特征中检索需要信息聚合到BEV特征中。
- 该框架着力使用了可变形注意力机制,包含在空间交叉注意力与时间自注意中,减少了传统注意力的计算量。
前备知识——可变形注意力
可变形注意力机制是源自可变形DETR这个工作的,这个工作主要提出了以下这两个创新:
首先是尺度级嵌入,这是考虑到我们可能使用多尺度图片,这个时候光使用位置嵌入是不足的,通过对不同层级特征图加上可学习的尺度embedding使得模型理解多尺度特征来自哪个感受野层级。
第二个也是最重要的就是可变形注意力机制,每个query不是与全局进行注意力计算,而是根据一个参考点,选取附近的感兴趣的多个采样点进行注意力的计算。
如下所示, z q z_q zq代表query,它是由原输入特征图x通过线性变换得到的, p q p_q pq代表 z q z_q zq的位置,它就是我们所谓的参考点,后面的 △ p m q k △p_{mqk} △pmqk代表在第m个头下,第k个采样点相对于参考点的偏移,也就是说对于每个头,会采样K个位置进行交互, W m ′ W'_m Wm′是将采样点特征值转换为V, A m q k A_{mqk} Amqk代表归一化后的注意力权重,需要注意的是这里的注意力权重与偏移全都是由query经过线性层得到的,也就是说注意力权重不需要key与query交互了。
DeformAttn ( z q , p q , x ) = ∑ m = 1 M W m [ ∑ k = 1 K A m q k ⋅ W m ′ x ( p q + Δ p m q k ) ] \text{DeformAttn}(z_q, p_q, x) = \sum_{m=1}^M W_m \left[ \sum_{k=1}^K A_{mqk} \cdot W_m' x(p_q + \Delta p_{mqk}) \right] DeformAttn(zq,pq,x)=m=1∑MWm[k=1∑KAmqk⋅Wm′x