地平线最新的SparseDrivev2,还是很有自己做端到端的想法......
点击下方卡片关注“自动驾驶之心”公众号戳我-领取自动驾驶近30个方向学习路线作者 | Wenchao Sun等编辑 | 自动驾驶之心本文只做学术分享如有侵权联系删文自动驾驶前沿信息获取→自动驾驶之心知识星球自地平线提出 SparseDrive 以来已经过去两年了。两年时间里端到端自动驾驶走得很快从UniAD、到VADv2这类方法在显式建模多模态planning的分布再到 SparseDrive 、GoalFlow 和 DiffusionDriveV2 这些工作持续在推进“怎么生成更合理的候选轨迹”和“怎么处理多模态不确定性”。到了VLA的时代AutoVLA、DriveVLA-W0这些工作又开始把VLA、世界模型和轨迹生成融在一起。而这些工作的背后绝大多数都有工业界的影子。目前行业的主流做法已经很自然地偏向另一边既然驾驶行为天然是多模态的既然复杂路口里“唯一正确轨迹”根本不存在那规划器就该是多模态的形式自然而然想到了生成类的方法。于是动态 proposal、diffusion、flow matching乃至今天的 VLA/world model都在强化一个共识未来应该属于生成派。但 SparseDriveV2 偏偏反着来看完 SparseDrive v2还是有一些感慨。它没有继续去堆新的生成器也没有试图把“世界想象”和“语言推理”纳入进来。而是重新思考了一个很朴素、但这两年其实没人认真问透的问题★静态候选轨迹这条路真的不行了吗论文标题SparseDriveV2: Scoring is All You Need for End-to-End Autonomous Driving论文链接https://arxiv.org/abs/2603.29163一、端到端这几年的主线先把这两年的端到端自动驾驶简单捋一下大致能看到三条线。第一条是 planning-oriented 的统一范式。UniAD 的意义在于它把感知、预测、规划都纳入到 “为规划服务” 的大框架下让自动驾驶的全栈任务在一个网络里协同起来。那一代工作的核心任务是先把过去模块化流水线的误差累积问题打掉让端到端成为一个真正成立的系统设计。第二条是多模态规划的候选集之争。到了 VADv2、Hydra-MDP、SparseDrive 这一代业内意识到自动驾驶不是单模输出Planning必须面对环境最真实的不确定性。于是有的算法走静态轨迹词表打分有的算法走 teacher-student 的多头蒸馏有的算法开始用 sparse representation 和更轻量的 planner 去提升效率与安全性。再往后DiffusionDrive、GoalFlow、DiffusionDriveV2 这类动态生成路线发展本质上都在解决一件事候选集不能太粗粗了就会把真实可行解离散没了。第三条则是 2025 之后越来越热的 VLA / 世界模型路线。这一路的想法更激进既然驾驶不是单纯的轨迹拟合问题那就把语义理解、未来想象、动作规划一起做。这一类的代表工作有很多像DriveVLA-W0、Alpamayo-1、DriveWorld-VLA等等。这几条线理想、小米、小鹏、元戎这些公司其实都有铺开。但地平线仍然聚焦在前两条线上也一直在端到端上走的最深SparseDriveV2 就是在这个大背景下的工作。SparseDrive V2在回答什么问题作者没有急着提出新方法而是先做了一轮 scaling study在 Hydra-MDP 这个经典的 scoring-based 路线做实验把静态 trajectory anchors 从 1024 一路加到 16384结果 EPDMS 从 85.02 一路涨到 87.35直到 32768 anchors 才因为显存爆掉停下。换句话说性能并没有提前饱和先撞墙的反而是算力预算。它说明过去很多工作对静态 vocabulary 的不满未必是因为“打分派天然不如生成派”而更可能是因为旧方法的词表太稀。候选轨迹如果只覆盖到几千个 anchor它当然会显得粗糙、保守、离散化严重但如果候选集本身足够密情况可能完全不一样。SparseDriveV2 的核心判断就是静态词表的问题不是范式错了而是覆盖率不够。借这个思路SparseDriveV2 继续推两件事第一把轨迹词表做得足够密第二让这么密的词表还能被高效打分。SparseDriveV2的做法SparseDriveV2 的第一个核心创新是把完整轨迹拆开。过去的静态 trajectory anchor通常把空间形状和时间演化绑在一起直接把整条时空轨迹当成一个不可分的整体。这么做会有一个问题你想覆盖复杂驾驶场景就得把“左转半径”“并线角度”“加减速节奏”“刹停时机”这些组合全都枚举出来词表会指数级膨胀。SparseDriveV2 选择换一种表示方式。它把轨迹分解成两个部分一个是几何路径 path描述“车往哪走”一个是速度轮廓 velocity profile描述“车以多快的节奏走”。定义如下把它拆成也就是其中速度由相邻时刻的位置差分得到而累计路程则写成再沿着 path 在距离的位置做插值就能把 path 和 velocity 重新 compose 回一条完整轨迹。这个设计把“时空耦合的轨迹词表”变成了“空间库 × 时间库”的组合问题。进一步把一条轨迹转换成“路线模板”和“速度节奏”的自由配对。这样一来词表的规模就从原来的一维枚举变成了组合式扩展也就是 path anchors 数量乘上 velocity anchors 数量。论文里最终把 vocabulary 做到了 1024 个 path × 256 个 velocity总共 262,144 个候选轨迹相当于是此前常见 8192 anchors 的 32 倍密度。四、Scoring is All You Need通过上一步回答了 SparseDriveV2 要做的第一件事把轨迹词表做得足够密。那 SparseDriveV2 的第二个核心创新就是解决“这么多候选怎么打分”。普通的 scoring-based planning 的做法是给定场景特征对每一条候选轨迹直接算分最后选最高分问题在于当词表涨到 26 万条时逐条 trajectory-level scoring 就不现实了。计算量会线性爆炸训练和推理都扛不住。SparseDriveV2 的做法是既然轨迹已经被拆成了 path 和 velocity那评分也分两段做。先做coarse factorized scoring 分别给 path anchors 和 velocity anchors 粗打分把明显不靠谱的淘汰掉。再做fine-grained trajectory scoring 只把少量高质量 path 和 velocity 组合起来形成一个小得多的轨迹集合再做精细打分。SparseDriveV2给出的做法是第一层 decoder 先保留 top-128 paths 和 top-64 velocities第二层再收缩到 20 paths 和 20 velocities最终只留下 400 条 composed trajectories 进入细粒度打分。也就是说前面做大范围筛选后面只对真正值得看的少量候选做重计算。而这打分器也不是一个单纯的 imitation 学习器。它同时用 path loss、velocity loss、trajectory-level soft classification loss再叠加 rule-based metric supervision 去训练最终目标写成五、实验结果在 NAVSIM 上SparseDriveV2 用轻量 backbone 拿到了 92.0 PDMS 和 90.1 EPDMS。消融实验也能说明问题当 vocabulary 从 512×128 提升到 1024×256 时EPDMS 从 88.7 提升到 90.1没有出现性能饱和而在 scoring 设计上不管是 path-scene interaction 换成 deformable aggregation还是加入 trajectory re-conditioning都会继续带来提升。最强配置正是“更密的分解词表 更强的 coarse-to-fine 打分”。六、结语SparseDriveV2 整体的做法并不复杂但能看出来在认真思考以前工作存在的问题并提出解决方案。生成式方法确实很强但它们往往也更复杂要额外生成 proposal要做 denoising要处理 mode collapse要解决生成质量和稳定性的平衡。DiffusionDriveV2、GoalFlow 这几篇工作都在解决这些问题VLA 路线则还要继续面对语义推理、空间感知、实时性和安全约束之间的平衡。SparseDriveV2 走的是另一条更务实的路。它并没有否定下一代 VLA也不是在说 “生成不重要”VLA、世界模型、端到端其实都值得深入探索。自动驾驶并不是谁的技术更先进谁就更有话语权而是谁在认真做事谁才能真正被行业认可。自动驾驶之心