本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面&笔者的个人理解
大型语言模型为智能驾驶开辟了新的格局,赋予了他们类似人类的思维和认知能力。本文深入研究了大型语言模型(LLM)在自动驾驶(AD)中的潜力。进而提出了DriveMLM,这是一种基于LLM的AD框架,可以在仿真环境中实现闭环自动驾驶。具体来说有以下几点:
- (1)本文通过根据现成的运动规划模块标准化决策状态,弥合语言决策和车辆控制命令之间的差距;
- (2)使用多模态LLM(MLLM)对模块AD系统的行为规划模块进行建模,该模块AD系统使用驾驶规则、用户命令和来自各种传感器(如相机、激光雷达)的输入作为输入,并做出驾驶决策并提供解释;该模型可以插入现有的AD系统(如Apollo)用于闭环驾驶;
- (3)设计了一个有效的数据引擎来收集数据集,该数据集包括决策状态和相应的可解释标注,用于模型训练和评估。
最后我们对DriveMLM进行了广泛的实验,结果表明,DriveMLM在CARLA Town05 Long上获得了76.1的驾驶分数,并在相同设置下超过阿波罗基线4.7分,证明了DriveMLM的有效性。我们希望这项工作可以作为LLM自动驾驶的基线。
DriveMLM的相关介绍
近年来,自动驾驶(AD)取得了重大进展,如图1b所示从传统的基于规则的系统发展到数据驱动的端到端系统,传统的规则系统依赖于由先验知识提供的预定义规则集(见图1a)。尽管这些系统取得了进步,但由于专家知识的限制或训练数据的多样性,它们还是遇到了局限。这使得他们很难处理拐角情况,尽管人类驾驶员可能会发现处理这些情况很直观。与这些传统的基于规则或数据驱动的AD规划者相比,使用网络规模的文本语料库训练的大型语言模型(LLM)具有广泛的世界知识、稳健的逻辑推理和先进的认知能力。这些功能将他们定位为AD系统中的潜在规划者,为自动驾驶提供了一种类似人类的方法。
最近的一些研究已将LLM集成到AD系统中,重点是针对驾驶场景生成基于语言的决策。然而,当涉及到在真实世界环境或真实仿真中执行闭环驾驶时,这些方法具有局限性。这是因为LLM的输出主要是语言和概念,不能用于车辆控制。在传统的模块化AD系统中,高级别策略目标和低级别控制行为之间的差距通过行为规划模块连接,该模块的决策状态可以通过后续运动规划和控制轻松转换为车辆控制信号。这促使我们将LLM与行为规划模块的决策状态对齐,并通过使用对齐的LLM进行行为规划,进一步设计一个基于LLM的闭环AD系统,该系统可以在真实世界的环境或现实的仿真环境上运行。
基于这一点,我们提出了DriveMLM,这是第一个基于LLM的AD框架,可以在现实仿真环境中实现闭环自动驾驶。为了实现这一点,我们有三个关键设计:(1)我们研究了Apollo系统的行为规划模块的决策状态,并将其转化为LLM可以轻松处理的形式。(2)开发了一种多模态LLM(MLLM)规划器,该规划器可以接受当前的多模态输入,包括多视图图像、激光雷达点云、交通规则、系统消息和用户指令,并预测决策状态;(3)为了获得足够的行为规划-状态对齐的训练数据,我们在CARLA上手动收集280小时的驾驶数据,并通过高效的数据引擎将其转换为决策状态和相应的解释注释。通过这些设计,我们可以获得一种MLLM planner,该规划器可以根据驾驶场景和用户需求进行决策,并且其决策可以很容易地转换为车辆控制信号,用于闭环驾驶。
DriveMLM有以下优势:(1)得益于一致的决策状态,DriveMLM可以很容易地与现有的模块化AD系统(如Apollo)集成,以实现闭环驾驶,而无需任何重大更改或修改。(2)通过将语言指令作为输入,我们的模型可以处理用户需求(例如,超越汽车)和高级系统消息(例如,定义基本驾驶逻辑)。这使DriveMLM更加灵活,能够适应不同的驾驶情况和弯道情况。(3)它可以提供可解释性并解释不同的决策。这增强了我们模型的透明度和可信度,因为它可以向用户解释其行为和选择。
总结来说,DriveMLM的主要贡献如下:
- 提出了一种基于LLM的AD框架,通过将LLM的输出与行为规划模块的决策状态相一致,弥合LLM和闭环驾驶之间的差距。
- 为了实现这个框架,我们用LLM可以轻松处理的形式定制了一组决策状态,设计了一个用于决策预测的MLLM规划器,并开发了一个数据引擎,该数据引擎可以有效地生成决策状态和相应的解释注释,用于模型训练和评估。
- 为了验证DriveMLM的有效性,我们不仅根据闭环驾驶指标(包括驾驶分数(DS)和每次干预里程(MPI))来评估我们的方法,还使用理解指标(包括准确性、决策状态的F1指标、决策解释的BLEU-4、CIDEr和METEOR)来评估模型的驾驶理解能力。值得注意的是,我们的方法在CARLA Town05 Long上获得了76.1 DS、0.955 MPI结果,这是4.7分,是Apollo的1.25倍。此外,我们可以通过用语言指令描述特殊要求来改变MLLM规划者的决策,如图2所示,例如为救护车或交通规则让路
DriveMLM方法详细介绍
概览
DriveMLM框架将大型语言模型(LLM)的世界知识和推理能力集成到自动驾驶(AD)系统中,在逼真的仿真环境中实现闭环驾驶。如图3所示,该框架有三个关键设计:(1)行为规划状态对齐。这一部分将LLM的语言决策输出与Apollo等成熟的模块化AD系统的行为规划模块相一致。这样,LLM的输出可以容易地转换为车辆控制信号。(2)MLLM 规划器。它是多模态标记器和多模态LLM(MLLM)解码器的组合。多模态标记器将不同的输入(如多视图图像、激光雷达、流量规则和用户需求)转换为统一的标记,MLLM解码器基于统一的标记进行决策。(3)高效的数据收集策略。它为基于LLM的自动驾驶引入了一种量身定制的数据收集方法,确保了一个全面的数据集,包括决策状态、决策解释和用户命令。
在推理过程中,DriveMLM框架利用多模态数据来做出驾驶决策。这些数据包括:环视图像和点云。系统消息是任务定义、流量规则和决策状态定义的集合。这些令牌被输入到MLLM解码器,MLLM解码器生成决策状态令牌以及相应的解释。最后,决策状态被输入到运动规划和控制模块。该模块计算车辆控制的最终轨迹。
Behavioral Planning States Alignment
将大型语言模型(LLM)的语言选择转换为可操作的控制信号对于车辆控制至关重要。为了实现这一点,我们将LLM的输出与流行的阿波罗系统中的行为规划模块的决策阶段相一致。根据常见方式,我们将决策过程分为两类:速度决策和路径决策。具体而言,速度决策状态包括(保持、加速、减速、停止),而路径决策状态包括(FOLLOW、LEFT CHANGE、RIGHT CHANGE,LEFT BORROW、RIGHT BORROW)。
为了使语言模型能够在这些状态之间做出精确的预测,我们在语言描述和决策状态之间建立了全面的联系,如表1的系统信息所示。此相关性用作系统消息的一部分,并集成到MLLM计划器中。因此,一旦LLM描述了某些情况,预测将在决策空间内收敛为清晰的决策。每次,一个速度决策和一个路径决策被相互推断并发送到运动规划框架。在补充材料中可以找到决策状态的更详细定义。
MLLM Planner
DriveMLM的MLLM规划器由两个组件组成:多模态标记器和MLLM解码器。这两个模块密切协作,处理各种输入,以准确地确定驾驶决策并为这些决策提供解释。
多模态标记器。此tokenizer设计用于有效处理各种形式的输入:对于时序环视图像:使用时间QFormer来处理从时间戳−T到0(当前时间戳)的环视图像。对于激光雷达数据,我们首先输入点云作为稀疏金字塔Transformer(SPT)主干的输入,以提取激光雷达特征。对于系统消息和用户指令,我们只需将它们视为普通文本数据,并使用LLM的令牌嵌入层来提取它们的嵌入。
MLLM解码器。解码器是将标记化输入转换为决策状态和决策解释的核心。为此,我们为基于LLM的AD设计了一个系统消息模板,如表1所示。可以看到,系统消息包含AD任务的描述、流量规则、决策状态的定义,以及指示每个模态信息合并位置的占位符。这种方法确保了来自各种模态和来源的投入无缝整合。
输出被格式化以提供决策状态(见表1的Q2)和决策解释(见表一的Q3),从而在决策过程中提供透明度和清晰度。关于监督方法,我们的框架遵循常见做法,在下一个令牌预测中使用交叉熵损失。通过这种方式,MLLM规划者可以对来自不同传感器和来源的数据进行详细的理解和处理,并将其转化为适当的决策和解释。
Efficient Data Engine
我们提出了一个数据生成范式,可以在CARLA模拟器中从各种场景创建决策状态和解释注释。该管道可以解决现有驾驶数据的局限性,这些数据缺乏训练基于LLM的AD系统的决策状态和详细解释。我们的管道由两个主要组件组成:数据收集和数据注释。
数据收集旨在提高决策的多样性,同时保持现实。首先,在仿真环境中构建各种具有挑战性的场景。安全驾驶需要复杂的驾驶行为。然后,专家,无论是经验丰富的人类司机还是特工,都被要求安全地驾驶通过这些场景,这些场景是在其众多可通行的地点之一触发的。值得注意的是,当专家随机提出驾驶需求并相应地驾驶时,会生成交互数据。一旦专家安全地开车到达目的地,就会记录数据。
数据标注主要侧重于决策和解释。首先,通过使用手工制定的规则,根据专家的驾驶轨迹自动注释速度和路径决策状态。其次,解释标注首先基于场景生成,由附近的当前元素动态定义。第三,生成的解释标注由人工标注进行细化,并通过GPT-3.5扩展其多样性。此外,交互内容也由人工注释器进行细化,包括执行或拒绝人工请求的情况。通过这种方式,我们避免了昂贵的逐帧决策状态标注,以及昂贵的从头开始手动编写解释标注,大大加快了我们的数据标注过程。
实验
数据分析
我们收集了280小时的驾驶数据进行培训。这些数据包括50公里的路线,在CARLA的8张地图(Town01、Town02、Town03、Town04、Town06、Town07、Town10HD、Town12)上收集了30种不同天气和照明条件的驾驶场景。平均而言,每个场景在每个地图上有大约200个触发点要被随机触发。每种情况都是驾驶中常见或罕见的安全关键情况。这些场景的详细信息见补充说明。对于每一帧,我们收集来自前、后、左、右四个摄像头的图像,以及来自添加在ego车辆中心的激光雷达传感器的点云。我们收集的所有数据都有相应的解释和准确的决策,这些解释和决策成功地推动了场景的发展。
表2展示了与之前为使用自然语言进行驾驶理解而设计的数据集的比较。我们的数据有两个独特的特点。第一个是行为规划状态的一致性。这使我们能够将MLLM规划器的输出转换为控制信号,以便我们的框架能够在闭环驾驶中控制车辆。二是人际互动标注。它的特点是人类给出的自然语言指令以及相应的决定和解释。目标是提高理解人类指令并做出相应反应的能力。
闭环自动驾驶评测
我们在CARLA中评估闭环驾驶,CARLA是公开可用的最广泛使用和最现实的模拟基准。包括能够在CARLA中执行闭环驱动的现有技术方法,用于性能比较。开源Apollo也在CARLA中作为基线进行了评估。除了我们的方法外,没有其他基于LLM的方法显示出部署和评估的准备状态。所有方法均在Town05长期基准上进行评估。
表4列出了驾驶分数、路线完成和违规分数。请注意,尽管Apollo是一种基于规则的方法,但它的性能几乎与最近的端到端方法不相上下。DriveMLM在驾驶分数上大大超过了所有其他方法。这表明DriveMLM更适合处理状态转换,以安全地通过硬盘。表4中的最后一列显示了MPI评估的结果。该指标显示了更全面的驾驶性能,因为需要代理人完成所有路线。换言之,所有路线上的所有情况都会被测试的代理遇到。Thinktwice实现了比Interfuser更好的DS,但由于经常越过停止线,MPI更低。然而,CARLA对这种行为的处罚微乎其微。相比之下,MPI将每一次违反交通规则的行为视为一次接管。DriveMLM还实现了所有其他方法中最高的MPI,这表明它能够避免更多情况,从而获得更安全的驾驶体验。
驾驶知识评测
我们采用开环评估来评估驾驶知识,包括决策预测和解释预测任务。表3显示了预测决策对的准确性、决策预测的每种决策类型的F1分数,以及预测解释的BLEU-4、CIDEr和METEOR。对于Apollo,Town05上手动收集的场景将作为表3中模型的输入进行回放。回放的每个时间戳处的相应模型状态和输出被保存为用于度量计算的预测。对于其他方法,我们给他们相应的图像作为输入和适当的提示。通过将模型预测与我们手动收集的地面实况进行比较,准确性揭示了决策的正确性和与人类行为的相似性,F1分数展示了每种路径和速度决策的决策能力。DriveMLM总体上达到了最高的准确率,以40.97%的准确率超过了LLaVA。与Apollo基线相比,DriveMLM的F1得分更高,这表明它在解决各种道路情况时更有效地超越了基于规则的状态机。LLaVA、InstructionBLIP和我们提出的DriveMLM可以以问答的形式输出决策解释。在BLEU-4、CIDEr和METEOR方面,DriveMLM可以实现最高的性能,表明DriveMLM能够对决策做出最合理的解释。
消融实验
传感器模态:表5展示了输入传感器模态对DriveMLM的不同影响的结果。多视图(MV)图像在路径和速度F1得分方面都带来了显著的性能改进,准确率提高了18.19%。与直接连接时间令牌相比,时间QFormer在确保多模态决策能力的同时,实现了7.4%的更大改进,从而使速度决策的平均F1得分提高了0.05。点云不会显示出增强性能的能力。
Case Study和可视化
人机交互:图4提供了如何通过人工指令实现车辆控制的示例。控制过程包括分析道路状况、做出决策选择和提供解释性陈述。当给出相同的“超车”指令时,DriveMLM根据对当前交通状况的分析显示出不同的响应。在右侧车道被占用而左侧车道可用的情况下,系统选择从左侧超车。然而,在给定指令可能构成危险的情况下,例如当所有车道都被占用时,DriveMLM会选择不执行超车动作,并做出适当反应。在这种情况下,DriveMLM是人车交互的接口,它根据交通动态评估指令的合理性,并确保其在最终选择行动方案之前符合预定义的规则。
真实场景中的性能:我们在nuScenes数据集上应用DriveMLM来测试开发的驾驶系统的零样本性能。我们在验证集上注释了6019个帧,决策准确度的零样本性能为0.395。图5显示了两个真实驾驶场景的结果,表明了DriveMLM的通用性。
结论
在这项工作中,我们提出了DriveMLM,这是一种利用大型语言模型(LLM)进行自动驾驶(AD)的新框架。DriveMLM可以通过使用多模态LLM(MLLM)对模块化AD系统的行为规划模块进行建模,在现实仿真环境中实现闭环AD。DriveMLM还可以为其驾驶决策生成自然的语言解释,这可以提高AD系统的透明度和可信度。我们已经证明,DriveMLM在CARLA Town05 Long基准上的表现优于Apollo基准。我们相信,我们的工作可以激发更多关于LLM和AD整合的研究。
开源链接:https://github.com/OpenGVLab/DriveMLM
原文链接:https://mp.weixin.qq.com/s/tQeERCbpD9H8oY8EvpZsDA