跳转至

Geometry-Aware Single-Image 4D Synthesis via Dense Trajectory Generation

会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/Zhangyr2022/MoGe4D
领域: 3D 视觉
关键词: 单图 4D 生成、稠密点轨迹、深度归一化、运动感知、新视角合成

一句话总结

MoGe4D 先从单图估计几何,再以扩散模型生成几何条件化的稠密运动轨迹并补全新视角视频,在复杂相机运动测试中改善成像质量与轨迹误差,但并非所有视频一致性或动态指标都领先。

研究背景与动机

从一张照片生成视频,和生成可以移动相机观察的动态三维场景,是两个不同难度的问题。 视频模型只要让相邻画面看起来合理,就可能得到不错的视觉效果,却未必知道某个像素始终属于同一个三维表面点。 当观察方向变化时,这种缺失会表现为纹理漂移、物体形状改变或背景跟着主体移动。 4Real、DimensionX、Free4D 等先生成视频再重建的方法,把这些外观变化交给后续重建器解释,容易将生成误差固化为错误的几何与运动。

反过来,先建立静态三维结构再添加动态,虽然有稳定的空间参照,却常把形状和运动分开处理。 作者认为,这类方法对预先约束的摆动较有效,却不容易从图像本身推断主动运动、大幅变形和场景级交互。 本文并不声称单图能够恢复唯一真实的未来,也没有在生成时反复优化一个完整静态网格。 它把初始深度作为条件,让运动生成器直接预测同一批表面点的后续位置,从表示层面缩小外观与几何相互矛盾的空间。

这一选择还带来两个训练难题:真实视频中的三维轨迹没有廉价人工真值,预训练视频模型的输出空间又不是三维位移。 前者需要经过质量过滤的伪轨迹数据,后者需要把轨迹编码成能利用视频先验、又能恢复位移的中间表示。 核心 idea:以首帧几何为锚点生成稠密相对运动,将三维动态预测与后续外观补全分工,而不是让无几何约束的视频先决定整个动态场景。

方法详解

整体框架

输入严格来说是单张 RGB 图像及文本描述;新视角输出还需要指定相机位姿或相机路径。 输出首先是跨时间保持点对应关系的三维点云序列,然后才是沿目标相机路径生成的视频。 TrajScene-60K 提供训练监督,4D Scene Trajectory Generator(4D-STraG)承担归一化轨迹生成,运动感知模块(MPM)在其去噪过程中注入局部运动先验。 4D View Synthesis Module(4D-ViSM)将预测点云投影为视频,并填补投影无法覆盖的区域。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        DATA["TrajScene-60K<br/>轨迹监督"] -.->|仅训练:轨迹| TRAG["归一化轨迹生成<br/>4D-STraG"]
        INPUT["单图 + 文本<br/>初始深度"] --> TRAG
        INPUT --> MPM["局部运动感知<br/>MPM"]
        MPM -->|逐 token 调制去噪| TRAG
        TRAG --> POINTS["反归一化<br/>恢复动态点云"]
        POINTS --> VISM["几何引导视角补全<br/>4D-ViSM"]
        CAMERA["目标相机路径"] --> VISM
        DATA -.->|仅训练:渲染、掩码、真值| VISM
        VISM --> OUTPUT["新视角动态视频"]

图中的 MPM 是轨迹生成器内部的条件分支,不是点云生成完成后再做一次运动修正。 训练数据支路不会在推理时提供真实未来帧,推理时的未来运动由模型采样得到。 下文依次说明监督来源、轨迹生成主干、主干的运动条件分支和最终视角补全。

关键设计

1. TrajScene-60K 轨迹监督:让真实视频提供可学习的场景动态

数据从 WebVid-10M 筛出约 200,000 个候选视频开始,而不是直接把所有视频送入三维跟踪器。 CogVLM2 生成包含场景内容与运动的描述,DeepSeek-V3 判断其中是否存在可数实体以及主动、非刚性或关节运动。 主要由相机运动、背景抖动、风驱振荡或混乱群体运动构成的片段会被排除。 这一过滤与任务表示直接相关:如果相机运动被当成物体运动,生成器可能把整幅场景漂移学成合法的动态模式。 保留的视频再交给 DELTA,结合单目深度估计获得遮挡感知的稠密轨迹。 其中每个首帧像素都带有后续帧的图像坐标、深度与遮挡状态,而不是只匹配少量显著特征点。

