跳转至

RayMap3R: Inference-Time RayMap for Dynamic 3D Reconstruction

会议: ECCV 2026
论文: ECCV 2026
代码: https://raymap3r.github.io/
领域: 3D视觉
关键词: 流式三维重建, 动态场景, RayMap, 推理时动态识别, 相机位姿估计

一句话总结

RayMap3R 发现用 RayMap 训练的流式重建模型在「只喂 RayMap 特征」时会出现静态场景偏置,于是用主分支与 RayMap 分支的逐像素深度差在推理时识别动态区域、并以此门控记忆状态更新,再叠加重置度量对齐与状态感知平滑,在不训练、不引入外部模块的前提下把动态场景下的位姿/深度/重建精度推到流式方法前列。

研究背景与动机

流式前馈三维重建把「从单目 RGB 序列里同时估计场景几何与相机位姿」从离线批处理搬到了在线场景。以 DUSt3R/MASt3R/VGGT 为代表的离线范式要先拿到全部图像、在帧间做稠密两两匹配与全局注意力,因此精度高但代价随序列长度疯长——按 VGGT-SLAM 的统计,200 帧就要接近 48 GB,根本无法支撑实时应用。CUT3R、TTT3R、Point3R、StreamVGGT、Spann3R 这类流式方法改用记忆机制:用一个隐状态缓存(或显式点锚、空间记忆库)与逐帧输入交互,做到数千帧下内存恒定、高频推理。但它们的记忆是「照单全收」的——训练数据里几乎没有动态标注,模型也就没有被教过「哪些内容不该写进记忆」。

问题在于,流式模型处理一帧时只有有限的历史上下文,一旦画面里出现运动物体,重建出来的动态几何会被当作可信观测写进状态,随后的帧又从这个被污染的状态里解码位姿与深度,误差便一帧帧累积成相机漂移与结构畸变(论文 Fig. 1 中 CUT3R、TTT3R 的轨迹漂移即由此而来)。已有的动态重建方案普遍要挂外部模块:基于光流的方法依赖现成的 flow 估计器与人工阈值、泛化差;基于分割的方法被训练类别限制;基于跟踪的方法要求已知相机内参并做迭代优化——它们都带来额外开销与领域依赖,与「实时、恒定内存」的流式目标相冲突。

本文的切入点来自一个被忽视的性质:RayMap(逐像素的相机射线参数图,编码射线原点与单位方向)只承载相机几何、不携带外观信息,因此当只给模型喂 RayMap 特征时,它无法从当前帧「看到」物体,只能去记忆里检索场景内容。而静态结构在历史帧中被反复观测、能被可靠回忆,动态物体只短暂出现、更容易被抑制——这导致 RayMap-only 预测系统性地偏向静态背景。作者在 MPI Sintel、DAVIS 2017、TUM RGB-D 的 108 段序列上验证:主分支与 RayMap 分支的逐像素深度差与真值动态比例正相关(Spearman ρ=0.77, p<10⁻²²),是一个稳定可用的动态线索。核心 idea:把 RayMap 分支「看不见动态物体」这一缺陷当作免费的先验,用两分支的深度差在推理时算出静态性权重去门控记忆状态更新,从而在不训练、不加重训的前提下让流式重建对动态场景鲁棒。

方法详解

整体框架

方法的输入是图像流,输出是相机位姿、深度图与点云。基座是一个带隐式记忆的流式重建模型(论文消融明确以 CUT3R 为基座),RayMap3R 在其上叠加三个推理时组件,全程不训练、不反向传播:① 双分支 RayMap 动态识别——每个时间步让主分支(图像+RayMap 特征)与 RayMap 分支(只用由主分支预测位姿重建的 RayMap 特征)从同一个冻结状态解码,用两者的深度差算出逐状态 token 的静态性权重,门控状态更新;② 重置度量对齐——流式模型为对抗记忆遗忘会周期性重置记忆,重置会让同一重复帧在前后两段产生尺度不一致,这里用重复帧的点云估一个 Sim(3) 把新一段接回旧尺度;③ 状态感知平滑——用「轨迹加速度 × 内部状态变化量」当不确定性信号,对帧间位移做自适应指数滤波,在线压掉位姿抖动。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["图像流"] --> B["主分支:图像 + RayMap<br/>解码位姿 / 深度 / 置信度"]
    B --> C["双分支 RayMap 动态识别<br/>RayMap-only 查询取深度差<br/>得静态权重 α 门控状态更新"]
    C -->|周期重置处| D["重置度量对齐<br/>重复帧点云 Sim(3) 校正"]
    D --> E["状态感知平滑<br/>加速度 × 状态变化量<br/>自适应滤波帧间位移"]
    E --> F["位姿 / 深度 / 点云"]

