📄 论文信息
- 标题:Senna: Bridging Large Vision-Language Models and End-to-End Autonomous Driving(桥接大型视觉语言模型与端到端自动驾驶)
- 团队:华中科技大学(HUST)× 地平线机器人(Horizon Robotics),作者 Bo Jiang、Shaoyu Chen、Bencheng Liao、Xinggang Wang 等
- arXiv:2410.22313(2024 年 10 月)
- 一句话总结:让 VLM 当’决策大脑’用自然语言下指令,让 端到端模型当’执行小脑’画精确轨迹,高低层级解耦,扬长避短——这是 VLM 辅助端到端驾驶的一条代表性路线。
🤔 要解决什么问题?VLM 直接开车为什么不行?
端到端驾驶在大规模数据加持下规划能力越来越强,但有一个长期痛点——缺乏常识(commonsense)。比如前方一辆拉着交通锥的卡车,端到端模型可能把它误认成一道路障,于是莫名其妙地急刹;再比如遇到罕见的施工路段、临时管制,纯数据驱动的模型常常抓瞎。
而 大型视觉语言模型(LVLM) 恰恰擅长场景理解与推理,有从海量预训练里学来的常识和逻辑。于是大家很自然地想:能不能让 VLM 来帮端到端驾驶’看懂’场景?
早期尝试主要有两条路,但都踩了坑:
| 路线 | 做法 | 问题 |
|---|---|---|
| VLM 直接当规划器 | 让 LVLM 直接预测轨迹点或控制信号 | LVLM 天生不擅长精确数值计算,输出 waypoints 误差大 |
| VLM + E2E 级联(DriveVLM 式) | LVLM 预测低频轨迹点,E2E 再精修成高频轨迹 | 仍要 VLM 出数值,问题没根治 |
Senna 的核心洞察:不要逼 VLM 干它不擅长的事(算数字),让它干它最擅长的事(说人话、做决策)。把规划拆成高层决策(该往哪走、加减速)和低层执行(具体轨迹点),各司其职。

💡 核心思想:结构化规划,决策与执行解耦
Senna(名字取自巴西传奇车手 Ayrton Senna)的整体哲学可以一句话概括:
Senna-VLM 输出自然语言的高层决策 → 编码成 meta-action 特征 → Senna-E2E 在该决策条件下生成精确规划轨迹。
这其实非常贴近人类驾驶的双系统结构:大脑先做"该变道还是直行、该加速还是减速"的高层判断,手脚再执行具体的转向与油门。Senna 把这种层级化(hierarchical) 思想搬到了模型设计里。
Meta-action:把决策压缩到有限词表
为了让 VLM 的预测空间可控、也便于喂给 E2E,Senna 把高层决策定义成一组 格式化 meta-action:
| 维度 | 取值 |
|---|---|
| 横向(lateral) | Left / Straight / Right |
| 纵向(longitudinal) | Accelerate / Keep / Decelerate / Stop |
最终决策是横向与纵向的组合(如 “Left + Decelerate”)。横向由预测时段内的横向位移判定,纵向由速度变化判定。一个简单的 meta-action 编码器 把这组决策变成高维特征,送入 E2E。
训练时 E2E 吃真值决策,推理时吃 VLM 预测的决策——这种"训练用真值、推理用预测"的 scheduled sampling 思想在多阶段系统里很常见,能避免误差在两阶段间过度累积。不过它也带来一个固有挑战:训练时 E2E 没见过 VLM 的预测误差,上线后两者的分布差异可能让 E2E 表现打折,后续工作往往需要通过在训练中逐步引入带噪决策来缓解。
🏗️ 模型架构:Senna-VLM + Senna-E2E

