Geometry-Aware Single-Image 4D Synthesis via Dense Trajectory Generation¶
会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/Zhangyr2022/MoGe4D
领域: 重建与渲染
关键词: 单图 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 不重复预测绝对位置,而是预测相对初始点的位移,最终恢复关系为:
这里的 \(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。对几何条件化动态场景生成有直接借鉴意义;距离可靠的开放世界物理场景模型仍有明显差距。