Efficient and Robust 2D-to-BEV Representation Learning via Geometry-guided Kernel Transformer(GKT)论文

发布于:2023-01-24 ⋅ 阅读:(12) ⋅ 点赞:(0) ⋅ 评论:(0)

Efficient and Robust 2D-to-BEV Representation Learning via Geometry-guided Kernel Transformer 论文笔记

原文链接:https://arxiv.org/abs/2206.04584

1.引言

        根据将图像特征转换到BEV特征时是否显式地使用几何信息,目前的方法可分为基于几何的逐点变换和无需几何的全局变换。

        前者(左图)使用相机校准后的内外参来建立图像像素到BEV网格的对应关系。但该方法依赖过多校准数据,实际中相机可能偏移校准位置,导致对应关系不稳定;此外,往往需要复杂而耗时的操作如密集的深度分布估计、特征沿射线传播到BEV空间等等。

        后者(右图)拉长图像特征,每个BEV网格与所有图像特征进行交互。该方法视图转换不需要几何先验,因此对相机偏移不敏感。但该方法计算复杂度与图像像素数正相关,存在效率和分辨率的矛盾;由于无几何先验指导,模型需要从所有视图中挖掘有判别力的信息,使得收敛困难。

        本文提出几何指导的核Transformer(GKT),使用相机参数作为指导而不过多地依赖。发生相机偏移时,相应的核区域也会移动,但也能覆盖目标,使得该方法对相机偏移不敏感。核区域的注意力权重根据偏移动态生成。

        GKT使用查找表索引,摆脱了逐点变换中的2D-3D映射操作,提高运行效率。与全局变换相比,GKT无需全局交互,仅关注由几何指导的核区域,有更快的运行速度和收敛速度。因此GKT平衡了逐点变换与全局变换。

2.方法

2.1 几何指导的核Transformer

        上图为GKT的框架。其中多视图图像通过共享的CNN主干提取多尺度特征。BEV空间的每个网格对应一个3D坐标P_i=(x_i,y_i.z)和一个查询嵌入q_i,其中z是所有网格共享的预定义高度。将Pi通过相机内外参粗略地投影到图像坐标并取整,用于指导transformer关注相应区域:

Q_i^{sv}=K^{sv}\cdot Rt^{sv}\cdot P^{sv}_i;\;\; \; \bar{Q}_i^{sv}=\texttt{round}(Q^{sv}_i)

其中s索引特征尺度,v索引视图。

        然后在\bar{Q}^{sv}_i附近考虑K_h\times K_w的核区域,每个查询q_i与每个视图、每个尺度的相应核区域内所有特征交互(超出图像范围的部分特征设为0)。

2.2 对相机偏移的鲁棒性

        将相机偏移分解为旋转偏移和平移偏移。其中平移偏移为

T_{devi}=\begin{bmatrix} 1 & 0 & 0 & \Delta x\\ 0 & 1 & 0 & \Delta y\\ 0 & 0 & 1 & \Delta z\\ 0 & 0 & 0 & 1 \end{bmatrix}

旋转偏移为

R_{devi}=R_{\theta_x}\cdot R_{\theta_y}\cdot R_{\theta_z}

其中

R_{\theta_x}=\begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & \cos(\theta_x) & \sin(\theta_x) & 0\\ 0 & -\sin(\theta_x) & \cos(\theta_x) & 0\\ 0 & 0 & 0 & 1 \end{bmatrix}

R_{\theta_y}=\begin{bmatrix} \cos(\theta_y) & 0 & -\sin(\theta_y) & 0\\ 0 & 1 & 0 & 0\\ \sin(\theta_y) & 0 & \cos(\theta_y) & 0\\ 0 & 0 & 0 & 1 \end{bmatrix}

R_{\theta_z}=\begin{bmatrix} \cos(\theta_z) & \sin(\theta_z) & 0 & 0\\ -\sin(\theta_z) & \cos(\theta_z) & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{bmatrix}

噪声随机变量\Delta x,\Delta y,\Delta z,\theta_x,\theta_y,\theta_z满足

\Delta x,\Delta y,\Delta z\sim N(0,\sigma_1^2);\; \; \; \theta_x,\theta_y,\theta_z\sim N(0,\sigma^2_2)

加入偏移噪声后,上节中的公式变为

Q_i^{sv}=K^{sv}\cdot R_{devi}\cdot T_{devi}\cdot Rt^{sv} \cdot P^{sv}_i

        由于取整操作是抗噪声的,因此微小偏移不改变核区域;即使是稍大一点的偏移,核区域仍能覆盖目标,且注意力权重能根据偏移动态调节。

2.3 BEV到2D的查找表索引

        每个BEV网格对应的核区域是固定的,可离线计算。则运行前将每个BEV网格对应的像素索引存储在查找表中,运行时可以直接高效地查找相应位置的特征。

2.4 核的配置

        可以灵活配置核的大小以平衡感受野和计算耗费;由于查找表索引,核的布局也可任意选取(如交叉形状的核、膨胀核等)。

3.实验

        实施细节:预设的BEV网格分辨率较低,分割前通过上采样和卷积块得到高分辨率BEV网格,用于地图分割。

        主要结果:本文的方法在所有实时方法中速度最快且性能最好,尽管远达不到实时的BEVFormer有更好的性能。

        对相机偏移的鲁棒性:实验检验了不同噪声方差下的性能下降,发现在一定噪声下GKT能保持相当的性能。且发现更大的核鲁棒性更强,且竖直方向上的长度影响更大。这可能是因为BEV网格的z是预定义的,有更大的不确定性。

        在无噪声时,GKT使用的核为竖直核(水平宽度为1),能达到最好的性能。

        对BEV高度的鲁棒性:由于GKT仅使用了粗糙的投影,因此对预设的z值不敏感。

        收敛速度:几何先验的引入使得GKT的收敛速度比CVT(使用全局变换的方法)快,且能在短时间训练下达到更好的效果。

        GKT的不同实施比较

  1. Im2col:将图像分割为列,每一列代表一个核区域,为BEV查询选择相应的核区域。该方法需要大量存储空间。
  2. 网格采样:对核区域所有特征采样并拼接。
  3. 查找表索引:如前文所述。

        推断速度上,查找表索引方法最快。