← 自动驾驶主线

第 8 章 · 共 8 章

评测、量产与数据闭环

证明系统真的会开,并让失败变成下一轮能力

约 9 分钟阅读

一个不看路的模型拿了高分——那不是模型的胜利,是考卷的失败。


开场先打一个脸:AD-MLP

2023 年有一篇论文做了个故意气人的实验。搭一个两层 MLP,输入只有自车的速度、加速度、历史轨迹和一个转向指令——不接任何感知信息,模型全程"闭着眼"——在 nuScenes 开环评测上跑规划。

结果:L2 平均误差 0.29 米,比当时最先进的端到端模型 VAD-Base 的 0.37 米还要好。

结论当然不是"MLP 很强",而是这张考卷测不出真本事:开环评测把模型输出和数据集里人类司机的轨迹比距离,而车辆的历史状态本身就高度决定了短期未来(匀速直行的车大概率继续匀速直行),只做自车外推就能刷出好成绩,根本不用看路。同一现象还有第二例:LAW 的 perception-free 版本,同样不用感知,L2 也优于 UniAD。

前七章造出来的系统,最终要靠这一章回答"到底会不会开"。而这一章的第一课就是:先审考卷,再看成绩。


评测分层:从考卷到考场

开环的问题在于:车辆的输出不改变下一帧——数据是录好的,无论模型说什么,世界照原样放映。它适合快速迭代(便宜、可复现),课件给的实践忠告是"开环指标仅参考,算法相对稳定后波动较大"。

闭环让车辆的动作真正影响后续场景。但"闭环"两个字底下也分层,nuPlan 的评测矩阵把它摊开成两个维度:自车是否闭环(输出是否推进仿真)×他车是否反应。于是有三级:日志回放(全开环)→ 闭环但他车不反应(他车按录像走,你变道它也不让)→ 闭环且他车反应(他车会响应你的动作)。第三级才开始检验交互——而交互恰恰是第 4、5 章反复强调的驾驶核心难度。

三个主流基准各占一个生态位,取舍是真实性与交互性:

  • nuPlan:真实采集数据 + 仿真工具链,唯一同时支持规划任务和闭环的大型真实数据集;
  • NAVSIM:用 3D Gaussian Splatting 渲染新视角,自车可以偏离原轨迹(比纯回放强),但背景车辆不反应——开环与闭环之间的中间态;
  • Bench2Drive:基于 CARLA 仿真,环境真响应、场景可编排(220 条路线、44 类场景、5 项技能:汇入、超车、让行、交通标志、急刹)——真闭环,代价是世界是合成的。

闭环成绩怎么算?NAVSIM 的 PDMS 是个好样本:无责碰撞、可行驶区域合规两项做乘法(一票否决),进度、碰撞时距、舒适三项做加权平均。这张榜单上有三个数字值得放在一起看:人类司机 94.8 分;只做匀速外推的 Constant Velocity 21.6 分;只看自车状态的 Ego Status MLP 65.6 分。同一个"闭眼模型",开环能追平 SOTA,闭环直接掉到及格线下——这就是考卷换对了的样子。


一个总分不够:场景化评测

总分及格,不等于每门课都及格。Bench2Drive 给了 22 项指标按技能拆分的范式;针对特定弱点还有专门考场——比如 DOS 遮挡基准,专测四类遮挡场景(路侧停车后的鬼探头、前车突然急刹、遮挡左转、闯红灯者),每类 25 个案例。放到我们的贯穿案例:一个"路口汇入"能力项,应该被"晚切入""后车不让行""湿滑路面"这样的场景标签切开看,而不是淹没在全量数据的平均分里。

顺带一个实车指标的细节:早在 NVIDIA-E2E 就定义过 autonomy(自动驾驶时长占比),约定每次人工接管折算 6 秒损失。看任何接管率数字之前,先问清楚接管是怎么折算的——折算口径不同,数字没有可比性。


上车:延迟、退化和降级

评测通过只说明算法能开,量产还要求它在车载算力和固定控制周期里稳定运行。第 7 章的数字在这里复用一次就够:UniAD 555 毫秒延迟意味着控制周期内根本轮不到它说话,VAD-Tiny 的 59.5 毫秒才进入可用区间——学术 SOTA 和可部署之间常常差一个数量级。

另一半是退化处理:传感器时序错位、导航跳变、地图过期、长尾天气。量产的做法不是祈祷输入干净,而是在训练时主动制造脏输入——第 2 章讲过的导航特征,在训练中被故意做缺失、偏移、稀疏化增强,模型于是学会"导航突然没了也不能画龙"。这和第 7 章 NVIDIA 的纠错数据是同一哲学:把失效模式变成训练样本。


数据闭环:长尾是四个数量级

