【CVPR2025】BridgeAD+: Enhancing End-to-End Autonomous Driving with Multi-Step Historical Context Fusi
1. 从“一帧”到“连续剧”为什么自动驾驶需要历史记忆大家好我是老张在自动驾驶这个行当里摸爬滚打了十几年从早期的模块化“堆盒子”到现在的端到端“大一统”可以说见证了技术范式的几次大变迁。今天想和大家聊聊一个听起来有点“哲学”但实际非常关键的问题自动驾驶系统怎么“记住”过去并以此来“预判”未来想象一下你开车时的场景。你看到一个行人站在路边他可能只是在等车也可能下一秒就抬脚过马路。你怎么判断你大概率会下意识地回想他过去几秒的动作——他是刚从商店出来还是一直站在那里张望这种对“历史上下文”的利用是人类驾驶决策的基石。然而对于很多端到端自动驾驶模型来说它们更像是“金鱼”只有“七秒记忆”处理每一帧图像时往往过度依赖当前瞬间的信息对过去发生了什么、未来几步如何连贯地演进缺乏系统性的建模。这就是CVPR 2025上提出的BridgeAD框架要解决的核心痛点。它不是一个从零开始的全新架构而是在现有优秀的端到端范式比如大家熟悉的UniAD、VAD基础上做了一次非常巧妙的“增强手术”。它的核心思想可以概括为一句话将过去、现在与未来的信息在“查询”这个维度上进行解耦与对齐让历史信息能够精准地流向感知和规划这两个最需要它的模块。传统的端到端方法在处理时间信息时主要有两种思路。一种是“密集派”把过去几帧的鸟瞰图特征像叠罗汉一样堆起来好处是信息全但计算量大而且不同时间步的信息混杂在一起规划模块用起来并不顺手。另一种是“稀疏派”用一个记忆库存储历史的关键信息比如物体的查询向量需要时再去检索。但问题在于很多方法在设计这个记忆和检索机制时并没有充分考虑“多步”的特性。比如规划未来3秒的轨迹其实需要的是未来第1秒、第2秒、第3秒分别与过去哪些信息对齐过去的哪一帧对未来哪一步的影响最大这种精细化的时间对齐关系如果被粗糙地处理效果就会大打折扣。BridgeAD的聪明之处就在于它不再把“运动预测查询”和“路径规划查询”当作两个笼统的向量包而是为它们赋予了清晰的时间步结构。简单说它把未来要预测的轨迹和要规划的路径都拆解成一步一步的。然后它设计了一个精巧的“缓存队列”像是一个滑动窗口始终保留着最近几帧里这些已经解构好的、带时间标签的历史查询。当处理新的一帧时感知模块可以去这个队列里找到与“当前时刻”最相关的历史运动信息来帮助自己更准地检测和跟踪物体而规划模块则可以去队列里找到与“未来各个时刻”相关的历史规划信息来生成更平滑、更一致的未来轨迹。这就好比一个导演在拍连续剧。传统的做法可能是每一集都独立写剧本只依赖当前帧。而BridgeAD的做法是导演手里有一个详细的分镜头脚本多步查询并且他随时可以回看之前几集的关键片段历史缓存。在拍当前这一集感知时他会参考前一集结尾人物的状态历史运动查询在构思接下来几集的剧情走向规划时他会综合考虑之前几集埋下的伏笔历史规划查询和人物可能的发展历史运动查询对未来规划的影响。这样拍出来的剧集前后连贯性自然就好得多。2. BridgeAD核心机制拆解三步走打通历史与未来的任督二脉光说理念可能有点抽象咱们直接上干货看看BridgeAD具体是怎么玩的。它的整个框架可以看作一个精心设计的三步流水线核心都围绕“多步历史查询”这个数据结构展开。2.1 第一步设计带“时间戳”的查询——把未来拆开看这是所有后续操作的基础。在BridgeAD里运动预测查询和路径规划查询不再是两个“黑盒子”向量。它们被显式地设计成了多维张量其中一个维度专门代表“未来时间步”。运动查询它的形状是[Na, M_mot, T_mot, C]。这有点像一个四维数组。Na是周围交通参与者的数量比如车辆、行人M_mot是为每个参与者预测的多种可能轨迹模式比如直行、左转、右转T_mot就是关键的未来预测步数比如预测未来6秒每秒2个点就是12步C是特征通道数。这样一来每个查询向量都明确对应着“哪个物体在哪种模式下未来第几步的状态”。规划查询它的形状是[M_plan, T_plan, C]。这里M_plan是自车规划的多种可能路径模式T_plan是规划的未来步数比如规划未来3秒6步。同样每个查询都对应“哪种路径模式未来第几步的方向盘转角或油门刹车”。我刚开始接触这个设计时觉得它有点“反直觉”因为增加了模型的复杂度。但仔细一想这恰恰是把复杂问题清晰化的关键。以前模型需要自己从混杂的查询向量里“领悟”时间信息现在咱们直接把时间步作为坐标轴给标明了。这就好比给仓库里的货物都贴上了详细的“货架号-层号-位号”存取效率自然飙升。2.2 第二步建立“记忆仓库”——一个先进先出的缓存队列设计好了带时间标签的查询接下来就得把它们存起来方便后续使用。BridgeAD采用了一个非常实用的FIFO先进先出缓存队列。这个队列的长度是固定的比如只保留最近K3帧的历史信息。每一帧处理完后当前帧生成的那些“多步运动查询”和“多步规划查询”就会被压入这个队列。同时队列里最老的那一帧信息会被挤出去。这个过程是持续不断的确保了模型始终拥有一个短暂的、但结构化的“记忆窗口”。这个设计我特别喜欢因为它既简单又高效。不需要复杂的检索网络也不存储原始的图像或BEV特征那种“重型”数据只存储提炼好的、结构化的查询向量内存和计算开销都很小。在实际的工程部署中这种轻量级的历史利用机制是非常有吸引力的。2.3 第三步定向投喂——历史信息如何精准增强不同模块有了结构化的历史查询和缓存队列BridgeAD就可以玩出很精彩的操作了。它通过三个核心的交互模块把历史信息“定向投喂”给需要它的部分。模块A历史运动到检测融合这个模块服务于感知检测与跟踪。它的目标是利用“过去”来更好地理解“现在”。具体怎么做呢从缓存队列里取出与当前帧最相关的历史运动查询这些查询包含了之前帧中物体是如何运动的。然后让当前帧的物体检测查询与这些历史运动查询做一次“跨注意力”交互。你可以理解为检测模块在识别一个物体时会主动去“询问”历史“这个家伙上一秒在哪儿速度怎么样” 有了这个信息模型就能更稳定地跟踪物体减少因为遮挡或外观变化导致的ID跳变。这在实际路测中对提升感知的鲁棒性帮助巨大。模块B历史增强的运动预测这个模块的目标是预测周围物体未来的轨迹。它利用的历史信息更“远期”一些。从缓存队列中它会提取过去多帧的历史运动查询然后与当前帧初始化好的未来多步运动查询进行交互。这里的关键是“步级自注意力”和“模式级自注意力”。简单说“步级自注意力”让未来第1步的查询可以和未来第2、3步的查询互相沟通确保预测的轨迹在时间上是平滑的“模式级自注意力”则让“左转”这种模式下的所有时间步可以互相沟通确保一种运动模式内部是自洽的。历史信息的注入为这种跨时间步、跨模式的推理提供了宝贵的上下文。模块C历史增强的路径规划 运动到规划交互这是最体现“桥接”思想的部分。规划模块同样会从缓存中读取历史规划查询来增强当前对未来路径的规划确保规划出的轨迹在时间上连贯比如不会突然剧烈摆动。但更重要的是“步级运动到规划交互模块”。规划自车路径时不能闭门造车必须考虑周围物体未来的运动。这个模块就负责在相同的未来时间步上将运动预测模块输出的物体未来状态比如1.5秒后那辆车的位置与规划模块的自车路径查询进行对齐和交互。这样规划出的路径就能提前规避预测的冲突实现真正的协同决策。这种基于相同时间步的细粒度交互是提升规划安全性和拟人化的关键。3. 在nuScenes上实战开放环与封闭环的双重考验理论说得再漂亮还得看实战效果。BridgeAD的论文在自动驾驶领域公认的权威数据集nuScenes上进行了全面测试包括开放环和封闭环两种评估模式。这两种模式的区别咱们得先搞清楚。开放环评估就像是“开卷考试”。模型根据一段历史传感器数据预测出自车在未来一段时间内的规划轨迹然后和数据集里记录的真实人类驾驶轨迹进行对比计算误差比如L2距离。它评估的是模型“模仿学习”和“短期预测”的能力。封闭环评估则是“闭卷实战”。模型被置入一个高保真的仿真器论文里用的是NeuroNCAP模拟器它根据当前的感知结果做出规划决策如转向、加速这个决策会作用到仿真环境中的车辆上改变其状态然后模型再根据新的状态做下一帧决策如此循环。这能评估模型长期决策的连贯性、安全性以及应对复杂交互的能力更接近真实部署。BridgeAD在这两项考试中都交出了顶尖的成绩单。在开放环规划对比中BridgeAD的各项误差指标如L2误差、碰撞率都显著优于之前的SOTA方法比如UniAD和VAD。特别值得一提的是有些方法为了提升规划性能会直接把自车的历史状态如速度、位置作为额外输入这相当于给了模型一个“捷径”。但BridgeAD的输入不包含自车状态纯粹依靠视觉感知和历史查询来推断自车应该怎么走。即使在这种“更困难”的设置下它依然超越了那些用了自车状态的方法这充分证明了其历史上下文融合机制的有效性——模型是真的从历史视觉信息中学到了驾驶逻辑而不是简单地记忆状态关联。在封闭环的NeuroNCAP仿真测试中BridgeAD的优势更加明显。NeuroNCAP评分综合了安全性、合规性等多个维度BridgeAD-S较小版本的评分比同期优秀方法SparseDrive高出65%在更关键的碰撞率指标上BridgeAD相比UniAD降低了12.4%。这个数字在安全至上的自动驾驶领域意义重大。论文里分析说其他方法要么完全忽略了规划中的历史信息要么没有在当前帧有效地整合历史导致它们虽然能“看到”周围的物体但在连续的决策中容易做出突兀或不一致的动作从而引发碰撞。而BridgeAD通过其多步历史融合使得规划出的轨迹像老司机一样更加平滑、连贯且有预见性。除了规划它在“基本功”上也全面进步。在3D物体检测、多目标跟踪、运动预测这些感知和预测子任务上BridgeAD也刷新了nuScenes上的成绩。这形成了一个良性循环更好的历史感知带来了更准的跟踪和预测更准的预测又反过来帮助做出了更安全、更连贯的规划。这种端到端联合优化的优势在BridgeAD身上体现得淋漓尽致。4. 对开发者与从业者的启示我们能从中学到什么聊完了原理和效果咱们落地一点说说从BridgeAD这项工作中我们做技术研发和工程落地的同行能汲取哪些营养。第一时间建模的粒度至关重要。过去我们谈“利用历史”可能更多想到的是用RNN、LSTM或者3D卷积来融合一个时序特征。BridgeAD告诉我们对于自动驾驶这种强时序、多智能体交互的任务粗粒度的融合可能不够。将未来解构成多步并为每一步建立与历史明确的对齐关系是一种更精细、更有效的思路。这启发我们在设计其他时序模型时也可以思考如何显式地建模不同时间步之间的依赖关系而不是仅仅依赖网络的隐式学习。第二“查询”是连接多任务的优秀抽象。端到端自动驾驶统一了感知、预测、规划但如何让信息在不同任务间高效、合理地流动是个难题。BridgeAD延续并发展了“以查询为中心”的设计范式。感知产出物体查询和地图查询预测和规划则定义自己的运动查询和规划查询然后通过精心设计的注意力机制在这些查询之间交换信息。这种基于查询的稀疏交互相比基于密集BEV特征的全局交互通常更高效、更聚焦。我们在设计复杂多任务系统时可以考虑将“查询”作为不同模块间通信的“标准语言”。第三轻量级的历史缓存机制极具工程价值。BridgeAD没有引入特别复杂的记忆网络就是一个简单的FIFO队列存储过去几帧的结构化查询。这个设计在保证性能大幅提升的同时几乎没有增加多少在线计算开销。这对于追求实时性的车载计算平台来说是一个非常友好的设计。它提醒我们有时候解决问题的未必是最复杂的模型一个清晰、巧妙的数据结构和与之匹配的简单算法往往能取得事半功倍的效果。第四仿真测试是验证规划能力的必要环节。BridgeAD的工作再次凸显了高质量封闭环仿真的重要性。开放环指标好不代表上路就安全。像NeuroNCAP这种能构建复杂、安全关键场景的仿真器是检验模型长期决策和交互能力的试金石。我们在开发自己的系统时也必须建立起完善的仿真测试体系尤其是要覆盖那些常规数据集中少见的“长尾”危险场景。从我个人的经验来看端到端自动驾驶正在从“有没有”走向“好不好”的阶段。早期的模型解决了从像素到动作的映射问题而现在像BridgeAD这样的工作则在深入解决“如何映射得更聪明、更连贯、更安全”的问题。它抓住的“多步历史上下文”这个点看似细微实则切中了当前许多模型在时序连贯性上的短板。这项研究不仅提供了一个强大的新基线更重要的是它展示了一种系统性的思考方式如何通过改进模型内部的信息流设计来让AI驾驶得更像人。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2409087.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!