VAD端到端系列梳理以及阅读

news2025/2/13 10:04:40

0. 简介

最近VAD v2论文出来了,又掀起了一波该系列模型的热点。我们先看一下蒋博的文章,然后再来看一下《VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning》这篇文章,代码目前还没开源,可以期待一波。等开源后作者也会来仔细阅读这部分代码的。

1. VAD系列对比

1.1 VAD v1 基于矢量场景表征的端到端自动驾驶

自动驾驶系统通常采用分阶段模块化的设计,即感知、预测、规划等模块相互解耦,独立优化。但对于模块化方案,模块间无法协同优化,存在误差累积,感知的漏检误检将会影响规划的安全性。近年来,端到端自动驾驶逐渐受到业界的关注。端到端方案基于数据驱动的方式优化整个系统,打通了各个模块的壁垒,并减少了繁琐的后处理,具有很高的研究价值。然而,之前的端到端方案往往基于栅格化的环境表征(如图1)。这种密集的表征不具备高层级的语义信息,并且需要较高的计算代价。

在ICCV 2023上,我们提出基于矢量化场景表征的端到端自动驾驶算法——VAD。VAD摈弃了栅格化表征,对整个驾驶场景进行矢量化建模(如图2),并利用矢量环境信息对自车规划轨迹进行约束。相比于之前的方案,VAD在规划性能和推理速度上具有明显的优势。

图1|栅格化场景表征

图2|矢量化场景表征(来源:VectorNet)

1.1.1 VAD架构——基于Transformer的端到端模型(主要就是基于MapTr这个模型)

图3|VAD模型框架

VAD的各个子模块都是基于统一的Transformer结构(如图3所示)。其实**BEV Encoder用于编码输入的环视图像,并将其转化为鸟瞰图视角(BEV)下的特征图;Vectorzied Motion Transformer提取场景中的动态目标信息,实现动态目标检测和矢量化的轨迹预测;Vectorzied Map Transformer提取场景中矢量化的静态元素信息(如车道线,路沿和人行道);Planning Transformer以隐式的动静态场景特征作为输入,**提取其中与驾驶决策规划相关的信息,并完成自动驾驶车辆的轨迹规划。另外在模型训练阶段,VAD基于矢量场景表征,对自车的规划轨迹进行矢量化约束,从而提升规划的安全性。

图4|基于矢量场景表征的规划约束

1.1.2 基于矢量场景表征的规划约束

此前的工作大多采用各种后处理策略对规划轨迹进行优化,以提升规划安全性。例如,使用占据图预测结果对规划轨迹进行微调,从而使规划轨迹位于可行驶区域内。这种方法破坏了模型的端到端学习能力,另外后处理也会带来额外的计算开销,降低模型的推理速度。VAD完全摈弃了后处理策略,而是选择在训练阶段,使用驾驶先验知识优化规划表现,从而在不引入额外推理计算开销的前提下,提升了规划的安全性。

◆自车-他车碰撞约束

基于场景中其他动态目标预测的矢量化轨迹和自车规划轨迹的碰撞约束。VAD将自车安全边界分解为横向和纵向的安全距离,当规划轨迹在任一方向与他车预测轨迹的距离小于指定的安全阈值时,则惩罚该轨迹,从而避免自车规划轨迹与他车预测轨迹相交。

◆自车-边界越界约束

基于预测的矢量化边界线,VAD约束自车规划轨迹始终在可行驶区域内。当自车规划轨迹越出道路边界线时,则惩罚该轨迹。

◆自车-道路方向约束

VAD基于预测的道路线方向,约束自车规划轨迹朝向与道路前进方向保持一致。当自车规划轨迹朝向与道路前进方向有较大差异时,则惩罚该轨迹。

1.2 VADv2 基于概率性规划的端到端自动驾驶

