0

0

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

WBOY

WBOY

发布时间:2023-10-23 11:13:01

|

1073人浏览过

|

来源于51CTO.COM

转载

笔者的一些个人思考

在自动驾驶领域,随着bev-based子任务/端到端方案的发展,高质量的多视图训练数据和相应的仿真场景构建愈发重要。针对当下任务的痛点,“高质量”可以解耦成三个方面:

  1. 不同维度上的长尾场景:如障碍物数据中近距离的车辆以及切车过程中精准的朝向角,以及车道线数据中不同曲率的弯道或较难采集的匝道/汇入/合流等场景。这些往往靠大量的数据采集和复杂的数据挖掘策略,成本高昂。
  2. 3D真值-图像的高度一致:当下的BEV数据获取往往受到传感器安装/标定,高精地图以及重建算法本身的误差影响。这导致了我们很难保证数据中的每一组【3D真值-图像-传感器参数】 的精确一致。
  3. 满足上述条件基础上的时序数据:连续帧的多视角图像和相应真值,这对于当前的感知/预测/决策/端到端等任务都是必不可少的。

而对仿真来说,可以直接通过布局进行满足上述条件的视频生成,无疑是最直接的multi-agent传感器输入的构造方式。而DrivingDiffusion则从一个新的角度解决了上述问题。

什么是DrivingDiffusion?

  • DrivingDiffusion是一个用于自动驾驶场景生成的扩散模型框架,实现了布局控制的多视角图像/视频生成并分别实现了SOTA。
  • DrivingDiffusion-Future作为自动驾驶世界模型有根据单帧图像预测未来场景视频并根据语言提示影响主车/他车运动规划的能力。

DrivingDiffusion生成效果是怎么样的?

有需要的同学可以先看看项目主页:https://drivingdiffusion.github.io

(1)DrivingDiffusion

布局控制的多视角图像生成

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

图中展示了以布局投影作为输入的multi-view图像生成效果。

调整布局:精确控制生成结果

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

图中上半部分展示了生成结果的多样性以及下文中模块设计的重要性。下半部分展示了对正后方的车辆进行扰动的结果,包含移动,转向,碰撞甚至悬浮在空中的场景的生成效果。

布局控制的多视角视频生成

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路



上:DrivingDiffusion在nuScenes数据上训练后的视频生成结果。下:DrivingDiffusion在大量私有真实数据上训练后的视频生成结果。

(2)DrivingDiffusion-Future

根据输入帧+文本描述生成后续帧

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

使用单帧图像作为输入,根据对主车/他车的文本描述构建后续帧驾驶场景。图中前三行和第四行分别展示了对主车和他车行为进行文本描述控制后的生成效果。(绿框为输入,蓝框为输出)

根据输入帧直接生成后续帧

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

无需其他控制,仅使用单帧图像作为输入,预测后续帧驾驶场景。(绿框为输入,蓝框为输出)

DrivingDiffusion是如何解决上述问题的?

DrivingDiffusion首先人为地构造场景中的所有3D真值(障碍物/道路结构),在将真值投影为Layout图像后,以此为模型输入得到多相机视角下的真实图像/视频。之所以没有直接使用3D真值(BEV视图或按照编码后的实例)作为模型输入,而是使用参数进行投影后输入,是为了消除系统性的3D-2D一致性误差。(在这样的一组数据中,3D真值车辆参数都是人为地按照实际需求构造的,前者带来了随意构造罕见场景数据能力,后者消除了传统数据生产中几何一致性的误差。)

此时还剩下一个问题:生成的图像/视频质量能否满足使用需求?

提到构造场景,大家往往会想到使用仿真引擎,然而其生成的数据和真实数据存在着较大的domain gap。GAN-based 方法的生成结果往往和实际真实数据的分布存在一定bias。而Diffusion Models基于马尔可夫链通过学习噪声来生成数据的特性,其生成结果的保真度较高,更适合替代真实数据使用。

DrivingDiffusion依照人为构造的场景车辆参数,直接生成时序multi-view视图,不仅可以作为下游自动驾驶任务的训练数据,还可以构建用于反馈自动驾驶算法的仿真系统。

Vozo
Vozo

Vozo是一款强大的AI视频编辑工具,可以帮助用户轻松重写、配音和编辑视频。

下载

