当前位置: 首页 > article >正文

【论文阅读】VAD: Vectorized Scene Representation for Efficient Autonomous Driving

一、介绍

VAD是华科团队设计的一个端到端无人驾驶框架,针对传统的无人驾驶框架的模块化设计的问题,该算法使用向量化的策略进行了端到端的实现。传统的模块化设计使得感知模块完全依赖于感知模块的计算结果,这一解耦实际上从规划模块的角度损失了很多的信息,诸如语义信息。VAD采用向量化的策略进行了重新设计,从实验结果上来看超过了上海实验室提出的UniAD。

二、方法

VAD的模型以多视角的图像作为输入,编码后提取BEV特征,该特征会被送到Transformer中提取两类特征,这两类特征后续应用到轨控模块中。
在这里插入图片描述

3.1 Vectorized Scene Learning

这一节主要是介绍特征提取的部分。首先论文并没有介绍从多视角图像到BEV图像这个过程是如何实现的,应该是直接使用了现成的转换模型。论文直接是从得到BEV视角后开始介绍的。这一部分实际上包括了两种查询:Ageng query和Map query。这里的query实际上就是Transformer里面的那个query,我们主要就是训练这个query。

Map query

先给出结论, 这一个查询输入是BEV视角下的特征,输出是场景中的向量化的实例特征,可以理解为“当前场景中的物体以及哪些点归属于这些物体”。这个实例特征作者起名叫做map vector,它是一个Nm×Np×2大小的矩阵,其中Nm表示场景中物体的数目、Np为一个物体占据的点的数目,最后的2则是说它在BEV视角下的位置。这一个模块中算法主要关注三个内容:车道分割线、道路边界以及人行横道。简单来说就是通过Transformer处理之后,最后转换为一个三分类任务。

Agent query

与Map query类似,这一部分其实也是提取一类特征,主要是对场景中的物体的行进轨迹进行预测,这一预测会被用到后续的规划中。这一部分的输入依然是BEV视角下的特征,输出的是一个大小为Na×Nk×Tf×2的矩阵,其中Na表示场景中物体的数量,Nk表示行驶状态,Tf表示未来的时间戳,最后的2则是BEV视角下的坐标。我的理解是,这个矩阵表示了未来Tf时间内,Na个车辆的行驶状态及位置。相当于在这个模块内进行了所有交通参与者的状态预测,利用这一预测结果来约束后面轨控模块的行驶策略。

在这个模块中,稍微补习了一下Transformer的内容,在Transformer的编码器中,关键的三个值是query、key和value,其中query是我们训练的结果,key和value则是输入的变种。对于VAD中的查询模块,key和value都来源于BEV视角下的特征输入。这里的过程如下图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查询的数量并不等于类别数量,查询相当于多个卷积核,只负责特征的提取,而真正影响类别数量的是最后softmax层的结构。计算Key和Value的时候,映射矩阵Wk和Wv相当于一个降维的作用,负责对齐Key、Value以及Query的维度,这两个映射矩阵也是模型需要学习的参数。计算注意力的时候,所涉及的维度变化为:
在这里插入图片描述
在计算注意力之前,其实就已经存在一个展平的过程,原本BEV应该是H×W×C大小的,每张图是H×W,一共有C张,在计算键值的时候就已经展平了,这样子才可以与Wk和Wv进行计算,计算之后的键值变为D个长度为H×W的向量,拼成一个二维矩阵,key首先与query进行计算,得到相关性,这一相关性与value加权求和,得到大小为Nm×D的二维矩阵,表示D个长度为Nm的向量,可以解释为Nm个关键信息,每个信息都是一个长度为D的向量。这些信息会通过MLP解码进行后处理,将D维度调整为Np×2的维度,这样子就可以恢复出地图元素的位置以及包括的点。最终变成Vm:
在这里插入图片描述


http://www.kler.cn/a/579110.html

相关文章:

  • Python爬虫入门实战:爬取博客文章数据并保存
  • 线程安全问题(面试重难点)
  • 复现 MODEST 机器人抓取透明物体 单目 ICRA 2025
  • 游戏引擎学习第147天
  • openharmony适配HDF编译进Linux内核
  • 40岁开始学Java:控制反转IoC
  • 蓝桥备赛(13)- 链表和 list(上)
  • vue3组合式API怎么获取全局变量globalProperties
  • 统信UOS上AI辅助绘图:用DeepSeek+draw.io生成流程图
  • 可狱可囚的爬虫系列课程 18:成都在售新房数据爬虫(lxml 模块)实战
  • 在PyCharm开发环境中,如何建立hello.py文件?
  • Manus全球首个通用Agent,Manus AI:Agent应用的ChatGPT时刻
  • 计算机网络笔记(二)——1.2互联网概述
  • Dify使用日常:我是如何按标题级别将word中的内容转存到excel中的
  • 八点八数字科技:开启数字人应用的无限可能
  • 什么是时序数据库?有哪些时序数据库?常见的运用场景有哪些?
  • nlp培训重点-5
  • DeepSeek【部署 03】客户端应用ChatBox、AnythingLLM及OpenWebUI部署使用详细步骤
  • MySQL数据库安装篇
  • DR和BDR的选举规则