大语言模型(Large Languague Model)通过在互联网级别语料库上的预训练,学习到语法、语义和概念关系等高维知识,进而涌现通用智能。驾驶场景中同样存在着数量庞大并且源源不断产生的人类驾驶数据。从人类驾驶数据中学习拟人的驾驶策略,具备成熟的数据基础。但在算法层面,如何建模和训练,仍需进一步的探索。VADv1初步探索了基于矢量化场景表征的端到端自动驾驶算法框架。在VADv1的基础上,VADv2基于概率性规划,以数据驱动的范式从大量驾驶数据中学习端到端驾驶策略。

1.2.1 概率性规划

与感知不同,规划中存在着更多的不确定性,对于同一场景,存在不同的合理的决策规划结果。环境信息到决策规划不存在明确的映射关系,因此学习拟人的驾驶策略极具挑战性。以往的基于学习的规划方法确定性地通过MLP回归出规划轨迹,无法应对环境信息和决策规划之间不明确的映射关系。同时基于神经网络输出的轨迹无法保证满足运动学约束,仍需要后端的轨迹优化。

VADv2采用概率性规划的方法,从大量的人类驾驶数据中,拟合每一时刻基于环境信息的自车轨迹概率分布,将问题转化为预测每一条轨迹和环境信息的相关性,从而应对规划中的不确定性

图7|规划中的不确定性

1.2.2 算法框架

图8|VADv2算法框架

如图8所示,VADv2以车载相机采集的流式图像序列作为输入。鉴于图像信息稀疏性,VADv2将图像信息转换为具有高层语义信息的tokens。具体地,VADv2基于MapTRv2从环视图像数据中提取地图物理层和逻辑层的map tokens,同时从图像中提取关于动态障碍物的agent tokens和交通信号灯的traffic element tokens。此外,由于在连续的动作空间上学习概率分布较为困难,VADv2将动作空间离散化,通过最远轨迹采样的方式从真实的轨迹数据中筛选出N条轨迹构建轨迹集合,用于表征整个动作空间。VADv2将轨迹通过正余弦编码方式编码为planning tokens。planning tokens基于堆叠的Transformer结构与包含环境信息的tokens交互,同时结合稀疏导航信息和自车状态信息,输出每一条轨迹的概率:

在这里插入图片描述

在训练阶段,VADv2通过KL散度约束预测的概率分布和驾驶数据对应分布之间的一致性,并引入额外的场景约束进一步降低存在安全风险的轨迹的概率。在推理阶段,VADv2在每一个时刻从轨迹概率分布中采样一条高置信度的轨迹用于车辆控制。由于输出多模式的轨迹簇,VADv2也可以和基于优化或规则的规控架构结合,进行二阶段优化以及筛选过滤。


2. 主要贡献

基于概率性规划,作者提出了VADv2,一个端到端的驾驶模型,它以流式方式接收环视图像序列作为输入,将传感器数据转换成标记嵌入,输出动作的概率分布,并采样一个动作来控制车辆。仅使用摄像头传感器,VADv2在CARLA Town05基准测试中实现了最先进的闭环性能,显著优于所有现有方法。丰富的闭环演示可以在https://hgao-cv.github.io/VADv2上找到。VADv2在完全端到端的方式下稳定运行,即使没有基于规则的封装也可以。作者的贡献总结如下:

  1. 作者提出概率性规划以应对规划中的不确定性。作者设计了一个概率场,将动作空间映射到概率分布,并从大规模驾驶演示中学习动作的分布。
  2. 基于概率性规划,作者提出了VADv2,一个端到端的驾驶模型,它将传感器数据转换为环境标记嵌入,输出动作的概率分布,并从中采样一个动作来控制车辆。
  3. 在CARLA模拟器中,VADv2在Town05基准测试上实现了最先进的闭环性能。闭环演示表明,它能够以端到端的方式稳定运行。

3. 相关工作

3.1感知