关键设计

1. 双分支 RayMap 动态识别:把 RayMap-only 查询的静态偏置变成免训练的动态门控

这是全文的核心,也是贡献最大的组件。做法是让同一个冻结状态 \(s_{t-1}\) 被两个分支各解码一次:主分支同时吃图像 token \(f_t\) 与 RayMap token \(r_t\),RayMap 分支则只吃 RayMap token——关键在于这个 RayMap 不是输入帧自带的,而是由主分支自己预测出的位姿 \(\hat{T}_t\) 重新构造、再编码得到的 \(r'_t\)。两个分支的差异因此被严格限定在「有没有外观信息」这一维度上(同一状态、同一视角),预测之差可以干净地归因于动态内容:

\[\hat{y}_t^{\text{main}} = \mathrm{Dec}(f_t + r_t,\ s_{t-1}), \qquad \hat{y}_t^{\text{raymap}} = \mathrm{Dec}(r'_t,\ s_{t-1})\]

每个预测都含深度图与置信度图。逐像素看,主分支与 RayMap 分支的相对深度差 \(\delta_i = |z_i^{\text{main}} - z_i^{\text{raymap}}| / |z_i^{\text{main}}|\) 越大,说明该像素越可能是动态内容——因为主分支看得见它而 RayMap 分支只能从记忆里回忆出那里的静态背景。但状态更新作用在状态 token 而非像素上,所以 \(\delta\) 要跨两层聚合:先按主分支给出的置信度在每个 patch 内做加权平均,把像素分数聚成图像 token 级分数;再以解码器的交叉注意力权重 \(A_{jk}\)(状态 token \(j\) 与图像 token \(k\) 之间)为权重,投影到每个状态 token 上。最后把逐状态 token 的 \(\delta^{\text{state}}\) 转成静态性权重:

\[\alpha_t = \sigma\!\left(\gamma \cdot \frac{\operatorname{median}(\delta^{\text{state}}) - \delta^{\text{state}}}{\operatorname{IQR}(\delta^{\text{state}})}\right)\]

用中位数与四分位距而不是均值方差,是因为动态区域往往只占画面一小块、是典型的离群值,稳健统计量能防止少数大偏差把整体尺度拉歪;\(\gamma\) 控制动静分离的灵敏度,sigmoid 把结果压到 \((0,1)\)。于是「\(\delta\) 低于中位数」的 token 拿到接近 1 的 \(\alpha\)、状态照常更新,「\(\delta\) 显著偏高」的动态 token 拿到接近 0 的 \(\alpha\)、被挡在记忆之外。权重还沿时间做指数滑动平均以增强时序稳定性,最终的状态更新写成

\[s_t = s_{t-1} + \alpha_t \odot \Delta s_t\]

其中 \(\Delta s_t\) 是解码器产生的状态增量。此外,像素级的静态性图还会被用来构造一个加权全局特征,让记忆更新时的位姿检索也偏向静态区域。整个双分支流程在若干帧的 warmup(只用主分支)之后逐帧运行,不涉及任何反传。

这一设计与 TTT3R 的软门控形成直接对比:TTT3R 的门控来自交叉注意力的隐式信号,当画面被大面积动态区域占据时压不住;而这里的门控来自「同一状态下两种输入模态的显式深度对比」,判据更直接,因此在 Sintel 这类动态占比大的序列上把 ATE 从 0.210 拉到 0.166(Tab. 2)。

2. 重置度量对齐:用重复帧把重置前后的两段接回同一尺度

流式模型的记忆会随序列推进被新观测逐渐冲淡,因此常见做法是周期性重置——清空状态并用一个「重复帧」重新初始化以维持时序连续。作者指出这个重置引入了一个此前被忽视的问题:重置改变了记忆状态,同一个重复帧在重置前后会被解码出不一致的相机参数与几何,表现为段与段之间的尺度错配,并作为系统性漂移传播到后续所有帧、在长序列上不断放大。

修复思路利用了重复帧的物理性质:它在重置前后观测的是同一个物理场景,所以两次重建之间的差异是重置带来的度量错配,是一个可测的自监督信号。具体地,用重复帧在重置前的点云与重置后的点云估一个 Sim(3) 变换——它同时涵盖尺度错配与位姿偏移——再把该变换施加到新一段的所有后续帧上,恢复度量一致性、抑制误差累积。相比在整条轨迹上做全局优化,这个方案只在重置边界付一次极小的估计代价,完全兼容在线推理。

3. 状态感知平滑:把内部状态变化量当作不确定性来在线滤波轨迹

流式方法逐帧估计位姿,噪声会随时间累积;MASt3R-SfM、DROID-SLAM、DPVO 这类事后优化能在离线把轨迹磨平,但与在线处理不兼容。这里要解决的是「怎么在不看未来的前提下判断某一帧的位姿可不可信」。作者用了两个互补信号:一是状态变化量 \(sc_t\),取所有状态 token 上 \(\Delta s_t\)\(\ell_2\) 范数均值(在门控更新之前计算,因而反映的是模型提出的完整改动量),代表模型此刻的「不确定程度」;二是轨迹加速度 \(a_t = \lVert d_t - d_{t-1} \rVert_2\),其中 \(d_t = \tau_t - \tau_{t-1}\) 是帧间位移,代表运动的不规则程度。

关键在于把二者相乘而不是单用其一:只看加速度,匀速快移会被误判成噪声而遭过度平滑;只看状态变化量,一次真实的新观测同样会带来大改动。两者同时偏大才说明「运动突兀且模型自己也拿不准」。把乘积通过一个反比映射转成平滑系数并指数滤波帧间位移:

\[\beta_t = \frac{1}{1 + \lambda |a_t \times sc_t|}, \qquad \hat{d}_t = \beta_t d_t + (1-\beta_t)\hat{d}_{t-1}\]

当乘积很大时 \(\beta_t \to 0\),滤波退回到累积估计 \(\hat{d}_{t-1}\),抖动被压掉;乘积很小时 \(\beta_t \to 1\),原始位移原样保留。位置按 \(\hat{\tau}_t = \hat{\tau}_{t-1} + \hat{d}_t\) 递推更新,把递推展开可得闭式轨迹

\[\hat{\tau}_t = \tau_0 + \sum_{m=1}^{t}\sum_{k=1}^{m} \beta_k \prod_{l=k+1}^{m}(1-\beta_l)\, d_k\]

其中乘积项 \(\beta_k \prod_{l=k+1}^{m}(1-\beta_l)\) 决定第 \(k\) 帧位移对当前估计的有效贡献,形成一个自适应衰减:稳定区间权重集中在近期帧,高不确定区间则把滤波视野拉长。该格式天然因果、无需显式存储历史,开销可忽略。需要注意的是,这里的位移 \(d_t\) 只取平移分量 \(\tau_t \in \mathbb{R}^3\),也就是滤波只作用于位置、不作用于旋转(⚠️ 原文未讨论旋转抖动的影响)。

一个完整示例

以一段包含行人的手持拍摄序列为例(下列数值为便于理解机制的示意,非论文实测值)。设某帧右侧有一只走过的人:主分支因为看得见它,把该区域深度预测为约 2.0 m(前景);RayMap 分支在没有外观信息的情况下从记忆里回忆出该处的静态背景,给出约 3.1 m。两者的相对深度差在这些像素上约为 0.5,远高于静态墙面的约 0.02。像素分数先按主分支置信度在每个 patch 内聚合成图像 token 分数,再经解码器交叉注意力权重摊到对应的状态 token 上;由于行人只占画面一小块,这些 token 的 \(\delta^{\text{state}}\) 属离群高值,经中位数/IQR 标准化后被 sigmoid 压到接近 0,\(\alpha \approx 0\),于是「有人经过」这件事几乎不会写进记忆。同帧墙面的状态 token \(\delta^{\text{state}}\) 低于中位数、\(\alpha \approx 1\),状态照常更新。下一次重置发生后,重复帧在重置前后重建出的点云被估出一个 Sim(3),把新一段的尺度与位姿偏移一次性纠正回来;若此时相机恰好被手持抖动带出一帧异常位移,\(a_t \times sc_t\) 变大、\(\beta_t\) 变小,该帧位移被滤掉而不会污染轨迹。

损失函数 / 训练策略

RayMap3R 是免训练框架:没有新的损失函数,不微调基座、不引入外部网络,三个组件全部在推理时生效,双分支的前向也在无梯度模式下运行。可调的只有推理时的几个旋钮——\(\gamma\)(静态性权重的动静分离灵敏度)、\(\lambda\)(平滑映射的灵敏度)、静态性权重的指数滑动平均系数,以及开始双分支前的 warmup 帧数;原文未给出这些超参的具体取值与敏感性分析(⚠️ 以原文为准)。消融实验以 CUT3R 为基座,完整模型即在其上叠加双分支识别(R)、重置度量对齐(M)、状态感知平滑(S)。

实验关键数据

主实验

评测覆盖三个任务:视频深度估计、相机位姿估计与三维重建;数据集为动态场景的 Sintel、TUM-Dynamics、KITTI、Bonn 与静态场景的 ScanNet、7-Scenes。

相机位姿(Tab. 2,Sim(3) 对齐,ATE 与平移 RPE 越低越好):

方法 在线 Sintel ATE↓ Sintel RPE_t↓ TUM-dyn ATE↓ TUM-dyn RPE_t↓ ScanNet ATE↓
StreamVGGT 0.251 0.149 0.061 0.033 0.161
Point3R 0.351 0.128 0.075 0.029 0.106
Spann3R 0.329 0.110 0.056 0.021 0.096
CUT3R 0.208 0.072 0.031 0.009 0.098
TTT3R 0.210 0.091 0.019 0.008 0.065
本文 0.166 0.056 0.018 0.005 0.064

视频深度(Tab. 1,逐序列尺度对齐的 Abs Rel↓ / δ<1.25↑):

方法 KITTI Abs Rel↓ KITTI δ<1.25↑ Bonn Abs Rel↓ Bonn δ<1.25↑ Sintel Abs Rel↓ Sintel δ<1.25↑
Point3R 0.135 84.0 0.061 96.2 0.451 48.7
StreamVGGT 0.173 72.1 0.063 97.2 0.323 65.7
CUT3R 0.118 88.1 0.078 93.7 0.421 47.9
TTT3R 0.114 90.4 0.068 95.4 0.409 48.8
本文 0.098 92.8 0.057 97.4 0.401 50.9

三维重建与效率(Tab. 3 在 7-Scenes 上每场景 200 帧;Tab. 4 在单张 RTX A6000 48GB 上):

方法 Acc↓(均值) Comp↓(均值) NC↑(均值) Chamfer↓(均值) 50 帧显存/帧率 1000 帧显存/帧率
Spann3R 0.298 0.205 0.650 0.503
CUT3R 0.043 0.031 0.621 0.027 6.4 GB / 19.7 FPS 6.5 GB / 19.7 FPS
TTT3R 0.027 0.023 0.582 0.025 7.6 GB / 19.6 FPS 7.7 GB / 19.6 FPS
Point3R 30.0 GB / 5.0 FPS OOM
VGGT 20.0 GB / 21.0 FPS OOM
MonST3R 32.0 GB / 0.31 FPS OOM
本文 0.023 0.022 0.629 0.024 9.2 GB / 13.8 FPS 9.4 GB / 13.8 FPS

消融实验

三个组件在 CUT3R 基座上的逐项消融(Tab. 5;原文表格未标注所用数据集与协议,⚠️ 以原文为准):

配置 位姿 ATE↓ 深度 Abs Rel↓ 重建 Chamfer↓ 说明
Base(CUT3R) 0.114 0.208 0.322 无任何组件
+R 0.113 0.186 0.245 双分支识别对深度/重建贡献最大,对轨迹几乎无影响
+R+M 0.110 0.184 0.213 度量对齐主要修 Chamfer,去掉段间尺度错配
+R+S 0.084 0.185 0.196 平滑主要修轨迹,ATE 大幅下降
Full(R+M+S) 0.081 0.183 0.170 三项互补,全指标最优

动态图本身的定量评估(Tab. 6,共 108 段序列 6631 帧;disc 为动静区域的平均差异比,AUC 把信号当二分类器、0.5 为随机,ρ 为与真值动态比例的 Spearman 相关):

数据集 序列数 帧数 Mean disc↑ Mean AUC↑ Mean IoU↑ ρ↑
MPI Sintel 19 746 1.61 0.464 0.298 0.900
DAVIS 2017 81 5205 1.68 0.538 0.189 0.713
TUM RGB-D 8 680 1.88 0.560 0.206 0.643
全部 108 6631 1.69 0.532 0.203 0.771

关键发现

  • 三个组件分工明确、互补而非重叠:双分支识别(R)把深度 Abs Rel 从 0.208 降到 0.186、Chamfer 从 0.322 降到 0.245,是深度与重建的最大贡献者,但对 ATE 几乎没有影响(0.114→0.113)——因为它工作在状态层面、过滤的是几何而非轨迹;度量对齐(M)把 Chamfer 从 0.245 进一步压到 0.213;状态感知平滑(S)则专攻轨迹,单加它就把 ATE 从 0.110 打到 0.084,最终 Full 达到 0.081。
  • 动态场景增益明显、静态场景不退化:Sintel(动态物体占画面比例大)ATE 从次优的 0.210 降到 0.166;TUM-dynamics 上同样领先。而在静态的 ScanNet 上本文与最好的流式方法打平(0.064 vs TTT3R 0.065),说明静态性权重在没有运动物体时并不会误伤正常更新。
  • 深度上有一个诚实的例外:Sintel 逐序列尺度下 StreamVGGT 的 Abs Rel(0.323)优于本文(0.401),但 StreamVGGT 的显存随帧数增长,不属于恒定内存的流式方案;在度量尺度协议下本文则在 Bonn/KITTI 领先、Sintel 上与最强流式方法持平(0.954 vs TTT3R 0.977),且 δ<1.25 更高(24.0 vs 23.2)。
  • 速度与显存是这类方法的真实成本:双分支带来约 30% 的帧率损失(13.8 FPS vs CUT3R/TTT3R 的 ~19.7 FPS)、显存从约 6.5 GB 升到约 9.4 GB,但 1000 帧时仍恒定在 9.4 GB;离线方法 VGGT/MonST3R 在 50 帧就要 20–32 GB,Point3R 虽在线却因显式点记忆在 900 帧后 OOM。
  • 动态图不是分割器,而是软门控信号:三数据集上 disc 均大于 1(1.61–1.88),说明动态区域的深度差确实系统性更大;真实数据集 AUC 超过 0.5(DAVIS 0.538、TUM 0.560)可判别。Sintel 的 AUC 反而低于 0.5(0.464),但它的 ρ 最高(0.900)——运动模式异质使阈值二分类变难,可序列级的排序信号依然很强。IoU 约 0.20 属预期之内,因为这是一张连续信号图被阈值化后与二值真值比较,定位是"提示"而非"分割结果"。
  • 对离线方法的追赶:7-Scenes 上本文在 Acc、Chamfer 上超过离线动态方法 MonST3R-GA(Acc 均值 0.023 vs 0.248,Chamfer 均值 0.024 vs 0.514),说明选择性状态更新在流式设定下能部分补偿全局优化的缺失;但与 VGGT、DUSt3R 这类离线前馈方法相比仍有差距,且后者本就不适用于长序列。

亮点与洞察

  • 把模型的"缺陷"当成免费的监督信号——这是全文最"啊哈"的地方。RayMap token 不含外观、所以模型只喂 RayMap 时看不见动态物体,这在常规视角下是缺陷;作者反过来把它当作一个稳定的动态检测器:既然模型只能回忆静态结构,那两分支差异大就说明那里有运动。整个动态识别因此不需要标注、不需要训练、也不需要外部模型。
  • 用模型自己预测的位姿去构造 RayMap 查询,让两个分支的差异严格限定在输入模态上——同一冻结状态、同一视角,唯一的变量是"有没有外观"。这是把对比做成受控实验的写法,也让深度差可以干净地归因于动态内容,而不是视角或状态差异带来的伪信号。
  • 像素信号到状态 token 的两跳聚合(像素 → 图像 token 用置信度加权 → 状态 token 用交叉注意力权重)解决了一个很实际的问题:你算出的证据在像素上,但你要门控的对象在状态 token 上。这个"借解码器注意力把证据搬运到需要门控的单元"的思路,可以直接迁移到任何用交叉注意力解码的记忆式流式模型。
  • 用内部状态变化量当不确定性代理,不额外训练一个置信度网络;再与轨迹加速度相乘,把"匀速快移"和"模型没把握"这两种都会抬高单一信号的情形区分开,避免对稳定的快速运动过度平滑。
  • 重复帧是天然的标定物:重置机制本来就要求重放一帧,作者顺势把它用作 Sim(3) 的估计依据,一次估计同时修正尺度与位姿偏移,代价只在重置边界付一次。
  • 中位数/IQR 的稳健标准化把连续差异转成门控权重的做法值得复用:动态区域在画面里天然是少数派(离群值),用均值方差会被少数大偏差带偏,用分位数则能自适应地确定"多大算大"。

局限与展望

  • 作者承认的局限:方法依赖模型在训练中隐式获得的动态感知能力,而这一偏置继承自 CUT3R 的骨干,其可靠性取决于该模型是否在动态场景上训练过;因此适用范围被限定为「带循环记忆、且原生支持 RayMap-only 查询」的流式模型。作者也指出,随着 RayMap 表示扩散到离线前馈模型,在其他 RayMap 系架构里研究类似的查询机制是自然的扩展方向。
  • 适用范围偏窄:免训练的前提是基座必须能「只喂 RayMap 也能解码出几何」。Spann3R、Point3R、StreamVGGT 这类没有 RayMap-only 查询分支的流式模型无法直接套用,因此它更像是 CUT3R/TTT3R 家族的即插即用升级,而非通用的动态重建方案。
  • 评测覆盖不均衡:三维重建只在 7-Scenes 这个静态室内数据集上做了定量评测(每场景 200 帧),动态场景(Sintel、TUM-dynamics、DAVIS)上只有位姿、深度与定性结果;对"动态场景下的重建质量"缺少直接的数字证据,而这恰是标题所声称的目标。此外消融表未标注所用数据集与协议,超参 \(\gamma\)\(\lambda\) 与 warmup 帧数的取值和敏感性均未报告。
  • 平滑只作用于平移:状态感知平滑滤波的是帧间位移 \(d_t\)(平移分量),旋转分量并未被平滑,因此旋转抖动仍在;从 Tab. 2 看,本文在 Sintel 的旋转 RPE(0.720)略逊于 DUSt3R(0.579),与 TTT3R(0.722)基本持平,与"轨迹更稳"的叙事存在一定张力。
  • IQR 归一化的退化情形:当某一帧几乎全是静态内容时,\(\delta^{\text{state}}\) 的四分位距会非常小,式中的除法会放大数值噪声、使 \(\alpha\) 的取值不稳定;原文未讨论这一情形,一个自然的改进是用一个下界(如 \(\max(\text{IQR}, \epsilon)\))或跨帧的滑窗统计来稳定尺度(⚠️ 这条为本笔记的分析,非原文结论)。
  • 可能被动态掩码掩盖的错误:由于动态区域的状态更新被抑制,若模型把某块静态区域误判为动态,该区域的几何将长期得不到更新且不会报错——这类静默失败在现有指标下不易暴露,值得补一个"被抑制 token 的长期覆盖率"之类的诊断指标。

相关工作与启发

  • vs CUT3R:CUT3R 用隐式记忆缓存加位置字典做连续实时重建,是本文的基座;但它在动态场景下会被运动物体污染记忆、产生明显漂移(Sintel ATE 0.208,7-Scenes Chamfer 0.027)。本文在同一个骨干上叠加三个推理时组件,不重训就把它抬到 ATE 0.166 / Chamfer 0.024,代价是显存与帧率的小幅让步。
  • vs TTT3R:TTT3R 同样扩展 CUT3R,用交叉注意力做软门控来缓解记忆遗忘,是本文最直接的对手。区别在于它的门控来自注意力的隐式信号,当大面积动态区域占据画面时压不住;本文的判据是显式的模态对比,因而在 Sintel/TUM-dynamics 上 ATE 明显更低(0.166 vs 0.210、0.018 vs 0.019)。不过在三维重建上两者已很接近(Chamfer 均值 0.024 vs 0.025),TTT3R 在 Comp 最小值与 Chamfer 中位数上还略优。
  • vs MonST3R / MegaSaM 等离线动态方法:MonST3R 用光流处理运动,在部分离线设定下精度更高,但需要完整序列且显存暴涨(50 帧即 32 GB,1000 帧 OOM),也无法在线输出。本文在 7-Scenes 的 Acc 与 Chamfer 上反而超过 MonST3R-GA,说明流式方法中"选择性写入记忆"能部分替代全局优化。
  • vs 基于光流/分割/跟踪的动态重建:这三类都要挂外部模块——光流方法依赖现成 flow 估计器与人工阈值、泛化差,分割方法受限于训练类别,跟踪方法要求已知内参并做迭代优化。本文的路线是零外部模块、零训练,用一个从模型自身行为中读出的隐式先验替代它们。
  • vs VGGT / DUSt3R / MASt3R 等离线前馈模型:它们靠全序列的稠密两两匹配与全局注意力取得最高精度,但要求先拿到全部帧、代价随输入数量快速增长。本文面向的是完全不同的约束——在线、恒定内存、数千帧;在这个约束下它把流式方法的精度推到了新的上界。
  • 可迁移的启发:任何"只用部分模态查询就能解码"的多模态前馈模型,都可能存在类似的模态偏置(例如只给深度/只给文本提示),而这种偏置本身就是一个免标注的先验来源;关键是找到一个能把偏置"读出来"的对照实验,再把差异搬运到需要干预的单元上。

评分

  • 新颖性: ⭐⭐⭐⭐ 把 RayMap-only 查询的静态偏置反用为免训练动态先验,视角独特且观察扎实(108 段序列上有统计验证);但具体组件(Sim(3) 对齐、指数平滑)本身较常规。
  • 实验充分度: ⭐⭐⭐⭐ 覆盖位姿/深度/重建三类任务、六个数据集,另有动态图的四指标定量分析与速度显存实测;不足是动态场景的重建定量评测缺失、消融表未标数据集、超参与 warmup 未做敏感性分析。
  • 写作质量: ⭐⭐⭐⭐ 从观察(static bias)到机制(为何静态易被回忆)到方法(如何读出门控)的逻辑链写得清楚,图表与正文结论自洽;个别公式排版与表格标注偏粗糙。
  • 价值: ⭐⭐⭐⭐ 即插即用、免训练、内存恒定,对已有流式 3R 模型的动态鲁棒性是一次低成本升级;"从模型偏置里挖先验"的思路对更广的前馈几何模型有借鉴意义。