Advertisement

【论文笔记】SparseAD: Sparse Query-Centric Paradigm for Efficient End-to-End Autonomous Driving

阅读量:

原文链接:https://arxiv.org/abs/2404.06892

1. 引言

自动驾驶系统由检测、跟踪、在线建模、运动预测以及规划步骤组成。传统模块化架构将该系统拆分为单一任务,并独立进行优化(见图)。这种架构必须进行人工干预完成后续处理流程,并且场景信息的有损压缩会影响系统的整体精度。

在这里插入图片描述

该方法通过传感器数据作为输入并输出规划结果。传统的早期方案未包含中间环节仅进行预测但面临优化难度较大性能受限以及不可靠的问题。相比之下另一种思路是将多个子任务整合为模块化的端到端架构并引入多维监督促进多任务协同学习

在这里插入图片描述

基于过去模块化端到端模型的研究中

本文提出了基于稀疏查询的范式(SparseAD),通过将时空要素表示为基于稀疏查询的形式,并参照附图进行阐述,在实现对端到端自动驾驶系统的高效处理的同时具备了向更多应用场景扩展的能力。

在这里插入图片描述

具体来说,本文提出了一种将模块化端到端架构简化为稀疏感知与运动规划方案的方法。其中,在稀疏感知部分中,通过统一的时间解码器对检测、跟踪以及在线建图过程进行处理,并将多模态特征与历史记忆数据视为token形式;而运动规划部分则利用物体查询与地图查询机制来表示障碍物及道路元素。其中运动规划系统采用稀疏感知结果作为环境表征方式,并基于此预测本体车辆与其他智能体的多模态运动轨迹;通过施加多维驾驶约束条件求解得到车辆的初始可行路径后进一步优化得到最终的行驶方案。

3. 方法

3.1 概述

在这里插入图片描述

模型架构如图所示。随后传感器编码器将图像或点云进行高维特征提取,并将其作为传感器token加入位置编码输入到稀疏感知模块中。随后稀疏感知模块将这些token聚合形成不同类型的稀疏感知查询(包括检测查询、跟踪查询以及地图查询),并将其传递给后续的任务处理环节。此外运动规划器基于这些稀疏查询表达数据,并结合驾驶约束条件来规划路径以满足安全性和运动学要求

3.2 稀疏感知

在这里插入图片描述

稀疏感知模块包含两个结构完全相同的时序解码器分别应用于障碍感知以及实时地图构建。其中检测与跟踪头与贝塞尔地图头负责解码障碍信息以及地图元素。随后完成更新流程以筛选当前帧高置信度的感知查询并将相关数据存储到当前帧中以便下一帧使用。

检测 & 跟踪:本文方法通过统一解码器协同工作完成检测与追踪,并且无需手动设置后续处理步骤。

由于检测与跟踪之间的失衡问题, 从而影响了检测效果. 为了缓解这一挑战, 本文提出了一种分层存储方案, 其中在场景层次上记录了搜索目标的相关信息, 并避免了跨帧匹配问题; 同时, 在实例层次上维持了前后帧物体的一致性关系. 此外, 采用了差异化的更新方法, 利用多标签网络(MLN)优化场景层的信息; 结合障碍物未来行为预测优化实例层的数据. 而增强跟踪查询的效果同样有助于提高整体性能.

最后,可从检测和跟踪查询中解码得到3D边界框和唯一ID,用于下游任务。

在线建模 初始阶段, 带有先验类别特性的地图查询均匀分布在驾驶平面上. 时间解码器会将这些地图查询与传感器token以及历史存储token(对应过去帧高置信度的地图信息)建立关联, 并采用最新的地图信息更新存储体, 以便用于后续帧或下游任务处理. 该过程与障碍感知机制具有相似性, 因此本文将感知任务(包括目标检测、行为跟踪及在线建模)整合为一种高效的稀疏表示方法.

随后采用分段贝塞尔地图头回归模型,在稀疏地图元素上建立分段贝塞尔控制点模型, 从而能够实现相应的变换操作, 以满足后续任务所需

3.3 运动规划器

现有的大多数运动预测方法都未充分纳入自行车运动的相关考量,在实际应用中可能会带来潜在风险。本文不仅对自行车运动以及其它智能体的行为进行同步预测,并将其运动预测结果作为路径规划的基础信息使用,在综合其他约束条件后获得最终的轨迹规划方案

