跳转至

LoGeR: Long-Context Geometric Reconstruction with Hybrid Memory

会议: ECCV2026
论文: ECCV 原文
项目: https://LoGeR-project.github.io/
领域: 3D 视觉
关键词: 稠密 3D 重建、长序列建模、混合记忆、滑窗注意力、测试时训练

一句话总结

LoGeR 将视频按块重建,用滑窗注意力保留邻块细节、用测试时训练更新的快权重记忆传递全局几何,带前馈位姿对齐的 LoGeR* 在 KITTI 上将平均 ATE 从 TTT3R 的 72.86 m 降至 18.65 m,但超长序列结果包含周期性状态重置。

研究背景与动机

DUSt3R、VGGT 和 π3 等几何基础模型,可以从多张图像直接预测稠密点图与相机位姿,减少对传统匹配和后端优化的依赖。问题是,块内多视角双向注意力擅长利用互补观测,却难以直接覆盖几千乃至上万帧:全局注意力的代价随序列长度二次增长。即便 FastVGGT 等方法降低了推理开销,训练时见过的有限空间范围也不自动变成城市尺度的重建能力。

把视频分成小块似乎能解决显存问题,但每一块独立估计的坐标系与尺度需要重新拼接。只靠相邻重叠帧求相似变换,会把局部尺度误差一路传下去;把全部历史压进 CUT3R 一类循环状态,则可能丢掉邻块精细对齐最需要的局部信息。这里有两个不同的记忆需求:附近的几何细节应尽量保真,遥远的历史则需要低成本地保留坐标与尺度参照。

因此,论文没有把“能装下更多帧”等同于“能重建更大的场景”,而是同时修改跨块信息通道和训练数据分布。核心 idea:让邻块滑窗记忆负责高精度的局部衔接,让全局快权重记忆负责压缩后的长程几何参照,并用大场景数据与渐进课程训练教会两者协作。

方法详解

整体框架

输入是按时间排列的单目 RGB 视频,输出是逐帧相机坐标系下的稠密点图及全局坐标系下的相机位姿;用位姿变换点图即可得到世界坐标点云。视频按块顺序处理,块与块之间因果传播,块内仍允许双向多视角交互。因此,它是块级流式模型,而不是每收到一帧就立即输出的严格逐帧因果模型。

骨干继承 π3 的图像分块编码、逐帧注意力、块内双向注意力和预测头。在残差块中,处理顺序是逐帧注意力、稀疏插入的邻块滑窗记忆、全局快权重记忆、块内双向注意力;这一结构沿网络深度重复,最后解码点图与位姿。LoGeR* 再以重叠帧的位姿构造前馈刚体对齐。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["RGB 视频"] --> B["块级几何推理<br/>分块与逐帧编码"]
    B --> C["邻块滑窗记忆"]
    C --> D["全局快权重记忆"]
    D --> E["块内双向注意力<br/>点图与位姿解码"]
    E --> F["前馈位姿对齐<br/>LoGeR* 分支"]
    E -->|LoGeR| G["逐帧位姿与稠密点图"]
    F --> G
    D -->|写入下一块的状态| D

图中压缩展示了重复的网络块,不表示整个网络只有一层注意力。邻块特征缓存和快权重是两种不同状态;前者只保存近期的显式特征,后者把更长历史写入有限大小的参数。

关键设计

1. 块级几何推理:保留短窗口内的双向多视角能力

直接把双向模型改成逐帧递推,会削弱它利用多个视角恢复几何的能力。LoGeR 改为对连续帧分块,块间仅少量重叠,块内保留完整的多视角交互。每个网络块先独立处理各帧的空间特征,经过跨块记忆后,再做块内双向注意力,使当前块的几何推理同时看到本块多视角证据与过去传入的信息。

骨干的局部点图解码器预测每个像素在该帧相机坐标中的 3D 位置,位姿解码器预测相机到全局坐标的关系。把这两种输出分开很重要:局部形状正确并不保证所有块处于同一个世界坐标系,后面的记忆和全局监督正是为了解决这个差距。