这里的“人为构造的场景”仅包含障碍物和道路结构信息,但DrivingDiffusion的框架可以轻松引入标志牌,红绿灯,施工区域等layout信息甚至low-level的occupancy grid/depth map等控制模式。

DrivingDiffusion方法概述

生成多视角视频时,有几个难点:

  • 相较常见的图像生成,多视角视频生成新增了视角时序两个维度,如何设计一个可以进行长视频生成的框架?如何保持跨视角一致性和跨帧一致性?
  • 从自动驾驶任务的角度,场景中的实例至关重要,如何保证生成实例的质量?

DrivingDiffusion主要设计了一个通用的训练框架,将stable-diffusion-v1-4模型作为图像的预训练模型,并使用3D伪卷积将原有图像输入膨胀,用于处理视角/时序新增的维度后输入3D-Unet,在得到了处理新增维度的扩散模型后,进行了交替迭代式的视频扩展,通过关键帧控制微调的操作保障了短时序和长时序的整体一致性。此外,DrivingDiffusion提出了Consistency Module和Local Prompt,分别解决了跨视角/跨帧一致性和实例质量的问题。

DrivingDiffusion生成长视频流程

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

  1. 单帧多视角模型:生成multi-view关键帧,
  2. 以关键帧作为额外控制,多视角共享的单视角时序模型:并行对各个view进行时序扩展,
  3. 以生成结果为额外控制的单帧多视角模型:时序并行地微调后续帧,
  4. 确定新关键帧并通过滑动窗口延长视频。

跨视角模型和时序模型的训练框架

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

  • 对于multi-view模型和时序模型来说,3D-Unet的扩展维度分别为视角和时间。二者都有相同的布局控制器。作者认为后续帧可以从multi-view关键帧获取场景中的信息,并隐式地学习不同目标的关联信息。二者分别使用了不同的一致性注意力模块和相同的Local Prompt模块。
  • 布局编码:障碍物类别/实例信息和道路结构分割布局,分别以不同的固定编码值编码为RGB图像,经过encode后输出布局token。
  • 关键帧控制:所有的时序扩展过程,都采用了某一关键帧的multi-view图像,这是基于在短时序内的后续帧可以从关键帧获取信息的假设。所有的微调过程都以关键帧和其生成的后续某帧的multi-view图像作为额外控制,输出优化该帧跨视角一致性后multi-view图像。
  • 基于特定视角的光流先验:对于时序模型,训练时只进行某个视角下数据的采样。额外使用提前统计的该视角图像下每个像素位置的光流先验值,编码后作为相机ID token,进行类似扩散过程中的time embedding对hidden层的交互控制。

Consistency Module & Local Prompt

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

Consistency Module分为两部分:一致性注意力机制一致性关联损失

一致性注意力机制关注了相邻视角和时序相关帧的交互,具体来说对于跨帧一致性仅仅关注存在overlap的左右相邻视角的信息交互,对于时序模型,每一帧只关注关键帧以及前一帧。这避免了全局交互带来的巨大计算量。

一致性关联损失通过像素级关联并回归位姿来添加几何约束,其梯度由一个预先训练的位姿回归器提供。该回归器基于LoFTR添加位姿回归head,并在相应数据集的真实数据上使用位姿真值进行训练。对于多视角模型和时序模型该模块分别监督相机相对位姿和主车运动位姿。

Local PromptGlobal Prompt配合,复用了CLIP和stable-diffusion-v1-4的参数语义,对特定类别实例区域进行局部增强。如图所示,在图像token和全局的文字描述提示的交叉注意力机制基础上,作者对某类别进行local prompt设计并使用该类别mask区域的图像token对local prompt进行查询。该过程最大程度地利用了原模型参数中在open domain的文本引导图像生成的概念。

DrivingDiffusion-Future方法概述

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

对于未来场景构建任务来说,DrivingDiffusion-Future使用了两种方式:一种是直接通过第一帧图像预测后续帧图像(视觉分支),并使用帧间光流作为辅助损失。这种方式较简单,但根据文本描述对后续生成帧进行生成的效果一般。另一种方式是在前者基础上新增了概念分支,该分支通过第一帧BEV视图预测后续帧BEV视图,这是因为对BEV视图的预测有助于模型捕捉驾驶场景的核心信息和建立概念。此时文本描述同时作用于两个分支,并通过BEV2PV的视角转换模块将概念分支的特征作用于视觉分支,其中视角转换模块的部分参数是通过使用真值图像替代噪声输入预先训练的(并在后续训练中冻结)。值得注意的是,主车控制文本描述控制器他车控制/环境文本描述控制器是解耦的。

