PVALane作为最新的SOTA模型,横空出世,让我们来一起仔细阅读这篇文章
提出问题
上图展示了当前Lane Detection中的主要问题:
受益于3D物体检测的成功,当前的3D车道线检测模型(通常通过使用逆透视映射(IPM)将FV特征转换为鸟瞰视图(BEV)空间来检测3D车道线。由于不同车道在顶视图平面上的外观和几何形状相似,基于BEV的方法表现出几何的平移不变性。虽然BEV空间中的表示提供了更好的几何信息,但对IPM的依赖导致了一些意想不到的问题。如图1(a)所示,IPM的平坦地面假设使得BEV和3D地面真值(GT)空间在上坡或下坡情况下出现不对齐,因此该方法可能无法推广到具有不同视觉外观的粗糙地面场景。其次,IPM不可避免地导致FV特征中的原始语义和上下文信息的丢失。
为了解决这些挑战,近期的一些方法将重点转向了直接从FV中使用语义信息进行3D车道线预测。具体而言,这种方法通过将预定义的3D锚点投影到FV图像中的相应位置来获取车道线表示,然后基于这些锚点进行回归。虽然这种方法消除了视角变换的影响,但由于地面到图像的投影引入了透视几何失真。如图1(b)所示,FV图像上的锚点投影在远处难以区分,但在近处则明显分散,因此需要一个密集的锚点设计来减轻这些几何差异。然而,这些密集的锚点可能导致特征重叠和动态场景中的虚假检测,从而限制了其在几何导向任务(如3D车道线检测)中的有效性。
在将3D锚点投影到FV图像时,固定的锚点位置是因为这些锚点是在3D空间中预定义的,并且其在图像中的位置是通过一个固定的投影过程来确定的。以下是详细解释:
预定义的3D锚点:这些锚点是在3D空间中预设的,它们代表了车道线的可能位置。在进行检测时,这些3D锚点的空间位置是已知的,即它们在3D坐标系中的位置是固定的。
投影过程:为了将这些3D锚点转换到2D FV图像中,使用了透视投影或类似的变换方法。透视投影是将3D空间中的点通过相机模型映射到2D图像平面上的过程。这种映射过程是确定性的,也就是说,对于给定的3D点和相机参数,它在图像中的位置是唯一且固定的。
相机参数固定:在特定的检测任务中,通常假设相机的内参和外参是已知的,这些参数描述了相机的成像特性和位置。因此,给定相机的参数和3D锚点的位置,可以准确地计算出这些锚点在2D图像中的位置。
消除视角变化的影响:通过在图像中固定位置的锚点进行车道线预测,可以减少由于视角变化带来的影响,因为这些锚点在图像中提供了一个稳定的参考点。尽管图像中的车道线可能由于视角变化而变形,但由于锚点的位置是固定的,相对的车道线检测可以变得更加一致。
在本文中,我们引入了PVALane,一个基于先验的3D车道线检测模型,利用2D先验知识准确估计3D车道线的位置,如图1(c)所示。与直接利用经验性密集锚点进行车道线检测的方法(Huang et al. 2023)不同,我们建立了先验锚点(Prior Anchors),这些锚点几乎不需要额外成本地从2D预测中获得,并应用于下游的3D车道线检测。具体来说,在主干特征的顶部,我们构建了一个先验锚点网络(Prior Anchor Network,PAN),该网络将预定义的3D锚点投影到2D空间中,计算它们的物体存在概率,从而过滤掉没有潜在车道线的锚点,并将这些锚点用作先验锚点。这个先验锚点显式地提供了一个强有力的先验,指示车道线的定位,并确保仅使用高质量的先验锚点进行3D车道线检测。因此,由于减少了车道线搜索空间,它能够有效提高PVALane的精度。此外,PAN只需要少量额外的全连接层,并直接在FV特征上进行,因此可以作为一个易于部署的模块进行端到端的训练。
图 2:FV 和 BEV 模式下两个图像样本的激活图可视化。我们可以观察到,BEV 更倾向于感知几何属性(例如平行)和远处的车道线,而 FV 更专注于捕捉近处和上下文信息(例如路边)以进行车道线检测。(建议彩色查看以获得最佳效果)。
基于不同视角特征通常利用不同视图属性(例如上下文和几何)和区域信息进行车道线检测的直观见解(如图2所示),我们进一步提出了一个先验引导的视图无关特征对齐模块(Prior-Guided View-agnostic Feature Alignment Module,PVFA)。具体来说,PVFA将先验锚点投影到FV和BEV空间中,通过采样获取它们的相应特征,并随后将这些特征融合在一起。由于先验锚点在3D空间中定义且极其稀疏,它们可以有效缩小FV和BEV采样特征之间的关联。此外,这种共享的采样特征空间将下游车道线检测与视角空间解耦,使得PVALane本质上具备视角无关性,并可扩展到多视角/交叉视角场景。
换句话说,模型不再单纯依赖某一个视角的特征进行车道线检测,而是能够在不同视角之间无缝转换。这使得模型可以在各种不同的视角下表现一致,从而实现视角无关性。由于模型具备视角无关性,它可以适应多种不同的视角场景,比如来自多个摄像头的输入数据,或者是同一场景下的不同视角。这样PVALane就可以扩展到更复杂的场景中,比如在自动驾驶中使用多个摄像头来监测车道线。
本文的贡献总结如下:
- 我们引入了一种车道线检测的先验视角,提出了一个端到端的PVALane框架,该框架利用2D先验知识实现了精确且高效的3D车道线检测。
- 我们提出了一种新颖的先验锚点,该锚点几乎不需要额外成本地从准确的2D预测中获得,并显式地提供了强有力的车道线定位先验。
- 我们开发了一种视图无关的特征对齐方法,该方法利用先验锚点有效对齐并融合不同视图中的几何和语义信息。
- 实验表明,PVALane在两个流行的3D车道线检测基准上达到了新的最先进性能,并展现了出色的鲁棒性。
单目3D车道线检测的研究发展可以总结为以下几点:
- 3D-LaneNet (Garnett et al. 2019):
- 开创性工作,将前视图(FV)特征转换为鸟瞰视图(BEV)进行车道线检测。
- Persformer (Chen et al. 2022):
- 提出基于可变形注意力机制的空间特征转换,用于稳健的BEV特征提取。
- BEV-LaneDet (Wang et al. 2023):
- 引入虚拟摄像头,确保摄像头之间的空间关系一致性,改善车道线检测。
- 挑战:
- 虽然BEV表示具有更好的几何特性,但基于IPM的平坦地面假设在实际场景中存在局限性。
- Anchor3DLane (Huang et al. 2023):
- 直接从FV图像中检测3D车道线,不需要BEV或IPM,但需要密集的锚点设计来解决透视几何失真问题,容易导致混乱的车道表示。
- PVALane:
- 提出了稀疏的先验锚点,通过FV图像实现更清晰的车道线表示,消除了冗余锚点的影响。
- 结合了FV和BEV中的语义和结构信息,显著提高了车道线检测的精确性
Methodology
Lane Representation
Architecture
PVALane的总体架构如图3所示,具体过程如下:
-
输入2D前视图图像 (FV):
- 模型首先接收一张前视图(FV)的2D图像作为输入,并使用ResNet(He et al. 2016)作为特征提取的主干网络,提取出FV特征。
-
生成先验锚点:
预定义3D锚点:
- 3D锚点是预定义的一组3D坐标点,这些点的y坐标是固定的,表示在不同纵向位置(沿车道线前进方向)的采样点。每个3D锚点的x坐标、y坐标和z坐标共同定义了它在3D空间中的位置。
投影到前视图(FV)空间:
- 这些预定义的3D锚点通过几何投影变换被投影到前视图(FV)图像空间中。在这个步骤中,每个3D锚点都会对应到图像中的一个像素位置,从而将3D信息转换为2D图像中的表示。
计算车道线概率:
- 一旦3D锚点被映射到2D图像中,模型会计算每个锚点的车道线概率,即判断该锚点是否可能落在车道线的位置上。这个概率由先验锚点网络(Prior Anchor Network)生成,它根据FV特征来预测每个锚点是否包含车道目标。
筛选锚点:
- 为了减少冗余,模型会设置一个阈值。只有那些车道线概率高于预设阈值的3D锚点才会被保留为先验锚点,用于进一步的3D车道线检测。
-
编码和对齐特征:
- 然后,FV特征和鸟瞰视图(BEV)特征通过两个专门设计的视图编码器分别编码。
- 将先验锚点投影到相应的视图空间中,从而在共享的采样特征空间中对齐FV和BEV特征。
-
预测车道线:
- 最后,将对齐的特征传递给预测头,从而生成3D车道线的预测结果。
3D车道锚点
一个3D锚点将会有k个采样点,这Np个采样点描述了当前位置车道线的形状。每个采样点都是由一个位置坐标构成(x,y,z),其中y是固定的,模型主要预测x和z
锚点投影过程
从地面坐标系到相机坐标系的变换矩阵:
先验锚点生成步骤
-
特征提取:
- 从投影到前视图(FV)特征图中的3D锚点 FjaF_j^aFja 提取特征。
- 通过一个分类头对这些特征进行处理,得到每个锚点的车道分类得分。这个得分表示锚点属于每个车道类别的概率。
-
计算潜在车道概率
-
筛选高质量锚点
-
简化3D车道检测:
- 通过使用这个高效的2D预测头提供的先验,显著减少了3D车道检测的复杂性。这样,模型可以更好地专注于回归任务,从而提高检测性能。
损失函数 (Loss Function)
为了处理由于视角几何失真导致的正负样本不平衡问题,PVALane 使用了焦点损失 (Focal Loss) 进行分类训练。焦点损失能够有效地处理类别不平衡,并对难分类的样本给予更多关注。
几何失真 (Geometric Distortion)
几何失真指的是在不同视角或坐标系之间进行转换时,图像的几何特性发生的变形或扭曲。在计算机视觉中,这通常发生在从3D世界坐标系到2D图像平面进行投影时。以下是几何失真的一些关键点:
视角变化:从不同的视角(如前视图到鸟瞰图)进行转换时,物体的几何形状和空间关系会发生变化。例如,远处的物体可能在图像中显得更加密集或变形。
透视变换:透视投影会引起距离较远的物体在图像中变得更小,而距离较近的物体变得更大,这种失真会影响物体的实际位置和形状。
地面假设:在许多投影方法中,例如逆透视映射(IPM),通常假设地面是平的,这种假设在实际场景中可能不成立,尤其是在坡道或起伏的地面上,这会导致进一步的失真。
视角几何失真如何导致正负样本不平衡
在车道线检测任务中,视角几何失真会影响锚点(anchors)的分布,从而导致正负样本不平衡问题:
锚点的密度变化:由于几何失真,远处的车道线在前视图中的锚点可能非常密集,而近处的锚点可能较为稀疏。这意味着在图像中,车道线的不同部分可能会有不同数量的锚点,有些区域锚点非常多,而有些区域则很少或没有锚点。
锚点的重叠和遗漏:几何失真可能导致锚点的重叠或遗漏。例如,某些区域的锚点可能过于集中,导致模型难以正确区分车道线的具体位置。而在其他区域,锚点可能根本没有覆盖到车道线,这会导致检测模型在这些区域缺乏足够的信息。
类别不平衡:在几何失真的影响下,某些车道线的区域可能会出现过多的负样本(即没有车道线的区域),而正样本(即有车道线的区域)则可能相对较少。这种类别不平衡会影响模型的训练,使得模型在检测车道线时表现不佳。
View-specific Feature Encoding
1. 前视图 (FV) 特征编码器:
- 功能:该编码器专门设计用于处理前视图图像中的特征。这些特征通常包含丰富的上下文信息,比如道路的边缘、车道标记和周围环境的细节。
- 处理:它将前视图特征提取和处理的结果用于生成与车道线相关的特征,这些特征在原始图像空间中捕捉到具体的视觉信息。
2. 鸟瞰图 (BEV) 特征编码器:
- 功能:该编码器用于处理转换后的鸟瞰图像中的特征。BEV视图提供了更为直观的几何信息,如车道的平行性和车道之间的间距。
- 处理:它从BEV视图中提取特征,这些特征可以帮助模型更好地理解车道的空间结构和几何特性。
FV Context-aware Encoder
1. 输入特征
2. Transformer 编码器:
- 作用:Transformer 编码器通过自注意力机制来捕捉全局上下文信息。它可以处理长范围的依赖关系,使模型能够理解整个图像的上下文,而不仅仅是局部区域。
3. 线性投影:
- 作用:线性投影层是一个全连接层,用于将 Transformer 编码器输出的特征进一步投影到所需的维度。
4. 输出特征:
- 全局上下文:通过这种编码方式,模型能够获取全局范围的上下文信息和高层次的语义特征,这对于理解场景中的复杂结构和车道线的空间关系非常重要。
BEV Geometric-aware Encoder
1. 点映射:
-
前视图点映射到BEV空间
2. 特征融合:
- 多尺度特征融合:
- 结构:
- 与特征金字塔网络(FPN)类似,BEV编码器在相邻的金字塔层之间进行特征融合。
- 两个BEV特征层 Fl−1bev和 Flbev通过下采样层进行合并,然后通过卷积块处理。
- 结构:
3. 功能和目标:
- 几何信息的传播:
- 这种编码器设计使得几何信息可以从粗略到细致地传播,提高了模型在处理复杂场景时的鲁棒性。
- 场景理解的增强:
- 在BEV视图中共享不同尺度之间的知识有助于增强模型对复杂场景的处理能力,提升车道检测的准确性。
Prior-Guided Projection and Sampling
1. 投影先验锚点
- 目的: 将先验锚点投影到前视图(FV)和鸟瞰视图(BEV)中,以便从相应的特征图中提取信息。
- 过程:
2. FV空间中的特征采样
-
目的: 从FV特征图中提取与先验锚点对应的特征。
3. BEV空间中的特征采样
-
目的: 从BEV特征图中提取与先验锚点对应的特征。
View-Agnostic Feature Alignment
目标: 将通过先验锚点投影采样得到的FV特征 和BEV特征对齐,从而实现视图无关的特征对齐,并融合这两种视图中的信息。
特征转化和融合
-
特征转化:
- 首先,将采样得到的 FV 和 BEV 特征从二维空间转化为通道维度。这意味着将每个特征图展平,形成一个包含所有通道信息的一维向量。
-
特征融合:
- 使用融合模块 将展平后的 FV 和 BEV 特征进行融合。该模块将两个特征向量合并为一个统一的特征表示。
- 公式为:
2. 特征对齐
-
视图无关性:
- 由于两种特征是通过统一的先验锚点投影采样得到的,它们在特征空间中可以被视为视图无关的。因此,可以通过先验锚点的指导,简单地对齐这两个特征。
- 视图无关的特征对齐使得不同视图的信息可以有效地融合,从而增强网络对道路场景三维结构的推断能力。
-
效率提升:
- 使用稀疏的先验锚点对 FV 和 BEV 特征进行对齐,显著减少了它们之间的关联空间,从而提高了模型的效率。即减少了需要关联的特征空间,从而使得特征融合更加高效。
Prediction Loss
目标: 计算3D车道预测的损失,包括分类损失、回归损失以及与先验锚点相关的损失。通过这些损失来优化车道检测模型的预测精度。