数据构建阶段的四维向量包含图像横纵坐标、深度和遮挡标记,不能直接理解成四个空间坐标。 生成阶段的“4D 场景”则指三维点随时间变化,二者的维度语义不同。 随后过滤无效或异常深度、场景深度标准差过大,以及未通过统一缩放后原相机渲染一致性检查的样本。 最终保留 60,000 个分辨率为 \(596\times336\) 的样本,作者报告超过 3 million 帧、约 12 billion 个三维点标注。 这些标注是模型提取并清洗的伪真值,不是传感器直接测量的精确三维动态。 数据还保存高斯泼溅渲染的视频及空洞掩码,为后面的视角补全模型提供成对监督。

2. 归一化轨迹生成:在首帧像素网格上预测相对三维位移

首先用 UniDepthv2 为输入图像估计深度,反投影得到初始三维点云。 训练与推理采用一致的深度估计设置,以减少轨迹监督和推理输入之间的系统差异。 表示中共有 \(N=H\times W\) 个点,点索引始终绑定首帧像素位置,后续时间只是改变这些点的三维坐标。 4D-STraG 不重复预测绝对位置,而是预测相对初始点的位移,最终恢复关系为:

\[ \Delta P_t=P_t-P_0,\qquad P_t=P_0+\Delta P_t. \]

这里的 \(t\) 是场景时间,不是流匹配训练中插值路径的时间变量。 保持点索引固定,使轨迹成为“同一位置索引记录同一个点怎样运动”的稠密场,不需要生成后再做跨帧匹配。 但不同深度下相同三维位移造成的屏幕运动不同,直接回归原始位移会混入强烈的尺度差异。 因此作者以首帧深度处的视锥宽高归一化横向位移,以初始深度归一化纵深位移。 视锥尺寸由焦距、图像宽高和该点初始深度决定,使模型学习相对观察尺度的运动,而不是偏向某个绝对深度范围。 这并不修复错误深度,也不引入真实物理尺度;推理时仍需用同一初始几何反归一化。

归一化后的位移通过浅层 ResNet 轨迹编码器变成 RGB 运动图,再由微调过的 VAE 压缩到潜空间。 这里的 RGB 只是承载运动数值的中间表示,不是模型最终要展示的彩色视频。 同一像素索引处的颜色随时间变化表示对应三维点在运动,图像布局则保持首帧的空间排列。 因此,物体位移被转换为固定网格上的颜色演化,既适配视频模型的数据形态,又保留点对应关系。 轨迹解码器接在 VAE 解码器后,将预测运动图恢复成位移,而不是把颜色直接当作三维坐标。 DiT 的输入在特征维度拼接图像、噪声和初始深度潜变量,并在图文条件下学习未来轨迹分布。 深度潜变量提供场景布局约束;归一化解决数值尺度问题,二者不能互相替代。

3. 局部运动感知:把视频先验转换为固定网格上的运动条件

Wan2.1 原本擅长让物体在画面里移动,而上述运动图要求空间布局不动、颜色随时间变化。 仅靠改变训练目标,模型未必能顺利把原有运动知识迁移到这种表示。 MPM 从输入静态图像提取 OmniMAE 的 patch 级特征,提供哪些语义区域可能运动的先验。 这些特征并不是观测到的未来轨迹,也不是从真实未来视频提取的条件。 模型先把特征调整到与 DiT token 序列对齐,再通过线性层生成每个 token 的缩放与偏置参数。

Motion-aware Adaptive Normalization(MAdaNorm)用这些局部参数调制 DiT 中的归一化特征,并配合可学习的全局门控参与注意力与前馈计算。 与单个全局条件向量相比,这允许不同空间区域接收不同的运动提示。 因此它服务于“哪个区域怎样产生轨迹变化”,而不是只给整幅图像一个运动强弱标签。 论文用全局 [CLS] token 替换 patch 特征做消融,发现动态程度与美学质量变差,但一致性分数略升。 这说明局部条件带来的收益主要体现在运动表达和质量组合上,不能解释为每个单项指标都会改善。 原文公式 (4)–(6) 的文本抽取不完整,此处保留可核实的模块机制,不重建精确门控公式。

4. 几何引导视角补全:让点云约束已知区域,让生成先验处理空洞

预测轨迹反归一化后加回初始点云,得到每帧三维点的位置。 给定目标相机,方法将每帧点云栅格化为一组 3D Gaussians,并沿时间关联这些逐帧高斯。 这是轻量动态渲染器,不是对完整动态 4D Gaussian Splatting 场进行耗时逐场景优化。 点云提供显式投影依据,但来自单图的表面覆盖有限,新视角仍会出现反遮挡区域和投影空洞。 因此 4D-ViSM 同时接收渲染视频与掩码,通过视频生成先验恢复缺失外观。

