读论文
三维重建
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF 关注的是新视角合成——给定一组从不同视角拍摄的稀疏 2D 图像,以及每幅图像对应的相机内参、外参和场景深度范围,优化一个场景表示,再生成任意新相机视角下的图像。
与显式网格、体素等离散表示不同,NeRF 针对每个场景优化一个连续神经场:网络接收空间位置与观察方向,输出局部体密度和颜色,再借助体渲染生成新视角图像。这个网络可表示为:。

即输入要查询点的空间坐标和观察方向(其中空间坐标为 3D,方向以 2D 球面角表示),查询该点朝方向 发出的 RGB 颜色 以及体密度 ,体密度与观察方向无关,只与查询点位置有关。这个函数 使用 MLP 来近似。
使用神经网络的优点在于神经网络的输出是连续的,训练完成后输入任意点都可以查询对应位置的颜色和体密度,可以支持任意分辨率。
因为神经网络倾向于先学习低频特征,直接使用 MLP 可能导致相邻点输出差异小,使一些边界模糊。因此和 Transformer 一样,NeRF 也使用位置编码,将坐标映射到高维傅立叶特征空间:
有了 ,下一个问题是如何从中生成图像。NeRF 使用体渲染完成这一步。对于图像上的每个像素,从相机光心出发,沿像素方向发射一条光线 ,参数范围为 。体渲染沿光线积累颜色:。离散化之后为:
描述 附近的消光强度, 给出该处沿观察方向的颜色, 则是光线从近平面到达 仍未终止的概率,也称透射率。因此 可以解释为“光线第一次在长度为 的小区间内终止”的概率,积分就是所有可能终止位置的颜色期望。
其中 定义为:。指数衰减可以理解为:将长度为 的小段视为一次传播试验,继续前进的概率近似为 。连续相乘并令 ,就得到 。
发射光线肯定不是所有穿过的位置都有贡献,若均匀采样会导致大量无效计算。NeRF 的渲染过程使用层次采样:
- 粗网络将深度均匀划分为若干个区间,并在每个区间随机采样一个点,使用 衡量各采样区间对像素颜色的贡献。
- 细网络将粗采样权重归一化为沿光线的分段概率密度,再通过逆变换采样把新增样本集中到高权重区间。新增点与粗采样点合并、按深度排序后,由另一套网络预测密度和颜色,并通过相同的体渲染公式合成像素颜色。
损失函数使用 ,同时监督粗网络和细网络进行训练。
NeRF 的问题在于其需要针对每一个场景分别训练,反复通过 MLP 来查询点颜色和密度,训练和渲染速度都很慢,在实时场景基本不可用;训练数据依赖精确的相机位姿和多视角覆盖;只能进行多视角合成任务,而无法提供精确的表面模型。
Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
在 NeRF 任务中,Instant-NGP 保持相同的输入、输出和体渲染目标,主要用多分辨率哈希编码替换固定傅里叶位置编码,将大量可学习空间特征存入哈希表。
NeRF 的傅里叶编码由固定正弦函数构成,场景信息仍然全部保存在 MLP 权重中。Instant-NGP 的编码参数本身可以学习,使高频特征表达发生在空间表格内,并让 MLP 主要用于局部特征解码。
哈希编码由 层不同分辨率的特征网格组成。令 ,第 层的网格分辨率按几何级数增长:。

对于输入的坐标,先找到其在不同层的特征网络中的包围盒。包围盒的 8 个顶点坐标分别使用 做按位异或和取模来计算哈希映射。其中 是固定的大质数,乘法与异或用于降低不同坐标轴之间的相关性,取模则把大量逻辑角点压入有限表项。
有了点坐标到特征槽的哈希映射,接下来在哈希表中读取包围盒每个顶点的特征,并做三线性插值来查询指定坐标的特征。对不同分辨率的层重复这一操作,再将各层特征拼接后送入 MLP 解码。
由于哈希表承担了大部分高频空间特征的存储,MLP 不需要像 NeRF 一样大而深。一个密度 MLP 根据坐标特征计算体密度和几何特征,再将几何特征与方向的球谐编码拼接,送入颜色 MLP 计算观察方向上的颜色。
Instant-NGP 训练时仍沿用 NeRF 的体渲染和像素颜色监督,但不再像原始 NeRF 那样先粗采样再细采样,而是额外维护一个 occupancy grid 来判断哪些空间区域可能有物体;光线经过空区域时直接跳过,只在可能有密度的地方采样,然后把采样点送入哈希编码和小 MLP,预测密度和颜色,再通过体渲染公式合成像素颜色并与真实图像计算误差。训练时反向传播更新哈希表特征和 MLP 参数,占据网格则根据最新的密度预测周期性刷新;推理时流程基本相同,只是不再计算损失和更新参数。
Instant-NGP 显著降低了 Radiance Field 的训练与查询开销,但仍然没有跨场景泛化能力,每个新场景都需要重新训练哈希特征和 MLP。
Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields
NeRF 有两个问题:真实像素对应的是一片面积而不是射线上一个无限小的点,对高频细节的查询会导致走样;NeRF 假设场景位于有限球体内(),而包含天空、远山的室外场景通常没有明确边界,这会导致远处风景被裁切。Mip-NeRF 主要处理走样问题,Mip-NeRF 360 则将这一方法推广到无界场景。
真实相机中的一个像素对应一小块成像区域。由这一区域出发的光束会随距离增加逐渐扩展为锥体,因此离相机越远,单个像素覆盖的实际空间越大。
Mip-NeRF 让每个像素对应一束有面积的锥形光束,再把光束上的每个锥台区间近似为多元高斯分布 。均值 表示区间重心,协方差 同时记录沿光线方向的长度和垂直光线方向的截面宽度;相机越远或像素越大,协方差通常也越大。

