Accelerating Online Mapping and Behavior Prediction via Direct BEV Feature Attention¶
会议: ECCV 2024
arXiv: 2407.06683
代码: 无公开代码
领域: 自动驾驶 / 在线地图估计 / 行为预测
关键词: BEV特征, 在线建图, 轨迹预测, 注意力机制, 推理加速
一句话总结¶
提出直接将在线地图估计模型内部的BEV特征暴露给下游轨迹预测模型(而非仅传递解码后的矢量化地图),通过三种BEV特征注入策略实现推理加速最高73%、预测精度提升最高29%。
背景与动机¶
自动驾驶系统中,感知静态环境(道路布局、车道线等)是下游行为预测和运动规划的关键输入。传统方案依赖预先标注的高精地图(HD Map),但维护成本极高且可扩展性差。近年来在线地图估计方法兴起,采用"编码器-解码器"架构:编码器将多摄像头图像转换为BEV特征网格,解码器从中预测矢量化地图元素(车道线、道路边界等)。
然而这种"先解码地图,再喂给预测模型"的串行流程存在两大痛点: 1. 信息瓶颈:Transformer解码器将丰富的BEV中间特征压缩为稀疏的点集,大量有用信息被丢弃,下游任务无法利用 2. 计算冗余:地图解码器的注意力机制占据了模型大部分运行时间,是整个系统的速度瓶颈
核心问题¶
能否绕过地图解码阶段,让轨迹预测模型直接访问在线建图模型编码器产生的BEV特征?这样做能否同时加速推理并提升预测精度?
方法详解¶
整体框架¶
方法的核心思路很直接:在现有的"在线建图→轨迹预测"pipeline中,不再让预测模型只消费解码后的矢量地图,而是让它直接访问编码器输出的BEV特征网格。具体来说,作者提出了三种BEV特征注入策略,分别对应不同程度的集成深度。
输入为多视角摄像头图像,经过在线建图模型的编码器(ResNet-50 backbone + PV2BEV变换,如BEVFormer或LSS)得到BEV特征 \(B_t \in \mathbb{R}^{H \times W \times D}\)。随后,BEV特征被类似ViT的方式切分为patch序列(\(N \times P^2D\) 张量),经线性投影得到 \(N \times D\) 的patch embedding,作为Transformer的输入序列。
关键设计¶
-
策略一:Agent-BEV特征注意力(替代agent-lane交互)
在HiVT预测模型中,用BEV patch注意力完全替代原有的agent-lane局部交互编码器。具体做法:选取agent位置对应的BEV patch作为Query \(Q_A \in \mathbb{R}^{M \times D}\),所有BEV patch作为Key/Value \(K_M = V_M \in \mathbb{R}^{N \times D}\),通过多头注意力 \(\mathbf{e}_A = \text{MHA}(Q_A, K_M, V_M)\) 得到agent-BEV embedding。这样完全移除了矢量化车道信息的需求,计算复杂度仅为 \(O(M \times N)\),且 \(M \ll N\)。关键优势:跳过了耗时的地图解码阶段,实现端到端加速。 -
策略二:BEV特征增强车道顶点(保留+增强lane信息)
对于DenseTNT这类严重依赖矢量地图的预测模型,无法完全丢弃lane信息。该策略通过1D CNN将BEV特征维度对齐后,根据每个地图顶点的空间位置找到其对应的BEV网格位置,将原始顶点坐标特征与BEV特征拼接。增强后的地图元素通过VectorNet backbone编码(隐藏层加倍以适应特征维度增加)。目标是用BEV特征补充矢量化地图无法表达的信息(如道路的可行驶性、路面纹理等隐含语义)。 -
策略三:时序BEV特征替代agent轨迹信息
利用StreamMapNet的时序BEV特征(融合了历史帧的BEV features)。由于时序BEV特征既编码了静态道路信息也隐式编码了动态agent运动信息,可以直接用策略一中的agent-BEV注意力替代DenseTNT中VectorNet编码的agent子图。也就是说,agent轨迹输入被完全丢弃,预测模型不再需要显式的agent历史轨迹信息。
损失函数 / 训练策略¶
- 地图估计模型先独立训练至收敛,然后冻结编码器,提取并缓存所有场景的BEV特征
- 预测模型在三种设置下分别训练:Baseline(仅矢量地图)、Uncertainty(加入地图不确定性)、Ours(加入BEV特征)
- 针对不同建图-预测组合,分别调整学习率、权重衰减和dropout(如策略二中学习率降至 \(10^{-4}\),weight decay从0.01增至0.05,dropout从0.1增至0.2)
- 所有模型在单张RTX 4090上训练
实验关键数据¶
数据集:nuScenes(2Hz标注,预测模型输入2秒观测、预测3秒未来)
| 建图模型 + 预测模型 | 方法 | minADE↓ | minFDE↓ | MR↓ |
|---|---|---|---|---|
| MapTR + HiVT | Baseline | 0.4234 | 0.8900 | 0.0955 |
| MapTR + HiVT | + Uncertainty | 0.4036 | 0.8372 | 0.0822 |
| MapTR + HiVT | + Ours | 0.3617 | 0.7401 | 0.0720 |
| StreamMapNet + HiVT | Baseline | 0.4035 | 0.8569 | 0.0996 |
| StreamMapNet + HiVT | + Ours | 0.3800 | 0.7709 | 0.0746 |
| MapTR + DenseTNT | Baseline | 1.0462 | 2.0661 | 0.3494 |
| MapTR + DenseTNT | + Ours | 0.7608 | 1.4700 | 0.2593 |
| StreamMapNet + DenseTNT | Baseline | 0.8864 | 1.7050 | 0.2467 |
| StreamMapNet + DenseTNT | + Ours | 0.7377 | 1.3661 | 0.1987 |
推理速度(RTX 4090,单位:FPS):
| 组合 | Baseline FPS | Ours FPS | 加速比 |
|---|---|---|---|
| HiVT + MapTR | 22.4 | 9.1ms等效 | 42-73% faster |
| HiVT + MapTRv2 | 26.7 | 13ms等效 | 35-62% faster |
| HiVT + StreamMapNet | 33.6 | 29.4ms等效 | 8-15% faster |
消融实验要点¶
- Patch大小:20×20(对应真实世界6m×6m)最优;太小(10×5)信息不足,太大(40×20)线性投影压缩损失过多细粒度信息
- BEV编码器选择:BEVFormer类编码器(含时序信息,如MapTR、StreamMapNet)效果远优于LSS类(无时序,如MapTRv2)——时序BEV特征带来minADE/minFDE/MR相对提升16%/19%/24%,而无时序的仅提升4%/2%/4%
- MapTR的BEV特征反而比MapTRv2更有用:说明MapTR的解码器可能引入了噪声,直接用其BEV特征绕过了这一问题
- Centerline的重要性:MapTRv2-CL(含中心线预测)的基线预测精度已经很高,BEV特征的边际收益最小,从侧面证实了centerline对轨迹预测的核心价值
亮点¶
- 思路简洁有力:不设计新的建图或预测模型,而是在二者之间的"接口"动手,通过更好的信息传递提升整体性能
- 同时加速+提精度:跳过地图解码器既省计算又避免了解码引入的噪声,罕见地实现了速度和精度的双赢
- BEV特征的"暗知识" > 显式地图:实验证实BEV中间特征包含比解码后矢量地图更丰富的信息(如可行驶区域语义、道路纹理等),这对end-to-end自动驾驶架构设计有启示意义
- 时序BEV能编码agent动态:StreamMapNet的时序BEV特征不仅含静态道路信息,还隐式建模了动态agent运动,可完全替代agent轨迹输入——这一发现对end-to-end driving很有价值
- 即插即用:三种策略可以根据下游预测模型的特点灵活选用
局限性 / 可改进方向¶
- 可解释性下降:用黑箱BEV特征替代显式矢量地图,增加了预测行为的不可解释性,这在安全关键的自动驾驶场景中是个问题
- 缺乏联合训练:目前是建图模型先训练→冻结→提取BEV特征→训练预测模型的两阶段方案,没有端到端联合优化梯度回传到编码器
- 仅在nuScenes验证:缺少在Argoverse 2、Waymo等更大规模数据集上的验证
- 策略二和三的加速有限:仍需地图解码器产生矢量化lane信息,加速主要来自策略一
- BEV特征空间未深入分析:PCA可视化较初步,缺少BEV特征的系统性分析(如不同通道编码了什么语义)
- 潜在方向:建图-预测联合训练(co-training),让预测loss反向指导编码器产生更适合预测的BEV特征
与相关工作的对比¶
- vs. Gu et al. (CVPR 2024, [13]):后者在解码后的地图元素上附加不确定性信息传给预测模型;本文则从更早的阶段(编码器输出)提取信息,信息更丰富且计算更高效。实验表明本文在几乎所有组合上都优于Uncertainty方法。
- vs. UniAD / VAD 等end-to-end方案:这些方法也在内部共享BEV特征,但仍将建图作为显式子任务(密集或矢量化预测),引入额外计算负担。本文的策略可嵌入这些end-to-end架构以进一步加速。
- vs. HiVT / DenseTNT(原版):原版需要HD Map作为输入;本文将它们改造为可直接消费BEV特征,扩展了它们在无HD Map场景中的适用性。
启发与关联¶
- 与 代价体引导的全稀疏3D占据预测 的关联:两者都在探索如何更充分利用BEV中间表示。本文证明"BEV特征 > 解码后的显式表示"这一洞察,可以类比到占据预测中——直接用BEV特征做语义判断可能优于先生成密集/稀疏体素再分类。
- 对end-to-end driving的启示:在多任务AV stack中,各子任务间的"接口"选择(BEV特征 vs. 矢量化输出 vs. 占据网格)对整体性能影响巨大,值得系统性研究。
- 时序BEV编码agent动态这一发现提示:如果BEV特征已经隐式包含了agent运动信息,那么可能不需要显式的感知-跟踪pipeline就能做预测——这是一个值得探索的极简end-to-end路径。
评分¶
- 新颖性: ⭐⭐⭐⭐ 思路直观但切入角度新颖,首次系统研究BEV中间特征在prediction中的直接使用
- 实验充分度: ⭐⭐⭐⭐ 4种建图模型×2种预测模型×3种设置,消融全面;但仅在nuScenes上验证
- 写作质量: ⭐⭐⭐⭐ 结构清晰,问题-方法-实验逻辑通畅
- 价值: ⭐⭐⭐⭐ 对AV系统设计有实际指导意义,揭示了中间特征复用的巨大潜力