← 课程首页 | M0 理论地基 论文深度拆解
2024 · 清华大学 IIIS + 理想汽车

一个开车快,
一个想得深

DriveVLM: The Convergence of Autonomous Driving and Large Vision-Language Models

VAD 已经又快又安全了,但它仍然只会开"见过的路"。当路上出现一个训练集里从未有过的东西时,端到端模型无从推理。DriveVLM 的答案是:让大模型上车,负责"想";让传统模块留守,负责"反应"。

思维链 3 段 双系统 Dual 数据集 SUP-AD 已上 量产车验证
00 / 困境

端到端撞上了一堵墙:长尾

前六篇走下来,技术路线越来越强:BEV 统一了表示,UniAD 打通了全栈,VAD 做到了又快又安全。看起来只剩工程打磨了。

但有一类问题,沿着这条路怎么优化都解决不了。

◆ 想象这些场景

· 前方有个交警在打手势指挥你绕行,但信号灯是绿的
· 路中间躺着一辆被撞倒的自行车,旁边有人蹲着
· 前车尾部挂着"学员车"的牌子,起步会很慢
· 一个孩子在路边追着球跑,球还没滚到路上
· 施工路段用倒扣的水桶和木板临时封住了一条车道

这些场景的共同点:训练数据里几乎没有,而且理解它们需要"常识"和"推理",不只是模式匹配。

端到端模型的工作方式是:从海量驾驶数据里学习"这种画面 → 这样开"的映射。但对于从未见过的画面,它没有可依据的映射。它不能"想"——不能推理"那个人蹲在自行车旁边,可能马上会站起来走到路中间"。

论文开篇一句话点明了这个困境:城市自动驾驶的首要障碍,是理解复杂和长尾的场景——比如复杂路况和微妙的人类行为。

而恰好,有一类模型很擅长"想"

2023 年之后,视觉语言大模型(VLM)展现出了惊人的视觉理解和推理能力。给它一张图,它能描述场景、分析因果、推测意图——这正是端到端驾驶模型缺的那一块。

DriveVLM 要做的事就很清楚了:把 VLM 的推理能力接到自动驾驶系统里。但这件事远没有听起来那么简单——第 4 节会讲它撞上的两堵新墙。

01 / 思想来源

论文明说了:这个设计类似人脑

DriveVLM 的双系统设计,思想来源是认知科学里非常著名的一个模型——快思考与慢思考(丹尼尔·卡尼曼《思考,快与慢》)。

系统 1 · 快思考 自动、直觉、瞬间反应 人:看到球滚出来,脚已经在刹车了 车:跟车、保持车道、避让障碍 特点:极快 · 省力 · 但只对熟悉情境有效 对应:传统 3D 感知 + 端到端规划模块 系统 2 · 慢思考 费力、有意识、逻辑推理 人:那人蹲在车旁,是在修车还是要过马路? 车:理解交警手势、判断异常场景意图 特点:慢 · 耗能 · 但能处理全新情境 对应:视觉语言大模型 VLM 人类开车时两个系统同时在跑 —— DriveVLM 复刻了这个分工
图 1 · 快慢双系统的认知学原型。论文原文提到这个双系统设计"类似人脑"——这不是事后附会的比喻,是设计时的出发点。
● 为什么这个类比如此贴切

你自己开车时就是这样:99% 的时间靠系统 1——跟车、变道、刹车,几乎不需要动脑,甚至可以一边聊天一边开。

但遇到没见过的情况——前面路口围了一堆人、有人在马路中间摆手、路面有个看不清是什么的东西——你会瞬间安静下来,减速,开始认真"想"。这就是系统 2 被唤醒。

关键在于:你不会用系统 2 去处理每一次跟车(太慢,来不及),也不会用系统 1 去处理交警手势(没这个反射)。两个系统各司其职,这正是 DriveVLM-Dual 的核心。

02 / 思维链

让模型按步骤想,而不是直接给答案

DriveVLM 的核心是一条思维链(Chain-of-Thought, CoT),把"看到画面 → 输出轨迹"这个跨度巨大的跳跃,拆成三个渐进的推理阶段。

