3Dlanenet+

摘要

3D-LaneNet+ 是一种基于摄像头的 DNN 方法,用于无锚 3D 车道检测,能够检测任意拓扑的 3d 车道,例如拆分、合并以及短车道和垂直车道。 我们遵循最近提出的 3D-LaneNet,并将其扩展为能够检测这些以前不支持的车道拓扑。
我们的输出表示是一个无锚、半局部瓦片表示,它将车道分解成简单的车道段,其参数可以学习。 此外,我们学习每个车道实例的特征嵌入,这导致局部检测到的段的全局连接形成完整的 3d 车道。 这种组合允许 3D-LaneNet+ 避免使用原始 3D-LaneNet 中的车道锚、非最大抑制和车道模型拟合。 我们使用合成数据和真实世界数据证明了 3D-LaneNet+ 的功效。 结果显示相对于原始 3D-LaneNet 的显着改进可归因于对复杂车道拓扑、曲率和表面几何形状的更好泛化。

引言

基于摄像头的 3D 车道检测是许多自动驾驶相关任务的重要组成部分,例如轨迹规划、车辆定位和地图生成等。
最近,加内特等人。 [3] 提出了 3D-LaneNet,这是一种基于相机的 3D 车道检测方法,它提出了两个用于车道检测的新概念。 第一个是具有集成逆透视映射 (IPM) 的 CNN 架构,可将特征图投影到鸟瞰图 (BEV),第二个是基于锚点的表示,允许将车道检测问题转换为单阶段对象检测问题。 遵循与 SSD [14] 或 RetinaNet [13] 中类似的概念,每个 BEV 列充当锚点,将整个车道回归为折线。 这对检测到的车道几何形状和拓扑结构施加了强约束,限制了该方法检测与本车行驶方向不大致平行的车道的能力。 更前方开始的车道和其他重要的非平凡拓扑(例如路口)无法表示,因此无法通过此方法检测到。
在这项工作中,我们遵循最近提出的无锚检测器,例如 FCOS [17] 和 CenterNet [23],并建议对 3D-LaneNet 进行无锚扩展,我们称之为 3D-LaneNet+。 与使用基于列的锚点封装有关车道结构(长和连续)的先验信息的 3D-LaneNet 不同,无锚检测器不会引入此类先验。 他们的基本范式是分裂的非重叠单元格的输入,其中每个单元格学习检测占据该单元格的对象并估计对象的属性(例如中心、尺寸、方向)。 然而,车道不是具有易于定义的中心的紧凑对象。 因此,我们不是将整个车道作为一个整体进行预测,而是检测位于单元格内的小车道段及其属性(位置、方向、高度)。 此外,我们为每个单元学习了一个全局嵌入,允许将小车道段聚集在一起成为完整的 3D 车道。 我们建议的解决方案减轻了所有车道都应表示为折线的假设。 这可以检测任意拓扑的车道,包括分道、合并、短车道和垂直于车辆行驶方向的车道。 支持这些额外的车道拓扑可提高 3D-LaneNet+ 的检测召回率,从而相对于原始 3D-LaneNet 显着提高性能。
我们的无锚表示可以被认为是紧凑的半局部表示,能够捕捉局部拓扑不变的车道结构和路面几何形状。 如图 1 所示,在鸟瞰视图中使用不重叠的粗瓷砖网格完成车道检测。我们假设穿过瓷砖的车道段很简单,可以用低维参数模型表示。 具体而言,每个瓦片保存一条线段,该线段由与瓦片中心的偏移、方向和与 BEV 平面的高度偏移进行参数化。 这种半局部图块表示位于全局表示(整个车道)到局部表示(像素级别)之间的连续体上。 每个瓦片输出比基于分割的解决方案中的单个像素提供更多信息,因为它能够对局部车道结构进行推理,但它不像基于全局锚的解决方案那样受到限制,后者必须一起捕获整个车道拓扑的复杂性 、曲率和表面几何形状。
我们使用合成数据集和真实世界数据集进行实验,结果表明 3D-LaneNet+ 大大提高了 3D-LaneNet 的平均精度 (MAP)。 我们定性和定量地证明了我们的表示的有效性及其对新车道曲率和表面几何形状的概括。

相关工作

