如何从一段视频中获得完整、稳定的 3D 物体?过去,这个问题大致沿着两条路线发展。

一条是 3D 重建:把不同视角中真实观察到的几何逐步拼接起来。它擅长忠实恢复「已经看见」的部分,但在输入视角有限、遮挡严重或物体背面从未出现时,往往只能留下缺口或不完整的表面。另一条是 3D 生成:借助大规模数据中学到的先验,从单张图像推断并补全一个完整物体。它能够生成输入中没有直接出现的结构,却也可能对同一物体的不同视角作出彼此矛盾的「想象」。

这两种范式长期各有所长:重建强调观测忠实度,生成强调先验补全能力。但当输入不再是一张图片,而是一段持续到来、没有预设终点的单目视频流时,真正需要的或许不是二选一,而是让生成模型像重建系统一样不断吸收新证据,再利用生成先验补全仍未被观察到的部分。

近日,来自香港科技大学 World Mind Lab、麻省理工学院 Media Lab 与 EECS、哈佛大学 Kempner Institute 的研究团队提出 Stream3D,试图打通这两条路线。它为冻结的视图条件 3D 生成器加入一套训练免费的流式机制:模型一边从视频流中持续筛选并积累可靠的多视角证据,一边生成跨时间、跨视角一致的完整 3D 结果。

更重要的是,Stream3D 不需要重新训练,也不修改底层生成器的模型结构。它只保存固定容量的证据记忆,使跨分块状态不随视频长度线性增长。换句话说,SAM 3D、TRELLIS、Hunyuan3D 等原本面向单图或固定多视角输入的生成模型,由此获得了一种类似在线重建的持续观测能力。



图 1:在诸多样例中,Stream3D 利用连续到来的多视角信息,生成结果比逐帧使用 SAM3D 更接近真实 3D。



从一张图到一段视频

为什么这么难?

现有视图条件 3D 生成器通常假设输入是一张图片,或一组预先确定、数量有限的图片。面对开放式视频流,最直接的几种做法都有明显短板。

第一种是逐帧独立生成。每一帧都能得到一个看似合理的 3D 物体,但模型没有历史记忆,同一物体未被观察到的部分可能在不同时间被 “脑补” 成不同形状,最终表现为明显的时间不一致。

第二种是保留并反复处理全部历史帧。它能够利用更多视角,却会让计算量和内存占用随视频长度持续上升,很难支持真正开放式的长序列。

第三种是传递潜变量状态,例如复用 KV Cache,或通过 FlowEdit 一类方法把上一段的潜特征带到下一段。但 3D 生成器的方向、形状和尺度纠缠在潜空间中,不同视角之间很难准确对齐;误差一旦进入缓存,还可能在长序列中不断累积。

Stream3D 的出发点因此很直接:与其搬运越来越重、也越来越不稳定的潜变量,不如只记住哪些历史视角真正提供了可靠证据。

核心武器:自适应证据记忆



图 2:Stream3D 整体框架。输入视频按分块到来,注意力探针计算逐 token 证据分数,自适应证据记忆保留高价值历史视角,再由 Top-K 视角共同驱动冻结的 3D 生成器。来源:Stream3D 项目主页,对应论文 Figure 2。

Stream3D 在每个视频分块上执行两步计算:先进行一次轻量的预热前向传播,从交叉注意力中判断当前视角是否可靠;再根据更新后的记忆,选择一组信息量最高的历史帧进行完整 3D 生成。整个过程由三个关键环节组成。

1. 注意力探针:让模型自己判断「这一眼有多重要」

在一次单步去噪的预热过程中,Stream3D 读取冻结生成器的交叉注意力图。对每个 3D 查询 token,它不仅关注某个输入视角获得了多强的注意力,也关注这种注意力是否足够集中、足够有区分度。

由此得到的Evidence Score(证据分数)可以理解为:对于 3D 空间中的某个局部区域,当前视角是否提供了强而明确的观察证据。一个视角可能非常适合判断物体正面的纹理,却未必能解释背部结构;因此 Stream3D 不使用全局统一的「最佳帧」,而是为不同 token 分别记录可靠视角。

2. 自适应证据记忆:固定容量,只留更强证据

Stream3D 为每个查询 token 维护两个固定大小的列表:一个保存 Top-D 证据分数,另一个保存这些分数对应的帧索引。新视频分块到来后,只有比已有记录更可靠的视角才会进入记忆;没有被任何 token 选中的帧可以直接丢弃。

这一设计带来两个重要性质:



图 3:随着 Chunk 0、4、8、12 依次到来,高证据历史视角被写入固定容量记忆,生成网格逐步获得更完整的几何和纹理信息。来源:Stream3D 项目主页,对应论文 Figure 3。

3. 基于证据的多视角生成:让 token 为历史帧投票

到了完整生成阶段,每个 token 会根据自己的 Top-D 列表,为最能解释它的历史帧「投票」。系统汇总这些局部选择,计算每一帧覆盖了多少重要 token,再选出得票最高的 Top-K 帧作为当前分块的条件输入。

这种做法与随机挑帧或选择一组全局代表帧不同:物体的不同表面可以从不同历史视角中取证。被选中的多视角通过置信度加权的融合方式共同参与生成,而底层 3D 生成器始终保持冻结。

实验见真章:

当生成模型开始像重建系统一样积累证据

主实验显示,Stream3D 的提升并不只来自生成更多「看起来合理」的纹理。在 GSO 与 NAVI 上,它同时改善了 Chamfer Distance、IoU 等几何指标,以及 PSNR、LPIPS、Image FID 等外观指标。这意味着,多视角证据不仅约束了最终渲染结果,也真正改变了模型恢复出的 3D 结构。

