作者 | william 编辑 | 自动驾驶之心
原文链接:https://zhuanlan.zhihu.com/p/14282858208
点击下方
卡片
,关注“
自动驾驶之心
”公众号
>>
点击进入→
自动驾驶之心
『
端到端
』
技术交流群
本文只做学术分享,如有侵权,联系删文
文章是24年11月上传到arxiv的,https://arxiv.org/pdf/2410.23262v2
背景
EMMA是waymo最新发布的基于MLLM的端到端自动驾驶模型架构,全称是End-to-End Multimodal Model for Autonomous Driving,它是把自动驾驶任务当成一个visual question answering (VQA)问题,基于MLLM把输入和输出都用自然语言文本来表述。
之前的自动驾驶架构都是模块化的,分为Perception,Mapping,Prediction,以及Planning。模块化架构的优点是更易于调试和单模块优化,缺点也很明显,就是模块间的累积误差和模块间的有限通信导致scalability受限;而且对于新场景的适应性差。为了解决模块化架构的缺陷,端到端架构被提出来,能够从sensor data学习生成驾驶行为;但当前的端到端系统是为特定driving task训练的,而且训练数据有限,对于rare or novel场景处理不好。因此,MLLM是自动驾驶领域的新范式,它可以(1)训练数据足够大,有world knowledge,(2)可以加上Chain-of-Thought reasoning,(3)可以用task-specific prompts基于driving logs做微调。
EMMA的模型架构
EMMA的架构如下图所示。
EMMA架构
EMMA输入:
来自的router的high-level driving commands,即左转、右转、直行等 (是plain text),
historical context 以及ego vehicle status (也是plain text).
EMMA输出:
planning的自车未来trajectories (way points),
rationale的解释(用CoT提升了模型的performance和explainability)
perception objects (3D或是BEV location),
EMMA的优点:
端到端motion planning表现较好,在nuScenes上sota,在WOMD上获得competitive results;
在感知任务比如3D OD、road graph estimation和scene understanding,在WOD上表现sota;
EMMA可以作为自动驾驶领域的通才模型generalist model;
EMMA能够在复杂常委的驾驶场景中reason and make decisions.
EMMA的不足:
3D空间推理能力较弱,仅仅能处理图片帧,并没有考虑精准的3D感知模态比如LiDAR or radar;
需要实际的且计算量大的sensor simulation来加强closed-loop evaluation;
EMMA的组成部分
1.端到端Motion Planning
端到端模型公式表示
其中g是Gemini模型,V是周边的Images,
是自然语言形式的自车历史状态,
表示自车过去时刻在BEV空间下的waypoint坐标,
是router给的方向左转、右转、直行等,
={(
,
)}是未来时刻的waypoint坐标点,也是自然语言形式。
这个公式的3个特点是:(1)自监督,(2)sensor input只有cameras,(3)不需要HD map,只需要high-level的router方向。
2.基于CoT推理的Planning
在Gemini模型中使用MLLM的有用工具CoT prompting,CoT的工作方式是asking模型明确表达决策的逻辑依据。
本文将driving rationale分层结构化,具体处理包括以下四类信息(由于非常重要,直接截图便于理解):
CoT的逻辑依据示例
注意,以上rationale的文本描述是自动生成的,不需要人工标注;此外R2 Critical objects也是用现成的感知预测模型。最终得到的端到端模型公式如下图。
端到端模型公式表示(加上推理逻辑)
3. EMMA通才模型训练
本文基于Gemini做了一些instruction tuning,用task-specific的prompts联合训练所有的任务,具体包括三类任务:spatial reasoning,road graph estimation,以及scene understanding,整个通才范式示意如下图。
EMMA通才Diagram示意图(从左侧task promt输出右侧的text prediction)
Spatial reasoning
这个任务就是3D目标检测,用的是Pix2Seq,将输入图片转化为文本表示的3D bbox,即
=g(
,V)。其中
是detection task的固定prompt,比如上图左侧的"detect every object in 3D";
的表示形式是即set{text(x,y,z,l,w,h,
,cls)}
Road graph estimation
这个任务是识别出道路元素包括语义元素(比如lane markings, signs)和物理属性(比如lane curvature)。Road-graph是由许多polyline segments组成的,计算polyline也有很多现有的模型,比如StreamMapnet。用EMMA表示任务就是
=g(
,V)。
是文本形式的waypoints来表示road graph,并且这个点是有顺序的,即{(
,
and...and
,
);((
,
and...and
,