专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

MagicDriveDiT:具有自适应控制的自动驾驶高分辨率长视频生成

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2025-01-16 00:06

正文

24年11月来自香港中文大学、香港科技大学和华为公司的论文“MagicDriveDiT: High-Resolution Long Video Generation for Autonomous Driving with Adaptive Control”。

扩散模型的快速进步极大地改善视频合成,特别是可控视频生成,这对于自动驾驶等应用至关重要。然而,现有的方法受到可扩展性和控制条件集成方式的限制,无法满足自动驾驶应用对高分辨率和长视频的需求。本文介绍一种基于 DiT 架构的方法 MagicDriveDiT,并解决这些挑战。该方法通过流匹配增强可扩展性,并采用渐进式训练策略来管理复杂的场景。通过结合时空条件编码,MagicDriveDiT 实现对时空潜变量的精确控制。综合实验表明,其在生成更高分辨率、更多帧的逼真街景视频方面性能卓越。 Magic-DriveDiT 显著提高视频生成质量和时空控制,扩展其在自动驾驶各种任务中的可能应用。

如图所示 MagicDriveDiT 生成具有多视图和控制支持的高分辨率长视频,大大超出以前研究的限制 [11, 12, 15, 35]。



随着扩散模型的快速发展,视频合成[1–3, 14]取得重大进步。可控视频合成[16,20]极大地促进合成数据在众多下游应用中的使用[37]。特别是在自动驾驶领域,MagicDrive[11]、DriveDreamer[35]等技术展示可控的多视角视频合成如何生成高质量的街景视频,有效地辅助下游任务,提升自主系统的性能和可靠性。

高分辨率长视频合成,是内容生成领域的研究重点[5,27],也是自动驾驶技术的高度需求。具体来说,自动驾驶感知模型需要更高分辨率的输入来辨别数据中的细节和远处的目标[22]。视频合成在三维重建中的应用也需要高分辨率来捕捉复杂的细节[10,45]。另一方面,长视频为更全面地评估自动驾驶算法提供更多内容[42]。从技术角度来看,高分辨率是提升生成质量的直接方法 [5],而长视频包含更多动态内容 [40],有助于模型有效地学习世界规律 [3]。

然而,合成高分辨率长视频面临两大挑战。首先,数据量的增加需要生成模型具有较高的可扩展性,才能有效支持高质量的合成。其次,视频生成中的几何控制带来重大挑战。先前的可控技术主要用于图像生成[11、18、27、35、38、39],重点关注空间潜空间。实现高分辨率长视频合成,需要集成空间和时间信息的 3D 压缩 VAE [3, 19, 43, 47]。如图所示,利用时空潜因素会使以前的控制方法显得不足。这需要新的方法来有效地管理合成视频中的元素,确保在给定条件下的空间和时间一致性。


自动驾驶中的视频生成 。视频生成对于自动驾驶至关重要,可用于训练感知模型[11]、测试[42]和场景重建[10,45]。它要求广泛的视野和动态物体运动处理,需要生成模型的可控性[11]和具有更多帧[10]和多摄像机视角[45]的高分辨率视频制作[22]。扩散模型已经改进可控的多视角视频生成,但现有模型 [18、27、38、39、46] 缺乏足够的分辨率和帧数来用于数据引擎应用 [10、11、45] 和策略测试 [17]。

扩散模型和 DiT 架构 。扩散模型[13, 32, 48]通过学习从高斯噪声到样本的去噪步骤来生成数据,广泛应用于图像[8, 31, 37]和视频生成[14]。从建模的角度来看,流匹配[9, 23]简化扩散模型的建模,提高了训练和推理的效率。从实现的角度来看,扩散模型的架构从 UNet [13] 转变为 DiT,因为它具有更好的可扩展性 [6, 30],尤其是对于高分辨率任务 [5]。