知道了均值和协方差,就可以对位置编码求这个高斯分布下的期望,得到积分位置编码 。
由于正弦位置编码的形式是 和 ,而高斯分布的特征函数有闭式解,平均位置编码可以直接解析计算,不需要蒙特卡洛采样:
区域越大, 越大,高频正弦/余弦编码衰减得越厉害;区域越小,则越接近普通 NeRF 的点位置编码。这样一个远处像素覆盖很大空间时,就不会强行表示不应该被看见的高频细节,从而显著减少锯齿和 aliasing,并能更好地处理不同观察距离和分辨率。
Mip-NeRF 360 将无界的 映射到一个有界球体内:
经过变换后,单位球内的空间保持原尺度,球外空间被压缩到半径 的球壳中;距离 100 的点映射到半径约 1.99,无穷远趋近半径 2。这种场景收缩相当于把有限网络容量按成像重要性重新分配给近景和远景。收缩后的高斯均值和协方差通过收缩函数在均值处的一阶雅可比近似传播,沿光线的区间则在归一化视差坐标中采样,使远处区域得到更合适的采样密度。
训练时,Mip-NeRF 360 使用轻量的 proposal network 评估采样区间的重要程度。它先在较粗区间上预测密度并形成权重直方图,再据此重采样;实际流程可重复多轮,使样本逐渐集中到可见表面。proposal network 通过随训练同步进行的在线蒸馏学习最终 NeRF 的停止梯度权重分布:。其中 汇总 proposal 直方图在最终区间 上能够提供的权重上界,分配不足时才产生惩罚。
论文使用 Distortion loss 约束半透明伪影的产生,其假设:当光线与不透明固体表面相交时,沿光线的主要权重应集中在较小区域内。若同一条光线上出现两个相距较远的权重峰,往往意味着存在 floaters。损失公式为 ,第一项惩罚较远权重峰,第二项惩罚单个区间过宽。最终完整的损失函数为 。其缓解了走样和远距离限制两个问题,但泛化和伪几何等问题仍然存在。
3D Gaussian Splatting for Real-Time Radiance Field Rendering
基于神经网络的 Radiance Field 在高分辨率渲染时需要沿大量光线反复查询 MLP,难以达到实时速度。3D Gaussian Splatting 改用一组可学习高斯椭球构建显式场景表示。渲染时将椭球投影并 splat 到屏幕,再按深度顺序混合,使表示能够直接利用 GPU 图形管线的并行能力。
3DGS 把场景表示为 个 3D 高斯椭球。每个高斯由四组可学习参数定义:位置 、协方差 、不透明度 ,以及用球谐函数表示的视角相关颜色。一个高斯在空间中任意一点 的取值为:。为保证协方差始终半正定,实际优化旋转 和正尺度矩阵 ,并令 。
每个高斯的颜色使用最高次数为 3 的球谐函数表示,每个 RGB 通道包含 个系数。球谐是一组定义在球面方向上的正交基:0 次项给出与方向无关的底色,较高次数逐步表达随视角变化的明暗与高光。训练先启用 0 次项,再逐步增加高频带,让几何和基础颜色先成形,减少早期用复杂视角项记忆训练图像的风险。
渲染过程先进行高斯投影,按相机外参与透视模型映射到像素中心 。协方差只受视图变换的旋转部分和局部投影雅可比影响,屏幕空间近似为 。完成变换后进行分块和排序,将屏幕划分为 的 tile,一个高斯覆盖多个 tile 时会复制出相应实例。一次基数排序后,同一 tile 的实例连续存储且大致由近到远排列。
这是一种便宜的近似,直接在像素处计算投影二维高斯值,把逐光线的网络查询转化为已排序离散图元的并行加权求和。这里没有求光线与三维椭球的精确交段,二维投影核及其排序共同构成了快速近似。这是 3DGS 实时性的重要来源,但是可能在 Gaussian 较大或相互穿插时带来顺序误差与视角变化伪影。
最后进行 Alpha 混合。每个 tile 对应一个线程块,线程协作把高斯批量载入共享内存;各像素按照已排序列表累积颜色,透射率足够小时便提前结束 :,其中 是把该高斯投影后的 2D 高斯值 在像素 处的取值乘以不透明度 。
初始化时,3DGS 使用 SfM 稀疏点云生成高斯:每个点对应一个小高斯,初始颜色来自点云颜色,尺度取最近三个邻点的平均距离并设为各向同性。然而固定数量的高斯难以同时覆盖空缺和细节区域,因此训练会动态增删图元:
- 克隆:复制一个高斯,并沿位置梯度方向移动副本,在表示不足的区域增加高斯数量和总体积。
- 分裂:将一个大高斯替换为两个较小高斯,新位置按照原高斯分布采样,细化被大高斯覆盖的区域并尽量保持总体积。

- 不透明度周期重置:每 3000 次迭代将所有高斯的不透明度重置为接近 0。后续优化会重新提高必要高斯的不透明度,其余高斯保持较低值并被剪除。
- 剪枝:定期删除不透明度 ()的近乎不可见高斯,以及过大的高斯。
克隆和分裂由同一信号触发,即视图空间位置梯度的平均幅值。较大梯度表示移动该高斯能够明显降低图像误差,说明附近仍缺少表达能力;小高斯通过克隆扩大覆盖,大高斯通过分裂提高局部分辨率。这个循环使高斯集合从稀疏 SfM 点云逐步生长并贴合场景。

3DGS 的训练目标由渲染图与真值图之间的 损失,以及衡量结构相似性的 D-SSIM 项组成:。其中 逐像素衡量颜色偏差,对少量异常值较为鲁棒;SSIM 比较局部亮度、对比度和结构,更关注边缘与纹理。
3DGS 引入了显式的高斯表示,带来可编辑性的同时,将渲染速率拉动到实时级,充分利用了 GPU 的并行性,避免了在训练完成阶段仍然重复查询 MLP;但是其仍存在存储与训练成本高,伪影和需要逐场景训练等问题。
DreamFusion: Text-to-3D using 2D Diffusion
DreamFusion 的目的是用文本生成三维对象。它无需文本—三维配对数据,只需初始化一个 NeRF,从随机视角渲染图像,再让冻结的文本到图像扩散模型判断这些渲染结果是否符合提示词。二维模型提供语义和外观先验,可微渲染器负责把图像空间的修正传回三维表示。
核心的 Score Distillation Sampling 梯度可写为:
是当前三维模型在随机相机下的渲染, 是加入噪声后的图像, 是冻结扩散模型的噪声预测。预测噪声与真实噪声的差值给出渲染图像应如何移动到文本条件高概率区域,再经 更新 NeRF。随机视角让不同图像梯度汇入同一场景参数,形成跨视角约束。
整体流程是:维护一个可微三维表示(DreamFusion 使用 NeRF),从随机视角渲染二维图像,利用扩散模型计算优化方向,再将梯度反向传播至三维表示。持续从不同视角施加二维先验约束,可以促使生成结果在多个方向上都呈现合理外观,并逐步形成一致的三维结构。
论文使用 CFG。同一个去噪器分别预测带文本条件和空条件的噪声,再从条件预测沿二者差值继续外推:。
时得到普通条件预测,增大 会强化“带条件”和“空条件”之间的文本语义方向。DreamFusion 使用 的高引导强度来抵消 SDS 的模糊倾向,使物体轮廓和文本属性更明确;相应代价是色彩容易过饱和,结果也更集中于少数模式。

