一句话定位
多相机图像进,不用稠密 BEV 栅格,只用稀疏「实例」(车框 + 地图折线)表示场景;检测/跟踪/建图共用对称结构,他车预测与自车规划并行做,再靠碰撞感知重打分挑一条最安全的轨迹。比 UniAD / VAD 更安全、更快。

本页概念卡

  • 范式:端到端自动驾驶 · 规划导向设计 · SparseDrive · Sparse-Centric 范式
  • 对照:UniAD · VAD · BEV · PETR
  • 本文模块:对称稀疏感知 · 并行运动规划器 · 碰撞感知重打分(CAR)
  • 数据与指标:nuScenes · minADE / minFDE / MR · 开环规划评测(L2 / 碰撞率)

1. 背景概念(给新人)

  • 模块化自动驾驶:感知(看见车/人)→ 预测(猜别人怎么走)→ 规划(决定自己怎么开)→ 控制。每步独立训练时,前一步的错会被后一步放大。
  • 端到端(End-to-End):整条链一个可微网络,可按「规划好不好」联合优化。
  • BEV(Bird’s-Eye View,鸟瞰图):把多相机信息铺成俯视栅格。UniAD、VAD 等「BEV-Centric」方法依赖这张稠密图,算力贵。
  • 稀疏场景表示(Sparse Scene Representation):不铺满整张俯视图,只维护少量「实例」——每辆车一个锚框 + 特征向量,每条车道一条折线 + 特征向量。像通讯录只记关键联系人,不记整本电话簿。
  • 技术线位置:站在 UniAD(规划导向全栈)→ VAD(矢量化轻量)之后,把感知也彻底稀疏化,并重做「预测 vs 规划」任务设计;ICRA 2025,清华 + 地平线。

直觉类比
UniAD 像带一张高分辨率城市俯视图开车;SparseDrive 像老司机脑子里只有「附近几辆车 + 几条车道线」——信息够开,脑子负担小得多。

2. 论文在干什么

  • 问题:
    1. 现有端到端方法(尤其 UniAD)依赖昂贵的稠密 BEV,训练慢、推理慢;
    2. 预测与规划常做成串行(先猜别人,再规划自己),忽略「自车也会影响别人」;
    3. 规划常输出单一确定轨迹,没把「多可能性」当一等公民;安全上也不够好。
  • 设定:nuScenes;多视角相机;检测 + 跟踪 + 在线矢量建图 + 他车运动预测 + 自车规划;规划给高层命令(左转 / 右转 / 直行);评测用开环 L2 与碰撞率(作者对碰撞判定做了更严格的框重叠版,并用官方权重复现 UniAD/VAD)。
  • 输出:他车多模态未来轨迹 + 自车多模态规划候选,经分层选择后一条安全轨迹。

3. 核心创新点

  1. Sparse-Centric 范式(Sparse-Centric)

    • 是什么:用稀疏实例(特征 + 几何锚点)统一表示动态目标与静态地图,贯穿感知到规划,避免稠密 BEV。
    • 为什么新:把「稀疏检测线」(PETR / Sparse4D)接到端到端驾驶全栈,形成与 BEV-Centric 对照的新范式。
  2. 对称稀疏感知(对称稀疏感知)

    • 是什么:检测 / 跟踪 / 在线建图共用同一套解码器结构;动态用 3D 锚框,静态用折线锚点;跟踪用 Sparse4Dv3 式简单 ID 锁定,无额外跟踪损失。
    • 为什么新:一个对称架构吃下三件感知任务,学到「全稀疏」场景表示。
  3. 并行运动规划器(并行运动规划器)

    • 是什么:自车也做成「实例」;与周围 agent 拼在一起,同时做他车预测与自车多模态规划(agent–agent / agent–map / 实例级时序注意力)。
    • 为什么新:显式利用「预测 ≈ 规划」三点共性:双向交互、语义+几何、多模态不确定性。
  4. 分层规划选择 + 碰撞感知重打分(CAR)(CAR)

    • 是什么:先按导航命令筛候选 → 用他车预测轨迹做碰撞检查,撞的分数置 0 → 取最高分。
    • 为什么新:比 UniAD 那类「后处理优化」更贴端到端,消融里碰撞率明显下降且 L2 几乎不伤。

4. 方法细节

4.1 图像编码器

  • 多相机 → Backbone + Neck → 多尺度特征图 III。
  • SparseDrive-S:ResNet50,输入 256×704256\times704256×704;SparseDrive-B:ResNet101,512×1408512\times1408512×1408。

4.2 对称稀疏感知

动态实例(车/人等)

  • 实例特征 Fd∈RNd×CF_d \in \mathbb{R}^{N_d \times C}Fd​∈RNd​×C + 锚框 Bd∈RNd×11B_d \in \mathbb{R}^{N_d \times 11}Bd​∈RNd​×11(位置、尺寸、朝向、速度等)。
  • 默认 Nd=900N_d=900Nd​=900;6 层解码器(1 层无时序 + 5 层时序)。
  • 可变形聚合:在锚框周围采关键点,投影到图像特征采样 → 更新特征 → 分类与框 refinement。
  • 时序:跨帧 cross-attention + 当前帧 self-attention;锚框变成高维 embedding 当位置编码。

