<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>DETR范式 on 朝花夕拾</title>
        <link>https://example.org/tags/detr%E8%8C%83%E5%BC%8F/</link>
        <description>Recent content in DETR范式 on 朝花夕拾</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <lastBuildDate>Mon, 20 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://example.org/tags/detr%E8%8C%83%E5%BC%8F/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>DriveTransformer: Unified Transformer for Scalable End-to-End Autonomous Driving</title>
            <link>https://example.org/post/robotics/e2e/drive-transformer/</link>
            <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
            <guid>https://example.org/post/robotics/e2e/drive-transformer/</guid>
            <description>&lt;hr&gt;&#xA;&lt;h2 id=&#34;一这篇论文在讲什么&#34;&gt;一、这篇论文在讲什么？&#xA;&lt;/h2&gt;&lt;h3 id=&#34;传统系统的痛点刻板的流水线工厂&#34;&gt;传统系统的痛点：刻板的流水线工厂&#xA;&lt;/h3&gt;&lt;p&gt;想象一下，传统的自动驾驶系统就像一个&lt;strong&gt;刻板的流水线工厂&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;感知部门&lt;/strong&gt;（看路）把报告交给&lt;strong&gt;预测部门&lt;/strong&gt;（猜别人怎么走）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;预测部门&lt;/strong&gt;再交给&lt;strong&gt;规划部门&lt;/strong&gt;（决定自己怎么开）&lt;/li&gt;&#xA;&lt;li&gt;一旦感知部门看走了眼，整个工厂就会**&amp;ldquo;一步错，步步错&amp;rdquo;**（误差累积）&lt;/li&gt;&#xA;&lt;li&gt;部门之间缺乏沟通，效率极低&lt;/li&gt;&#xA;&lt;li&gt;他们还非要扛着一张无比沉重的&amp;quot;全局鸟瞰图&amp;quot;（Dense BEV）来工作，把电脑累得够呛&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;三大痛点剖析&#34;&gt;三大痛点剖析&#xA;&lt;/h3&gt;&lt;p&gt;作者在引言部分一针见血地指出了目前端到端自动驾驶（E2E-AD）的三大痛点：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;痛点&lt;/th&gt;&#xA;          &lt;th&gt;传统方案的问题&lt;/th&gt;&#xA;          &lt;th&gt;影响&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;顺序执行的魔咒&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;UniAD 等明星模型依然玩&amp;quot;感知-预测-规划&amp;quot;的串行游戏&lt;/td&gt;&#xA;          &lt;td&gt;误差累积 + 训练不稳定&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;缺乏协同效应&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;强行排了先后顺序&lt;/td&gt;&#xA;          &lt;td&gt;无法学会&amp;quot;为规划而感知&amp;quot;或&amp;quot;博弈论式互动&amp;quot;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;沉重的 BEV 包袱&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;使用密集的鸟瞰图（Dense BEV）特征&lt;/td&gt;&#xA;          &lt;td&gt;想看远、想记历史 → 计算量爆炸&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;drivetransformer-的破局宣言&#34;&gt;DriveTransformer 的破局宣言&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;彻底砸碎流水线，把所有部门拉到同一张圆桌上开会！&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;DriveTransformer 抛弃了沉重的 BEV 特征，完全用纯 Transformer 架构搭建了一个 &lt;strong&gt;&amp;ldquo;并行、稀疏、流式&amp;rdquo;&lt;/strong&gt; 的新世界：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;大大降低系统复杂度&lt;/li&gt;&#xA;&lt;li&gt;模型极其容易扩大规模（Scale up）&lt;/li&gt;&#xA;&lt;li&gt;用最优雅的 Transformer 语言统一检测、地图构建、运动预测和路径规划&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;二核心方法三大神功--三套连招&#34;&gt;二、核心方法：三大神功 + 三套连招&#xA;&lt;/h2&gt;&lt;p&gt;这是全篇最硬核、最精彩的部分！DriveTransformer 的成功秘诀在于它的架构设计。&lt;/p&gt;&#xA;&lt;h3 id=&#34;-神功一任务并行-task-parallelism--圆桌会议&#34;&gt;🥇 神功一：任务并行 (Task Parallelism) —— 圆桌会议&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;再也没有上下级之分！&lt;/strong&gt; 系统里有三种 Token 探针（Query），它们在每一个 Transformer 模块里&lt;strong&gt;直接互相交流&lt;/strong&gt;，信息瞬间互通有无：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;探针类型&lt;/th&gt;&#xA;          &lt;th&gt;数量&lt;/th&gt;&#xA;          &lt;th&gt;负责任务&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Agent Queries（智能体探针）&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;900个&lt;/td&gt;&#xA;          &lt;td&gt;盯住动态的车辆、行人&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Map Queries（地图探针）&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;100个&lt;/td&gt;&#xA;          &lt;td&gt;识别静态的车道线、红绿灯等&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Planning Queries（规划探针）&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;专属&lt;/td&gt;&#xA;          &lt;td&gt;决定自己的车怎么开&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;这彻底消除了层级带来的卡顿和误差传递！&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-神功二稀疏表示-sparse-representation--直饮源头水&#34;&gt;🥈 神功二：稀疏表示 (Sparse Representation) —— 直饮源头水&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;丢掉庞大笨重的全局 BEV 鸟瞰图！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这些轻量级的探针直接一头扎进**原始的多视角传感器画面（Raw Sensor Features）**里去提取它们关心的信息。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;生动比喻：这就像你用谷歌搜索精准直达答案，而不是把整本大英百科全书背下来。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-神功三流式处理-streaming-processing--时光记忆背包&#34;&gt;🥉 神功三：流式处理 (Streaming Processing) —— 时光记忆背包&#xA;&lt;/h3&gt;&lt;p&gt;怎么记住过去的事情？传统方法是保存过去好几帧的沉重 BEV 图像。&lt;/p&gt;&#xA;&lt;p&gt;DriveTransformer 借用了先进的 &lt;strong&gt;FIFO（先进先出）队列&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;只把上一帧最有价值的 &lt;strong&gt;Top-K 个探针（K=50）&lt;/strong&gt; 塞进队列里&lt;/li&gt;&#xA;&lt;li&gt;当作历史先验信息传递给下一帧&lt;/li&gt;&#xA;&lt;li&gt;既省内存，又保留了高级的语义信息&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-三套连招统一注意力机制&#34;&gt;🔄 三套连招：统一注意力机制&#xA;&lt;/h3&gt;&lt;p&gt;在每一次&amp;quot;施法&amp;quot;（每个 Transformer Layer）时，所有任务只用这三种统一的操作：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;连招&lt;/th&gt;&#xA;          &lt;th&gt;操作名称&lt;/th&gt;&#xA;          &lt;th&gt;作用&lt;/th&gt;&#xA;          &lt;th&gt;生动比喻&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;第一招&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Task Self-Attention（任务自注意力）&lt;/td&gt;&#xA;          &lt;td&gt;探针与探针之间的情报共享&lt;/td&gt;&#xA;          &lt;td&gt;探针们的&amp;quot;群聊&amp;quot;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;第二招&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Sensor Cross-Attention（传感器交叉注意力）&lt;/td&gt;&#xA;          &lt;td&gt;探针向原始传感器画面索取视觉线索&lt;/td&gt;&#xA;          &lt;td&gt;去&amp;quot;对图&amp;quot;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;第三招&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Temporal Cross-Attention（时序交叉注意力）&lt;/td&gt;&#xA;          &lt;td&gt;探针向历史探针取经，融合时间信息&lt;/td&gt;&#xA;          &lt;td&gt;&amp;ldquo;翻旧账&amp;rdquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;细节彩蛋&lt;/strong&gt;：因为探针们可以直接从传感器和历史中获取信息，DriveTransformer &lt;strong&gt;根本不需要像老模型那样做分阶段的预训练&lt;/strong&gt;，从头到尾一体化训练，一气呵成！&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;三时序魔法详解运动补偿的精妙设计&#34;&gt;三、时序魔法详解：运动补偿的精妙设计&#xA;&lt;/h2&gt;&lt;h3 id=&#34;核心问题时间穿越时的刻舟求剑&#34;&gt;核心问题：时间穿越时的&amp;quot;刻舟求剑&amp;quot;&#xA;&lt;/h3&gt;&lt;p&gt;你开车时不仅要记住 1 秒前有一辆车在你左边（历史记忆），还得猜到这 1 秒内它往前开了一段距离。传统模型经常犯&amp;quot;刻舟求剑&amp;quot;的错误。&lt;/p&gt;&#xA;&lt;p&gt;DriveTransformer 通过&lt;strong&gt;两步走&lt;/strong&gt;策略，给历史探针打上了完美的&amp;quot;记忆补丁&amp;quot;：&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;第一步自车坐标系对齐-ego-transform&#34;&gt;第一步：自车坐标系对齐 (Ego Transform)&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;解决&amp;quot;我&amp;quot;动了的问题&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在把过去的 Top-K 探针拿来用之前，首先得意识到：&lt;strong&gt;我们自己的车（Ego Vehicle）在这段时间里也往前开了！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;系统会根据自车在这段时间内的位移和旋转（通过里程计或定位信息得到），把历史探针携带的位置信息（PE），&lt;strong&gt;统一转换到当前时刻的自车坐标系下&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;这步搞定后，像红绿灯、车道线这种静态的&lt;strong&gt;地图探针&lt;/strong&gt;就完全对齐了。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;第二步智能体运动补偿-agent-motion-compensation&#34;&gt;第二步：智能体运动补偿 (Agent Motion Compensation)&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;解决&amp;quot;他&amp;quot;动了的问题&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;对于动态的&lt;strong&gt;智能体探针&lt;/strong&gt;，光做第一步是不够的——&lt;strong&gt;他们在动！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;DriveTransformer 施展了一个数学法术：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;算出&amp;quot;他跑了多远&amp;quot;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;历史帧里的智能体探针预测了物体的速度 $v^t_{agent}$&lt;/li&gt;&#xA;&lt;li&gt;$速度 \times 时间 = 位移$&lt;/li&gt;&#xA;&lt;li&gt;计算时间差 $\Delta t = (t - t_0)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;炼制&amp;quot;记忆补丁&amp;quot;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;把位移向量喂给 MLP 当&amp;quot;翻译官&amp;quot;&lt;/li&gt;&#xA;&lt;li&gt;MLP 输出两个参数：&lt;strong&gt;缩放因子 $\gamma$ 和 偏移因子 $\beta$&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;施放&amp;quot;自适应层归一化&amp;quot;法术&lt;/strong&gt;&#xA;$$ \hat{PE}^t_{agent} = \text{LayerNorm}(\text{原始历史 } \hat{PE}^t_{agent}, ; \text{受 } [\gamma, \beta] \text{ 控制}) $$&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;这样做的绝妙之处&#34;&gt;这样做的绝妙之处&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;给模型戴上了一副 &lt;strong&gt;&amp;ldquo;基于物理运动规律的预判眼镜&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;模型在对历史探针说：&amp;ldquo;嘿哥们，我知道你 1 秒前在那里，但根据你当时的速度，你现在应该跑到这儿了。我就在这个新位置去匹配当前摄像头的画面！&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;优势对比&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;方案&lt;/th&gt;&#xA;          &lt;th&gt;传统 Dense BEV&lt;/th&gt;&#xA;          &lt;th&gt;DriveTransformer&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;做法方法&lt;/td&gt;&#xA;          &lt;td&gt;把沉重 BEV 像素用空间变换网络扭曲平移&lt;/td&gt;&#xA;          &lt;td&gt;只对几十个探针的 PE 做乘法加法&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;计算开销&lt;/td&gt;&#xA;          &lt;td&gt;巨大&lt;/td&gt;&#xA;          &lt;td&gt;丝滑无比，瞬间完成&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;跟踪匹配&lt;/td&gt;&#xA;          &lt;td&gt;需要复杂的追踪算法&lt;/td&gt;&#xA;          &lt;td&gt;免去 Tracking-free，自然学习就能&amp;quot;相认&amp;quot;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;四探针设计的核心秘密干湿分离&#34;&gt;四、探针设计的核心秘密：&amp;ldquo;干湿分离&amp;rdquo;&#xA;&lt;/h2&gt;&lt;h3 id=&#34;一个非常专业的问题&#34;&gt;一个非常专业的问题&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;如果位置编码（PE）已经通过&amp;quot;加法&amp;quot;融化在特征（Feature）里了，那后来怎么可能再把它单独捞出来做坐标系转换呢？&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;DriveTransformer（以及它借鉴的 StreamPETR 等现代架构）采用的是 &lt;strong&gt;&amp;ldquo;干湿分离&amp;quot;设计&lt;/strong&gt;！&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;探针的双轨制公文包设计&#34;&gt;探针的&amp;quot;双轨制&amp;rdquo;：公文包设计&#xA;&lt;/h3&gt;&lt;p&gt;在历史队列（FIFO Queue）里保存上一帧的探针时，存下来的不是一个融合向量，而是一个 &lt;strong&gt;&amp;ldquo;公文包&amp;rdquo;&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;文件&lt;/th&gt;&#xA;          &lt;th&gt;内容&lt;/th&gt;&#xA;          &lt;th&gt;说明&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;文件 A：语义特征&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;高维向量（如 256维）&lt;/td&gt;&#xA;          &lt;td&gt;记录&amp;quot;这是什么&amp;quot;（如：红色轿车，车灯亮着）—— 不需要坐标转换&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;文件 B：显式 3D 锚点&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;纯物理坐标 $(x, y, z)$&lt;/td&gt;&#xA;          &lt;td&gt;记录&amp;quot;它在哪&amp;quot;—— 轻量、可直接做几何运算&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;运动补偿的实际流程&#34;&gt;运动补偿的实际流程&#xA;&lt;/h3&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;直接对&amp;quot;物理坐标&amp;quot;动手脚&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;因为位置信息是作为显式坐标单独存放的&lt;/li&gt;&#xA;&lt;li&gt;直接拿出 $(x, y, z)$，用位移和旋转矩阵做几何运算&lt;/li&gt;&#xA;&lt;li&gt;嗖的一下！坐标就完美对齐到当前坐标系&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;位置编码的&amp;quot;现做现卖&amp;quot;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;有一个专门的&amp;quot;编码加工厂&amp;quot;（MLP 网络）&lt;/li&gt;&#xA;&lt;li&gt;接收新坐标 $(x&amp;rsquo;, y&amp;rsquo;, z&amp;rsquo;)$，动态生成当前时刻的高维 PE&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;注入&amp;quot;他动&amp;quot;魔法&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;在 PE 准备和语义特征相加之前，运动补偿闪亮登场&lt;/li&gt;&#xA;&lt;li&gt;用 MLP 算出 $\gamma$ 和 $\beta$&lt;/li&gt;&#xA;&lt;li&gt;通过 Adaptive LayerNorm 作用在&lt;strong&gt;新鲜生成的 PE 上&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;终极合体&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;所有空间转换和运动补偿都做完了&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;终极进化版 PE&amp;quot;才与&amp;quot;语义特征&amp;quot;相加，投入注意力机制计算&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;核心设计哲学&#34;&gt;核心设计哲学&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;我不提前泼水！&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;通过将语义特征与显式 3D 坐标拆分保存：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;只对纯物理坐标做刚体变换&lt;/li&gt;&#xA;&lt;li&gt;然后动态生成 PE 并进行运动补偿调制&lt;/li&gt;&#xA;&lt;li&gt;最后才与特征合并&lt;/li&gt;&#xA;&lt;li&gt;保证特征本身的纯洁性&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;五实例级表达detr-范式的灵魂&#34;&gt;五、实例级表达：DETR 范式的灵魂&#xA;&lt;/h2&gt;&lt;h3 id=&#34;核心问题&#34;&gt;核心问题&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;历史信息中为什么会有实例级别的速度信息？网络对周围障碍物和地图做了实例化输出吗？&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;是的！网络不仅做了彻底的实例化输出，历史信息里的速度是模型在上一帧&amp;quot;自己亲口预测出来&amp;quot;的！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;抛弃像素填色游戏拥抱实例锁定&#34;&gt;抛弃&amp;quot;像素填色游戏&amp;rdquo;，拥抱&amp;quot;实例锁定&amp;quot;&#xA;&lt;/h3&gt;&lt;p&gt;以前基于 Dense BEV 的模型像是在玩&amp;quot;填色游戏&amp;quot;：把周围环境划分成无数小格子，然后告诉系统&amp;quot;这个格子里有车&amp;quot;。如果要提取&amp;quot;一辆车&amp;quot;，还需要额外的后处理（NMS、聚类）。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;DriveTransformer 掀翻了这个桌子！&lt;/strong&gt; 使用 DETR 的理念：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;探针&lt;/th&gt;&#xA;          &lt;th&gt;比喻&lt;/th&gt;&#xA;          &lt;th&gt;作用&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Agent Queries（900个）&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;900枚&amp;quot;自导鱼雷&amp;quot;&lt;/td&gt;&#xA;          &lt;td&gt;每一枚死死咬住马路上的一个具体实例&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Map Queries（100个）&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;100个测绘员&lt;/td&gt;&#xA;          &lt;td&gt;每个去认领一条具体的车道线、斑马线或红绿灯&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;模型不需要繁琐的后处理，输出天生就是高度结构化的&amp;quot;实例列表&amp;quot;！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;速度信息从哪来探针的述职报告&#34;&gt;速度信息从哪来？探针的&amp;quot;述职报告&amp;quot;&#xA;&lt;/h3&gt;&lt;p&gt;每个智能体探针锁定一个物体后，在每一帧 Transformer 处理完毕后，都要提交一份 &lt;strong&gt;&amp;ldquo;述职报告&amp;rdquo;&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;物体的 3D 边界框（$x, y, z$, 长, 宽, 高, 旋转角）&lt;/li&gt;&#xA;&lt;li&gt;物体的类别（车、人、自行车）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;当前绝对速度 $(v_x, v_y)$ 和未来运动轨迹！&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;时序闭环昨天的预测变成今天的先验&#34;&gt;时序闭环：&amp;ldquo;昨天的预测&amp;quot;变成&amp;quot;今天的先验&amp;rdquo;&#xA;&lt;/h3&gt;&lt;p&gt;最绝妙的逻辑闭环来了！历史信息里的速度是&lt;strong&gt;模型自己前一秒算出来的&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;完整的时间流：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;时间&lt;/th&gt;&#xA;          &lt;th&gt;动作&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;T-1 时刻&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;1号智能体探针锁定右前方车辆，输出报告：&amp;ldquo;卡车，位置 $(x, y, z)$，速度 10 m/s&amp;rdquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;存入背包&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;系统把探针打包存入历史队列（语义特征 + 位置 + &lt;strong&gt;预测的速度&lt;/strong&gt;）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;T 时刻&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;系统从背包掏出探针：&amp;ldquo;你上一帧说速度 10 m/s，过去 0.1s，应该往前开了 1m&amp;rdquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;运动补偿&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;用速度计算位移，通过 $\gamma$ 和 $\beta$ 魔法，把历史探针平移到预期位置&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;锁定当前帧&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;在交叉注意力中，直接去&amp;quot;新位置&amp;quot;附近寻找，降低搜索难度&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;完美流畅的端到端流式预测！&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;六稀疏-vs-稠密为什么丢掉背景反而更强&#34;&gt;六、稀疏 vs 稠密：为什么&amp;quot;丢掉背景&amp;quot;反而更强？&#xA;&lt;/h2&gt;&lt;h3 id=&#34;一个顶会审稿人级别的质疑&#34;&gt;一个&amp;quot;顶会审稿人级别&amp;quot;的质疑&#xA;&lt;/h3&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;前后帧的信息传递中损失了很多信息，有点像 1.5 段式端到端，相比 1 段式存在性能瓶颈&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;这个担忧是学术界争论最激烈的话题之一。但为什么 DriveTransformer 依然能打破&amp;quot;瓶颈&amp;quot;？&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;担忧一是不是15段式&#34;&gt;担忧一：是不是&amp;quot;1.5段式&amp;quot;？&#xA;&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;如果模型只把位置和速度传递给下一帧，确实退化成 1.5 段式。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;但别忘了&amp;quot;公文包&amp;quot;！除了显式的物理坐标，探针里还带着一个&lt;strong&gt;高维度的语义特征&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;这个高维特征是&lt;strong&gt;不被人类定义的黑盒&lt;/strong&gt;，可能包含：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;ldquo;这辆车有打转向灯的意图&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;&amp;ldquo;那个行人看起来喝醉了&amp;rdquo;&lt;/li&gt;&#xA;&lt;li&gt;无法用简单位置和速度描述的深层隐含信息&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;表面上戴着 1.5 段式（实例结构化）的面具，背地里依然在用纯正 1 段式的高维张量进行端到端的暗流涌动！&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;担忧二丢掉背景信息造成损失&#34;&gt;担忧二：丢掉背景信息造成损失？&#xA;&lt;/h3&gt;&lt;p&gt;如果上一帧的 Top-K 探针没有捕捉到路边草丛里准备窜出来的小狗，下一帧是不是就完全不知道了？&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;关键认知误区！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;虽然模型在&lt;strong&gt;传递历史&lt;/strong&gt;时是稀疏的（只传 Top-K），但在&lt;strong&gt;看当前世界&lt;/strong&gt;时，它是绝对稠密且完整的！&lt;/p&gt;&#xA;&lt;p&gt;每一帧的 &lt;strong&gt;Sensor Cross-Attention&lt;/strong&gt; 中，所有探针都会一头扎进&lt;strong&gt;当前帧完整的 2D 多视角摄像头图像&lt;/strong&gt;中疯狂提取信息：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;如果历史探针漏掉了草丛里的小狗 → 没关系！&lt;/li&gt;&#xA;&lt;li&gt;当前帧新初始化的 900 个探针会在扫描高清画面时，直接把它&amp;quot;揪&amp;quot;出来&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;历史记忆是稀疏的（只记重点），但当下感知是稠密的（不漏死角）&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;终极反转为什么丢掉背景反而是破局关键&#34;&gt;终极反转：为什么丢掉背景反而是破局关键？&#xA;&lt;/h3&gt;&lt;p&gt;在真实的 AI 工业界，&lt;strong&gt;计算力和显存才是真正的瓶颈！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;传统 Dense 方案（把历史好几帧的巨大 BEV 堆叠）：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;问题&lt;/th&gt;&#xA;          &lt;th&gt;影响&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;算力爆炸&lt;/td&gt;&#xA;          &lt;td&gt;历史 10 帧 BEV 特征加在一起，显存直接撑爆&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Scaling 灾难&lt;/td&gt;&#xA;          &lt;td&gt;BEV 占用太大，只能配很小的&amp;quot;眼睛&amp;quot;（如 ResNet50），看低分辨率照片&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;DriveTransformer 通过果断丢掉历史中无意义的背景（如&amp;quot;10 秒钟以前马路牙子上的一块砖&amp;quot;），把系统精简到极致。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;省下来的海量算力和显存，拿去干嘛了？&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;换上了一双 &lt;strong&gt;&amp;ldquo;神之眼&amp;rdquo;&lt;/strong&gt;！主干网络扩展到参数量极为庞大的视觉大模型 &lt;strong&gt;EVA02-CLIP-L&lt;/strong&gt;，输入图像分辨率也拉到了超高清。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;实验证明&lt;/strong&gt;：用一个超大模型去处理极其精准的稀疏探针，其性能（Scaling Law）远远超过用一个小模型去死磕庞大的稠密特征！&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;潜在风险ood--long-tail-场景&#34;&gt;潜在风险：OOD / Long Tail 场景&#xA;&lt;/h3&gt;&lt;p&gt;在一种极端情况下，你的顾虑依然是致命的：&lt;strong&gt;开放世界中的异形障碍物&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;如果路上出现了一个既不像车、也不像人的东西（如侧翻半挂车掉下来的巨大钢卷），而 Agent Queries 一直被训练去寻找&amp;quot;标准的车辆和行人&amp;quot;，稀疏的实例表达可能因&amp;quot;不认识&amp;quot;而忽略它。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;前沿研究方向&lt;/strong&gt;：引入 &lt;strong&gt;Occupancy Network（占用网络）&lt;/strong&gt; 作为稀疏探针的兜底方案 —— 既有稀疏探针去抓重点，又有粗糙但全覆盖的稠密网格去防止&amp;quot;漏网之鱼&amp;quot;。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;七任务头输出detr-风格的终极归宿&#34;&gt;七、任务头输出：DETR 风格的终极归宿&#xA;&lt;/h2&gt;&lt;h3 id=&#34;核心机制&#34;&gt;核心机制&#xA;&lt;/h3&gt;&lt;p&gt;在经过了充分交互后，探针通过 &lt;strong&gt;DETR 风格的任务头&lt;/strong&gt;直接输出自动驾驶指令。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;最大魅力&lt;/strong&gt;：没有中间商赚差价！没有繁琐的锚框、没有让人头疼的 NMS 后处理，网络直接吐出结构化的实例结果。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-智能体头-agent-head&#34;&gt;🚗 智能体头 (Agent Head)&#xA;&lt;/h3&gt;&lt;p&gt;处理那 900 个 Agent Queries，同时输出两份作业：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;作业&lt;/th&gt;&#xA;          &lt;th&gt;输出内容&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;检测作业&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;3D 边界框（$x, y, z$, 长, 宽, 高, 旋转角）+ 当前速度 $(v_x, v_y)$ + 语义类别&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;预言作业&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;未来几秒钟的运动轨迹&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;隐藏细节&lt;/strong&gt;：预测其他车辆轨迹时，**以这辆车自己当前位置为原点（局部坐标系）**来预测未来位移。巧妙地把&amp;quot;检测&amp;quot;和&amp;quot;预测&amp;quot;解耦，大大降低学习难度。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-地图头-map-head&#34;&gt;🗺️ 地图头 (Map Head)&#xA;&lt;/h3&gt;&lt;p&gt;处理那 100 个 Map Queries，在线构建局部矢量地图：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;输出不是像素，而是&lt;strong&gt;折线（Polylines）&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;一系列三维坐标点，连起来就是车道线、路面边界或斑马线&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;隐藏细节&lt;/strong&gt;：同一条折线上的不同点，在 Sensor Cross Attention 时会带有&lt;strong&gt;不同的位置编码（PE）&lt;/strong&gt;。即使是同一条车道线，它的头和尾也能分别精准去画面里寻找属于自己的视觉线索！&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-规划头-planning-head&#34;&gt;🏎️ 规划头 (Planning Head)&#xA;&lt;/h3&gt;&lt;p&gt;最特殊，只处理专属的规划探针：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;输出极其干净利落：自车在未来 $T$ 秒内应该行驶的&lt;strong&gt;未来路点轨迹&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;底层控制器（PID）可以直接拿去踩油门、打方向盘&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-极大招动态-pe-更新与深度监督&#34;&gt;🌟 极大招：动态 PE 更新与深度监督&#xA;&lt;/h3&gt;&lt;p&gt;如果你以为这些头只是挂在网络最后面，那就大错特错了！&lt;/p&gt;&#xA;&lt;p&gt;DriveTransformer 内部有好几个串联的 Transformer Block（如 6 层），&lt;strong&gt;每一个 Block 后面，都挂着这三个任务头！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;深层监督&#34;&gt;深层监督&#xA;&lt;/h4&gt;&lt;p&gt;在训练时，每一层的任务头都要输出结果，并与真实标签（GT）做 DETR 招牌式的 &lt;strong&gt;&amp;ldquo;二分匹配&amp;rdquo;&lt;/strong&gt; 来计算误差。这逼迫网络从第一层开始就得努力干活。&lt;/p&gt;&#xA;&lt;h4 id=&#34;探针的自我进化&#34;&gt;探针的自我进化&#xA;&lt;/h4&gt;&lt;p&gt;在第 $N$ 层，网络预测出物体的位置、类别或自车意图。在进入第 $N+1$ 层之前，模型会&lt;strong&gt;把预测结果用 MLP 重新编码成新的位置编码！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Agent 和 Map 的新 PE：融合了刚刚猜出的空间位置和语义类别&lt;/li&gt;&#xA;&lt;li&gt;规划的 Ego 新 PE：融合了刚刚生成的自车未来意图&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;最美丽的闭环&#34;&gt;最美丽的闭环&#xA;&lt;/h3&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;探针进去 → 看图交流 → 用任务头输出预测 → 把预测结果变成新的起点(PE) → 进入下一层继续看图交流...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;每一层都在修正上一层的误差，探针找得越来越准，预测得越来越远。当它走到最后一层输出最终结果时，整个场景已经在探针的&amp;quot;群聊&amp;quot;中被解构得明明白白了！&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;八loss-设计多任务协同的评分标准&#34;&gt;八、Loss 设计：多任务协同的&amp;quot;评分标准&amp;quot;&#xA;&lt;/h2&gt;&lt;p&gt;DriveTransformer 采用&lt;strong&gt;多任务联合训练&lt;/strong&gt;的策略，所有任务共享同一个损失函数，通过权重平衡各任务的贡献。这种设计让模型能够同时学习感知、预测和规划，真正实现端到端的协同优化。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;总体损失函数架构&#34;&gt;总体损失函数架构&#xA;&lt;/h3&gt;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{total}} = \mathcal{L}&lt;/em&gt;{\text{agent}} + \lambda_{\text{map}} \mathcal{L}&lt;em&gt;{\text{map}} + \lambda&lt;/em&gt;{\text{motion}} \mathcal{L}&lt;em&gt;{\text{motion}} + \lambda&lt;/em&gt;{\text{plan}} \mathcal{L}_{\text{plan}}$$&lt;/p&gt;&#xA;&lt;p&gt;其中 $\lambda$ 权重系数用于平衡各任务的贡献。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-agent-detection-loss智能体检测损失&#34;&gt;🚗 Agent Detection Loss（智能体检测损失）&#xA;&lt;/h3&gt;&lt;p&gt;Agent Head 需要完成三个子任务：分类（识别物体类别）、检测（输出 3D 边界框）、速度预测。&lt;/p&gt;&#xA;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{agent}} = \lambda&lt;/em&gt;{\text{cls}} \mathcal{L}&lt;em&gt;{\text{cls}} + \lambda&lt;/em&gt;{\text{box}} \mathcal{L}&lt;em&gt;{\text{box}} + \lambda&lt;/em&gt;{\text{vel}} \mathcal{L}_{\text{vel}}$$&lt;/p&gt;&#xA;&lt;h4 id=&#34;分类损失focal-loss&#34;&gt;分类损失：Focal Loss&#xA;&lt;/h4&gt;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{cls}} = -\sum&lt;/em&gt;{i} \alpha_{c} (1 - p_i)^{\gamma} \log(p_i)$$&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\alpha_c$：类别平衡权重，缓解类别不平衡问题&lt;/li&gt;&#xA;&lt;li&gt;$\gamma$：聚焦参数（通常取 2），降低易分类样本的权重&lt;/li&gt;&#xA;&lt;li&gt;$p_i$：预测为正确类别的概率&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;边界框回归l1-loss&#34;&gt;边界框回归：L1 Loss&#xA;&lt;/h4&gt;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{box}} = \sum&lt;/em&gt;{i \in \mathcal{M}} \left( | \hat{b}_i - b_i |_1 \right)$$&lt;/p&gt;&#xA;&lt;p&gt;其中 $\hat{b}_i$ 是预测的 3D 边界框参数 $(x, y, z, l, w, h, \theta)$，$b_i$ 是真实值，$\mathcal{M}$ 是匹配成功的探针集合。&lt;/p&gt;&#xA;&lt;h4 id=&#34;速度回归l1-loss&#34;&gt;速度回归：L1 Loss&#xA;&lt;/h4&gt;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{vel}} = \sum&lt;/em&gt;{i \in \mathcal{M}} \left( | \hat{v}_i - v_i |_1 \right)$$&lt;/p&gt;&#xA;&lt;p&gt;其中 $\hat{v}_i = (\hat{v}_x, \hat{v}_y)$ 是预测速度，$v_i$ 是真实速度。&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;关键细节&lt;/strong&gt;：速度损失非常关键！因为预测出的速度会被存入 FIFO 队列，作为下一帧运动补偿的依据。如果速度预测不准，整个时序推理链条都会受影响。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-map-detection-loss地图构建损失&#34;&gt;🗺️ Map Detection Loss（地图构建损失）&#xA;&lt;/h3&gt;&lt;p&gt;Map Head 负责在线构建矢量地图，输出折线形式的地图元素。&lt;/p&gt;&#xA;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{map}} = \lambda&lt;/em&gt;{\text{cls}} \mathcal{L}&lt;em&gt;{\text{cls}} + \lambda&lt;/em&gt;{\text{pline}} \mathcal{L}_{\text{pline}}$$&lt;/p&gt;&#xA;&lt;h4 id=&#34;分类损失focal-loss-1&#34;&gt;分类损失：Focal Loss&#xA;&lt;/h4&gt;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{cls}} = -\sum&lt;/em&gt;{i} \alpha_{c} (1 - p_i)^{\gamma} \log(p_i)$$&lt;/p&gt;&#xA;&lt;p&gt;区分车道线、路面边界、斑马线、红绿灯等地图元素类型。&lt;/p&gt;&#xA;&lt;h4 id=&#34;折线回归损失&#34;&gt;折线回归损失&#xA;&lt;/h4&gt;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{pline}} = \sum&lt;/em&gt;{i \in \mathcal{M}} \sum_{j=1}^{N_{pts}} | \hat{p}&lt;em&gt;{i,j} - p&lt;/em&gt;{i,j} |_1$$&lt;/p&gt;&#xA;&lt;p&gt;其中：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$N_{pts}$：每条折线的点数&lt;/li&gt;&#xA;&lt;li&gt;$\hat{p}_{i,j} = (x, y, z)$：预测的第 $i$ 条折线上第 $j$ 个点的坐标&lt;/li&gt;&#xA;&lt;li&gt;$p_{i,j}$：真实的坐标点&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;设计要点&lt;/strong&gt;：折线回归采用的是点级别的 L1 损失，每个折线点都需要精准定位。这保证了地图元素的几何精度，对后续规划至关重要。同一条折线上的不同点在训练时独立计算损失，实现了细粒度的监督。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-motion-prediction-loss运动预测损失&#34;&gt;🔮 Motion Prediction Loss（运动预测损失）&#xA;&lt;/h3&gt;&lt;p&gt;Agent Head 还需要预测周围物体的未来运动轨迹。&lt;/p&gt;&#xA;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{motion}} = \sum&lt;/em&gt;{i \in \mathcal{M}} \sum_{t=1}^{T} | \hat{traj}&lt;em&gt;{i,t} - traj&lt;/em&gt;{i,t} |_1$$&lt;/p&gt;&#xA;&lt;p&gt;其中：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$T$：预测的未来时间步数（如 12 步，对应 3 秒 @ 4Hz）&lt;/li&gt;&#xA;&lt;li&gt;$\hat{traj}_{i,t} = (\Delta x_t, \Delta y_t)$：第 $i$ 个物体在第 $t$ 步的&lt;strong&gt;相对位移&lt;/strong&gt;（局部坐标系）&lt;/li&gt;&#xA;&lt;li&gt;$traj_{i,t}$：真实的相对位移&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;隐藏细节&lt;/strong&gt;：轨迹预测采用&lt;strong&gt;局部坐标系&lt;/strong&gt;——以被预测物体当前位置为原点。这样做的好处是：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;把&amp;quot;检测&amp;quot;（物体在哪）和&amp;quot;预测&amp;quot;（物体往哪走）解耦&lt;/li&gt;&#xA;&lt;li&gt;降低学习难度，提高训练稳定性&lt;/li&gt;&#xA;&lt;li&gt;物体的绝对位置变化不会影响轨迹预测的学习&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-planning-loss规划损失&#34;&gt;🏎️ Planning Loss（规划损失）&#xA;&lt;/h3&gt;&lt;p&gt;Planning Head 输出自车未来应该行驶的轨迹路点。&lt;/p&gt;&#xA;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{plan}} = \sum&lt;/em&gt;{t=1}^{T} | \hat{wp}_t - wp_t |_1$$&lt;/p&gt;&#xA;&lt;p&gt;其中：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$T$：规划的未来时间步数&lt;/li&gt;&#xA;&lt;li&gt;$\hat{wp}_t = (x_t, y_t)$：第 $t$ 步的预测路点（自车坐标系）&lt;/li&gt;&#xA;&lt;li&gt;$wp_t$：真实的路点位置&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;设计哲学&lt;/strong&gt;：规划损失直接监督最终输出，让整个网络为&amp;quot;开得好&amp;quot;而学习。所有感知和预测任务都通过梯度反向传播，间接服务于规划目标——这就是端到端的核心魅力！&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;坐标系选择&lt;/strong&gt;：规划路点通常在&lt;strong&gt;自车坐标系&lt;/strong&gt;下定义，以当前自车位置为原点。这保证了规划的连续性——无论自车在世界坐标系中走到哪里，规划输出始终是&amp;quot;前方 X 米、左/右 Y 米&amp;quot;的相对描述。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-hungarian-matching匈牙利匹配&#34;&gt;🔄 Hungarian Matching（匈牙利匹配）&#xA;&lt;/h3&gt;&lt;p&gt;在 DETR 范式中，每个探针（Query）需要和一个真实的 Ground Truth 物体进行匹配。DriveTransformer 使用 &lt;strong&gt;匈牙利算法（Hungarian Matching）&lt;/strong&gt; 完成这一任务。&lt;/p&gt;&#xA;&lt;h4 id=&#34;匹配代价函数&#34;&gt;匹配代价函数&#xA;&lt;/h4&gt;&lt;p&gt;$$\mathcal{C}&lt;em&gt;{\text{match}}(\hat{y}, y) = \lambda&lt;/em&gt;{\text{cls}} \mathcal{C}&lt;em&gt;{\text{cls}} + \lambda&lt;/em&gt;{\text{box}} \mathcal{C}&lt;em&gt;{\text{box}} + \lambda&lt;/em&gt;{\text{vel}} \mathcal{C}&lt;em&gt;{\text{vel}} + \lambda&lt;/em&gt;{\text{motion}} \mathcal{C}_{\text{motion}}$$&lt;/p&gt;&#xA;&lt;p&gt;其中各代价项定义：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;代价项&lt;/th&gt;&#xA;          &lt;th&gt;公式&lt;/th&gt;&#xA;          &lt;th&gt;说明&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;$\mathcal{C}_{\text{cls}}$&lt;/td&gt;&#xA;          &lt;td&gt;$-\log(p_{\text{gt_class}})$&lt;/td&gt;&#xA;          &lt;td&gt;分类代价，预测为 GT 类别的概率越高，代价越低&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;$\mathcal{C}_{\text{box}}$&lt;/td&gt;&#xA;          &lt;td&gt;$|\hat{b} - b|_1$&lt;/td&gt;&#xA;          &lt;td&gt;边界框代价，预测框与 GT 框的距离&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;$\mathcal{C}_{\text{vel}}$&lt;/td&gt;&#xA;          &lt;td&gt;$|\hat{v} - v|_1$&lt;/td&gt;&#xA;          &lt;td&gt;速度代价，预测速度与真实速度的差异&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;$\mathcal{C}_{\text{motion}}$&lt;/td&gt;&#xA;          &lt;td&gt;$|\hat{traj} - traj|_1$&lt;/td&gt;&#xA;          &lt;td&gt;轨迹代价，预测轨迹与真实轨迹的差异&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h4 id=&#34;最优匹配求解&#34;&gt;最优匹配求解&#xA;&lt;/h4&gt;&lt;p&gt;$$\hat{\sigma} = \arg\min_{\sigma \in \mathfrak{S}&lt;em&gt;N} \sum&lt;/em&gt;{i=1}^{N} \mathcal{C}_{\text{match}}(\hat{y}&lt;em&gt;i, y&lt;/em&gt;{\sigma(i)})$$&lt;/p&gt;&#xA;&lt;p&gt;其中：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathfrak{S}_N$ 是所有可能匹配方案的集合&lt;/li&gt;&#xA;&lt;li&gt;$\sigma$ 是匹配函数，将第 $i$ 个探针映射到第 $\sigma(i)$ 个 GT 物体&lt;/li&gt;&#xA;&lt;li&gt;$\hat{y}_i$ 是第 $i$ 个探针的预测输出&lt;/li&gt;&#xA;&lt;li&gt;$y_{\sigma(i)}$ 是匹配到的 GT 物体&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;生动比喻&lt;/strong&gt;：匈牙利匹配就像是&amp;quot;相亲大会&amp;quot;，每个探针（单身男士）都要找到一个最合适的 GT 物体（单身女士）。匹配代价就是&amp;quot;相处成本&amp;quot;，算法的目标是找到让总成本最低的配对方案——这就是经典的&amp;quot;二分图最优匹配&amp;quot;问题。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-deep-supervision深层监督&#34;&gt;📊 Deep Supervision（深层监督）&#xA;&lt;/h3&gt;&lt;p&gt;DriveTransformer 在每一层 Transformer Block 后都挂了任务头，实现了 &lt;strong&gt;深层监督&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;每一层都输出预测&lt;/strong&gt;：第 1 层、第 2 层&amp;hellip;第 6 层都要输出检测结果&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;每一层都计算损失&lt;/strong&gt;：所有层的预测都与 GT 匹配并计算损失&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;总损失汇总&lt;/strong&gt;：&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;$$\mathcal{L}&lt;em&gt;{\text{total}} = \sum&lt;/em&gt;{l=1}^{L} \mathcal{L}^{(l)}$$&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;优势&lt;/strong&gt;：深层监督逼迫网络从第一层就开始&amp;quot;干活&amp;quot;，而不是等到最后一层才输出有意义的结果。这大大加速了训练收敛，提高了模型的优化效率。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;-loss-权重配置&#34;&gt;⚖️ Loss 权重配置&#xA;&lt;/h3&gt;&lt;p&gt;论文中各损失的权重配置（参考 DETR 和 UniAD 的惯例）：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;损失类型&lt;/th&gt;&#xA;          &lt;th&gt;权重符号&lt;/th&gt;&#xA;          &lt;th&gt;典型数值&lt;/th&gt;&#xA;          &lt;th&gt;作用&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Agent Classification&lt;/td&gt;&#xA;          &lt;td&gt;$\lambda_{\text{cls}}$&lt;/td&gt;&#xA;          &lt;td&gt;2.0&lt;/td&gt;&#xA;          &lt;td&gt;分类是基础任务&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Agent Box&lt;/td&gt;&#xA;          &lt;td&gt;$\lambda_{\text{box}}$&lt;/td&gt;&#xA;          &lt;td&gt;5.0 / 0.1&lt;/td&gt;&#xA;          &lt;td&gt;边界框定位精度要求高&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Agent Velocity&lt;/td&gt;&#xA;          &lt;td&gt;$\lambda_{\text{vel}}$&lt;/td&gt;&#xA;          &lt;td&gt;1.0&lt;/td&gt;&#xA;          &lt;td&gt;速度影响时序推理&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Map Classification&lt;/td&gt;&#xA;          &lt;td&gt;$\lambda_{\text{map_cls}}$&lt;/td&gt;&#xA;          &lt;td&gt;2.0&lt;/td&gt;&#xA;          &lt;td&gt;地图元素分类&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Map Polyline&lt;/td&gt;&#xA;          &lt;td&gt;$\lambda_{\text{pline}}$&lt;/td&gt;&#xA;          &lt;td&gt;1.0&lt;/td&gt;&#xA;          &lt;td&gt;折线点位精度&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Motion Trajectory&lt;/td&gt;&#xA;          &lt;td&gt;$\lambda_{\text{motion}}$&lt;/td&gt;&#xA;          &lt;td&gt;1.0&lt;/td&gt;&#xA;          &lt;td&gt;预测轨迹精度&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Planning&lt;/td&gt;&#xA;          &lt;td&gt;$\lambda_{\text{plan}}$&lt;/td&gt;&#xA;          &lt;td&gt;1.0&lt;/td&gt;&#xA;          &lt;td&gt;最终驾驶目标&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;权重设计原则&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;分类权重较高（Focal Loss 已内置类别平衡）&lt;/li&gt;&#xA;&lt;li&gt;边界框权重分层配置（位置 5.0，尺寸/角度 0.1）&lt;/li&gt;&#xA;&lt;li&gt;规划权重适中，避免过度约束感知任务&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;训练策略&lt;/strong&gt;：所有任务从头开始联合训练，不需要分阶段预训练感知模块。这证明了 DriveTransformer 架构设计的优雅性——任务并行、统一优化。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;九完整流程的-python-伪代码&#34;&gt;九、完整流程的 Python 伪代码&#xA;&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DriveTransformer&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, num_layers&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;, history_k&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;backbone &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; VisionBackbone(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;EVA02-CLIP-L&amp;#34;&lt;/span&gt;)  &lt;span style=&#34;color:#75715e&#34;&gt;# 强大的眼睛&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layers &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; ModuleList([TransformerLayer() &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; _ &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; range(num_layers)])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fifo_queue &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; FIFOQueue(max_size&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;history_k)  &lt;span style=&#34;color:#75715e&#34;&gt;# 历史记忆背包&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 定义三种初始探针（Queries）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;agent_queries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Embedding(&lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;256&lt;/span&gt;)  &lt;span style=&#34;color:#75715e&#34;&gt;# 智能体：看别人&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;map_queries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Embedding(&lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;256&lt;/span&gt;)    &lt;span style=&#34;color:#75715e&#34;&gt;# 地图：看路&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ego_query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Embedding(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;256&lt;/span&gt;)        &lt;span style=&#34;color:#75715e&#34;&gt;# 规划：看自己&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;forward&lt;/span&gt;(self, multi_view_images, ego_motion):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        multi_view_images: 当前时刻 6 路摄像头画面&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        ego_motion: 自车从上一帧到这一帧的位移和旋转矩阵&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 1. 提取视觉特征（Raw Sensor Features）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        image_features &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;backbone(multi_view_images)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 2. 时序魔法：从 FIFO 队列提取并补偿历史探针&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        history_queries, history_pe, history_vel &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fifo_queue&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;get()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# A. 自车运动补偿 (Ego Transform)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        aligned_history_pe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; apply_ego_transform(history_pe, ego_motion)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# B. 智能体运动补偿 (Agent Motion Compensation)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        dt &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;10.0&lt;/span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# 假设 10Hz&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        displacement &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; history_vel &lt;span style=&#34;color:#f92672&#34;&gt;*&lt;/span&gt; dt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        compensated_history_pe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;motion_mlp(aligned_history_pe, displacement)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 3. 准备当前帧的初始探针&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        curr_queries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; concat([self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;agent_queries, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;map_queries, self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ego_query])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        curr_pe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;initialize_pe()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 4. 核心：Transformer 循环层 (任务并行 + 统一注意力)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; layer &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;layers:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# (1) Task Self-Attention: 探针之间&amp;#34;圆桌会议&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            curr_queries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; layer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;self_attn(curr_queries)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# (2) Sensor Cross-Attention: 探针去原始画面里&amp;#34;对图&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            curr_queries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; layer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sensor_cross_attn(curr_queries, image_features)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# (3) Temporal Cross-Attention: 向历史探针&amp;#34;取经&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            curr_queries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; layer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;temp_cross_attn(curr_queries, compensated_history_pe, history_queries)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;# (4) 动态位置更新：DETR 头的深度监督与反馈&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            temp_preds &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; layer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;task_heads(curr_queries)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            curr_pe &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; layer&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;update_pe(temp_preds)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 5. 任务头输出最终结果 (DETR Style)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        final_results &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;detection&amp;#34;&lt;/span&gt;: self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;agent_head&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict_box(curr_queries[:&lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;]),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;prediction&amp;#34;&lt;/span&gt;: self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;agent_head&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict_trajectory(curr_queries[:&lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;]),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;map&amp;#34;&lt;/span&gt;: self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;map_head&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict_lines(curr_queries[&lt;span style=&#34;color:#ae81ff&#34;&gt;900&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;]),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;planning&amp;#34;&lt;/span&gt;: self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ego_head&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;predict_waypoints(curr_queries[&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 6. 更新记忆背包 (FIFO Update)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        top_k_queries &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; select_top_k(curr_queries, final_results[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;detection&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;scores)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;fifo_queue&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;put(top_k_queries, curr_pe_of_top_k, final_results[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;detection&amp;#34;&lt;/span&gt;]&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;velocity)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; final_results&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h3 id=&#34;时序交叉注意力的详细实现&#34;&gt;时序交叉注意力的详细实现&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;TemporalCrossAttention&lt;/span&gt;(nn&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;Module):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;(self, embed_dims&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;256&lt;/span&gt;, num_heads&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt;):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        super()&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;__init__&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mha &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; MultiheadAttention(embed_dims, num_heads)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;norm &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LayerNorm(embed_dims)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dropout &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Dropout(&lt;span style=&#34;color:#ae81ff&#34;&gt;0.1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;def&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;forward&lt;/span&gt;(self, curr_queries, curr_pe, hist_queries, compensated_hist_pe):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        curr_queries:          当前帧正在进化的探针特征 [N, C]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        curr_pe:               当前帧探针的位置编码 [N, C]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        hist_queries:          从 FIFO 队列取出的历史探针特征 [K, C] (Top-K)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        compensated_hist_pe:   经过运动补偿后的历史位置编码 [K, C]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;        &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 1. 准备 Query （这里用了临时变量q，所以curr_queries没有融合pe）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        q &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; curr_queries &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; curr_pe&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 2. 准备 Key &amp;amp; Value (来自历史)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        k &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; hist_queries &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; compensated_hist_pe&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        v &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; hist_queries  &lt;span style=&#34;color:#75715e&#34;&gt;# Value 使用原始历史特征，保留纯粹的语义信息&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 3. 执行多头交叉注意力计算&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        temporal_feat, attn_weights &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;mha(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            query&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;q&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;unsqueeze(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            key&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;k&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;unsqueeze(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            value&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;v&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;unsqueeze(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# 4. 残差连接与层归一化&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        out &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; curr_queries &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;dropout(temporal_feat&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;squeeze(&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        out &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; self&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;norm(out)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; out&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;十实验结果&#34;&gt;十、实验结果&#xA;&lt;/h2&gt;&lt;h3 id=&#34;封闭环路虚拟仿真bench2drive-carla-v09151&#34;&gt;封闭环路虚拟仿真：Bench2Drive (CARLA v0.9.15.1)&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;配置&lt;/th&gt;&#xA;          &lt;th&gt;详情&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;训练数据&lt;/td&gt;&#xA;          &lt;td&gt;基于官方 1000 个片段&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;测试路线&lt;/td&gt;&#xA;          &lt;td&gt;220 条路线（含 Dev10 子集）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;历史队列长度&lt;/td&gt;&#xA;          &lt;td&gt;$T=10$（10Hz 下的 1 秒钟）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;战绩&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Driving Score 最高可达 63.46&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Success Rate 35.01%&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;大大降低了碰撞率&lt;/li&gt;&#xA;&lt;li&gt;在传感器失效或长尾场景时，鲁棒性远超对手&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;开放环路真实世界nuscenes-数据集&#34;&gt;开放环路真实世界：nuScenes 数据集&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;配置&lt;/th&gt;&#xA;          &lt;th&gt;详情&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;数据类型&lt;/td&gt;&#xA;          &lt;td&gt;真实世界的高清摄像头数据&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;历史队列长度&lt;/td&gt;&#xA;          &lt;td&gt;$T=4$（2Hz 下的 2 秒钟）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;战绩&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;展现极高竞争力的 L2 规划误差&lt;/li&gt;&#xA;&lt;li&gt;没有使用任何&amp;quot;刷榜作弊&amp;quot;手段（不依赖 Ego-status 偷鸡）&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;效率与扩展性&#34;&gt;效率与扩展性&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;Backbone&lt;/th&gt;&#xA;          &lt;th&gt;性能影响&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;ResNet50 → ResNet101 → &lt;strong&gt;EVA02-CLIP-L&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;模型越大，规划能力越强&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;输入分辨率最高 (384, 1056)&lt;/td&gt;&#xA;          &lt;td&gt;超高清视觉输入&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;strong&gt;推理速度&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;DriveTransformer-Large 延迟低至 &lt;strong&gt;211.7 毫秒&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;轻松满足自动驾驶实时性需求&lt;/li&gt;&#xA;&lt;li&gt;高 FPS，丝滑流畅&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;十一总结与未来展望&#34;&gt;十一、总结与未来展望&#xA;&lt;/h2&gt;&lt;p&gt;DriveTransformer 就像是用&amp;quot;奥卡姆剃刀&amp;quot;剔除了自动驾驶中所有不必要的赘肉：&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;&lt;strong&gt;任务并行 + 稀疏表示 + 流式时序处理&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;用最优雅的 Transformer 语言统一了检测、地图构建、运动预测和路径规划。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;核心优势总结&#34;&gt;核心优势总结&#xA;&lt;/h3&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;特性&lt;/th&gt;&#xA;          &lt;th&gt;说明&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;不依赖&amp;quot;专家提点&amp;quot;&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;纯正端到端框架&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;不依赖&amp;quot;前置任务预训练&amp;quot;&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;一体化训练，一气呵成&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;训练稳定性大幅飙升&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;消除层级带来的误差累积&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;深不可测的 Scaling Law 潜力&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;模型越大，性能越强&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;hr&gt;&#xA;&lt;h3 id=&#34;未来方向&#34;&gt;未来方向&#xA;&lt;/h3&gt;&lt;p&gt;可以预见，未来的自动驾驶将越来越像 DriveTransformer 这样——&lt;strong&gt;聪明、敏捷、一气呵成！&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;可能的演进方向：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;引入 Occupancy Network 作为稀疏探针的兜底方案&lt;/li&gt;&#xA;&lt;li&gt;更强大的视觉 Backbone&lt;/li&gt;&#xA;&lt;li&gt;更长的时序历史处理能力&lt;/li&gt;&#xA;&lt;li&gt;与世界模型的结合&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;这就是 DriveTransformer 的全部奥秘！它用一支训练有素、协同作战的&amp;quot;赛车突击队&amp;quot;，展示了端到端自动驾驶的新范式。🏎️💨&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
