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

学习在无姿态视频上进行大规模 3D 创作

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-12-18 00:04

正文

24年12月来自北京智源的论文“You See it, You Got it: Learning 3D Creation on Pose-Free Videos at Scale”。

最近的 3D 生成模型,通常依赖于有限规模的 3D“黄金标签”或 2D 扩散先验来创建 3D 内容。然而,由于缺乏可规模化的学习范例,它们的性能受到受限 3D 先验的上限。 See3D ,是一个针对大规模互联网视频进行训练的视觉条件多视图扩散模型,用于开放世界的 3D 创作。该模型旨在通过仅从庞大且快速增长的视频数据中查看视觉内容来获取 3D 知识 — 所见即所得。

为了实现这一目标,首先使用建议的数据管理流水线来扩展训练数据,该流水线会自动过滤掉源视频中的多视图不一致和观察不足。这产生了一个高质量、丰富多样、大规模的多视图图像数据集,称为 WebVi3D ,包含来自 16M 视频剪辑的 320M 帧。尽管如此,从没有明确 3D 几何或相机姿态注释的视频中学习通用 3D 先验并非易事,而为网络规模的视频注释姿态,其成本过高。为了消除对姿态条件的需要,引入了一种视觉条件 - 通过向掩码视频数据添加时间相关噪声来生成纯 2D 感应视觉信号。最后,通过将 See3D 集成到基于扭曲(warping)的高保真 3D 生成流水线中,引入了一种视觉条件 3D 生成框架。

在单一和稀疏重建基准上进行数值和视觉比较,在经济高效且可扩展的视频数据上训练的 See3D 实现了零样本和开放世界生成能力,明显优于在昂贵且受限 3D 数据集上训练的模型。此外,该模型自然支持其他图像条件的 3D 创建任务,例如 3D 编辑,而无需进一步微调。

如图所示 See3D 概述:



3D 生成领域的最新进展对于虚拟现实、娱乐和模拟等领域至关重要,它不仅有可能重现复杂的现实世界结构,而且还能拓展人类的想象力。然而,开发这些模型受到可访问 3D 数据集稀缺性和高成本的限制。尽管最近业界努力 [86、108、115] 创建大量专有 3D 资产,但这些举措带来了巨大的财务和运营负担。目前,为学术界构建如此大规模的 3D 数据集仍然成本高昂。这要求追求可扩展、可访问且价格合理的数据源,可以与先进的闭源解决方案相媲美,从而使更广泛的研究界能够训练高性能的 3D 生成模型。

人类对 3D 世界的感知并不依赖于特定的 3D 表示(例如点云 [17]、体素网格 [35]、网格 [90] 或神经场 [59])或精确的相机条件。相反,3D 觉察是由一生中积累的多视角观察形成的。这就提出了一个问题:模型能否从大量的多视角图像中同样学习通用的 3D 先验知识?幸运的是,互联网视频提供了丰富的多视角图像来源,这些图像是从不同位置使用不同的传感器和复杂的相机轨迹捕获的,提供了可扩展、可访问且经济高效的数据源。因此,如何才能有效地从互联网视频中学习 3D 知识?

实现这一目标的核心挑战有两个方面:1)从原始源中过滤相关的 3D 感知视频数据,特别是具有不同相机视点的静态场景,这些场景可以提供足够的多视角观察;2)从缺乏明确 3D 几何和相机状态注释的视频(即无姿态视频)中学习通用的 3D 先验知识。

将 2D 生成提升到 3D 。3D 生成的最新进展很大程度上得益于 2D 扩散模型的成功 [28、70、77、78],这些模型彻底改变了图像和视频生成。这些工作通常通过最大化 2D 扩散先验评估的似然值来优化 3D 表示 [38、43、47、57、66、80、82、95、109]。另一种方法是使用扭曲-修复流水线,将离线深度估计器与基于 2D 扩散的修复模型相结合,以迭代方式生成 3D 内容 [11、16、29、60、89、110、112]。然而,2D 先验不容易转化为连贯的 3D 表示。因此,基于 2D 提升的方法通常难以保持较高的几何保真度,从而导致多视图不一致和全局几何较差等问题 [111]。

