【论文翻译】OpenEMMA: Open-Source Multimodal Model for End-to-End Autonomous Driving—用于端到端自动驾驶的开源多模态模型
文章目录
摘要
自多模态大语言模型(MLLMs)问世以来,它们已在广泛的现实世界应用中产生了重大影响,尤其是在自动驾驶(AD)领域。它们处理复杂视觉数据和推理错综复杂的驾驶场景的能力,为端到端自动驾驶系统的新范式铺平了道路。然而,开发用于自动驾驶的端到端模型的进展一直很缓慢,因为现有的微调方法需要大量资源,包括强大的计算能力、大规模数据集和巨额资金。受近期推理计算领域进展的启发,我们提出了 OpenEMMA,一个基于 MLLMs 的开源端到端框架。通过引入思维链推理过程,当利用各种不同的 MLLMs 时,OpenEMMA 相比基线模型取得了显著的改进。此外,OpenEMMA 在各种具有挑战性的驾驶场景中展示了其有效性、泛化性和鲁棒性,为自动驾驶提供了一种更高效、更有效的方法。我们在 https://github.com/taco-group/OpenEMMA 上发布了所有代码。
1 引言
近年来,在人工智能、传感器技术和高性能计算发展的推动下,自动驾驶(AD)技术发展迅速[1-4]。然而,以不可预测的道路使用者、动态的交通模式和多样的环境条件为特征的真实世界场景带来了巨大的挑战。解决这些复杂问题需要复杂的推理能力,使自动驾驶系统能够理解上下文信息、预测用户意图并做出准确的实时决策。传统上,自动驾驶架构采用模块化方法,由专门的组件处理不同的方面,如感知[5-9]、建图[6, 10]、预测[11, 12]和规划[13]。然而,尽管这种划分有助于调试和优化单个模块,但由于模块间的通信错误以及难以适应新的或不可预见条件的僵化、预定义接口,它常常导致可扩展性问题[14, 15, 11, 16]。
近期的进展见证了端到端系统的发展,这些系统直接从传感器输入中学习驾驶行为,绕过了对符号接口的需求,并允许进行整体优化[17-19]。然而,这些系统通常高度专业化,并在狭窄的数据集上进行训练,难以在多样化和复杂的真实世界场景中有效泛化。这正是多模态大语言模型(MLLMs)发挥作用的地方,它们通过在包含全面世界知识的广泛数据集上进行训练,并借助思维链推理等机制[20]具备了高级推理能力,从而提供了一种变革性的方法。Waymo专有的EMMA模型[1]建立在谷歌的Gemini之上,体现了这一趋势,展示了在整合感知、决策和导航方面的重大进展。然而,EMMA的封闭性限制了更广泛研究社区的访问和实验。
为了解决像EMMA这样的闭源模型的局限性,我们引入了OpenEMMA,这是一个开源的端到端自动驾驶框架,旨在使用公开可用的工具和模型来复制EMMA的核心功能。Open-EMMA旨在使这些先进技术的获取大众化,为更广泛的研究和开发提供一个平台。与EMMA[1]类似,OpenEMMA处理前置摄像头图像和文本形式的历史自车状态作为输入。驾驶任务被构建为视觉问答(VQA)问题,并采用思维链推理来引导模型生成对关键对象的详细描述、行为洞察和元驾驶决策。这些决策由模型自身直接推断,为航点生成提供必要的上下文。为了减轻MLLMs在目标检测任务中已知的局限性,Open-EMMA集成了一个经过微调的YOLO版本,该版本专门针对自动驾驶场景中的3D边界框预测进行了优化,从而显著提高了检测精度。此外,通过利用MLLM预先存在的知识,OpenEMMA可以为场景理解等感知任务生成可解释的、人类可读的输出,从而提高透明度和可用性。完整的流程和支持的任务如图1所示。
我们将我们的主要贡献总结如下:
- 我们介绍了OpenEMMA,一个用于自动驾驶的开源端到端多模态模型,它利用现有的开源模块和预训练的MLLMs来复制EMMA在轨迹规划和感知方面的功能。
- 然后,我们在nuScenes数据集[21]的验证集上进行了广泛的实验,评估了OpenEMMA在多种MLLMs选择下在端到端轨迹规划中的性能,展示了其有效性和适应性。
- 最后,我们在 https://github.com/dummy4submission/OpenEMMA 上完全发布了OpenEMMA中使用的代码库、数据集和模型权重,供研究社区利用、完善和扩展该框架,从而推动自动驾驶技术的进一步发展。