感知是实现自动驾驶的第一步,统一的驾驶场景表示有助于轻松集成到下游任务中。近年来,鸟瞰图(BEV)表示已成为一种常见策略,能够有效编码场景特征并融合多模态数据。LSS [38] 是一项开创性的工作,通过显式预测图像像素的深度来实现视角转换为BEV。另一方面,BEVFormer [26, 52] 通过设计空间和时间注意机制,避免了显式深度预测,并在检测性能上表现出色。后续的工作 [25, 48] 通过优化时间建模和BEV转换策略,持续提高下游任务的性能。在矢量化映射方面,HDMapNet [24] 通过后处理将车道分割转换为矢量地图。VectorMapNet [32] 以自回归方式预测矢量地图元素。MapTR [29, 30] 引入了排列等效性和分层匹配策略,大大提高了映射性能。LaneGAP [28] 为车道图引入了路径建模。

3.2 运动预测

运动预测旨在预测驾驶场景中其他交通参与者的未来轨迹,以帮助自车做出明智的规划决策。传统的运动预测任务利用历史轨迹和高清地图等输入来预测未来轨迹。然而,最近的发展中,一些端到端的运动预测方法 [17, 53, 14, 22] 将感知和运动预测结合在一起。在场景表示方面,一些工作采用栅格化图像表示,并使用卷积神经网络(CNN)进行预测 [3, 37]。其他方法则利用矢量化表示,并采用图神经网络 [27] 或Transformer模型 [13, 33, 36] 进行特征提取和运动预测。一些工作 [17, 53] 将未来运动视为密集的占用情况和流,而不是代理级的未来路径点。一些运动预测方法 [14, 22] 采用高斯混合模型(GMM)来回归多模态轨迹,这可以在规划中应用于建模不确定性,但模式的数量有限。

3.3 规划

基于学习的规划因其数据驱动的本质和随着数据量增加而表现出色的性能,最近展现出了巨大的潜力。早期的尝试 [39, 8, 41] 采用了完全黑箱的思路,直接使用传感器数据预测控制信号。然而,这种策略缺乏可解释性,且难以优化。此外,还有大量结合强化学习与规划的研究 [46, 5, 4]。通过在闭环仿真环境中自主探索驾驶行为,这些方法达到了甚至超越了人类驾驶水平。然而,将强化学习策略应用于实际驾驶场景时,模拟与现实之间的差距以及安全问题带来了挑战。模仿学习 [2, 18, 19, 23] 是另一个研究方向,通过学习专家的驾驶行为以实现良好的规划性能,并开发出接近人类驾驶风格的驾驶模式。近年来,端到端自动驾驶兴起,将感知、运动预测和规划集成到一个模型中,形成了完全数据驱动的方法,并表现出了可喜的成绩。UniAD [19] 巧妙地集成了多个感知和预测任务以提升规划性能。VAD [23] 探索了矢量化场景表示在规划中的潜力,并摆脱了密集地图的依赖。

3.4 大语言模型在自动驾驶中的应用

大语言模型(LLMs)表现出的可解释性和逻辑推理能力在自动驾驶领域可以提供巨大帮助。最近的研究探索了LLMs与自动驾驶的结合[7, 10, 12, 44, 51, 34, 31, 50, 49]。其中一部分工作利用LLMs通过问答任务来理解和评估驾驶场景。另一种方法更进一步,在基于LLM的场景理解基础上引入规划。例如,DriveGPT4 [51] 以历史视频和文本(包括问题和诸如历史控制信号之类的附加信息)作为输入。编码后,这些输入被送入LLM,LLM预测问题的答案和控制信号。另一方面,LanguageMPC [44] 以语言描述的形式接收历史真实感知结果和高清地图,然后利用思维链分析方法来理解场景,最后LLM从预定义的动作集合中预测规划动作,输出的每个动作对应一个具体的控制信号以供执行。VADv2 借鉴了 GPT [42, 43, 1, 47] 以应对不确定性问题。不确定性也存在于语言建模中。在给定特定上下文的情况下,下一词的选择并非确定,而是具有概率性的。LLM通过大规模语料库学习上下文条件下的概率分布,并从分布中采样一个词。受LLM的启发,VADv2 将规划策略建模为一个环境条件下的非平稳随机过程。VADv2 离散化动作空间以生成规划词汇表,基于大规模驾驶示范近似概率分布,并在每个时间步从分布中采样一个动作以控制车辆。

4. 方法

