引言
目前3D车道线检测的主流方法有两类:
一类是将输入的2D图像通过IPM变换投影到BEV空间,然后使用曲线拟合或者原先的anchor来获取BEV车道。缺点:这种流程在实际驾驶过程中可能会在像上坡和下坡等具有挑战性的情况下引发其他问题。
另一类方法使用先验3D锚点,投影到2D图像,提取车道线特征,然后基于这些锚点进行回归。然而,这些方法在某些特定场景下缺乏足够的灵活性\
解决方案
-
虚拟相机(Virtual Camera):一种新颖的预处理模块,用于统一相机的内外参,确保数据分布的一致性。
这个虚拟相机模块的主要作用就是通过计算相机内外参(即相机的内部参数和外部参数),将不同车辆上的前向相机的图像转换到一个统一的 BEV 视图中。这意味着,尽管这些相机可能在不同车辆上、具有不同的拍摄角度和位置,但通过这种方法,它们的视图可以被统一成一个标准的 BEV 视图。由于统一的视觉空间,它可以有效促进学习过程。
-
关键点表示(Key-Points Representation):一种简单但有效的 3D 车道结构表示方法。
-
空间变换金字塔(Spatial Transformation Pyramid):一种基于 MLP 的轻量化且易于部署的架构,实现从多尺度前视特征到 BEV 的变换。
空间变换是3D车道检测中的一个关键模块,它负责将前视特征转换为BEV(鸟瞰图)特征。以下是常用的空间变换模块及其特点:
IPM(Inverse Perspective Mapping)方法:
- 特点:IPM基于相机的内外参,通过将图像特征从相机视角映射到地面平面来获得BEV特征。
- 缺点:这些方法对相机内外参依赖较大,并且忽略了地面起伏和车辆振动,这可能导致在实际应用中的不准确性。
基于MLP(多层感知机)的方法:
- 特点:MLP方法使用固定的空间映射,将前视特征转换为BEV特征。
- 优点:计算速度较快且对芯片友好。
- 缺点:由于固定的映射方式,难以与相机内外参有效集成,表现不如其他方法。
基于Transformer的方法:
- 特点:Transformer方法提供了更强的特征表达能力和鲁棒性,能够处理复杂的空间变换。
- 缺点:计算量大,难以部署到自动驾驶芯片中。
基于深度的方法:
- 特点:这类方法利用深度信息进行空间变换,可以生成高质量的BEV特征。
- 缺点:计算量大,不适合实时部署。
本文选用基于MLP(多层感知机)的方法,为了改善由于固定的映射方式,难以与相机内外参有效集成这一缺陷,使用了虚拟相机这一预处理模块。
Methodology
整个网络架构包括五个主要部分:
-
虚拟相机(Virtual Camera):
- 功能:统一相机的内外参。通过虚拟相机模块,将输入图像的所有内外参转换为统一的内外参。这确保了不同车辆前视相机空间关系的一致性,从而减少了数据分布的变异性。
-
前视特征提取器(Front-view Backbone):
- 功能:从前视图图像中提取特征。使用ResNet18和ResNet34作为特征提取器,通过实验比较这两种网络的效果。这一步骤生成的前视特征是后续处理的基础。
-
空间变换金字塔(Spatial Transformation Pyramid):
- 功能:将前视特征转换为BEV(鸟瞰图)特征。这个模块基于[21]的多尺度空间变换设计,灵感来源于FPN(特征金字塔网络)[17]。它能够处理不同尺度的特征,快速且有效地进行空间变换。
-
关键点表示(Key-Points Representation):
- 功能:基于关键点的3D车道检测头。通过关键点检测来表示3D车道结构,提供准确的车道预测。关键点表示对于处理复杂的车道结构特别有效。
-
前视检测头(Front-view Head):
- 功能:作为辅助监督的2D车道检测头。它用于在前视图上进行车道检测,提供额外的监督信息以增强模型的能力。
虚拟相机(Virtual Camera)
虚拟相机的作用是统一不同车辆的相机内外参,从而提高3D车道检测的准确性。具体原理如下:
-
问题背景:
- 相机内外参差异:不同车辆的相机有不同的内外参,这会对3D车道检测的结果产生重大影响。
- 传统方法:一些方法将相机的内外参直接集成到网络特征中 [3, 23],但这种方式可能会导致特征的不一致性。
-
虚拟相机的设计:
-
单应性矩阵的计算:
-
推理阶段的应用:
基于MLP的空间变换金字塔(Spatial Transformation Pyramid)
背景:
- 深度基方法和Transformer基方法通常计算开销大,不利于在自动驾驶芯片上部署。
- 为了应对这些问题,提出了一种轻量级且易于部署的空间变换模块,称为视图关系模块(View Relation Module, VRM),基于多层感知器(MLP)。
VRM模块:
- 功能:VRM模块通过一个固定的映射关系,学习前视图特征和BEV(鸟瞰图)特征之间的关系。这个模块对于前视图特征和BEV特征中的任意两个像素位置之间的关系进行建模。
- 固定映射:VRM是一个固定映射的模块,这意味着它不会动态调整以适应不同相机参数带来的变化。然而,虚拟相机通过统一不同相机的内外参,弥补了这一缺陷。
低分辨率特征的优势:
- 适合空间变换:实验表明,低分辨率特征更适合在VRM中进行空间变换。原因在于低分辨率特征包含更多的全局信息,而且由于MLP基空间变换是固定映射,低分辨率特征需要的映射参数较少,更容易学习。
- 特征分辨率:通过实验比较,最终选择了输入图像的1/64分辨率特征 和1/32分辨率特征进行变换,然后将这两个分辨率的结果连接起来(concatenate)。
空间变换金字塔设计:
- 金字塔结构:设计了一个基于VRM的空间变换金字塔,如图2中的红色框所示。这个结构结合了不同分辨率的特征来提升变换的效果。
- 公式:
Key-Points Representation(关键点表示)
背景:
- 3D车道的表示方式对3D车道检测结果有着显著影响。本文提出了一种简单而稳健的表示方法,用于在BEV(鸟瞰图)中预测3D车道。此方法借鉴了YOLO和LaneNet的思路。
方法概述:
-
BEV平面划分:
-
预测头:
- 对于每个网格单元,直接预测四个头部,包含:
- 置信度(Confidence):表明该网格单元包含车道的信心程度。
- 嵌入(Embedding):用于聚类的特征表示。
- 偏移量(Offset):从网格中心到车道的偏移量(在y方向)。
- 平均高度(Height):每个单元的平均高度
- 对于每个网格单元,直接预测四个头部,包含:
-
网格单元大小的影响:
- 网格单元的大小对3D车道预测有很大影响。如果网格单元过小,会影响置信度分支中正负样本的平衡;如果网格单元过大,不同车道的嵌入特征会重叠。实验推荐网格单元大小为 0.5×0.5 米。
-
训练和推理:
- 在训练和推理阶段,预测范围为 (−10米,10米) 的 y 方向和 (3米,103米)的 x 方向。
- 最终输出四个 200×40分辨率的张量,包括置信度、嵌入、偏移量和高度。
- 在训练和推理阶段,预测范围为 (−10米,10米) 的 y 方向和 (3米,103米)的 x 方向。
-
合并分支:
- 将置信度分支、嵌入分支和偏移量分支合并,以获得BEV下的实例级车道。
- loss