DriveMLM:用多模态大语言模型进行闭环自动驾驶~

作者 | 穆世义 来源 | 自动驾驶之心

 原文链接:https://zhuanlan.zhihu.com/p/672856952 

点击下方卡片,关注“自动驾驶之心”公众号

戳我-> 领取自动驾驶近15个方向学习路线

>>点击进入→自动驾驶之心『多模态大模型』技术交流群

本文只做学术分享,如有侵权,联系删文

今天推荐一篇多模态大模型用于自动驾驶的论文,实验中展示了很好可解释性,并且在CARLA仿真器上实现SOTA的驾驶得分。

原文题目:《DriveMLM: Aligning Multi-Modal Large Language Models with Behavioral Planning States for Autonomous Driving》

原作者 :上海AILab OpenGVLab 港中文 王文海大佬团队

开源地址:https://github.com/OpenGVLab/DriveMLM

摘要:

这是一个基于LLM的自动驾驶框架,能够在仿真器中实现闭环自动驾驶。可以在百度Apollo上即插即用。

介绍

作者给出三个框图表示自动驾驶算法的演进过程,图a表示基于规则需要专家系统知识,b图端到端框架由数据驱动,这些算法难以处理corner case。图c则是本文基于大语言模型的设计,大语言模型具备广泛的知识、稳健的逻辑和高级的认知能力。(extensive world knowledge, robust logical reasoning, and advanced cognitive capabilities)。


作者罗列了近期的一些将LLM融合进AD的工作:

  • [1]Driving with LLMs: Fusing Object-Level Vector Modality for Explainable Autonomous Driving

  • [2]Drivelm: Drive on language.https://github.com/OpenDriveLab/DriveLM

  • [3]MetaGPT: Meta Programming for Multi-Agent Collaborative Framework

  • [4]MTD-GPT: A Multi-Task Decision-Making GPT Model for Autonomous Driving at Unsignalized Intersections

  • [5]LanguageMPC: Large Language Models as Decision Makers for Autonomous Driving

  • [6]DiLu: A Knowledge-Driven Approach to Autonomous Driving with Large Language Models

  • [7]DRIVEGPT4: INTERPRETABLE END-TO-END AUTONOMOUS DRIVING VIA LARGE LANGUAGE MODEL

这些现有方法重点在于生成基于语言的决策,不能直接用于车辆控制。高级别的决策和低级别的控制操作之间存在gap,在传统的模块化方案中,决策和控制之间由规划planning模块连接。因此作者通过将规划和决策对齐来实现基于LLM的AD闭环系统DriveMLM。进行了如下三个设计:

  • [1]研究Apollo的决策规划部分,转换为可以被LLM轻松处理的形式;

  • [2]设计多模态LLM规划器,接受多视角RGB、激光雷达点云、交通规则、系统消息、用户指令来预测决策状态;

  • [3]从CARLA中搜集280h的数据,设计数据引擎转换为决策状态和解释标注;

这样做可以达到了三个优点:

  • [1]轻松插入到Apollo,实现闭环驾驶;

  • [2]支持语言指令输入,更加灵活;

  • [3]行为决策可解释;

方法

模型整体框图如下:


系统输入包含四个部分:多视角RGB、激光雷达点云、系统消息(交通规则、决策状态定义)和用户指令;

多模态大语言模型MLLM的输入是四个输入量的Embeding X;

MLLM的输出是决策状态 S和解释E;

决策状态S会输入到规划和控制模块,预测用于控制的轨迹;

行为规划状态对齐

如何将LLM输出的结果转化为车辆的控制信号。按照常规做法,决策部分可以分为两个阶段:速度决策和路径决策。速度决策有加减速或保持 [KEEP、ACCELERATE、DECELERATE、STOP],路径决策状态包括跟随和转向 [FOLLOW、LEFT CHANGE、RIGHT CHANGE、LEFT BORROW、RIGHT BORROW]。

作者通过如下的系统消息System Message来进行约束对齐,告知LLM一些模板和答案的选项,(让LLM做选择题来输出有限选项中的答案?妙啊):

“你是驾驶汽车的驾驶助手。你需要遵循导航命令和交通规则。
交通规则是xxxxx。 
路径决策包括 [FOLLOW,LEFT CHANGE...]。路径决策定义如下:
  FOLLOW表示保持当前车道,
  LEFT CHANGE表示xxxx。
  xxxx表示xxx 
速度决策包括 [KEEP,...]。速度决策定义如下:
  KEEP表示保持
  xxxx表示xxx
给定从相机或 LiDAR 获得的导航命令和驾驶场景,
你应该从预定义的选项中选择路径决策和速度决策,
并解释您的决策。”

相应的文中MLLM应对提问的回答示例如下:

人类提问: 描述当前驾驶环境。
DriveMLM答:现在是白天的。一辆红色的汽车在自我前面行驶。
人类提问: 右转,请选择路径决策和速度决策。
DriveMLM答:RIGHT CHANGE, KEEP。
人类提问: 请解释为什么选择这些决定?
DriveMLM答:由于右转弯需要提前而不是右转弯车道,因此更改为右车道。

人类提问: 我很急。你能超车吗?
DriveMLM答:LEFT CHANGE, ACCELERATE。
人类提问: 为什么选择这些决定?
DriveMLM答:由于左车道上没有车辆,为了超过前车,需要相左变道并加速。

