引言

我们正处于视频生成的黄金时代。像 Sora、Runway 和 Stable Video Diffusion 这样的模型能够通过简单的文本提示或单张图像构想出令人惊叹的场景。然而,如果你仔细观察,就会发现一些破绽——特别是当摄像机开始移动的时候。

想象一下生成一个房间的视频。当摄像机向左平移时,新的物体出现了。如果你再移回右边,原来的物体还会和之前一模一样吗?通常不会。桌上的花瓶可能会变色,或者一扇窗户可能完全消失了。此外,试图告诉视频模型“向前移动 2 米并向右平移 30 度”是出了名的困难。大多数模型将相机参数视为抽象的数字,难以将其转化为几何上准确的像素位移。

根本问题在于,视频生成模型是在 2D 像素空间中运行的,但它们模拟的世界却存在于 3D 几何空间中。

在这篇文章中,我们将深入探讨 GEN3C , 这是一篇提出混合解决方案的研究论文。GEN3C 不再仅仅依赖神经网络来凭空构想几何结构,而是引入了一种 3D感知 (3D-informed) 的方法。它构建了一个粗糙但有效的场景“3D 缓存”,并用它来指导生成模型。结果如何?生成的视频不仅逼真,而且在空间上保持一致且可控。

图 1. GEN3C 支持多种应用,包括动态视频生成、推拉变焦 (dolly zoom) 等电影特效以及驾驶模拟。

背景: 一致性问题

要理解为什么 GEN3C 是必要的,我们需要看看当前的新视角合成 (Novel View Synthesis, NVS) 和视频生成通常是如何工作的。

新视角合成 (NVS)

传统的 NVS 方法,如 NeRF (神经辐射场) 或 3D 高斯泼溅 (3D Gaussian Splatting) ,非常擅长保持 3D 一致性。它们重建场景,让你能从任何角度观察。然而,它们通常需要密集的输入——几十甚至上百张同一对象的图像来构建表示。如果你只有一张图像,这些方法就无法逼真地构想出物体未看见的一面。

视频扩散模型

另一方面,视频扩散模型是在海量互联网数据上训练出来的。它们在构想缺失信息 (比如人背后的东西) 方面表现出色。然而,它们缺乏对场景几何结构的显式“记忆”。

当研究人员试图为这些扩散模型添加相机控制时,他们通常将相机参数 (如位置和旋转) 直接输入网络。网络必须隐式地学习透视原理。如下图所示,这通常会导致“漂移”。当相机向前移动然后向后退回起点时,标准的“CameraCtrl”方法会产生模糊或扭曲的结果,因为它们忘记了初始状态。而 GEN3C (“Ours”) 则保持了清晰的细节。

图 2. 动机: 标准相机控制方法与 GEN3C 的比较。注意当相机返回先前位置时,GEN3C 如何保持稳定性和清晰度。

核心方法: 3D感知生成

GEN3C 的精妙之处在于它拒绝在显式 3D 几何和生成式 AI 之间做选择。它两者皆用。

该系统基于一个简单的前提: 不要让 AI 从零开始猜测几何结构。给它一个脚手架。

工作流程包含三个主要阶段:

  1. 构建时空 3D 缓存: 从输入图像创建 3D 点云。
  2. 渲染缓存: 将点云投影到新的相机视图中,创建一个“引导”视频。
  3. 3D感知生成: 使用扩散模型将引导视频细化为逼真的视频。

图 3. GEN3C 架构概览。从输入到 3D 缓存,再到渲染,最后到扩散模型。

1. 构建时空 3D 缓存

一切始于输入,它可以是一张单图、几张稀疏的图像或一段视频。目标是将这些 2D 像素提升到 3D 空间。

研究人员使用现成的单目深度估计器 (具体来说是 Depth Anything V2) 来预测输入图像的深度图。有了颜色 (RGB) 和深度 (D) ,他们就可以将像素“反投影”成彩色点云

  • 对于单张图像: 他们创建一个点云并在时间维度上复制它。
  • 对于多视图: 他们为每个视图创建点云。
  • 对于动态视频: 他们随时间为帧创建点云,实际上制作了一个 4D 表示 (3D 空间 + 时间) 。