在这里插入图片描述

本文中的运动规划系统基于感知查询(包括地图信息及目标追踪)作为基础数据,在多模态互动平台下完成对驾驶场景的认知以及与智能体(包括自动驾驶汽车)之间的互动机制设计,并通过博弈理论分析不同未来情景下的竞争策略与合作方案。在自动驾驶汽车执行相关动作时,在获取自身多维度数据后将通过整合高阶指令信息及驾驶限制条件,并综合考量安全性和力学特性进行动态优化处理

运动预测器 基于Transformer结构进行运动查询与场景表达间的互动关系处理

此外,在本文中我们采用了时间存储技术来进行预测操作,并将其结果作为运动查询初始化的基础材料以便于后续分析;同时在智能体与存储节点之间的协同过程中我们还综合运用了历史数据以提高系统的整体性能

自车运动预测会同时进行,且其结果会作为规划的先验。

规划优化器cost functionplanning optimizer的核心组成部分, 直接关系到结果质量的高低. 本文重点考察系统的安全性及其运动学特性.

在考虑安全性时主要涉及小车与其他智能体之间的位置关系。例如,在小车左侧前方持续存在的智能体将阻止其向左行驶。这些限制分为纵向约束(前、后或无)与横向约束(左、右或无)。本文从相应的查询中解码这些横向和纵向的限制,并使用focal损失作为小车-智能体关系(EAR)的代价函数:

L_\text{EAR}=-\sum_{d=1}^D\sum_{i=1}^A\sum_{c=1}^C\alpha_i(1-\hat R_{ic}^d)^\gamma\log(\hat R_{ic}^d)

具体而言,在这里涉及的是智能体的数量、类别的数量以及约束方向类型(包括横向和纵向);γ and α_i为参数。\hat R_{ic}^d表示智能体i在方向d上有关系c的概率。

由于路径规划受限于运动学定律,在本文中我们通过从自车查询Q_\text{ego}出发,学习其运动状态(包括速度、加速度、偏航角),并采用运动学损失函数作为监督机制中的一部分:

其中N为自车状态的数量,\text{status}_i为自车的第i个真实状态。

4. 实验

4.1 综合性结果

相较于UniAD而言,SparseAD不仅运行速度更快、占用内存更少,还展现出更好的性能表现。在感知任务方面,本文提出的方法不仅在感知能力上有显著提升,而且能在较短的时间内完成全部计算过程,最终实现了比现有方案更高的准确率目标。特别是在预测与规划任务中,通过引入创新性的算法设计,进一步提升了整体效率的同时,还能保证系统的实时性要求,这不仅得益于感知模块的进步,还得益于运动规划器的优化设计。

使用多模态输入或更换更大容量的模型时,性能均能得到提升。

4.2 多任务结果

障碍感知 :本文方法在障碍感知方面的性能表现显著地超过了大部分仅检测、仅跟踪或端到端多目标跟踪方法,并达到了当前领域的领先水平。

在线建图:SparseAD能够显著优于大多数现有方法;然而,在如何与其他模块进行集成这一问题上仍需进一步研究。

运动预测 :SparseAD在所有端到端方法中有最好的性能。

规划 :SparseAD的性能能达到SotA。

4.3 消融

感知设计的功能:实验证明, 采用场景级别存储方案能够显著提升检测与建模性能. 然而, 在查询监控不稳定的情况下, 跟踪性能受到了一定影响. 通过优化更新与增强策略的一致性处理方法, 在不同类型的查询中实现了监控资源的有效分配. 整体上优化了感知能力.

在运动设计规划中的作用缺乏相应的策略或约束条件时会影响其效率和效果


附录

B. 任务定义

网络化建模:本文将地图数据视为空间中的分隔结构,并将其以稀疏分割结构的形式进行表征;其中每个道路元素都对应一组独立的分隔结构,在具体应用中分别代表不同的功能区域划分。例如,在实际城市地图中我们可以清晰地识别出分隔带用于区分车行道与人行道的界限、人行横道用于组织行人穿越马路的方式以及车道线则明确了不同方向行驶车辆之间的分离关系。

C. 实施细节

C.1 问题定义

