导读:

OpenEMMA,它是首个基于多模态大型语言模型的开源端到端框架。通过结合思维链推理过程,它在利用多种多模态大型语言模型时,相较于基线取得了显著改进。此外,它在各种具有挑战性的驾驶场景中展示了有效性、泛化能力和鲁棒性,提供了一种更高效、更有效的自动驾驶方法。

_论文地址:_https://arxiv.org/pdf/2412.15208

__论文源码:https://github.com/taco-group/OpenEMMA

自动驾驶(AD)技术的迅速发展得益于人工智能、传感器技术和高性能计算的进步。然而,现实世界中不可预测的道路使用者、动态交通模式和多样化环境条件给AD带来很多的挑战。应对这些复杂性需要复杂的推理能力,使自动驾驶系统能够理解上下文信息、预测用户意图并做出准确的实时决策。传统上,自动驾驶架构采用模块化方法,专门组件处理感知、地图绘制、预测和规划等不同方面。但是,尽管这种分隔有助于调试和优化各个模块,但由于模块间通信错误和僵化的预定义接口,往往导致可扩展性问题,这些接口难以适应新的或不可预见的条件。

另一方面,端到端系统直接从传感器输入中学习驾驶动作,绕过符号接口的需求,进行整体优化。然而,这些系统通常高度专业化,并在狭窄的数据集上训练,难以在多样和复杂的现实场景中有效泛化。同时,多模态大型语言模型(MLLMs)可以解决此类问题。它们通过在广泛数据集上的广泛训练,提供了新颖的方法,包括全面的世界知识和通过思维链推理等机制的高级推理能力。Waymo发布的EMMA模型就是这一趋势的典范,展示了在感知、决策和导航整合方面的重大进展。然而,EMMA是非开源的。

为了解决像EMMA这样的封闭源模型的局限性,作者推出了OpenEMMA,它是一个开源的端到端自动驾驶框架,旨在使用公开可用的工具和模型复制EMMA的核心功能。与EMMA类似,OpenEMMA处理前置摄像头图像和文本历史自我车辆状态作为输入。驾驶任务被框定为视觉问答(VQA)问题,采用思维链推理引导模型生成关键对象的详细描述、行为洞察和元驾驶决策。这些决策由模型本身直接推断,提供了生成路径点所需的重要上下文。为了缓解多模态大型语言模型在物体检测任务中的已知局限性,OpenEMMA还成了一个专门优化用于自动驾驶场景的3D边界框预测的YOLO微调版本,显著提高了检测准确性。此外,通过利用多模态大型语言模型的现有世界知识,OpenEMMA能够生成可解释的人类可读输出,用于场景理解等感知任务,从而提高透明度和可用性。完整的管道和支持的任务如图1所示。

▲图1 | OpenEMMA 框架概览

主要贡献如下:

  • 本文提出OpenEMMA,它是一个开源的端到端多模态模型,用于自动驾驶,利用现有的开源模块和预训练的多模态大型语言模型,复制EMMA在轨迹规划和感知方面的功能。

  • 它在nuScenes数据集的验证集上进行了广泛实验,评估OpenEMMA在端到端轨迹规划中的表现,展示了其有效性和适应性。

  • 还发布了在OpenEMMA中使用的代码库、数据集和模型权重,供研究社区利用、改进和扩展该框架,推动自动驾驶技术的进一步进展。

OpenEMMA是一个计算高效的端到端自动驾驶(AD)系统,基于预训练的多模态大语言模型(MLLMs),如图1所示,利用历史驾驶状态和视觉驾驶场景作为输入,预测未来轨迹,并检测交通参与者。

■2.1. CoT用于端到端轨迹规划