4D-ViSM 同样基于 Wan2.1,使用 TrajScene-60K 的渲染视频、遮挡掩码、真实视频和描述进行训练。 依照所用 Wan2.1 掩码约定,没有投影点的区域取值为 0.5,不能把它随意改成常见二值空洞掩码。 训练中的目标视频提供完整外观监督;推理时只有预测点云产生的渲染与掩码可用。 几何约束和补全先验的职责因此有明确边界:前者确定已有表面怎样投影,后者生成没有被单图观测支持的像素。 能沿不同相机路径输出视频,不等于未观测区域已经具有唯一、可验证的真实三维表面。 这一差别也是解读后面视觉一致性分数时需要保留的限制。

一个完整示例

以论文图 4 的帆板场景为例,输入是一张海面上的帆板图像及相应运动描述。 初始深度把帆板与远处海面放在不同的三维位置,MPM 则从静态图像提供局部运动线索。 模型在固定首帧网格上生成 49 帧相对位移,使点云具有运动,而不是先输出一段 RGB 视频供 DELTA 重建。 反归一化后,相同的一组动态点云可以按两条用户指定的相机路径投影。 相机改变导致原本不可见的区域露出时,由 4D-ViSM 补全相应视频像素。 这个例子解释的是图 4 所示流程,不额外假设帆板的真实速度、运动方向数值或相机轨迹参数。

损失函数 / 训练策略

轨迹生成主干基于 Wan2.1-14B,采用分阶段适配,避免一开始同时学习新的轨迹表示和完整生成分布。 先训练轨迹相关组件与 VAE 解码器 5k 步,再对 DiT 进行 2k 步训练,并加入 OmniMAE 运动条件。 DiT 使用流匹配,目标是让预测流场接近噪声到数据插值路径的真实流场;轨迹主干采用全参数训练。 视角补全模块另以 LoRA 微调 10k 步,说明最终系统不是单个模型的一次联合端到端训练。 优化器为 AdamW,学习率为 \(2\times10^{-5}\),实验使用 4 张 NVIDIA H20。 模型输出分辨率为 \(512\times368\)、长度为 49 帧,区别于数据构建时的原始分辨率。 缓存中公式 (1)、(3) 也有符号丢失,因此不把自行补写的归一化或流匹配表达式冒充原文精确公式。

实验关键数据

主实验

论文将评估分成三组,不能把不同组的 MoGe4D 分数直接合并成同一排行榜。 Group I 对比闭源 4Real 的官方演示视频,采用简单相机轨迹;Group II 对比 GenXD 与 DimensionX 的 S-Director,采用向左旋转 90° 的中等难度轨迹。 Group III 对比 Free4D、Gen3C,使用包含向上、向前、向左、向右及向下 90° 运动的复杂相机轨迹。 Groups II、III 使用与训练子集不重叠的 200 个 WebVid-10M 留出样本;这不构成任意真实场景的泛化保证。

下表摘自表 1,第 11 页,限 Group III;均为 VBench 分数,越高越好。

方法 主体一致性 背景一致性 运动平滑度 动态程度 美学质量 成像质量
Free4D 0.7899 0.8883 0.9797 1.0000 0.3607 0.3562
Gen3C 0.8112 0.8871 0.9845 0.9940 0.3812 0.4814
MoGe4D 0.8339 0.9065 0.9773 0.9000 0.4820 0.5939

MoGe4D 相对 Gen3C 的成像质量由 0.4814 提升到 0.5939,绝对增加 0.1125;主体、背景一致性和美学质量也更高。 但运动平滑度与动态程度低于两条基线,不能将结果概括为“更动态且各指标全面领先”。 表 2,第 12 页,使用 Qwen2.5-VL-72B-Instruct 对每段视频均匀采样的 8 帧进行 1–5 分评价,覆盖几何、纹理、身份、运动几何耦合与背景稳定性。 Group III 的平均分为 MoGe4D 3.76、Gen3C 2.22、Free4D 1.23;这是 VLM 感知判分,并非直接三维测量。

消融实验

下表来自表 4,第 13 页,采用 Group III 的 VBench 设置;保留原文的 Consistency 汇总指标名,正文未在此表明确给出聚合公式。 其中全局 [CLS] 行对应原表的 “w/o Patch Feat.”,小规模数据为 1k 子集,低质量数据为未过滤的 60k 样本。