MLLM规划器

两个部分组成:多模块tokenizer和MLLM解码器。

多模块tokenizer的设计如下:

  1. 对于多视角RGB:使用VIT-g 提取特征,结合temporal QFormer构建时序内容;

  2. 对于激光雷达:使用稀疏金字塔变压器Transformer(Sparse Pyramid Transformer, SPT)提取特征,使用Qformer获得Embedding;

  3. 对于系统消息和用户指令:当作常规文本使用LLM的oken embedding层即可;

MLLM解码器:构造了系统消息模板,回答被格式化到决策状态。使用交叉熵损失监督。

高效的数据引擎

在CARLA中构造决策状态和解释的标签,流程如下:

  1. 构造具有挑战的场景challenging scenarios;

  2. 让专家系统(人类或代理)驾驶通过,安全到达才会记录数据;

  3. 根据安全的专家轨迹生成速度决策和路径决策标签;

  4. 根据场景生成行为解释的标签;

  5. 人工对解释标签进行修正,并用GPT3.5扩展多样性;

实验分析

数据分析

作者采集了280h的训练样本,5万条路线,30个scenarios,不同的光照和天气条件,8个小镇地图(Town01, Town02, Town03, Town04, Town06, Town07, Town10HD, Town12),每个场景在每张地图中有200个随机触发点。场景包括常见和罕见的案例,具体信息可以看论文附录。

与现有的驾驶理解的数据集对比:


本文的数据有两个独特的特征。第一个是行为规划状态的对齐。这使能够将 MLLM 规划器的输出转换为控制信号,以便在闭环驾驶中控制车辆。第二个是人机交互注释。它的特点是人类给出的自然语言指令以及响应决策和解释。目标是提高理解人类指令并相应地响应的能力。

闭环测试

测试效果要好于现有的算法:


CARLA Town05 Long的闭环测试结果

Roach(ICCV 2021,ETH,强化学习教练监督模仿学习的agent,TCP的训练数据就是以它为agent)

Interfuser(CoRL2022,商汤,carla leaderboard1.0 排名第二)

Think Twice(CVPR2023,上海AILab,不在leaderboard1.0,但是在Town05上优于Interfuser那也是前三吧)。

leaderboard1.0目前榜单第一是ReasonNet,CVPR2023,商汤。

闭环测试的评价指标有:驾驶分数 (DS)、路线完成 (RC) 和违规分数 (IS),DS是RC和IS的乘积。还使用 Miles Per Intervention (MPI) 评估驾驶性能,这是工业中广泛使用的指标,MPI = (Total Autonomous Miles) / (Total Interventions)。表中的DD表示data driven,FSM是有限状态机Finite State Machine。

消融实验:


MV 表示多视图图像,CT 表示连接时间标记,TQ 表示时间 QFormer,PC 表示点云。MV + TQ 表现出最佳决策性能,CT 在准确性方面带来了小幅改进,但会导致更大的计算消耗。PC对DriveMLM影响不大。这可能是由于稀疏金字塔transformer和 MLLM 解码器之间的巨大表示差距造成的。

案例分析和可视化

案例a,人类要求超车且条件允许超车。LLM给出左转和加速指令,解释说“前车较慢且左车道空,我会超车”。


案例b,下图人类要求超车但是不具备超车条件。LLM给出保持车道、减速的指令。解释为“左车道有车、右车道不允许超车,我不能超车”。(确实还挺合理,但是为啥要减速)


零样本案例1,下图在nuScens上测试,人类要求保持车道,LLM输出保持停车,LLM给出的解释是“交通灯是红色,我们该停车”。(我还以为理由会是前车太近,并亮起刹车灯,我甚至没注意到红灯/狗头)


零样本案例2,人类要求保持车道,LLM输出保持、并减速,理由是前方为左转路口应该减速。


总结

DriverMLM提出了基于多模态到决策控制的框架设计,让AD系统更加透明可信。代码即将开源,很漂亮的工作,其中大模型部分用的是LLaMA-7B,有能力的实验室可以复现测试。港中文MMLab的另一新篇工作LMDrive也是LLM驱动的闭环自动驾驶(LMDrive: Closed-Loop End-to-End Driving with Large Language Models)已开源!https://github.com/opendilab/LMDrive。可以对比看一看。

这里梳理一下最近的相似命名,防止混淆:DriveMLM、DriveLM、DriveLLM、LMDrive

  • DriveLLM: Charting The Path Toward Full Autonomous Driving with Large Language Models(TIV 2023)

  • DriveLM:Drive on Language: https://github.com/OpenDriveLab/DriveLM

  • DriveMLM: Aligning Multi-Modal Large Language Models with Behavioral Planning States for Autonomous Driving(本篇)

  • LMDrive: Closed-Loop End-to-End Driving with Large Language Models(港中文)

另外,商汤和上海AILab真的开源了很多优秀的端到端自驾算法,榜单上这些TOP算法多数都是来自于商汤和上海AILab。

自动驾驶之心

论文辅导来啦

知识星球交流社区

近4000人的交流社区,近300+自动驾驶公司与科研结构加入!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(大模型、端到端自动驾驶、世界模型、仿真闭环、3D检测、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎加入。

独家专业课程

端到端自动驾驶大模型、VLA、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频

学习官网:www.zdjszx.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值