动驾驶中的单目 3D 车道线检测——综述

文章探讨了车道线检测在自动驾驶中的重要性,比较了2D和3D检测方法,着重介绍了3D-LaneNet和Gen-LaneNet等算法,以及它们在处理非平坦道路和复杂拓扑方面的改进。同时,文章强调了数据集的挑战和合成数据与时间传感器融合在3D车道线检测中的作用。
摘要由CSDN通过智能技术生成

车道线检测是自动驾驶中最基本和关键的安全任务之一。这一重要感知任务的应用范围从 ADAS(高级驾驶员辅助系统)功能如车道保持到更高级别的自主任务,如与高清地图和轨迹规划的融合。给定在自动驾驶车辆上收集的输入 RGB 图像,车道线检测算法旨在在图像上提供结构化线的集合,每条线代表 3D 车道线的 2D 投影。这种算法本质上是二维的,因为输入和输出都驻留在同一个图像空间中。

另一方面,Monocular 3D Lane Line Detection旨在从单个图像直接预测道路场景中车道的 3D 布局。具体来说,3D 车道线检测算法在相机坐标系的 3D 度量空间中输出一系列结构化的车道线。最近,学术界和工业界已经在探索这项任务的可行性和应用方面做出了一些努力。

https://gitee.com/studywangke/zdjs

2D 和 3D Lane Line Detection 的比较(来源:CurvedLanes和3D LaneNet)

将 2D 车道线检测提升到 3D

一种简单的方法是使用逆透视映射 (IPM) 将 2D 车道检测结果重新投影回 3D 空间。IPM 是一种单应变换,可将透视图像变形为鸟瞰 (BEV) 图像。但是,IPM 假定地面平坦,并且是静态且经过良好校准的相机外在因素。在现实世界的驾驶环境中,道路很少是平坦的,并且由于速度变化或崎岖不平的道路,相机外在因素对车身运动很敏感。

IPM 将透视图像中的信息投影回 3D 空间(图像取自3D-LaneNet)

因此,正确的方法是恢复检测到的 2D 车道线上每个点的深度。如果我们在推理时可以使用激光雷达等主动 3D 测量设备,则通过将 3D 测量分配给车道线点,2D 到 3D 的提升相对简单。如果我们在推理时只有相机图像,理论上,我们可以利用单目深度估计的最新进展来为车道线点分配深度值。虽然这种方法是通用的,但它的计算量很大。这篇博文回顾了更轻量级的方法来直接预测车道线点的 3D 位置。

与其他单目 3D 任务的关系

单目 3D 车道线检测是对其他单目 3D 任务的补充,这些任务可以从单个 RGB 图像预测驾驶环境的 3D 信息,例如单目 3D 对象检测单目 BEV 分割。也许并不奇怪,如何从单目图像中准确地恢复环境深度是这些领域的核心。


二维车道探测网络

在我们深入研究 3D 车道线检测算法之前,一个重要的 2D 车道线检测算法是重新审视LaneNetTowards End-to-End Lane Detection: an Instance Segmentation Approach , IV 2018)。它的 2D 车道线检测性能已经被许多新算法超越,但在当时还是相当创新的,它的许多想法构成了 3D 车道线检测的基础。

它对 2D 车道线感知的贡献是提出了一种用于车道线语义分割的分段然后聚类方法——我们稍后将在Semi-local 3D LaneNet中再次讨论这个想法。更有趣的是,它还使用称为 H-Net 的轻量级网络直接从透视图像预测单应变换(以 3x3 矩阵 H 的形式)。单应变换矩阵 H 本质上是将采样的车道线点投影到 BEV 的 IPM,用于优化车道拟合后处理。这里的基本假设是车道应该由 BEV 空间中的三阶多项式完美描述。

The overall pipeline of LaneNet (source: LaneNet)

LaneNet 采用的另一个隐含假设是车道线位于平坦的道路上。对于有坡度的非平坦道路,没有一个最好的 IPM 可以描述透视图像和 BEV 图像之间的转换,LaneNet 仍然使用单应变换逼近道路相机模型。

