动态四维重建与跟踪 · GOOGLE DEEPMIND

D4RT

Efficiently Reconstructing Dynamic Scenes — One Dart at a Time
「What is the geometry of everything, everywhere, all at once?」——本文认为这种穷尽式、僵硬的方式从根本上不适合动态世界。

一个简洁而强大的前馈模型,「用统一的 Transformer 架构,从单段视频联合推断深度、时空对应与完整的相机参数」。其核心创新是「一个新颖的查询机制,绕开了稠密逐帧解码的繁重计算,以及管理多个任务专用解码器的复杂性」。

任务:4D 重建 + 3D 点跟踪 静态 & 动态统一接口 比前作快 18–300× 编码器 1B + 解码器 144M 📄 arXiv:2512.08924 d4rt-paper.github.io
关键词4D reconstruction动态场景重建3D point trackingon-demand queryingfeed-forward视频深度估计相机位姿估计Scene Representation Transformer时空对应单目视频

01 研究动机

「从视频中理解和重建动态场景复杂的几何与运动,依然是计算机视觉的一个巨大挑战。」尽管大家都需要统一的 4D 理解,「主流方法往往把问题拆成一个个离散、任务专用的组件」。

MegaSaM

「依赖一堆现成模型,分别估计单目深度、度量深度和运动分割。」融合这些信号「需要计算上昂贵的测试时优化来强制几何一致」。

VGGT

前馈方法,但「为不同模态使用各自专用的解码器」。关键是,它「无法为场景的动态部分建立对应」。

SpatialTrackerV2

「引入了动态」,但「仍缺乏统一的单阶段表述,反而依赖昂贵的迭代细化」。

共性问题

许多方法不支持视频内变化的内参、只能用第一帧作参考、或为稀疏/稠密输出准备不同的头——管线臃肿。

「我们提出范式转变:从碎片化的、帧级解码,转向高效的、按需查询(on-demand querying)。」
teaser
核心思想。「我们的模型首先编码输入视频,生成一个潜在的场景表征,然后据此独立地解码任意数量的时空点查询。这个简单、新颖的设计把所有 4D 重建任务统一到单一接口,并解锁了高效的训练与推理。」

贡献

02 方法

D4RT 是「一个受 Scene Representation Transformer 启发的简洁编码器-解码器架构」。编码器产出全局场景表征 F;一个轻量解码器随后「通过一个简单的低层接口查询 F」。

method overview
两阶段架构。编码器捕捉「关于整个环境的信息,识别跨所有视频帧的稠密对应,并理解时间的流动及其对场景的影响」。F 一旦算出「就在第二阶段保持固定,解码器从任意数量的查询 cross-attend 进 F」。

查询的定义:把空间与时间解耦

一个查询定义为 q = (u, v, t_src, t_tgt, t_cam)

每个查询「被完全独立地处理」,输出其 3D 点位置 P = Dec(q, F) ∈ ℝ³。本文强调三个优良性质:

  1. 「这些索引不必相同,允许空间与时间的完全解耦。」
  2. 「每个查询独立解码,既支持高效的训练与推理,也支持灵活的解码(稀疏或稠密)。」
  3. 「这个接口以统一、一致的方式解锁了一整套下游应用。」

架构

编码器

一个「带交替的局部逐帧与全局自注意力层」的 ViT。视频「在 tokenize 前 resize 到固定的正方形分辨率」;原始长宽比被嵌入「单独的一个 token」。默认:ViT-g、40 层、时空 patch 2×16×16,约 1B 参数。

点级解码器

「一个小型 cross-attention Transformer」(8 层、144M)。查询 token = (u,v) 的 Fourier 嵌入 + 可学习时间步嵌入。关键技巧:「用一个以 (u,v) 为中心的 9×9 局部 RGB patch 嵌入来增强查询,能极大地提升性能」。

为什么禁止查询间交互?「独立解码查询是一个有重大优势的刻意设计决策。」它支持高效训练(少量查询即可监督)、推理时自由选取查询、平凡的并行——且作者「在早期实验中经验性地观察到:一旦启用查询间的 self-attention,性能会大幅下降」。

训练

端到端训练。主监督是「对归一化 3D 点位置 P 的 L1 损失」(按均值深度归一化,再经 sign(x)·log(1+|x|)「抑制远点的影响」)。辅助损失:2D 坐标 L1、3D 表面法向余弦相似度、目标点可见性 BCE、点运动 L1,以及置信度惩罚。
配置:ViT-g 编码器 + 8 层解码器;48 帧片段、256×256;每步 2048 个随机查询;500K 步、64 块 TPU,「刚过 2 天」。

高效的稠密动态对应

朴素地跟踪所有像素「需要 O(T²HW) 次查询,其中大多数并不需要」。本文引入一个用占据栅格的算法,它「只从未访问的像素发起新轨迹」,每条全视频轨迹会把它「可见经过」的所有时空像素标记为已访问。「经验上,根据视频运动复杂度,这带来 5–15× 的自适应加速。」之所以可行,「正是因为我们的解码器既稀疏又轻量」。

03 一套查询接口,覆盖所有 4D 任务

「通过简单地改变查询的取法,我们的框架就能处理一大类 4D 任务」——无需任务专用的头。