配置 Consistency ↑ Dynamic ↑ Aesthetic ↑
无深度归一化 0.8604 0.8850 0.4672
无深度潜变量 0.8567 0.8500 0.4738
无 MPM 0.8650 0.8500 0.4806
MPM 使用全局 [CLS] 0.8743 0.8840 0.4754
小规模训练数据 0.8567 0.8920 0.4791
低质量训练数据 0.8549 0.8850 0.4654
训练时加入随机噪声 0.8685 0.8967 0.4771
MoGe4D 完整模型 0.8702 0.9000 0.4820

关键发现

  • 移除 MPM 后 Dynamic 从 0.9000 降为 0.8500,绝对下降 0.0500;移除深度潜变量也得到 0.8500,说明运动条件与几何条件都重要。
  • 全局 [CLS] 的 Consistency 为 0.8743,高于完整模型的 0.8702。原文“完整模型所有指标最优”的叙述与表格不完全一致,应以逐项数字为准。
  • 表 3a,第 13 页,包含 Free4D、Gen3C 的复杂轨迹比较块中,轨迹误差分别为 0.252、0.197、0.042(MoGe4D),重投影误差分别为 0.652、0.755、0.639。
  • 轨迹误差由 DELTA 跟踪生成视频后与真值轨迹计算 L2 距离;重投影误差借助 DROID-SLAM 评估连续帧共视像素。正文未在表中注明物理单位,不应称其为米或像素精度。
  • 表 3a 的另一比较块中,DimensionX 重投影误差 0.602 略优于 MoGe4D 的 0.614,进一步说明几何优势不等于所有设置全胜。
  • 表 3b,第 13 页,单张 A100 上 MoGe4D 用 6 min 生成 49 帧;Free4D 同为 \(512\times368\),用 30 min 生成 16 帧。作者的 5 倍加速指这两个总耗时之比,不是同帧数、同质量下的严格吞吐比较。

亮点与洞察

  • 固定首帧点索引是关键表示选择:模型始终知道某条轨迹属于哪个初始表面点。它从源头减少“先让外观变化、再猜点对应”的歧义。
  • 深度同时进入数值归一化和条件潜空间。前者处理尺度分布,后者约束场景结构,这解释了两种深度消融为何分别有影响。
  • 将运动编码为颜色变化,使视频生成骨干能够学习非外观信号。可迁移的启发是设计与预训练模型兼容、又保留任务对应关系的中间表示,而非直接把视频生成当作通用几何求解器。

局限与展望

  • 作者在第 14–15 页明确指出强逆光等极端光照与混乱人群会破坏单目深度,进而污染几何条件并降低运动可靠性。
  • 数据过滤主动排除了大量无结构运动与相机主导片段,因此长尾动态不足不仅是模型问题,也来自训练分布的设计。
  • 读者判断:仅用首帧可见点不能充分覆盖背面或新显露表面,生成式补全的逼真程度不能代替真实几何正确性验证。
  • 读者判断:VLM 评分和依赖 DELTA、DROID-SLAM 的几何指标各有估计器偏差;DELTA 还参与训练伪真值制作,因此这些结果不能视为独立传感器真值验证。
  • 原文把更稳健的视觉基础模型列为未来方向;进一步评估不确定深度、未观测区域和更长时间运动,是由当前限制引出的研究建议,不是本文已完成的实验。

相关工作与启发

  • 与 4Real、Free4D、DimensionX 比较:这些生成后重建路线利用强视频先验,但三维恢复会继承视频不一致;MoGe4D 把几何条件提前放进轨迹生成过程,代价是更加依赖初始深度质量。
  • 与 Gen3C 等先重建后生成路线比较:本文沿用几何先行的方向,却将运动显式表示为稠密相对轨迹;这并非完全放弃静态几何,也不是对静态资产简单添加预设动画。
  • 与 Wan2.1-I2V + DELTA / VGGT 比较:第 14–15 页图 8 展示顺序级联出现背景漂移和几何破碎,支持直接生成几何条件化轨迹的动机;该比较在正文中是定性证据,不能补成未报告的数值提升。

评分

  • 新颖性: 4/5。将稠密轨迹、深度尺度处理与局部运动条件组合成清晰的单图 4D 生成方案。
  • 实验充分度: 4/5。有视频质量、VLM 一致性、几何误差和组件消融,但跨组协议不同,且伪真值与评估器存在局限。
  • 写作质量: 3/5。整体方法逻辑明确,但消融“全指标最优”的概括过强,部分指标和公式需回查完整排版原文。
  • 价值: 4/5。对几何条件化动态场景生成有直接借鉴意义;距离可靠的开放世界物理场景模型仍有明显差距。