图 1:我们提出了一个模型,该模型给定多视图相机数据(左侧),直接在鸟瞰视图(BEV)坐标系(右侧)中推断语义。我们展示了车辆分割(蓝色)、可行驶区域(橙色)和车道分割(绿色)。然后,这些BEV预测被投影回输入图像(左侧的点)。
论文地址:Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D
源代码:LSS
摘要
自动驾驶车辆的感知目标是从多个传感器中提取语义表示,并将这些表示融合到单一的“鸟瞰视图”坐标系中,供运动规划使用。我们提出了一种新的端到端架构,它可以直接从任意数量的相机图像数据中提取场景的鸟瞰视图表示。我们方法的核心思想是将每个图像单独“lift”到每个相机的特征锥体中,然后“splat”所有锥体到一个光栅化的鸟瞰视图网格中。通过在整个相机阵列上训练,我们提供了证据,表明我们的模型不仅能够学习如何表示图像,而且能够将所有相机的预测融合成一个单一的、凝聚的场景表示,同时对校准误差具有鲁棒性。在标准的鸟瞰视图任务,如对象分割和地图分割上,我们的模型超越了所有基线和先前的工作。为了追求学习用于运动规划的密集表示的目标,我们展示了我们的模型推断出的表示能够通过将模板轨迹“射击”到我们的网络输出的鸟瞰视图成本图中,实现可解释的端到端运动规划。我们的方法与使用来自激光雷达的预言深度的模型进行了基准测试。
1 导言
计算机视觉算法通常以图像作为输入,并输出与坐标框架无关的预测——比如在分类中[19,30,16,17]——或者输出与输入图像相同坐标框架中的预测——比如在目标检测、语义分割或全景分割中[7,1,15,36]。
图 2:(左图,来自 SegNet [1])传统上,像语义分割这样的计算机视觉任务涉及在与输入图像相同的坐标框架中进行预测。(右图,来自 Neural Motion Planner [41])相比之下,自动驾驶的规划通常在鸟瞰视图框架中进行。我们的模型直接在给定的鸟瞰视图框架中进行预测,以实现从多视图图像的端到端规划。
这种范式与开箱即用的自动驾驶设置不符。在自动驾驶中,输入是多个传感器,每个传感器都有不同的坐标框架,感知模型的最终任务是为下游规划器生成新坐标框架中的预测,如图2所示。
有许多简单实用的策略可以将单图像范式扩展到多视图设置。例如,在从n个相机进行3D目标检测的问题中,可以对所有输入图像分别应用单图像检测器,然后根据检测到对象的相机的内参和外参,将每个检测结果旋转和平移到自我车框架中。将单视图范式扩展到多视图设置中包含了三个宝贵的对称性:
平移等变性——如果图像内的像素坐标全部移动,输出也会移动相同的量。全卷积单图像目标检测器大致具有这个属性,多视图扩展从它们那里继承了这个属性[11][6]。
排列不变性——最终输出不依赖于n个相机的特定顺序。
自我框架的等距变换等变性——不管捕获图像的相机相对于自我车辆的位置如何,都会检测到相同的对象。等价地表述这个属性,即自我框架的定义可以被旋转/平移,输出也会随之旋转/平移。
上述简单方法的缺点是,使用单图像检测器的后处理检测结果阻止了从自我框架预测一直回溯到传感器输入的微分。因此,模型无法以数据驱动的方式学习跨相机融合信息的最佳方式。同时,这也意味着不能使用反向传播来自动改进感知系统,以获得来自下游规划器的反馈。 我们提出了一个名为“Lift-Splat”的模型,它通过设计保留了上述识别的3个对称性,同时也能端到端微分。在第3节中,我们解释了我们的模型如何通过生成针对每个相机的特征锥形点云来“提升”图像到3D,并将所有锥形“涂抹”到参考平面上,以便于下游的运动规划任务。在3.3节中,我们提出了一种将提议轨迹“射击”到这个参考平面上的方法,用于可解释的端到端运动规划。在第4节中,我们确定了在完整的相机阵列上高效训练Lift-Splat模型的实现细节。我们第5节中的实证证据表明,我们的模型学习了一种有效的机制,用于从分布的可能输入中融合信息。
2 相关工作
我们的从多相机图像数据学习统一表示的方法建立在最近在传感器融合和单目目标检测方面的工作基础之上。Nutonomy[2]、Lyft[13]、Waymo[35]和Argo[3]等大规模多模态数据集的出现,使得仅依赖相机输入对整个360°场景进行完整的表示学习成为可能。我们使用我们的Lift-Splat架构探索这种可能性。
2.1 单目目标检测
单目目标检测器的定义在于它们如何对从图像平面到给定三维参考框架的转换进行建模。一种标准技术是应用成熟的二维目标检测器在图像平面上,然后训练第二个网络将二维框回归到三维框[12,26,31,27]。目前在nuScenes基准测试[31]上的最先进的3D目标检测器使用一种架构,该架构训练一个标准的二维检测器也预测深度,使用一种损失函数来分离由于错误深度和错误边界框引起误差。这些方法因为在图像平面上的检测可以消除笼罩单目深度预测的基本歧义云而在3D目标检测基准测试上取得了很好的性能。
最近一种具有经验成功的方法是分别训练一个网络进行单目深度预测和另一个进行鸟瞰视图检测[39][40]。这些方法被称为“伪激光雷达”。伪激光雷达的直观经验成功原因是,它使得训练一个在最终评估检测的坐标系中运行的鸟瞰视图网络成为可能,相对于图像平面,欧几里得距离在这个坐标系中更有意义。
图 3: 我们可视化了我们模型的“lift”步骤。对于每个像素,我们预测一个深度上的分类分布 𝛼∈Δ𝐷−1(左侧)和一个上下文向量 𝑐∈𝑅𝐶(左上)。通过 𝛼 和 𝑐 的外积确定每个射线上的点的特征(右侧)。
第三类单目目标检测器使用基于它们在所有可用相机上的投影来获取特征的三维对象原语。Mono3D[4]通过在地面平面上生成三维提议并在可用图像上投影以获得评分,实现了KITTI上最先进的单目目标检测。Orthographic Feature Transform[29]在Mono3D的基础上构建,通过将一个固定的体素立方体投影到图像上收集特征,然后训练第二个“BEV”CNN以在体素中的特征为条件进行3D检测。这些模型的一个潜在的性能瓶颈是我们的模型所解决的,即一个像素为每个体素独立地贡献相同的特征,而不管该像素处对象的深度如何。
2.2 在鸟瞰视图框架中的推理
最近,使用外参和内参以直接在鸟瞰视图框架中执行推理的模型受到了大量关注。MonoLayout[21]从单个图像执行鸟瞰视图推理,并使用对抗性损失来鼓励模型绘制合理的隐藏对象。在同时进行的工作中,Pyramid Occupancy Networks[28]提出了一个转换器架构,将图像表示转换为鸟瞰视图表示。FISHING Net[9] - 也是同时进行的工作 - 提出了一个多视图架构,既可以在当前时间步分割对象,也可以进行未来预测。我们在第5节中展示了我们的模型在经验上优于先前的工作。这些架构以及我们的架构,都使用了类似于机器学习图形社区中的“多平面”图像的数据结构[34,32,38,20]。
3 方法
在本节中,我们介绍了从任意相机阵列捕获的图像数据中学习鸟瞰视图(BEV)场景表示的方法。我们设计的模型在设计上遵循了第1节中识别的对称性。
具体来说,我们给定了n张图像{Xk ∈ R3×H×W}n,每张图像都有一个外矩阵Ek ∈ R3×4和一个内矩阵Ik ∈ R3×3,我们的目标是找到一个在BEV坐标系下的栅格化场景表示y ∈ RC×X×Y。外矩阵和内矩阵共同定义了从参考坐标(x, y, z)到每个n相机的局部像素坐标(h, w, d)的映射。我们在训练或测试期间不需要访问任何深度传感器。
3.1 Lift: 潜在深度分布
我们的模型的第一阶段独立地对相机阵列中的每张图像进行操作。这一阶段的目的是将每张图像从局部的二维坐标系“提升”到一个所有相机共享的三维框架中。
单目传感器融合的挑战在于,我们需要深度信息来转换到参考框架坐标,但是与每个像素相关联的“深度”本质上是含糊不清的。我们提出的解决方案是为每个像素生成所有可能深度的表示。
设 X ∈ R(3×H×W)为具有外部矩阵 𝐸 和内部矩阵 𝐼的图像,设 𝑝 为图像中的像素,其图像坐标为 (ℎ,𝑤)。我们为每个像素关联 ∣𝐷∣ 个点 {(ℎ,𝑤,𝑑)∈𝑅3∣𝑑∈𝐷},其中 𝐷 是离散深度的集合,例如定义为 {𝑑0+Δ,...,𝑑0+∣𝐷∣Δ}。注意,这个转换中没有可学习参数。我们简单地为给定图像创建了一个大小为 𝐷⋅𝐻⋅𝑊的大型点云。这个结构等同于多视图合成社区所谓的多平面图像,只是在我们的案例中,每个平面上的特征是抽象向量而不是 (r, g, b, α) 值。每个点云中的点的上下文向量被参数化为匹配注意力和离散深度推断的概念。在像素 𝑝 处,网络预测上下文 𝑐∈𝑅𝐶 和每个像素的深度分布 𝛼∈Δ∣𝐷∣−1。然后,与点 𝑝𝑑相关联的特征 ![c_{d}](https://latex.csdn.net/eq?c_%7Bd%7D)∈![R^{C}](https://latex.csdn.net/eq?R%5E%7BC%7D)定义为像素 𝑝 的上下文向量 𝑐 乘以 𝛼d:
如果我们的网络预测 𝛼 的一个一位有效向量,那么在点 𝑝𝑑处的上下文将仅为单个深度 𝑑∗ 非零,如伪雷达 [39] 中所述。如果网络预测深度上的均匀分布,网络将预测与像素 𝑝分配给的每个点 𝑝𝑑 相同的表示,而不考虑深度,如 OFT [29] 中所述。因此,从理论上讲,我们的网络能够在将图像中的上下文放置在鸟瞰图表示的特定位置与将上下文分散在整个空间射线上之间做出选择,例如,如果深度是模糊的。总之,我们希望为每张图像生成一个函数 𝑔𝑐:(𝑥,𝑦,𝑧)∈𝑅3→𝑐∈𝑅𝐶,可以在任何空间位置查询并返回上下文向量。为了利用离散卷积,我们选择将空间离散化。对于相机,相机可见空间的体积对应于一个棱锥体。图 3 提供了可视化。
3.2 Splat:柱池化
我们遵循PointPillars[18]架构来转换“提升”步骤输出的大点云。“柱子”是具有无限高度的体素。我们为每个点分配到最近的柱子,并执行求和池化,创建一个可以被标准CNN用于鸟瞰图推理的C ×H ×W张量。整体的Lift-Splat架构在图4中有概述。
图 4:
** Lift-Splat-Shoot 概述** 我们的模型以多视图图像(左侧)和它们对应的外参和内参参数作为输入。在“Lift”步骤中,为每个单独的图像生成一个锥形点云(中心左侧)。然后使用外参和内参将每个锥形投影到鸟瞰视图平面上(中心右侧)。最后,一个鸟瞰视图CNN处理鸟瞰视图表示,用于BEV语义分割或规划(右侧)。
正如OFT[29]使用积分图像加速它们的池化步骤一样,我们应用了一种类似的技术来加速求和池化。鉴于生成的点云的大小,效率对我们模型的训练至关重要。我们避免填充每个柱子然后执行求和池化,而是通过打包和利用“累积和技巧”来避免填充,从而加速求和池化。这个操作有一个可以高效计算的解析梯度,以加速自动微分,如4.2小节中所解释。
3.3 Shoot:运动规划
关键方面在于我们的Lift-Splat模型能够从仅有相机输入的情况下,学习端到端的成本图,用于运动规划。在测试时,可以通过“shooting”不同的轨迹,评分它们的成本,然后根据成本最低的轨迹采取行动。在第5.6节中,我们探讨了我们的模型支持端到端可解释运动规划的能力,并将其性能与基于激光雷达的端到端神经运动规划器进行了比较。
我们将“规划”定义为根据传感器观测预测自车的K个模板轨迹的分布𝑝(𝜏∣𝑜)。我们的方法受到最近提出的神经运动规划器(Neural Motion Planner, NMP)[41]的启发,这是一种依赖于点云和高清晰度地图来生成成本体的架构,该成本体可用于评分提议的轨迹。
与NMP提出的硬边界损失(hard-margin loss)不同,我们将规划视为对K个模板轨迹的分类。为了利用规划问题的成本体特性,我们强制执行对K个模板轨迹的分布采取以下形式:
其中𝑐𝑜(𝑥,𝑦)是通过在给定观测o处索引成本图预测的位置x, y来定义的,因此可以通过优化专家轨迹的对数概率来端到端地从数据中训练。对于标签,给定真实的轨迹,我们计算与模板轨迹T中L2距离最近的邻居,然后使用交叉熵损失进行训练。𝑝(𝜏𝑖∣𝑜)的定义使我们能够学习一个可解释的空间成本函数,而无需像NMP中那样定义硬边界损失。
实际上,我们通过对大量专家轨迹运行K-Means来确定模板轨迹的集合。我们在实验中用于“shooting”成本图的模板轨迹集合在图5中可视化。
图 5: 我们可视化了在训练和测试期间“shoot”到我们成本图上的1K条轨迹模板。在训练期间,计算每个模板轨迹的成本,并将其解释为模板上的1K维Boltzmann分布。在测试期间,我们选择该分布的argmax(最大值点),并根据所选模板采取行动。
4 实现
4.1 架构细节
我们模型的神经架构与OFT [29] 类似。与OFT一样,我们的模型有两个大型网络主干。一个主干独立地对每张图像进行操作,以便为从每张图像生成的点云特征化。另一个主干在点云被涂抹成参考框架中的支柱后对其进行操作。这两个网络通过我们在第3节中定义的lift-splat层连接,并在图4中进行了可视化。
对于独立操作每个图像的网络,我们在所有实验中利用了在Imagenet [30]上预训练的EfficientNet-B0 [37]的所有模型,包括基线模型。EfficientNets是在资源受限的情况下通过详尽的架构搜索找到的网络架构,其深度、宽度和分辨率都成比例地扩展。我们发现,与ResNet-18/34/50 [8]相比,它们在所有模型中都能实现更高的性能,只是需要更多的优化步骤才能收敛。
对于我们的鸟瞰视图网络,我们使用了类似于PointPillars [18]的ResNet块组合。具体来说,在进行卷积(核大小为7,步长为2)后,接着是批量归一化[10]和ReLU [22],我们通过ResNet-18的前3个元层传递,以获得不同分辨率的3个鸟瞰视图表示x1、x2、x3。然后我们将x3上采样4倍,与x1连接,应用一个ResNet块,最后上采样2倍以返回原始输入鸟瞰视图伪图像的分辨率。我们的最终网络中有1430万个可训练参数。
有几个超参数决定了我们模型的“分辨率”。首先,输入图像的大小H × W。在下面所有的实验中,我们将输入图像调整并裁剪到128 × 352的大小,并相应地调整外参和内参。网络的另一个重要超参数是鸟瞰视图网格X × Y的分辨率。在我们的实验中,我们将x和y的格子设置从-50米到50米,单元格大小为0.5米×0.5米。因此,得到的网格是200×200。最后是D的选择,它决定了网络预测的深度分辨率。我们将D限制在4.0米到45.0米之间,每隔1.0米一个间隔。有了这些超参数和架构设计选择,模型的前向传播在Titan V GPU上以35 Hz的速率运行。
4.2 棱柱池化累积和技巧
训练效率对于从整个传感器阵列的数据中学习至关重要。我们选择在第3节中的支柱上进行求和池化,而不是最大池化,因为我们的“累积和”技巧节省了由于填充导致的大量内存使用。“累积和”技巧是观察到的,求和池化可以通过对所有点按箱id排序,对所有特征执行累积和,然后在箱部分边界处减去累积和值来执行。而不是依赖自动微分来反向传播这三个步骤,整个模块的解析梯度可以导出,加速训练2倍。我们称该层为“Frustum Pooling”,因为它处理将由n个图像产生的棱锥体转换为独立于相机数量n的固定维度C × H × W张量。代码可以在我们的项目页面上找到。
5 实验和结果
我们使用nuScenes [2]和Lyft Level 5 [13]数据集来评估我们的方法。nuScenes是一个大型数据集,包含来自1k个场景的点云数据和图像数据,每个场景长度为20秒。这两个数据集中的相机阵列都由6个相机组成,大致指向前方、前左、前右、后左、后右和后方。在所有数据集中,相机的视野有一小部分重叠。相机的外参和内参在两个数据集中都会发生变化。由于我们的模型依赖于相机校准,它能够处理这些变化。
我们定义了两个基于对象的分割任务和两个基于地图的任务。对于对象分割任务,我们通过将3D边界框投影到鸟瞰视图平面上来获取地面真实值的鸟瞰视图目标。在nuScenes上的车辆分割指的是所有类别为vehicle.car的边界框,而在Lyft上的车辆分割指的是所有类别为vehicle的边界框。在Lyft上的车辆分割指的是所有类别为car的边界框,在nuScenes上指的是所有类别为{car, truck, other_vehicle, bus, bicycle}的边界框。对于地图制作,我们使用nuScenes地图中的变换地图层,使用提供的6自由度定位进行变换并光栅化。
对于所有对象分割任务,我们使用二元交叉熵进行训练,正权重为1.0。对于车道分割,我们将正权重设置为5.0,对于道路分割我们使用正权重1.0 [24]。在所有情况下,我们使用Adam [14]进行300k步的训练,学习率为1e−3,权重衰减为1e−7。我们使用PyTorch框架 [23]。
Lyft数据集没有标准的train/val分割。我们将48个Lyft场景分开进行验证,以获得与nuScenes大致相同大小的验证集(Lyft有6048个样本,nuScenes有6019个样本)。
5.1 基线描述
与普通的CNN不同,我们的模型在初始化时就配备了三维结构。我们通过与一个由标准模块组成的CNN进行比较,展示了这种结构对于良好性能的重要性。我们遵循与MonoLayout [21]相似的架构,它也训练一个CNN从图像输出鸟瞰视图标签,但不利用归纳偏差来设计架构,并且仅在单个相机上训练。该架构有一个EfficientNet-B0主干,独立地跨所有图像提取特征。我们连接这些表示并执行双线性插值,上采样到与我们的模型输出相同的RX×Y张量。我们设计网络使其具有与我们的模型大致相同数量的参数。这个基线性能不佳,证明了在多视图设置中明确地将第1节中的对称性3纳入模型的重要性。
为了展示我们的模型正在预测有用的隐式深度,我们将我们的模型与冻结了预训练CNN权重的模型以及OFT [29]进行了比较。我们在所有任务上的比较结果如表1和表2所示。我们还超越了在同一分割任务上进行基准测试的同时期工作 [9] [28]。因此,这种架构正在学习有效的深度分布以及适用于下游任务的有效上下文表示。
5.2 分割
我们展示了我们的Lift-Splat模型能够从鸟瞰视图框架中的监督中学习语义的3D表示。对象分割任务的结果展示在表1中,而地图分割任务的结果在表2中。在所有基准测试中,我们都超越了我们的基线。我们相信,从隐式地投影到3D中获得的性能提升幅度是相当大的,尤其是对于对象分割。我们还包括了两个同时期工作的报告IOU分数[9] [28],尽管这两篇论文都使用了不同的鸟瞰视图网格定义和不同的Lyft数据集验证分割,因此真正的比较尚不可能。
5.3 鲁棒性
由于鸟瞰视图CNN从数据中学习如何在相机之间融合信息,我们可以训练模型以适应自动驾驶中常见的简单噪声模型,例如外参偏差或相机失效。在图6中,我们验证了通过在训练过程中丢弃相机,我们的模型在测试时更好地处理丢失的相机。事实上,当所有6个相机都存在时表现最佳的模型是在训练时每个样本中随机丢弃1个相机的模型。我们推断,传感器丢失迫使模型学习不同相机图像之间的相关性,类似于其他变体的dropout[33] [5]。我们在图6的左侧展示了使用带噪声的外参训练模型可以在测试时带来更好的性能。对于测试时的低噪声量,没有在任何噪声中训练的模型表现最佳,因为BEV CNN可以更有信心地信任splats的位置。对于高量的外参噪声,我们的模型保持了良好的性能。
在图7中,我们测量了每个相机对nuScenes上车辆分割性能的“重要性”。注意,nuScenes中丢失相机意味着汽车附近的某些区域没有传感器测量,因此性能严格上界于完整传感器阵列的性能。图8中展示了由于缺少相机网络进行填充的定性示例。通过这种方式,我们测量了每个相机的重要性,暗示了传感器冗余对安全性更重要的地方。
图6 我们展示了可以通过训练我们的网络,使其对自动驾驶中常见的传感器误差源具有弹性。在左侧,我们展示了通过在训练时加入大量外参噪声(蓝色),网络在测试时对噪声更加鲁棒。在右侧,我们展示了在训练期间从每个批次中随机丢弃相机(红色),增加了在测试时对传感器丢失的鲁棒性。
图7 我们测量了在nuScenes数据集中,当缺少每个相机时,车辆分割的交并比(Intersection-over-Union, IOU)。nuScenes相机阵列中的后视相机具有更宽的视野,因此直观上失去这个相机会导致相对于完整相机阵列(右侧标记为“完整”)的性能下降最大。
表 3: 我们在nuScenes数据集中仅使用4个相机的图像进行训练。然后我们在新的相机(1bl对应于“后左”相机,1fl对应于“前左”相机)下进行评估,并发现随着我们在训练中未见过的更多传感器的加入,模型的性能严格提高。
5.4 零样本相机阵列迁移
我们现在探究Lift-Splat模型的泛化能力。在我们的第一个实验中,我们测量了模型仅在nuScenes相机阵列的一部分相机图像上训练,但在测试时能够访问剩余两个相机图像的性能。在表3中,我们展示了当在测试时有额外的相机可用,而无需任何重新训练,我们的模型在车辆分割任务上的性能有所提高。
我们进一步将上述实验推向深入,探究了如果模型仅在nuScenes数据上训练,它对Lyft相机阵列的泛化能力如何。我们模型在迁移测试中的定性结果在图9中展示,而与我们基线模型泛化能力的对比基准测试在表4中展示。
图8:对于单个时间戳,我们移除了每个相机,并可视化了缺失的相机对网络预测的影响。缺失相机所覆盖的区域在每种情况下都变得更加模糊。当移除前相机(中间顶部)时,网络在自车前部的道路和可行驶区域进行了外推,并对外推了一辆只能从右上角相机看到一角的汽车的车身。
表4:我们在nuScenes上训练模型,然后在Lyft上进行评估。Lyft的相机与nuScenes的相机完全不同,但我们的模型在泛化方面比基线模型表现得更好。注意,我们的模型在表1和表2中的标准基准测试中已经扩大了与基线模型的差距。
5.5 与Oracle Depth基准测试
我们对模型进行了基准测试,与使用来自激光雷达点云的地面真实深度的PointPillars [18]架构进行了比较。如表5所示,在我们的架构在所有任务上的表现略逊于使用单个激光雷达扫描训练的PointPillars。然而,至少在可行驶区域分割上,我们注意到我们的方法接近了激光雷达的性能。在一般情况下,并非所有车道都能在激光雷达扫描中看到。我们希望在未来能在更广泛的环境范围内测量性能。
为了深入了解我们的模型与激光雷达的不同之处,我们绘制了车辆分割性能随两个控制变量变化的情况:与自我车辆的距离和天气条件。我们根据伴随nuScenes数据集中每个场景标记的描述字符串来确定场景的天气。结果在图10中展示。我们发现,正如预期,我们的模型在夜间场景中的性能比PointPillars差得多。我们还发现,两种模型都随着深度增加大致呈线性性能下降。
5.6 运动规划
最后,我们通过训练Lift-Splat输出的表示作为一个成本函数来评估模型执行规划的能力。我们生成的轨迹长度为5秒,间隔为0.25秒。为了获取模板,我们对nuScenes训练集中的所有自我车辆轨迹进行了K-Means拟合,K=1000。在测试时,我们测量了网络预测在L2范数下最接近真实轨迹的模板的能力。这个任务对自动驾驶来说是一个重要的实验,因为这次实验的地面真实目标比地面真实3D边界框的获取成本低得多。这个任务对于基准测试基于相机的方法与基于激光雷达的方法的性能也比较重要,因为尽管仅使用相机的3D目标检测的上限肯定受到仅使用激光雷达的限制,但原则上,使用相机数据训练的最佳规划器应该优于仅使用激光雷达数据训练的最佳规划器。
规划实验的定性结果在图11中展示。与PointPillars的实证结果基准测试在表6中展示。输出的轨迹展示了理想的行为,如遵循道路边界,在人行横道或刹车车辆后面停车。
图9:我们在测试时展示了模型在面对完全不同的新相机阵列时的表现。道路分割以橙色显示,车道分割以绿色显示,车辆分割以蓝色显示。
表5: 当与使用激光雷达的预言深度的模型相比时,仍有改进空间。为了获得超越激光雷达所需的深度估计,可能需要从相机阵列进行视频推理。
6 结论
在这项工作中,我们提出了一种旨在从任意相机阵列中推断鸟瞰视图(BEV)表示的架构。我们的模型在一系列旨在探究模型在没有在训练或测试时访问地面真实深度数据的情况下,表示鸟瞰视图框架中语义的能力的基准分割任务上,超越了基线模型。我们介绍了使网络对校准噪声的简单模型具有鲁棒性的训练方法。最后,我们展示了该模型能够支持遵循轨迹射击范式的端到端运动规划。为了满足甚至可能超越仅使用来自点云的地面真实深度数据的类似网络的性能,未来的工作需要考虑在这项工作中我们考虑的单个时间步的图像而不是多个时间步的图像。
图10:我们比较了模型在不同深度和天气条件下的性能变化。正如预期的那样,我们的模型在夜间的性能相对于PointPillars有所下降。
图11:我们展示了1000个模板中的前10个排名轨迹。视频序列在我们的项目页面上提供。我们的模型从单个时间戳的观测中预测双峰分布和曲线。我们的模型无法访问汽车的速度,因此模型能在接近人行横道和刹车灯附近预测低速轨迹是非常引人注目的。
表6:由于规划被框架设定为在一组1K模板轨迹中的分类,我们测量了前5名、前10名和前20名的准确性。我们发现,我们的模型在泛化方面仍然落后于基于激光雷达的方法。我们的模型输出的轨迹定性示例在图11中展示。
版权归原作者 青衫弦语 所有, 如有侵权,请联系我们删除。