二维车道检测 大多数现有的车道检测方法都侧重于图像平面中的车道检测,并且大多限于检测与车辆行驶方向平行的车道。 文献很多,包括通过使用自我注意 [9]、使用 GAN [5]、使用新的卷积层 [19]、利用消失点来指导训练 [12] 或使用可微最小二乘拟合来执行 2D 车道检测的方法 [18]。 与我们最相关的是 [10] 的方法,该方法在图像平面中使用基于网格的表示,以及用于高速公路车道检测的线参数化和基于密度的空间聚类。 我们的方法在 BEV 角度执行 3D 车道检测,以及基于学习的聚类以及与 [10] 不同的参数化。 与我们相关的另一项工作是 [16],它使用学习嵌入来执行车道聚类。 虽然 [16] 在图像像素级别执行分割,但我们在半局部瓦片尺度上对 BEV 中的车道段进行聚类,这在计算上要便宜得多。
3D 车道检测 在 3D 中检测车道是一项具有挑战性的任务,近年来越来越受到关注。 某些方法使用 LiDAR 或相机和 LiDAR 组合来完成此任务。 例如,白等人。 [1] 在 LiDAR 点上使用 CNN 来估计路面高度,然后相应地将相机重新投影到 BEV。 网络不会端到端地检测车道实例,而是输出需要进一步处理和聚类的密集检测概率图。
与我们的工作更相关的是基于相机的方法。 DeepLanes [6] 使用 BEV 表示,但与顶视摄像头配合使用,该摄像头仅检测车辆周围的车道,而不提供高度信息。
最近,Gen-LaneNet [22] 建议使用与 3D-LaneNet [3] 中相同的基于列的锚表示,但更改预测 3d 车道点的坐标系。 尽管 Gen-LaneNet 的这种新的几何引导车道锚点对于未观察到的场景更具有普遍性,但它仍然仅限于与自我车辆行驶方向大致平行的长车道。 我们提出的无锚表示是对这个新坐标系的补充,因此预计在 Gen-LaneNet 的上下文中也很有用(尽管在我们的工作中没有测试)。
无锚检测器基于锚的方法通过使用一组参数表示整个对象并将这些参数相对于预定义的锚进行回归,以一次性全局方式检测对象 [14, 13]。 在车道检测的上下文中,此问题公式将车道限制为由折线以全局方式表示,这限制了可以预测的车道拓扑的多样性。 最近的无锚检测工作减轻了对全局锚的需求,并使对象参数或对象的子部分参数像我们的例子一样直接回归。
这些方法包括将对象检测为与边界框角位置相对应的成对关键点的 CornerNet [11]、CenterNet [23] 和预测对象中心和尺寸的 FCOS [17]。 AFDet,[4] 基于 LiDAR 的检测器,应用类似的方法并相对于规则的顶视图网格预测物体的中心、方向和尺寸。 RepPoints [20] 和 Dense RepPoints [21] 通过预测代表对象的点集来检测对象,朝着更适合车道的非刚性对象表示迈出了一步。 然而,他们预测相对于对象中心的点集,而车道没有明确定义的中心。 在 3D-LaneNet+ 中,我们使用一组线段而不是点来表示车道,从而结合了车道线结构的信息,并且不是相对于全局车道中心来预测线段,而是相对于网格单元中心来预测它们。 为了推理段连接性,我们还学习了 [16] 中的实例嵌入。

方法

3.1 半局部瓦片表示的3D车道线分割