借助预训练的MLLMs的强大能力,本文将链式思维(Chain-of-Thought: CoT)推理过程整合到端到端的轨迹规划过程中。由于MLLMs是通过人类可解释的知识进行训练的,本文的MLLMs也生成人类可解释的知识。与之前直接在局部坐标中生成轨迹的方法不同,本文生成两个中间表示:速度向量,表示车辆速度的大小,以及曲率向量,表示车辆的转向速率。这些表示旨在反映人类驾驶的方式:速度表示油门应该踩多大,而曲率表示方向盘应该转动多少。

给定速度和曲率向量,首先通过速度和曲率的乘积在每个时间步整合航向角:

然后,可以计算x和y方向的速度分量:

因此,最终在自我坐标系中的轨迹通过整合速度分量计算得出:

初始位置(x0, y0)作为输入提供。此外,对于数值积分,应用以下累积梯形规则:

其中是时间步长。这种方法通过将轨迹生成任务分解为人类可解释的组件,反映驾驶过程,提供了一条稳健且易于解释的规划路径。

阶段1:推理:过程使用驾驶场景的前摄像头图像和自我车辆过去5秒的历史数据(速度和曲率)作为输入,输入到预训练的MLLMs中。随后,设计特定任务的提示,引导MLLMs生成对当前自我驾驶场景的全面推理,涵盖以下几个方面:

  • 意图命令:清晰阐述自我车辆在当前场景下的预期动作,例如是否会继续沿着车道左转、右转或直行。此外,还要说明车辆是否应保持当前速度、减速或加速。

  • 场景描述:根据交通信号灯、其他车辆或行人的运动以及车道标记,对驾驶场景进行简要描述。

  • 主要物体:识别自我驾驶者需要关注的道路使用者,指定他们在驾驶场景图像中的位置。对于每个道路使用者,提供其当前行为的简要描述,并解释其存在对自我车辆决策过程的重要性。

阶段2:预测:通过结合链式思维推理过程和历史自我状态,促使MLLMs生成未来秒内的速度和曲率(2个轨迹点)。然后将这些预测整合以计算最终轨迹。

■2.2. 目标检测增强

自动驾驶(AD)中的一项关键任务是为道路上的物体检测3D边界框。然而,现有的预训练多模态大语言模型(MLLMs)在空间推理方面存在局限性,难以提供高质量的检测。为了解决这一挑战,并在不额外微调MLLM的情况下实现高检测精度,作者将一个外部的视觉模型集成到OpenEMMA中,有效地解决了检测任务。

OpenEMMA专注于使用前置摄像头进行物体检测,并处理来自单帧的数据,而不是一系列连续帧。这使得该任务属于基于单目相机的3D物体检测的范围。该领域的研究通常分为两类:深度辅助方法和仅基于图像的方法。深度辅助方法预测深度信息以辅助检测,而仅基于图像的方法完全依赖RGB数据进行直接预测。在这些方法中,我们选择了YOLO3D,因为它结合了可靠的准确性、高质量的开源实现和轻量化架构,便于高效的微调和实际集成。

YOLO3D是一种两阶段的3D物体检测方法,强制实施2D-3D边界框一致性约束。具体而言,它假设每个3D边界框都紧密包含在其对应的2D边界框内。该方法首先预测2D边界框,然后估计每个检测到的物体的3D尺寸和局部方向。3D边界框的七个参数——中心位置,尺寸以及偏航角——是基于2D边界框和3D估计共同计算得出的。

在本节中,我们首先展示了用于端到端轨迹规划的实验,利用多种多模态大型语言模型(MLLMs)来展示OpenEMMA的有效性。此外,我们详细介绍了YOLO11n在自动驾驶(AD)场景中的实施和适应,强调其在OpenEMMA框架内的无缝集成。最后,我们展示了视觉结果,突显OpenEMMA在应对具有挑战性的自动驾驶场景中的能力,展示其在多种条件下的稳健性和有效性。

■3.1. 端到端轨迹规划

实验设置