这个点集合被称为 3D 缓存 。 它代表了模型对场景几何结构的认知

2. 渲染缓存

现在,假设用户希望相机向右平移。系统会获取用户提供的相机轨迹,并从这些新视点渲染 3D 缓存。

因为 3D 缓存只是源自单一视角的点云,所以这种渲染看起来并不完美。它会有:

  • 空洞 (去遮挡区域) : 在原始视图中被遮挡的区域 (例如椅子后面的墙) 。
  • 伪影: 由不完美的深度估计引起的拉伸或扭曲。

关键在于,系统还会生成一个 掩膜 (Mask, \(M\)) 。 这个掩膜告诉后续的网络: “这些像素来自 3D 缓存 (有效) ,而这些黑色像素是空洞,你需要构想 (无效) 。”

3. 融合并注入到视频扩散模型中

这是论文中最具技术性和创新性的部分。我们现在有了一个“引导”视频 (渲染的点云) 和一个掩膜。我们如何告诉视频扩散模型在存在引导的地方尊重引导,但在有空洞的地方发挥创造力?

作者修改了一个预训练的图生视频模型 (Stable Video Diffusion) 。他们引入了一个专门的适配器来注入 3D 信息。

融合策略

当处理多张输入图像时 (例如一张从左侧拍的房间照片和一张从右侧拍的) ,可能会有冲突的 3D 点或轻微的错位。作者探索了几种组合这些数据的方法:

  1. 显式融合 (Explicit Fusion) : 在渲染前在 3D 空间中合并点云。这通常会导致伪影,如果深度估计不完美 (双重边缘、重影) 。
  2. 潜空间拼接 (Latent Concatenation) : 将特征堆叠在一起。这限制了模型可以处理的视图数量。
  3. 最大池化 (Max-Pooling,最终方案) : 他们将每个视图的渲染结果独立通过编码器处理,然后取特征的最大值。

图 4. 融合方法的比较。(c) 提出的最大池化策略具有排列不变性,并且对错位具有鲁棒性。

最大池化策略 (如图 4c 所示) 非常优雅,因为它具有排列不变性——输入视图的顺序无关紧要,并且通过让最强的特征胜出,优雅地处理了重叠的几何结构。

注入机制

渲染后的视频 (\(I^v\)) 被编码为潜在表示 (\(z^v\))。这个潜在表示乘以掩膜 (\(M^v\)) 以将空白区域置零。然后,它与扩散过程的噪声潜在表示进行拼接。

控制特定视图 \(v\) 注入的方程如下所示:

注入掩膜后的潜在表示到网络中的方程。

这里,模型获取渲染引导 \(z^v\),对其进行掩膜处理,并将其与当前的生成步骤 \(z_\tau\) 结合。这迫使扩散模型在 3D 引导之上进行“绘制”。它本质上充当了一个高度复杂的纹理补全工具。它信任 3D 缓存提供的几何结构,但利用其学到的先验知识来修复伪影并填充掩膜标记的空洞。

4. 用于长视频的自回归更新

视频生成的最大限制之一是长度。模型通常生成 2-4 秒的视频。如果试图延长它们,就会发生漂移。

GEN3C 通过动态更新 3D 缓存来解决这个问题。

  1. 生成一小段视频。
  2. 取该片段的最后一帧。
  3. 估计其深度。
  4. 将这个新深度图与现有的 3D 缓存对齐 (求解缩放和位移) 。
  5. 将新点添加到缓存中。

通过不断向 3D 缓存添加内容,模型能够“记住”它在 10 秒前生成的内容。如果相机绕回原处,几何结构依然存在。

实验结果

研究人员在各种困难任务上测试了 GEN3C,并将其与 MotionCtrl、CameraCtrl 和稀疏视图重建技术等最先进的方法进行了比较。

单视图到视频

最常见的用例是让单张静态照片动起来。结果显示,与其他竞争对手相比,GEN3C 更严格地遵循了请求的相机路径。

