BEVFormer:基于Transformer的纯视觉BEV感知算法详解
BEVFormer:基于Transformer的纯视觉BEV感知算法详解
BEVFormer是ECCV 2022上提出的一种基于Transformer的纯视觉BEV感知算法,通过创新性地引入空间交叉注意力和时间自注意力模块,实现了从多相机图像到BEV特征的高效转换。本文将详细解析BEVFormer的核心思想、关键技术以及实验效果。
综述
论文题目:《BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers》
会议时间:ECCV 2022
论文地址:https://arxiv.org/pdf/2203.17270v2.pdf
源码地址:https://github.com/fundamentalvision/BEVFormer
主要思想
3D空间感知对于自动驾驶、机器人等各种应用至关重要。虽然激光雷达在深度信息感知方面表现出色,但相机凭借其低成本和远距离感知能力,在自动驾驶中也扮演着重要角色。BEVFormer的核心创新在于利用Transformer和注意力机制,从多相机图像中学习BEV特征表示。
BEV特征是连接时间和空间的理想桥梁,这也是自动驾驶任务中使用BEV特征执行感知任务的另一个动机。对于人类的视觉感知系统而言,时间信息在推理物体的运动状态和识别被遮挡的物体方面起着至关重要的作用。受递归神经网络(RNN)的启发,作者利用BEV特征递归地传递从过去到现在的时间信息。
方法
BEVFormer整体结构如下图所示,共有六层编码器,与传统Transformer结构不同,这里新引入了BEV查询向量、空间交叉注意力和时间自注意力。
BEV查询向量
作者首先预定义了一组网格型可学习的参数Q∈RH×W×C作为BEVFormer的查询向量,其中H,W为BEV平面的空间形状。位于Q中p=(x,y)的查询向量Qp∈R1×C负责表示BEV平面中相应的网格单元区域。
空间交叉注意力
空间交叉注意力的计算过程如下图所示:
首先将BEV平面上的每个查询提升为柱状查询,从柱状查询中采样Nref个3D参考点,之后将这些点投影到2D视图中。对于一个BEV查询,投影的2D点并不会落在(击中)所有视图上,这里我们称被击中的视图为Vhit,之后,我们将这些2D点作为查询向量Qp的参考点,并从这些参考点周围的命中视图Vhit中采样特征,最后,对所采样的特征进行加权求和(添加注意力权重),作为空间交叉注意力的输出。
时间自注意力
时间自注意力模块可以通过结合历史BEV特征来表示当前环境。给定一个在时间戳t下的BEV查询向量Q和在时间戳t-1下的历史BEV特征Bt-1,由于两个特征的时间戳不一致,车体的位置可能会发生变化,因此对应的BEV鸟瞰图也不一定致,对此,首先根据车体的运动将Bt-1与Q对齐,使得同一网格可以对应现实世界相同的位置。
BEV特征的应用
BEV特征Bt是一个通用的2D特征图,可以应用于3D目标检测和地图分割等任务。对于3D目标检测,作者基于2D检测器Deformable DETR设计了一款端到端的三维检测头;对于地图分割,作者基于2D分割算法Panoptic SegFormer设计了一个地图分割头。
实验
在nuScenes数据集上的实验结果表明,BEVFormer在3D目标检测和地图分割任务上都取得了显著的性能提升。特别是引入时间自注意力模块后,算法可以很好地检测遮挡较大的物体。
总结
BEVFormer通过创新性地引入空间交叉注意力和时间自注意力模块,实现了从多相机图像到BEV特征的高效转换。该算法在nuScenes数据集上取得了显著的性能提升,证明了使用多摄像头输入的时空信息可以显著提高视觉感知模型的性能。