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\)。两个分支的差异因此被严格限定在「有没有外观信息」这一维度上(同一状态、同一视角),预测之差可以干净地归因于动态内容:
每个预测都含深度图与置信度图。逐像素看,主分支与 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}}\) 转成静态性权重:
用中位数与四分位距而不是均值方差,是因为动态区域往往只占画面一小块、是典型的离群值,稳健统计量能防止少数大偏差把整体尺度拉歪;\(\gamma\) 控制动静分离的灵敏度,sigmoid 把结果压到 \((0,1)\)。于是「\(\delta\) 低于中位数」的 token 拿到接近 1 的 \(\alpha\)、状态照常更新,「\(\delta\) 显著偏高」的动态 token 拿到接近 0 的 \(\alpha\)、被挡在记忆之外。权重还沿时间做指数滑动平均以增强时序稳定性,最终的状态更新写成
其中 \(\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 \to 0\),滤波退回到累积估计 \(\hat{d}_{t-1}\),抖动被压掉;乘积很小时 \(\beta_t \to 1\),原始位移原样保留。位置按 \(\hat{\tau}_t = \hat{\tau}_{t-1} + \hat{d}_t\) 递推更新,把递推展开可得闭式轨迹
其中乘积项 \(\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 模型的动态鲁棒性是一次低成本升级;"从模型偏置里挖先验"的思路对更广的前馈几何模型有借鉴意义。