Query-Based
1. 和LSS-Based的区别
LSS的核心是显式投影,在图像侧显式地为每个像素预测一个深度分布,然后用这个分布把图像特征“抬升”和“拍平”到BEV空间
Query的核心是隐式查询,它先有一个关于BEV空间的先验(BEV query),然后通过可微的注意力机制去“查询”2D图像中与该BEV位置最相关的区域,从而隐式地学习到从2D到3D的映射
2. Deformable DETR
GitHub ICLR 2021创新点:将Transformer原本的“全局注意力”变成了“稀疏的局部注意力”

2.1 传统多头注意力机制
设为query元素,为key元素,为value元素。那么多头注意力机制特征的计算公式可以简写为
其中为注意力头,是key元素的索引,对应多个特征头的权重矩阵,是value的权重矩阵,是注意力权重,计算公式为
其中是的对应权重
Transformer需要较长的训练周期才能收敛,因为在参数初始化阶段,和会服从一个均值为 0、方差较小的分布,经过Softmax操作后会导致权重趋于平均,反向传播的梯度极其微弱。在图像领域,query元素通常对应图像的像素,数量庞大,难以收敛。因此提出Deformable Attention进行改进
2.2 Deformable注意力机制
其中为注意力头,是key元素的索引,是注意力权重,为特征图,为参考点,即query在特征图的大概位置,为相对于参考点的偏移,为value权重
是为了得到最终的采样位置,与特征图相乘可以得到具体的特征向量。在标准Attention中注意力权重是通过query和key相乘得到的,但这里是从query学习得到的;相对于参考点的偏移也是从query学习得到的
所以对于每个query,模型先预测一个2D参考点,也就是它大概认为物体在哪,模型接着预测几个偏移量,看看这几个位置的特征,最终根据注意力权重计算这几个采样点的权重。这样就不需要看所有像素了
稀疏的局部注意力并不是通过约束注意力矩阵实现的,而是通过约束query实现的
3. BEVFormer
GitHub TPAMI
3.1 相关概念
BEV感知空间与BEV query
BEV空间以自车为中心的栅格化二维平面,
BEV感知空间把BEV平面在z轴方向选取个3D参考点进行扩展,以覆盖上坡下坡、高大目标物场景,
BEV queries预定义的一组栅格形可学习参数,这些queries与空间栅格一一对应,某一个栅格的query为单数,复数表示整个空间的query,,这里的为一个query的尺寸,与z轴尺寸无关。在输入到BEVFormer之前,BEV Queries加上了可学习的位置编码
3.2 数据预处理
多视角相机图像通过Backbone提取特征
LiDAR点云通过三维骨干网直接投影生成当前帧的LiDAR BEV特征
在BEV网格预定义了一组可学习的参数Queries
3.3 时间自注意力机制
首先根据车辆的自车运动(Ego-motion)参数,将时刻的历史BEV特征对齐到当前时刻,得到对齐后的
query在BEV网格中的坐标为,利用2D deformable attention以作为参考点在其周围对进行特征采样
3.4 空间交叉注意力机制
LiDAR:由于LiDAR BEV特征本身就在BEV网格,不存在透视误差。因此,BEV Queries直接使用2D deformable attention以作为参考点在其周围对LiDAR BEV特征进行特征采样
Camera:
- 对每一个处的BEV query,计算真实世界中的坐标,并在z方向进行lift操作。即设置个3D参考点
- 通过相机内外参,把3D参考点投影到相机图像上。受相机感知范围限制,每个3D参考点一般只在 1-2 个相机上找到有效的投影点(反过来描述,每个相机的features只与部分BEV queries构成有效投影关系)。
- 使用
2D deformable attention以像素点作为参考点在其周围对Camera BEV特征进行特征采样 - 将所有高度、所有命中视角采样出来的图像特征进行加权求和,作为该 BEV query获得的视觉特征
多模态融合:使用一个可学习的权重参数,将 LiDAR采样出的空间特征与Camera采样出的空间特征进行自适应加权融合
参考文章