多视角图像 序列输入 ① 场景描述 环境:天气、时间、道路类型 关键物体:找出影响驾驶的对象 用语言把场景说清楚 ② 场景分析 分析关键物体的特性 以及它们对自车的潜在影响 从「有什么」到「意味着什么」 ③ 分层规划 元动作:减速 / 靠左 / 等待… 决策描述:用语言说明怎么做 路点:具体的轨迹坐标 每一步的输出都是下一步的输入 —— 推理过程被显式地拆开并留痕 这也意味着:出了问题,你能看到它是在哪一步想错的
图 2 · DriveVLM 的三段式思维链。注意第三步内部还有一个由粗到细的层次:元动作 → 语言决策 → 精确路点。

第一步 · 场景描述

用自然语言描述驾驶环境(天气、时间、道路类型、车道状况),并识别出场景中的关键物体——不是检测所有东西,而是找出"会影响我怎么开"的那些。

第二步 · 场景分析

对关键物体逐个分析:它的特性是什么?它会对自车产生什么影响?这一步是从"有什么"跨越到"意味着什么"——正是推理能力发挥作用的地方。

第三步 · 分层规划

由粗到细三层输出:元动作(一串短期决策,如"减速""靠左""等待")→ 决策描述(用语言说明具体怎么执行)→ 轨迹路点(可以直接给控制模块的坐标)。

▲ 为什么要拆成三步而不是直接出结果

这是 CoT 的经典价值,在你之前学的大模型知识里应该很熟悉:让模型"把思考过程写出来",答案质量会显著提升。因为每一步的中间结论都成为下一步的输入,模型不需要在一次跳跃里完成所有推理。

在驾驶场景里还有第二重价值——可解释性。传统端到端是个黑盒:它输出一条轨迹,你不知道为什么。DriveVLM 会告诉你:"我看到右前方有个交警在打手势示意停车,虽然信号灯是绿的,所以我决定减速停车。"这对量产系统的事故复盘和责任认定,价值极大。

03 / 动手

跟着 VLM 一步步想一遍

选一个长尾场景,然后逐步展开思维链——你会看到模型是怎么从"一张图"推到"一条轨迹"的。这些正是端到端模型最容易失手、而 VLM 最能发挥价值的情况。

输入场景
—
① 场景描述 · Scene Description
—
② 场景分析 · Scene Analysis
—
③ 分层规划 · Hierarchical Planning
—
0 / 3
● 三个场景都走一遍,体会共同点

你会发现每个场景里,真正的难点都不在"看见",而在"理解"。传统感知模块能检测出那是一个人、一辆自行车、一个锥桶——但它无法推理出"这个人蹲在那里说明前方有事故,随时可能有人走出来"。

这就是 VLM 上车的全部意义:它带来的不是更准的检测,而是"常识"。

04 / 现实

但 VLM 上车,撞上了两堵新墙

如果 VLM 这么好,直接用它开车不就行了?论文非常诚实地指出了两个致命限制——这也是 DriveVLM-Dual 存在的全部理由。

死穴一 · 空间推理能力弱

VLM 擅长"这是什么、意味着什么",但不擅长"它到底在哪、离我多远"。

让 VLM 看一张图,它能准确说出"右前方有一辆白色轿车正在变道"——但如果你问"它距离你 12.3 米还是 18.7 米",它答不准。语言模型的世界是语义的,不是度量的。

◆ 这对驾驶是致命的

规划轨迹需要厘米级的空间精度。"前方有车"不足以让你决定方向盘打几度——你需要知道它精确的 3D 位置、速度、朝向。VLM 给不了这个。

死穴二 · 太慢,算力吃不消

这个问题你已经很熟悉了——上一篇 VAD 才刚解决完"UniAD 只有 1.8 FPS"的问题。而 VLM 比 UniAD 重得多:它要生成一大段自然语言推理,每个 token 都要过一遍大模型。

车规级芯片的算力预算远低于数据中心。指望在 Orin 上以 10Hz 跑一个几十亿参数的 VLM,目前不现实。

● 于是问题变成了