直接学习 3D 先验 。为了更好地保留几何特征,一些工作侧重于直接学习 3D 先验。例如,前馈方法 [7、10、23、30、41、42、49、54、72、81、83、86、92、98、106、107、119、120] 将单个或几个视图作为输入,并使用编码器-解码器架构直接输出 3D 表示,从而无需对每个实例进行额外的优化过程。另一项研究涉及训练扩散模型来预测 3D 表示,例如点云 [61, 114]、网格 [1, 34, 55] 和隐式神经表示 [8, 56, 100, 115]。然而,这些方法通常侧重于目标级生成 [14, 83, 101, 115, 120],限制了它们在场景级生成的适用性。虽然最近的研究在构建场景级 3D 数据集方面取得了进展 [2, 12, 39, 45],但其规模仍然相对有限。对昂贵、规模有限的 3D 数据集的依赖限制了其在开放世界或极具想象力场景中的推广。

学习 3D 生成的多视图先验 多视角扩散 (MVD) 模型 继承了 2D 扩散模型的生成能力,同时捕捉了多视图相关性,实现了通用性和 3D 一致性。这些优点使其成为最近 3D 生成研究的焦点 [21、24、46、50、52、67、71、73、74、91、112]。然而,由于 2D 扩散模型通常在 2D 数据集上训练,因此它们缺乏对图像姿势的精确控制。为了解决这个问题,基于 MVD 的方法通常在与相机姿态配对的图像上训练模型 [22、48、71、97、99],其中姿态作为基本条件输入,由相机外参 [71、74]、相对姿态 [48、50、73] 或 Plucker 射线 [21、102] 表示。然而,姿态条件模型严重依赖于昂贵的姿态注释数据,将训练限制在较小的 3D 数据集上,从而限制了它们对分布外场景的适应性。


本研究的主要目标是从数据集扩展的角度构建一个强大的 3D 生成模型。先前的研究 [14, 69, 87] 费力地从设计艺术家、立体匹配或运动恢复结构 (SfM) 中收集 3D 数据,这些方法成本高昂,有时甚至不可行。相比之下,多视图图像提供了一种高度可扩展的替代方案,因为它们可以从海量且快速增长的互联网视频中自动提取。通过使用多视图预测作为前置任务,学习的 3D 先验知识可以实现各种 3D 创作应用,包括单视图生成、稀疏视图重建和开放世界场景中的 3D 编辑。

如图所示 See3D 概览。(a)提出一个四步数据管理流程,从互联网视频中选择多视角图像,形成 WebVi3D 数据集,其中包括跨不同类别和概念的 ∼16M 个视频片段。(b)给定多个视图,通过应用随机掩码和时间相关噪声将原始数据在时间步 t 处破坏为污染图像 c^i/t。然后,重加权 c^i/t 的指导和扩散模型的噪声潜变量 x^i/t,以通过时间相关的混合形成视觉-条件 v^i/t。(c)MVD 模型能够大规模训练以生成以 v^i/t 为条件的多视角图像,而无需姿态注释。由于 v^i/t 是通过时间相关的噪声和混合形成的与任务无关视觉信号,因此它使训练后的模型能够稳健地适应各种下游任务。


视频数据集

为了获得大量的 3D 数据,从互联网上收集大约 2548 万个开源原始视频,总计 44.98 M,涵盖了风景、无人机、动物、植物、游戏和动作等多个类别。具体来说,数据集来自四个网站:Pexels [63]、Artgrid [32]、Airvuz [64] 和 Skypixel [88]。遵循 Emu3 [94],使用 PySceneDetect [6] 分割视频以识别内容变化和淡入/淡出事件。此外,用 PaddleOCR [84] 删除带有过多文本的剪辑。 WebVi3D 数据集的详细组成如表所示。


然而,识别 3D 感知视频并非易事。由于大多数视频都来自现实世界的镜头,因此此类视频通常包含动态场景或小幅摄像机移动。为了解决这个问题,提出一个流程,通过利用实例分割 [26]、光流 [85] 和像素跟踪 [36] 的先验知识,自动选择相关的高质量 3D 感知数据(即多视图图像)。该流程包括四个核心步骤:

  • a) 时空下采样。为了提高数据过滤效率,在时间和空间上对每个视频片段进行下采样。最终分辨率设置为 480p,时间下采样率设置为 2。请注意,此下采样操作仅在数据管理期间应用,而不是在模型训练期间应用。

  • b) 基于语义的动态识别。用实例分割模型 Mask R-CNN [26] 为潜在动态目标(例如人类、动物和运动器材)生成运动掩码。根据包含这些目标的帧比例应用阈值来过滤掉视频,因为它们更可能与动态场景相关联。

  • c)非刚性动态过滤。为了精确过滤掉带有动态区域的视频,用离线光流估计[85]来获得密集匹配,这能够识别视频帧中的非刚性运动掩码。然后根据这些掩码的位置进行分析,以进一步确定视频是否包含动态内容。

  • d)基于跟踪的小视点过滤。前三个步骤产生了具有静态场景的视频。为了进一步确保这些视频包含从更大的摄像机视点捕获的多视角图像,跨帧跟踪关键点的运动轨迹并计算轨迹的最小外切圆半径。然后过滤掉轨迹半径较小的视频。

