技术博客
WAM 世界模型CV 计算机视觉多模态论文解读原理

D4RT (上):把动态场景重建变成一次“时空查询”

yiwan-cat2026-08-01 11:39
D4RT (上):把动态场景重建变成一次“时空查询”

论文:Efficiently Reconstructing Dynamic Scenes One D4RT at a Time
作者:Chuhan Zhang、Guillaume Le Moing、Skanda Koppula 等
机构:Google DeepMind、伦敦大学学院、牛津大学
版本:arXiv:2512.08924v2,2025 年 12 月

如果只拍一张照片,三维重建要回答的问题相对直接:画面里的物体离相机多远,它们在三维空间中位于哪里?

但视频麻烦得多。相机可能在移动,画面中的人、动物和车辆也在移动;一个物体还会被遮挡、再次出现,甚至发生非刚性形变。此时,我们不仅要知道“物体在哪里”,还要知道“它在什么时间位于哪里,以及这个位置是以哪一帧相机为参照”。空间再加上时间,就构成了所谓的动态 4D 场景。

D4RT 想解决的,正是这样一个问题:能否只输入一段视频,就用同一个模型同时得到深度、点云、像素轨迹和相机参数,而不是为每项任务分别搭建一套系统?

图 1:D4RT 对视频只进行一次全局编码,随后用独立查询获得点云、点轨迹和相机参数。图片裁自论文 Figure 1。

过去的方法为什么显得“拼装感”很强?

传统动态场景重建通常会拆成多个环节:一个模型估计深度,一个模型追踪像素,另一个模块计算相机运动,最后再通过优化算法把这些结果拼到同一坐标系中。

这样做并非没有道理。每个模块都能针对自己的任务优化,几何约束也比较明确。但问题同样明显:系统越来越复杂,不同模块的误差会相互传递,而且推理时常常需要反复优化。只要画面中出现大范围运动、遮挡或非刚性物体,静态重建和动态追踪之间的边界就会暴露出来。

D4RT 的出发点很不一样。它不先问“我要输出深度图还是点云”,而是把这些任务还原成一个更基础的问题:

给定视频中的一个二维点,它在指定时刻、指定相机坐标系下的三维位置是什么?

只要这个问题能被稳定回答,深度、点云和轨迹都可以通过改变查询方式得到。

核心设计:先看完整段视频,再按需提问

D4RT 可以被理解为“重编码、轻查询”的两阶段系统。

第一阶段,编码器读取整段视频,生成一份全局场景表示。它需要综合理解各帧之间的对应关系、相机运动、物体运动以及遮挡变化。这个过程只执行一次。

第二阶段,解码器不再逐帧生成一整张稠密结果,而是接收许多彼此独立的查询。每个查询包含五项信息:

  • (u, v):源图像中的二维位置;

  • t_src:这个点来自哪一帧;

  • t_tgt:希望知道它在哪一个时刻的位置;

  • t_cam:希望用哪一帧相机的坐标系表达结果。

模型最后输出一个三维坐标 P=(x,y,z)。论文把这个过程写成 P=D(q,F)F 是视频的全局表示,q 是一次时空查询。

图 2:一个查询同时指定源点、目标时刻和相机参照,解码器据此预测三维位置。图片裁自论文 Figure 2。

这五个变量看起来有些抽象,可以用“追踪蝴蝶翅膀上的一个斑点”来理解:

  1. 在第 1 帧选中翅膀上的一个像素,这确定了 (u,v,t_src)

  2. t_tgt 依次改为第 1、2、3……帧,就能得到这个点随时间运动的三维轨迹;

  3. 改变 t_cam,则可以把同一个三维位置换到不同相机参考坐标系中表达。

时间状态和相机参照由此被拆开了。相机在动,不等于场景本身在动;D4RT 用两个独立时间索引区分这两件事,这是整套设计中非常关键的一步。

一个查询接口,如何变出多种任务?

当查询接口确定后,不同三维视觉任务只是“查询参数怎样排列”的区别。

点轨迹:固定源点和源帧,让目标时刻遍历整段视频,就能得到该点的三维运动轨迹。

点云:遍历视频中的像素,并把结果统一表达在同一个相机参考系中,就能组合成完整点云。

深度图:令源时刻、目标时刻和相机参考时刻相同,再取输出三维坐标的 Z 分量。

相机外参:让同一批三维点分别在两个相机参考系中表达,再通过刚体对齐估计两帧之间的相对位姿。

相机内参:结合二维像素坐标与预测的三维位置,可以反推出焦距等参数。

所以,D4RT 所谓的“统一”,并不是在网络末端放置五个不同的输出头,而是让五类任务共享同一种最小查询单位:一个点在时空中的三维位置。

为什么“独立查询”很重要?

论文刻意不让不同查询之间进行自注意力交互。每个点都只读取全局场景表示,再独立产生答案。

这样设计带来三个直接好处。

第一,训练时不必解码每一帧的每一个像素,只采样少量查询就能获得监督信号。第二,推理时可以按需求选择查询密度:只追踪几个关键点时不必生成完整点云。第三,大量查询之间没有依赖关系,天然适合并行计算。

当然,独立查询并不代表每个点“各看各的”。它们共享同一份由完整视频编码而成的全局表示,因此仍然能利用跨帧信息。更准确地说,D4RT 把点与点之间的全局关系集中到编码阶段,把输出阶段压缩成简单、可扩展的按需访问。

小结

D4RT 最值得关注的并不是又增加了一种输出,而是重新定义了动态场景重建的接口:先把整段视频编码成可查询的场景记忆,再通过“源点—目标时间—相机参考”回答具体的三维问题。

这种设计把深度、点云、相机参数和动态追踪统一到了同一种语言中,也为高效推理留下了空间。

不过,“查询式解码”为什么真的会更快?它的实验结果是否足以支持论文的结论?主模型又是否像标题给人的感觉那样轻量?这些问题将在下篇继续展开。

点赞收藏
// 评论0
0 / 500
还没有评论,快来抢沙发