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

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_t0} 包括相机姿态 {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_t0,该轨迹描述从每帧的 LiDAR 坐标到第一帧的转换,即 Tr_t0 =[R_t0, t_t0]。除 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 代(这不是上限)。这证实该模型强大的泛化能力。

在这里插入图片描述

受到Zheng [47]的启发,采用序列并行来训练具有较大序列长度的 DiT 模型。如图所示,将空间维度上的每个输入划分到不同的 GPU 上。大多数操作可以在单个 GPU 内执行;然而,注意障碍需要沟通。在图的右侧,演示了通信过程,其中收集完整序列,但注意头分布在不同的 GPU 上。这种方法允许 GPU 之间进行 P2P 通信,同时保持大致相等的负载。

请添加图片描述

MagicDriveDiT 通过渐进式引导方法进行训练,具有可变长度和分辨率数据配置。因此,数据混合方法对应三个训练阶段。

受[47]的启发,为了最大限度地利用GPU资源,采用类似桶(bucket)的方法来调整数据组成。具体来说,每个GPU进程(或序列并行通信组)只加载一种类型的数据,以保证批次维度的对齐。以批次大小 = 1 时迭代时间最长的视频格式训练时间为基准,调整其他数据格式的批次大小,使得每种类型的运行速度大致相同。值得注意的是,在第三阶段训练期间,由于完整视频片段的数量有限,在一个 epoch 内重复此类数据。这确保不同类型的数据在一个epoch内具有相似大小的批次数。

nuScenes 数据集包括 12Hz 未注释数据和 2Hz 注释数据。根据实验,高帧率视频更有利于生成模型学习。因此,遵循[11],使用ASAP[36]将 2Hz 注释插值到 12Hz 注释。虽然插值结果并不完全准确,但并不影响视频生成的训练。

用于生成的语义类别。遵循[11]进行数据设置。具体来说,对于目标,十个类别包括汽车、公共汽车、卡车、拖车、摩托车、自行车、工程车辆、行人、障碍物和交通锥。对于道路地图,八个类别包括可行驶区域、人行横道、人行道、停车线、停车区、道路分隔线、车道分隔线和路障。

优化训练。使用 Adam 优化器和 8e−5 的恒定学习率训练扩散模型,并在最后两个阶段进行 3000 步线性预热。主要使用 32 个 NVIDIA A800 GPU(80G)进行训练。模型也可以用Ascend 910B(64G)进行训练。每个阶段的批次大小根据迭代速度进行设置,遵循[47]的 bucket 策略。例如,在第二阶段中,将 33×424×800 的批次大小设置为 1,这大约需要 30 秒/次。然后将批次大小设置为其他视频类型,以实现大约 30s/次。该策略可以保证不同GPU进程之间的负载均衡。

推理过程。默认情况下,使用 30 步的 Rectified Flow [9] 和 2.0 的无分类器指导 (CFG) 尺度对图像/视频进行采样。为了支持 CFG,以 15% 的速度随机删除不同的条件,包括文本、相机、自我轨迹和边框的嵌入。遵循 Gao [11] 的研究使用 {0} 作为 CFG 推理中映射的空条件。在推断高分辨率长视频时,还使用序列并行来适应单个 GPU 的有限内存。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/981943.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv8 自定义目标检测

一、引言 YOLOv8 不仅支持预训练模型的推理,还允许用户将其应用于自定义对象检测。本文将详细介绍如何使用 YOLOv8 训练一个新的模型,并在自定义数据集上进行对象检测。 二、数据集准备 1. 数据集格式 YOLOv8 支持多种数据集格式,包括 CO…

Node JS 调用模型Xenova_all-MiniLM-L6-v2实战

本篇通过将句子数组转换为句子的向量表示,并通过平均池化和归一化处理,生成适合机器学习或深度学习任务使用的特征向量为例,演示通过NodeJS 的方式调用Xenova/all-MiniLM-L6-v2 的过程。 关于 all-MiniLM-L6-v2 的介绍,可以参照上…

记录一次Spring事务失效导致的生产问题

一、背景介绍 公司做的是“聚合支付”业务,对接了微信、和包、数字人民币等等多家支付机构,我们提供统一的支付、退款、自动扣款签约、解约等能力给全国的省公司、机构、商户等。 同时,需要做对账功能,即支付机构将对账文件给到…

AORO P9000 PRO三防平板携手RTK高精度定位,电力巡检效率倍增

电网系统覆盖幅员辽阔,每年因设备故障导致的巡检耗时超过百万工日。传统巡检模式受限于定位误差、设备防护不足和作业效率低下三大核心痛点,亟需智能化工具的突破性革新。为了满足这一需求,遨游通讯推出AORO P9000 PRO三防平板,以…

开启AI短剧新纪元!SkyReels-V1/A1双剑合璧!昆仑万维开源首个面向AI短剧的视频生成模型

论文链接:https://arxiv.org/abs/2502.10841 项目链接:https://skyworkai.github.io/skyreels-a1.github.io/ Demo链接:https://www.skyreels.ai/ 开源地址:https://github.com/SkyworkAI/SkyReels-A1 https://github.com/Skywork…

CentOS 7中安装Dify

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。尤其是我们本地部署DeepSeek等大模型时,会需要用到Dify来帮我们快捷的开发和应用。 大家可以参考学习它的中…

【Day9】make/makeFile如何让项目构建自动化起飞

【Day9】make/makeFile如何让项目构建自动化起飞 使用make命令编写makefile文件依赖管理增量构建makefile注释:#makefile其他语法 make/makefile递归式工作过程 在Linux中,项目自动化构建是指使用一系列工具和脚本来自动执行软件项目的编译、测试、打包和…

svn 通过127.0.01能访问 但通过公网IP不能访问,这是什么原因?

连接失败的提示如下 1、SVN的启动方法 方法一: svnserve -d -r /mnt/svn 方法二: svnserve -d --listen-port 3690 -r /mnt/svn 方法三: svnserve -d -r /mnt/svn --listen-host 0.0.0.0 2、首先检查svn服务器是否启动 方法一&#x…

Unity实现在镜子间反射光柱

一、最终效果: 二、代码来源及思路 unity-raycast-reflection/Assets/RaycastReflection.cs at master Loafwad/unity-raycast-reflection GitHub 在GitHub找到了现成的,效果很好,稍微改了一点来满足我的需求,并加上了注释理解…

快速理清 Attention 注意力和 Encoder, Decoder 概念

之前一直以为 Attention 和 RNN 没关系是凭空蹦出来的新概念;以为 Transformer, Encoder, Decoder 这几个概念是绑在一起的。并不尽然。 Encoder 和 Decoder RNN 里就有 Encoder Decoder 的概念。其中,encoder 接受用户输入,写入 hidden stat…

达梦数据库系列之Mysql项目迁移为达梦项目

达梦数据库系列之Mysql项目迁移为达梦项目 1 达梦数据库安装及MySql数据迁移2 SpringBoot项目迁移2.1 驱动包引入2.2 驱动类配置2.3 数据源配置2.4 flowable迁移2.4.1 异常问题2.4.2 解决 3 迁移常见问题3.1 不是 GROUP BY 表达式3.1.1 dm.ini 开启Mysql兼容模式3.1.2 修改动态…

第5章 使用OSSEC进行监控(网络安全防御实战--蓝军武器库)

网络安全防御实战--蓝军武器库是2020年出版的,已经过去3年时间了,最近利用闲暇时间,抓紧吸收,总的来说,第5章开始进入主机安全(HIDS)领域了,2022年的时候有幸做过终端安全一段时间&a…

【文献阅读】The Efficiency Spectrum of Large Language Models: An Algorithmic Survey

这篇文章发表于2024年4月 摘要 大语言模型(LLMs)的快速发展推动了多个领域的变革,重塑了通用人工智能的格局。然而,这些模型不断增长的计算和内存需求带来了巨大挑战,阻碍了学术研究和实际应用。为解决这些问题&…

毕业项目推荐:基于yolov8/yolov5/yolo11的暴力行为检测识别系统(python+卷积神经网络)

文章目录 概要一、整体资源介绍技术要点功能展示:功能1 支持单张图片识别功能2 支持遍历文件夹识别功能3 支持识别视频文件功能4 支持摄像头识别功能5 支持结果文件导出(xls格式)功能6 支持切换检测到的目标查看 二、数据集三、算法介绍1. YO…

MySQL面试01

MySQL 索引的最左原则 🍰 最左原则本质 ͟͟͞͞( •̀д•́) 想象复合索引是电话号码簿! 索引 (a,b,c) 的排列顺序: 先按a排序 → a相同按b排序 → 最后按c排序 生效场景三连: 1️⃣ WHERE a1 ✅ 2️⃣ WHERE a1 AND b2 ✅ 3️…

【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(未成功版)

【Linux】【网络】UDP打洞–>不同子网下的客户端和服务器通信(未成功版) 上次说基于UDP的打洞程序改了五版一直没有成功,要写一下问题所在,但是我后续又查询了一些资料,成功实现了,这次先写一下未成功的…

unity学习63,第2个小游戏:用fungus做一个简单对话游戏

目录 1 目标用fungus做一个简单的剧情对话游戏 1.1 先创建一个新的3D项目 1.2 fungus是什么 1.2.1 怎么获得 1.2 在AssetStore里搜索fungus (插件类)--千万别买收费的错的! 1.3 fungus的官网 1.3.1 官网给的3个下载链接,unity的果然已经失效了 …

前后分离文件上传案例,前端HTML,后端Net6开发的webapi(完整源代码)下载

文件上传功能在项目开发中非常实用,本案例前端用HTML页面的form表单实现,后端用Net6实现。 前后分离文件上传案例,前端HTML,后端Net6(完整源代码) 下载链接https://download.csdn.net/download/luckyext/9…

利用Adobe Acrobat 实现PPT中图片分辨率的提升

1. 下载适用于 Windows 的 64 位 Acrobat 注册方式参考:https://ca.whu.edu.cn/knowledge.html?type1 2. 将ppt中需要提高分辨率的图片复制粘贴到新建的pptx问价中,然后执行“文件—>导出---->创建PDF、XPS文档” 3. 我们会发现保存下来的distrib…

自学微信小程序的第十二天

DAY12 1、腾讯地图SDK是一套为开发者提供多种地理位置服务的工具,可以使开发者在自己的应用中加入地图相关功能,轻松访问腾讯地图服务和数据,更好地实现微信小程序的地图功能。 表49:search()方法的常用选项 选项 类型 说明 keyword string POI搜索关键词,默认周边搜索 l…