0. 简介

局部的高精地图现在在自驾领域越来越受到关注,鸟瞰图(BEV)感知模型可以用于通过更少的人力构建高精度地图(HD-Maps)。虽然在线的局部地图推算是非常有必要的,但是它们的结果通常不可靠,并且表明从不同视角预测的高精度地图存在明显的不一致性。这是因为BEV感知通常是以“车载”方式设置的,其计算资源有限,这阻碍了算法同时推断多个视图。《MV-Map: Offboard HD-Map Generation with Multi-view Consistency》通过一种更实用的“非车载”高精度地图生成方式,以消除计算限制。为此,本文提出一种新型的非车载流程,称为MV-Map,其利用了多视图一致性,并且可以通过“区域-中心”框架的关键设计来处理任意数量的图像帧。在MV-Map中,目标高精度地图是通过融合车载预测的所有帧来创建的,这些预测通过“不确定性网络”分配的置信度分数进行加权。为了进一步增强多视图一致性,文中通过体素神经辐射场(Voxel-NeRF)优化的全局三维结构来增强不确定性网络。相关的代码已经在github上开源了。

1. 主要贡献

高清地图(HD-Maps)在确保自动驾驶车辆安全导航方面起着至关重要的作用,通过提供关于道路要素的位置和语义信息。理想情况下,我们希望构建高清地图的过程就像在驾驶时收集大量传感数据,然后利用自动算法提取道路要素一样简单,如图1所示。然而,主流解决方案通常涉及人工标注员,就像广泛使用的数据集[3, 4, 9, 44]中所见。这种设计考虑到了基础设施的作用和高可重复性的HD-Maps,一次构建后可以为自动驾驶车辆提供几乎无限次的服务。即便如此,手动注释的费用阻碍了自动驾驶在新地点的扩展,我们的目标是开发可靠的算法,以减少或替代在构建HD-Map时对人工劳动的需求。

图1:当前的车载方法生成的高精度地图预测不可靠,因为在多个视角下由于遮挡或视角变化而不一致。相比之下,我们的离线流程构建了一个统一且多视角一致的高精度地图,其中车道更加清晰。我们的关键设计是一个以区域为中心的框架,为每个目标高精度地图区域聚合单帧信息。

通过将交叉视图一致性信息融入不确定性网络来进一步增强所有帧之间的一致性。我们的关键洞察是从多个视角学习一个连贯的三维结构,并将其作为不确定性网络的辅助输入。为此,我们利用了神经辐射场(NeRFs)[28],这是一种代表场景三维结构的最先进方法。如图2所示,我们的NeRF模型合成了高质量的场景结构。与其他三维重建策略(例如,COLMAP [39]的运行时间与帧数呈线性增长,而COLMAP的增长是二次的。此外,NeRF是完全自监督的,不需要额外的注释,不像MVSNet [48]这样的多视图立体方法。为了进一步提高NeRF的可扩展性,我们利用体素化的NeRF变体来提高效率,并提出了隐式引导NeRF集中在与HD-Map生成相关的近地几何上的损失函数。此外,我们强调了NeRF对任意数量视图的灵活性和可扩展性,使其在离线HD-Map生成中至关重要。

图2:我们的体素-NeRF重建了场景的高质量3D结构。与渲染结果一样,车道和人行横道(突出显示)清晰可见

本文的贡献总结如下:

1)本文是首个研究如何非车载生成高精度地图问题的研究,据我们所知,也是首个面向视觉的非车载研究;

2)本文提出了一种有效的区域-中心框架MV-Map,该框架可以从任意大量的图像帧中生成多视图一致的高精度地图;

3)本文引入并且扩展了Voxel-NeRF,以在高精度地图生成任务中从所有图像帧对三维结构进行编码,进一步引导多视图一致性融合。

2. 离线高精地图生成

给定一系列传感器数据,高清地图生成的目标是预测BEV空间中道路元素的位置和语义,包括道路分隔线、道路边界和人行横道。

2.1 问题陈述

我们将高清地图生成的输入定义为D = {(Ii, Pi)}^N_{t=1},其中I_i表示第i帧传感器数据,P_i是关联的传感器姿态集合,N数据库中表示由移动自车捕获的场景的多样视角的帧总数
输出表示为M = {M_i}^N_{i=1},其中M_i是第i附近自车的高清地图
根据HDMapNet [16]的定义,我们将M_i定义为BEV上的局部语义地图。需要注意的是,上述公式对传感器类型是不可知的。在主要论文中,我们主要关注以视觉为导向的高清地图生成,并在附录C中扩展到利用额外的LiDAR数据。具体而言,每个帧I_i包含K = 6个RGB图像{I_{i,j}}^K_{j=1}P_i = {P_{i,j}}^K_{j=1}包括相应相机的内外参数矩阵。

