当前位置: 首页 > news >正文

CVPR 2024论文分享┆LMDrive:基于大模型的闭环端到端自动驾驶

论文简介

本推文主要介绍2024 CVPR接收的一篇论文《LMDrive: Closed-Loop End-to-End Driving with Large Language Models》,该论文提出了一种名为LMDrive的创新方法,展示了如何利用大型语言模型在自动驾驶系统中进行闭环的端到端驾驶控制。传统的自动驾驶系统依赖于单独的感知、规划和控制模块,而LMDrive通过大型语言模型集成了这些模块,使系统能够更灵活地应对不同的驾驶场景。实验结果表明,LMDrive在复杂的城市驾驶环境中表现出色,尤其是在应对动态变化和不确定性的驾驶条件下,展现了其强大的适应性和鲁棒性。该研究展示了大型语言模型在自动驾驶领域的应用潜力,为未来的智能交通系统提供了新思路。推文的作者为邱雪,审校为黄星宇和许东舟。

论文的下载链接:

https://openaccess.thecvf.com/content/CVPR2024/papers/Shao_LMDrive_Closed-Loop_End-to-End_Driving_with_Large_Language_Models_CVPR_2024_paper.pdf

代码链接:

https://github.com/opendilab/LMDrive

01 会议介绍

CVPR(Conference on Computer Vision and Pattern Recognition)是计算机视觉和模式识别领域最具影响力的国际顶级会议之一。该会议由IEEE计算机学会主办,每年都会吸引全球范围内的研究人员、学者和业界专家参与。自1983年创办以来,CVPR已经发展成为展示和分享计算机视觉、深度学习、图像处理等领域最新研究成果的重要平台。该会议论文具有极高的学术质量和影响力,其接受的论文经过严格的同行评审,并往往代表了该领域的前沿研究。CVPR也是中科院JCR一区TOP会议,CCF-A类会议,发表的论文影响因子极高。CVPR每年吸引大量投稿,其激烈的竞争环境使得入选的论文具有较高的学术地位。

02 背景与挑战

由于现有方法的局限性:1)模块化方法的局限性:传统的自动驾驶系统通常采用模块化方法,将感知、规划等模块分开操作。然而,这种方法面临模块之间传递效率低、集成难度大的问题,限制了系统的整体性能。2)端到端方法的局限性:现有的端到端方法由于无法充分利用多模态数据,缺乏对驾驶情景的深度理解,在复杂交通状况下表现欠佳。

为了解决这些局限性,本文提出了一种基于大型语言模型(LLM)的闭环端到端驾驶方法LMDrive。该方法能够集成多模态输入数据,使LLM能够更好地理解和推理复杂场景上下文,从而显著提升在复杂交通场景下的表现。这一创新研究为自动驾驶技术的发展提供了新的思路,具有重要的理论和应用意义。

03 方法

1 LMDrive框架的工作流程 

如图1所示,LMDrive是一个语言引导的闭环端到端驾驶框架,清晰地展示了系统的各个组成部分及其如何协同工作,以实现复杂驾驶场景中的实时控制信号输出。框架的输入来自左上角的指令模块,这些指令由人类或其他系统生成,传递给系统的核心部分,即大型语言模型(LLM)。LLM负责处理接收到的语言指令,并结合来自环境的传感器数据,如多视角相机和LiDAR生成的点云数据,以生成用于实际驾驶操作的控制信号。

传感器数据的采集是通过多个传感器完成的,图中展示了传感器数据流的处理过程,这些数据帮助LLM更好地理解车辆的周围环境,从而做出更加准确的决策。环境模块则代表车辆所在的实际驾驶场景,车辆的动作对环境产生影响,而环境反馈通过传感器再次回传给LLM,从而形成一个持续优化的闭环控制流程。

在这个闭环系统中,数据流和梯度流是两个重要的过程。数据流代表从传感器获取数据到生成控制信号的过程,而梯度流可能代表在训练或优化模型时,基于反馈信息对模型权重进行的更新。通过这一架构设计,LMDrive能够在复杂的驾驶场景中提供实时的控制信号输出,确保车辆在各种情况下能够安全有效地运行。

2 LMDrive模型的结构图

如图2所示,展示了LMDrive的语言引导闭环端到端驾驶框架的详细流程。整个系统通过多视角摄像头和LiDAR雷达采集车辆周围环境的数据,这些数据首先经过视觉编码器(Vision Encoder处理,转化为特征向量。这些特征向量随后通过Q-Former进行进一步的处理,将其转化为适合LLM使用的格式。

在系统的左侧,导航指令和提示指令经过Tokenizer处理,被分解为更小的tokens,以便LLM更好地理解和处理这些语言信息。接下来,这些不同形式的输入(来自Q-Former的视觉特征和来自Tokenizer的语言tokens)在Adapter中进行融合,最终输入到LLM中。

LLM结合这些融合后的数据,生成适当的控制信号,这些信号被传送到车辆的控制系统,用于调整车辆的运动状态。模型还具备检查指令完成情况的功能,一旦检测到当前指令已完成,车辆将立即开始执行下一步操作,从而实现连续和高效的驾驶任务管理。整个过程强调了多模态数据的融合与闭环控制的重要性,确保了驾驶任务的精确执行和实时响应。

04 实验及结果

(1)LangAuto基准

在本文提出了一项LangAuto基准测试,这是为了评估在自然语言指令下自动驾驶系统的闭环驾驶性能。与传统的自动驾驶基准不同, LangAuto基准测试提供的是自然语言的导航指令和可选的通知指令,而不是离散的驾驶命令或目标路径点。

(2)实验结果

六个不同的LLMLangAuto基准测试上的性能比较

在表1中,根据三个不同的性能指标:驾驶得分(DS)、路径完成度(RC)、违规得分(IS),比较六个不同LLM在LangAuto基准测试上的性能。结果可以看出,LLaVA-v1.5模型的表现优于其它模型。

2 模型设计上的消融实验研究

在表2中,消融实验验证了LMDrive模型设计中各模块的必要性;去除任一模块,模型的性能都会有所下降。

LangAutoLangAuto - Notice基准上的性能比较

在表3中,LangAuto-Notice在LangAuto轨迹的基础上,额外添加通知指令给Agent。这种设置模拟了在长轨迹复杂场景中乘客能够实时发出通知的真实情况。结果可以看出,LangAuto-Notice任务有助于减少碰撞和违规行为,而Vicuna-v1.5模型表现优于LLaVA-v1.5模型。

LangAutoLangAuto - Notice基准上的性能比较

在表4中,LangAuto-Sequential在LangAuto轨迹的基础上,将10%的连续2 ~ 3条指令的合并为一条长指令。这种设置模仿了真实场景中乘客的多重复语句指令。结果可以看出,在LangAuto 和LangAuto-Sequential任务中, LLaVA-v1.5模型在驾驶得分和路径完成度上都表现更优;但是在违规得分方面,Vicuna-v1.5模型要优于LLaVA-v1.5模型。

05 结论

LMDrive是一个先进的语言引导的端到端闭环自动驾驶框架,能够结合自然语言指令与传感器数据,在复杂的驾驶场景中实现类似人类的互动和导航。为了支持这一框架的开发和评估,研究团队提出了一个专门设计的语言引导驾驶数据集,该数据集包含约64,000个多模态数据片段及其相应的导航指令。这一数据集为系统的训练和优化提供了丰富的语料和环境信息。此外,研究团队还创建了LangAuto基准,用于评估自动驾驶系统在接受自然语言指令时的表现。通过这一基准,系统能够在不同的驾驶场景中进行严格测试,确保其在实际应用中的可靠性和灵活性。最后,通过大量的闭环实验,LMDrive的有效性得到了充分验证,实验结果显示,该框架在增强自动驾驶车辆与人类和环境的互动方面展现出了显著的潜力,为未来的自动驾驶技术发展提供了重要的参考和启示。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Unity3D小技巧】Unity3D中实现对InputField的自定义输入限制实例
  • [数据集][目标检测]铁轨缺陷检测数据集VOC+YOLO格式4020张4类别
  • 埃筛C++写法
  • BUUCTF PWN wp--pwn1_sctf_2016
  • 区块链的搭建与运维4
  • 【数据库】MySQL表的约束
  • QT-贪吃蛇小游戏
  • 【自动化】一共获取6600多公司信息【逆向】一页15还加密。
  • S7通信协议从入门到精通_1_Sharp7(C#)类编写西门子 S7系列 plc驱动程序(扩展C++语言)
  • springCloud 网关(gateway)配置跨域访问
  • MyBatis中的#{}和${}区别、ResultMap使用、MyBatis常用注解方式、MyBatis动态SQL
  • spark全面个人总结(20个面试点)非网文 持续更新中
  • C语言 ——— 常见的动态内存错误(上篇)
  • Parallels Desktop 19 for Mac 安装虚拟机需要激活吗
  • 在不训练模型的情况下强化语言模型
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • CSS3 变换
  • C语言笔记(第一章:C语言编程)
  • Flex布局到底解决了什么问题
  • Github访问慢解决办法
  • JavaScript新鲜事·第5期
  • JavaWeb(学习笔记二)
  • js中的正则表达式入门
  • Logstash 参考指南(目录)
  • Phpstorm怎样批量删除空行?
  • Promise初体验
  • RxJS: 简单入门
  • Xmanager 远程桌面 CentOS 7
  • 阿里云前端周刊 - 第 26 期
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 分类模型——Logistics Regression
  • 如何合理的规划jvm性能调优
  • 数据仓库的几种建模方法
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 微信小程序--------语音识别(前端自己也能玩)
  • 为视图添加丝滑的水波纹
  • 小程序 setData 学问多
  • 数据可视化之下发图实践
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • #mysql 8.0 踩坑日记
  • #预处理和函数的对比以及条件编译
  • (3)STL算法之搜索
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (libusb) usb口自动刷新
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (翻译)terry crowley: 写给程序员
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (计算机网络)物理层
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (学习总结16)C++模版2
  • (转)Google的Objective-C编码规范
  • (转)linux 命令大全
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?