2 方法论
我们开发了OpenEMMA,一个基于预训练MLLMs L的计算高效的端到端自动驾驶系统,如图1所示,它以历史驾驶状态T和视觉驾驶场景I为输入,预测未来轨迹P,并检测交通参与者。
2.1 使用思维链的端到端规划
我们利用预训练MLLMs [22-25] 的强大能力,遵循类似于[1]中基于指令的方法,将思维链推理过程集成到端到端轨迹规划过程中。因为MLLMs是用人类可解释的知识进行训练的,所以我们提示我们的MLLMs也产生人类可解释的知识。因此,与以往直接在局部坐标系中生成轨迹的预测方法[11, 3, 26]不同,我们转而生成两个中间表示:速度向量 S = { s t } S = \{s_t\} S={st},表示车辆速度的大小;以及曲率向量 K = { k t } K = \{k_t\} K={kt},表示车辆的转弯率。这些表示旨在反映人类的驾驶方式:速度代表油门踏板应踩下的程度,而曲率则代表方向盘应转动的幅度。
给定速度和曲率向量,我们首先通过曲率和速度的乘积来积分计算每个时间步的航向角
θ
t
\theta_t
θt:
θ
t
=
θ
t
−
1
+
∫
t
−
1
t
k
(
τ
)
s
(
τ
)
d
τ
,
\theta_t = \theta_{t-1} + \int_{t-1}^{t} k(\tau)s(\tau) d\tau,
θt=θt−1+∫t−1tk(τ)s(τ)dτ,
然后我们可以计算出x和y方向的速度分量为:
v
x
(
t
)
=
s
t
cos
(
θ
t
)
,
v
y
(
t
)
=
s
t
sin
(
θ
t
)
.
v_x(t) = s_t \cos(\theta_t), v_y(t) = s_t \sin(\theta_t).
vx(t)=stcos(θt),vy(t)=stsin(θt).
因此,通过对速度分量进行积分,可以计算出在自车坐标系中的最终轨迹:
x
t
=
x
t
−
1
+
∫
t
−
1
t
v
x
(
τ
)
d
τ
,
x_t = x_{t-1} + \int_{t-1}^{t} v_x(\tau) d\tau,
xt=xt−1+∫t−1tvx(τ)dτ,
y
t
=
y
t
−
1
+
∫
t
−
1
t
v
y
(
τ
)
d
τ
,
y_t = y_{t-1} + \int_{t-1}^{t} v_y(\tau) d\tau,
yt=yt−1+∫t−1tvy(τ)dτ,
其中初始位置
(
x
0
,
y
0
)
(x_0, y_0)
(x0,y0)作为输入提供。此外,对于数值积分,应用以下累积梯形法则:
θ
t
≈
θ
0
+
∑
i
=
1
t
k
i
s
i
Δ
t
,
\theta_t \approx \theta_0 + \sum_{i=1}^{t} k_i s_i \Delta t,
θt≈θ0+∑i=1tkisiΔt,
x
t
≈
x
0
+
∑
i
=
1
t
v
x
(
i
)
Δ
t
,
x_t \approx x_0 + \sum_{i=1}^{t} v_x(i) \Delta t,
xt≈x0+∑i=1tvx(i)Δt,
y
t
≈
y
0
+
∑
i
=
1
t
v
y
(
i
)
Δ
t
,
y_t \approx y_0 + \sum_{i=1}^{t} v_y(i) \Delta t,
yt≈y0+∑i=1tvy(i)Δt,
其中
Δ
t
\Delta t
Δt是时间步长。
这种方法通过将轨迹生成任务分解为反映驾驶过程的人类可解释的组件,为规划提供了一条鲁棒且可解释的路径。
阶段1:推理:首先,我们将驾驶场景的前置摄像头图像和自车的历史数据(过去5秒的速度和曲率)作为输入提供给预训练的MLLMs。随后,我们设计特定于任务的提示,以引导MLLMs对当前自车驾驶场景生成全面的推理,涵盖以下几个方面:
- 意图指令:根据当前场景清晰阐述自车的意图动作,例如是继续沿车道左转、右转还是直行。此外,它还指明车辆应保持当前速度、减速还是加速。
- 场景描述:根据交通信号灯、其他车辆或行人的移动以及车道线,对驾驶场景进行简明描述。
- 主要对象:识别自车驾驶员应注意的道路使用者,并指明其在驾驶场景图像中的位置。对于每个道路使用者,提供对其当前行为的简要描述,并解释为什么他们的存在对自车的决策过程很重要。
阶段2:预测:通过结合思维链推理过程和历史自车状态,提示MLLMs生成未来T秒的速度 S = { s t } t = 0 T S = \{s_t\}_{t=0}^T S={st}t=0T和曲率 C = { c t } t = 0 T C = \{c_t\}_{t=0}^T C={ct}t=0T(2T个轨迹点)。然后对这些预测进行积分,以计算最终轨迹 T = { x t , y t } t = 0 T T = \{x_t, y_t\}_{t=0}^T T={xt,yt}t=0T。
2.2 由视觉专用模型增强的目标检测
自动驾驶中的一项关键任务是检测道路上物体的3D边界框。我们观察到,由于空间推理能力的限制,现成的预训练MLLMs难以提供高质量的检测结果。为了克服这一挑战并在无需对MLLM进行额外微调的情况下实现高检测精度,我们将一个外部的、视觉专用的模型集成到OpenEMMA中,从而有效地解决了检测任务。
我们提出的OpenEMMA仅使用前置摄像头进行目标检测,并且处理来自单个帧的数据,而非连续帧序列。这将该任务置于基于单目摄像头的3D目标检测的范畴内。该领域的研究通常分为两类:深度辅助方法[27-29]和仅图像方法[30-33]。深度辅助方法预测深度信息以辅助检测,而仅图像方法仅依赖RGB数据进行直接预测。在这些方法中,我们选择了YOLO3D[30],因为它结合了可靠的精度、高质量的开源实现和轻量级架构,从而能够进行高效的微调和实际集成。
YOLO3D是一种两阶段3D目标检测方法,它强制执行2D-3D边界框一致性约束。具体来说,它假设每个3D边界框都紧密地包裹在其对应的2D边界框内。该方法首先预测2D边界框,随后估计每个检测到的物体的3D尺寸和局部方向。3D边界框的七个参数——中心位置 t x , t y , t z t_x, t_y, t_z tx,ty,tz,尺寸 d x , d y , d z d_x, d_y, d_z dx,dy,dz,以及偏航角 θ \theta θ——是基于2D边界框和3D估计联合计算的。
3 实验
在本节中,我们首先展示了为端到端轨迹规划进行的实验,利用了多种MLLMs来展示OpenEMMA的有效性。此外,我们提供了关于YOLO11n在自动驾驶场景中实现和应用的详细见解,强调了其在OpenEMMA框架内的无缝集成。最后,我们展示了突显OpenEMMA在应对具有挑战性的自动驾驶场景中能力的视觉结果,证明了其在不同条件下的鲁棒性和有效性。
3.1 端到端轨迹规划
设置 实验在nuScenes数据集[21]的验证集上进行,测试的模型包括GPT-4o [23]、LLaVA-1.6-Mistral-7B [24](为简洁起见,后文简称LLaVA-1.6)、Llama-3.2-11B-Vision-Instruct [22](为简洁起见,后文简称Llama-3.2)和Qwen2-VL-7B-Instruct [25](为简洁起见,后文简称Qwen2-VL)。作为比较,我们使用零样本方法作为基线,该方法仅依赖于历史自车状态和驾驶场景图像,不包含任何推理过程。此外,我们设置 T = 5 T = 5 T=5,提示MLLM预测未来5秒的轨迹。由于预算限制和案例研究中讨论的原因。
结果 表1总结了OpenEMMA在nuScenes数据集[21]的150个验证集场景中相对于真实轨迹的L2范数误差性能。此外,如果未来轨迹第一秒内的L2范数超过10,则认为预测失败,失败率也包含在表中。我们的主要发现如下:
与基于微调的方法(如[1]中提出的方法)相比,未经微调的MLLMs在端到端轨迹规划中的整体性能较差。这一结果是预料之中的,因为微调使模型能够更好地适应轨迹规划任务的特定需求和复杂性。OpenEMMA在L2范数误差和失败率方面均持续优于零样本基线,证明了思维链推理过程在理解和分析复杂真实世界驾驶场景中的有效性。值得注意的是,当使用LLaVA-1.6-Mistral-7B作为骨干网络时,OpenEMMA相比零样本基线有显著改进;当使用Llama3.2-11B-Vision-Instruct作为骨干网络时,在L2范数和失败率方面也有适度但明显的提升。然而,当使用Qwen2-VL-7B-Instruct时,OpenEMMA的L2范数误差高于零样本基线。这是因为OpenEMMA成功地为许多零样本基线失败的案例生成了预测。尽管有此改进,它在这些具有挑战性的场景中仍难以生成高质量的轨迹,导致L2范数误差总体增加。尽管如此,失败率的显著降低突显了OpenEMMA在处理困难情况时鲁棒性和能力的提高。