我们有两个东西:
· 传统模块:空间精确、跑得飞快,但不会推理
· VLM:会推理、有常识,但空间模糊、跑得很慢

这两者的优缺点正好互补。那还犹豫什么——让它们合作。

05 / 双系统

DriveVLM-Dual:快的补慢的,慢的教快的

这是整篇论文最实用的部分,也是真正能落地量产的设计。

多视角图像 相机输入 慢系统 · DriveVLM 三段式思维链推理 低频运行 · 深度理解 快系统 · 传统管线 3D 检测 / 占据网络 / 规划器 高频运行 · 空间精确 3D 定位补强 给关键物体配上精确 3D 框 粗轨迹作为参考 送给快系统的规划器 由它高频精修 最终轨迹输出 实时 · 空间精确 · 有推理支撑 双向互补:快系统给慢系统补空间精度,慢系统给快系统补场景理解
图 3 · DriveVLM-Dual 的双向协作。这不是简单的"两个模型取平均",而是各自把对方缺的那一块补上。

协作一 · 快系统帮慢系统"定位"

VLM 识别出"右前方那个蹲着的人"是关键物体,但说不清他的精确位置。传统 3D 检测器把这个物体的精确 3D 框补上——这叫 3D grounding(三维定位落地)。

于是慢系统的语义理解,就有了可用于规划的空间坐标。

协作二 · 慢系统帮快系统"理解"

VLM 输出的粗略轨迹(以及它对场景的理解)作为参考送给快系统的规划器,由后者以高频率做精细优化。

于是快系统的实时输出,就有了慢系统的判断力兜底。

◆ 工程上最聪明的一点:频率解耦

两个系统不需要同频运行。快系统以 10Hz 以上持续输出控制轨迹;慢系统以低得多的频率(比如每隔几帧)跑一次深度推理,把它的判断"注入"到快系统里去。

这就绕开了"VLM 太慢"的死穴——它本来就不需要每一帧都想一遍。人开车也是这样:你不会每 0.1 秒重新思考一次"这个路口有没有异常",你只在情况变化时才启动深度思考。

● 这个设计对你的工程直觉应该很亲切

用你的后端经验类比:这就是热路径(hot path)与慢路径(slow path)分离的经典架构。高频请求走缓存和快速路径;复杂请求异步走重计算,结果回填。

或者说,这是实时控制回路 + 异步决策服务的组合——你在 Project 3 的车云协同架构里,本质上也是在做同样的事:车端跑高频实时推理,云端跑低频重计算。架构模式是相通的。

06 / 落地

两件事让这篇论文与众不同

一 · 他们专门造了一个长尾数据集

要证明"能处理长尾场景",你得先有长尾场景的数据。而 nuScenes 这类公开数据集里,绝大多数是常规驾驶片段。

于是团队构建了 SUP-AD(Scene Understanding for Planning)数据集,专门收集复杂和长尾的驾驶场景,并配上场景理解与规划的标注。

▲ 这件事本身的意义

数据集是研究基础设施。一个新方向能不能发展起来,往往取决于有没有好的评测基准。SUP-AD 让"场景理解能力"变成了可量化、可对比的东西,而不只是放几个漂亮的 demo 视频。

对你的启发:做 Project 2/3 时,先把"怎么评测"想清楚,比先写模型更重要。没有评测基准,你无法判断改动是变好还是变坏。

二 · 它真的装到了量产车上

论文明确写了:最终把 DriveVLM-Dual 部署到了一辆量产车上,验证它在真实自动驾驶环境中确实有效。

这是很多学术论文做不到的。结合作者单位——清华大学 IIIS + 理想汽车——就不难理解为什么:这是一篇带着量产诉求做的研究,和上一篇 VAD(华科 + 地平线)是同一个性质。

● 一个你应该注意到的规律

看这几篇论文的作者单位:UniAD(上海AI Lab + 商汤)、VAD(华科 + 地平线)、DriveVLM(清华 + 理想)。

中国智驾的前沿研究,几乎全是"顶尖高校 + 产业公司"的联合体。这意味着:这个领域的论文不是象牙塔产物,它们的作者就是在解决量产工程问题的人。