条件生成 。条件生成对于利用生成模型的各种应用至关重要。 LDM [31] 中的交叉注意层和 ControlNet [44] 对网格状控制信号的加性编码,是可控扩散生成的主要方法。在街景生成中,MagicDrive[11]和MagicDrive3D[10]集成了3D边框、BEV地图、自车轨迹和相机姿势,实现多视角街景合成。然而,这些方法仅限于空间编码,不能直接适用于时空 VAE 潜函数 [43],如上图所示。


Magic DriveDiT 是一种基于 DiT 架构的新方法,旨在解决上述高分辨率、长街景视频合成和精确控制的挑战。

给定一个框架描述序列 {S_t}, t ∈ {0, . . . , T },目标是从潜变量 z ∼ N (0, I) 生成相应的街景视频,即 {I_c, t} = G({S_t}, z),其中 c ∈ {0,. ..,C} 表示 C 个相机视图。这里,高分辨率说明 I 的分辨率高,长视频说明 T 很大。

问题描述 。为了描述街景视频,采用[10,11]中概述的条件。具体来说,帧描述 S_t ={C, M_t, B_t, L, Tr_t^0} 包括相机姿态 {C_c} = [R_c, t_c]、道路地图 M_t ∈ {0, 1}^w×h×c 表示 BEV 中一个 w × h 大小的道路区域,具有 c 个语义类别,3D 边框 B_t = {(c_i, b_i)},其中每个目标由一个边框 b_i = {(x_j, y_j, z_j)} 和类 c_i、文本 L 描述添加整个视频的信息(例如天气和时间)以及自车辆轨迹 Tr_t^0,该轨迹描述从每帧的 LiDAR 坐标到第一帧的转换,即 Tr_t^0 =[R_t^0, t_t^0]。除 Tr_t^0 之外的所有几何信息,都是根据本车的本地 LiDAR 坐标参数化的。

LDM 和流匹配 。对于高分辨率图像生成,Rombach [31] 提出潜扩散模型 (LDM),使用预训练的 VAE 进行图像下采样,并使用扩散模型进行潜生成。这种方式在图像生成[6, 9]和视频生成[1, 3, 47]中被广泛采用。本文MagicDriveDiT 也是基于 VAE+扩散 公式。随着扩散模型的最新进展,Esser [9] 提出通过无模拟的校正流 [24, 25] 和 v-预测损失 [9] 来训练大规模扩散模型。

对于模型架构,如图所示,Magic-DriveDiT 引入一种基于 DiT 的新扩散模型,用于可控街景生成,利用 Zheng[47]的 STDiT-3 块。这些块具有单独的空间和时间模块,以增强信息处理。


架构设计上包含两项重大修改。首先,为了方便多视图生成,多视图 DiT (MVDiT) 块集成一个跨视图注意层 [11],如图左侧所示。其次,考虑到处理多个控制元素的需要,MagicDriveDiT它使用交叉注意[31]来处理文本、框、相机视图和轨迹,同时使用附加分支[44]来为地图注入控制信号。

然而,控制信号的空间编码[11, 27, 38, 39, 46]与时空潜变量不相容。因此,每个控制信号的编码器都被重新制定,例如上图右侧的时空边框编码器。

此外,MagicDriveDiT 采用渐进式引导训练策略,从图像过渡到低分辨率和短视频,最终过渡到高分辨率和长视频,以增强扩散模型的收敛。最后的训练阶段结合可变长度和分辨率的视频,允许模型生成不同分辨率的图像和视频,并推断出超出训练设置的更长帧数。

DiT 和 3D VAE 。训练用于高分辨率和长视频生成的扩散模型需要大量计算,并且需要大量的 GPU 内存。 DiT 和 3D VAE 在扩展这些方面的扩散模型方面发挥着关键作用。

正如 Peebles &Xie [30] 所指出的,模型 Gflops 和 FID 之间存在很强的负相关性,这使得 DiT 在计算效率方面比 UNet [11] 等架构更可取。对于 GPU 内存,3D VAE 提供时间下采样。典型的 2D VAE [31] 将图像的高度和宽度都压缩 8 倍,实现 64 倍的压缩比。相比之下,3D VAE [43] 将时间信息压缩 4 倍,得到 256 倍的压缩率,显著减少 pach 化潜变量的序列长度和内存消耗,这对 Transformer [7] 尤其有益。此外,架构统一的趋势 [34] 使得 DiT 能够利用先进的并行化方法(例如序列并行 [47])来克服单个 GPU 内存限制,从而实现更高的分辨率和更长的视频生成。

