(Lane Detection-3)PVALane————OpenLane数据集的SOTA模型

news2024/11/22 18:08:24

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空间中预定义的,并且其在图像中的位置是通过一个固定的投影过程来确定的。以下是详细解释:

  1. 预定义的3D锚点:这些锚点是在3D空间中预设的,它们代表了车道线的可能位置。在进行检测时,这些3D锚点的空间位置是已知的,即它们在3D坐标系中的位置是固定的。

  2. 投影过程:为了将这些3D锚点转换到2D FV图像中,使用了透视投影或类似的变换方法。透视投影是将3D空间中的点通过相机模型映射到2D图像平面上的过程。这种映射过程是确定性的,也就是说,对于给定的3D点和相机参数,它在图像中的位置是唯一且固定的。

  3. 相机参数固定:在特定的检测任务中,通常假设相机的内参和外参是已知的,这些参数描述了相机的成像特性和位置。因此,给定相机的参数和3D锚点的位置,可以准确地计算出这些锚点在2D图像中的位置。

  4. 消除视角变化的影响:通过在图像中固定位置的锚点进行车道线预测,可以减少由于视角变化带来的影响,因为这些锚点在图像中提供了一个稳定的参考点。尽管图像中的车道线可能由于视角变化而变形,但由于锚点的位置是固定的,相对的车道线检测可以变得更加一致。

在本文中,我们引入了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车道线检测的研究发展可以总结为以下几点:

  1. 3D-LaneNet (Garnett et al. 2019)
    • 开创性工作,将前视图(FV)特征转换为鸟瞰视图(BEV)进行车道线检测。
  2. Persformer (Chen et al. 2022)
    • 提出基于可变形注意力机制的空间特征转换,用于稳健的BEV特征提取。
  3. BEV-LaneDet (Wang et al. 2023)
    • 引入虚拟摄像头,确保摄像头之间的空间关系一致性,改善车道线检测。
  4. 挑战
    • 虽然BEV表示具有更好的几何特性,但基于IPM的平坦地面假设在实际场景中存在局限性。
  5. Anchor3DLane (Huang et al. 2023)
    • 直接从FV图像中检测3D车道线,不需要BEV或IPM,但需要密集的锚点设计来解决透视几何失真问题,容易导致混乱的车道表示。
  6. 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图像平面进行投影时。以下是几何失真的一些关键点:

  1. 视角变化:从不同的视角(如前视图到鸟瞰图)进行转换时,物体的几何形状和空间关系会发生变化。例如,远处的物体可能在图像中显得更加密集或变形。

  2. 透视变换:透视投影会引起距离较远的物体在图像中变得更小,而距离较近的物体变得更大,这种失真会影响物体的实际位置和形状。

  3. 地面假设:在许多投影方法中,例如逆透视映射(IPM),通常假设地面是平的,这种假设在实际场景中可能不成立,尤其是在坡道或起伏的地面上,这会导致进一步的失真。

视角几何失真如何导致正负样本不平衡

在车道线检测任务中,视角几何失真会影响锚点(anchors)的分布,从而导致正负样本不平衡问题:

  1. 锚点的密度变化:由于几何失真,远处的车道线在前视图中的锚点可能非常密集,而近处的锚点可能较为稀疏。这意味着在图像中,车道线的不同部分可能会有不同数量的锚点,有些区域锚点非常多,而有些区域则很少或没有锚点。

  2. 锚点的重叠和遗漏:几何失真可能导致锚点的重叠或遗漏。例如,某些区域的锚点可能过于集中,导致模型难以正确区分车道线的具体位置。而在其他区域,锚点可能根本没有覆盖到车道线,这会导致检测模型在这些区域缺乏足够的信息。

  3. 类别不平衡:在几何失真的影响下,某些车道线的区域可能会出现过多的负样本(即没有车道线的区域),而正样本(即有车道线的区域)则可能相对较少。这种类别不平衡会影响模型的训练,使得模型在检测车道线时表现不佳。

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车道预测的损失,包括分类损失、回归损失以及与先验锚点相关的损失。通过这些损失来优化车道检测模型的预测精度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2121186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode 最大子数组和

使用“Kadane’s Algorithm”来解决。 Kadane’s Algorithm 在每个步骤中都保持着一个局部最优解,即以当前元素为结尾的最大子数组和(也就是局部最优解),并通过比较这些局部最优解和当前的全局最优解来找到最终的全局最优解。 Kadane’s Algorithm的核…

git使用手册

其余内容可以参考洪的学习笔记 一 安装 Linux sudo apt-get install gitWIndows “Git”->“Git Bash” 1.1 配置 分布式版本控制,所有机器自报家门 git config --global user.name "Your Name" git config --global user.email "emailexa…

HashTable哈希表;对象流

HashTable HashMap&HashTable 编号比较HashMapHashTable1线程安全✕✓2keynull✓✕3valuenull✓✕4效率高低 package com.ffyc.map;import javax.print.DocFlavor; import java.util.HashMap; import java.util.Hashtable; import java.util.Map;public class HashTableD…

LLMs技术 | 整合Ollama实现本地LLMs调用

前言 近两年AIGC发展的非常迅速,从刚开始的只有ChatGPT到现在的很百家争鸣。从开始的大参数模型,再到后来的小参数模型,从一开始单一的文本模型到现在的多模态模型等等。随着一起进步的不仅仅是模型的多样化,还有模型的使用方式。…