我们现在描述我们提出的 3D 车道检测框架 3D-LaneNet+。 示意图概述如图 1 所示。我们首先展示我们的半局部瓦片表示和车道段参数化(第 3.1 节),然后是如何使用学习嵌入将车道段聚集在一起(第 3.2 节)。
…?车道曲线是一项具有挑战性的任务。 我们的主要观察结果是,尽管存在这种全局复杂性,但在局部水平上,车道段可以由低维参数模型表示。 利用这一观察,我们提出了一种半局部表示,允许我们的网络学习局部车道段,从而很好地推广到看不见的车道拓扑、曲率和表面几何形状。
继加内特等人之后。 [3],我们的网络得到一个单一的相机图像,该图像被馈送到双通道主干,该主干使用编码器和逆透视映射 (IPM) 模块将特征映射投影到 BEV。 投影应用单应性,由相机俯仰角 φ cam 和高度 h cam 定义,将图像平面映射到道路平面(见图 2)。 最终抽取的 BEV 特征图在空间上划分为由 W × H 非重叠瓦片组成的网格 G W × H。
投影确保 BEV 特征图中的每个像素对应于道路上的预定义位置,独立于相机内在特性和姿势。
我们假设通过每个瓦片 g ij ∈ G W ×H 可以通过一条可以用直线近似的线段。 具体来说,网络回归,每个瓦片 g ij ,三个参数:相对于瓦片中心的横向偏移距离 re ij ,线角 φ e ij ,(见图 1 中的局部瓦片)和高度 f ij (见图 2) . 除了这些线参数之外,网络还预测了一个二进制偏移量 ∆z 分类分数 e c ij,指示车道与特定瓷砖相交的概率。
使用 L1 损失训练位置和 z 偏移:
gongshi1.2/3/4
3.2车道曲线聚类的全局Embedding
一旦获得车道图块,我们仍然需要从这些小段生成完整的 3D 车道曲线。 为此,我们建议使用基于学习特征嵌入的聚类方法。 这种技术消除了在原始 3D-LaneNet 中使用车道锚点和折线拟合的需要,这反过来又允许 3D-LaneNet+ 支持以前不受支持的车道,例如垂直于本车行驶方向的车道和开始于 距离车辆很远。
具体来说,我们为每个瓦片学习了一个嵌入向量 f ij ,这样表示属于同一车道的瓦片的向量将靠近嵌入空间,而代表不同车道的瓦片的向量将远离。 为此,我们采用了 [16, 2] 的方法,并使用了判别式推挽损失。 与之前的工作不同,我们在抽取的瓷砖网格上使用判别性损失,这比在像素级别操作要高效得多。
gongshi5.6.7
鉴于学习到的特征嵌入,我们可以使用简单的聚类算法来提取属于各个车道的图块。 我们采用了 Neven 等人的聚类方法。 [16] 它使用均值漂移来找到聚类中心并在每个中心周围设置阈值以获得聚类 ∆ 成员。 我们将阈值设置为 push 2 。

实验

  我们使用两个 3D-lane 数据集研究 3D-LaneNet+ 的性能,并将其与 Garnett 等人的原始 3D-LaneNet 进行比较。  [3]。 我们展示了我们的无锚方法在检测短车道和远离主车辆的车道方面的优势,展示了该方法检测不同车道拓扑结构并推广到复杂表面几何形状的能力。

数据集评估是使用两个 3D 车道数据集完成的。 第一个是合成 3D 车道 [3],包含具有 3D 地面实况车道注释的复杂道路几何形状的合成图像。 第二个是我们收集和注释的数据集,称为 Real-3D-lanes。 该数据集(在 [3] 中进行了注释)包含来自 19 个不同记录(跨越 250 公里区域的不同地理位置,在不同时间)以 20 fps 拍摄的 327K 图像。 数据被拆分,使得火车集 298K 图像主要由高速公路场景组成,而测试集由具有复杂曲率和路面几何形状的乡村场景组成,这些场景是在不在火车集中的地理位置拍摄的。 为了减少时间相关性,我们每 30 帧采样一次,为我们提供 1000 张图像的测试集。 训练集和测试集的例子可以在图 4 中看到。
评估我们采用与原始 3D-LaneNet [3] 工作中使用的评估协议相同的评估协议,该协议建议将检测精度与几何估计精度分开。 检测精度是通过常用的平均平均精度 (MAP) 度量计算的。 与 [8] 类似,我们采用了 IOU 度量来关联检测到的曲线和 GT 曲线,这是通用的,可以解释不经过预定义 y 值的短车道或非平行车道。 通过测量每个车道点相对于其相关 GT 曲线的横向误差来评估几何精度。 我们将整个数据集划分为近距离(0-30m)和远距离(30-80m)的车道点,并计算每个范围的平均绝对横向误差。
实现细节我们使用双通路架构 [3] 和 ResNet34 [7] 主干。
我们的 BEV 投影覆盖了 20.4m x 80m,在最后一个抽取特征图中划分到我们的瓦片网格 G W × H,W = 16,H = 26,这样每个瓦片代表 1.28m × 3m 的路面。 我们发现,与在 Real-3D 车道上使用固定安装参数相比,预测摄像机角度 φ cam 和高度 h cam 对性能的提升微不足道,但是,在合成 3D 车道上,我们遵循 [3] 方法并训练网络 输出 φ cam 和 h cam 。 我们使用单个 GPU (NVIDIA Quadro P5000) 的平均运行时间为 85.3 毫秒。
网络使用 ADAM 优化器以批量大小 16 进行训练,80K 次迭代的初始 lr 为 1e-5,然后在另外 50K 次迭代时减少到 1e-6。 我们将 ∆ pull 和 ∆ push(等式 6、7)分别设置为 0.1 和 3,并在聚类之前对输出段分数 e c ij 使用粗略的 0.3 阈值。