由于训练中没有真实照片监督,只有扩散模型判断渲染结果是否符合文本,网络可能在错误几何上绘制正确纹理以降低损失。例如,在两块平面上分别绘制物体的正面和侧面,也可能通过对应视角的二维判断,但得到的三维结构仍是平面,即颜色承担了本应由几何表示的内容。因此论文分离材质和光照,网络输出表示物体固有颜色的反照率 ,着色结果由外部 Lambertian 模型计算:。渲染在三种模式间随机切换:
- albedo:,只监督固有颜色与语义外观;
- diffuse:使用完整 Lambertian 公式,同时呈现材质与几何产生的明暗;
- textureless:把反照率设为白色,只保留法向和光照造成的明暗变化,迫使扩散先验评价形状。
textureless 模式用于抑制几何塌陷。若只使用 albedo 和 diffuse,网络可能在平面上绘制目标图案:albedo 模式能够呈现正确颜色,diffuse 模式下图案也仍然存在。切换到 textureless 后,纹理信息被移除,平面只会呈现近似均匀的灰度,无法再匹配具有明确形状的目标。模型因而需要学习真实的表面起伏和法向变化,才能表现物体的轮廓与结构。
此外还有朝向正则,约束可见外表面的法向大致朝向相机。体渲染权重 使正则主要作用于真正参与成像的采样点,停止梯度则防止模型通过降低这些权重、缩小物体来逃避法向约束:。
DreamFusion 为文本-三维生成引入了二维先验,证明了冻结的二维扩散模型可以通过 SDS 为三维表示提供文本监督,无需成对的文本—三维训练数据。但是常有分辨率低、几何粗糙、过饱和、过平滑及多样性不足以及 Janus 现象等问题。
Magic3D: High-Resolution Text-to-3D Content Creation
Magic3D 接收文本提示,采用两阶段优化生成带纹理三角网格:先在低分辨率下建立粗略结构,再转换为可微网格并利用高分辨率监督细化。第一阶段利用 NeRF 的拓扑灵活性探索物体的大致形状和布局;第二阶段将 NeRF 转换为 Mesh,借助光栅化的速度优势,使用高分辨率扩散模型进一步优化纹理和几何细节。
第一阶段使用 Instant-NGP 风格的多分辨率哈希网格进行编码。输入坐标先在多个空间分辨率下定位相邻格点,从哈希表查询并插值得到特征;一个小型 MLP 解码反照率与密度,另一个 MLP 预测法向。低分辨率层负责连续的大轮廓,高分辨率层补充局部变化。
扩散先验用 eDiff-I,因为它只需要提供大致布局的指导,64×64 分辨率足够了。SDS 梯度形式与 DreamFusion 一致:。这里 是随机相机视角, 是当前三维表示的渲染图, 是加噪结果。除 SDS 外,第一阶段沿用 DreamFusion 的累计不透明度正则,使无需形成前景的光线保持透明。

第一阶段结束后,论文在四面体网格顶点查询粗 NeRF 的密度,将其转换为带符号距离的初始化,再通过 DMTet 在符号发生变化的边上插值零交点并连接成三角 Mesh。3D 表示从隐式 NeRF 切换到显式表面后,优化变量变为四面体顶点的 SDF 值 、位置偏移 和颜色场参数 。
光栅化将每个三角面片的顶点投影到屏幕坐标,判断各像素由哪些三角形覆盖,使用重心坐标 插值得到像素属性,再执行深度测试,使近处表面遮挡远处表面。颜色插值和纹理查询可微,Nvdiffrast 的抗锯齿步骤还为轮廓变化提供近似梯度,因此最终像素颜色能够反向更新 SDF、顶点位置和颜色场参数 。
Stable Diffusion 不直接在 512×512 RGB 空间运行扩散,其 VAE 编码器 先把渲染图压缩为 64×64×4 的潜变量 ,再形成 并交给 U-Net。令全部可学习网格与纹理参数为 ,高分辨率 SDS 梯度可写为:
这一阶段还加入了相邻面法向正则,惩罚共享边两侧三角面的夹角。面法向约束为这些更新提供局部光滑先验,同时保留由 DMTet 表达的大尺度形状变化。
生成阶段结束后,扩散模型、VAE 编码器和梯度计算都可移除,输出的带纹理网格直接使用标准光栅化器渲染。粗阶段负责搜索结构,细阶段负责生成显式 3D,两阶段的扩散教师都只在逐提示优化期间参与。
Magic3D 结合了 Instant-NGP 隐式表示的灵活性,DreamFusion 的扩散先验约束和 Mesh 表示的高效光栅化。但是仍然没有解决训练耗时长,跨场景无泛化,伪影等问题。
ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation
ProlificDreamer 进一步分析 SDS 的优化目标,把三维参数从单个确定值推广为待匹配的概率分布。论文将 SDS 解释为最小化 ,其中 是渲染图 加噪至时间 的分布。
会强烈惩罚 落入 的低密度区域,却不惩罚 遗漏 的某些模式。SDS 用其优化单个确定参数,只需把 推入目标分布的某个高概率区域,其余合理模式无法表示;为提升所选模式的清晰度又需使用很大的 CFG 权重(),由此产生过饱和与过平滑。
VSD 将三维参数 视为服从分布 的随机变量,优化目标变为使 的整体分布与文本条件下的目标分布对齐:。对所有 , 当且仅当 ,因此可以同时使用不同时间步进行优化。分布 近似为:维护 个独立初始化的 NeRF 粒子 , 时能表示同一提示下的多个候选模式。
每个粒子的更新梯度为两个得分函数之差,通过渲染器反传:
第一个得分函数由预训练扩散模型 给出;第二个得分函数描述当前粒子渲染分布的得分,由 LoRA 分支实现:冻结预训练 U-Net 权重、只训练新增的低秩矩阵,用当前粒子渲染图以标准扩散损失微调。
最终 VSD 梯度化简为 。SDS 减去的是围绕单幅渲染的采样噪声 ,VSD 减去的是 LoRA 预测的边际分布得分,更新量直接描述目标分布与当前分布的剩余差异,因而能在常规 CFG()下保留更多纹理与多样性。
三维流程第一阶段使用 Instant-NGP 表示 NeRF,以 512×512 RGB 渲染执行 VSD;第二阶段可选网格精化,从 NeRF 提取 DMTet 表面,先用法向渲染和 SDS 调整几何,再用 VSD 优化纹理。训练时交替优化 LoRA 与 NeRF 粒子:粒子的渲染图经加噪后,由冻结模型给出 CFG 引导的目标噪声、LoRA 估计当前边际噪声,两者之差作为停止梯度的信号回传粒子;再复用同一次渲染更新 LoRA。时间步权重 ,初期 建立整体结构,随后收窄到 补充细节。