采用 3D VAE 的一个主要挑战是几何控制。几何控制在空间上管理每帧内容。使用 2D VAE,T 帧被编码为 T 潜变量。使用 T 几何描述子 {S_t},t ∈ {1,...,T},视频几何控制退化为图像上的空间控制 [28],因为控制信号和潜变量信号在时间上是对齐的。然而,3D VAE 产生 T /f 个潜变量(其中 f 是时间压缩比),使控制信号与潜变量不一致,并导致以前的控制技术 [11, 27, 39] 无效。

时空调节技术 。对于 MagicDriveDiT 中的几何控制,引入时空编码来将控制信号与时空潜变量对齐。这涉及重新调整场景描述子(S_t)内的地图(M_t)、边框(B_t)和轨迹(Tr_t^0)。地图以网格数据的形式呈现,易于管理。通过扩展 ControlNet 的 [44] 设计,利用 3D VAE 中具有新可训练参数的时间下采样模块,来对齐控制块和基础块之间的特征,如图 (a) 所示。


对于 3D 框,对不可见框应用填充,以在视图和帧之间保持一致的框序列长度。采用带有时间Transformer和 RoPE [33] 的下采样模块来捕获时间相关性,创建与视频潜向量对齐的时空嵌入,如上图 (b) 所示。通过将用于边框的 MLP 替换为用于相机姿势的 MLP,边框的时空编码器也可以适应自车轨迹 (Tr_t^0)。[11]所有的下采样率都与所采用的 3D VAE [43] 一致,即分别以 8n 或 8n + 1 作为输入,以 2n 或 2n + 1 作为输出。

为了加快训练期间的模型收敛,根据单次训练迭代的持续时间来安排训练数据。具体来说,采用三阶段训练方法:最初使用低分辨率图像进行引导训练,过渡到低分辨率短视频,最终采用高分辨率长视频训练。

这一训练策略基于两点观察。首先,在可控生成中,模型在学习可控性之前最初会优化更高的内容质量,Gao [12] 也观察到这种模式 。从头开始训练模型需要经过多次迭代才能收敛。渐进式过渡方法使模型能够更快地获得可控性。其次,在阶段转换过程中,与长视频可控性相比,模型能够更快地适应高分辨率[5]。因此,从第一阶段开始训练可控性,并专注于使用(短)视频而不是图像来优化更多迭代。

在训练流程的最后两个阶段,结合不同分辨率和长度的视频进行训练。具体来说,在第二阶段,使用长度最多为 65 帧、最大分辨率为 424×800 的视频进行训练。在第三阶段,将最多 241 帧(数据集的最大帧数)和最多 848×1600(数据集的最大分辨率)分辨率的视频混合在一起。

与使用单一分辨率和长度的训练相比,这种混合方法允许模型快速理解分辨率和帧数维度上的信息。因此,最终模型支持生成各种分辨率(224×400、424×800、848×1600)和帧数(1-241 帧)。它还支持在两个维度上进行外推,允许超出训练配置进行采样,例如 129 帧的 848×1600 或 241 帧的 424×800。

在应用中,通过可变长度和分辨率训练,Magic-DriveDiT 可以有效地生成超出训练设置长度的视频。尽管对最大 129×424×800 和 241×224×400 的视频进行训练,MagicDriveDiT 成功生成 241×424×800 的视频(nuScenes 的全长),这是训练样本长度的两倍,如图所示。为了进一步验证此功能,比较短视频(17 帧)的前 16 帧 FVD 和长视频(65 帧及以上)的每 16 帧 FVD。16 帧 FVD 在可见和推断的配置中保持一致,延伸到 129×848×1600×6 代(这不是上限)。这证实该模型强大的泛化能力。







请到「今天看啥」查看全文