更能体现其方法定位的,是与流式重建模型 StreamVGGT 的对比。StreamVGGT 沿着 reconstruction 路线持续预测并融合输入图像对应的 3D 点图;Stream3D 则把真实观测转化为生成过程中的条件证据。为尽量减少「背面从未被看到」对重建方法造成的不利影响,实验为 StreamVGGT 选取了 32 个覆盖完整角度的输入视角,并通过反投影得到其不直接支持的新视角结果。即便如此,Stream3D 仍在几何和外观指标上取得更好的整体表现,其中 Chamfer Distance 为 0.048,优于 StreamVGGT 的 0.064。

这里的关键不是简单宣称「生成优于重建」,而是说明:当生成模型获得了类似重建系统的持续证据积累能力,它便可以同时利用两类信息 —— 观测到的视角负责约束对象身份、局部几何与纹理,生成先验则负责补全有限条件视角未能充分覆盖的结构。纯重建方法主要回答「相机已经看见了什么」,Stream3D 还需要回答「这些观测共同指向一个怎样完整而一致的物体」。

Stream3D 在每次完整生成时只向底层模型提供 K = 8 个由证据记忆选出的条件视角。不过,这不等同于它只观察了 8 帧:这组紧凑输入来自此前整段视频积累的 token 级证据。也正因如此,它展示了一种新的 few-view 能力 —— 不是依靠少数孤立图片直接猜测 3D,而是把长视频中的观测压缩成少量、高价值的条件视角,再借助生成先验得到更完整、更一致的结果。



图 4:GSO 与 NAVI 上的定性结果。与 SAM3D、TRELLIS 系列及多视角扩散基线相比,Stream3D 在鞋、玩具和复杂动物模型上呈现出更一致的形状与外观。来源:论文 Figure 4,第 7 页。

从论文主实验表可以看到,Stream3D 在两个数据集的七项几何与外观指标上均取得了表中最优结果。

在 GSO 上,与单视图 SAM3D 相比:



图 5:GSO 与 NAVI 主实验结果。向下箭头表示越低越好,向上箭头表示越高越好。来源:论文 Table 1,第 7 页。

NAVI 包含更复杂的相机轨迹、视角变化、重复纹理与自遮挡。在这个更具挑战性的设置中,Stream3D 的增益相对温和,但仍然覆盖所有报告指标:例如 CD 从 SAM3D 的 0.138 降至 0.128,PSNR 从 16.159 dB 提升至 16.474 dB,Image FID 从 141.496 降至 134.025。

研究团队还专门比较了不同流式策略。KV-Cache 会把未经几何可靠性筛选的历史 token 一并带入,FlowEdit 更擅长局部、短程的一致性,而随机选帧又可能遗漏某个局部表面所需的关键视角。相比之下,Stream3D 的逐 token 证据记忆能够长期保存「局部上不可替代」的历史观察。



图 6:不同流式策略的定性对比。Stream3D 在保持整体形状的同时,恢复了更多与真实物体一致的局部结构。来源:论文 Figure 5,第 8 页。



图 7:GSO 上不同流式策略的量化对比。相较表现最强的潜状态传递基线 KV-Cache,Stream3D 的 CD 相对下降约 42.9%,PFID 相对下降约 39.6%。来源:论文 Table 2,第 8 页。

进一步的消融实验表明,更深层的 Transformer 特征通常能够提供更稳定的几何证据;归一化后的证据分数优于熵分数与未归一化版本;增加记忆深度能够改善长程一致性,但过深的记忆也可能重新引入较弱或过时的证据。论文最终采用 K = 8 作为效率与质量之间的折中,而 K = 16 在部分指标上还能获得小幅提升。

一点思考:

3D 重建与生成正在走向同一个问题

过去,3D 重建与 3D 生成通常被视为两条不同路线。重建关心如何把真实观测准确地放回三维空间;生成则关心如何利用先验,在信息不足时给出完整、合理的答案。Stream3D 的意义,在于它表明这两种能力并非必须彼此分离。

在 Stream3D 中,证据记忆承担了「重建式观测」的角色:它不断比较新旧视角,只保留最能解释不同 3D 局部的历史证据;冻结的 3D 生成器则负责把这些有限但可靠的观测组织成一个完整物体,并补全仍未被充分看到的几何与外观。前者让结果忠实于视频流,后者让系统不必等到每一个表面都被相机完整扫过。

从这个角度看,无需训练与恒定记忆并不只是两个孤立的工程优势。无需训练意味着现有单图 3D 生成器可以直接获得持续观测能力;恒定大小的跨分块记忆,则使这种能力能够延伸到没有固定终点的视频流。二者共同支撑的,是一种介于传统 reconstruction 与 generation 之间的新工作方式。

当然,Stream3D 仍然受到底层生成器能力的限制。如果基础模型无法从任何输入视角正确理解物体,证据记忆也不能凭空修复错误;论文中的结果也不意味着生成方法可以普遍取代重建方法。它更具体地证明了:在有限条件视角的流式设置中,当生成先验受到可靠历史证据的持续约束,生成模型可以得到比纯流式重建更完整、更一致的 3D 结果。

未来的 3D 系统或许不再需要回答「应该选择重建还是生成」。更值得探索的问题是:能否让模型像重建系统一样持续理解它所看见的世界,又像生成模型一样补全它尚未看见的部分。Stream3D 正在为这两种能力之间搭起一座桥。