关于Transformer的详细介绍,请参考之前发布的文章《如何实现“轻高精地图”的城市NOH?毫末自动驾驶的8大亮点》
相比于传统神经网络(如CNN)的局部感受野,Transformer的注意力机制,能够带来更好的全局感受野,让其在进行跨摄像头、跨传感器以及时序融合时,可以更好地在空间时序维度上建模,从而可以提升感知准确率。
下图中,南京大学、上海人工智能实验室和香港大学提出的BEVFormer算法架构就使用了Transformer,并在nuScenes测试集上的NDS指标上取得了新的当前最优水平(SOTA)56.9%,提升了9个点。

BEVFormer算法架构
BEVFormer经过骨干网络提取特征后,经过了6个编码层(encoder),每一个都采用了典型的transformer结构。
具体实现上,BEVFormer通过预先设置参数的网格划分(grid-shaped)的BEV 查询机制(BEV queries)来利用时空信息。为了聚合空间信息,BEVFormer设计了空间交叉注意力机制(spatial cross-attention,即BEV 查询机制从多相机特征中通过注意力机制提取所需的空间特征),让BEV查询机制能从其感兴趣的多相机视角中提取特征,为了聚合时序信息,BEVFormer提出了时序自注意力机制(temporal self-attention,即每一时刻生成的BEV特征都从上一时刻的BEV特征获取所需的时序信息)来融合历史信息。
BEVFormer在通过Transformer进行BEV空间转换时,是通过预先设置参数的网格划分(grid-shaped)的BEV 查询机制和空间交叉注意力机制。
预先设置了一个大小为H x W x C的空间,作为BEVFormer的查询空间,其中H和W是BEV平面的空间尺寸,C为与该平面垂直的高度坐标,其中网格间隔值s代表了该空间的颗粒度,自车坐标作为原点,BEV查询机制负责不断查询,找到这个空间内每个坐标点(x , y)的柱状3D参考点,最终完成全部BEV空间转换。

BEVFormer的BEV查询机制
BEVFusion在进行BEV转换时,虽没使用Transformer,不过也经历了编码(encoder)和解码(decoder)两个过程,在解码过程中,把图像信息转化成BEV的3D空间的特征点云,每个像素都有一个预估深度D,N个输入相机会生成大小为 N x H x W x D 的相机特征点云,其中(H,W) 是相机特征图的大小,D为深度信息。
而转换成的BEV空间的特征点云,以自车作为坐标系原点,沿x轴和y轴展开,以局部网格采样的方式,如网格间隔(grid)为r,一般通过池化(pooling)操作来聚合每个 r r BEV空间网格内的特征,并沿 z 轴(高度方向)展平特征,于是完成了从2D到BEV空间的转换。

BEVFusion相机到BEV空间转换机制
此外,纽劢提出的对多相机配置的BEV语义分割任务的BEVSegFormer架构,也用到了Transformer,并在nuScenes验证集的语义分割任务上取得了当前最优水平(SOTA)。

BEVSegFormer的网络
几位行业内专家认为,由于Transfromer先天具有更好的全局感受野,因而可以好地提取全局特征,既可以用来作为骨干网络,也可以在BEV转换中使用。