分块也使单次局部推理更接近已有短序列训练数据的分布。固定分辨率、块大小与记忆容量时,处理更多块的总代价随序列长度线性增长;这不意味着块内注意力不再有二次开销,也不意味着输出全部点云不需要随帧数增加的存储。

2. 邻块滑窗记忆:把精细对齐信息留在显式特征中

邻块边界处的几何错误往往需要细粒度对应信息才能修正,而有限容量的压缩记忆无法保证这些细节都被保留。LoGeR 的滑窗注意力(Sliding Window Attention,SWA)访问前一块和当前块的逐帧注意力输出,让当前块能够直接使用上一块的高保真 token,而不是只读取一个压缩后的状态。

这条通道只跨相邻两个块,并且只在四个网络深度位置插入,避免把全历史 KV 缓存重新引入。论文所谓“无损局部记忆”,指保留未压缩特征,并非保证几何预测没有误差。随着窗口滑动,更早的显式特征不再可见,所以 SWA 单独使用仍无法维持长距离尺度参照。

3. 全局快权重记忆:先读取历史,再把当前块写入状态

另一条通道采用 Large-Chunk Test-Time Training(LaCT):历史信息不以不断增长的 token 列表保存,而是压缩在快权重模块中。快权重采用 SwiGLU 网络,测试时以 Muon 优化器更新;骨干的慢权重在推理时保持冻结。这里的“测试时训练”是模型内部记忆状态的更新,不是重新训练整个重建网络。

第 3 节用键值关联解释这种记忆:用 key 预测对应的 value,把关联关系写入参数,之后再由 query 读出。第 4.1 节具体采用块级“先应用、后更新”:先把当前块表示送入已有快权重,注入历史几何信息,再用当前块的信息更新快权重,供下一块读取。预归一化用于稳定长序列状态传播。

快权重适合保留粗几何、坐标参照和尺度等可压缩信息,SWA 则保留附近细节,两者不能互相替代。但有限大小的状态并不等于无限可靠的记忆。论文长序列评测每五个窗口重置快权重,并在重置时执行前馈位姿对齐;因此,上万帧结果不能解读成同一份快权重从头到尾都没有重置。

“无需后端优化”也需要准确理解:没有额外的位姿图或全局重建优化后端,但快权重本身仍执行测试时更新。模型的前馈重建管线与其内部可更新记忆同时存在,并不矛盾。

4. 前馈位姿对齐:用同一重叠帧接续坐标系

LoGeR* 针对长序列剩余的坐标不一致,显式利用前后块共有的帧。设该重叠帧在上一块已经对齐后的位姿为 \(\widetilde{T}^{(m-1)}_k\),在当前块的原始预测为 \(\widehat{T}^{(m)}_k\),原文第 4.2 节及式(12)的对齐关系可写为:

\[ A_m=\widetilde{T}^{(m-1)}_k\left(\widehat{T}^{(m)}_k\right)^{-1},\qquad \widetilde{T}^{(m)}_t=A_m\widehat{T}^{(m)}_t. \]

这相当于求出“当前块坐标系如何放到上一块坐标系中”,再把同一个刚体变换应用到当前块的所有相机位姿。它属于 \(SE(3)\) 对齐,不额外求尺度;与每块估计 \(SIM(3)\) 的 Pi3-Chunk 基线不同,跨块尺度一致性仍依赖网络学到的几何与记忆。

LoGeR* 在训练和推理时都使用这一步,并从第一阶段模型继续微调,因此不是给同一份基础模型的输出临时加一个测试后处理开关。实验中必须单独标注 LoGeR 与 LoGeR*,不能把较好的星号版本成绩都归给基础模型。

一个完整示例

用第 5.2 节的短序列设置理解数据流:每块 64 帧,重叠 3 帧,第一块处理第 1 至 64 帧,第二块处理第 62 至 125 帧。这个编号例子只是解释窗口移动,不是新增实验。