那么问题是——描述非平坦道路的最佳转换是什么?可能会争辩说,最好的转换应该准确地将地平线(相机图像中道路和天空之间的交汇点)映射到无限深度,或者您可能会争辩说最好的转换应该将最接近自我汽车的车道线投影到 3D 中的平行线空间。LaneNet 将最佳变换定义为一种映射,该映射使拟合曲线的重投影误差最小化。

3D 车道探测网络

普及单目 3D 车道线检测领域的开创性工作是来自通用汽车以色列研究中心的3D-LaneNet (ICCV 2019)。 3D LaneNet 不需要诸如平坦地面假设之类的脆弱假设,它只假设对局部路面的摄像机滚动为零。与 2D LaneNet 一样,它也估计 2D 透视图像和 3D 局部道路平面之间的单应变换。与直接预测单应矩阵的 LaneNet 不同,3D LaneNet 预测唯一确定单应矩阵的相机高度和间距。这两个参数是以监督的方式学习的。

3D LaneNet 网络架构(来源:3D-LaneNet)

网络架构是从图像转换为 BEV 空间的双通路主干。这实际上让我想起了自监督深度学习Sfm-learner (CVPR 2017) 中的 PoseNet 结构,它预测 6 DoF 自我运动,然后用它来扭曲相邻图像。

基于锚点的 3D 车道线表示

它不是直接预测车道线点的深度,而是首先预测相机的俯仰/高度,从而构建道路投影平面。道路投影平面根据摄像机安装俯仰角 𝜑 _cam和高度h_cam 定义。然后相对于该平面表示 3D 车道线。具体而言,车道线点由其在平面上的投影点(x,y)和高程Δz定义。

道路投影平面和锚点设计(来源:3D-LaneNet和Semi-Local 3D LaneNet)

3D LaneNet 使用基于锚的车道预测头。与 groundtruth 车道关联的锚点是最接近车道 x 坐标 Y_ref=20 m 处的锚点。

每个车道线类型的预测总数为#anchor*(2*K+1)。K (K=6) 是每条车道线的预定义 y 位置的数量。K 个点中的每一个预测两个数字,与锚点 dx 的偏差和高度 z. 每个anchor也有一个conf分数来预测车道线的存在。

请注意,由于这种锚点设计,3D LaneNet 只能处理具有与自我汽车运动方向大致平行的车道线的正常拓扑。例如,它无法处理与自我汽车垂直的车道线。

半局部 3D LaneNet( 3D LaneNet+)

半局部 3D LaneNet 建立在 3D-LaneNet 的基础上,并增加了两个贡献,即处理更复杂拓扑的能力和不确定性预测。不确定性估计是相当标准的任意不确定性估计,这里不再赘述。该论文以3D-LaneNet+ 的形式在 NeurIPS 2020 研讨会上重新发布

大部分工作基于 3D LaneNet。它还具有双路径主干、相机高度和滚动预测,并具有 BEV 空间中的最后一个特征图。主要区别在于更灵活的车道线表示,允许对更复杂的车道拓扑进行建模,包括拆分、合并和垂直于车辆行驶方向的车道。

半局部表示还利用道路投影平面作为参考,并将其 BEV 投影到道路投影平面上的 3D 车道线公式化。然而,半局部 3D LaneNet 并没有将每个车道与预定义的锚点相关联,而是提出了一种紧凑的半局部表示。本质上,它将 BEV 图像(将 3D 结构投影到道路投影平面)分解为称为图像块的非重叠网格。假设每个图像瓦片只能有一条车道线穿过它,并且每个瓦片中裁剪的车道线段足够简单,可以参数化为 2 DoF 线段(到瓦片中心的距离和方向)。然后下一步是为每个车道学习全局一致的嵌入,以将小车道段聚集成完整的曲线。

Semi-local 3D LaneNet 的网络架构(来源:Semi-local 3D LaneNet)