概述 :本文以图像作为主要输入源,并将雷达点云作为可选额外输入进行处理。我们考虑输入I_1,\cdots,I_N作为多视图图像序列,并将其联合表示为I\in\mathbb R^{N\times H\times W\times 3}的形式。其中N代表视图的数量。点云数据则表示为P\in\mathbb R^{N_p\times C_p}矩阵形式,在此设定下N_p表示点云中的点数量而C_p代表原始通道数信息。通过分别由图像编码器E_i和点云编码器E_p负责的数据处理流程,在经过特征提取后会生成用于表示传感器特性的token序列:

F_t=\text{Concat}(\text{Flatten}(F_I),\text{Flatten}(F_P))

其中F_I=E_i(I),F_P=E_p(P)

传感器token的编码方式会与token连接,在具体应用中图像特征将采用3D-PE(参考PETR),而点云特征则采用BEV-PE(CMT)。

本文中提出的查询划分为两种类型:其中一种类型是初始化查询Q^i(基于可学习权重参数),其主要功能是提取目标分布的先验特征信息;另一种类型是端到端多任务存储模块(EMMB)中的存储查询Q^m,其主要功能是用于传递时间相关的上下文信息,并支持从上游任务向下游任务传输关键信息。

稀疏感知:可学习的检测查询Q^i_d\in\mathbb R^{N_d^i\times C}与地图查询Q^i_o\in\mathbb R^{N_o^i\times C}分别用于表示障碍物与地图元素。此外,在EMMB中时间信息被用作存储类型的标记,在全局层次下包括检测查询Q^m_d\in\mathbb R^{N_d^m\times C}与地图查询Q^m_o\in\mathbb R^{N_o^m\times C};同时在具体时刻t,T-1下的实例级存储中包含跟踪查询Q_m,t,T-1}\in \mathbb R^{N_i,m,t,T-1}\times 1 \times C}$。

稀疏感知模块会产生障碍的具体参数(坐标位置、尺寸大小、唯一标识符ID以及运动速度),同时也包含地图要素的具体参数(贝塞尔控制点的位置参数以及采样点的位置信息)。这些包含丰富语境的信息会被传递给下游运动规划器,并且在后续的数据处理中持续更新EMMB以支持后续帧的信息处理。

运动规划器 :考虑到智能体数量具有不确定性,在本研究中我们针对所有运动查询建立了一个共享的学习嵌入模型,并对每个实例的历史轨迹\tau_h进行了多层感知机(MLP)和交叉注意力机制的编码处理。这些处理使得我们能够有效地聚合各实例的历史感知信息(其中Q_t^m\in\mathbb R^{N_i^m\times M\times C}表示第t个时间步第m个实例的状态向量),并将其与该可学习嵌入模型结合使用作为初始化的运动查询模型Q_n^i\in\mathbb R^{N_i^m\times C}

特别指出,在本文中我们将自车的历史轨迹进行编码,并将其作为特殊的自车嵌入E_e\in\mathbb R^{1\times C}所对应的自车查询Q_e^i\in\mathbb R^{1\times C}的初始化过程。

为了提高算法的有效性,在实现实例存储时考虑了动态更新机制,并基于来自稀疏感知模块的当前帧智能体及其地图元素所形成的高维空间表征作为token节点,在此基础上与各子任务中的关键节点进行信息传递机制设计以提升整体性能表现

随后,在规划优化器中对自车请求进行分析后输入到系统中,并基于其安全性与运动学限制条件生成可靠的轨迹规划\hat\tau_e

C.2 稀疏感知

参照StreamPETR算法设计的稀疏感知机制下,
其时间解码器的具体实现方式如下:

Q^c = \text{Temporal\_Decoder}(Q,\mathcal{T},M)

基于场景级别的检测与跟踪任务中,在处理Q_d^m这一类数据时,在线动态更新下我们选取最新更新的前K_d个数据点作为关注对象,并结合可学习检测相关的查询信息进行整合分析。其中所有用于检测存储查询Q_d^m以及传感器token F_t分别被归类为Memory单元和Tokens输入。进而构建的时间解码器将这些整合后的信息通过Temporal_Decoder函数进行处理计算

其中Q^c_d\in\mathbb R^{(K_d+N^i_d+N^m_i)\times C}

