
查看论文原文的话可以点开代码地址,里头有中文版的论文
BEVFormer 是ECCV 2022的一篇论文。本文提出了一个采用纯视觉做感知任务的算法模型 BEVFormer。BEVFormer通过预定义的网格状BEV query与 spatial 和 temporal 进行交互,从而利用空间和时间信息。为了聚合空间信息,本文设计了空间交叉注意力机制,使每个BEV query都能从跨摄像机视图的感兴趣区域中提取空间特征。对于时间信息,则提出了时间自注意力机制,以循环融合历史BEV信息。并通过提取环视相机采集到的图像特征,将特征通过模型学习的方式转换到 BEV 空间,从而实现 3D目标检测和地图分割任务,并取得了当时SOTA 的效果。
BEVFormer 的Pipeline 大致分成一下几个部分:
- Backbone + Neck (ResNet-101-DCN+ FPN)提取(预设6个相机,可以通过算法实现任意相机个数)环视图像的多尺度特征;
- 论文提出的 Encoder 模块(包括Temporal Self-Attention模块和Spatial Cross-Attention模块)完成环视图像特征向 BEV 特征的建模;
- Deformable DETR的 Decoder 模块完成 3D 目标检测的分类和定位任务;
- 正负样本的定义(采用DETR系列中常用的匈牙利匹配算法,Focal Loss + L1 Loss 的总损失和最小);
- 损失的计算(Focal Loss 分类损失 + L1 Loss 回归损失);
- 反向传播,更新网络模型参数;
根据算法的pipeline来拆解
1、Backbone + Neck
就是使用resnet101+FPN的结构,这部分想必搞图像的基本都懂,就不展开了,提一嘴算法在图像上的增强操作GridMask,实际就是在图像上生成网格状掩码,遮住原图上的部分区域。
具体如下:

实际操作就是将上图黑色块区域的tensor置0
2、BEV feature
BEVFormer显性定义BEV,BEV Queries就是其中的显性BEV features。细说一下bev平面,bev感知空间
a. BEV 平面
BEV平面()是以自车为中心的栅格化二维平面,H、W是BEV平面在x、y方向的栅格尺寸,能显性地将车辆周围横、纵向物理空间关联,一个栅格表示物理空间的距离以米为单位,论文中把BEV平面中的栅格叫做2D参考点(2D reference points)。以nuScenes数据集为例,栅格尺寸200x200,对应[-51.2米, 51.2米],两个栅格之间所表示的物理距离就是0.512米。
2D参考点主要用在bev query做Temporal Self-Attention过程中。
b.BEV 感知空间
BEV感知空间( )把BEV平面在z轴方向选取Z个3D参考点进行扩展,表示车辆周围有限3d空间。BEV感知空间的精确表示范围:在nuScenes数据集中,是以Lidar作为中心点,前后各51.2m、左右各51.2m、向上3m、向下5m的矩形空间。nuScenes数据集中Lidar距地面高约1.84m,[-5m, 3m]的设置让BEV Queries感知空间在自车轮胎接地点平面以上部分约4.84m,接地点平面以下部分约3.16m。前者确保不仅能感知高大目标物,如货车等,还能感知覆盖坡度9.5%(4.84m/51.2m*10

3609

被折叠的 条评论
为什么被折叠?