这种先检测后聚类方法的灵感来自2D LaneNet。半局部 3D LaneNet 使用推挽损失来训练图像块上的嵌入,并且比原始 2D LaneNet 的语义分割具有更少的计算负担。在推理过程中,通过模式搜索算法mean-shift完成聚类,找到每个聚类的中心,然后设置阈值来获取聚类成员。

Gen-LaneNet

Gen-LaneNet (ECCV 2020) 基于 3D LaneNet 的标准实践,提出了一种用于 3D 车道线检测的两阶段方法。它提出首先执行 2D 车道线检测,然后使用称为 3D-GeoNet 的单独网络将 2D 检测结果提升到 3D。

将 3D 结构预测与 2D 车道线检测分离的原因在于 3D 几何的编码与图像特征相当独立。这种解耦使模块更加灵活和可扩展。它可以立即受益于第一阶段不断发展的二维车道线检测算法。更重要的是,它允许仅使用合成数据集对第二阶段进行训练,即使是非真实感模拟也可以完成,因为对图像特征的依赖已被消除。

在 3D LaneNet 中,不能保证预测的投影与图像匹配,并且缺乏 2D-3D 一致性。在 Gen-LaneNet 中,3D 从 2D 提升,因此这种一致性是管道固有的。

在第二阶段故意去除图像特征类似于仅在Deep Object Distance Estimator中使用 bbox info 预测距离,而在MonoLoco中仅使用骨架预测距离。在单目 BEV 语义分割的许多早期研究中也可以找到类似的缓解 sim2real 域差距的策略。

Gen-LaneNet 的网络架构(来源:Gen-LaneNet)

Gen-LaneNet还指出了3D-LaneNet的一个主要缺点,即在存在非零斜率的情况下,顶视图投影与 IPM 转换的特征不对齐。换句话说,IPM 假设一个平坦的地面,并且当这个假设以非零斜率打破时,IPM 转换后的视图不是真正的顶视图(BEV)。相反,IPM 转换的特征是一个扭曲的 BEV 视图,在本文中称为虚拟顶视图。这个虚拟顶视图是通过光线追踪每个车道线点并投影到道路投影平面(下图中的橙色点)获得的。3D 车道线groundtruths 被预处理为虚拟顶视图,以与IPM 转换特征对齐。

3D Lane Geometry 中的虚拟顶视图和真实顶视图(来源:Gen-LaneNet)

真实顶视图和虚拟顶视图的概念不是很容易掌握。举一个更具体的例子,零偏航角的上坡 3D 车道将其两条平行车道线投射到真实俯视图中完全平行的目标,但在虚拟俯视图中,当我们上坡时,它们会显得发散。这种不同的观点实际上与来自 3D LaneNet 的双路径主干网的 IPM 转换特征一致。

在数学上,在上图中,我们有以下等式,其中 h 是相机高度,z 是距离道路投影平面 xoy 平面的高度偏差(以上为正)。

假设我们在 3D 中有两条平行的车道线,因此车道宽度 Δx 是恒定的。在真实的顶视图中,由于车道宽度仍为 Δx,它们仍将平行显示。在虚拟俯视图中,车道宽度变为 Δx̄ = Δx*h/(hz),如果上坡路的 z 变大(z < h),则车道宽度变宽并显得发散。

Gen-LaneNet 仍然使用基于锚的表示,因此存在与 3D LaneNet 相同的缺点。更好的方法可能是将两种方法的优点结合起来:使用 Gen-LaneNet 的虚拟顶视图和解耦管道以及 Semi-local 3D LaneNet 的半局部图块表示。

数据集

3D 车道一检测领域研究有限的主要原因之一是缺乏相关的数据集和基准。构建 3D 车道线数据集主要有三个数据源:合成数据、深度测量(使用激光雷达或可能的立体相机)和时间传感器融合。

3D LaneNetSemi-Local 3D LaneNet使用模拟环境Blender生成大量具有已知 3D groundtruth 的合成数据。同样,Gen-LaneNet利用 Apollo 项目中的模拟器并生成Apollo 3D Synthetic 车道线数据集

