1. 项目概述:为什么我们需要一个“看得懂世界”的驾驶模型?
如果你在自动驾驶领域摸爬滚打过几年,一定会对“感知-规划-控制”这条经典流水线又爱又恨。爱的是它的模块化设计清晰明了,恨的是任何一个环节的微小误差,经过层层传递和放大,都可能导致整个系统的“翻车”。尤其是在那些长尾场景里——比如一个被夕阳拉长、形状怪异的影子,或者一个从路边突然滚出的皮球——传统的感知模块可能给出一个置信度不高、甚至完全错误的检测框,后面的规划和控制模块就只能“盲人摸象”,做出危险的决策。
最近,我和团队在复现和测试各种端到端自动驾驶模型时,这种割裂感尤为明显。我们常常发现,模型“看”到了障碍物,但并不真正“理解”它是什么、有多大、距离多远、未来可能怎么动。这就像让一个只认识字母、不懂语法和语义的人去读一本小说,他或许能拼出单词,但完全无法理解情节的走向。Percept-WAM这篇论文提出的,正是解决这个核心矛盾的思路:它不再满足于让模型“看见”,而是致力于让模型“看懂”这个世界,并将这种“世界认知”直接转化为驾驶动作。
简单来说,Percept-WAM 是一个感知增强的世界-认知-动作模型。它的野心在于,将2D/3D场景理解能力,首次隐式地集成到了一个单一的视觉-语言模型(VLM)内部。这意味着,模型在处理图像时,不仅能识别物体(感知),还能在内心构建一个带有空间坐标和置信度的世界模型(认知),并基于这个统一的认知去输出控制指令(动作)。它跳过了传统问答式的空间推理(比如先问模型“车在哪里?”,再根据答案做规划),而是用一种名为World-PV和World-BEV的令牌(Token),直接把物体的空间位置和不确定性“写”进了模型的思考过程里。
我之所以对这个工作特别感兴趣,是因为它戳中了当前自动驾驶AI的两个痛点:一是感知的不稳定性,尤其是在远距离、小物体和罕见场景下;二是感知与下游任务(如规划)的脱节。Percept-WAM 尝试用一套统一的“语言”来描述世界和动作,这可能是迈向更鲁棒、更类人驾驶智能的关键一步。接下来,我将结合自己的工程实践和理解,为你深度拆解这个模型的设计精妙之处、实现难点以及它可能带来的范式转变。
2. 核心设计思路:从“流水线”到“统一认知”
传统自动驾驶架构像一座分工明确的工厂:感知车间负责识别原材料(车辆、行人、车道线),规划车间根据图纸(高精地图、交规)制定生产路径,控制车间最后操作机械臂(转向、油门、刹车)执行。问题在于,车间之间的沟通全靠一份可能出错的检测报告(Bounding Boxes)。Percept-WAM 的想法是,为什么不训练一个“全能老师傅”?他看一眼车间全景,脑子里就同时有了物料清单、加工工序和操作手法。
2.1 传统VLM在空间理解上的“先天不足”
当前很多基于视觉-语言模型(VLM)的自动驾驶系统,其核心弱点在于空间基础能力(Spatial Grounding)薄弱。你可以问一个强大的VLM:“图片里有什么?”,它能回答“有一辆红色的车、一个行人、和一条狗”。但如果你问:“那辆红色的车距离图片右下角有多远?它和行人谁离得更近?”,模型往往就含糊其辞了。这是因为大多数VLM是在图像-文本对数据上训练的,学习的是语义关联,而非精确的几何与空间关系。
在自动驾驶中,这种模糊性是致命的。“有一个人”和“有一个在左前方30米处、正在以5km/h速度横穿马路的人”,是截然不同的两种信息。传统方法试图通过后续模块,如检测器(Detector)和分割器(Segmenter),来补足这种几何信息,但这又回到了模块化割裂的老路。Percept-WAM 的起点,就是要让VLM本身具备产出精确空间信息的能力。
2.2 World-PV与World-BEV:为世界建模的两种“方言”
Percept-WAM 最核心的创新之一,是提出了两种特殊的令牌(Token):World-PV(透视视图)Token和World-BEV(鸟瞰视图)Token。你可以把它们理解为模型用来描述世界的两种“方言”,一种用于描述我们在摄像头里直接看到的2D画面,另一种用于描述从上帝视角看到的3D场景。
- World-PV Token:负责编码图像平面(Perspective View)上的物体信息。比如,它不仅能表示“这是一辆车”,还能表示“这辆车在图像坐标系下的边界框是
[x1, y1, x2, y2],我对此有85%的把握”。 - World-BEV Token:负责编码鸟瞰图(Bird‘s-Eye-View)空间中的物体信息。它会说:“这辆车在自车坐标系下的位置是
(x, y, z),尺寸是(长,宽,高),航向角是θ,置信度是80%”。
关键在于,这些Token不是模型输出后的附加产物,而是模型内部推理过程的一部分。模型在“思考”时,就会生成并运用这些带有空间属性的Token。这相当于在模型的“思维语言”中,硬性加入了坐标和概率的词汇,迫使模型学会用这种语言来理解和推理。
注意:这种设计巧妙地避开了对额外、显式的3D几何模型(如点云)的重度依赖。它试图让模型从2D图像中“脑补”出3D结构,这对于降低传感器成本和提升系统泛化能力有重要意义。
2.3 网格条件化预测:让密集预测更稳定
有了描述世界的“语言”,下一步就是如何高效、准确地“说出”场景中所有物体。Percept-WAM 采用了Grid-Conditioned Prediction(网格条件化预测)机制。想象一下,我们把图像或BEV空间划分成许多小格子(Grid)。模型不是漫无目的地预测物体,而是以这些格子为“锚点”或“查询”,去问:“这个格子里有物体吗?如果有,它是什么?它的精确位置和大小相对于这个格子是多少?”
这种方法有几个工程上的好处:
- 并行化与效率:不同于自回归模型一个接一个地生成物体,网格预测可以高度并行化,大大提升了推理速度。
- 处理密集场景:在交通拥堵的路口,物体可能非常密集。网格化预测能更好地覆盖每一个潜在的位置,避免漏检。
- 改善长尾与小物体检测:对于远处的小物体,它们在图像中可能只占几个像素。传统的检测器可能因为特征微弱而将其忽略。但网格化机制强制模型对每一个图像区域都进行“审视”,提高了检出微小信号的可能性。
Percept-WAM 在此基础上,还引入了IoU-Aware Scoring(交并比感知评分)。简单说,模型在预测一个物体框的同时,还会预测这个框与真实物体重叠程度(IoU)的期望值。这比传统的分类置信度更能反映定位的准确性。一个框可能被高度确信是“车”(分类得分高),但框的位置可能画得不准(IoU得分低)。综合这两个分数,能筛选出更高质量的检测结果,为后续规划提供更可靠的输入。
3. 模型架构与训练策略拆解
理解了设计思想,我们深入到模型的具体实现。Percept-WAM 的架构可以看作一个“三明治”或者“教师-学生”体系,其核心目标是让一个强大的通用VLM(教师)学会用空间语言(学生)来思考。
3.1 骨干网络与令牌化流程
模型通常以一个标准的视觉编码器(如ViT)开始,处理输入的多摄像头图像。图像被切分成块(Patch),并嵌入成一系列视觉令牌(Visual Tokens)。至此,和普通VLM没有区别。
关键步骤在于,模型会并行地生成两套特殊的令牌序列:
- World-PV Token序列:基于视觉特征,通过一个专门的适配器(Adapter)或投影层,生成一系列代表2D检测框、分割掩码等信息的令牌。每个令牌都隐式或显式地关联了
[类别, 坐标, 置信度]信息。 - World-BEV Token序列:通过另一个分支,可能结合了摄像头参数和几何先验,将视觉特征“提升”到BEV空间,生成代表3D边界框、速度、朝向等信息的令牌。
这些World Token随后会和原始的视觉令牌、以及可能存在的文本指令令牌(如“请安全驾驶”)一起,输入到**一个共享的、强大的预训练VLM解码器(如LLaMA)**中进行联合处理。这是模型获得“通用智能”的关键。
3.2 如何保留通用智能?参数高效微调的智慧
这里有一个巨大的挑战:如果我们用一个全新的、带有几何输出的任务去从头训练一个VLM,很可能会破坏它原有的强大语言理解和逻辑推理能力(这被称为“灾难性遗忘”)。Percept-WAM 的解决之道是参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)。
具体来说,模型保持了预训练VLM的所有参数冻结(Frozen),即不直接更新它们。然后,它引入一些少量的、可训练的参数模块,例如:
- LoRA(Low-Rank Adaptation):在原有的权重矩阵旁,添加一个低秩分解的增量矩阵,只训练这个很小的增量。
- 适配器(Adapter):在Transformer层的残差连接中,插入小型的前馈网络模块,只训练这些适配器。
- 前缀令牌(Prefix Tokens)或提示词(Prompts):在输入序列前添加一些可学习的令牌,来引导模型的生成方向。
通过这种方式,模型用很小的训练成本,就“教会”了那个博学的VLM“老师”理解和使用新的空间“方言”(World Tokens),而老师的核心知识(语言、逻辑、常识)得以完好保留。这使得Percept-WAM不仅能做精确的感知,还能理解复杂的交通场景描述、遵循抽象的驾驶指令,这是纯感知模型做不到的。
3.3 训练目标与损失函数设计
训练这样一个多任务模型,损失函数的设计是门艺术。Percept-WAM 的损失函数 likely 是一个多任务的加权和,主要包括:
感知损失(Perception Loss):
- 2D检测损失:对于World-PV Token,采用类似DETR的集合预测损失,包括分类损失和边界框回归损失(如L1 Loss、GIoU Loss)。
- 3D检测损失:对于World-BEV Token,需要回归3D中心点
(x, y, z)、尺寸(l, w, h)、朝向角θ等。这里会用到针对3D特性的损失,如计算3D IoU的损失。 - 分割损失:如果支持分割,还会加入分割掩码的损失(如Dice Loss、Focal Loss)。
IoU感知置信度损失:为了让预测的置信度分数与定位精度对齐,会设计一个损失项,鼓励模型预测的物体得分与其和真实框的IoU值相匹配。
轨迹预测/控制损失(Action Loss):在端到端训练时,模型最终需要输出控制信号(如轨迹点、方向盘转角、加速度)。这部分会使用规划领域常用的损失,如模仿学习中的L2轨迹点回归损失,或考虑动力学平滑性的损失。
语言建模损失(可选):为了保持VLM的语言能力,可能还会在部分数据上保留传统的下一个词预测(Next Token Prediction)损失。
这些损失项需要精心平衡权重。过高的感知损失可能导致模型变成“近视眼”,只关注检测而忽略高级规划;过高的控制损失则可能导致感知质量下降,规划成为“无源之水”。
4. 关键实现细节与实操分析
纸上得来终觉浅,绝知此事要躬行。阅读论文后,我们团队尝试理解其工程实现的关键点,以下是一些基于经验和论文的推测与总结。
4.1 数据流水线与标注利用
Percept-WAM 的强大离不开高质量、多任务标注的数据。它需要的数据集不仅要有图像,还要有:
- 2D/3D边界框标注:这是感知任务的基础。
- BEV地图或对应关系:用于训练从图像到BEV空间的映射。
- 驾驶轨迹与控制信号:用于端到端的动作学习。
- 丰富的场景描述文本(可选):用于保持和增强VLM的语义理解能力。
在实际操作中,一个挑战是如何高效地组织这些异构数据输入。一个可能的流水线是:
- 数据加载:并行加载同一时间戳的多摄像头图像、3D点云(用于生成真值)、车辆状态与控制信号。
- 真值生成:将3D激光雷达点云上的标注,通过标定好的摄像头参数,投影到各个2D图像上,得到2D检测真值。同时,将3D框转换到自车坐标系的BEV空间。
- Token化:图像经过编码器;文本指令(如果有)被转换为文本令牌;2D和3D的真值被转换为目标World Token序列。
- 训练:模型预测的World Token序列与目标序列计算感知损失;预测的轨迹/控制信号与真值计算动作损失。
实操心得:数据同步和标定精度是生命线。摄像头、激光雷达、IMU/GPS之间的微小时间不同步或标定误差,会在模型学习2D到3D的映射时引入巨大噪声,导致模型永远学不准。在预处理阶段,必须进行严格的时间戳对齐和传感器外参/内参校验。
4.2 推理流程与部署考量
在推理时,流程相对直接:
- 输入多视角图像(可能还有历史帧或文本指令)。
- 视觉编码器提取特征。
- 模型并行生成World-PV和World-BEV Token序列。这些Token已经包含了带有置信度的检测结果。
- 这些World Token与图像特征一起,输入解码器,最终自回归地生成驾驶动作序列(如未来几秒的轨迹点)。
对于部署,需要考虑:
- 实时性:虽然论文未明确给出FPS,但网格化预测和并行解码有利于速度。瓶颈可能在于大型VLM解码器的自回归生成。在实际应用中,可能需要模型蒸馏、量化或使用更小的VLM骨干。
- 输出解析:模型输出的是一串Token。需要设计一个轻量级的后处理模块,将这些Token解析成结构化的感知结果(如列表形式的检测框)和控制命令(如方向盘转角、油门值)。
- 不确定性传递:World Token中的置信度评分至关重要。下游的规划模块不应只接收“有一个车”的结论,而应接收“有一个置信度为75%的车在X位置”。规划器可以据此做出更保守的决策(如减速观察)。
4.3 与经典感知模块的对比实验解读
论文中展示的实验结果是其说服力的核心。51.7/58.9 mAP在COCO和nuScenes BEV检测上的成绩,表明Percept-WAM的感知能力不逊于甚至超越许多专门的检测器(如DETR3D, BEVFormer等)。这证明了“统一模型”在感知任务上的潜力。
更引人注目的是端到端的规划性能提升。在NAVSIM上超越DiffusionDrive 2.1个点(PMDS指标),说明更好的、与认知统一的感知,直接转化为了更优的规划。这验证了论文的核心假设:感知与规划的深度耦合是有益的。
从工程角度看,这意味着我们有可能用一个模型替代传统流水线中的多个模块(检测、跟踪、预测、规划),简化系统复杂性,减少模块间接口的误差累积。当然,这也对模型的训练数据、算力和工程化提出了更高要求。
5. 潜在挑战、应用前景与个人思考
任何新技术都有其两面性。Percept-WAM 思路惊艳,但走向大规模落地,还有不少“坑”要趟。
5.1 当前面临的挑战与局限
- 计算成本:集成大型VLM意味着巨大的参数量和计算开销。训练需要成千上万的GPU小时,推理延迟也可能成为实时驾驶的瓶颈。如何在性能与效率间取得平衡,是工程化的首要难题。
- 数据饥渴:模型需要多任务、高质量、大规模的数据。获取精确的3D标注和驾驶轨迹数据成本极高。长尾场景(如极端天气、罕见物体)的数据更是稀缺。数据驱动的上限,可能就是模型性能的上限。
- 可解释性与调试困难:传统的模块化流水线,出了问题可以逐级排查(是感知错了,还是规划错了?)。端到端的“黑箱”模型,一旦出错,很难定位根因。这对于安全苛求的自动驾驶来说,是个不小的障碍。
- 对VLM能力的依赖:模型的“通用智能”严重依赖于其骨干VLM的能力。如果VLM本身存在幻觉、偏见或逻辑错误,这些缺陷会被带入驾驶决策中,造成不可预知的风险。
5.2 未来应用场景的延伸
尽管有挑战,Percept-WAM 代表的方向极具吸引力,其应用可能不止于自动驾驶:
- 机器人导航与操作:让机器人理解复杂室内环境的3D结构,并直接生成抓取或移动指令。
- 增强现实(AR):实时理解真实世界的几何与语义,实现更精准、更智能的虚拟物体叠加和交互。
- 视频内容理解与生成:深度理解视频中的时空关系,用于高级别的视频摘要、问答甚至剧情生成。
在自动驾驶内部,它可能催生新的研发模式:
- 仿真测试:在仿真环境中,可以轻易生成海量、多样、带有真值的数据,是训练此类数据饥渴模型的理想场所。
- 影子模式与持续学习:在量产车上运行“影子模式”,收集人类司机处理复杂场景的数据,用于模型的持续迭代优化。
- 人机交互:乘客可以用自然语言向车辆发出指令(“请在前面的便利店停下”),模型能理解并安全执行。
5.3 个人实践中的体会与建议
基于我们对类似端到端模型的探索,我有几点粗浅的体会:
- 不要神话端到端:它不是一个“银弹”。在可见的未来,模块化与端到端很可能是共存的。或许在常规场景使用高效、可靠的模块化系统,在极端复杂场景调用“重型”端到端模型作为辅助决策,是一种务实的选择。
- 重视数据引擎:未来自动驾驶的核心竞争力,可能不仅是算法,更是获取和处理高质量数据的能力。如何自动化地标注、清洗、挖掘有效数据,构建高效的数据闭环,将成为关键。
- 安全仍是最高准则:无论模型多智能,都必须设计多层安全冗余。包括但不限于:独立的安全感知监控、基于规则的干预系统、以及人类驾驶员的最终接管权。可解释性AI(XAI)技术在此领域的需求会越来越迫切。
Percept-WAM 为我们打开了一扇窗,让我们看到了一个感知、认知、行动深度交融的自动驾驶未来。它不再是将驾驶分解为一系列冰冷的子任务,而是尝试让AI像人一样,去整体地感受、理解和应对那个复杂、动态、充满不确定性的交通世界。这条路很长,也注定充满挑战,但无疑是激动人心的方向。对于我们从业者而言,保持开放心态,深入理解其原理,同时脚踏实地地解决工程难题,或许是最好的方式。