静态地图实例

  • 折线锚点:每条元素 Np=20N_p=20Np​=20 个点;实例特征 FmF_mFm​ + 折线 LmL_mLm​;Nm=100N_m=100Nm​=100。
  • 结构与检测分支对称,只改「实例定义」。

跟踪

  • 置信度超过阈值 Tthresh=0.2T_{thresh}=0.2Tthresh​=0.2 就锁定 ID,随时间传播;无额外跟踪约束/损失。

4.3 并行运动规划器

自车实例初始化(EII)

  • 自车也有 Fe,BeF_e, B_eFe​,Be​。相机拍不到自己,所以用前视最小尺度特征做 AveragePool 初始化 FeF_eFe​(补语义 + 补稀疏漏检的「黑名单障碍」)。
  • 速度不用 GT(防 ego status 泄漏):用辅助头预测当前自车状态,上一帧预测速度初始化本帧锚框速度。

时空交互

  • 拼接 agent:Fa=Concat(Fd,Fe)F_a=\mathrm{Concat}(F_d,F_e)Fa​=Concat(Fd​,Fe​)。
  • 实例记忆队列长度 H=3H=3H=3(只看自己的历史,叫 instance-level 时序)。
  • 三类注意力:agent–temporal、agent–agent、agent–map。
  • 并行解码:他车 Km=6\mathcal{K}_m=6Km​=6 模态、Tm=12T_m=12Tm​=12;规划 Kp=6\mathcal{K}_p=6Kp​=6、Tp=6T_p=6Tp​=6,并按 3 种驾驶命令组织。

分层选择

  1. 按命令筛子集;
  2. CAR:用他车 top-2 预测轨迹做碰撞检查,撞则分数置 0;
  3. 最高分轨迹作为最终规划。

4.4 训练

  • 两阶段:Stage-1 只训稀疏感知;Stage-2 感知 + 规划器端到端联合(不冻结)。
  • 总损失:L=Ldet+Lmap+Lmotion+Lplan+Ldepth\mathcal{L}=\mathcal{L}_{det}+\mathcal{L}_{map}+\mathcal{L}_{motion}+\mathcal{L}_{plan}+\mathcal{L}_{depth}L=Ldet​+Lmap​+Lmotion​+Lplan​+Ldepth​。
  • 多模态用 winner-takes-all(ADE 最低为正样本);深度估计作辅助稳定感知训练。

5. 整体框架(Mermaid)

5.1 稠密感知 vs 感知也稀疏

SparseDrive:直接记便利贴

UniAD 等:先铺地毯

多相机

稠密 BEV 特征图

Track / Map / …

稀疏实例
车框 + 折线

可变形采样图像

5.2 SparseDrive 全流程

多相机图像

图像编码器

稀疏检测实例

稀疏地图实例

自车实例初始化

ID 锁定跟踪

实例记忆队列

并行运动规划器

他车多模态轨迹

自车多模态候选

碰撞感知重打分

按导航命令筛选

最终规划轨迹

上半截是「对称稀疏感知」学场景;下半截是「并行规划 + CAR」选安全轨迹。图中缩写见本页概念卡。对照图也见 Sparse-Centric。

6. 实验与结论

主结果(nuScenes val,SparseDrive-B)

任务关键数字vs 前序
检测mAP 0.496 / NDS 0.588vs UniAD mAP +11.6%
跟踪AMOTA 0.501,IDS 632vs UniAD AMOTA +14.2%
在线建图mAP 56.2%vs VAD +8.6%
运动预测minADE 0.60 / minFDE 0.96vs UniAD 更低误差
规划Avg L2 0.58 m,碰撞率 0.06%vs VAD:L2 −19.4%,碰撞 −71.4%
效率(S)训练约 20h,推理 9.0 FPSvs UniAD:训练约 7.2×、推理约 5.0×(硬件不完全同,方向仍明显)

消融要点(SparseDrive-S)

  • 改串行预测→规划:碰撞变差。
  • 去掉自车语义/几何初始化:L2 与碰撞都变差。
  • 规划改单模态:碰撞率升到约 0.25%。
  • 去掉实例级时序注意力:Avg L2 升到 0.77 m。
  • CAR:碰撞 0.12% → 0.08%;UniAD 式后优化反而伤 L2、碰撞更差。
  • 规划模态数约 6 时饱和。

局限(作者自述)

  • 在线建图仍落后部分单任务方法(如 MapTR)。
  • 数据规模与开环评测不足以完全代表真实闭环驾驶。

7. 要点总结

  • SparseDrive = 稀疏实例场景表示 + 预测/规划并行 + CAR 选安全轨迹
  • 相对 UniAD/VAD:不只是「更快」,规划安全(碰撞率)提升是卖点
  • 自车也要当「实例」:语义来自前视特征,几何/速度要防泄漏

8. 开放问题

  • 作者修订后的碰撞率与社区常用 UniAD/VAD 脚本差多少?跨论文对比时是否要对齐评测代码?
  • 稀疏漏检时,前视 dense pool 能补多少「黑名单障碍」?有没有定量消融?
  • 闭环(CARLA / NAVSIM / Bench2Drive)上 SparseDrive 是否仍保持优势?

相关

  • PDF:papers/VLA与模仿学习/2405.19620 - SparseDrive.pdf
  • 前序:UniAD 精读 · VAD
  • 代码:https://github.com/swc-17/SparseDrive
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