Senna-VLM:为驾驶量身定制的 LVLM
通用 LVLM(如 LLaVA-1.5)并不针对多图输入优化。如果直接把 6 路环视图像塞进去,图像 token 数量爆炸,效果很差。Senna-VLM 做了三件关键设计:
- 驾驶视觉适配器(Driving Vision Adapter):对每路图像编码并压缩 token,把海量视觉信息压成紧凑表示,避免上下文膨胀。
- 多视图提示(Multi-view Prompts):为环视场景专门设计提示词,显式告诉模型"这是前视、这是后视、这是左后视……",帮助模型建立空间方位感知,区分不同视角的特征。
- 环视输入:相比只看前视图的方案,环视能显著提升空间感知与安全性(并道、过弯都离不开侧后视野)。
Senna-E2E:把决策变成轨迹
Senna-E2E 基于 VADv2(概率规划、多模态轨迹打分)扩展,额外接收 VLM 给的 meta-action 特征作为条件。也就是说,E2E 不再"独自"决定怎么走,而是在 VLM 给定的高层意图下去生成具体轨迹——既降低了学习难度,也让最终行为更可解释。
| 模块 | 角色 | 输入 → 输出 |
|---|---|---|
| Senna-VLM | 高层决策大脑 | 多视图图像 + 提示 → 自然语言决策(meta-action) |
| Meta-action Encoder | 桥梁 | 决策文本 → 高维特征 |
| Senna-E2E | 低层执行小脑 | 场景信息 + meta-action 特征 → 精确规划轨迹 |
📚 规划导向的 QA 与三阶段训练
规划导向的 QA(Planning-oriented QAs)
Senna 设计了一整套面向规划的问答数据,且全自动标注、可规模化(不像早期工作靠人工标注)。QA 类型包括:
| QA 类型 | 作用 |
|---|---|
| 场景描述 | 交通状况、环境、路况、天气、时段(用 GPT-4o 生成) |
| 交通信号检测 | 红绿灯状态:red / green / yellow / none |
| 弱势道路使用者(VRU)识别 | 行人、骑车人的类别与相对距离,提升安全 |
| 运动意图预测 | 周围车辆的未来行为(meta-action 形式) |
| Meta-action 规划 | 自车高层决策 |
| 规划解释 | 结合他车行为、导航、路况、信号灯解释为何这么做 |
这套 QA 让 VLM 理解规划相关线索,而不只是泛泛地"看图说话"。
值得注意的是,这套 QA 数据完全通过自动流水线生成:3D 检测框、跟踪轨迹来自自动标注系统,场景描述由 GPT-4o 生成,meta-action 由真值轨迹规则化转换。这意味着数据成本极低、可无限扩展,与早期 DriveVLM 等依赖人工标注的方案形成鲜明对比。在驾驶数据"规模化即正义"的当下,这种自动化能力是 Senna 能用上 DriveX 大规模预训练的前提。
| QA 类型 | 数据来源 |
|---|---|
| 场景描述 / 规划解释 | GPT-4o 生成 |
| 交通信号 / VRU / 运动 | 自动标注系统 |
| Meta-action 规划 | 真值轨迹规则化 |
三阶段训练策略
作者发现"通用预训练 → 驾驶微调"的老套路并非最优,于是提出三阶段:
- 混合预训练(Mixed Pre-training):通用数据 + 部分驾驶数据,保留常识、防止模型崩塌
- 驾驶微调(Driving Fine-tuning):大量驾驶 QA,建立场景理解能力
- 规划微调(Planning Fine-tuning):聚焦 meta-action 规划任务,把能力收敛到"做决策"
关键经验:直接全量驾驶微调会丢失预训练常识,三阶段的渐进式策略在"懂世界"和"会开车"之间取得了平衡。
📊 实验结果:DriveX 预训练带来质的飞跃
Senna 在 nuScenes 和大规模数据集 DriveX 上验证。
- 在两个数据集上均取得 SOTA 规划性能
- DriveX 预训练 + nuScenes 微调,相比无预训练版本:
- 平均规划误差 降低 27.12%
- 碰撞率 降低 33.33%
- 消融实验证明:多视图提示、规划导向 QA、三阶段训练各自都有正向贡献
这组数字很有说服力:大规模驾驶数据预训练带来的跨场景泛化与迁移能力,是 Senna 走向真正全自动驾驶的关键底气。
DriveX 数据集与跨场景迁移
DriveX 是 Senna 配套构建的大规模驾驶数据集,其意义不止于"数据量大"。它通过自动标注流水线生成海量规划导向 QA,覆盖多样的城市、天气、路况,让 Senna-VLM 在预训练阶段就建立起对驾驶世界的通识理解。更关键的是,DriveX 与 nuScenes 是不同场景分布——能从前者迁移到后者并大幅涨点,说明 Senna 学到的是可迁移的驾驶能力,而非对某一数据集的过拟合。
| 设计选择 | 带来的能力 |
|---|---|
| 大规模 DriveX 预训练 | 通识驾驶理解、跨场景泛化 |
| 自动标注流水线 | 数据可规模化,摆脱人工瓶颈 |
| 三阶段渐进训练 | 保留 LLM 常识的同时习得驾驶技能 |
| 环视多视图输入 | 完整空间感知,安全决策 |
这套组合拳指向一个清晰判断:VLM 驾驶能力的上限,越来越由领域数据的规模与多样性决定,而非单纯靠堆大模型参数。这与 LLM 自身的 scaling law 一脉相承,只是把"语言语料"换成了"结构化驾驶数据"。
⚔️ 与同类 VLM 驾驶路线的对比
| 维度 | VLM 直接出轨迹 | DriveVLM(级联精修) | Senna(决策解耦) |
|---|---|---|---|
| VLM 输出 | 轨迹点/控制量 | 低频轨迹点 | 自然语言决策 |
| 数值预测压力 | 大(VLM 弱项) | 中(点数减少) | 几乎无 |
| 可解释性 | 弱 | 中 | 强(决策可读) |
| E2E 学习难度 | 高 | 中 | 低(有决策条件) |
Senna 的路线本质是承认 VLM 和 E2E 各有软肋,用解耦让两者扬长避短——这种"工程上的诚实"反而带来了最好的效果。
⚠️ 局限性与未来方向
- 两阶段误差传递:VLM 决策错了,E2E 很难纠正;训练用真值、推理用预测的 gap 仍需弥合
- 延迟挑战:LVLM 推理慢,与车端实时性要求存在张力,需量化/蒸馏
- meta-action 粒度有限:横向 3 类 × 纵向 4 类的组合难以表达复杂细腻的意图
- 闭环验证待加强:nuScenes 为主的开环评测之外,闭环仿真(如 NAVSIM/nuPlan)的考验更关键
未来可结合 GRPO 等强化学习对齐安全舒适奖励、用 世界模型做决策推演,进一步放大 VLM"思考"的优势。尤其当 VLM 的决策输出可以被客观指标(碰撞、舒适)验证时,GRPO 的组内相对优化能直接把"模仿人类决策"升级为"探索更优决策",这正是 Senna 这条技术路线最有想象空间的下一步。
📝 个人思考
读完 Senna,最打动我的是它对 “VLM 到底该在驾驶里扮演什么角色” 这个问题的清醒回答。这一年来 VLM 驾驶很火,不少工作急于证明"大模型能直接开车",结果让 VLM 去硬吐轨迹点——这其实是用模型最弱的数值能力去撞墙。Senna 反其道而行:让 VLM 回归它最擅长的语言推理与常识判断,把精确数值交给专门的 E2E。这种"高低层解耦"看似朴素,却抓住了问题的要害——分工对了,事半功倍。我倾向于认为,未来 VLA 的主流形态不会是一个大模型包打天下,而是 VLM 做’慢思考’的决策大脑 + 执行模型做’快反应’的小脑,Senna 正是这条路线的扎实奠基。
第二点启发在数据策略的工程化。规划导向 QA 的全自动标注流水线,让驾驶数据的规模化成为可能——这是 DriveX 预训练能奏效的前提。27.12% 和 33.33% 的提升背后,是"把 VLM 当成需要喂大量结构化驾驶数据来’再教育’的模型“这一判断。它提醒我们:通用预训练给的是常识底座,而驾驶能力的真正跃迁,仍要靠领域数据的规模与质量来撬动。
最后,Senna 留给我一个更深的期待:既然 VLM 已经能用自然语言给出可解释的决策,那么下一步完全可以在这层决策上叠加强化学习——用 GRPO 对"决策质量"打分、做组内相对优化,让 VLM 不只是模仿人类决策,而是探索出比人类更安全更舒适的决策策略。VLM 决策大脑 + RL 偏好对齐 + E2E 精确执行,这是我眼中 VLA 驾驶的三段式未来,而 Senna 已经把第一段的路铺好。
📖 这是论文精读系列的第 20 篇。VLM 辅助端到端驾驶,你认为"决策解耦"和"一锅炖"哪条路更可能跑通?欢迎留言讨论。