实验分析

为了评估模型的性能,DrivingDiffusion采用帧级Fréchet Inception Distance (FID)来评估生成图像的质量,相应地使用FVD来评估生成视频质量。所有指标都是在nuScenes验证集上计算的。如表1所示,和自动驾驶场景中的图像生成任务BEVGen 和视频生成任务DriveDreamer相比,DrivingDiffusion在不同设定下的性能指标都有较大优势。

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

尽管FID等方法通常用于衡量图像合成的质量,但它们并没有完全反馈任务的设计目标,也没有反映不同语义类别的合成质量。由于任务致力于生成与3D布局一致的多视图图像,DrivingDiffuison提出使用BEV感知模型指标来衡量一致性方面的性能:利用CVT和BEVFusion的官方模型作为评测器,采用与nuScenes验证集相同的以真实3D布局为条件的生成图像,对每组生成的图像进行CVT和BevFusion推理,然后将预测的结果与真实结果进行比较,对其中可驾驶区域的平均交叉路口(mIoU)分数和所有对象类的NDS进行了统计,如表2所示。实验结果表明,对合成数据评测集的感知指标和真实评测集的指标十分接近,这体现了生成结果和3D真值的高度一致性和图像质量的高保真度。

首个多视角自动驾驶场景视频生成世界模型 | DrivingDiffusion: BEV数据和仿真新思路

除了上述实验外,DrivingDiffusion针对其主要解决的问题——提升自动驾驶下游任务表现,进行了加入合成数据训练的实验。表3展示了合成数据增强在BEV感知任务中实现的性能改进。在原始训练数据中,存在长尾分布的问题,特别是小目标、近距车辆和车辆定向角度。DrivingDiffusion专注于为这些样本有限的类别生成额外的数据来解决这个问题。在增加了专注于改善障碍物朝向角度的分布的2000帧数据后,NDS略有改善,而mAOE从0.5613显著下降到0.5295。在使用6000帧更全面,更专注于罕见场景的合成数据来辅助训练后,可以观察到nuScenes验证集有显著的增强:NDS由0.412上升至0.434, mAOE由0.5613下降至0.5130。这证明了合成数据的数据增强给感知任务带来的显著的提升。使用者可以根据实际需求,对数据中各个维度的分布进行统计,再针对性地使用合成数据进行补充。

DrivingDiffusion的意义和未来工作

DrivingDiffuison同时实现了多视角的自动驾驶场景视频生成和未来预测的能力,对自动驾驶任务有着重大意义。其中布局参数全部人为构造且3D-2D之间的转换通过投影而非依赖可学习的模型参数,这消除了在以往获取数据过程中的几何误差,有较强的实用价值。同时DrivingDiffuison的可扩展性极强,支持新增场景内容layout以及额外的controller,同时也可以通过超分辨率和视频插帧技术无损地提升生成质量。

在自动驾驶仿真中,关于Nerf的尝试越来越多。然而在街景生成这一任务上,对动静态内容的分离,大范围街区重建,解耦天气等维度的表观控制等等,带来了巨大工程量,此外Nerf往往需要再特定范围场景内进行训练后才可支持后续的仿真中的新视角合成任务。而DrivingDiffusion天然包含了一定的通识先验,包括视觉-文字的联系,对视觉内容的概念理解等,可以仅通过构造布局快速地根据需求建立一段场景。但正如上文所述,整个流程较为复杂,且对于长视频的生成需要后处理的模型微调和扩展。DrivingDiffusion将继续探索视角维度和时间维度的压缩,以及结合Nerf进行新视角生成和转换,持续提升生成质量以及可扩展性。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6022

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

777

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1041

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1059

2024.03.01

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

73

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

23

2025.11.16

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

36

2025.11.17

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

31

2025.11.27

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

10

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 7.2万人学习

Rust 教程
Rust 教程

共28课时 | 3.8万人学习

Vue 教程
Vue 教程

共42课时 | 5.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号