实验在nuScenes数据集的验证集上进行,测试的模型包括GPT-4o,LLaVA-1.6-Mistral-7B(简称为LLaVA-1.6),Llama-3.2-11B-Vision-Instruct(简称为Llama-3.2)和Qwen2-VL-7B-Instruct(简称为Qwen2-VL)。为了比较,使用零-shot方法作为基线,仅依赖历史自我状态和驾驶场景图像,而不结合任何推理过程。此外,设置T=5,提示MLLM预测未来5秒内的轨迹。由于预算限制和可重复性的需要,GPT-4o的结果仅在有限的场景集上进行。

结果

表1总结了OpenEMMA在nuScenes数据集验证集的150个场景中的表现,具体以L2范数误差相对于真实轨迹进行评估。此外,如果未来轨迹的L2范数在第一秒内超过10,则预测被视为失败,失败率也包含在表中。

▲表 1 | 端到端轨迹规划实验结果

结果如下: 未经过微调的MLLMs在端到端轨迹规划中的整体表现不如基于微调的方法。OpenEMMA在L2范数误差和失败率方面均持续优于零-shot基线,证明了Chain-of-Thought推理过程在理解和分析复杂真实驾驶场景中的有效性。值得注意的是,当使用LLaVA-1.6-Mistral-7B作为主干时,OpenEMMA相较于零-shot基线表现出显著改善,而当使用Llama3.2-11B-Vision-Instruct作为主干时,在L2范数和失败率方面也有适度但明显的提升。然而,使用Qwen2-VL-7B-Instruct时,OpenEMMA的L2范数误差高于零-shot基线。这是因为OpenEMMA成功生成了许多零-shot基线失败的情况下的预测。尽管如此,它在这些具有挑战性的场景中仍然难以生成高质量的轨迹,导致L2范数误差总体上增加。此外,失败率的显著降低突显了OpenEMMA在处理困难情况下的稳健性和能力。

■3.2. 3D目标检测

作者将2D检测网络替换为YOLO11n。YOLO11n在nuImages数据集上进行了微调,图像下采样至640 × 360,并在COCO数据集上预训练的权重,并在单个RTX 4060Ti上训练网络300个周期。批量大小选择为50,使用SGD优化器,学习率为0.01,动量为0.937,权重衰减为0.0005。学习率在训练结束时线性下降至0.0001。最佳结果在第290个周期达到,mAP50为0.60316。3D估计网络的权重保持不变,使用Yolo3D库中的权重。图2展示了微调后的YOLO11n网络的2D边界框检测结果。3D边界框检测结果包含在主要演示视频中。

▲图 2 | YOLO 3D目标检测结果

■3.3. 可视化

图3展示了来自多种具有挑战性的驾驶场景的三个视觉示例,突显了OpenEMMA在多种条件下的稳健性和有效性。在这些场景中,GPT-4o被用作主干,不仅处理当前驾驶场景,还处理过去5秒(10帧)的视觉输入。所有其他设置与第3.1节中描述的一致。

▲图 3 | OpenEMMA预测可视化结果

图3a展示了OpenEMMA在自我车辆在指定车道内右转时的表现。OpenEMMA展示了其准确检测道路物体、规划平滑精确轨迹和遵守驾驶规则的能力,确保安全高效地通过转弯。

图3b展示了OpenEMMA在一个潜在不安全驾驶场景中的可视化,其中一辆车突然从急转弯进入当前车道。OpenEMMA迅速检测到风险因素并做出适当决策——刹车并保持安全距离,有效防止潜在碰撞。这个例子突显了OpenEMMA处理复杂驾驶情况的能力,展示了其强大的推理能力和在动态不可预测环境中确保安全的能力。

图3c展示了OpenEMMA在低光夜间条件下的表现。虽然OpenEMMA在这种具有挑战性的环境中可能偶尔会漏检某些物体,但它成功识别和检测出对安全导航至关重要的关键物体。此外,它准确理解自我车辆正在向左车道转移,并生成精确的轨迹规划以有效适应这一动作。这展示了OpenEMMA在处理能见度降低的复杂驾驶场景中的稳健性。