VADv2的整体框架如图2所示。VADv2以多视角图像序列作为输入,以流式处理的方式,将传感器数据转化为环境token嵌入,输出动作的概率分布,并从中采样一个动作来控制车辆。大规模驾驶示范和场景约束被用来监督预测的分布。

在这里插入图片描述

图2. VADv2的整体架构。VADv2以多视角图像序列作为输入,以流式处理的方式,将传感器数据转化为环境token嵌入,输出动作的概率分布,并从中采样一个动作来控制车辆。大规模驾驶示范和场景约束被用来监督预测的分布。

4.1 场景编码器

…详情请参照古月居

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

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

相关文章

在vmd中如何渲染透明水分子

1.设置背景为白色 依次点击Graphics>>Colors... 2. 改变渲染模式 依次点击Display>>rendermode>>GLSL 3. 渲染水分子 选中水分子,显色方式改为ColorID, 编号10的颜色; 选择材质为GlassBubble; 绘图方式为QuickSurf. 若水盒子显示效…

MybatisPlus常用增删改查

记录下MybatisPlus的简单的增删改查 接口概述 Service和Mapper区别 Mapper简化了单表的sql操作步骤(CRUD),而Serivce则是对Mapper的功能增强。 Service虽然加入了数据库的操作,但还是以业务功能为主,而更加复杂的SQL…

常用电路(过压保护、电流/电压采集)

过压保护电路 输入电压使用电源(36V)或者typec(20V),需要过压保护电路处理输入再连接到CH224K,保证输入不高于最大获取电压20V MOS管导通条件为栅源极有压差,一般为5-10V 三极管导通条件为基极…

干部监督系统“三色”预警的构建与应用

在新时代背景下,强化干部监督、提升管理水平已成为推动国家治理体系和治理能力现代化的关键一环。干部监督系统“三色”预警机制作为一种创新的管理工具,通过智能化、可视化的手段,实现了对干部行为的高效管理。本文将详细探讨干部监督系统“…

Zabbix-Trigger中的time函数坑

问题描述 由于功能需求&#xff0c;需要限制trigger的报警时间&#xff0c;所以加了如下的报警限制 and (time()>010000 and time()<045959)但是事与愿违&#xff0c;报警的时间总是对不上 但是&#xff0c;Zabbix设置的时区就是北京时间&#xff0c;应该是没有问题的…

9 数据流图

9 数据流图 9.1数据平衡原则 子图缺少处理后的数据操作结果返回前端应用以及后端数据库返回操作结果到数据管理中间件。 9.2解题技巧 实件名 存储名 加工名 数据流

python项目相关

遇到的问题 解决 Python 模块导入路径问题 问题描述 在运行 Python 文件时&#xff0c;可能会遇到以下错误&#xff1a; ModuleNotFoundError: No module named utils原因&#xff1a; Python 的模块导入机制依赖于当前工作目录和 sys.path 中的路径。当直接运行某个文件时…

基于轨道角动量自由度在空间频域中的可选择特性

将光的轨道角动量自由度应用到全息领域&#xff0c;证实了轨道角动量全息&#xff1b;实现了高维轨道角动量复用全息技术&#xff0c;获得了高安全的全息加密和超高容量全息信息系统。 1、轨道角动量自由度在全息中的引入 如图1所示&#xff0c;当全息图中没有携带轨道角动量的…

机器人学的AGI实现路径:从专用智能到通用认知的跨越

文章目录 引言:机器人学的范式革命一、AGI与机器人学的融合现状1.1 传统机器人系统的局限1.2 AGI技术为机器人学带来的变革1.3 关键里程碑案例二、AGI机器人的核心技术栈2.1 多模态感知融合2.2 认知架构设计2.3 具身认知实现路径三、AGI机器人的实现路径3.1 阶段式发展路线3.2…

香港中文大学 Adobe 推出 MotionCanvas:开启用户掌控的电影级图像视频创意之旅。