在本研究中,我们从场景级别提取的地图存储查询\mathcal{Q}_o^m,并结合可学习在线建图机制提取的地图感知特征\mathcal{F}_t,共同构成了时间解码器的输入信息流.具体而言,系统首先选取了当前时间范围内更新频率最高的前L_k=100000个地图存储查询项\mathcal{Q}_{ok}^{(k)}\in\mathbb{R}^{L_k\times C},随后将其与基于可学习感知机制提取的时间编码项\mathcal{Q}_o^i\in\mathbb{R}^{D_q\times C}进行融合,最终生成完整的时空信息表示\mathcal{Q}_o^c=\text{Temporal\_Decoder}([\mathcal{Q}_{ok}^{(k)}, \mathcal{Q}_o^i], \mathcal{F}_t)

其中Q^c_o\in\mathbb R^{(K_o+N^i_o)\times C}

针对变量Q_d^c
本研究采用基于DETR架构设计的检测与跟踪模块,
通过解码机制将检测结果转换为三维边界框表示。
同时,
借鉴BeMapNet的设计理念,
本研究假设稀疏地图元素可被建模为分段贝塞尔曲线。
通过设计特殊的贝塞尔地图头部来估计上述提到的各项贝塞尔曲线参数,
明确区分显式与隐式的控制点。
在每个地理单元上均匀地选取了S个采样点。
在每个地理单元上均匀地选取了

其中c即表示该贝塞尔曲线段的系数参数;其定义为:当i=0,1,\dots,n时,

b_{i,n}(t)=\begin{pmatrix}n\\ i\end{pmatrix}t^i(1-t)^{n-i}

n表示贝塞尔曲线的次数,在此过程中。通过对采样处理后,则能够获得地图上的曲线点集合P_o^c\in\mathbb R^{(K_o+N_o^i)\times S\times2}

C.3 运动规划器

本文将对应于矩阵Q^{c}_{d}\in\mathbb{R}^{(K_{d}+N_{d}^{i}+N_{m}^{i})\times C}中的每一个障碍项共计(K_{d}+N_{d}^{i}+N_{m}^{i})个障碍元素视为独立的实例进行处理,并因此在运动规划器中确定了对应的实例数目为N_{c}^{i}=K_{d}+N_{d}^{i}+N_{m}^{i}个。针对新增的这些新增项中的前(K_{d}+N_{d}^{i})个新增项(即新出现的部分),本文将其作为一个独立的部分并对其生成相应的虚拟历史数据;将其与其他(N_{m})^{i}个存储项统一作为存储实例进行处理。

能够从EMBB中提取智能体与自车的历史位置数据P_i^m\in\mathbb R^{N_i^c\times M\times 3}以及P_e^m\in\mathbb R^{1\times M\times 3}。通过共享多层感知机(MLP)对历史运动轨迹进行编码处理后,在此过程中能够获得相应的历史轨迹对应的嵌入表示H_i\in\mathbb R^{N_i^c\times C}以及H_e\in\mathbb R^{1\times C}

进一步利用多头交叉注意力(MHCA)聚合历史感知信息:
H_{pi}=\text{MHCA}(H_i,Q_t^m)

具体而言,实例的历史信息由变量H_{pi}\in\mathbb R^{N_i^c\times C}表示。然而,在智能体中进行运动规划时,默认假设所有节点具有相同的初始状态;相比之下,在车辆系统中进行路径规划时,则需要单独建立车辆相关的初始模型。通过以下公式即可获得相应的规划信息:

Q_n^i = H_{pi} + E_n,\quad Q_e^i = H_e + E_e

在模型预测任务中,在其中self-vehicle queries与 motion queries具有等价性关系;因此可将其统一表示为 Q_n^i;同时将相应的 motion queries存储后表示为 Q_n^m$

本文首先利用K均值方法对训练集中智能体的未来轨迹进行聚类,并将其映射至高维特征空间中以形成多模态特征表示。这些处理后的特征与运动查询相结合形成多模态运动查询Q_{mn}^i\in\mathbb R^{N_i^c\times K\times C}(后续仍记为Q_n^i)。

模型预测器由若干个Transformer层构成, 每一层都涉及三种类型的互动: 智能体与存储数据的交互、智能体与地图数据的交互以及智能体与社会数据的交互. 即运动查询会被当前帧中的多个类型的数据所影响:

Q_n^{c} = \text{MHCA}\left(\text{MHSA}\left(Q_{n}^{i}\right), Q_{n}^{m}/Q_{d}^{c}/Q_{o}^{c}\right)

其中Q_n^c \in \mathbb{R}^{N_i^c \times C}表示经过更新的运动目标查询;类似地,Q_e^c \in \mathbb{R}^{1 \times C}代表经过更新的自动驾驶查询。

对于智能体与存储运动查询交互机制的设计中,本文进一步设计了时间PE(Positional Encoding),用于实现同一智能体在不同时间点的预测轨迹进行关联处理。其中,在时刻T时长L步内某智能体i的预测轨迹被定义为:

F_T^i = \{v_1, v_2, \cdots, v_L\}

其中每个位置向量v_j \in \mathbb R^3代表三维空间中的位置坐标。而存储系统中保存的历史预测轨迹集合则表示为:

\{F_{T-1}^i, F_{T-2}^i, \cdots, F_{T-M}^i\}

其中M代表存储的最大长度参数。假设所有历史预测轨迹已转换至当前车辆坐标系,则存储运动查询的时间PE(Positional Encoding)计算式分别为:

E_n^{m,costs}(t) = \sum_{k=1}^{N}{MLP_k^{costs}\left( Cate(\{\tilde v_j - v_k | j \geq k, v_j \in F_{T-k}^{i,costs}\}) \right)}

E_n^{c}(t) = \sum_{k=1}^{N}{MLP_k^{c}\left( Cate(\{\tilde v_j - v_0 | j \leq M - k, v_j \in F_T^{i,costs}\}) \right)}

对于智能体与在线绘制图景查询的交互关系而言,在本文中我们提出了一种曲线PE用于精确描述稀疏地图元素的位置信息:E_o^c=\sum_{k=1}^J\text{MLP}(\text{Flatten}(P_o^c))

其中P_o^c为前文介绍的采样点。

本文针对智能体与环境(旨在跟踪查询)之间的互动。通过BEV PE技术来表征智能体的位置信息,并在CMT的相关文献中进行了详细说明。

更新后的运动查询Q_n^c会被用来解码多模态轨迹。本文仅关注与真值最接近的轨迹。

在完成对自动驾驶汽车与驾驶指令之间的交互后,在被规划优化器考虑的情况下(即考虑到),文章将主要关注以下三个方面的约束关系:一是基于车辆与地图之间的约束关系;二是基于车辆与其他主体之间的约束关系;三是基于车辆自身的运动学特性所形成的约束关系。这些方面构成了文章后续讨论的核心内容框架。至于如何具体生成"车辆-主体"相关约束标签的方法步骤,则可参考下文中的算法描述部分。

在这里插入图片描述

使用生成的约束标签,按3.3节的方法监督规划优化器,得到最终的规划输出。

C.4 框架总结

基于稀疏感知与运动规划的推断过程后

详细而言,在EMMB系统中缓存了具有最高置信度的K_dQ_d^c向量集合。这些向量由系统从候选集\mathbb R^{K_d\times C}中选取组成。通过基于阈值T的选择策略,在候选集中筛选出高置信度 query 向量用于场景级别的检测任务;同时赋予每个实例唯一的标识符,并将与之相关的下游向量则被归类为实例级别的检索目标;而那些未分配唯一标识符的对象则对应的运动向量将被舍弃。

在这里插入图片描述

如图所示的EMMB方法中包含两个关键性组件:场景级与实例级的数据保留策略。本研究提出了一种基于场景级与实例级区分性设计的方法来实现数据的有效保留。具体而言,在场景级别上我们将感知数据按照时间顺序组织为帧单元并将这些数据按先进先出的方式进行存取即总是保存过去M个连续帧中的感知信息以保证时空关系的一致性与完整性。而在实证级别上我们则采用独立于场景概念的设计方案即按照先进先出的原则对同一实例的数据进行组织与访问这种设计方式能够有效避免由于不同个体之间干扰所导致的信息丢失问题同时还能保证每个体行为特征的独特性得以保存以提高整体模型性能基础

D. 实验

D.2 配置细节

稀疏感知:针对每个存储的跟踪查询,在本文中设定丢弃概率并引入模拟负样本的概率来平衡实例级跟踪查询与场景级检测查询之间的监督关系。

