DRIVEGPT4: 通过大语言模型实现可解释的端到端自动驾驶
《DriveGPT4: Interpretable End-to-End Autonomous Driving via Large Language Model》
2024年10月发表,来自香港大学、浙江大学、华为和悉尼大学。
多模态大型语言模型(MLLM)已成为研究界关注的一个突出领域,因为它们擅长处理和推理非文本数据,包括图像和视频。本研究旨在通过引入DriveGPT4,将MLLM的应用扩展到自动驾驶领域,DriveGPT4是一种基于LLM的新型可解释端到端自动驾驶系统。DriveGPT4能够处理多帧视频输入和文本查询,便于解释车辆动作,提供相关推理,并有效解决用户提出的各种问题。此外,DriveGPT4以端到端的方式预测低级车辆控制信号。这些高级功能是通过利用专门为自动驾驶应用量身定制的定制视觉指令调优数据集,结合混合微调训练策略来实现的。DriveGPT4代表了利用LLM开发可解释的端到端自动驾驶解决方案的开创性努力。对BDD-X数据集进行的评估显示,DriveGPT4具有卓越的定性和定量性能。此外,与GPT4-V相比,对特定领域数据的微调使DriveGPT4在自动驾驶接地方面能够产生接近甚至改进的结果。
1. 研究背景与动机
-
问题提出:传统自动驾驶系统采用模块化设计(感知、规划、控制),但面对未知场景时易失效。端到端学习系统虽能直接预测控制信号,但因其“黑盒”特性缺乏可解释性,阻碍商业化应用。
-
现有不足:现有可解释性研究多基于小规模语言模型,回答模式僵化,难以应对多样化用户提问。
-
解决方案:利用大语言模型(LLM)的强推理能力和多模态处理能力,提出DriveGPT4,实现可解释的端到端自动驾驶,同时生成自然语言解释和低层次控制信号。
2. 核心贡献
-
DriveGPT4模型:
-
多模态输入:支持视频(多帧图像)和文本输入,通过专用视频tokenizer将视频帧映射为文本域特征。
-
双输出能力:生成自然语言回答(动作描述、理由等)和低层次控制信号(速度、转向角)。
-
架构设计:基于LLaMA2,结合CLIP视觉编码器提取时空特征,控制信号与文本共享解tokenizer(类似RT-2)。
-
-
数据集构建:
-
基于BDD-X数据集(20K样本),通过ChatGPT生成多样化问答对(56K样本),包括动作描述、理由、控制信号预测及灵活对话。
-
解决传统数据集固定格式问题,提升模型泛化能力。
-
-
混合微调策略:
-
预训练:通用图像和视频-文本对(CC3M + WebVid-2M),对齐多模态特征。
-
混合微调:结合56K自动驾驶领域数据(BDD-X + ChatGPT生成)和223K通用指令数据(LLaVA、Valley),增强视觉理解和领域适应能力。
-
3. 实验与结果
-
数据集与评测:
-
BDD-X测试集:划分为简单(Easy)、中等(Medium)、复杂(Hard)场景,评估动作描述、理由生成、控制信号预测。
-
指标:自然语言生成采用CIDEr、BLEU4、ROUGE-L;控制信号预测采用RMSE和阈值准确率(AτAτ)。
-
-
关键结果:
-
可解释性任务:DriveGPT4在动作描述(CIDEr 256.03 vs. ADAPT 227.93)和理由生成(CIDEr 98.71 vs. 80.00)上显著优于基线。
-
控制信号预测:速度预测RMSE 1.30(优于ADAPT的1.69),转向角RMSE 8.98(优于9.97)。
-
泛化能力:在NuScenes数据集和视频游戏中零样本测试成功,展示跨领域适应性。
-
对比GPT4-V:DriveGPT4在动态行为理解和控制信号预测上更具优势(GPT4-V无法预测数值控制信号)。
-
4. 技术亮点
-
视频处理:通过时空特征池化(Temporal & Spatial Pooling)高效编码多帧视频信息。
-
控制信号嵌入:将数值控制信号视为“语言”,利用LLM的解码能力直接生成。
-
混合微调:结合领域数据与通用数据,缓解幻觉问题(如检测虚假车辆)。
5. 局限与未来方向
-
实时性:未支持长序列输入(如32帧视频),受限于计算资源与推理速度。
-
闭环控制:当前为开环预测,未来需结合强化学习实现闭环控制。
-
数据扩展:计划通过CARLA仿真生成更多指令数据,增强复杂场景下的推理能力。
6. 总结
DriveGPT4首次将大语言模型引入可解释端到端自动驾驶系统,通过多模态输入处理、混合微调策略和灵活的输出设计,实现了自然语言解释与控制信号预测的双重目标。实验表明其在复杂场景下的优越性能,为零样本泛化和实际应用奠定了基础。未来研究可进一步优化实时性、闭环控制及数据多样性。
如果此文章对您有所帮助,那就请点个赞吧,收藏+关注 那就更棒啦,十分感谢!!!
相关文章:

DRIVEGPT4: 通过大语言模型实现可解释的端到端自动驾驶
《DriveGPT4: Interpretable End-to-End Autonomous Driving via Large Language Model》 2024年10月发表,来自香港大学、浙江大学、华为和悉尼大学。 多模态大型语言模型(MLLM)已成为研究界关注的一个突出领域,因为它们擅长处理…...
知识图谱(KG)与大语言模型(LLM)
知识图谱(KG)以其结构化的知识表示和推理能力,为大语言模型(LLM)的“幻觉”、知识更新滞后和可解释性不足等问题提供了有力的解决方案。反过来,LLM的强大文本理解和生成能力也为KG的构建、补全、查询和应用…...

构建共有语料库 - Wiki 语料库
中文Wiki语料库主要指的是从中文Wikipedia(中文维基百科)提取的文本数据。维基百科是一个自由的、开放编辑的百科全书项目,覆盖了从科技、历史到文化、艺术等广泛的主题。 对于基于RAG的应用来说,把Wiki语料作为一个公有的语料库…...

苍穹外卖项目中的 WebSocket 实战:实现来单与催单提醒功能
🚀 苍穹外卖项目中的 WebSocket 实战:实现来单与催单提醒功能 在现代 Web 应用中,实时通信成为提升用户体验的关键技术之一。WebSocket 作为一种在单个 TCP 连接上进行全双工通信的协议,被广泛应用于需要实时数据交换的场景&#…...
精益数据分析(59/126):移情阶段的深度博弈——如何避开客户访谈的认知陷阱
精益数据分析(59/126):移情阶段的深度博弈——如何避开客户访谈的认知陷阱 在创业的移情阶段,客户访谈是挖掘真实需求的核心手段,但人类认知偏差往往导致数据失真。今天,我们结合《精益数据分析》的方法论…...

Win10 安装单机版ES(elasticsearch),整合IK分词器和安装Kibana
一. 先查看本机windows是否安装了ES(elasticsearch),检查方法如下: 检查进程 按 Ctrl Shift Esc 组合键打开 “任务管理器”。在 “进程” 选项卡中,查看是否有 elasticsearch 相关进程。如果有,说明系统安装了 ES。 检查端口…...
Ansible模块——主机名设置和用户/用户组管理
设置主机名 ansible.builtin.hostname: name:要设置的主机名 use:更新主机名的方式(默认会自动选择,不指定的话,物理机一般不会有问题,容器可能会有问题,一般是让它默认选择) syst…...

【Redis】List 列表
文章目录 初识列表常用命令lpushlpushxlrangerpushrpushxlpop & rpoplindexlinsertllen阻塞操作 —— blpop & brpop 内部编码应用场景 初识列表 列表类型,用于存储多个字符串。在操作和实现上,类似 C 的双端队列,支持随机访问(O(N)…...

JUC入门(四)
ReadWriteLock 代码示例: package com.yw.rw;import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReentrantReadWriteLock;public class ReadWriteDemo {public static void main(String[] args) {MyCache myCache new MyCache…...

【HarmonyOS 5】鸿蒙mPaaS详解
【HarmonyOS 5】鸿蒙mPaaS详解 一、mPaaS是什么? mPaaS 是 Mobile Platform as a Service 的缩写,即移动开发平台。 蚂蚁移动开发平台mPaaS ,融合了支付宝科技能力,可以为移动应用开发、测试、运营及运维提供云到端的一站式解决…...
多线BGP服务器优化实践与自动化运维方案
背景:企业级网络架构中的线路选择难题 在分布式业务部署场景下,如何通过三网融合BGP服务器实现低延迟、高可用访问?本文以某电商平台流量调度优化为案例,解析动态BGP服务器的实战价值。 技术方案设计 核心架构:采用…...

无法加载文件 E:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本
遇到“无法加载文件 E:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本”这类错误,通常是因为你的 PowerShell 执行策略设置为不允许运行脚本。在 Windows 系统中,默认情况下,出于安全考虑,PowerShell 可能会阻止运行未…...

【C++模板与泛型编程】实例化
目录 一、模板实例化的基本概念 1.1 什么是模板实例化? 1.2 实例化的触发条件 1.3 实例化的类型 二、隐式实例化 2.1 隐式实例化的工作原理 2.2 类模板的隐式实例化 2.3 隐式实例化的局限性 三、显式实例化 3.1 显式实例化声明(extern templat…...
TB开拓者策略交易信号闪烁根因及解决方法
TB开拓者策略信号闪烁分析 TB开拓者策略交易信号闪烁根因 TB开拓者策略交易信号闪烁根因分析 信号闪烁是交易策略开发中常见的问题,特别是在TB(TradeBlazer)开拓者等平台上。以下是信号闪烁的主要根因分析: 主要根因 未来函数问题 使用了包含未来信息…...

什么是RDMA?
什么是RDMA? RDMA(RemoteDirect Memory Access)技术全称远程直接内存访问,就是为了解决网络传输中服务器端数据处理的延迟而产生的。它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。这允许高吞吐、低延迟的网络…...
C++面试3——const关键字的核心概念、典型场景和易错陷阱
const关键字的核心概念、典型场景和易错陷阱 一、const本质:类型系统的守护者 1. 与#define的本质差异 维度#defineconst编译阶段预处理替换编译器类型检查作用域无作用域(全局污染)遵循块作用域调试可见性符号消失保留符号信息类型安全无类…...

ASIC和FPGA,到底应该选择哪个?
ASIC和FPGA各有优缺点。 ASIC针对特定需求,具有高性能、低功耗和低成本(在大规模量产时);但设计周期长、成本高、风险大。FPGA则适合快速原型验证和中小批量应用,开发周期短,灵活性高,适合初创企…...
【C++】嵌套类访问外部类成员
文章目录 C嵌套类访问外部类成员详解:权限、机制与最佳实践一、默认访问权限:并非友元二、访问外部类私有成员的方法1. 声明友元关系2. 通过公有接口访问 三、静态成员 vs. 非静态成员四、实际应用案例:Boost.Asio线程池场景需求实现关键代码…...
mac下载、使用mysql
1.如果对版本没有特别要求,那么直接使用brew install mysql安装即可。 2.使用 brew services start mysql 启动mysql。 3.使用 mysql -u root 登录mysql,这个时候还是不需要密码的 4.退出数据库:exit 5.给root设置一个密码,使用 m…...
java Lombok 对象模版和日志注解
目录 1、依赖: 2、在Idea中确认是否安装Lombok 插件 3、 Lombok常用注解 3.1 Getter 和 Setter 3.2 ToString 3.3 AllArgsConstructor 和 NoArgsConstructor 3.4 Data 3.5 FieldDefaults 4、 Slf4j 日志注解 4.2 日志级别 4.3 设置日志级别 1、依赖:…...

Python学习笔记--使用Django操作mysql
注意:本笔记基于python 3.12,不同版本命令会有些许差别!!! Django 模型 Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。 Django 为这些数据库提供了统一的调…...
win11下,启动springboot时,提示端口被占用的处理方式
注:此操作可能存在风险!! 在启动springboot时,提示端口被占用。于是执行 #查看所有的占用的端口 netstat -ano | findStr 8080 结果发现并没有什么进程占据8080端口。再次执行: # 查看系统保留端口 netsh int ipv4…...

计算机视觉设计开发工程师学习路线
以下是一条系统化的计算机视觉(CV)学习路线,从基础到进阶,涵盖理论、工具和实践,适合逐步深入,有需要者记得点赞收藏哦: 相关学习:python深度学习,python代码定制 python…...
AI大模型从0到1记录学习numpy pandas day25
第 3 章 Pandas 3.1 什么是Pandas Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)…...
Opencv C++写中文(来自Gemini)
基于与Google Gemini交互获取的Opencv在图片上写汉字的实现 sudo apt-get install libfreetype6-dev sudo apt-get install fonts-wqy-zenhei CMakeLists.txt cmake_minimum_required(VERSION 3.10) # Or a more recent versionproject(OpenCVChineseText)set(CMAKE_CXX_STAN…...
下载和导出文件名称乱码问题
只对文件名称进行乱码处理,和文件中的内容无关。 import lombok.SneakyThrows; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.cont…...

STM32实战指南:DHT11温湿度传感器驱动开发与避坑指南
知识点1【DHT11的概述】 1、概述 DHT是一款温湿度一体化的数字传感器(无需AD转换)。 2、驱动方式 通过单片机等微处理器简单的电路连接就能实时采集本地湿度和温度。DHT11与单片机之间采用单总线进行通信,仅需要一个IO口。 相对于单片机…...

【android bluetooth 协议分析 01】【HCI 层介绍 8】【ReadLocalVersionInformation命令介绍】
1. HCI_Read_Local_Version_Information 命令介绍 1. 功能(Description) HCI_Read_Local_Version_Information 命令用于读取本地 Bluetooth Controller 的版本信息,包括 HCI 和 LMP 层的版本,以及厂商 ID 和子版本号。 这类信息用…...

esp32课设记录(四)摩斯密码的实现 并用mqtt上传
摩斯密码(Morse Code)是一种通过点(.)和划(-)组合来表示字符的编码系统。下面我将在esp32上实现摩斯密码的输入,并能够发送到mqtt的broker。 先捋一下逻辑,首先esp32的按键已经编写了短按与长按功能,这将是输出摩斯密码点和划的基础。然后当2…...

「HHT(希尔伯特黄变换)——ECG信号处理-第十三课」2025年5月19日
一、引言 心电信号(ECG)是反映心脏电活动的重要生理信号,其特征提取对于心脏疾病的诊断和监测具有关键意义。Hilbert - Huang Transform(HHT)作为一种强大的信号处理工具,在心电信号特征提取领域得到了广泛…...