■4.1. 端到端自动驾驶

自动驾驶领域的一个重要趋势是端到端系统的出现,这些系统通过无缝地在系统组件之间传递特征表示,从而提高了效率。这与传统方法形成对比,因为整个系统针对驾驶任务进行优化,从而通过共享主干提高了计算效率和一致性。这些端到端方法大致可以分为模仿学习和强化学习。在强化学习中,像Latent DRL、Roach和ASAPRL等模型优先增强决策能力。此外,像ScenarioNet和TrafficGen等模型专注于生成多样的驾驶场景,以提高系统在测试过程中的鲁棒性。

最近,多模态大型语言模型(MLLMs)已被整合到自动驾驶系统中。例如,LMDrive促进了自然语言交互和高级推理,使人车沟通更加直观。Senna更进一步,将MLLM与端到端系统结合,解耦高层规划与低层轨迹预测。在这些发展的基础上,由Gemini驱动的EMMA代表了一个重要的进步。这个视觉-语言模型将原始摄像头传感器数据转化为多样的驾驶特定输出,包括规划轨迹、感知物体和道路图元素,展示了MLLM集成在自动驾驶中增强功能和效率的潜力。

■4.2. 用于自动驾驶的MLLM

多模态大型语言模型(MLLMs)将大型语言模型(LLMs)的能力扩展到视觉领域。LLMs以其泛化能力、推理能力和上下文理解而闻名,提供了MLLMs构建的基础。使MLLM能够无缝处理文本和视觉信息的关键在于对齐视觉和文本嵌入。这是通过使用视觉编码器(如CLIP)将图像块转换为与文本令牌空间对齐的视觉令牌来实现的,从而为综合多模态理解开启了新的可能性。

MLLMs已广泛应用于现实场景,特别是在自动驾驶领域。GPT-Driver将规划输入和输出转化为语言令牌。通过利用GPT-3.5,它生成通过自然语言表示的坐标位置描述的驾驶轨迹。DriveVLM利用Chain-of-Thought(CoT)进行高级空间推理和实时轨迹规划。RAG-Driver引入了一种基于检索增强生成的新的上下文学习方法,以提高自动驾驶系统的泛化能力和可解释性。Driving-with-LLMs引入了一种新的范式,将对象级向量化数值模态与LLMs融合,采用两阶段的预训练和微调方法。DriveLM通过利用图结构的视觉问答(VQA)开发了一种端到端的MLLM在自动驾驶中的应用,涵盖感知、预测和规划等任务。

总之,本文提出的OpenEMMA,它是一个基于多模态大型语言模型的开源、高效的端到端自动驾驶框架。OpenEMMA利用历史自我车辆数据和前置摄像头捕获的图像,采用Chain-of-Thought推理过程来预测自我车辆的未来速度和曲率,然后将其整合到轨迹规划过程中。此外,通过结合微调的外部视觉专家模型,OpenEMMA实现了对3D路面物体的精确检测。此外,所提出的OpenEMMA框架在零-shot基线之上显示出显著的改进,展示了其在各种具有挑战性驾驶场景中的有效性、泛化能力和鲁棒性。

作为基于现成预训练模型开发端到端自动驾驶框架的初步步骤,在推理过程中仅集成了基本的Chain-of-Thought推理。虽然这作为基础方法,但通过将更高级的推理技术(如CoTSC和ToT集成到框架中,仍有巨大的潜力可以提升框架的实用性,这可能为自动驾驶提供更有效的方法。

此外,由于当前MLLM的对象定位能力有限,在OpenEMMA中集成了微调的YOLO模型来处理对象检测任务,而不是仅依赖MLLM本身的能力。尽管这种方法提供了实际解决方案,但它突显了未来在MLLM方面的进步需求,以弥补空间推理和定位精度的差距。解决这些局限性对于实现一个真正统一的框架至关重要,该框架利用MLLM进行自动驾驶中的所有关键感知和推理任务。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