3.2 3D目标检测
我们的实现建立在开源代码库[34]之上,并进行了修改,将2D检测网络替换为YOLO11n[35]。YOLO11n在nuImages数据集[21]上进行了微调,图像下采样至640×360。我们加载了由ultralytics[35]提供的在COCO数据集上预训练的权重,并在单个RTX 4060Ti上对网络进行了300个周期的训练。批量大小选择为50,使用SGD优化器,学习率为0.01,动量为0.937,权重衰减为0.0005。学习率在训练结束时线性下降至0.0001。在第290个周期时达到最佳结果,mAP50等于0.60316。3D估计网络的权重保持不变,利用Yolo3D代码库的权重。图2展示了微调后的YOLO11n网络的2D边界框检测结果。3D边界框检测结果包含在主要演示视频中。
3.3 可视化
图3展示了来自各种具有挑战性的驾驶场景的三个视觉示例,突显了OpenEMMA在不同条件下的鲁棒性和有效性。在这些场景中,GPT-4o被用作骨干网络,不仅处理当前的驾驶场景,还处理过去5秒(10帧)的视觉输入。所有其他设置与3.1节中描述的保持一致。
图3a展示了在自车沿指定车道右转场景中OpenEMMA的性能。OpenEMMA展示了其准确检测道路上物体、规划平滑精确的轨迹以及遵守驾驶规则的能力,确保了安全高效地通过转弯。
图3b展示了OpenEMMA在一个潜在不安全驾驶场景中的可视化,其中一辆车从一个急转弯处突然进入当前车道。OpenEMMA迅速检测到风险因素并做出适当决策——刹车并保持安全距离,有效防止了潜在的碰撞。这个例子突显了OpenEMMA处理复杂驾驶情况的能力,展示了其在动态和不可预测环境中确保安全的强大推理能力。
图3c展示了OpenEMMA在夜间低光照条件下的性能。虽然OpenEMMA在这种具有挑战性的环境中偶尔会漏检某些物体,但它成功地识别并检测了对安全导航至关重要的关键物体。此外,它准确地理解了自车正在向左变道,并生成了精确的轨迹规划以有效地适应这一机动。这证明了OpenEMMA在处理能见度降低的复杂驾驶场景时的鲁棒性。