在下图中,请看绿色方框。注意 GEN3C 如何保留了工业管道的细节以及火车上的文字 (“713”) 。其他方法在相机移动时会模糊这些细节或丢失结构连贯性。

图 5. 单视图新视角合成的定性结果。绿色方框显示了 GEN3C 与基线相比具有更优越的细节保留能力。

双视图新视角合成

一个特别具有挑战性的场景是“稀疏 NVS”——在两张相距较远的照片之间生成移动视频。

纯重建方法 (如 3D 高斯泼溅) 在这里表现不佳,因为它们没有足够的数据来填充空白。纯生成方法则难以保持两个端点的一致性。GEN3C 通过使用 3D 缓存来强制起始和结束图像的几何结构,同时利用扩散模型平滑地插值纹理,从而表现出色。

图 6. 双视图 NVS 的定性结果。GEN3C 比 PixelSplat 或 MVSplat 更好地处理了视图之间的巨大间隙 (第一行) 。

定量指标 (PSNR/SSIM) 证实,GEN3C 在插值 (填充间隙) 和外推 (超出输入视图范围) 方面都显着优于竞争对手。

表 2. 定量结果显示 GEN3C 在 PSNR 和 SSIM 指标上优于 PixelSplat 和 MVSplat。

对“糟糕”几何结构的鲁棒性

这种方法的一个主要担忧是: “如果深度估计错了怎么办?”

作者进行了一项消融实验,故意错位深度或添加噪声。因为扩散模型被训练为将“不完美的 3D 渲染”转化为“完美的视频”,所以它具有惊人的鲁棒性。它学会了忽略微小的几何错误并修正光照不一致。

在下面的比较中,“显式融合” (直接合并点云) 在输入不完美时会导致重影和接缝。GEN3C 的潜在融合策略无缝地平滑了这些错误。

图 10. 消融研究显示,与显式融合策略不同,GEN3C 能够处理错位的深度和不同的光照条件。

驾驶模拟与编辑

最有前景的应用之一是自动驾驶模拟。模拟器需要从新的角度生成逼真的视频来训练汽车。

GEN3C 可以获取驾驶视频,构建缓存,然后从不同的车道或更高的角度渲染场景。因为它理解 3D 场景,所以它允许物体操作 。 作者演示了从道路上移除一辆汽车或编辑其轨迹,模型完美地填充了被移除汽车背后的道路。

图 8 & 9. 上图: 显示汽车移除的 3D 编辑结果。下图: 显示模型处理动态场景的单目动态 NVS。

注意上图下半部分 (图 9) ,模型甚至可以处理动态场景 (一只游泳的河马) 。它成功地将静态背景与移动的主体分离开来。

改进基础模型

最后,因为 GEN3C 是一种方法而不是特定的架构,它会随着基础模型的改进而改进。作者将 Stable Video Diffusion (SVD) 换成了更先进的模型 Cosmos

视觉上的提升是立竿见影的。基于 Cosmos 的 GEN3C 产生了更清晰的纹理和更好的光照,证明了这种 3D感知技术随着生成式 AI 的扩展将保持相关性。

图 11. 比较显示,插入更好的基础模型 (Cosmos 对比 SVD) 会立即提高 GEN3C 的输出质量。

结论与启示

GEN3C 代表了弥合计算机图形学 (一致但难以创建) 和生成式 AI (富有创造力但难以控制) 之间差距的重要一步。

通过显式建模 3D 缓存 , 作者赋予了神经网络一个“工作记忆”。这使得模型能够:

  1. 回顾: 记住它已经见过的几何结构。
  2. 前瞻: 构想与旧几何结构一致的新几何结构。
  3. 保持正轨: 严格遵循用户提供的相机路径。

虽然该方法依赖于深度估计器的质量和渲染点云的计算成本,但它解决了困扰当前视频生成的“世界晃动”问题。随着我们迈向创建交互式虚拟世界和逼真的模拟器,像 GEN3C 这样结合显式几何和隐式神经渲染的混合方法很可能会成为标准。