任务查询取法
点轨迹(3D)固定 (u,v,t_src),让 t_tgt = t_cam = {1…T} 遍历 →「它的点轨迹,即对应点在整段视频中的 3D 轨迹」。
点云「视频中所有像素的 3D 位置都能在一个共享参考帧 t_cam 下直接预测」,无需用噪声相机做坐标变换。
深度图「令 t_src = t_tgt = t_cam 查询任意像素,只取输出 P 的 Z 分量」。
相机外参在两帧网格采样源点 → 同一批 3D 点在不同参考系下的表达 → 用「Umeyama 算法(求解 3×3 SVD 分解)」求刚性变换。
相机内参解码网格点,假设主点 (0.5, 0.5) 的针孔模型,按 f = p_z·(u−0.5)/p_x 求焦距,「对 k 个估计取中位数以稳健化」。
point cloud comparison
整体重建。纯重建方法(MegaSaM、π³)「无法理解场景中的动态,要么在实体移动时产生重复的影像,要么完全无法重建它们」。基于跟踪的模型「通常只从一帧跟点,在第一帧中被遮挡的所有区域留下空洞,如此处的 SpatialTrackerV2」。相比之下,「D4RT 能在统一参考系下跟踪视频里所有动态像素」。

04 实验

D4RT「刷新了 SOTA,在广泛的 4D 重建任务上超越了既有方法」——速度与精度兼得。

18–300×3D 跟踪比前作更快
~100×相机位姿吞吐量超过 MegaSaM
5–15×跟踪所有像素的自适应加速
SOTA4D 跟踪、深度、点云、相机

4D 重建与跟踪(TAPVid-3D)

在 TAPVid-3D(「三个真实世界、富有挑战的子集」)上评测。对局部坐标系 3D 跟踪,报告 APD₃D、遮挡精度 OA 与 3D Average Jaccard(AJ),「D4RT 达到 SOTA……无论是否给定真值内参」。对世界坐标系 3D 跟踪——它「也衡量模型隐式切换参考系的能力」——「我们的模型在这项任务上同样出色,各项指标都有强力提升」。在效率上,「我们的模型比前作快 18–300×」。

speed vs accuracy
效率 vs 精度(相机位姿)。「为公平起见,我们去掉了基线中与相机估计无关的解码头,使它们更快。即便如此,我们发现 D4RT 在精度与效率上都超越所有现有方法,吞吐量比 MegaSaM 高出两个数量级。」

3D 重建:点云 / 深度 / 相机位姿

in the wild results
「我们进一步在多样的真实世界视频上评测我们的方法……展示了它在静态与动态场景上的表现。」

消融(默认 ViT-L + 6 层解码器,Sintel 上评测)

消融项发现
局部 RGB patch「带来巨大的性能提升。」它帮助查询「建立更可靠的对应」,并提供「帮助从背景中分割物体、产生细粒度预测的低层线索」——比 DPT 的 skip 连接「简单得多」。
编码器规模从 ViT-B(90M) 到 ViT-g(1B):「显著的性能提升,深度估计与相机位姿的 RPE-R 尤其明显」。
辅助损失「有些显著提升深度(如 2D 位置、法向),有些对更好的相机位姿至关重要(如置信度)。」
连续查询 → 子像素由于 (u,v) 在连续 [0,1]²,「我们的解码器能在任意分辨率探测场景」。配合原分辨率 RGB patch,可恢复发丝、物体边界等精细细节。
long video kitti
长视频泛化。视频被切成「重叠片段」,再「用 Umeyama 算法估计 Sim(3) 变换对齐,基于重叠区置信度最高的 85% 的点」。在 KITTI 上,「我们的模型给出最佳 ATE……大幅超越 VGG-T 与 π³」。

05 局限性

说明:正文没有设置专门的「Limitations」章节。以下要点部分来自论文(附录/消融)中明确报告的现象,部分是根据方法设计推断的约束,已尽量标注来源。
高频细节恢复仍不完美(附录明确)

子像素解码消融指出:朴素的稠密查询「恢复了更平滑的边缘,但仍然无法恢复高频细节」。要恢复精细细节(发丝、物体边界),需要额外机制——「在原始分辨率下从源帧提取局部 RGB patch 进行解码」。换言之,编码器原生分辨率的输出「本质上是粗糙的」,锐度高度依赖 RGB patch 技巧。

训练/推理分辨率低且需固定正方形(256×256)

模型「在 256×256 分辨率的 48 帧片段上训练」,编码器把输入「resize 到固定的正方形分辨率再 tokenize」(长宽比只能通过一个单独 token 间接编码)。这对高分辨率或极端长宽比场景是结构性约束;精细几何主要靠解码端的连续查询 + 原分辨率 patch 来补偿。

长视频需切片 + Sim(3) 拼接(非端到端)

处理长序列时并非一次前馈:视频被切成「重叠片段」,再用 Umeyama Sim(3) 估计对齐(类似 VGGT-Long 的第一阶段,但省略回环检测与全局优化)。超长视频的全局一致性因此依赖后处理拼接,而非模型内生的全局推理。

查询被刻意禁止相互交互

独立解码是效率的关键,但也是一种约束:作者「经验性地观察到,启用查询间 self-attention 会带来大幅性能下降」。每个查询孤立解码,无法显式利用与邻近查询的关系——所有跨点一致性都必须由共享的场景表征 F 隐式承载。

训练严重依赖合成数据(推断)

训练混合偏重合成/半合成数据集(Kubric、PointOdyssey、Dynamic Replica、VirtualKITTI、TartanAir……),因为动态对应的真值在真实世界极难获取。这带来对合成分布的潜在依赖与 sim-to-real 泛化压力——是这类动态对应方法共同的约束。

内参估计依赖简化假设(推断)

内参恢复「假设主点在 (0.5, 0.5) 的针孔相机模型」。带畸变的相机(如鱼眼)需要「在初始估计之上加一个非线性细化步骤」,并非由主模型直接产出。

总体而言,D4RT 的设计哲学是「用一个统一、轻量、可自由查询的接口换取强大的效率与灵活性」,其代价主要落在分辨率/高频细节、长视频拼接,以及对合成数据的依赖上。