结果

Synthetic-3D-lanes 数据集我们将我们的 3D-LaneNet+ 方法与原始 3D-LaneNet 进行了比较。
结果如表 1 所示。 可以看出,我们的 M AP(在 IOU 阈值处的 AP IOU % 的平均值) 0.1 : 0.1 : 0.9) 和 AP 50 优于 3D-LaneNet 1,同时显示出可比的横向误差(IOU = 0.5 和召回率 = 0.75)。 我们认为主要原因是我们的半局部表示使我们的方法能够支持许多不同的车道拓扑,例如仅在距本车一定距离处出现的短车道、分道和并道。 这在图 3 中很明显,显示了 3D-LaneNet 未检测到分割和短车道但 3D-LaneNet+ 检测到的示例。
真实世界数据我们使用 Real-3D-lanes 数据集来展示我们的方法处理真实世界数据的能力,同时可以很好地推广到不同的车道拓扑、曲率和表面几何形状。
表 2 总结了在相同训练集上训练的 3D-LaneNet+ 与 3D-LaneNet 的比较结果。
可以看出,3D-LaneNet+ 在整体 M AP 上比 3D-LaneNet 提高了 9 个百分点,同时降低了 3d 车道点的横向误差。 与训练集和测试集具有相同分布的合成 3D 车道实验相比,该实验具有挑战性。 在 Real-3D-lanes 的情况下,训练集和测试集记录在不同的地理位置,并且具有不同的分布,即测试集表现出更复杂的曲率和表面几何形状。 为了支持这一说法,我们检查了车道曲率和路面曲率的分布。 在测试集上,车道曲线的平均曲率分数比火车集高一个数量级。 测试集的路面曲率比火车集高两个数量级(参见图 4b 的示例图像)。 我们推广到这个测试集的能力证明了使用建议的半局部瓦片表示的优势。

对新相机的泛化我们现在检查我们的方法对新的未见过的相机的泛化。为此,我们对未用于训练的内部评估数据集进行定性评估。我们可以从图 5 中看到,我们的方法成功地从看不见的相机中检测到车道,而无需任何调整。图 5 中的示例显示了我们支持不同拓扑以及推广到新场景的表示能力。从左上角顺时针方向可以看到垂直车道、分开的、仅从交叉路口开始的短车道和郊区场景,只有道路边缘,而火车组中根本不存在。请注意,在这些示例上训练我们的模型,包括具有交叉路口和垂直车道的城市场景,显然会获得更好的结果,而前一种方法 3D-LaneNet [3] 和 Gen-LaneNet [22] 不会从此类训练数据中受益,因为他们的约束表示。

结论

在这项工作中,我们引入了 3D-LaneNet+ 一个 3D 车道检测框架,该框架建立在最近发布的 3D-LaneNet 的基础上并对其进行了改进。我们的主要目标是扩展 3D-LaneNet,使其能够检测以前不支持的车道拓扑,包括短车道、垂直于本车的车道、分路、合并等。为了在这些具有挑战性的情况下提高性能,我们通过引入半局部表示来开发一种无锚方法,该表示捕获拓扑不变的车道段,然后使用学习到的全局嵌入到完整的车道曲线中将这些段聚集在一起。无需使用车道锚点和车道模型拟合(如在 3D-LaneNet 中)允许 3D-LaneNet+ 支持和推广到不同的车道拓扑、曲率和表面几何形状。与 3D-LaneNet 相比,3D-LaneNet+ 的功效在合成和真实世界数据上都得到了证明,在 3D 车道检测方面产生了显着的改进。结果的定性检查表明,该方法确实更适合成功检测任意拓扑的车道,包括拆分、合并、短车道等。通过这样做,我们向满足高速公路和城市场景中自动驾驶中 3D 车道检测的要求又迈进了一步。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值