3D LaneNetSemi-Local 3D LaneNet还使用激光雷达检测器和半手动注释收集了 2.5 小时的真实数据,但这只是为了验证这个想法。收集校准和同步的相机和激光雷达数据的多传感器数据不太可扩展。此外,基于激光雷达的数据集本质上只能达到约 50 米,因为激光雷达能够可靠地检测超出此范围的车道线。

获取真实 3D 车道线数据的另一种更具可扩展性的方法类似于MonoLayout (WACV 2020) 中描述的方法。鉴于可以获得准确的自我运动信息,它通过聚合整个视频的结果(所谓的时间传感器融合)来使用自生成的地面实况。聚合的groundtruth可以根据预设的距离阈值截断并投影回单个图像帧。如果我们想看到超过上述 50 米的限制,同样的想法也适用于激光雷达数据。

要点

- 预测相机外部参数以在特征图上执行单应变换 (IPM)似乎是标准做法。

- 虚拟顶视图解决了转换后的特征图和生成的groundtruth之间的错位。

- 由于城市驾驶场景中复杂的车道线拓扑(环形交叉路口、垂直车道线等),基于锚点的表示将失败。对半局部图块进行预测然后进行聚类似乎是一种更灵活的处理复杂几何图形的方法。

- 合成数据集和 sim2real 是引导 3D 车道线检测系统的方法,特别是考虑到开源的 Apollo 数据集。从时间聚合的单个图像感知结果构建 3D 车道线数据集的可扩展方法仍未得到充分探索。我期待着未来在这个方向上做更多的工作。

- 对于未来的工作,最好使用 Gen-LaneNet 的虚拟顶视图和解耦管道以及 Semi-local 3D LaneNet 的半局部 tile 表示。

References

LaneNet: Towards End-to-End Lane Detection: an Instance Segmentation Approach, IV 2018

3D-LaneNet: End-to-End 3D Multiple Lane Detection, ICCV 2019

Semi-local 3D LaneNetSemi-Local 3D Lane Detection and Uncertainty Estimation, ArXiv, 03/2020

Gen-LaneNet: A Generalized and Scalable Approach for 3D Lane Detection, ECCV 2020

3D-LaneNet+: Anchor Free Lane Detection using a Semi-Local Representation, NeurIPS 2020 workshop

Deep Radar Detector: Vehicle Detection With Automotive Radar Using Deep Learning on Range-Azimuth-Doppler Tensors, ICCV 2019

SfMLearner: Unsupervised Learning of Depth and Ego-Motion from Video, CVPR 2017

MonoLayout: Amodal scene layout from a single image, WACV 2020

  • 26
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
路沿检测是矿区无人驾驶的关键技术之一,所得路沿信息可用于辅助无人矿车的感知、规划和定位。准确的路沿检测与路沿图构建同时也是高精地图构建的首要步骤,通过机器学的方法可以在现有路沿点的基础上初步构建道路结构拓扑。与传统的卡尔曼框架下的路沿跟踪所不同的是,本文提出了基于占用栅格思想的路沿跟踪方案。所谓占用栅格,即根据传感器感知到的障碍物信息来对全局范围内的场景进行构建的一种方法。由于矿区环境下的路沿具有高度不确定性,所以需要用一种由包含概率信息的模型找出最高可能性是路沿的位置,而基于八叉树的结构正好可以满足这一需求。本文通过将每一帧点云实时栅格化来筛选路面候选栅格,然后以环压缩为主进行多特征的路沿检测,其栅格是一种应用已经非常广泛的点云结构,我们根据矿山道路本身具有的粗粒度特性,将特征检测扩展到以每一个扇形单元格为不可分割的基本单元,在提高了检测效率的同时,也避免了很多路面凹凸所带来的干扰。路沿的跟踪策略采用基于八叉树的三维占用栅格,融合多帧检测结果,建立全局路沿地图,将传统的二维的占用栅格图的概念扩展到了三维的仅包含路沿属性的全局障碍物图。实际矿区道路检测结果表明,本文提出的针对矿山非

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值