这对你求职是个很实际的信号——读懂这些论文,就是在读懂你未来同事的思维方式。

07 / 通向前沿

从这里,走到 2026 年的量产现场

DriveVLM 是一座桥。它证明了"大模型能给驾驶带来推理能力",但它的形态还是两个系统拼在一起。接下来的演进,是把这两个系统融成一个。

阶段形态代表
模块化端到端感知/预测/规划分模块,query 串联UniAD、VAD
双系统(本篇)VLM 慢思考 + 传统快反应,两套并行DriveVLM、理想量产方案
VLA 一体化视觉-语言-动作,一个模型直出控制小鹏 VLA、FSD v14
砍掉语言层V-A 直连,为延迟牺牲显式推理小鹏 VLA 2.0
● 这条演进的内在逻辑

DriveVLM 用"双系统"绕开了 VLM 太慢的问题——让它低频跑。但双系统有个固有代价:两套模型要维护、要对齐、接口复杂。

于是下一步的想法很自然:能不能只用一个模型,既有推理能力又跑得快?小鹏 VLA 2.0 的答案是——砍掉中间的语言生成环节。语言推理是最慢的部分(要一个 token 一个 token 生成),把它去掉,直接从视觉到动作,延迟就压下来了。

代价是失去了显式的可解释性——模型不再"说出"它的推理过程。这是一个典型的工程取舍:用可解释性换延迟。而 DriveVLM 这一篇,恰恰是那个"保留了可解释性"的版本。

所以这两条路线今天仍在并行:需要可解释、可复盘的场景保留语言推理;需要极致延迟的控制回路走 V-A 直连。理解了 DriveVLM,你就理解了这场取舍的两端。

08 / 收束

七篇读完,你已经打通全线

论文一句话贡献它解决了谁的问题
TransformerQ/K/V 通用序列机器RNN 的串行与长依赖
ViT图像可以 token 化Transformer 进不了视觉
LSS多相机推进 BEV(几何)怎么把多相机融成统一表示
BEVFormer注意力做 BEV + 时序LSS 的深度依赖
UniAD全栈端到端为规划服务模块化的误差累积
VAD矢量化提速 + 显式约束UniAD 太慢
DriveVLM大模型带来推理与常识端到端搞不定长尾

这七篇构成了一条完整的因果链:每一篇都在解决上一篇留下的问题。你现在能从 2017 年的注意力机制,一路讲到 2026 年小鹏 VLA 2.0 和 FSD v14 的技术选择——而且能讲清每一步为什么这么走。

● 面试时最能体现你读透了的一段

"这条线的主线是不断把人工设计的东西交给数据去学:LSS 手写深度分布 → BEVFormer 用注意力隐式解决;UniAD 人工划分五个模块 → VLA 把中间模块全部隐式化;DriveVLM 用两套系统拼接 → VLA 2.0 融成一个。每一步都是在减少人工先验、增加数据驱动——这和 ViT 当年用数据规模取代 CNN 归纳偏置,是同一个故事在不同层面的重演。"

读完的自测

自测一 · 说清端到端为什么搞不定长尾

它学的是"画面→动作"的映射,对没见过的画面没有映射可依,且不具备推理与常识。

自测二 · 默写三段式思维链

场景描述 → 场景分析 → 分层规划(元动作→决策描述→路点)。

自测三 · 讲清 VLM 的两个死穴与双系统怎么解

空间推理弱(快系统补 3D 定位)+ 太慢(频率解耦,低频运行)。这是本篇最核心的考点。

自测四 · 讲清双系统与 VLA 一体化的取舍

双系统保留可解释性但要维护两套;VLA 砍语言层换延迟但失去显式推理。能讲这个取舍,说明你不只读了论文,还理解了产业选择。

这条论文线到此告一段落。如果你想继续,还有两个方向:世界模型(GAIA-1 / DriveDreamer,理解华为 ADS 的技术根)或者 VLA 综述(一篇看懂 20+ 个 VLA 模型的演化谱系)。也可以就此停下,回到 Project 2/3 的实战——七篇的理论储备,已经足够支撑你把项目做完并讲清楚了。