第二块进入网络时,SWA 读取第一块保留的特征以修正边界附近的对应关系;TTT 先读取第一块写入的快权重,再把第二块写进去。块内双向注意力利用第二块的所有视角进一步确定局部形状,预测头输出逐帧点图和位姿。

对于 LoGeR*,选定共有帧后,再按上述位姿关系把第二块接到第一块坐标系中。随着视频继续,SWA 的显式历史只保留相邻块,而 TTT 压缩状态继续传播。超长序列的周期性重置属于另一项评测设置,不应与此处的短序列块大小混为一谈。

损失函数 / 训练策略

第 4.2 节使用局部点图、相对位姿和全局点图三类监督。局部点图采用每序列一个尺度对齐,并按深度归一化重建误差;相对位姿同时约束旋转和带尺度对齐的平移,其中平移采用 Huber 误差;全局点图把局部预测通过相机位姿变换到世界坐标后施加约束,减少“每块看起来正确,合起来却不正确”的自由度。

总目标见原文式(11):

\[ \mathcal{L}=\mathcal{L}_{\mathrm{local}}+\mathcal{L}_{\mathrm{pose}}+\lambda_{\mathrm{global}}\mathcal{L}_{\mathrm{global}}. \]

缓存中的部分分项公式排版损坏,此处不猜写缺失项或权重数值。几何监督是训练主任务,TTT 中的自监督键值关联只是记忆更新机制;这也是论文应归入 3D 视觉,而非自监督表示学习的原因。

课程先用 48 帧、4 块训练,再保持 48 帧而增加到 12 块,最后把上下文扩到 128 帧并逐步增至 20 块。增加块数会要求模型跨越更多边界,减少仅靠短程滑窗就完成任务的机会,推动模型利用全局状态。

数据混合强调大场景来源,包括 TartanAir、TartanAirV2、Waymo、Virtual KITTI 2 和 OmniWorld-Game,同时保留室内及其他真实、合成数据。模型以 AdamW 训练 40k 步,批大小 32;作者报告先在 32 张 H100 上训练约两天,再在 32 张 H200 上约两天,评测使用 A100 40GB。最大训练上下文只有 128 帧,不能把它描述为直接用完整万帧轨迹训练。

实验关键数据

主实验

下表摘自原文表 2,指标为 KITTI 11 条序列的平均绝对轨迹误差(ATE,m,越低越好)。第 5.1 节说明先以 Umeyama 方法对齐预测轨迹与真值;ATE 衡量对齐后的轨迹位置偏差,不等同于未经对齐的绝对定位精度。

方法 类型 平均 ATE(m) 结果解释
DPV-SLAM++ 优化型 25.75 含优化后端
VGGT-Long 优化型 27.64 几何基础模型结合优化
InfiniteVGGT 前馈型 206.78 长流式基线
CUT3R 前馈型 91.62 循环状态基线
TTT3R 前馈型 72.86 既有 TTT 基线
Pi3-Chunk 前馈型 52.07 独立分块后做相似变换拼接
LoGeR 前馈型 25.44 混合记忆版本
LoGeR* 前馈型 18.65 训练和推理均加前馈位姿对齐

由表 2 计算,LoGeR* 相对 TTT3R 的平均 ATE 降低约 74.4%,相对基础 LoGeR 降低约 26.7%。原文正文提到相对 VGGT-Long 的 32.5% 改善,数值对应的是 LoGeR*,不是 25.44 m 的基础 LoGeR。

VBR 使用 7 条序列,长度 8,815 至 18,846 帧,轨迹覆盖 1.4 至 11.5 km。图 4 报告长序列上 55.2% 的相对改善,但文本缓存未提供可逐项核验的曲线数值表,因此不补造各长度下的绝对 ATE。该评测采用每五个窗口重置快权重、重置时执行前馈对齐的设置。

短序列评测覆盖 7-Scenes 的 50 至 500 帧点云重建,以及 ScanNetV2、TUM-Dynamics 的 50 至 1,000 帧位姿估计,块大小均为 64、重叠 3 帧。图 9 也指出,Pi3-Chunk 在小尺度 TUM 上可能有稍好的位姿指标,LoGeR 的可视化结构却更完整,因此不能仅凭轨迹误差判断全部稠密几何质量。

