【BEV-former简读】

在这里插入图片描述
paper: http://arxiv.org/abs/2203.17270
git: https://github.com/fundamentalvision/BEVFormer

三个部分: back-bone(ResNet-101), spatial cross-attention module, temporal self-attention module

BEV query (BEV查询向量)

一组栅格状的可学习参数 Q(H,W,C)作为BEVFormer的查询向量,其中H,W是BEV平面的空间尺度,位于p=(x,y)位置的Q(p)(1,c)负责查询对应在BEV平面的grid cell region 。每个BEV平面的grid cell对应实际世界坐标系的s米。BEV特征的中心就是自车的位置。遵循常规操作,在输入BEVFormer之前,Q中增加了可学习的位置特征编码。

Spatial Cross-Attention

计算N张camera视角图像之间的注意力的计算量非常大,所以基于deformable attention开发了spatial cross attention:每个BEV query只在多个摄像头视角下和关注的roi进行交互(提取注意力特征),作者对deformable attention从2D到3D场景的迁移做了改动。

首先将每个BEV query提升到一个柱状query,从柱状query采样N个3D 参考点,然后将这些点投影到2D视角。对于一个BEV query,投影的2D点只能落在一些camera view上,另外一些视角则没有。将命中的视角记为V(hit),将这些点N(ref)作为BEV query的参考点,围绕这些点从命中的视角中提取roi image feature。最后对多个roi image feature进行加权相加,作为spatial cross-attention的输出:
在这里插入图片描述

i为第i个摄像头视角,j为第j个3D参考点,N(ref)数每个BEV query的所有3D参考点数量。F(t,i)是第i个摄像头视角的特征。P(p,i,j)是一个投影函数,由第j个3D点(x',y',z'(j))投影到第i个摄像头的2D点。

P(p,i,j)如何得到?

根据对应Query在p=(x,y)计算得到世界坐标系下(x',y')
在这里插入图片描述

H,W是BEV query的空间尺度,s是BEV一个网格对应世界坐标系的尺度。在3D空间中,在(x',y')的目标会出现在z轴=z’的地方,所以作者还针对各个参考点预定义了一组候选高度{z'(j)},使得能够捕获不同高度的信息。通过这种方式,我们就能得到每个query对应的3D参考点集(x',y',z'(j)) (j属于第j个参考点)。最终,我们就可以将3D参考点投影到不同的摄像头视角,得到2D参考点(通过摄像头的投影矩阵):
在这里插入图片描述

P(p,i,j)即由第j个3D点(x',y',z'(j))投影到第i个摄像头的2D点,T(i)是第i个摄像头的投影矩阵

总结:世界坐标系下第j个3D点p(x,y) + 第i个摄像头的投影矩阵 → 第i个摄像头画面的第j个3D点的2D投影坐标,以此类推,能够找到Q(p=(x,y))包含多个z轴3D点在多个摄像头画面中的2D点的特征集合,然后做加权相加,来代表Q(p=(x,y))的特征

Temporal Self-Attention

除了空间注意力,时序注意力对强遮挡目标的感知也有所帮助

第t帧的BEV query和缓存的历史BEV query,根据自身运动将q(t-1)q(t)进行对齐,通过下面操作对不同时间的BEV feature构建联系

Q(p)为BEV平面p=(x,y)的query。不同于原始的deformable attention,通过融合QB'(t-1)也可以预测p的偏移量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值