论文:DriveSuprim: Towards Precise Trajectory Selection for End-to-End Planning
作者:Wenhao Yao, Zhenxin Li, Shiyi Lan, Zi Wang, Xinglong Sun, Jose M. Alvarez, Zuxuan Wu
单位:复旦大学、NVIDIA
论文版本:2506.06659v3
1. 摘要
端到端自动驾驶通常有两类思路:
- Regression-based planning:直接从传感器输入回归一条未来轨迹;
- Selection-based planning:预先构造大量候选轨迹,然后让模型对候选轨迹进行打分,最终选择得分最高的一条。
DriveSuprim 关注第二类方法。
作者发现,selection-based planning 虽然能够显式利用碰撞风险、道路可行驶区域、交通规则等指标,但在面对大量候选轨迹时,模型很难准确区分那些“看起来都合理、但细节上存在安全差异”的轨迹。同时,现有数据集存在明显的方向分布偏差,直行轨迹远多于大角度转弯轨迹;此外,训练过程中使用的二值标签也容易造成过于硬的决策边界。
为了解决这些问题,DriveSuprim 提出了三个关键设计:
- Coarse-to-Fine Trajectory Selection:先从大量候选轨迹中粗筛,再对 Top-K 候选进行精细打分;
- Rotation-based Data Augmentation:通过旋转图像和对应轨迹,增加转弯场景的训练样本;
- Self-Distillation with Soft Labels:利用 EMA Teacher 生成软标签,降低二值标签带来的优化困难。
最终,DriveSuprim 在 NAVSIM 和 Bench2Drive 上取得了较好的结果。在 NAVSIM v1 上达到 93.5 PDMS,在 NAVSIM v2 上达到 87.1 EPDMS,在 Bench2Drive 上达到 83.02 Driving Score 和 60.00 Success Rate,且没有引入额外训练数据。
2. 背景:为什么需要 Selection-based Planning?
2.1 Regression-based Planning 的问题
传统端到端规划可以表示为:
其中 是未来轨迹,可以表示为一系列车辆位置:
也可以表示为一系列控制动作:
Regression-based 方法通常直接学习 human expert trajectory。
问题在于:模型最终只输出一条轨迹,因此很难显式比较多个驾驶方案。
例如,在一个复杂路口中可能同时存在:
这些方案可能在几何距离上都比较接近 expert trajectory,但在安全性、交通规则和驾驶效率上可能有很大差异。
因此,单纯进行轨迹回归并不能很好地表达:
“当前场景下,有多个可行方案,哪个方案最好?”
3. Selection-based Planning
Selection-based 方法的基本思想是提前建立一个 trajectory vocabulary:
其中 是第 条候选轨迹。
对于当前驾驶场景,模型分别计算每条轨迹的质量分数:
最终选择:
这种方法的优势是可以同时考虑:
因此,selection-based planning 已经成为端到端自动驾驶规划的重要范式。
但它也带来了新的问题:
候选轨迹太多时,模型如何精确地区分这些轨迹?
4. DriveSuprim 要解决的三个核心问题
DriveSuprim 主要针对三个问题。
4.1 Hard Negative:相似轨迹难以区分
假设 trajectory vocabulary 中存在 8192 条轨迹。
其中很多轨迹非常明显地不合理:
这些属于 easy negatives。
模型很容易学会:
“这些轨迹明显不好。”
真正困难的是:
但三条轨迹在终点、道路中心线、碰撞风险等方面存在细微差异。
例如:
这类轨迹就是 hard negatives。
论文认为,传统 selection-based 方法对这些细微差异的辨别能力不足。
4.2 Directional Bias:训练数据中直行过多
论文统计发现,NAVSIM 中只有约 18% 的 ground-truth trajectories 转弯角超过 。
因此数据分布大致类似:
直行 ████████████████████
小角度转弯 ████
大角度转弯 ██
模型很容易形成一个错误的先验:
“大多数情况下应该向前走。”
这会导致模型在:
中的表现下降。
4.3 Hard Binary Labels:二值标签过于粗糙
传统方法通常根据阈值将轨迹分成:
例如:
如果阈值为 :
但是 和 实际上非常接近。
二值标签却人为地制造了一个非常硬的 decision boundary,使模型可能对轨迹的微小变化过于敏感。
5. DriveSuprim 总体框架
DriveSuprim 的整体思想可以概括为:
Sensor Data
│
▼
Image Encoder
│
▼
8192 Candidate Trajectories
│
▼
Coarse Scoring
│
▼
Top-K
(256)
│
▼
Fine Refinement
│
▼
Final Trajectory
训练阶段同时加入:
Original Data
│
├───────────────┐
│ │
▼ ▼
Original Training Rotation Augmentation
│ │
└───────┬───────┘
▼
Student Model
▲
│
Soft Labels
│
Teacher
▲
│
EMA
因此,DriveSuprim 的三个核心组件分别对应:
6. 核心方法一:Coarse-to-Fine Trajectory Selection
这是 DriveSuprim 最核心的设计。
6.1 为什么需要两阶段?
如果直接对 8192 条轨迹进行精确排序:
模型必须同时完成:
这会让优化问题非常困难。
DriveSuprim 将其拆成两个阶段:
第一阶段负责:
“哪些轨迹值得进一步考虑?”
第二阶段负责:
“这 256 条中,到底哪一条最好?”
7. Coarse Filtering
首先使用 image encoder 提取图像特征:
对于第 条候选轨迹:
然后通过 Transformer Decoder 进行 cross-attention:
得到 trajectory-aware feature 。
随后通过多个 prediction heads 计算轨迹相关指标:
其中:
- 不同 head 可以预测不同的 trajectory quality metrics。
其中包括与 human trajectory 的归一化 L2 距离以及 NAVSIM 中的规则相关指标。
最终根据 coarse score 对全部候选轨迹排序,并选择 Top-K:
论文默认:
8. Fine-grained Refinement
Coarse Filtering 后只剩下 256 条候选轨迹:
这些轨迹通常已经比较合理,因此第二阶段可以将计算能力集中到真正困难的候选上。
Refinement Decoder 会进一步进行 trajectory-image interaction,并产生更加精细的 trajectory scores。
论文采用 3-layer Transformer Refinement Decoder。
最终:
因此完整的推理过程为:
9. 为什么 Coarse-to-Fine 有效?
它本质上类似于信息检索系统中的:
Recall → Reranking
第一阶段追求:
不要漏掉好的轨迹。
第二阶段追求:
精确区分真正困难的轨迹。
如果把整个 trajectory vocabulary 看成:
8192 trajectories
│
├── 7000+ 明显错误
│
├── 700 条一般
│
├── 300 条较好
│
└── 若干 hard negatives
Coarse stage 主要负责清除大量明显错误轨迹。
Fine stage 则可以集中计算:
Good trajectory
Good trajectory
Hard negative
Hard negative
Very good trajectory
因此优化目标从:
“8192 分类/排序”
转变成:
“对 256 个困难候选进行精细 reranking”。
10. Ablation:提升不是来自单纯增加模型深度
论文进行了非常重要的消融实验。
简单地把 decoder layer 从 3 层增加到 6 层,只带来约 0.3% 的提升。
而加入:
之后获得了更加明显的提升。
因此作者认为:
性能提升主要来自 coarse-to-fine mechanism,而不是单纯增加模型容量。
这是论文非常关键的实验结论。
11. 核心方法二:Rotation-based Data Augmentation
第二个核心问题是 trajectory directional bias。
11.1 基本思想
假设原始训练样本是:
Image
↓
Vehicle
↓
Forward trajectory
DriveSuprim 希望从同一场景中构造更多不同方向的训练样本。
因此它使用旋转增强。
首先构造更大的视野:
Left Camera
+
Front Camera
+
Right Camera
形成更宽的视野,然后随机改变 crop window。
旋转角度满足:
论文中:
12. 为什么必须同时旋转 Trajectory?
这是该 augmentation 的关键。
如果只旋转图像:
但 trajectory 不变:
那么 image 和 trajectory 就不再对应。
因此作者同时对 trajectory 做二维旋转。
设轨迹点为:
二维旋转矩阵为:
则旋转后的轨迹为:
于是训练样本保持一致:
13. Rotation Augmentation 解决什么问题?
原始 trajectory distribution:
Forward ███████████████
Left ███
Right ███
Sharp Turn █
增强后:
Forward █████████
Left ███████
Right ███████
Sharp Turn █████
论文的实验显示,增强后不同方向的 trajectory frequency 更加均衡。
更重要的是,性能提升主要出现在 turning scenarios。
14. Turning Scenario 实验
作者把 NAVSIM 测试集划分为:
结果:
可以看到:
也就是说,Rotation Augmentation 确实主要改善了转弯能力。
15. 核心方法三:Self-Distillation
第三个问题是 binary label。
DriveSuprim 使用 Teacher-Student self-distillation。
15.1 Teacher / Student
模型分为:
Student 通过正常 gradient descent 更新。
Teacher 不直接通过 gradient 更新,而是通过 Student 的参数进行 EMA 更新:
其中:
16. Soft Label
传统方法:
DriveSuprim 使用 Teacher 的预测生成更加平滑的目标。
可以理解为:
其中:
- 是 soft-label clipping threshold。
论文默认:
这样可以避免 Teacher 对 ground truth 进行过大的偏移。
17. 为什么 Soft Label 更合理?
考虑两个轨迹:
Binary label:
这会人为地让两条几乎一样的轨迹拥有完全不同的监督信号。
Soft label 则允许:
这样模型能够学习:
“B 稍微好一点。”
而不是:
“A 完全错误,B 完全正确。”
这更符合 trajectory ranking 的实际性质。
18. Soft Imitation Learning
DriveSuprim 不仅对分类/评分标签进行 softening,还对 imitation loss 进行调整。
论文允许 human trajectory 向 Teacher trajectory 移动最多 1 meter,并使用这个调整后的 trajectory 计算 imitation loss。
因此整体 Student loss 为:
其中:
- :rotation augmented data 上的训练损失;
- :Teacher 提供的 soft supervision。
19. Self-Distillation 的消融实验
作者将三种 smoothing 方法进行比较:
因此在该实验中:
说明 self-distillation 比普通 label smoothing 和 temperature-scaled cross entropy 更有效。
20. 完整训练目标
因此,DriveSuprim 的训练可以理解为:
训练数据同时包含:
Teacher 则通过 EMA 持续更新。
最终形成:
Original Data ────────────┐
│
Rotated Data ─────────────┤
▼
Student
▲
│
Soft Labels
│
Teacher
▲
│
EMA
21. 实验设置
论文主要在:
上进行实验。
NAVSIM v1 使用:
- Drivable Area Compliance;
得到:
NAVSIM v2 在此基础上加入:
- Driving Direction Compliance;
- Traffic Light Compliance;
得到:
Bench2Drive 则是在 CARLA v2 中进行 closed-loop evaluation。
22. 模型配置
论文主要配置如下:
实验还测试了:
23. 主要实验结果
23.1 NAVSIM v1
DriveSuprim 在 ViT-Large backbone 下:
相比 Hydra-MDP++ 的:
提升:
23.2 NAVSIM v2
DriveSuprim:
Hydra-MDP++:
提升:
23.3 Bench2Drive
DriveSuprim:
说明方法不仅在 open-loop NAVSIM 上有效,在 closed-loop CARLA benchmark 上也有较好的规划表现。
24. Ablation:三个模块分别贡献多少?
论文的消融实验非常清楚:
因此:
Coarse-to-Fine
提升:
Rotation Augmentation
提升:
Self-Distillation
提升:
所以三个模块中:
Coarse-to-Fine 是最主要的性能来源。
25. Top-K 为什么选择 256?
实验:
Top-K 太小:
Coarse stage 可能误删真正优秀的轨迹。
Top-K 太大:
Fine stage 又需要面对大量候选,计算和优化难度增加。
因此:
在实验中取得最佳结果。
26. Camera 数量实验
论文还比较了不同 FOV 设置。
使用:
结果显示:
5-camera setting 最好。
但不同 camera setting 之间的提升并没有特别巨大。
这说明 DriveSuprim 的核心性能提升并不是简单依赖更多视觉信息,而主要来自 trajectory selection 本身。
27. 推理效率
DriveSuprim 相比 Hydra-MDP++ 只增加约 7M 参数。
例如 ResNet34:
ViT-Large:
因此,虽然加入 refinement stage 会增加计算量,但仍保持实时 planning 能力。
28. Qualitative Analysis
论文展示了多个 hard-negative 场景。
一个典型场景是:
前车
↓
十字路口
↓
需要完成超车
Hydra-MDP++ 错误地选择了左转轨迹,而 DriveSuprim 能够选择更合理的超车轨迹。
另一些场景中,两种方法生成的轨迹整体形状非常相似,但 Hydra-MDP++ 在终点附近偏离道路中心,而 DriveSuprim 更接近 human expert trajectory。
这说明 DriveSuprim 的优势主要体现在:
细微轨迹差异的辨别能力。
29. 论文最终结论
DriveSuprim 证明了一个重要观点:
对于 selection-based end-to-end planning,问题不一定是候选轨迹数量不够,而可能是模型无法精确地从大量候选中区分 hard negatives。
论文通过三个方向解决这个问题:
分别解决:
最终获得:
以及:
在 Bench2Drive 上。
30. 对端到端驾驶 / VLA 的启发
这篇论文最值得借鉴的并不是具体的 Transformer 层数,而是它对 trajectory prediction 的重新思考。
传统思路:
DriveSuprim 的思路:
因此,它实际上把 trajectory prediction 转化成了:
Candidate Generation + Ranking + Reranking
这与搜索系统中的:
具有很强的相似性。
31. 对 VLA / 机器人导航的潜在启发
这一思想也可以自然迁移到机器人和 VLA。
例如给机器人一个指令:
“走到那棵树旁边。”
可以构造:
然后:
VLM / Vision Encoder
↓
Scene Understanding
↓
Candidate Trajectories
↓
Coarse Scoring
↓
Top-K
↓
Fine Scoring
↓
Best Trajectory
↓
Action
这样可以把:
- semantic goal consistency;
统一放到 trajectory scoring 中。
因此,DriveSuprim 的核心思想可以概括成:
不要强迫模型一次性生成“唯一正确的轨迹”,而是让模型先保留多个可能方案,再逐步缩小候选空间并进行精细比较。
32. 论文的局限与未来方向
论文也指出,进一步增加 refinement stages 并没有持续带来性能提升。
因此:
作者提出未来可以进一步研究:
这说明 coarse-to-fine 虽然有效,但并不是简单地增加 stage 数量就能无限获得收益。
33. 总结
如果把整篇论文压缩成一个公式:
训练过程中再加入:
最终解决:
而整篇论文最核心的一句话是:
DriveSuprim 的关键不是生成更多轨迹,而是让模型更准确地从已有候选轨迹中选择最优轨迹。
参考文献
Yao, W., Li, Z., Lan, S., Wang, Z., Sun, X., Alvarez, J. M., & Wu, Z.
DriveSuprim: Towards Precise Trajectory Selection for End-to-End Planning.
AAAI 2026.
论文代码:
https://github.com/William-Yao-2000/DriveSuprim