SDS 在 CFG=7.5 时结果模糊,增大到 100 后又过饱和并损失细节;VSD 在常规 CFG=7.5 下已接近 DDPM 采样,色彩和纹理更自然。
ProlificDreamer 用 VSD 将文本到三维优化从单个解推广为粒子分布匹配,缓解了过饱和、过平滑与多样性不足。代价是需要交替训练 LoRA 与一组 NeRF 粒子,每个文本仍要进行专门优化,计算和显存开销高于 SDS;NeRF 输出还需额外提取才能成为可编辑网格。
DUSt3R: Geometric 3D Vision Made Easy
传统重建往往依赖相机位姿等数据。DUSt3R 则输入一对内参和位姿均未知的图像,直接预测每个像素对应的三维点。
对于图像 ,pointmap 的每个位置都保存像素 所观察到的三维点,并将该点表示在相机 的坐标系中。若已知深度 、内参 和世界到相机的位姿 ,其真值可以写成:。
其中 是像素坐标网格, 表示齐次坐标变换。pointmap 同时保存了像素到三维点的对应关系、可见表面的几何,以及两个相机之间的空间关系,因此深度、匹配和相机参数都可以从同一种输出中恢复。
DUSt3R 的网络接收两幅图像 ,输出 与 (如果使用 与 ,二者不在同一个坐标系中,对齐仍然需要相机参数)及其置信度图 。两个 pointmap 都位于第一台相机的坐标系中,因此网络需要在没有显式相机参数的情况下,同时理解两幅图像的形状与相对视角,跳过了相机参数这个中间变量。

两幅图像被划分为 patch 后,先经过共享权重的 Siamese ViT Encoder 得到特征 ;随后分别进入两个 Transformer Decoder。每个 Decoder Block 先对本视图做 self-attention,再通过 cross-attention 读取另一视图的 token,两个分支持续交换信息;最后由各自的 DPT Head 回归 pointmap 和逐像素 confidence map。
由于重建尺度不确定,训练时先用全部有效点到原点的平均距离归一化预测和真值:
一些像素对应天空、透明物体或遮挡区域,三维位置本身难以确定。DUSt3R 让网络同时预测置信度 ,并使用:
第一项让高置信像素承担更大的 loss 权重,第二项防止网络把全部置信度降到最低。置信度无需单独标注,训练过程会自行学习哪些位置更可靠。
pointmap 可以直接支持多种下游任务: 的 坐标就是第一幅图的深度;输入两次相同图像 即可进行单目深度估计;在 与 中做互为最近邻搜索,可以得到两幅图像的像素匹配;根据 与像素坐标的投影关系,可以在假设主点居中、像素为正方形时快速估计焦距;对交换输入顺序后得到的同一视图 pointmap 做 Procrustes 对齐可以恢复相对位姿,视觉定位则可由图像匹配和 PnP-RANSAC 求解绝对位姿。
输入超过两幅图像时,每个图像对的预测都位于各自参考相机的局部坐标系。DUSt3R 先根据图像检索结果或平均置信度建立视图图 ,再为每条边 引入刚体变换 和尺度 (不同图像对预测出来的 pointmap 尺度不同),把所有局部 pointmap 对齐为每幅图像对应的全局 pointmap :
DUSt3R 用 pointmap 在没有测试场景相机参数且不针对下游任务微调的情况下取得了很强的零样本泛化能力,但这种设计也引发了一些问题:多图重建仍需处理大量图像对,边数最坏随图像数量平方增长;预测只确定到整体尺度,网络没有强制输出严格符合针孔相机模型的几何。透明表面、天空、动态物体和训练分布之外的相机模型仍可能造成错误。
MUSt3R: Multi-view Network for Stereo 3D Reconstruction
DUSt3R 每次只处理一个图像对,不同图像对的 pointmap 位于不同局部坐标系;图像数量增加后,成对推理和对齐成本变重,难以直接用于持续到来的相机视频流。MUSt3R 让多幅图像的预测从网络内部就共享第一台相机的坐标系,并用逐层记忆保存历史视图,使同一套模型能够处理离线 SfM 和在线视觉里程计。
MUSt3R 把 DUSt3R 的两个独立 Decoder 和 Head 改成共享权重的 Siamese Decoder 与 Siamese Head。直接为 个视图复制 套 Decoder 无法扩展,而共享结构可以用同一个分支处理任意视图,并将 Decoder 的可训练参数减半。完全对称又会使网络无法判断哪幅图像定义全局坐标系,因此模型给非参考视图加入可学习的标识嵌入 。消融实验表明,移除 cross-attention 中的 RoPE 基本不影响精度,但缺少 时训练会出现明显退化。

对于 幅输入图像,第 层先把除当前视图外的 token 拼接起来,再执行跨视图注意力:
同一视图的 token 先进行 self-attention,再从其他视图读取信息。预测头为每幅图像同时输出 : 是第一台相机坐标系下的全局 pointmap,用于合并场景; 是当前相机坐标系下的局部 pointmap,其 坐标可以直接作为深度,并可用于估计当前焦距。对同一批像素的 与 做 Procrustes 对齐,还可以在不依赖焦距的情况下快速恢复相对位姿和尺度。
一次让所有图像互相注意仍会受到 token 数量限制。MUSt3R 在 Decoder 的每一层维护记忆 ,其中保存之前视图已经计算好的 token。当第 幅图像到来时,只计算新图像的分支:
新视图可以读取全部历史记忆,旧视图不会被重复更新,类似于 Transformer 的 KV Cache。模型也可以只读取记忆而不写入新 token,论文将这个过程称为 rendering。视频结束后,使用包含未来帧信息的完整记忆重新预测全部图像,可以修正纯在线阶段的部分误差。
普通逐层记忆还有一个问题:浅层 token 尤其是 主要来自单幅图像编码,缺少后续层形成的全局三维信息。MUSt3R 从倒数第二个 Decoder 层 提取反馈,经 LayerNorm 和两层 MLP 构成的 注入历史视图的所有较浅层。

