MatrixVT:Efficient Multi-Camera to BEV Transformation for 3D Perception——论文笔记
参考代码:BEVDepth
1. 概述
介绍:本文对LSS方法中的瓶颈问题进行了深入分析。研究发现,在该算法中存在两个关键瓶颈:一是"lift"操作会导致高维度特征占用大量显存资源;二是"splat"操作中的求和运算导致运行时间过长。为了优化现有技术,在原有LSS方法的基础上提出了改进方案,并在此基础上开发出一种高效BEV(Bird's Eye View)特征生成算法MatrixVT。通过将FOV(Front-Over-View)到BEV的变化可以用矩阵变换来描述这一过程变得更为系统化,并在此基础上以相机为原点构建了独特的几何编码机制:首先将空间分解为与相机距离相关的ring矩阵以及与相机视线方向相关的ray矩阵;随后通过引入先验几何编码降低了模型的学习难度。此外,在分析图像深度信息在特征图WH两个维度上的分布特性后发现W维度所包含的信息量更大;因此在后续处理中去除了H维度的相关特征从而进一步降低了计算开销。实验结果表明新算法相较于传统LSS方法实现了2~8倍的速度提升并且显著减少了97%的显存占用。
对于原本的LSS方法其流程可概括为下图所示:

在上图中对'lift'和'splat'操作的实施均表现出较高的资源消耗特征。对此而言,则是首先对图像特征沿着H维度进行压缩处理。随后通过环矩阵和射线矩阵来完成几何信息编码工作。值得注意的是,在此过程中还可以进一步减少计算资源消耗量。其整体架构配置请参见下图详述。

将这篇文章提到的方法与其它方法在耗时与显存消耗上的比较与分析:

2. 方法设计
2.1 方法pipeline
文章提出的BEV特征生成pipeline见下图所示:

结合上图可将生成BEV特征的的流程划分为:
- 
- 图像的特征在H维域内进行融合,在W维域具有更为丰富的表现能力的基础上,在H维域内完成融合操作从而降低了计算负担。
 
- 
- 在完成H维融合后,图像的空间上下文特性和深度特性(无论是有监督还是无监督的情况)通过外积的方式进行结合,并通过矩阵变换实现从FOV到BEV的转换过程,在这一过程中充分运用了空间几何信息来构建与距离及方向相关的ring矩阵以及ray矩阵。
 
 
 
2.2 Prime Extraction Module
基於LSS的方法通常会生成兩個特徵:F\in R^{N_c\times H_I\times W_I\times C}和D\in R^{N_c\times H_I\times W_I\times N_d}, 分别代表图像上下文特徵和深度特徵。随后通过外积运算得到一个高维的特征聚合 F_{inter}\in R^{N_c\times H_I\times W_I\times D\times C}, 也就是所谓的"lift"操作。为了减少这一步骤中的显存消耗, 本文對H維度的特徵進行消除, 其根據是H維度的特徵數量少於W維度的數量, 如下圖所示

对此分别在图像和深度特征上对H维度进行压缩,其采用的结构见下图:

其中对于图像维度是通过maxpool来实现的:

对于上述的过程其中的位置编码、maxpool等操作的消融实验见下表:

2.3 FOV到BEV的转换矩阵
在对H维度进行压缩之后得到得到包含深度和上下文的新特征F_{inter}^{w}\in R^{N_c*W_I*N_d*C},那么要将其转换到BEV特征下则需要的转换矩阵为M_{FT}\in R^{W_I*N_d*W_B*H_B},这步对应原版LSS方法中的“splat”操作。但是直接对上述的矩阵进行乘法操作,一是会增加学习的难度,而是计算量也会比较大。对此文章设计了ring matrix(M_{ray}\in R^{W_I*(W_B*H_B)})和ray matrix(M_{ray}\in R^{N_d*(W_B*H_B)}),那么对应的变换矩阵就可通过分解计算量得到较大减少。则从FOV到BEV的特征转换可以被描述为:
F_{BEV}=\sum_w[M_{ray}\odot(M_{ring}\cdot F_{inter}^{w})]^{*w}
则将上述的变换关系与之前的“lift”过程联系起来,可以对其进行等价转换:
F_{BEV}=(M_{ray}\odot(M_{ring}\cdot D))\cdot F
3. 实验结果
nuScenes val上的检测性能:

分割性能比较:

Prime Extraction模块对性能和显存消耗的影响:

