自动驾驶之DriveMM: All-in-One Large Multimodal Model for Autonomous Driving
1. 写在前面
工作之后,主要从事于偏工程比较多的内容, 很少有机会读论文了,但2025年,由于之前有些算法的背景, 后面可能会接触一些多模态大模型相关的工作,所以又调头有点往算法的方向偏移, 而算法呢,很重要的一点就是阅读论文。2025年,再拾起论文这块的工作。
今天分享的一篇论文,是24年12月中山大学深圳分校和美团的论文,算是自动驾驶界比较新的文章,叫DriveMM,介绍了一个通用的大型多模态模型, 该模型可以接收单张图片、多张图片、单个视频、多个视频以及lidar等多种格式的输入, 处理AD中的各种驾驶场景和任务(感知,预测,规控等), 还是非常powerful的。我们还是先把论文的每个模块介绍一遍,最后再教大家部署下这个模型, 本地跑下推理, 工作中读论文很重要的一个点是要考虑如何落地,所以读完论文掌握思路之后,我们还要看看代码落地。
- 论文地址:https://arxiv.org/pdf/2412.07689
- GitHub代码: https://github.com/zhijian11/DriveMM

Ok, let’s go!
大纲如下:
- 1. 写在前面
- 2. Abstract
- 3. Introduction
- 4. Releated Work
- 4.1 Vison-Language Driving Datasets
- 4.2 LMMs for Autonomous Driving
- 5. Methodology
- 5.1 Model Architecture
- 5.2 Data
- 5.3 Training
- 6. Experiment
- 7. Apply
2. Abstract
多模态模型(LMM)结合大语言模型(LMM), 在自动驾驶(Autonomous Driving, AD)领域展现出色的理解和解释能力。 但是当前数据驱动的AD方法往往集中在单个数据集和特定任务上, 忽视整体和泛化能力。为了弥补这些差距, 本文提出了提出了一体化LMM,DriveMM, 一个通用的大型多模态模型,该模型接收多样化的数据输入,例如图像和多视角视频,旨在有效处理AD中的各种驾驶场景和任务,比如感知、预测和规划等。
本文主要是3个卖点:

- 提出了一个新颖的通用多模态大模型, 该模型同时具备整体和泛化能力,可以处理多种AD任务,且对于zero-shot的数据集也非常ok
- 提出了一个在多模态数据上预训练+ 自动驾驶数据上微调DriveMM的范式(这个很重要)
- 介绍了非常全面的评估体系评测自动驾驶的LMMs, 主要包括6个公开数据集,4中输入类型,13中有挑战的任务等。
最后经过各个实验, 证明了自己模型在多个任务上实现了SOTA, 在zero-shot的任务上也达到了最强。
3. Introduction
引言里面首先指出了随着自动驾驶的发展, 最近几年也涌现除了非常多的AD数据集和多模态大模型(Large Multimodal Model, LMM), 旨在理解复杂的自动驾驶的场景任务。 这些LMM先经过预训练过程, 使其理解AD的基本视觉和语言信息,然后再用特定任务的数据进行微调,适应于不同的任务。 但之前的的这些模型和数据都是针对于特定的场景和任务, 这可能会丢失一些全局和泛化的能力。
作者这里列了个图:

左边是6个AD数据集, 类型有的是单图片,多图片(包括视角),单视频,多视频(包括视角), 不同数据集适用于不同的场景任务,比如感知的场景理解,区域理解,Key理解,道路理解,风险探测, 预测里面的状态预测,Motion预测,规化里面的行为检测,驾驶推理,Motion预测等,这都是自动驾驶领域的经典任务。
有了上面的问题, 作者这里的动机就是 大一统, 搞一个通用的大模型,可以接收多种type的输入, 解决上面的所有任务, 这些数据一块训练, 能够有更强大的通用能力和更好的泛化能力。

这里的通用能力指的是复杂和多样的任务场景, 而泛化表现是指zero-shot的数据。
首先,是重构了LMM能接收多视角的视觉信号,这个是通过提供了一个带有视角信息和传感器类型的Instruction实现的, 这样能允许模型识别障碍物之间的空间关系,分析动态驾驶环境里面的全部上下文。 在训练阶段的时候, 提出了一个新的范式(4阶段), 完成了DriveMM的预训练和微调。主要包括3个阶段的预训练和最后一个阶段的微调,最后得到了一个很强大的模型。
训练这部分是本篇paper的关键, 后面的内容里面详细介绍吧。
4. Releated Work
相关工作这块,作者主要是介绍了一些数据集和现用的一些AD领域的多模态大模型,这对于像我这样的小白了解背景知识还是很重要的, 也简单整理下。
4.1 Vison-Language Driving Datasets
这里主要是介绍一些训练LMM用到的AD场景数据集, 这个其实就是上面图里面的那些数据集。
- DRAMA, CODA-LM, DriveVLM, single-view data, 聚焦于风险object和corner cases learning
- NuScenes-QA, multi-view data, 主要是3D obj的关系
- MAPLM, multi-view data主要分析和识别道路条件等
在这篇paper里面,作者做的一个事情就是:

增强和标准化了自动驾驶数据集,这个思路也非常牛,后面会看下。
4.2 LMMs for Autonomous Driving
这块主要介绍LLMs在AD领域的一个应用。
早期, 有工作尝试用GPT3.5或者4 作为驾驶planners。后来DriveGpt4和RDA-Driver引进了端到端的LMMs产生控制信号和轨迹。 上面的工作主要是通过语言来处理驾驶行为。 LMDrive和DriveMLM是用了一个decoder直接从embedding预测控制信号。
为了提高感知和推理能力, 下面的几个方法是通过改进了模型的架构。 Reason2Drive 提出了一个先验的tokenizer来提出local image feature, BEV-InMLLM是把BEV的特征集成到了LMM里面。 OmniDrive用了一个Q-Former3D集成2D预训练的知识和3D的空间理解。 ELM组合了一个time-aware token模块来提高查询关于时序特征的准确率。
上面的这些方法可以大概了解, 算作背景知识的学习了。 这些方法还是受限于特定的场景和任务。
5. Methodology
终于到了paper的重点环节了, 这里面作者介绍DriveMM的相关方法。

这里先用数学语言简洁的表达了下模型, 接收的输入是 X v X_v Xv, 这个表示的多种多样的数据(各种格式的数据,图片,多视角图片,视频,多视角视频 或 lidar点云), X t X_t Xt是有来自于感知,预测,规划的一个提问。 F F F就是DriveMM,输出 Y t Y_t Yt就是模型针对提问作出的回答。
过整合多种数据和任务,DriveMM 能在一个场景广泛的VL数据上训练, 不同数据和任务之间能互补。
5.1 Model Architecture
目标是设计一个高效的模型架构, 同步处理S.I, M.I, S.V, M.V, 遵循LLaVA(Large Language and Vision Assistant)的主流LMM的设计。一个vision encoder, 一个projector 和一个LLM。

这里先宏观上解释下上面的图, 模型的输入格式是: < i m g s , q , a > <imgs, q, a> <imgs,q,a>, 也就是一张或者多张图片(可以是多视角), 再给定一个Q, 模型输出一个A, 当然这个Q和A要根据不同的任务去设计。感知任务, 预测任务和规划任务想要模型学习的东西不一样,自然就需要不同的Q和A。可以看看上图里面不同任务Q和A的内容。
那有了img, q之后呢, 就可以给到模型, 处理过程大概是这样子(上面图有点稍微简洁):

宏观上用这个图应该比较清洗了,下面介绍下每一部分。
- Vision Encoder: 本文用的是SigLip, 类似于clip的模型,目的是把一个输入为 n ∗ f ∗ c ∗ h ∗ w n*f*c*h*w n∗f∗c∗
相关文章:
自动驾驶之DriveMM: All-in-One Large Multimodal Model for Autonomous Driving
1. 写在前面 工作之后,主要从事于偏工程比较多的内容, 很少有机会读论文了,但2025年,由于之前有些算法的背景, 后面可能会接触一些多模态大模型相关的工作,所以又调头有点往算法的方向偏移, 而算法呢,很重要的一点就是阅读论文。2025年,再拾起论文这块的工作。 今天…...
Spring Boot 配置(官网文档解读)
目录 摘要 Spring Boot 配置加载顺序 配置文件加载顺序 Spring Boot 配置加载方式 Value Value 注解简单示例 ConfigurationProperties 启动 ConfigurationProperties ConfigurationProperties 验证 ConfigurationProperties 与 Value 对比 Autowired Autowired 自…...
SparkSQL数据源与数据存储
文章目录 1. 大数据分析流程2. Spark SQL数据源2.1 SparkSQL常见数据源2.2 SparkSQL支持的文本格式2.3 加载外部数据源步骤 3. 本地文件系统加载数据3.1 本地文件系统加载JSON格式数据3.1.1 概述3.1.2 案例演示 3.2 本地文件系统加载CSV格式数据3.2.1 概述3.2.2 案例演示 3.3 本…...
【BQ3568HM开发板】开箱测试
引言 很荣幸入选了“电子发烧友”的贝启科技BQ3568HM开源鸿蒙开发板评测活动,上周在出差,今天才有机会开箱一下开发板,简单测试一下。 开机测试 插上电源开机后,系统显示的是润和的DAYU的logo,看来厂商提供的软件包…...
3D 模型格式转换之 STP 转 STL 深度解析
在 3D 模型的多元世界中,格式如同语言,不同格式适用于不同场景。STP 和 STL 是两种常见格式,本文将深入剖析 STP 转 STL 的相关内容。 一、STP 与 STL 格式基础 (一)STP 格式剖析 STP,即标准交换格式&am…...
MySQL数据库的数据文件保存在哪?MySQL数据存在哪里
在安装好MySQL数据库使用一段时间后,会产生许多的数据库和数据。那这些数据库的数据文件存放在本地文件夹的什么位置呢 一、默认位置 一般来说MySQL数据库的数据文件都是存放在data文件夹之中,但是根据使用的存储引擎不同,产生的一些文件也…...
低代码系统-UI设计器核心介绍
为什么会有UI设计器 最开始的UI设计器其实是为了满足企业门户的需求而产生的,后面因为表单设计器的功能有限,所以干脆就用了一套设计器。 UI设计器从功能使用上来说,跟表单设计器没有多大区别,只是多了组件和加强了事件和组件的能…...
ubuntu20.04有亮度调节条但是调节时亮度不变
尝试了修改grub文件,没有作用,下载了brightness-controllor,问题解决了。 sudo add-apt-repository ppa:apandada1/brightness-controller sudo apt update sudo apt install brightness-controller 之后在应用软件中找到brightness-contro…...
USART_串口通讯轮询案例(HAL库实现)
引言 前面讲述的串口通讯案例是使用寄存器方式实现的,有利于深入理解串口通讯底层原理,但其开发效率较低;对此,我们这里再讲基于HAL库实现的串口通讯轮询案例,实现高效开发。当然,本次案例需求仍然和前面寄…...
【前端】CSS学习笔记(2)
目录 CSS3新特性圆角阴影动画keyframes 创建动画animation 执行动画timing-function 时间函数direction 播放方向过渡动画(transition) 媒体查询设置meta标签媒体查询语法 雪碧图字体图标 CSS3新特性 圆角 使用CSS3border-radius属性,你可以…...
【esp32小程序】小程序篇02——连接git
一、创建仓库 进入gitee官网,登录(如果没有gitee账号的就自行注册一下)。 点击号-->新建仓库 填写好必填信息,然后点击“创建” 二、微信开发者工具配置 在微信开发者工具打开我们的项目。按下面的步骤依次点击 三、验证 点…...
echarts柱状图象形图,支持横向滑动
展示效果 代码 let xData [2020,2021,2022,2023, 2024, 2025, 2026]; let yData [267,2667,2467,2667, 3234, 4436,666]; option {grid: {left: 5%,right: 5%,top: 15%,bottom: 5%,containLabel: true},// 滚动条dataZoom: [{show: true,type: inside,zoomLock: true,throt…...
YOLO系列代码
Test-Time Augmentation TTA (Test Time Augmentation)是指在test过程中进行数据增强。其思想非常简单,就是在评测阶段,给每个输入进行多种数据增广变换,将一个输入变成多个输入,然后再merge起来一起输出,形成一种ensemble的效果,可以用来提点。参考:…...
HTML根元素<html>的语言属性lang:<html lang=“en“>
诸神缄默不语-个人CSDN博文目录 在编写HTML页面时,通常会看到<html lang"en">这行代码,特别是在网页的开头部分,就在<!DOCTYPE html>后面。许多开发者可能对这个属性的含义不太了解,它到底有什么作用&…...
opencv在图片上添加中文汉字(c++以及python)
opencv在图片上添加中文汉字(c以及python)_c opencv绘制中文 知乎-CSDN博客 环境: ubuntu18.04 desktopopencv 3.4.15 opencv是不支持中文的。 这里C代码是采用替换原图的像素点来实现的,实现之前我们先了解一下汉字点阵字库。…...
Perplexity AI 周六向 TikTok 母公司字节跳动递交了一项提案
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
Java连接TDengine和MySQL双数据源
git文件地址:项目首页 - SpringBoot连接TDengine和MySQL双数据源:SpringBoot连接TDengine和MySQL双数据源 - GitCode 1、yml配置 spring:datasource:druid:mysql:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/testusername: roo…...
Web3 游戏周报(1.13 - 1.19)
回顾上周的区块链游戏概况,查看 Footprint Analytics 与 ABGA 最新发布的数据报告。 【1.13–1.19】Web3 游戏行业动态 索尼区块解决方案实验室 (Sony BSL) 宣布其以太坊 L2 区块链 Soneium 主网上线。Hyve Labs 融资 275 万美元,推动 Web3 游戏基础设…...
[深度学习]机器学习和深度学习
机器学习和深度学习 文章目录 机器学习和深度学习人工智能与机器学习和深度学习的关系侠义的机器学习深度学习的概念常见的神经网络的输入形式想要的输出(任务类别)深度学习的流程 线性函数与多层神经元 人工智能与机器学习和深度学习的关系 所谓人工智能就是,让计算…...
区块链技术
区块链是一个信息技术领域的术语,它代表了去中心化、安全性高、透明度强的分布式账本技术。以下是对区块链的详细介绍: 一、定义与基本原理 区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案…...
基于2D工程图几何特征与梯度提升模型的制造成本智能预测
1. 项目概述:从图纸到报价的智能革命在制造业,尤其是像汽车零部件这样的离散制造领域,报价速度直接决定了订单的生死。传统上,拿到一张新的2D工程图(DWG格式),成本工程师需要花上几天甚至几周时…...
3步解锁专业级MMD创作:Blender插件如何重塑二次元动画工作流
3步解锁专业级MMD创作:Blender插件如何重塑二次元动画工作流 【免费下载链接】blender_mmd_tools MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance. 项目地址: https://gitcode.com/gh_mirrors/bl/blender_mmd_tools …...
终极艾尔登法环帧率解锁指南:轻松突破60FPS限制
终极艾尔登法环帧率解锁指南:轻松突破60FPS限制 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/EldenRing…...
翻译 GDB 官方文档
翻译 GDB 官方文档项目地址官方文档地址下载源码包编译html运行翻译程序项目地址 https://github.com/shootercheng/gdb-translate.git 项目结构 $ tree -L 1 . ├── cmd ├── go.mod ├── input ├── internal ├── LICENSE ├── output ├── README.md ├─…...
举一个具体例子说明为什么索引不是越多越好,举具体字段
文章目录1. 核心舞台:笔记表 (t_note) 结构设计🚨 错误的操作:2. 结合具体字段,拆解三大翻车现场现场一:给 view_count(浏览量)加索引 —— 导致写放大,拖垮数据库现场二:…...
如何快速上手DeepPurpose?5分钟完成你的第一个药物-靶点相互作用预测模型
如何快速上手DeepPurpose?5分钟完成你的第一个药物-靶点相互作用预测模型 【免费下载链接】DeepPurpose A Deep Learning Toolkit for DTI, Drug Property, PPI, DDI, Protein Function Prediction (Bioinformatics) 项目地址: https://gitcode.com/gh_mirrors/de…...
DAIR-V2X-V数据集深度评测:与KITTI、nuScenes比,它到底强在哪?
DAIR-V2X-V数据集深度评测:与KITTI、nuScenes比,它到底强在哪? 当技术团队着手开发面向中国道路的自动驾驶系统时,数据集的选择往往成为第一个关键决策点。过去十年间,KITTI和nuScenes等国际数据集一直是行业标杆&…...
三步让小爱音箱秒变AI语音助手:MiGPT深度配置指南
三步让小爱音箱秒变AI语音助手:MiGPT深度配置指南 【免费下载链接】mi-gpt 🏠 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 还在为小爱音箱的"人工智障&q…...
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包 【免费下载链接】BioAge Biological Age Calculations Using Several Biomarker Algorithms 项目地址: https://gitcode.com/gh_mirrors/bi/BioAge BioAge生物年龄计算工具包是一款基于R语言开发的强…...
基于MAX78000的边缘AI语音识别:从模型训练到嵌入式部署实战
1. 项目概述与核心思路最近在捣鼓一个挺有意思的小项目,我把它叫做“声控转向控制器”。简单来说,这玩意儿能听懂你说的几个特定单词,比如“左转”、“右转”、“前进”、“后退”,然后控制对应的LED灯亮起。你可能会想࿰…...