简介&#xff1a; 亮点直击 将电影镜头设计引入图像到视频的合成过程中。 推出了MotionCanvas&#xff0c;这是一种简化的视频合成系统&#xff0c;用于电影镜头设计&#xff0c;提供整体运动控制&#xff0c;以场景感知的方式联合操控相机和对象的运动。 设计了专门的运动条…

基于STM32的学习环境控制系统设计

&#x1f91e;&#x1f91e;大家好&#xff0c;这里是5132单片机毕设设计项目分享&#xff0c;今天给大家分享的是学习环境控制。 设备的详细功能见网盘中的文章《21、基于STM32的学习环境控制系统设计》&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1uWSZX2zbZwy9sY…

snort3.0-ubuntu18.04 64入侵检测安装与使用ailx10ailx10​​知乎知识会员

在日常生活中&#xff0c;很多人怀疑自己的手机、电脑被监控了&#xff0c;担心自己的隐私泄漏&#xff0c;实际上最佳的检测方式就是终端检测&#xff0c;也就是EDR&#xff0c;但是就是有那么多的人在网上大放厥词&#xff0c;说任何EDR杀毒软件都检测不到监控&#xff0c;毕…

使用亚马逊针对 PyTorch 和 MinIO 的 S3 连接器进行模型检查点处理

2023 年 11 月&#xff0c;Amazon 宣布推出适用于 PyTorch 的 S3 连接器。适用于 PyTorch 的 Amazon S3 连接器提供了专为 S3 对象存储构建的 PyTorch 数据集基元&#xff08;数据集和数据加载器&#xff09;的实现。它支持用于随机数据访问模式的地图样式数据集和用于流式处理…

408-数据结构

数据结构在学什么&#xff1f; 1.用代码把问题信息化 2.用计算机处理信息 ch1 数据&#xff1a;数据是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 ch2 //假设线性表…

spring cloud 使用 webSocket

1.引入依赖,(在微服务模块中) <!-- Spring WebSocket --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.新建文件 package com.ruoyi.founda…

安科瑞 Acrel-2000ES:解锁储能管理新高度,引领能源未来!

安科瑞 崔丽洁 在能源转型的关键时期&#xff0c;高效的储能管理成为众多企业和项目的核心需求。今天&#xff0c;就给大家介绍一款储能管理的 “神器”—— 安科瑞 Acrel-2000ES 储能能量管理系统。 安科瑞电气可是行业内的 “明星企业”&#xff0c;2003 年成立&#xff0c;2…

基于Django以及vue的电子商城系统设计与实现

基于Django以及vue的电子商城系统设计与实现 引言 随着电子商务的快速发展&#xff0c;越来越多的企业和个人选择搭建线上商城&#xff0c;以提供更加便捷的购物体验。本文基于Python开发了一套电子商城系统&#xff0c;后端采用Django框架&#xff0c;前端使用Vue.js&#x…

电脑变慢、游戏卡顿,你的SSD固态可能快坏了!

电脑用久了&#xff0c;很多人都会感觉速度变慢&#xff0c;开机变慢、文件复制时间变长&#xff0c;甚至莫名其妙的卡顿。你可能怀疑是系统问题&#xff0c;或者内存不够&#xff0c;但往往被忽略的一个关键因素——你的硬盘&#xff0c;可能正在悄悄老化。 硬盘寿命不是永久的…

AI使用场景简单测试

前言 今天来分享下AI的2个实用场景&#xff0c;我这里是使用的博主&#xff1a;小虚竹&#xff0c;搭建的AI服务&#xff0c;用的ChatGPT 4O模型&#xff0c;主要是试了3个场景&#xff0c;服装设计、直播带货话术、检验报告分析。 一、服装设计 对于最后需要的裁片设计上的尺寸…

【并发控制、更新、版本控制】.NET开源ORM框架 SqlSugar 系列

系列文章目录 &#x1f380;&#x1f380;&#x1f380; .NET开源 ORM 框架 SqlSugar 系列 &#x1f380;&#x1f380;&#x1f380; 文章目录 系列文章目录一、并发累计&#xff08;累加&#xff09;1.1 单条批量累计1.2 批量更新并且字段11.3 批量更新并且字段list中对应的…