2.2 离线与在线设置

与传统的在线设置相比,我们的离线设置在速度和计算资源方面提供了更大的灵活性。在线高清地图生成算法通常受到效率要求的限制,不能在单次运行中使用所有N帧。相比之下,离线算法可以访问所有N帧,并且可以利用离线设置和丰富的计算资源生成更高质量的高清地图。

2.3 从帧中心到区域中心的设计

有不同的策略可以利用来自N帧的时间数据,类似于离线3D检测[36]。一种直接的解决方案是帧中心[36],在此我们简单地增加现有的在线高清地图构建方法的帧数,通常是BEV分割模型,并将其扩展到长序列。虽然之前的工作[16, 18]已经说明了更长时间范围的好处,但多帧BEV分割模型只能处理固定数量的输入帧,增加帧数需要线性增长的GPU容量。因此,简单地扩大现有在线模型的输入帧不是利用离线数据的有效方法,离线数据通常具有不同且较大的帧数。
为了克服帧中心设计的限制,我们提出了一种新颖的区域中心设计,它可以自适应地聚合每个高清地图区域中任意数量的可用帧的信息。我们的设计受到3D检测中的物体中心概念的启发,但扩展到高清地图构建任务。这样做可以实现从不同视角捕获的帧之间的共识。

3. 多视角地图(Multi-view Map)

3.1 概述

图3展示了我们的多视角地图(MV-Map)的整体框架。一个车载高清地图模型处理每一帧(I_i,P_i),并生成其对应的BEV特征图F_i和高清地图语义S_i(第3.1节)。然后,一个不确定性网络评估每个区域在高清地图上的单帧信息F_i的可靠性(第3.2节)。同时,一个体素化的NeRF f_{NeRF}从所有N帧中优化全局3D结构,并向不确定性网络提供多视角一致性信息(第3.3节)。高清地图上每个区域的最终预测是通过对单帧语义S_i进行加权平均得到的,这使得可以处理任意数量的帧。

图3:MV-Map的离线流程。给定任意数量的输入帧,MV-Map首先利用现成的机载模型为每个帧生成BEV特征和语义地图。然后,一个不确定性网络预测它们对应的置信度地图,并引导区域中心聚合一个统一的高清地图。我们的流程进一步开发了一个针对HD-Map相关的3D结构定制的Voxel-NeRF,以增强我们的流程与多视角几何相结合。

3.2 机载模型

机载模型是我们流程的入口点。大多数现有的高精度地图生成方法都采用编码器-解码器设计。编码器根据输入(I_i,P_i)生成BEV特征图F_i,表示为Encoder(I_i,P_i)→F_i,解码器将特征图Fi转换为语义地图S_i,表示为Decoder(F_i)→S_i
由于我们的流程只需要BEV特征图F_i 来激活后续模块,MV-Map对特定的编码器-解码器设计不加限制。为了不失一般性,我们主要采用SimpleBEV [12]中的编码器,并使用轻量级卷积解码器。

3.2.1 编码器

对于每一帧,卷积主干首先将其K个图像{I_{i,j}}^K_{j=1}转换为2D图像特征图{F^{2D}_{i,j}}^K_{j=1}。然后,通过编码器预定义的一组以自车为中心的形状为X×Y×Z的体素,将特征提升到3D世界中:基于它们在图像上的投影位置,对于每个体素,都会双线性采样2D特征,从而得到体素化的3D特征图F^{3D}_i。最后,将F^{3D}_i在Z轴上降维,得到形状为X×Y×C的BEV特征图F_i,其中C是特征维度。

3.2.2 解码器

我们的解码器是一个全卷积分割头,从F_i中的每个BEV网格预测语义的逻辑值。它将周围的高精度地图生成为形状为X×Y的语义分割结果S_i

3.2.3 区域中心扩展

我们的区域中心设计将每个BEV网格视为一个高精度地图区域。如果一个网格在N’帧中被覆盖,它将接收来自不同视角的N’ 个特征和预测。然后,MV-Map将N’个视角特定的信息融合,为该区域创建一个多视角一致的特征,具体如下所述。

3.3 全局聚合通过不确定性网络

