0. 简介

高效的重定位对于GPS信号不佳或基于传感器的定位失败的智能车辆至关重要。最近,Bird’s-Eye-View (BEV) 分割的进展使得能够准确地估计局部场景的外观,从而有利于车辆的重定位。然而,BEV方法的一个缺点是利用几何约束需要大量的计算。本文《U-BEV: Height-aware Bird’s-Eye-View Segmentation and Neural Map-based Relocalization》提出了U-BEV,一种受U-Net启发的架构,通过在拉平BEV特征之前对多个高度层进行推理,扩展了当前的最先进水平。我们证明了这种扩展可以提高U-BEV的性能高达4.11%的IoU。此外,我们将编码的神经BEV与可微分的模板匹配器相结合,在神经SD地图数据集上执行重定位。所提出的模型可以完全端到端地进行训练,并在nuScenes数据集上优于具有相似计算复杂度的基于Transformer的BEV方法1.7到2.8%的mIoU,以及基于BEV的重定位超过26%的召回率。

图1:U-BEV提出了一种新颖的BEV表示方法,通过环视图像实现在SD地图数据中高效的神经定位。

1. 主要贡献

在这项工作中,我们提出了一种新的方法来估计BEV(鸟瞰图),利用高度感知特征嵌入,使网络能够在深度维度上进行推理,而无需进行繁重的计算。基础架构受到了众所周知的U-Net结构的启发,并且由于整个模型中存在跳跃连接,可以保留细节。我们主张采用两步定位方法,自主代理首先在几米范围内全局估计其位置,然后依赖于局部方法获得应用所需的精度。因此,我们利用轻量级的标准定义(SD)地图数据,并旨在实现一次性重定位精度在10米以下。在这项工作中,我们将BEV表示与深度模板匹配器相结合,后者是端到端可训练的,用于实时重定位。定位架构可以通过将BEV方法和相应的地图数据编码为神经表示来处理任意BEV方法。这项工作将U-BEV与重定位模块相结合,优于nuScenes数据集上其他BEV方法和当代基于BEV的定位,其在10米处的召回准确度提高了26.4%。总之,本文提出了以下贡献:

  1. 一种新的轻量级U-BEV架构,其在几何上受到限制,并利用地面点的高度而不是它们相对于摄像机的深度。
  2. 一种端到端可训练的实时全局定位算法,用于神经BEV和神经编码的SD地图之间的定位。
  3. 在nuScenes数据集上改进了BEV(IoU提高了1.7到2.8)和定位性能(在10米处的召回准确度提高了26.4%)。

2. 方法

提议的完整算法在SD地图中定位一组环视图像。它从环视图像生成局部BEV表示,并从SD地图瓦片中生成神经地图编码,给定来自车载传感器(例如嘈杂的GPS信号和指南针)的粗略3D位置先验ξ_{init} = (x_{init}, y_{init}, ϕ_{init})。然后,深度模板匹配器将局部神经BEV滑动到全局神经地图上,生成相似度图。定位最终通过返回相似度图的Soft-Argmax完成。我们的方法概述如图2所示。

图2:U-BEV神经重定位模型概述。U-BEV从一组周围摄像头中预测局部BEV。预训练的编码器从中提取特征,生成神经BEV(左侧)。地图编码器根据位置先验ξ_{init}(右侧)从裁剪的全局SD地图中提取特征,构建神经地图表示。深度模板匹配模块(QATM)计算最佳匹配位置(中间)。

3. 鸟瞰图重建

我们提出了一种新颖的轻量级且准确的BEV架构,用于从一组环视图像中重建车辆周围的环境。我们的模型称为U-BEV,受到计算机视觉分割任务中广泛使用的U-Net [36]架构的启发。概述如图4所示。
给定一组6张图像及其内在和外在校准,我们预测一个BEV B ∈ \mathbb{R}^{S×S×N},其中S是BEV的像素大小,N是地图中可用标签的数量。我们使用后轮轴的中心作为原点,遵循nuScenes数据集中的惯例[37]。

3.1 特征提取

我们从所有6张图像中以不同分辨率提取特征,使用轻量级预训练的EfficientNet [38]骨干网络,这是较小模型中常见的方法[10],[11]。具体来说,我们以步幅×2、×4、×8、×16提取特征,并出于计算原因舍弃最后一个步幅。提取的特征在整个架构中用作跳跃连接(图4中的蓝色框)。

图4:U-BEV模型的架构。 (a) 预训练的骨干网络(蓝色部分)从车辆周围的6个摄像头中提取特征。第一个解码器(橙色部分)预测每个输入图像上每个像素的高度。这个高度用于将每个摄像头投影到单个BEV(绿色部分)的3D空间中。更深层的特征被投影到分辨率较低的BEV中,然后以编码器-解码器的方式进行跳跃连接(黄色部分)进行上采样。 (b) 说明了从环视图像和高度到不同BEV层的投影操作。