如何修改tomcat服务器的端口号?

四、如何修改tomcat服务器的端口号? 有3种方式修改tomcat服务器的端口号: (1)修改 conf/server.xml (2)集成的本地Tomcat中通过HTTP port修改 (3)pom.xml文件中通过tomcat插件的co…

EG边缘计算网关连接中移ONENET物联网平台(MQTT协议)

上文:EG边缘计算网关连接阿里云物联网平台(MQTT协议) 需求概述 本章节主要实现一个流程:EG8200mini采集Modbus RTU数据,通过MQTT协议连接中移ONENET物联网平台 Modbus RTU采集此处不做过多赘述,可参考其…

什么是迟滞?

在描述两个量之间的关系时,我们通常可以说特定的输入值对应于特定的输出值。例如,放大器具有输入电压和输出电压,这些电压与增益相关(在现实生活中增益是频率的函数而不是常数)。如果我们忽略饱和等非理想因素&#xf…

【实战篇】为什么我的MySQL会“抖”一下?

背景 不知道你有没有遇到过这样的场景,一条 SQL 语句,正常执行的时候特别快,但是有时也不知道怎么回事,它就会变得特别慢,并且这样的场景很难复现,它不只随机,而且持续时间还很短。看上去&…

Conda安装R环境并在Jupyter Lab中运行

说明: Conda 安装 R 环境,并在 Jupyter Lab 中运行 R 脚本。 1. 创建环境并安装r-base 创建环境:conda create -n [环境名] 激活环境:conda activate [环境名] 安装 Jupyter Lab:conda install -c conda-forge jupy…

【北京迅为】《STM32MP157开发板使用手册》-第十七章 制作Ubuntu文件系统

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器,既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构,主频650M、1G内存、8G存储,核心板采用工业级板对板连接器,高可靠,牢固耐…

SpringBoot2:请求处理原理分析-接口方法的返回值处理(returnValueHandlers)

一、知识回顾 前面,我们学习了,一个请求过来,先经过filter组件,判断restful风格接口的请求类型。 然后,通过HandlerMapping找到处理该请求的接口。 接着,进入接口方法的参数解析环节,这里主要学…

低代码开发:业务与技术的完美融合

正文: 随着数字化转型的加速,企业对应用软件的需求日益增长。然而,传统的开发方式往往费时费力,难以满足市场的快速变化。在此背景下,低代码开发平台应运而生,它们正逐步改变我们的工作方式,让…

AI辅助设计的底层逻辑与革命性应用

在数字化浪潮席卷各行各业的今天,人工智能(AI)以其强大的数据处理能力和智能决策支持,正逐步渗透到设计领域的每一个角落。AI辅助设计,作为这一趋势的先锋,正以其独特的底层逻辑和创新方法,引领…

基于vue框架的城市环卫车辆管理系统971x5(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:环卫工,车辆信息,车辆借用,车辆报修,通知公告,车辆归还,报修处理,车辆分类,员工打卡,员工请假,加班申请,员工任务 开题报告内容 基于Vue框架的城市环卫车辆管理系统开题报告 一、研究背景与意义 1.1 研究背景 随着城市化进程的加速&…

Vue 介绍与体验

目录 Vue 介绍与体验vue 简介vue 概念vue 特性数据驱动视图双向数据绑定 MVC和MVVM模型vue 版本 Vue的 optionsdata属性methods属性 Vue 的基本使用Vue 安装与使用Vue2 安装与使用(可选) Vue 的调试工具 Vue 介绍与体验 vue 简介 Sum: 概念…

PI电动位移平台简明教程

该文章仅供参考,编写人不对任何实验设备、人员及测量结果负责!!! 0 引言 文章主要介绍PI位移台的硬件连接、软件配置以及软件控制。文章中提到的内容在产品手册中都有说明,强烈建议在操作前通读产品手册,…

【Qt】Qt界面美化 | QSS

文章目录 QSS概述QSS 设置方式1. 指定控件设置样式2. 全局样式设置3. 样式的层叠4. 从文件加载样式表5. 使用 Qt Designer 编辑样式 选择器选择器概述1. 类选择器2. ID选择器3. 子控件选择器(Sub-Controls)4. 伪类选择器(Pseudo-States) 样式属性盒子模型(Box Model) 控件样式实…

YOLOv5改进 | 模块缝合 | C3 融合RFAConv和CBAM注意力机制 【二次融合 小白必备】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv5入门 改…

系统设计文档示例

设计文档示例 文章目录 设计文档示例一、整体架构二、业务或功能-模块设计2.1、需求说明2.2、交互流程2.3、页面设计2.4、功能实现逻辑2.4.1 API设计2.4.2 DB设计 三、 配置说明四、开发示例 一、整体架构 系统架构图简要说明部署架构图简要说明功能模块图简要说明技术架构:前…

智汇云舟在京举办2024视频孪生产品发布会

9月6日,由北京智汇云舟科技有限公司(以下简称“智汇云舟”)主办的“智算时空 重塑视界”2024视频孪生产品发布会在北京举行。此次活动汇聚了来自科技界的众多精英、合作伙伴及行业媒体,共同见证了视频孪生技术的最新成果与未来展望…