4 相关工作
端到端自动驾驶 自动驾驶领域的一个重要趋势是端到端系统的出现[36],这些系统通过在系统组件之间无缝传递特征表示来提高效率。这与传统方法形成对比,因为整个系统都针对驾驶任务进行了优化,通过共享骨干网络提高了计算效率和一致性。这些端到端方法可大致分为模仿学习和强化学习。在强化学习中,像Latent DRL [37]、Roach [38]和ASAP-RL [39]这样的模型优先增强决策能力。作为补充,像ScenarioNet [40]和TrafficGen [41]这样的模型则专注于生成多样化的驾驶场景,以提高系统在测试期间的鲁棒性。最近,MLLMs已被集成到自动驾驶系统中。例如,LMDrive [2]促进了自然语言交互和高级推理,实现了更直观的人车通信。Senna [42]通过将MLLMs与端到端系统相结合,将高层规划与低层轨迹预测解耦,从而更进一步。在这些发展的基础上,由Gemini驱动的EMMA [1]代表了向前迈出的重要一步。这个视觉语言模型将原始摄像头传感器数据转换为各种特定于驾驶的输出,包括规划器轨迹、感知到的物体和道路图元素,展示了MLLM集成在增强自动驾驶功能和效率方面的潜力。
用于自动驾驶的MLLM 多模态大语言模型(MLLMs)[43-45, 24, 22, 46, 25]将大语言模型(LLMs)[47-56]的能力扩展到了视觉领域。以其泛化性、推理能力和上下文理解能力而闻名的LLMs,为MLLMs的构建提供了基础。使MLLMs能够无缝处理文本和视觉信息的关键在于对齐视觉和文本嵌入。这是通过使用像CLIP [57]这样的视觉编码器,将图像块转换为与文本标记空间对齐的视觉标记来实现的,从而为全面的多模态理解开启了新的可能性。
MLLMs已广泛应用于现实世界场景,尤其是在自动驾驶领域。GPT-Driver [58]将规划器的输入和输出都转换为语言标记。通过利用GPT-3.5,它生成通过坐标位置的自然语言表示来描述的驾驶轨迹。DriveVLM [59]利用思维链(CoT)[20]进行高级空间推理和实时轨迹规划。RAG-Driver [60]引入了一种基于检索增强生成的MLLMs的新型上下文学习方法,增强了自动驾驶系统的泛化性和可解释性。Driving-with-LLMs [61]引入了一种新范式,通过两阶段预训练和微调方法,将对象级矢量化数值模态融合到LLMs中。DriveLM [4]通过利用图结构的视觉问答(VQA)来处理感知、预测和规划任务,开发了一个端到端的自动驾驶MLLM。
5 结论
在本文中,我们提出了OpenEMMA,一个基于多模态大语言模型的开源、计算高效的端到端自动驾驶框架。利用历史自车数据和前置摄像头捕捉的图像,OpenEMMA采用思维链推理过程来预测自车的未来速度和曲率,然后将其整合到轨迹规划过程中。此外,通过集成一个经过微调的外部视觉专用模型,OpenEMMA实现了对道路上3D物体的精确检测。此外,所提出的OpenEMMA框架相比零样本基线表现出显著改进,展示了其在各种具有挑战性的驾驶场景中的有效性、泛化性和鲁棒性。
6 局限性与未来工作
作为基于现成预训练模型开发端到端自动驾驶框架的第一步,我们在推理过程中仅加入了基本的思维链推理。虽然这是一种基础方法,但通过将更先进的推理时推理技术(如CoT-SC [62]和ToT [63])集成到框架中,仍有巨大的未开发潜力可以增强该框架,这可能会为自动驾驶带来更具实际效用的方法。
此外,由于当前MLLMs的对象定位能力有限,我们在OpenEMMA中集成了一个经过微调的YOLO模型来处理目标检测任务,而不是仅仅依赖MMLM自身的能力。虽然这种方法提供了一个实用的解决方案,但它突显了未来MLLMs需要取得进展,以弥合在空间推理和定位精度方面的差距。解决这些局限性对于实现一个真正统一的框架至关重要,该框架将利用MMLMs来完成自动驾驶中所有关键的感知和推理任务。
更多推荐


所有评论(0)