3.2 高度预测

U-BEV的一个关键贡献是对三维空间中的地面高度进行估计。我们利用提取的特征和轻量级解码器[39]来预测高度,执行像素级的操作(图4中的橙色部分)。与BEV文献中普遍做法相反,我们认为每个观测像素的高度是更有效的表示方式,而不是隐式或显式地预测深度。这一观点的动机在于观察到,在驾驶应用中需要在xy地面平面上具有高分辨率,而垂直轴可以更粗略地离散化。此外,如图3所示,深度通常分布在较长的范围内,例如[0-50]米,这需要大量的离散化间隔。高度可以在较低范围内有意义地离散化,例如[0-5]米,以解释周围环境。较少的区间数量直接影响整个模型:它显著降低了投影的复杂性,这可能会变得缓慢和低效,正如[4]所示(在我们的情况下×20),同时也降低了内存占用。最后,最相关的信息,即道路表面、标线、路缘等,都包含在该范围的较低部分。

图3:在nuScenes上,当将LiDAR读数重新投影到图像平面时,以车辆车架离地高度和相机距离的方式进行分布。

因此,我们将高度预测任务设置为一个分类问题,仅使用b = [-0.5, 0, 0.5, 1, 2, 3]作为分箱。更详细地说,我们的解码器输出一个预测H ∈ \mathbb{R}^{H×W×6},其中H、W是输入图像的形状。某一像素在索引(i, j)处的实际高度预测Ψ_h(i, j)可以通过以下方式获得:

我们利用这个离散化的高度预测来根据落入该区间的可能性对每个特征进行加权。

3.3 投影

我们在更粗糙的BEV中投影更深、分辨率更低的特征,而在更高分辨率的BEV中投影更早、分辨率更高的特征。这使我们能够以经典的编码器-解码器方式对BEV进行放大,其中更详细的BEV充当跳跃连接(图4中的绿色部分)。我们应用修改后的逆投影映射(IPM)将特征从图像坐标滚动到BEV坐标(见图4b)。为了将每个特征f ∈ \mathbb{R}^C从像素(u, v)投影出来,我们使用已知的外部投影矩阵P ∈ \mathbb{R}^{3×4}和相机的内部参数K ∈ \mathbb{R}^{3×3}。为了在高度h处进行投影,我们利用高度变换的矩阵形式T_h ∈ \mathbb{R}^{4×4}将参考系统提升到所需的高度,并在z = 0处执行标准的IPM。

IPM的公式将这些变量联系起来。

这种公式方便地允许去掉K·P·T矩阵的第三列,这样我们就可以对其进行反转并解出x、y。这个操作可以在GPU上并行化处理所有特征,并应用于所有高度,从而得到一个占据体积。

3.4 BEV解码

最后,我们使用两个卷积层对每个BEV的高度维度进行压缩。通过保持分辨率和通道的比例恒定,我们可以将它们插入到具有跳跃连接的经典解码器风格中,得到最终的BEV输出(图4中的黄色部分)。

4. 地图编码

地图以栅格化的布尔N通道离散表面的形式传入我们的系统,其中N是类别的数量,即每个语义类别被分配一个单独的通道。在多边形表示的情况下,如在自动驾驶中常见的SD地图中,我们通过将每个类别的多边形栅格化为通道来预处理地图。

5. 定位

为了进行定位,我们利用周围环境的本地BEV B和全局地图M_{loc}的地图瓦片,该地图瓦片在给定粗略位置先验ξ_{init}的情况下被裁剪为M_{toc} \in R^{L×L×N}。鉴于所提出的U-BEV模型可以按比例重建BEV与地图瓦片,定位是通过模板匹配实现的。为了补偿本地BEV重建的不完美,定位模块从地图瓦片和本地BEV中提取神经表示,并根据[40]构建了一个概率地图M_{prob} ∈ \mathbb{R}^{L×L}覆盖在地图瓦片上。
在特征空间中匹配神经BEV预测和神经地图可以使定位模块对本地BEV中可能由于遮挡或感知退化(例如,缺乏照明或恶劣天气)而产生的错误和不完美具有鲁棒性,但会以分辨率为代价。
我们应用softmax函数\tilde{M} = softmax_{2D}(M_{prob})作为我们的概率分布。通过在x和y方向上执行软argmax [41]来提取预测。

6. 参考链接

https://mp.weixin.qq.com/s/IoAA1dZluoyrjOseVv0lTg