Unleashing Generalization of End-to-End Autonomous Driving with Controllable Long Video Generation
论文目标
解决长时序一致性问题。
现有方法特点
- 采用ControlNet控制场景元素的几何位置
- 注入BEV布局并扩展至多视角维度来生成多视图图像
- 生成长时序多视角视频:时空一致性和精确可控性难以保证
- 简单地利用跨帧注意力机制与先前生成帧确保一致性
- 忽略了图像生成与视频生成在噪声模式上的差异以及跨帧注意力中的特征对齐问题
- 只能在短视频序列中保持时间一致性,Panacea仅能生成8帧,MagicDrive仅能生成7帧
- 现有方法仅能对生成视频进行粗粒度控制,局限于修改简单的全局属性(如通过简单文本提示改变天气),无法精细控制场景的整体建筑风格或单个物体的具体外观属性。
Delphi方法特点
- 针对现有方法存在两个不足:
- i) 现有方法对不同视图添加独立噪声而未考虑跨视图一致性,此为挑战一。
- ii) 现有方法采用简单的交叉注意力机制来融合具有不同感受野的多特征空间,此为挑战二。
- 噪声重初始化模块(用于建模帧间共享噪声),解决挑战一。
- 特征对齐的时间一致性模块,解决挑战二。
整体框架图
核心方法论
Delphi 基于扩散模型,包含两个关键模块 NRM 和 FTCM。
噪声重新初始化模块 (NRM)
问题:现有的多视图视频生成方法通常会为每个视图添加独立的噪声,而忽略了不同视角和时间步长之间的固有相关性和相似性。
解法:NRM 引入了跨视角和跨时序的共享噪声。它通过两个组件对这种共享噪声进行建模:
共享运动噪声(m):对于给定帧 (n) ,此噪声分量在所有视图 (V) 之间共享。它捕获场景中存在的常见运动模式。形式上,噪声潜在变量表示为:
其中:
表示在第 n 帧处 第 v 个 视角的噪声图像潜在变量
表示在第 n 帧处 第 v 个 视角干净图像潜在变量
是添加到第 n 帧 第v个视角 的独立噪声
是第 n 帧的所有视角的共享运动噪声,虽然带角标 v,实际上是一个相同值扩充到 V维
是所有第 n 帧的共享全景噪声
表示扩散过程中的方差调度参数。
sqrt 项是权重,以确保信号和噪声得到适当的平衡。
共享全景噪声 (p):对于给定视角 (v),此组件在所有帧 (N) 之间共享。它捕捉了场景的静态全景元素,这些元素随着时间的推移保持一致。
技术细节:噪声变量 m 和 p 是张量,其维度与正在生成的图像的潜在空间相匹配。它们的具体分布在论文中没有明确定义,而是在扩散模型训练过程中隐式学习的。通过添加共享噪声,鼓励模型生成空间和时间上一致的输出。
特征对齐时间一致性模块 (FTCM)
问题:以前方法中使用的简单交叉注意力机制无法有效地从前一帧网络深度的不同感受野捕获信息。这会导致次优的时间一致性。
解法:FTCM 通过在相邻帧中相同网络深度的对齐特征之间建立特征交互来确保时间一致性。它包含两个子模块:
场景感知注意力模块:在 U-Net 架构内的每个网络深度执行跨帧注意力。它有效地将全局样式信息从前一帧 n-1 传输到当前帧 n .
其中:
:query矩阵是当前第 n 帧在网络深度 i 下的潜在特征图。
:key 矩阵是上一帧n-1 在相同网络深度 i 下的潜在特征图。
:value 矩阵是同一网络深度 i 下上一帧 n -1 的潜在特征图。
:key的维度。
实例感知注意力模块:通过使用前景BBOX作为注意力mask来增强移动对象的连贯性。它计算相邻帧之间局部区域中的特征交互,特别关注BBOX定义的区域。
其中:
和
分别是当前帧和上一帧的前景对象的mask,重点关注前景BBOX定义的区域。
Zero表示以值 0 初始化的可训练卷积层。
技术细节:场景感知注意力和实例感知注意力模块在各自的 U-Net 块内在不同的层级运行。注意力机制采用标准的缩放点积注意力机制。但其核心在于逐层级的策略化应用机制,以及通过BBOX掩码聚焦相关物体区域的技术实现。
failure案例驱动框架
除了 Delphi 之外,该论文还提出了一个框架,该框架使用 Delphi 来提高端到端 AD 模型的性能。该框架包括:
收集failure案例:评估端到端模型并确定其失败的方案。
分析数据模式:使用预训练的视觉语言模型 (VLM) 来分析故障案例并确定故障的根本原因(例如,感知错误、稀有对象类别导致的规划错误、遮挡等)。
检索类似场景:基于VLM分析,使用BLIP-2相似度量从训练数据集中检索相似场景。
更新型号:使用 Delphi 生成新的合成训练数据,该数据与故障情况类似,但场景条件和对象外观有所不同。然后,使用新生成的数据结合原始训练数据更新(微调)端到端模型,以避免过度拟合。
通过利用长期视频生成和基于故障案例分析的有针对性的数据增强来改进端到端自动驾驶模型。核心技术新颖性在于 Delphi 中的共享噪声建模和特征对齐的时间一致性模块。
训练数据与配置说明
数据集:
- 使用的nuScenes 验证集上进行了大量实验,该数据集包含150个驾驶场景,
- 以密集交通和复杂街道驾驶场景为特征。每个场景约含40帧图像。
- 采用十类前景对象(即公交车、小汽车、自行车、卡车、拖车、摩托车)构建精细的街道前景物体布局
- 利用从地图扩展包获取的四类背景元素生成背景布局
超参数配置:
- 8块A800 80GB GPU
- 采用AdamW 优化器对扩散U-Net进行优化,学习率设置为5e-5。
- 原始图像从1600×900分辨率调整至512×512。训练阶段视频长度设为10帧,以前流式方式顺序生成视频帧。
- 推理阶段采用PLMS 采样器,配置50次采样步数。视频样本空间分辨率设置为512×512,帧数为40。
- 推理长度不受限制,可支持40帧或更长的生成需求。
- 模型在nuScenes数据集上训练,其中跨视图模型训练50,000步,时序模型训练20,000步。
实现的效果
- 能够生成长达12秒(40帧)且保持时序一致性的自动驾驶场景多视角视频,其生成长度达到当前最优视频生成方法的5倍。Delphi具备物体级与场景级双重控制能力,可有效增强生成数据的多样性。
- 提出故障案例驱动的生成框架,显著提升采样效率。使用纯训练数据集训练的长时序视频生成方法,通过生成仅占训练集总量4%(972个案例)的合成数据,即可将UniAD模型的碰撞率从0.34降低至0.27,性能提升达25%。
- 方法是首个(据我们所知)能够超越感知任务、自动提升端到端自动驾驶系统规划能力的数据引擎。