趁着周末在公司加班的时间,整理一下这些年做自动驾驶的一些思考和感悟。我是在2021年底进入自动驾驶行业的。
那个时间点很有意思。
一方面,特斯拉刚刚在 AI Day 上系统性地公开分享了基于 Transformer 的 BEV 感知框架;另一方面,国内大多数自动驾驶公司仍然在沿用传统模块化架构,行业讨论的焦点还集中在感知精度、多传感器融合以及高精地图上。
而到了2026年的今天,行业讨论的话题已经变成了:
- VLA(Vision-Language-Action)
短短几年时间,自动驾驶领域完成了一次明显的技术范式迁移。
有意思的是,我刚入职时所在的团队做的正是一套端到端驾驶方案,希望通过一个统一模型完成从传感器输入到车辆控制输出的全过程。
后来由于项目交付需求,我转到了 BEV 感知算法方向,也因此有机会从另一个角度观察整个行业的发展。
回过头看,这几年自动驾驶的发展并不是简单地从 CNN 演进到 Transformer,再演进到端到端。
更准确地说,它是一条让机器逐渐获得“理解世界能力”的道路。
这篇文章并不打算讨论具体的模型结构或者论文细节,而是从一个从业者的视角,分享我对自动驾驶技术路线演进的一些理解与思考。
BEV时代的开启
我刚进入行业的时候,自动驾驶系统本质上仍然是一个复杂的流水线系统。
典型架构如下:
Camera / LiDAR / Radar
↓
Detection
↓
Tracking
↓
Prediction
↓
Planning
↓
Control
整个系统被拆解为多个独立模块,每个模块负责解决一个特定问题。
感知模块负责回答:
“周围有什么?”
跟踪模块负责回答:
“这个目标是谁?”
预测模块负责回答:
“它接下来会怎么运动?”
规划模块负责回答:
“我应该怎么开?”
控制模块负责回答:
“如何把规划轨迹转化成车辆动作?”
这种架构最大的优势是模块边界清晰、可解释性强、便于工程落地。
但问题同样明显:
每个模块都在优化自己的指标,不同模块之间信息的传递存在误差累计。
就在这样的背景下,BEV(Bird's Eye View)开始成为行业主流。
从 Lift-Splat-Shoot(LSS)到 BEVDet、BEVFormer,再到后来的 BEVFusion,行业逐渐完成了从图像空间到物理空间的转换。
很多人把 BEV 理解为一种中间特征表达。
但我一直认为:
BEV最大的意义并不是提升了多少检测精度,BEV的关键主要是帮助我们完整的重建了自车周围的环境和物理空间。第一次让自动驾驶系统拥有了“世界坐标系思维”。
过去的视觉网络看到的是:
图片中的像素。
而 BEV 看到的是:
真实世界中的空间关系。
这两者有着本质区别。
通过 BEV,不同传感器的信息被统一映射到同一个物理坐标系中。
车辆、行人、车道线、路沿石等所有目标都位于统一空间。
这样不仅降低了跨传感器融合的复杂度,也使得后续规划控制能够直接利用感知结果。
因为规划本身就是在物理空间中完成的。
从某种意义上说,BEV是自动驾驶从“看见世界”迈向“理解世界”的第一步。
也正是在这一时期,越来越多公司基于 BEV 感知、高精地图以及数据闭环能力,逐渐实现了高速 NOA 和城区 NOA 功能。
从高精地图到轻地图,再到无图方案
2023年前后,行业开始进入另一个重要阶段。
越来越多模型采用统一范式:
CNN Backbone + Transformer Head
代表性工作包括:
CNN负责提取局部视觉特征。
Transformer负责建模全局关系。
为什么 Transformer 对自动驾驶如此重要?
因为真实世界并不是由孤立目标组成的。
一辆车是否会变道,往往与周围车辆、车道结构、交通信号灯等因素共同相关。
这些复杂关系很难通过卷积网络建模。
而 Attention 机制天然适合处理这种长距离依赖关系。
从这个角度来看,Transformer 真正带来的并不仅仅是精度提升。
它让模型开始具备理解场景元素之间关联关系的能力。
与此同时,MapTR 等在线建图方案开始兴起。
越来越多地图信息不再依赖提前制作好的高精地图,而是由车辆实时感知生成。
行业开始从“重地图”逐步走向“轻地图”,甚至最终走向“无图”。
另一条重要路线则来自特斯拉。
Occupancy Network 的提出进一步弱化了传统目标检测的概念。
过去感知系统关注的是:
这个目标是什么?
而 Occupancy 更关注:
这个空间是否被占据?
这种思路实际上更接近人类驾驶时对环境的理解方式。
人类驾驶员并不会时刻给周围每个物体画一个 Bounding Box。
我们真正关心的是:
哪里可以通过,哪里不能通过。
Occupancy 本质上是在让自动驾驶从“目标理解”逐渐转向“空间理解”。
两段式与一段式端到端
如果说 BEV 解决的是统一世界表示的问题。
那么端到端解决的则是另一个问题:
为什么要把自动驾驶拆成这么多模块?
传统模块化架构存在一个天然缺陷:
误差会不断累积。
感知错一点。
跟踪再错一点。
预测继续放大误差。
最终规划结果可能完全偏离预期。
而且每个模块优化的目标并不一致。
检测追求 AP。
预测追求 ADE。
规划追求轨迹误差。
但这些指标与用户实际驾驶体验之间并没有绝对对应关系。
检测 AP 提升2%。
不一定意味着车辆开得更好。
于是行业开始尝试:
Sensors
↓
Neural Network
↓
Trajectory
直接输出规划轨迹。
这就是端到端驾驶的核心思想。
端到端最大的优势在于:
整个系统围绕最终驾驶目标联合优化。
不存在模块间的信息损失。
也不存在传统流水线中的误差传递。
更重要的是,模型开始直接学习人类驾驶行为。
因此驾驶风格往往更加自然。
但代价同样巨大。
首先是可解释性下降。
当车辆做出某个决策时,很难明确回答:
为什么这样开?
其次是调试难度指数级上升。
传统系统出问题可以定位到具体模块。
而端到端系统往往只能看到:
结果错了。
至于问题出在哪里,很难分析。
因此我一直认为:
端到端最大的挑战从来不是模型设计,而是工程化能力。
训练好一个端到端模型非常难。
真正困难的是让它在百万公里真实道路中稳定运行。
VLA和世界模型:
chatGPT爆火之后,一些公司就开始将VLM模型引入到自动驾驶任务上,就比如理想。想要通过VLM模型的推理能力来解决自动驾驶的长尾问题,让汽车能像人一样去理解当前的场景然后思考出未来的驾驶决策,进而的在VLM的基础之上发展VLA模型,直接通过视觉和语言输入输出规划轨迹。
对于VLA,一个关键的问题,自动驾驶的VLA真的需要一个"L"吗,因为自动驾驶里的指令是地图和交通规则,这些指令是结构化的,可以通过结构化输入来覆盖。另一个原因就是"L"模型存在幻觉问题,自动驾驶这种安全要求极高的场景对幻觉的容忍度是一个问题。所以我做了一段时间的VLA之后这个问题一直有这个思考。
关于世界模型。简单说:让AI学会预测未来。例如:当前场景:前车减速行人靠近路边红灯剩3秒。世界模型预测:未来5秒会发生什么。这与传统预测模块不同。传统预测:预测某个目标。世界模型:预测整个世界。为什么大家都在做?因为自动驾驶最大的难题:不是感知。而是预判。人类驾驶员厉害的地方:不是看到。而是提前想到。就比如路边停着一辆打车遮挡了我们的视线,我们路过的时候会下意识的踩一下刹车防止突然杀出来意料之外的事物。但是世界模型我没有做过,他的一些问题我暂时还不知道。
行业以后的发展:
现在行业已经进入了淘汰赛,真正还能持续投入的玩家越来越少。原因很简单:烧钱。自动驾驶已经从:技术竞争进入数据竞争、算力竞争、工程竞争。以后端到端肯定会全面普及大模型也会上车,传统模块化系统的比重会越来越低,但我认为传统的模块化也很难完全替代,因为传统的规划控制作为自动驾驶的安全兜底非常的关键。
未来竞争核心:不是模型结构。而是:谁拥有更多高质量驾驶数据。
用户只关心:这个车好不好开。敢不敢开。舒服不舒服。最终决定胜负的:永远是产品体验。
这4年多我踩过的坑和建议:
1,不要迷信论文SOTA,论文提升2%。量产可能下降20%。也不要相信新的方法可以解决所有的问题。自动驾驶是一个很强的工程性问题,这些年快速发展每年都会产生出新的方法,作为工程师我们就是扩展新方法的边界。
2,数据永远比模型重要。做过的人都懂。80%时间:在清洗数据。不是改模型。
3,量化部署不比训练简单,车上要考虑实时性,所以要结合芯片的算力和特性做出最优的选择,就比如一些OP比较慢模型就要少用,多做一些算子融合等等。
4,真正难的是长尾,不是AP。不是NDS。而是:0.01%的Corner Case。
给没入行的新人一些建议:
1,优秀自动驾驶工程师:代码能力、系统能力、算法能力最好都要具备。
2,不要只学一个模型,要学习智驾整个系统。
3,学会读代码,不要只会读论文。
3,学会做部署,onnx、tesnsorRT、cuda、PTQ和QAT这些都要懂。
4,学会数据分析和数据闭环能力,学会与业务结合,最终目标:是让车开得更好。
最后:自动驾驶的发展并不是:CNN→Transformer→端到端。这么简单。本质上是:机器逐渐获得理解世界能力的过程。过去:解决的是看见世界。未来:解决的是理解世界。再未来:解决的是预测世界。而真正实现L4/L5自动驾驶的那一天,也许不是某个模型突破了,而是机器终于拥有了接近人类的世界认知能力。作为一名自动驾驶感知的工程师,我很庆幸能够参与这场技术革命,也期待见证下一次范式迁移的到来。上面的这些内容是我自己的一些理解和感悟,可能不是很全面,仅代表我个人的观点。