最后,从 15.99M 个具有静态内容和足够多视角观察的视频片段中整理出大约 320M 张多视角图像。为了验证数据获取方法的有效性,随机选择 10,000 个视频片段进行人工注释,其中 8,859 个被标记为 3D -觉察,占总数的 88.6%。这表明流程有效地从大量源视频中识别出 3D -觉察视频。随着互联网视频数量的不断增长,该流程可以不断获取更多 3D -觉察数据,从而不断扩展数据集。


视觉为条件的MVD

MVD 模型继承了 2D 扩散模型的通用性,同时捕捉了跨视图一致性,这自然与本文目标一致。按照这个思路,See3D 是一种无姿态、视觉条件的 MVD 模型,在互联网视频上进行训练,以实现强大的 3D 生成。

X/t 是含噪潜变量,X/0 是3D内容的多视角数据,Y/0 是参考视觉图,从X/0挑选出来的,剩下的是目标图像 G 。该方法侧重于构建视觉条件 V/t,它指导扩散模型从目标视点生成合理的 3D 内容估计,确保与初始 Y0 的外观保持一致。

设计原则是:

  1. • 掩码:通过随机掩码破坏视频数据,可减少对直接像素空间视觉信号的依赖,帮助模型部分缓解任务特定视觉提示和视频数据之间的域差距。

  2. • 噪声添加:向视频数据添加噪声以近似高斯分布。当应用于不同的下游任务时,任务特定的视觉输入同样带有噪声,使其分布与高斯分布一致,并进一步弥合视频数据和任务特定视觉输入之间的差距。

时间相关的视觉条件 。最初向视频数据添加噪声和随机不规则掩码,创建所谓的“损坏”视频数据 C/t。然后,此损坏数据用作 MVD 模型训练的视觉条件。该策略的一个关键挑战在于确定适当的扰动水平。如果添加的噪声过多,条件信号就会变得无效,从而导致视觉质量差和相机控制不准确。相反,如果添加的噪声不足,损坏的数据会保留目标图像的大量细节,导致模型过度依赖视频数据中的视觉提示。

为了解决这个问题,进一步引入应用于视频数据的时间相关噪声分布。核心思想是在更大的时间步长上应用更高的噪声水平,有效地破坏视频数据以防止过度依赖它。随着时间步长的减小,噪声水平也会降低,从而提供更清晰的条件信号以促进内容生成。然而,随着噪声水平的降低,信息泄露的风险会增加,导致分布偏离高斯分布。为了缓解这种情况,逐渐用嘈杂的潜变量 X/t 替换损坏的数据 C/t 作为视觉条件,鼓励模型主要依靠 X/t 进行生成,同时随着时间步长的减少,尽量减少对视频数据像素空间信号的依赖。此外,X/t 由模型预测,因此表现出与任务无关的特性。

V/t 是 C/t 和 X/t 的混合,沿通道维度与掩码 M 拼接,该混合中 W/t 是平衡权重,它随时间步长 t 单调递减,范围从 1 到 0。实际上,额外的处理步骤将 v^0:S/t 直接分配给参考图像 Y/0,以便将 Y/0 的干净信息注入模型,从而促进预测图像和参考图像之间的对齐。

模型架构 。模型架构基于视频扩散模型 [5]。然而,删除时间嵌入,因为目标是让模型纯粹通过视觉条件来控制相机运动,而不是根据时间线索推断运动趋势。为了进一步最小化时间性的影响,对每个视频片段的帧进行打乱,将数据视为无序的 X/0。具体来说,从视频片段中随机选择一组帧作为参考图像,其余帧作为目标图像。参考图像的数量是随机选择的,以适应不同的下游任务。多视图扩散模型通过仅在目标图像上计算损失来优化。

视觉为条件的生成

逐像素的深度尺度对齐







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