预训练与推理任务包含三个关键阶段:第一部分专注于构建稀疏感知模块;第二部分则通过引入双级存储机制来显著提升跟踪精度;第三部分则固定主干网络以及已有的稀疏感知模块,并专注于训练运动规划器。值得注意的是,在前两步操作中可以通过将它们合并处理的方式实现略微降低的整体性能水平

D.4 补充实验

测试集上的评估:本文提出的方法在性能上与现有的相关检测/跟踪方法相媲美,并且其表现略逊于当前最优的单一任务基准(SotA)的方法。通过增大主干模型的容量参数,则可以在一定程度上超越现有最优单任务基准的方法性能水平。

端到端梯度优化 :在训练阶段3中未采用该技术。然而,在实施该技术后(或一旦采用该技术),其运动预测和规划性能将得到小幅提升(或略微上升)。同时,在感知能力方面可能会出现轻微下降(或略有降低),不过这带来的存储提升是可以接受的。

D.5 运行时间分析

实验表明,稀疏感知为主干网络外模型的主要耗时部分。

E. SparseAD的变体

E.1 动机和方法

动机:由于检测与跟踪查询之间存在监督失衡问题, 从而导致 detection performance 下降, 并对 tracking performance 产生负面影响. 本文发现, 在一定程度上, 来自 past frames 的 scene-level detection and storage queries 可以充当 tracking queries. 这些 scene-level 检测存储 query 并未将 ID 与实际实例进行绑定, 因此不受 supervision imbalance 的影响. 由此推断, 在某种程度上仅依赖 scene-level detection 和 storage queries 即可实现 end-to-end tracking, 而无需牺牲 detection performance.

该方法在训练过程中放弃对实例级别的存储与跟踪这一环节,从而避免了对阶段2的计算与处理,与此同时优化了可学习检测与场景级检测存储比例,以确保追踪结果的一致性。为了替代传统的跟踪机制,本文提出了一种新的方式:利用具有相同真实值的不同检測 query组合形成新的实例特征向量,即单个实例的历史特征可能来源于多个不同的检測 query结果。

推理过程中,在场景级别的检测中获取存储查询时界框时会继承上一帧的唯一标识符(ID),而在可学习检测中获取存储查询时界框则会被分配一个新的唯一标识符(ID)。同样地,在将具有相同唯一标识符(ID)的相关查询进行拼接后生成新的实例供下游任务使用。

其余细节与附录C.3中一致。

E.2 验证实验

上述非硬连接型SparseAD在某些感知指标上表现出了显著提升(此外IDS也出现了提升),其预测与规划任务的表现较为均衡

F. 对碰撞率指标的讨论

本文指出,在当前应用中广泛使用的碰撞率计算方法主要存在两个缺陷:一是现有碰撞率计算方法未能充分考虑车辆自身行驶方向的变化,在某些典型场景中表现不足。例如,在车辆转向时(见下左图),传统的边界框朝向保持不变的现象就显得不够合理。二是所采用网格划分的空间分辨率较低导致其划分单元格尺寸明显大于最小的安全距离(见下右图)。

在这里插入图片描述

由于惯性测量单元(IMU)存在精度局限性,在车辆运行过程中可能会导致小型偏离的发生,并进而可能导致与其他智能体发生潜在冲突的风险。然而,在应用传统评估标准时,在实际运行中其预期发生率将显著超过10%;即使考虑到IMU所带来的误差范围限制这一因素,在这种理想情况下该数值依然不可接受

大多数误判的碰撞情况属于难度较大的案例,在规划评估中占据重要地位。本文提出了一种基于稀疏性的方法来精确计算真实的碰撞状态以提高可靠性评估效果具体而言在每帧发生碰撞时系统会综合考虑所有障碍物的位置及其朝向信息并通过对当前帧与未来帧之间的轨迹布局进行分析从而推断出车辆的大致行驶方向该算法设计不需要依赖占据网格空间而是只需判断车辆边界框与其周围障碍物边界框是否发生重叠即可完成对潜在风险区域的识别

研究表明,在采用上述方法进行计算后,真实轨迹的碰撞率降至极低水平。 UniAD在该方案中的碰撞率同样得到显著降低。

全部评论 (0)

还没有任何评论哟~