这样新图像在早期 Decoder 层就能查询带有全局几何信息的历史 token。论文选择 而非最终层,是因为最终层更直接受预测头约束,作为通用记忆反而效果较差,两层 MLP 反馈在较大记忆下优于不反馈、常量偏置和简单线性映射。
记忆仍会随保留图像数线性增长,因此在线和离线场景采用不同的选帧策略。在线模式维护按观察方向划分的 KDTree 场景,利用当前帧与同方向已有点的深度归一化最近距离计算 discovery rate,只有其第 85% 分位数超过 5% 时才写入记忆,从而保留观察到足够多新区域或新视角的帧;离线模式可访问完整序列,先通过 Encoder 特征的 ASMK 检索和最远点采样选出固定数量的关键帧,再按与已选视图集合的最高相似度排序后依次写入记忆,使早期输入保持较强重叠以稳定坐标系,最后由全部图像读取该记忆进行 rendering。
训练时,模型从 CroCo v2 初始化,并在数据具有真实尺度时学习度量 pointmap。由于大型场景中的坐标跨度大,回归前使用对数映射:
对数映射压缩了远距离点的数值范围,同时保留方向,使模型在视图和场景范围扩大时更容易收敛。随后冻结 Encoder,用每个场景 10 幅图像训练多视图结构:先随机选择 幅图像依次建立记忆,再让全部 10 幅图像从该记忆重新 rendering,同时监督每次输出的 与 。训练还会对各层一致地丢弃部分记忆 token,提升冗余和鲁棒性,但始终保留第一幅参考图像的 token 以维持全局坐标系。
当数据带有真实度量尺度时,训练令预测与真值共用真值归一化因子 ,因此预测错误的尺度也会造成误差;对于不具备可靠尺度的数据,则仍采用尺度不变的归一化。
MUSt3R 将 DUSt3R 从成对局部回归扩展为共享坐标系的多视图预测,减少了重复 Decoder 计算,也取消了全局 pointmap 对齐。它仍然把第一幅图像作为整个场景的坐标锚点,所以当相机轨迹与首帧相距过远、场景重叠持续下降时,预测可能产生漂移;记忆开销与保留关键帧数量成正比,效果也会受到首帧、关键帧和输入顺序影响。
VGGT: Visual Geometry Grounded Transformer
VGGT 将多个视觉几何任务统一起来。输入同一场景的一张、数张乃至上百张无标定图像,通过一次前向传播同时给出相机、深度、三维点和跨帧轨迹。
设输入图像为 ,,VGGT 的输出写成 。其中 是相机参数,由旋转四元数 、平移 和二维视场角 拼接而成;、、 分别为深度图,point map 和维度为 的点跟踪特征。
VGGT 仍然选择第一相机坐标系作为世界坐标系。除第一张图外,输入次序可以任意交换;网络对这些图像保持置换等变。第一张图承担参考系的角色,改变第一张图会改变输出坐标值,但不会改变场景本身的相对几何。

输入图像由 DINOv2 的 patch embedding 切分成图像 token,每一帧还会附加一个相机 token 和四个 register token。第一帧使用一组专门的可学习 token,其他帧共享另一组,从结构上告诉网络哪一帧定义世界坐标系。register token 不直接输出任务结果,主要吸收全局信息和注意力中的异常高值,完成主干计算后会被丢弃。
在 Attention 阶段,如果只在每张图内部做注意力,网络看不到跨视图对应关系;如果把所有 个 token 一次放进全局注意力,计算量和显存近似为 ,而且不同图像的局部统计会混在一起。VGGT 因此采用交替注意力:Frame Attention 在单帧内部交换信息,Global Attention 让不同视图交换信息,二者反复交替,使多视图信息逐步进入每一帧的 token。
在 Frame Attention 中,,每张图独立计算,总复杂度约为 。在 Global Attention 中,所有图像拼成 个 token,,复杂度约为 。前者便宜且保留帧内结构,后者昂贵但能建立任意两帧之间的联系,交替结构让网络不必在每一层都支付全局注意力的代价。
Attention 主干输出后,相机 token 进入专门的相机头,经过四层 self-attention 交换信息后线性回归 。图像 token 进入 DPT 解码器,恢复到逐像素特征图 。不同的 卷积头从 预测深度、point map、对应置信度和跟踪特征:
DPT 会融合 Transformer 不同层级的 token,因此兼顾全局和局部信息。、 为置信度,纹理重复、反光、天空和遮挡边界等区域通常会得到较低置信度。
跟踪部分给定查询图像 中的点 ,先从 双线性采样查询特征,再与其余 构造相关图,最终预测轨迹 。 是对应位置, 是可见性。这个模块不假设帧有时间顺序,所以既能处理视频,也能处理无序照片集合。
训练总损失为 。相机参数使用 Huber 损失:小残差区域近似 L2,大残差区域近似 L1,可以降低异常标注的影响。深度损失同时比较数值和空间梯度,省略无效像素掩码后,可以写成:
其中第一项保证深度正确,第二项保持边缘和局部斜率,最后一项阻止网络把所有置信度都降为零,point map 则使用完全对应的三维版本。损失中的梯度监督会直接惩罚边界位置和表面斜率错误,因此重建轮廓更锐利。跟踪损失由位置误差和可见性二元交叉熵组成。
VGGT 以共享 Transformer 同时预测相机、深度、point map 和点轨迹,将过去依赖成对匹配与迭代对齐的多项几何任务压进一次前向传播。但是也引入了部署和推理成本高,point map 跨视图重复形成双层表面等新问题。
NOVA3R: Non-pixel-aligned Visual Transformer for Amodal 3D Reconstruction
NOVA3R 从无位姿图像预测一个与像素无对应关系的全局三维点集。每个场景只保留一份点分布,点可以落在可见表面,也可以落在被遮挡但合理存在的表面,即 Amodal reconstruction。
论文将重建限制在输入视锥之内的完整表面:。 是真实场景表面, 是第 个输入相机的视锥。视锥内再区分可见点与遮挡点,视锥外的表面不参与训练和评估。
无序点云没有与 Ground Truth 的固定对应关系,无法直接使用逐索引 L2 损失。常用的 Chamfer Distance 通过最近邻消除排列影响,但大点集之间的搜索开销较高,也可能导致多个预测点集中到少量真实点附近。NOVA3R 引入流匹配,将监督改成速度回归,不再要求固定顺序和显式最近邻分配,避开了训练中的逐点搜索。
NOVA3R 分两阶段训练。第一阶段先学习怎样把完整点云压缩成 scene token,再从这些 token 恢复点云。点云编码器 将 个点压缩为 个场景 token:从真实点云中用 FPS 选出 个点,以及 个自由学习的 token(FPS 是先随机选一个点,之后每一步都选取距离已选点集合最远的点,这样不会把大量查询集中在一面墙或一块稠密区域,而会尽量覆盖场景的不同区域)。将三维坐标做位置编码后与可学习 token 拼接,再线性投影到 维作为 Initial Query 输入。编码器先让 Query 通过 cross-attention 从完整点云吸收信息,再在少量 scene token 上做多层 self-attention。

