本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面 & 笔者的个人理解
单目图像的准确3D车道线检测面临重大挑战,主要由于深度信息的歧义性和地面建模的不完善。以往的研究通常采用具有有限自由度的平面地面假设进行地面建模,这在复杂道路环境中,尤其是存在不同坡度的情况下,显得力不从心。本研究提出了一种名为HeightLane的创新方法,它基于多斜率假设创建锚点,从单目图像中预测出高度图,从而提供对地面的详细和精确表示。HeightLane结合了预测出的高度图和基于可变形注意力机制的空间特征转换框架,高效地将2D图像特征转换为3D鸟瞰视图(BEV)特征,增强了空间理解力和车道结构识别能力。此外,高度图还被用于BEV特征的位置编码,进一步提升了空间精度。这种显式视图转换方法有效地弥合了前视感知与空间精确的BEV表示之间的差异,显著提高了检测性能。为了解决原始OpenLane数据集中缺少必要的地面真实高度图的问题,作者利用Waymo数据集的LiDAR数据,为每个场景的可行驶区域生成了高度图。使用这些真实高度图训练了从单目图像中提取高度图的模块。在OpenLane验证集上的广泛实验表明,HeightLane在F-score等指标上达到了最先进的性能,展示了其在现实世界应用中的潜力。
相关工作总结
3D车道检测
3D车道检测对于现实驾驶场景中的准确定位至关重要。虽然2D车道检测已经得到了广泛的研究,但关于3D车道建模的却相对较少。传统的方法通常使用逆透视变换(IPM)将2D特征转换到3D空间,基于道路平坦的假设。然而,这种假设在遇到斜坡或下坡等不平坦地形时会失效,导致特征表示扭曲和可靠性降低。
SALAD通过结合前视图图像分割与深度估计来解决3D车道检测问题,但它依赖于密集的深度注释和精确的深度预测。此外,远处车道因显得较小,每个像素覆盖的深度范围更广。M2-3DLaneNet通过融合LiDAR数据增强单目3D检测,将图像特征提升至3D空间,并在鸟瞰视图(BEV)空间中融合多模态数据,但这增加了数据收集的复杂性和成本。DV-3DLane同样使用LiDAR和相机输入进行3D车道检测,但它从两种来源生成车道查询,而非提升图像特征。
与此同时,BEVLaneDet采用视图关系模块学习图像特征与BEV特征之间的映射,要求两者之间的关系固定。该论文引入了一种虚拟坐标,始终使用特定的外参矩阵和内参矩阵来调整图像。此外,它不是使用BEV特征的锚点,而是提出一种在BEV上直接预测车道的关键点表示法。LATR和Anchor3DLane通过将地面假设为具有2个自由度(2-DoF)的平面,在3D车道检测方面取得了最新进展。
LATR使用地面建模作为变换器中的位置编码,预测地面的俯仰角和高度;而Anchor3DLane则利用俯仰角和偏航角进行2D特征提取。与此不同,作者的方法HeightLane在BEV空间中仅使用LiDAR创建地面真实高度图。与M23DlaneNet不同,后者在推理过程中需要同时使用LiDAR和相机数据,而HeightLane仅依赖相机数据简化了推理过程。作者的方法不是用2-DoF对地面进行建模,而是预测预定义BEV网格中每个点的高度,创建了一个密集的高度图。通过采样专注于地面的空间特征,作者生成了BEV特征,允许使用关键点表示法进行准确的3D车道预测,有效地桥接了2D图像数据和3D车道几何学。这种方法优化了空间特征的处理,在保持高精度的同时提高了效率。
鸟瞰视图高度建模
BEVHeight引入了一种新颖的方法,将深度估计中使用的深度分箱技术应用到高度概念上。这种方法通过对图像中的物体高度箱进行分类,首次提出了一种回归方法,用于确定3D目标检测中物体与地面之间的高度。然而,该方法的实验仅限于路边相机数据集,限制了研究的应用范围。BEVHeight旨在通过利用物体的高度信息,提供更精确的3D位置信息。
另一方面,HeightFormer利用Nuscenes自动驾驶数据集,尝试回归物体与地面之间的高度。HeightFormer将预测的高度信息整合到变换器的解码器中,与基于深度的方法相比,实现了性能的提升。这一改进展示了利用高度信息进行更准确3D目标检测的潜力。
作者提出的方法HeightLane,利用了车道始终附着在地面上的特性。通过仅预测相对于地面的高度,HeightLane显式地将图像特征转换到对应于地面的预定义BEV网格中。这种方法简化了任务,旨在提高3D目标检测中空间转换的准确性。
HeightLane方法详解
图 2. HeightLane方法的总体架构图。HeightLane接收一个2D图像作为输入,并通过卷积神经网络(CNN)主干提取多尺度的前视图特征。利用预定义的多斜率高度图锚点、车辆坐标到相机坐标的外参矩阵T以及相机的内参矩阵K,将2D前视图特征采样到鸟瞰视图(BEV)网格上,以形成BEV高度特征。随后,该BEV高度特征通过一个CNN层进一步处理,以预测高度图。预测出的高度图用于空间特征的转换,其中初始的BEV特征查询和高度图共同确定了查询在前视图特征中应参考的像素点。在这个过程中,前视图特征充当键和值,而BEV特征则作为查询。通过可变形注意力机制,这一流程最终生成了增强的BEV特征查询。
高度提取模块
高度预测
高度监督
图 3. 在OpenLane验证集中展示的“上坡和下坡”场景下,LiDAR数据累积的结果。左侧的颜色条表示与道路高度相对应的颜色值。
高度引导的空间变换框架
作者提出的空间变换框架利用第3.1节预测的高度图,如图4所示。BEV初始查询经过自注意力模块处理,在自注意力过程中,BEV查询之间进行交互,并为每个BEV查询添加位置编码以提供位置信息。位置编码是可学习的参数。与在2D FV特征上执行注意力的研究不同,作者的方法使用BEV网格坐标和每个BEV查询的高度嵌入进行位置编码。
图 4. 使用可变形注意力的高度引导空间变换框架结构图。该框架展示了BEV查询如何在自注意力阶段接收高度位置编码,并在交叉注意力阶段通过高度图映射到图像像素。可变形注意力学习了从参考点到周围区域的偏移,以生成多个参考点。
训练
实验结果和分析
数据集
作者的方法在OpenLane数据集上进行了评估,该数据集覆盖了多样的道路条件、天气状况和照明环境。OpenLane建立在Waymo数据集基础之上,使用了150,000张图像用于训练,40,000张图像用于测试。该数据集包含798个训练场景和202个验证场景,每个场景大约包含200张图像。尽管OpenLane数据集本身不包含生成高度图所需的信息,但由于其基于Waymo数据集构建,作者能够从中提取每个OpenLane场景所需的LiDAR数据。在提取LiDAR数据的过程中,作者注意到数据在每个场景的中部密集,而在末端帧则变得稀疏。例如,图3展示了一个场景,其中车辆启动、上坡、右转,并继续行驶在另一段坡道上。在起始点(绿色区域),LiDAR数据较为稀疏,因此作者采用了双线性插值来填补高度图中的空隙,以确保高度图的一致性。作者的评估包括了多种场景,如上坡/下坡、曲线、极端天气、夜间、交叉口以及合并/分流等条件。评估指标包括F分数、近端和远端的X误差以及Z误差。
实现细节
作者采用了ResNet-50作为2D特征提取的骨干网络,并将图像尺寸设定为576×1024像素。为了获得多尺度的图像特征,作者增加了额外的CNN层,以产生尺寸为输入图像1/16和1/32的特征图,每个特征图具有1024个通道。高度图和BEV特征的BEV网格尺寸被设置为200×48像素,分辨率为每像素0.5米。在高度提取模块中,作者为多斜率高度图锚点设置了-5°、0°和5°的斜率Θ。在5°的斜率下,高度图能够表示高达约8.75米的高度。在高度引导的空间特征转换中,作者使用了具有2个注意力头和4个采样点的可变形注意力机制。位置编码是通过嵌入BEV网格的X和Y位置以及相应的预测高度来生成的。
在OpenLane上的评估
定性结果
图5展示了OpenLane验证集上的定性评估结果。作者的方法HeightLane、现有的最佳性能模型LATR以及地面真实值的预测结果被可视化展示。其中,地面真实值用红色表示,HeightLane用绿色表示,LATR用蓝色表示。图5的第一行展示了输入图像,第二行展示了在3D空间中HeightLane、LATR和地面真实值的可视化对比。第三和第四行分别从Y-Z平面视角展示了HeightLane与地面真实值、LATR与地面真实值的3D车道对比。
图 5. 在OpenLane验证集上,与现有最佳性能模型LATR相比,作者的方法HeightLane的定性评估结果。第一行:输入图像。第二行:3D车道检测结果 - 真实值(红色)、HeightLane(绿色)、LATR(蓝色)。第三行和第四行:从Y-Z平面视角展示的真实值与HeightLane、LATR的对比。放大可查看更多细节。
特别是,HeightLane即使在车道中断后再次出现的场景中,如交叉口或减速带上方,也能准确检测到车道。这一点在图5的第1、2、4、5和6列中尤为明显。例如,在第1列中,尽管存在车辆遮挡和部分车道标记不完整,HeightLane仍然能够提供精确的车道预测,证明了其在处理具有遮挡和信息不完整的复杂场景中的鲁棒性。此外,借助高度图的使用,HeightLane有效地模拟了道路坡度的变化,如图3所示,道路从平坦过渡到有坡度的情况。在展示曲线道路和部分可见车道的第2和5列中,HeightLane展示了其在曲线上维持连续车道检测的优越预测精度和性能。
图6可视化了高度提取模块预测的高度图,从左到右依次为输入图像、预测高度图和地面真实值高度图。场景从上到下依次为上坡、平地和下坡路段,更多可视化结果可在补充材料中找到。
图 6. 高度提取模块的可视化结果。从左至右依次为:输入图像、预测的高度图和真实值高度图。图像展示了上坡、平地和下坡的场景。
定量结果
表1展示了HeightLane在OpenLane验证集上的定量评估结果。作者的模型在总体F分数上达到了62.5%,超越了所有现有的最先进模型。特别是在极端天气、夜间和交叉口等具有挑战性的场景中,HeightLane实现了显著的性能提升,并在这些条件下取得了最佳成绩。此外,HeightLane在曲线和合并/分流场景中也展现了强劲的性能,获得了这些类别中的第二佳表现。尽管在持续上坡或下坡的场景中,HeightLane的表现不是最佳,因为在这些情况下,2-DoF平面假设已经足够。然而,HeightLane在斜率变化的场景中表现出色,如图5第3列所示,证明了其在处理变化坡度条件下的适应性和预测能力。
表 1. 在OpenLane验证集的不同场景下,使用F分数对不同方法进行的定量结果比较。每个场景中最佳和次佳结果分别用粗体和下划线标出。
表2展示了Openlane验证集上的F分数、X误差和Z误差的定量比较结果。HeightLane在F分数方面取得了最佳成绩,超越了其他所有模型,达到了62.5%。虽然在Z误差方面并未达到最佳或第二佳的表现,但仍然展示了具有竞争力的结果。在X误差方面,HeightLane实现了第二佳的性能,证明了其在横向方向上准确估计车道位置的能力。
表 2. 在OpenLane验证集上,与其他模型的定量结果比较。评估指标包括F分数(越高越好)、近端和远端的X误差与Z误差(越低越好)。最佳和次佳结果分别用粗体和下划线标出。
消融实验
表3展示了不同高度提取方法对应的F分数。视图关系模块,最初在[18]中提出,并在[22]中作为一个MLP模块用于转换BEV特征。单斜率高度图锚点方法将零高度平面投影到图像上,并使用从该平面采样的图像特征作为BEV特征。然而,这种方法假设地面是平坦的,并且仅在该高度处采样2D图像特征,导致特征表示不完整。相比之下,作者提出的多斜率高度图锚点方法在图像上投影了具有不同斜率的多个平面,从每个平面采样图像特征,并将它们融合以形成BEV特征。这种多锚点方法实现了最高的F分数。
表 3. 根据不同的高度提取方法得到的F分数比较。表格中标粗的配置表示作者最终采用的方案。
表4展示了不同高度图锚点设计对应的F分数。第一行对应于表3中的单斜率高度图锚点。当使用0°加上±3°时,性能比仅使用0°提高了4.5%。同样,使用0°加上±5°时,性能提升了6.3%。尽管0°、±3°和±5°的配置实现了最佳性能,但与仅使用0°和±5°相比,性能提升的边际效应较小。然而,增加高度图锚点的数量会增加最终BEV高度特征中的通道数,从而增加计算成本。为了在性能和计算效率之间取得平衡,作者最终选择了0°和±5°高度图锚点的配置作为论文中的最终方法。
表 4. 根据不同高度图锚点设计得到的F分数比较。表格中标粗的配置表示作者最终采用的方案。
表5将作者的方法与各种多模态3D车道检测器进行了比较。其中,Ours (GT)表示在推理步骤中使用真实高度图代替高度提取模块获得的结果。这种替代旨在观察在假设高度提取模块预测的高度图非常准确的情况下,空间特征变换框架的性能。通过使用从LiDAR数据获得的真实高度图,作者可以与使用LiDAR输入的检测器进行公平的比较。结果表明,当高度图预测准确时,作者的HeightLane方法能够实现与使用LiDAR和相机输入的模型相当或甚至更好的性能。这证明了作者方法的潜力,能够有效地利用精确的高度信息,突出了作者在2D图像数据和3D车道几何转换中的鲁棒性和能力。
表 5. 与多模态模型在OpenLane验证集上的比较结果。“Ours (GT)”表示在推理阶段使用真实高度图代替预测的高度图。其中,M代表仅使用相机数据,ML代表同时使用相机和LiDAR数据。
结论
作者的研究工作通过提出一种创新的高度图方法,成功克服了单目图像中3D车道检测面临的主要挑战,包括深度信息的不确定性和地面建模的不完善性。作者的主要贡献包括:
- 定义了一个用于直接从图像中预测高度信息的鸟瞰视图(BEV)网格和多斜率高度锚点。
- 提出了一个由高度图引导的空间特征转换框架。
- 在OpenLane数据集的复杂场景中,实证展示了作者的HeightLane模型的卓越性能。
本研究所提出的方法通过高度图增强了对空间结构的理解和车道的识别能力,显著提升了自动驾驶车辆系统的技术水平。通过精确的3D变换,这些技术进步为自动驾驶领域的发展提供了强有力的支持。作者通过广泛的实验验证了模型的有效性,这标志着在将3D车道检测技术应用于现实世界场景方面迈出了重要的一步。