区域中心的不确定性感知融合。我们的区域中心离线流程学习将独立的N帧HD-Map预测{S_i}^N_{i=1}聚合成每个区域的多视角一致预测。我们的关键设计是引入一个不确定性网络。对于所有视点的HD-Map预测,不确定性网络为每个BEV网格分配一个置信度分数,从而得到反映视点对HD-Map区域贡献N×X×Y分数。具体而言,不确定性网络以BEV特征{F_i}^N_{i=1}为输入,生成置信度图{C_i} ^N_{i=1},其中C_i的形状为X×Y。在第3.3节中,我们将描述如何进一步将由Voxel-NeRF编码的全局几何信息纳入不确定性网络中。
然后,我们将每帧的语义和置信度聚合成最终的HD-Map。假设在世界坐标系中指定了一个任意的目标位置(x^w, y^w),我们将其转换为每个帧的局部坐标系,使用姿态{P_i}^N_{i=1},并在相应位置采样语义地图和置信度分数。最后,根据置信度,通过加权平均计算出(x^w, y^w)的预测结果。
增强不确定性学习的KL散度损失。除了生成置信度分数,我们在不确定性网络中添加了一个多层感知器(MLP)头部,用于推断预测和真实语义之间的KL散度。在训练过程中,通过鼓励推断的散度KL^U接近真实散度KL^G,从而增强语义S_iS_i’的真实语义之间的一致性。形式上,我们定义KL散度损失如下:

我们明确区分可靠的预测和不可靠的预测。
我们使用交叉熵损失函数训练不确定性网络,该损失函数计算融合结果与每个位置(x^w,y^w)上的真实语义之间的差异[16],同时还使用了方程1中的辅助损失。由于加权平均操作是可微分的,梯度可以反向传播到置信度分数,以更新不确定性网络。

3.4 多视角一致性的体素-NeRF

MV-Map进一步利用体素化的NeRF有效地构建了从N帧中的场景的统一的3D结构,该结构与不确定性网络相结合,以改善HD-Maps的多视角一致性。

3.4.1 交通场景的体素-NeRF

NeRF [28]将3D场景表示为连续函数f_{NeRF}:(x, θ) → (c, σ),它将3D空间中的每个点x映射到其颜色c和密度σ,相对于观察方向θ。通过在神经渲染过程中明确编码相机投影,学习的NeRF模型f_{NeRF}编码了对应场景的3D几何形状。尽管普通的NeRF取得了成功,但将其应用于自动驾驶数据集面临着重大挑战,因为场景的无界性和涉及的大量数据(例如,nuScenes上的850个场景)。因此,我们引入了基于DVGO [41]的体素化NeRF,以提高训练速度和可扩展性。我们的体素-NeRF捕捉了室外场景的多视角一致几何形状,而不是传统NeRF中的小物体。为了实现这一点,我们使用形状为X_s × Y_s × Z_s的体素网格来覆盖整个场景,该网格比用于单帧区域的机载模型中的X × Y × Z更大。对于每个相机射线,体素-NeRF中的神经渲染操作同时查询射线相交的每个体素。这种并发查询体素的方式显著加速了我们的体素-NeRF的训练,在nuScenes中任何场景的训练时间从几小时缩短到几分钟,为MV-Map提供了合理的计算预算。

3.4.2 增强不确定性网络

从概念上讲,当预测的语义位于物体表面时,其在位置上更可靠。一旦NeRF生成了多视角一致的结构,我们可以计算每个体素中心与其最近表面之间的距离。这样的线索可以用来评估语义地图的可靠性。为此,在BEV上的任意(x, y)位置,我们首先恢复所有体素中心在BEV坐标(x, y)处的位置,表示为L_{Voxel} ={(x, y, z_i)}^Z_{i=1},然后计算它们在图像上的对应像素位置,表示为L_{Image} ={(x^p_i, y^p_i)}^Z_{i=1}。通过沿着穿过这些像素的相机光线进行体积渲染2,fNeRF重建这些像素的3D位置,表示为L_{NeRF} ={(x^R_i, y^R_i, z^R_i)}^Z_{i=1},通常是它们的相机光线与表面的交点。通过计算∆L_{N/V} ={(x^R_i−x, y^R_i−y, z^R_i−z_i)}^Z_{i=1},我们评估体素中心与全局3D结构之间的一致性。最后,我们在∆L_{N/V}上使用一个多层感知机(MLP),并将其输出与BEV特征连接起来,然后将其作为增强输入传递给不确定性网络。

3.4.3 将NeRF用于高清地图生成,并采用总方差损失进行优化

请注意,我们的目标是促进高清地图的生成,而不是优化渲染质量。由于大部分高清地图元素位于地面上,我们修改了NeRF,使其在空中像素质量上的关注度降低。为此,我们引入了一个简单而有效的“总方差损失”,以隐式地指导近地面几何的优化。这个总方差损失LTV是通过在每个BEV位置累积总方差TV(·)得到的:

这里的总方差TV(·)被定义为沿Z轴的占据差异的L2范数,即

其中,O[x, y, z]表示由NeRF预测的体素(x, y, z)的密度,|| · ||_2表示L2范数。我们强调方程2中的“负”符号,它表示“最大化”方差,因为准确的地面平面在Z轴上具有峰值的体素占用分布,而不是均匀分布。TV-loss使得Voxel-NeRF能够将更大的密度分配给地面平面而不是瞬态物体,从而产生如图2所示的高质量3D结构。

4. 参考链接

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