论文使用 FM Decoder。最简单的 Independent Decoder 中每个噪声点只读取全局 token,不与其他点交流,可能导致相邻点分布散乱。NOVA3R 的 joint decoder 先把噪声查询的信息汇入 个 scene token,在较小的 注意力图中做全局混合,再把更新后的信息送回所有查询点。这样保留点间通信,又避免直接构造 的大注意力矩阵。

Decoder 训练完成后冻结,第二阶段学习将一系列无位姿图像转化成 Latent Scene Token。NOVA3R 以预训练 VGGT 为图像编码器,DINOv2 图像 tokenizer 冻结。输入包含各视图的 patch token 和 个可学习 scene token。scene token 被当作一个额外的“全局帧”,使用第一张图的 camera token,因此自然落在第一相机坐标系。它们与图像 token 经历 VGGT 的 frame-level 和 global-level attention,逐步汇集所有视图的几何信息。

非像素对齐输出把点数从图像分辨率中解耦,形成可变查询数的生成方式。推理时改变噪声查询数量 ,同一个 可以生成不同密度的点云。不过 scene token 数固定为 768,决定全局表示的信息容量,可变查询能提高统一隐式表达的采样密度,却不会带来更多的新细节。

NOVA3R 用全局集合索引替代 VGGT 的像素索引,为遮挡面提供输出并减少重叠视图产生的重复几何;使用 FM 避开了最近邻点集损失的计算成本,也能表达隐藏结构的多解性。不过遮挡区域来自训练数据先验,未必等同于真实几何;聚合得到的点云监督也可能包含孔洞和位姿误差。
VolFill: Single-View Amodal 3D Scene Reconstruction with Volumetric Flow Matching
VolFill 关注单张 RGB 图像的 amodal reconstruction。NOVA3R 生成无序点云,而 VolFill 生成规则的 三维距离网格。
从单图推断隐藏几何是多解问题。只看一张沙发正面图,靠背后方可能是墙、窗户或开放空间,用 L1/L2 直接回归一个确定答案会趋向于生成条件均值。而 VolFill 学习条件分布,从流模型学习一个真实流形上的解。
VolFill 使用 Truncated Unsigned Distance Function 表示场景,把“表面在哪里”转换为连续标量。给定裁剪后的场景表面 和体素中心 ,有 。表面附近 ,离任意表面超过三个体素后统一截断。只有截断带中的体素需要存储和精确计算,因此高分辨率网格虽然有 个位置,活跃体素通常仅占极小的比例。
场景边界由可见几何 的轴对齐包围盒 确定。设 三个边长中的最大值为 ,目标分辨率为 ,采用各向同性体素 ,真实完整表面超出 的部分被裁掉,使单图任务具有有限范围。
直接在 网格上运行 Transformer 代价过高。VolFill 先训练一个 hybrid sparse-dense 3D VAE,将 TUDF 压缩 16 倍:
编码器只保留截断带中的活跃体素,全程使用 stride sparse 3D convolution。到 的瓶颈后再 densify,得到固定形状的稠密 latent,便于后面的 DiT 统一处理。

解码器先稠密确定粗结构,再稀疏恢复细节。在 处,occupancy head 预测表面邻域掩码 。被判为空的体素不再进入高分辨率计算;保留位置经稀疏卷积上采样到 。低分辨率稠密卷积负责场景连通性,高分辨率稀疏卷积把计算集中在二维表面附近。
VAE 的损失为:
其中 、、。四项损失中,第一项只关心距离是否准确,使用 L1 对少数严重错误更加鲁棒,也不容易把薄结构平均得过厚;第二项逐个体素做 BCE;第三项 比较预测与真值活跃区域的重叠比例,对细腿、薄墙等小面积结构更加敏感;第四项 把 latent 轻微拉向标准高斯,使流模型面对的潜空间更平滑。

第二阶段冻结上一阶段训练的 VAE Decoder,学习从单张图像生成 latent 表示。将 MoGe-2 生成的 image token 经 LayerNorm 和线性投影后作为每个 DiT block cross-attention 的 key/value,为查询提供图像语义和遮挡区几何先验;MoGe-2 生成的显式可见几何 则经过编码,在流模型的每个时间步作为空间对齐条件注入,约束已观测表面并减少几何错位。推理使用 CFG,论文选择 。
VolFill 实现了从单图重建 TUDF 空间中的完整场景。通过利用 MoGe-2 生成的图像 token 和可见几何,兼顾遮挡补全与观测一致性。其效果受 MoGe-2 几何准确性和固定网格细节上限影响,也没有利用多视图约束。
Surflo: Consistent 3D Surface Flow Model with Global State
NOVA3R 的输出采样数可变,但是全局 token 数量固定;VolFill 的输出则受 网格的空间范围和精度限制。Surflo 希望同时解耦输入视图数 和输出点数 :任意数量的无位姿图像先被压缩成固定全局状态,再从同一状态生成几千至上百万个定向表面点。
编码器使用冻结的 VGGT-1B,从第 层读取每幅图像的 patch token 和 camera token,兼顾浅层局部纹理、中层匹配关系与高层场景几何。VGGT point map 中每个 patch 中心的三维坐标 还会经过 Gaussian Fourier Features 编码:。图像 token 和后续三维查询共享这套编码,因此空间邻近的查询点与图像 patch 更容易在 cross-attention 中产生较高相关性。
所有视图的 token 由 Perceiver 压缩。128 个可学习查询反复对图像 token 做 cross-attention,并在少量 latent 内执行 self-attention,最终形成表面状态 ;camera token 通过另一条轻量分支压缩成 ,保存相机布局和 VGGT 坐标状态。设所有输入 token 数为 、latent 数为 ,压缩阶段复杂度约为 ,且状态大小不随图像数量变化。