消融实验

下表摘自原文表 3,均为 ATE(m,越低越好)。这些模型以少于最终模型的训练帧数训练,并在 ScanNet 子集和 TUM 上评测,不应与表 2 的最终模型成绩直接比较。

配置 ScanNet 500 帧 ScanNet 1,000 帧 TUM 500 帧 TUM 1,000 帧
LoGeR 0.087 0.107 0.033 0.050
去掉 TTT 0.108 0.162 0.043 0.079
去掉 SWA 0.115 0.143 0.039 0.053
去掉五个大场景数据集 0.102 0.156 0.050 0.072
LoGeR,无课程训练 0.098 0.133 0.049 0.062
LoGeR* 0.070 0.080 0.031 0.036
LoGeR*,无课程训练 0.078 0.093 0.029 0.040

关键发现

  • ScanNet 1,000 帧中,移除 TTT 后 ATE 从 0.107 增至 0.162 m,移除 SWA 后增至 0.143 m,支持两种记忆都必要、长程状态在此设置尤其重要的判断。
  • 去掉五个大场景数据集后,同一列升至 0.156 m;可扩展架构本身不能代替合适的训练场景分布。
  • 课程训练总体有益,但并非每个表项都更好:LoGeR* 的 TUM 500 帧结果为 0.031 m,无课程版本反而为 0.029 m,不能照搬正文“始终改善”的概括。

亮点与洞察

  • 记忆按信息精度分工,而不只是按时间长短分工。高精度邻块对齐保留显式 token,长期尺度参照交给压缩状态,解释了为何两条通道具有互补性。
  • 分块的价值不仅是节省显存,也包括继承双向几何基础模型的多视角推理能力。逐帧循环模型与分块双向模型不能只按渐近复杂度视作等价。
  • 增加训练块数而不立刻增加总帧数,是针对跨块依赖的课程设计。它改变模型必须处理的边界数量,而不仅是机械地扩大输入规模。

局限与展望

  • 作者明确承认快权重容量有限,超长推理仍需重置。可靠记忆跨度与整个管线可处理的总帧数是两个不同指标,未来应分别报告。
  • 固定块大小下的线性复杂度不等于已证明实时运行。缓存正文没有完整吞吐率和时延表,训练资源也达到数十张高端 GPU,部署成本仍需单独评估。
  • 主文多处附录引用显示为问号,而当前缓存没有附录;长序列块大小、细化实现与完整超参数不能由短序列设置代填。这里只采用正文明确给出的设置。
  • 作为读者判断,表 3 的缩减规模消融支持机制解释,但不足以直接量化每个组件在完整 VBR 上的贡献。可进一步检查不同重置间隔、动态物体比例及非重叠片段带来的误差。

相关工作与启发

  • vs π3 / Pi3-Chunk:继承 π3 的块内几何能力,但不再仅靠重叠帧的 \(SIM(3)\) 拼接维持长程一致性。Pi3-Chunk 已是较强基线,说明应分别衡量分块本身与混合记忆的收益。
  • vs CUT3R / TTT3R:后两者偏向逐帧状态传播,LoGeR 保留块内双向推理,并补充未压缩的邻块信息。核心差别是上下文组织方式,而不只是是否使用 TTT。
  • vs FastVGGT / VGGT-Long:前者主要改善推理效率,后者结合优化处理长序列;LoGeR 同时学习跨块记忆和大场景几何,但“无需优化后端”不应误读为测试时完全没有参数状态更新。

评分

  • 新颖性: 4/5,混合记忆组件并非全新,但针对几何精度与尺度漂移的职责划分明确。
  • 实验充分度: 4/5,覆盖长短序列与组件、数据、课程消融,完整效率和附录细节仍有缺口。
  • 写作质量: 4/5,机制主线清晰,但版本归属与课程收益的文字概括需要对照表格阅读。
  • 价值: 5/5,为保留短窗口几何先验并扩展到长视频提供了具体、可分析的方案。