[搬运]自动驾驶中的单目 3D 车道线检测——综述

如题所述

车道线检测是自动驾驶系统中的一个关键安全任务,它在高级驾驶员辅助系统(ADAS)功能中扮演着重要角色,并延伸至更高级别的自主驾驶任务,如与高清地图和轨迹规划的融合。在自动驾驶车辆上收集的RGB图像基础上,车道线检测算法旨在提供结构的线集合,每条线代表3D车道线的2D投影。这些算法本质上是二维的,因为输入和输出都位于同一图像空间中。
Monocular 3D Lane Line Detection的目标是从单个图像直接预测道路场景中车道的3D布局。具体来说,3D车道线检测算法在相机坐标系的3D度量空间中输出一系列结构化的车道线。近年来,学术界和工业界已经在探索这项任务的可行性和应用方面做出了一些努力。一种简单的方法是使用逆透视映射(IPM)将2D车道检测结果重新投影回3D空间。然而,IPM假定地面平坦,且相机外在因素静态且经过良好校准。在现实世界的驾驶环境中,道路很少是平坦的,且由于速度变化或崎岖不平的道路,相机外在因素对车身运动很敏感。因此,正确的方法是恢复检测到的2D车道线上每个点的深度。如果我们在推理时可以使用激光雷达等主动3D测量设备,则通过将3D测量分配给车道线点,2D到3D的提升相对简单。如果我们在推理时只有相机图像,理论上,我们可以利用单目深度估计的最新进展来为车道线点分配深度值。尽管这种方法计算量很大,但本文回顾了更轻量级的方法来直接预测车道线点的3D位置。
单目3D车道线检测是对其他单目3D任务的补充,这些任务可以从单个RGB图像预测驾驶环境的3D信息,例如单目3D对象检测和单目BEV分割。也许并不奇怪,如何从单目图像中准确地恢复环境深度是这些领域的核心。二维车道探测网络在我们深入研究3D车道线检测算法之前,一个重要的2D车道线检测算法是重新审视LaneNet(Towards End-to-End Lane Detection: an Instance Segmentation Approach, IV 2018)。它的2D车道线检测性能已经被许多新算法超越,但在当时还是相当创新的,它的许多想法构成了3D车道线检测的基础。
LaneNet对2D车道线感知的贡献是提出了一种用于车道线语义分割的分段然后聚类方法——我们稍后将在Semi-local 3D LaneNet中再次讨论这个想法。更有趣的是,它还使用称为H-Net的轻量级网络直接从透视图像预测单应变换(以3x3矩阵H的形式)。单应变换矩阵H本质上是将采样的车道线点投影到BEV的IPM,用于优化车道拟合后处理。这里的基本假设是车道应该由BEV空间中的三阶多项式完美描述。LaneNet采用的另一个隐含假设是车道线位于平坦的道路上。对于有坡度的非平坦道路,没有一个最好的IPM可以描述透视图像和BEV图像之间的转换,LaneNet仍然使用单应变换逼近道路相机模型。
那么问题是——描述非平坦道路的最佳转换是什么?可能会争辩说,最好的转换应该准确地将地平线(相机图像中道路和天空之间的交汇点)映射到无限深度,或者你可能会争辩说最好的转换应该将最接近自我汽车的车道线投影到陆伏禅3D中早尘的平行线空间。LaneNet将最佳变换定义为一种映射,该映射使拟合曲线的重投影误差最小化。
3D车道探测网络普及单目3D车道线检测领域的开创性工作是来自通用汽车以色列研究中心的3D-LaneNet(ICCV 2019)。3D LaneNet不需要诸如平坦地面假设之类的脆弱假设,它只假设对局部路面的摄像机滚动为零。与2D LaneNet一样,它也估计2D透视图像和3D局部道路平面之间的单应变换。与直接预测单应矩阵的LaneNet不同,3D LaneNet预测唯一确定单应矩阵的相机高度和间距。这两个参数是以监督的方式学习的。网络架构是从图像转换为BEV空间的双通路主干。这实际上让我想起了自监督深度学习Sfm-learner(CVPR 2017)中的PoseNet结构,它预测6DoF自我运动,然后用它来扭曲相邻图像。
基于锚点的3D车道线表示
它不是直接预测车道线点的深度,而是首先预测相机的俯仰/高度,从而构建道路投影平面。道路投影平面根据摄像机安装俯仰角𝜑_cam和高度h_cam定义。然后相对于该平面表示3D车道线。具体而言,车道线点由其在平面上的投影点(x,y)和高程Δz定义。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+的形式在NeurIPS 2020研讨会上重新发布。
大部分工作基于3D LaneNet。它还具有双路径主干、相机高度和滚动预测,并具有BEV空间中的最后一个特征图。主要区别在于更灵活的车道线表示,允许对更复杂的车道拓扑进行建模,包括拆分、合并和垂直于车辆行驶方向的车道。
半局部表示还利用道路投影平面作为参考,并将其BEV投影到道路投影平面上的3D车道线公式化。然而,半局部3D LaneNet并没有将每个车道与预定义的锚点相关联,而是提出了一种紧凑的半局部表示。本质上,它将BEV图像(将3D结构投影到道路投影平面)分解为称为图像块的非重叠网格。假设每个图像瓦片只能有一条车道线穿过它,并且每个瓦片中裁剪的车道线段足够简单,可以参数化为2DoF线段(到瓦片中心的距离和方向)。然后下一步是为每个车道学习全局一致的嵌入,以将小车道段聚集成完整的曲线。这种先检测后聚类方法的灵感来自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还指出了3D-LaneNet的一个主要缺点,即在存在非零斜率的情况下,顶视图投影与IPM转换的特征不对齐。换句话说,IPM假设一个平坦的地面,并且当这个假设以非零斜率打破时,IPM转换后的视图不是真正的顶视图(BEV)。相反,IPM转换的特征是一个扭曲的BEV视图,在本文中称为虚拟顶视图。这个虚拟顶视图是通过光线追踪每个车道线点并投影到道路投影平面(下图中的橙色点)获得的。3D车道线groundtruths被预处理为虚拟顶视图,以与IPM转换特征对齐。真实顶视图和虚拟顶视图的概念不是很容易掌握。举一个更具体的例子,零偏航角的上坡3D
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