固定状态只约束 Perceiver 之后的表示和解码成本。它前面的 VGGT 仍然包含跨视图 Global Attention,输入视图过多时,编码阶段依旧会受到二次注意力和显存开销限制。
Surflo 输出的是定向点 ,其中 表示表面位置, 是单位法向。为了避免直接在线性空间中插值单位向量,论文将一个定向点写成六维残差表示:
其中 倍场景尺度。流模型可以直接在欧氏空间中预测六维速度,完成积分后再归一化恢复法向,避免逐步更新使法向偏离单位球面。位置和法向使输出点既能表达表面朝向,也可以直接初始化贴合曲面的各向异性 Gaussian 或用于三角化。
表面生成采用条件流匹配。目标 从完整定向表面采样;源点位置 不使用全局高斯,而是在 VGGT 可见 point map 附近加入高斯扰动,初始法向从球面均匀采样。这样大多数计算集中在可能存在表面的区域,噪声又允许查询越过可见面,到达邻近的遮挡结构。训练构造直线路径:
解码器包含 12 层 Transformer。前六层让每个查询点通过 cross-attention 读取固定的 ,后六层使用 MLP 精修;时间嵌入和 则通过 AdaLN 调制全部查询。不同查询点之间不做 self-attention,因此主要解码复杂度为 ,可以分批生成不同数量的点。增加 只会让同一表面采样得更密,场景能够保存多少细节仍由 128 个 latent 和速度网络决定。
推理从 使用 Euler 法积分到 。默认在 使用 50 步完成粗运输,在表面附近的 使用 100 个更小的步长,总计 150 步,默认输出 100K 个点。逐点独立解码带来了可扩展性,也可能使相邻点分别落到薄表面的两侧,形成双层面或 floater。

Surflo 因此在 ODE 后段加入可选的渲染引导。根据当前速度先估计最终点 ,将全部定向点转换为 3D Gaussian,再从输入相机渲染颜色和深度。L1、DSSIM 与深度正则形成共同损失,梯度同时改变 Gaussian 的位置、尺度、不透明度和颜色;一个点移动后还会通过 alpha 混合改变其他点的遮挡关系,因此渲染梯度成为独立查询之间的通信通道。优化后的终点再换算为引导速度 ,继续完成 ODE 积分。

论文使用 Gaussian Wrapping 将约 1.05 万个 DL3DV 场景转换为网格,再均匀采样带法向表面点进行训练。Surflo 用固定全局状态消除逐视图 point map 的重复,用独立点流实现任意输出密度,并通过后期渲染补充全局一致性。不过固定 128 个 token 会压缩大场景和细薄结构,冻结 VGGT 的几何错误也会传入源分布;无引导结果仍可能出现漂浮点,引导版本则需要逐场景迭代优化,明显增加推理时间。训练表面来自 Gaussian Wrapping 伪真值,其孔洞和过度平滑也可能被模型继承。
VGGT-Ω
VGGT-Ω 研究前馈三维重建的规模规律:当模型参数、监督数据和无标签视频持续增加时,几何预测能否像语言模型与二维视觉模型一样稳定提升。论文训练了从 0.2B 到 10B 参数的多组模型,并将数据规模从数千序列扩展到数百万序列。为了让大规模训练能够落地,模型同时修改了跨帧注意力、稠密输出头、训练目标和数据引擎。
输入仍然是一组无标定图像,第一帧定义参考坐标系。模型的实际输出简化为相机与逐帧深度:
分别表示旋转四元数、平移和二维视场角。point map 与跟踪特征不再作为推理输出,但相应监督仍通过反投影 point loss 和 patch matching loss 约束共享主干,使网络保留跨视图几何和对应关系。
每帧除图像 patch 和 camera token 外,还加入 16 个 scene token。普通 Frame Attention 在单帧内整理纹理、边缘和局部深度,Global Attention 允许所有帧的 patch 直接交换信息;新增的 Register Attention 只让各帧 scene token 互相注意。跨帧信息可以沿下面的路径传播:
如果每帧有 个 patch、 个 scene token,完整 Global Attention 的跨帧成本约为 ,Register Attention 则约为 。scene token 能够低成本传递布局和尺度,却不足以保存大量精确像素对应,所以默认只替换 25% 的 Global Attention,其余层仍让 patch 直接跨帧匹配。

稠密输出头也被简化。camera head 读取所有 camera/scene token 后一次回归最终参数;depth head 保留 DPT 的低分辨率卷积用于相邻 patch 混合,在超过输入 分辨率后改用 MLP 和 Pixel Shuffle 直接展开深度与置信度。它减少了高分辨率卷积激活,同时避免完全独立的 patch 展开产生块状断层。结合部分 Register Attention,训练峰值显存约降至原 VGGT 的 30%。
训练仍使用相机、深度、point map 和匹配四项损失:
深度损失同时约束数值、空间梯度和置信度;point loss 将预测深度按照预测相机反投影到第一相机坐标系,再与真值 point map 比较,因此会同时校验深度和位姿。matching loss 直接施加在最终 patch token 上,正样本由真值深度和相机投影确定,可靠负样本还要同时满足极线距离和外观差异条件。模型由此采用训练期多任务、推理期轻输出的方式,把几何知识保留在主干而不维持多个高分辨率 Head。
数据侧先整合真实、合成、室内、室外、自动驾驶和动态数据,再从约 4000 万条互联网视频中筛选连续实拍片段。VLM 用于排除剪辑、水印和弱视差内容,动态区域由检测器标记,多种特征匹配器、COLMAP BA、PatchMatch MVS 和多视深度一致性共同生成并过滤伪标注,最终形成约 400 万个监督序列,规模超过 VGGT 的 15 倍。约 1800 万条无标签视频继续用于 momentum teacher-student 自监督:学生匹配 EMA 教师的中间 token、相机和深度预测,教师参数按 更新。
VGGT-Ω 用逐帧相机和深度统一处理静态与动态输入。相机解释拍摄设备的运动, 则记录第 帧当时可见的表面,因此运动物体可以在不同帧处于不同三维位置。模型没有显式输出物体身份、场景流或连续形变场,直接叠加点云仍会留下同一物体的多个时间状态;网络也不接收时间戳,除参考帧外保持置换等变。
实验显示,模型和数据扩大后平均 point error 持续下降,10B 模型在静态与动态基准上取得明显提升,scene token 还可迁移到语言对齐和视觉—语言—动作任务。但现有结果只覆盖有限参数和数据区间,还不足以外推为普遍 scaling law;多数跨帧层仍采用完整 Global Attention,超长序列没有获得线性复杂度。模型仍受针孔相机、相对尺度和可见表面表示限制,大规模伪标注与合成数据中的系统误差也可能随训练被一并放大。
VGG-T³: Offline Feed-Forward 3D Reconstruction at Scale
VGGT 的 Global Attention 会让 幅图像的全部 token 两两交互。若每幅图有 个 token,总长度 ,一层全局注意力的主要复杂度为 。VGG-T³ 将这份随图像数增长的 Key-Value 场景记忆压缩进固定大小的 MLP 权重,使离线重建相对于输入视图数近似线性扩展。
每个原 Global Attention 层都被一个 Test-Time Training 层替换。给定当前层的 key 和 value,先在测试场景上更新小型 MLP :
Update 阶段把当前图像集合的 关系写入 MLP 的 fast weights,Apply 阶段再让每个 query 通过该 MLP 读取场景信息。MLP 参数量不随 增长,不需要为每个 query 显式计算与全部 key 的相关矩阵。VGGT 有多层全局交互,因此场景最终分布在多组 中:浅层状态保存外观和局部对应,深层状态逐步形成相机、布局和几何。