模型的能力上限由数据决定,而驾驶数据的形状极不均匀。课件给过一张对数坐标的场景分布图:普通直行在 10⁶ 量级,而"高速避让弱势交通参与者"只有 10²——相差四个数量级。数据配比因此成为量产的核心问题:不做配比,模型就是一个只会直行的优等生。

清洗同样关键。课件把清洗分三层:基础信息完整(不丢帧、定位正常)→ 驾驶行为合理 → 在系统能力范围内。第二层旁边有一句括注是全套材料里最精辟的一句:"本质是筛选出老司机的行为。"模仿学习的上限就是被模仿者的水平——数据里混进新手司机的犹豫和急刹,模型就学会犹豫和急刹。数据清洗不是技术活,是选老师。

采不到的长尾还可以造:脚本化生成对抗场景(if is_close(ego): do cut_in(speed)——课件里真实的伪代码),配合仿真闭环训练。长尾不够,脚本来凑,这是很实用的工程手法。


贯穿案例的最后一幕

把整条链闭合。一次实车测试中,那个熟悉的路口:深色轿车比训练数据里见过的更晚、更快地切入,主路后车没有让行。车辆重新刹停,没有碰撞——但制动峰值过高,安全员记录了一次不舒适事件。

接下来发生的事就是"数据闭环"四个字的展开:片段连同前后时序、地图版本、导航指令、预测分支、规划轨迹一起回传;数据平台按"城市路口汇入 + 晚切入 + 后车不让行 + 湿滑路面"检索相似片段,去重、清洗(选老师)、补充切入意图标注;训练侧提高这类场景的配比,必要时用脚本再造一批更晚、更急的变体;新版本先过历史片段回放,再过他车会反应的仿真,最后受控实车回归——确认修好了晚切入,同时没把普通跟车和舒适性改坏。

像素进来,轨迹出去,失败回流成下一轮的数据。八章在这里闭合成一个环。


收官:四个还没有答案的问题

课件收官页留了四个开放问题,恰好可以作为这条主线的出口:怎么做有效的闭环评测;怎么构建长尾 benchmark 验证泛化;怎么实现实时部署;以及大模型进入之后,评测和数据体系怎么跟上。这四个问题今天都没有公认答案——你以后读到的每一篇新论文、每一场发布会,多半都在回应其中某一条。

之后再读任何专题或新方案,建议带着主线的三个问题去:它改动了这条链路的哪一环?依赖哪些上游信息?**由什么级别的闭环证据证明?**答案越含糊的,越要小心。


本章速查

概念 一句话
AD-MLP 不看感知的两层 MLP 开环 0.29 反超 VAD-Base 0.37——开环考卷测不出真本事
评测三级 日志回放 → 闭环他车不反应 → 闭环他车反应;第三级才检验交互
三大基准 nuPlan(真实+闭环工具链)/ NAVSIM(3DGS 中间态)/ Bench2Drive(CARLA 真闭环但合成)
PDMS 碰撞与合规做乘法一票否决;人类 94.8 vs 匀速外推 21.6——闭环让"闭眼模型"现形
场景化评测 总分拆到技能和场景标签(汇入/急刹/遮挡),DOS 专测遮挡
接管折算 autonomy 每次接管算 6 秒;看接管率先问折算口径
实时性 555ms(UniAD)不可部署,59.5ms(VAD-Tiny)可用——SOTA 与量产差一个数量级
长尾四个数量级 普通直行 10⁶ vs 高速避让 VRU 10²;配比是量产核心问题
清洗=选老师 模仿学习上限=被模仿者水平;清洗的本质是筛出老司机的行为
数据闭环 失败片段→检索相似→清洗标注→调配比→回放/仿真/实车三级回归

材料来源

课程 章节 页码 用在哪
C C-09 数据驱动前沿算法与发展趋势 p28-p34, p66 AD-MLP 实验与数字、DOS 遮挡基准、收官四问
B B-08 端到端训练数据与评测方法 p4-p9, p14-p17 nuPlan/NAVSIM/CARLA/Bench2Drive 定位与取舍、开环指标忠告、LAW perception-free、PDMS 公式与 Human 基线
B B-08 端到端训练数据与评测方法 p11-p12 数据规模与配比、长尾分布图(10⁶ vs 10²)、清洗三层次与"筛选老司机"
A A-01 端到端任务概述 p24-p25 nuPlan 开环/非反应式闭环/反应式闭环三级矩阵
A A-04 导航信息的量产应用 p25-p26, p29-p30 导航特征编码与缺失/偏移增强(把失效模式变成训练样本)
C C-08 数据驱动的规划方法 p66-p76 RTR 脚本化长尾场景(if is_close: do cut_in)

继续深挖

04

评测不只是一个分数

开环、闭环和道路验收各自能证明什么,怎样避免被漂亮指标误导?

05

从论文方法到车上功能

一篇方法论文要跨过哪些系统门槛,才有资格变成持续可交付的量产能力?