这里同时存在两层优化。模型发布前的外层训练从 VGGT checkpoint 开始,冻结原有图像编码器、Frame Attention 和几何 Head,主要学习新的 TTT 投影、MLP 初始化和更新规则,使一次内层更新后的特征能够继续接受相机、深度与 point map 监督。重建新场景时的内层更新只使用当前 token 构造的 自监督目标,不需要测试场景的相机或深度真值;场景处理结束后,fast weights 可以丢弃或保存为隐式地图。
VGG-T³ 的 feed-forward 指统一网络直接解码几何,无需执行完整 SfM 或逐场景优化相机和三维点。推理仍包含一至两次 fast-weight 梯度更新,并非参数完全固定的普通单次前向传播。
直接拟合 key 到 value 容易出现退化。因为 来自同一输入,网络可能只学到近似固定的 ,内层损失很低却没有真正压缩场景。VGG-T³ 先对 query 和 key 做 L2 归一化,稳定预训练投影的尺度;再把每幅图的 value 恢复为二维 patch 网格,使用 ShortConv2D 融合邻域后得到 。单个 key 的目标由此包含周围 patch 的空间上下文,无法再通过逐 token 固定线性映射直接求解。
TTT 损失对 token 可加,所以 Update 可以逐小批次累积梯度,Apply 也可以分批完成。单 GPU 可把历史 token 放在主机内存,只在 GPU 保留当前批次和固定 MLP;多 GPU 则让各设备处理不同图像批次,再同步小型 fast weights。帧内注意力、TTT Update/Apply 与稠密输出都随 线性增长。这里的固定显存指 GPU 工作集可由 batch size 控制,CPU 侧 token 和最终 张深度图仍然线性增加。
模型转换训练只见过约 2 至 24 幅图像,直接测试上千视图时,一步更新未必能把全部关系压入固定状态。因此普通长度使用一步 TTT,超长集合通常使用两步 Muon 更新。更新次数增加只改变常数项,不改变关于视图数的线性复杂度。完成建图后,还可以冻结每层 fast weights,让一张未参与建图的新图像查询已有状态并输出相对于该地图的相机位姿,实现无需显式描述子数据库和 PnP 的视觉定位。
VGG-T³ 在 7Scenes 千图集合上约 54 秒完成重建,相比完整 VGGT 加速 11.6 倍,并明显优于其他线性时间方法的 point map 与视频深度。固定 MLP 仍不如完整 KV 保存精细关系,在宽基线和重复纹理场景中存在精度差距,相机位姿也弱于完整 VGGT;推理需要梯度计算、CPU offload 和数据搬运,无法直接用于持续流式更新。它解决了离线图像集合的规模问题,但仍继承 VGGT 的相对尺度、针孔相机、反光透明区域和未观测表面限制。
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
Gen3R 将前馈重建模型与视频扩散模型结合。VGGT 的中间 token 已经包含相机、深度和 point map 所需的几何信息,Wan2.1 视频模型则掌握高质量外观、运动和未观测帧先验。Gen3R 先把两种模型的潜空间对齐,再由同一个 DiT 联合生成外观与几何,使重建约束和视频生成先验在整个去噪过程中持续交换信息。
VGGT 主干从第 4、11、17、23 层读取多尺度图像 token,并加入每帧 camera token。一个 geometry adapter 将它们压缩为与 Wan 视频 VAE 潜变量形状相同的 16 通道 geometry latent ;另一个 adapter 再把 恢复为 VGGT 中间特征,并交给冻结的任务 Head 解码相机、深度和 point map:
这相当于一个非对称几何 VAE:编码器与解码器不采用镜像结构,解码端直接复用已经学好几何任务的 VGGT Head。adapter 同时最小化中间 token、相机、深度和 point map 的重建误差,避免高维特征压进 16 个通道后只保留平均信息,却丢失相机关系和细薄边界。
仅保证几何可解码还不够。Wan DiT 已经适应 RGB VAE 的 appearance latent ,如果 的均值和方差相差太大,相同噪声强度在两个分支中会对应不同信噪比。Gen3R 因此使用:
让 geometry posterior 的统计尺度靠近 appearance posterior。这个 KL 约束只要求两个潜空间数值相容,不会让它们表达相同内容: 仍保存颜色和纹理, 负责相机与表面结构。

两类 latent 沿空间宽度并排拼接为 。DiT 修改 RoPE,使左右两半的对应像素共享同一组位置编码,即 。这样 RGB 边界与深度边界、外观运动与相机运动在 token 级别保持对齐,并能通过全局注意力共同去噪:
输入条件只有 RGB。已知帧由 Wan VAE 编码为外观条件,缺失帧置零;几何条件区域始终为零,使模型必须根据图像和生成先验推断 ,而不是简单修补一份 VGGT 几何。可选相机条件使用像素级 Plücker ray。训练以相同概率采样三种任务:只给第一帧生成后续视角与三维;给首尾帧生成中间视角;提供全部帧执行多视图重建。文本和相机条件还会随机丢弃,使同一个 checkpoint 同时支持文本引导、相机控制和自由轨迹。
去噪结束后, 由 Wan VAE Decoder 恢复 RGB 视频, 经 geometry adapter 和 VGGT Head 恢复相机、深度与 point map;深度再按照预测相机反投影并合并成全局点云。双路解码避免单个潜变量同时承担无损纹理与精确几何两种冲突目标。联合生成也优于“先生成视频、再交给 VGGT”的串联系统,因为几何分支能够在外观漂移尚未固化时参与修正,视频先验则可以为稀疏输入补全遮挡区域。
Gen3R 用统一潜空间覆盖单图三维生成、首尾帧补间和全帧重建,展示了生成先验与重建先验可以互相改善。不过扩散推理需要多步去噪,速度、随机性和训练资源开销都明显高于确定性 VGGT;生成式补全也可能牺牲已观测表面的局部精度。几何监督来自冻结 VGGT,会继承其相对尺度、反光透明、弱纹理和动态场景误差;输出主要是 RGB、相机、深度和点云,若要获得带拓扑、材质且能实时任意视角渲染的完整三维资产,仍需额外表示与后处理。
