CLoSeR:闭环流式重建框架将漂移降至新低,SE(3)位姿图优化足够
CLoSeR 是一篇预印本。它通过在 LoGeR 流式重建主干上加入闭环检测和 SE(3) 位姿图优化,显著降低长序列里程计漂移。在 VBR、KITTI、Oxford Spires 和 DROID-W 四个真实场景基准上,CLoSeR 的平均 ATE RMSE 分别为 11.15、12.79、5.26 和 0.75 米,平均优于所有前馈基线,并在多个序列上超越优化型 SLAM。该方法无需重训练,利用 LoGeR 已具备的全局一致尺度,避免 Sim(3) 或 SL(4) 优化,对自动驾驶、机器人大规模建图具有直接价值。
能否在流式前馈重建主干上引入闭环,利用其全局一致尺度,在 SE(3) 上进行位姿图优化,从而消除长序列漂移?
长序列流式重建中,前馈基础模型因误差累积产生较大跟踪漂移。现有流式方法如 LoGeR 缺乏针对回访区域的显式约束;子图方法如 VGGT-SLAM 依赖点云对齐且尺度不一致,导致位姿图需在 Sim(3) 或 SL(4) 流形上优化,但点云配准噪声大、可靠性差。
此前的前馈流式重建主要依赖滑动窗口、全局记忆或 TTT 层传播信息(如 LoGeR、CUT3R、TTT3R),但缺少闭环。子图式方法(VGGT-SLAM、VGGT-Long)分块推理再通过点云配准对齐,并在 Sim(3) 或更高维流形上优化。这些方法在公里级序列上仍存在明显漂移或对齐错误。
CLoSeR 在 LoGeR 之上新增闭环模块,无需重新训练。具体地,使用 SALAD 全局描述子检测回环候选,将当前窗口与相关历史窗口组合成环路条件窗口,利用 LoGeR 的非时序依赖特性在单次前向中估计回环帧相对位姿。由于 LoGeR 输出已具备全局一致尺度,CLoSeR 直接在 SE(3) 流形上联合优化所有帧位姿,损失函数包括顺序约束和带 Huber 损失的闭环约束,用 Levenberg-Marquardt 求解。
在 VBR 的 7 个序列(1.02 至 5.20 公里)上,CLoSeR 平均 ATE RMSE 为 11.15 米,而 LoGeR 为 36.16 米,LoGeR* 为 31.75 米,优化型方法 DPV-SLAM++ 为 50.09 米。在 KITTI 全 11 个序列上,CLoSeR 平均 12.79 米,优于 LoGeR 的 25.44 米和 LoGeR* 的 18.65 米。在 Oxford Spires 14 个序列上,CLoSeR 平均 5.26 米,优于 LoGeR 的 6.88 米。在动态 DROID-W 7 个序列上,CLoSeR 平均 0.75 米,优于 LoGeR 的 1.44 米,但略低于专用动态 SLAM DROID-W 的 0.23 米。消融显示 SE(3) 优化优于 Sim(3)(13.33 米)和 SL(4)(20.36 米)。
作者指出,当底层里程计不是漂移而是完全失效时,例如高度动态场景或剧烈相机运动,CLoSeR 无法恢复正确轨迹。此外,方法依赖 LoGeR 作为主干,并未专门处理动态物体;评估均为离线真实视频序列,论文未报告实时推理能力或在线运行结果。
该工作可被自动驾驶、机器人长期自主导航、城市级三维重建、AR/VR 等场景采用。由于无需重训练且基于前馈模型,工程集成门槛较低,预计 1 至 3 年内可进入产品原型。前提是 LoGeR 等流式主干在目标场景中保持稳定,且能获得足够的闭环视图;对算力和存储要求较高,需要进一步工程化。
论文全文
CLoSeR: Closing the Loop for Long-Context Streaming Reconstruction
本文依据 CC BY 4.0 许可发布,经署名转载,原文见 arXiv:2610.01927(PDF)。
Abstract
Feedforward foundation models have recently shown remarkable 3D reconstruction capabilities. However, existing models exhibit large tracking drift in long-context streaming reconstruction due to error accumulation. In this paper, we revisit loop closure with streaming reconstruction foundation models to enable accurate, drift-free, kilometer-scale reconstruction. Specifically, our method detects loop candidates through global descriptor retrieval, and constructs loop-conditioned windows to estimate the relative poses between looped frames. Given the observation that our adopted streaming reconstruction backbone produces a globally consistent scale, we optimize all frame poses on the SE(3) manifold with sequential and loop closure constraints, avoiding the pose graph optimization on the Sim(3) or higher-dimensional SL(4) manifolds employed in prior works. Extensive experiments show that our method reduces drift and produces consistent geometry on kilometer-scale sequences, significantly outperforming the state of the art. Code is available at https://github.com/MoyangLi00/CLoSeR.git.
1 Introduction
Accurate geometry and pose estimation from a sequence of images are fundamental yet challenging tasks in 3D vision, with broad applications in robotics (Liu et al., 2024; Arm et al., 2023; Zhou et al., 2022) and autonomous driving (Badue et al., 2021; Geiger et al., 2013). Traditional approaches address this problem by leveraging multi-view geometric constraints, ranging from feature-based pipelines (Mur-Artal et al., 2015; Mur-Artal and Tardós, 2017; Campos et al., 2021) that triangulate sparse keypoints across frames, to direct methods (Engel et al., 2017; Engel et al., 2014) that minimize photometric residuals over image intensities. To achieve more robust estimation under challenging conditions, additional sensors such as inertial measurement units (IMU) (Qin et al., 2018; Leutenegger, 2022) and LiDAR (Zhang et al., 2014; Shan et al., 2020; Xu and Zhang, 2021) are commonly fused into the pipeline. Moreover, some systems have extensively studied loop closure detection (Gálvez-López and Tardos, 2012; Arandjelovic et al., 2016) and pose graph optimization (Kümmerle et al., 2011; Kaess et al., 2012), to correct the tracking drift over long trajectories and large-scale scenes.
Recently, feedforward foundation models have shifted the paradigm in 3D vision. Early works (Wang et al., 2024b; Leroy et al., 2024; Chen et al., 2025a) estimate dense two-view geometry and camera poses with transformers, and rely on pairwise alignment to handle multiple frames. VGGT (Wang et al., 2025a) extends this paradigm to multi-frame inputs, jointly predicting camera poses, depth maps, dense point clouds, and camera intrinsics in a single forward pass. However, the O(n^{2}) computational complexity of self-attention layers and its non-causal architecture prevent VGGT from scaling to long sequences or supporting streaming inference.
Several approaches extend feedforward backbones to long-sequence and sequential reconstruction. Some streaming approaches adopt online updates of global memory representation (Wang et al., 2025b; Chen et al., 2025b) or Test-Time Training (TTT) layers (Zhuo et al., 2025; Elflein et al., 2026; Jin et al., 2026; Zhang et al., 2026) to propagate information across windows to enable long-context reconstruction. However, they still suffer from tracking drift over long trajectories due to the lack of explicit constraints imposed on revisited regions. Submap-based approaches (Maggio et al., 2025; Maggio and Carlone, 2026; Deng et al., 2025) instead partition the sequence into chunks, independently infer the geometry and camera poses of each submap, and align them through point clouds registration. These approaches further incorporate loop closure to mitigate drift. However, since each submap is produced by an independent forward pass of VGGT, scale inconsistency inevitably arises across submaps. As a consequence, the resulting pose graph has to be optimized on the Sim(3) (Deng et al., 2025) or even higher-dimensional SL(4) (Maggio et al., 2025; Maggio and Carlone, 2026) manifold to absorb scale or projective ambiguity. However, the relative poses and scales recovered through point cloud registration remain noisy and unreliable, as shown in Fig. 1, which substantially limits their performance in real-world complex scenarios.
This raises a natural question: can loop closure be made simpler and more reliable when built upon a streaming backbone whose global scale is already consistent? In this paper, we present CLoSeR, a streaming reconstruction system that augments a prior streaming backbone LoGeR (Zhang et al., 2026) with loop closure for accurate kilometer-scale reconstruction from uncalibrated monocular videos. Our approach exploits two key properties of LoGeR: (a) its pose predictions across windows share a globally consistent scale, rendering pose graph optimization on the SE(3) manifold sufficient and avoiding the Sim(3) or SL(4) manifolds used in prior submap-based methods; (b) its window-wise inference does not require temporal contiguity of input frames, allowing us to append a loop-conditioned window comprising the current and revisited frames after the regular streaming windows, and to directly recover their relative poses in the global coordinate frame.
In summary, our main contributions are as follows:
- We present a system that integrates loop closure into streaming feedforward reconstruction models, enabling accurate kilometer-scale reconstruction from monocular videos.
- We propose a simple yet effective loop-conditioned window mechanism that exploits the streaming nature of the backbone to recover relative poses between looped frames in a globally consistent coordinate frame.
- We show that, owing to the globally consistent scale, pose graph optimization on the SE(3) manifold is sufficient for accurate large-scale reconstruction, obviating the Sim(3) or SL(4) optimization and the point-cloud alignment adopted by prior submap-based methods.
2 Related Works
Structure-from-Motion (SfM) aims to estimate sparse point clouds and camera poses from a collection of images. Traditional SfM pipelines (Snavely et al., 2008; Schönberger and Frahm, 2016; Pan et al., 2024) typically decompose this problem into several stages: keypoint detection and correspondence matching, camera pose estimation, and joint refinement of structure and poses. To improve the robustness and accuracy of SfM, recent works incorporate deep learning at different stages, including deep feature extraction (DeTone et al., 2018; Dusmanu et al., 2019; Yi et al., 2016) and learning-based feature matching (Sarlin et al., 2020; Edstedt et al., 2024; Pautrat et al., 2023; Lindenberger et al., 2023). Beyond this, another line of work explores end-to-end differentiable SfM (Teed and Deng, 2018; Wei et al., 2020; Brachmann et al., 2024; Wang et al., 2024a), which jointly optimizes geometry and camera poses within a unified learning framework.
Simultaneous Localization and Mapping (SLAM) aims to estimate camera poses and reconstruct the scene online from sequential observations. Traditional approaches are commonly categorized into feature-based methods (Mur-Artal et al., 2015; Mur-Artal and Tardós, 2017; Campos et al., 2021) and direct methods (Engel et al., 2017; Engel et al., 2014; Newcombe et al., 2011). Feature-based methods track sparse keypoints across frames and triangulate them into a sparse map, while direct methods minimize photometric residuals over image intensities to jointly recover poses and geometry. To improve robustness under challenging conditions like motion blur, low texture and large-scale scenes, some pipelines introduce additional sensors (IMU (Qin et al., 2018; Leutenegger, 2022; Zhu et al., 2026) and LiDAR (Zhang et al., 2014; Shan et al., 2020; Xu and Zhang, 2021)). To mitigate drift over long trajectories, many systems further incorporate loop closure (Mur-Artal et al., 2015; Mur-Artal and Tardós, 2017; Campos et al., 2021; Engel et al., 2014; Leutenegger, 2022). More recently, learning-based visual SLAM and VO systems (Teed and Deng, 2021; Teed et al., 2023; Lipson et al., 2024) have demonstrated superior accuracy and robustness over their classical counterparts. In parallel, another line of work integrates neural scene representations such as NeRF (Zhu et al., 2022; Zhu et al., 2024) and 3D Gaussian Splatting (Yan et al., 2024; Keetha et al., 2024; Matsuki et al., 2024) into SLAM, enabling photorealistic dense mapping. Despite maintaining consistency over long sequences, these carefully designed SLAM systems typically rely on iterative optimization and sophisticated pipelines. In contrast, recent feedforward reconstruction models jointly predict scene geometry and camera poses in a single forward pass, eliminating the need for iterative optimization.
Feedforward 3D Reconstruction Models predict dense 3D geometry directly from images without requiring known camera parameters. DUSt3R (Wang et al., 2024b) and MASt3R (Leroy et al., 2024) predict dense point clouds from an image pair within a common coordinate frame. MonST3R (Zhang et al., 2024) and Easi3R (Chen et al., 2025a) further extend DUSt3R to dynamic environments. VGGT (Wang et al., 2025a) and {\pi^{3}} (Wang et al., 2025c) support arbitrary numbers of input frames and achieve more accurate predictions. However, their quadratic attention limits scalability to very long sequences and prohibits online streaming inference. To address this limitation, VGGT-SLAM (Maggio et al., 2025; Maggio and Carlone, 2026) and VGGT-Long (Deng et al., 2025) extend VGGT to long sequences through submap-based alignment. In contrast, CUT3R (Wang et al., 2025b) and TTT3R (Chen et al., 2025b) handle long sequences by continuously updating a global state representation in an online manner. Several other streaming reconstruction works (Elflein et al., 2026; Jin et al., 2026; Zhang et al., 2026) instead leverage Test-Time Training (TTT) layers (Sun et al., 2024; Zhang et al., 2025) to propagate information across windows with linear complexity. Despite the rapid progress of feedforward reconstruction, existing approaches still struggle with drift accumulation in long-context streaming reconstruction. In contrast, our method incorporates effective loop closure within the feedforward reconstruction model, enabling accurate, drift-free streaming reconstruction at the kilometer scale.
3 Method
N_{\text{win}}/2 frames from the current window with N_{\text{win}}/2 frames from the corresponding prior window, predict the relative poses between loop edges from a single forward pass, and perform pose graph optimization on the \mathrm{SE}(3) manifold to correct tracking drift.Our proposed method, CLoSeR, enables accurate kilometer-scale streaming reconstruction from monocular sequences by augmenting a feedforward backbone (Zhang et al., 2026) with a loop closure module. In Sec. 3.1, we introduce the preliminaries of the streaming reconstruction backbone that our framework builds upon. In Sec. 3.2, we present loop detection and relative pose estimation between looped frames. Finally, in Sec. 3.3, we describe the global pose graph optimization over all frames with sequential and loop closure constraints. The overview of CLoSeR is shown in Fig. 2.
3.1 Preliminaries
Given a long image sequence \mathcal{I}=\{\mathbf{I}_{1},\dots,\mathbf{I}_{N}\} as inputs, LoGeR (Zhang et al., 2026) partitions it into K overlapping chunks of size N_{\text{win}} with stride s=N_{\text{win}}-N_{\text{overlap}}. The k-th chunk (k=1,\dots,K) is defined as
\mathcal{W}_{k}=\{\,\mathbf{I}_{t}\mid(k-1)s+1\leq t\leq(k-1)s+N_{\text{win}}\,\}.During inference, LoGeR (Zhang et al., 2026) first tokenizes the current window of images with a DINO-based (Oquab et al., 2023) encoder, and then applies multiple attention layers to produce per-frame camera-to-world poses \{\mathbf{T}_{t}\}_{t\in\mathcal{W}_{k}}\subset\mathrm{SE}(3) in a global world coordinate system and dense point maps \mathbf{P}_{t}\in\mathbb{R}^{H\times W\times 3} in local camera coordinates.
To maintain global consistency over long sequences, LoGeR employs two mechanisms for cross-chunk information propagation. Sliding Window Attention (SWA) preserves uncompressed features from recent chunks and enables precise alignment at chunk boundaries, whereas Test-Time Training (TTT) fast weights accumulate an evolving global state that anchors the trajectory to a consistent coordinate frame and mitigates scale drift over long horizons. As a result, all per-frame poses \{\mathbf{T}_{t}\}_{t=1}^{N} are expressed in a single global reference frame with consistent scale throughout inference.
Despite these properties, LoGeR still suffers from tracking drift over long trajectories, due to error accumulation caused by the lossy compression of global information in the TTT memory and the absence of explicit revisit constraints in the feedforward inference. This motivates us to build a loop closure framework on top of LoGeR. Two properties of the backbone make it particularly well suited as a frontend for loop closure: its chunk-based forward pass places no requirement on the temporal contiguity of input frames, and its pose outputs across chunks already share a common global scale. Exploiting these properties, we introduce a loop closure module on top of the LoGeR backbone, which estimates relative poses between looped frames under a consistent scale and enforces the resulting constraints through pose graph optimization.
3.2 Loop Detection and Alignment
To correct the tracking drift caused by error accumulation, we perform loop detection and loop pair alignment in a sequential manner.
Loop Detection
Let \mathbf{I}_{j} denote a frame in the current window \mathcal{W}^{\text{cur}} and \mathbf{I}_{i} a frame from previous windows. Upon the arrival of a new window of N_{\text{win}} frames, we extract the compact global descriptor \mathbf{d}_{j}^{\text{cur}} for each \mathbf{I}_{j} via SALAD (Izquierdo and Civera, 2024), and compute its cosine similarity with the descriptors \mathbf{d}_{i}^{\text{prev}} of all frames from previous windows. A pair (\mathbf{I}_{j},\mathbf{I}_{i}) is considered a valid loop candidate if its similarity exceeds \tau_{\text{sim}} and its temporal separation satisfies j-i>\tau_{\text{time}}. For each frame \mathbf{I}_{j}, we retain its top-k candidates ranked by similarity, yielding the loop pair set
\mathcal{C}_{k}=\bigcup_{j}\left\{(\mathbf{I}_{j},\mathbf{I}_{i})\;\middle|\;i\in\mathrm{Top}_{k}\!\left(s(\mathbf{d}_{j}^{\text{cur}},\mathbf{d}_{i}^{\text{prev}})\right),\;s(\mathbf{d}_{j}^{\text{cur}},\mathbf{d}_{i}^{\text{prev}})>\tau_{\text{sim}},\;j-i>\tau_{\text{time}}\right\},where s(\mathbf{d}_{j}^{\text{cur}},\mathbf{d}_{i}^{\text{prev}})=\dfrac{\mathbf{d}_{j}^{\text{cur}}\cdot\mathbf{d}_{i}^{\text{prev}}}{\|\mathbf{d}_{j}^{\text{cur}}\|_{2}\,\|\mathbf{d}_{i}^{\text{prev}}\|_{2}} denotes the cosine similarity, and \mathrm{Top}_{k}(\cdot) selects the indices of the k frames with the largest similarity scores.
Loop-Conditioned Window Construction
The detected loop frames in \mathcal{C}_{k} may come from several distinct prior windows. Accordingly, the current window can be associated with multiple prior windows, each yielding a separate loop-conditioned window. Formally, let \{\mathcal{W}^{\text{prev}}_{m}\}_{m=1}^{M} denote the set of prior windows connected to the current window \mathcal{W}^{\text{cur}} through loop pairs. For each \mathcal{W}^{\text{prev}}_{m}, we denote the set of loop pairs linking it to \mathcal{W}^{\text{cur}} as:
\mathcal{L}_{m}=\{(\mathbf{I}_{j},\mathbf{I}_{i})\in\mathcal{C}_{k}\mid\mathbf{I}_{j}\in\mathcal{W}^{\text{cur}},\;\mathbf{I}_{i}\in\mathcal{W}^{\text{prev}}_{m}\}.We then construct two subsets \mathcal{S}^{\text{cur}}_{m}\subseteq\mathcal{W}^{\text{cur}} and \mathcal{S}^{\text{prev}}_{m}\subseteq\mathcal{W}^{\text{prev}}_{m}, each of size N_{\text{win}}/2, from the frames that participate in \mathcal{L}_{m}. If more than N_{\text{win}}/2 frames are available on either side, we keep the N_{\text{win}}/2 frames with the highest similarity scores; if fewer are available, we augment the subset with temporally adjacent frames from the respective window. The loop-conditioned window is then formed as \tilde{\mathcal{W}}_{m}=\mathcal{S}^{\text{cur}}_{m}\cup\mathcal{S}^{\text{prev}}_{m}.
This yields a collection \{\tilde{\mathcal{W}}_{m}\}_{m=1}^{M} of loop-conditioned windows that preserve local temporal continuity while explicitly incorporating long-range loop constraints.
Relative Pose Estimation
Each loop-conditioned window \tilde{\mathcal{W}}_{m} is passed through the streaming inference model to obtain the poses. Unlike the standard sliding-window inference in Sec. 3.1, which operates on temporally contiguous frames, a single forward pass here jointly infers poses for frames from \mathcal{W}^{\text{cur}} and \mathcal{W}^{\text{prev}}_{m}. Let \mathbf{T}_{j}^{(m)} and \mathbf{T}_{i}^{(m)} denote the poses of \mathbf{I}_{j}\in\mathcal{W}^{\text{cur}} and \mathbf{I}_{i}\in\mathcal{W}^{\text{prev}}_{m} estimated from \tilde{\mathcal{W}}_{m}. The relative pose constraint for each loop pair (\mathbf{I}_{j},\mathbf{I}_{i})\in\mathcal{L}_{m} is
\mathbf{T}_{ji}^{\text{loop}}=\bigl(\mathbf{T}_{j}^{(m)}\bigr)^{-1}\,\mathbf{T}_{i}^{(m)}.Collecting these constraints over all loop pairs and all \{\tilde{\mathcal{W}}_{m}\}_{m=1}^{M} yields the inter-frame loop constraints used in the pose graph optimization (Sec. 3.3).
3.3 Pose Graph Optimization
Given sequential constraints between each frame and its N_{\text{seq}} temporal neighbors, and loop closure constraints \{\mathbf{T}_{ji}^{\text{loop}}\} provided by Sec. 3.2, we jointly refine all frame poses via pose graph optimization on \mathrm{SE}(3), as LoGeR’s SWA and TTT layers ensure a globally consistent scale. We denote the corresponding edge sets by \mathcal{E}_{\text{seq}} and \mathcal{E}_{\text{loop}}, and use \mathbf{T}_{qp}^{\text{seq}} to represent the relative pose on a sequential edge (q,p)\in\mathcal{E}_{\text{seq}}. Thus, we formulate the following cost function to optimize the global poses \{\mathbf{T}_{t}\}_{t=1}^{N}\subset\mathrm{SE}(3):
\displaystyle\{\mathbf{T}_{t}^{*}\}=\arg\min_{\{\mathbf{T}_{t}\}}\sum_{(q,p)\in\mathcal{E}_{\text{seq}}}\left\|\text{Log}_{{\text{SE}}(3)}\!\left((\mathbf{T}_{qp}^{\text{seq}})^{-1}\,\mathbf{T}_{q}^{-1}\,\mathbf{T}_{p}\right)\right\|_{2}^{2} \\ \displaystyle+\sum_{(j,i)\in\mathcal{E}_{\text{loop}}}\rho_{\delta}\!\left(\left\|\text{Log}_{\mathrm{SE}(3)}\!\left((\mathbf{T}_{ji}^{\text{loop}})^{-1}\,\mathbf{T}_{j}^{-1}\,\mathbf{T}_{i}\right)\right\|\right),where \text{Log}_{\mathrm{SE}(3)}(\cdot):\mathrm{SE}(3)\to\mathbb{R}^{6} maps a transformation to its 6-dimensional tangent vector, and \rho_{\delta}(\cdot) is the Huber loss with threshold \delta, applied to the loop term to suppress the influence of outlier loop constraints as follows:
\rho_{\delta}(r)=\begin{cases}\tfrac{1}{2}r^{2},&|r|\leq\delta,\\
\delta\left(|r|-\tfrac{1}{2}\delta\right),&|r|>\delta.\end{cases}We solve the problem with the Levenberg-Marquardt algorithm, and update the poses on the manifold via \mathbf{T}_{t}\leftarrow\mathbf{T}_{t}\,\exp(\boldsymbol{\xi}_{t}^{\wedge}) at each iteration, where \boldsymbol{\xi}_{t}\in\mathbb{R}^{6} is the tangent-space increment and (\cdot)^{\wedge} denotes the hat operator that lifts \mathbb{R}^{6} to \mathfrak{se}(3).
4 Experiments
Benchmarks and Metrics
We evaluate our method on (a) three representative long-context reconstruction benchmarks: the VBR dataset (Brizi et al., 2024), the autonomous driving benchmark KITTI Odometry (Geiger et al., 2013), and the challenging Oxford Spires dataset (Tao et al., 2024); and (b) one outdoor dynamic benchmark, DROID-W (Li et al., 2026). VBR is captured in Rome and provides RGB sequences, 3D point clouds, IMU measurements, and ground-truth trajectories obtained via bundle adjustment. Following LoGeR, we evaluate on 7 VBR sequences ranging from 8,815 to 18,846 frames and 1.45 to 5.2 km in trajectory length, all containing loops. KITTI Odometry comprises 11 sequences with long, loop-containing trajectories of up to 4,661 frames and 5.1 km. Oxford Spires consists of 14 sequences spanning indoor and outdoor scenes with challenging loop closures, ranging from 3,961 to 15,803 frames and 294 to 925 m in length. DROID-W contains 7 challenging dynamic sequences captured outdoors, ranging from 1,427 to 2,200 frames and 62 to 130 m in length. We report Absolute Trajectory Error (ATE) to evaluate tracking accuracy, and align estimated trajectories with the groundtruth via Sim(3) Umeyama alignment (Umeyama, 1991).
- #Frames
- 8815
- 12042
- 11671
- 11142
- 14141
- 10021
- 18846
- 12383
- Scale
- 1.45km
- 2.73km
- 2.95km
- 1.27km
- 1.56km
- 1.02km
- 5.20km
- 2.31km
- Contains Loop?
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- –
- Optimization-based (Calibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- DROID-SLAM
- 76.53
- 128.77
- 63.89
- 43.86
- 50.63
- 35.58
- 132.84
- 76.01
- DPV-SLAM
- 107.55
- 56.85
- 88.46
- 102.64
- 32.63
- 74.11
- 60.95
- 74.74
- DPV-SLAM++
- 55.47
- 11.90
- 13.11
- 101.84
- 34.12
- 74.69
- 59.47
- 50.09
- Feedforward (Uncalibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- VGGT-Long
- 45.73
- 132.68
- 115.65
- 64.40
- 58.49
- 33.66
- 187.97
- 91.23
- VGGT-SLAM
- 102.92
- 110.77
- 89.69
- 72.98
- 62.67
- 35.62
- 144.02
- 88.38
- VGGT-SLAM 2.0
- 102.25
- 26.57
- 22.42
- 47.05
- 59.91
- 36.00
- 51.53
- 49.39
- InfiniteVGGT
- 90.02
- 136.83
- 116.69
- 77.72
- 63.47
- 33.91
- 202.11
- 102.96
- CUT3R
- 88.16
- 46.39
- 48.00
- 52.87
- 47.98
- 30.18
- 187.58
- 71.59
- TTT3R
- 81.63
- 68.36
- 65.67
- 35.56
- 39.03
- 19.84
- 185.59
- 70.81
- AMB3R
- 62.60
- 110.60
- 119.76
- 61.69
- 62.04
- 35.02
- 185.44
- 91.02
- \pi^{3}-Chunk
- 81.63
- 86.54
- 71.49
- 49.85
- 54.27
- 28.07
- 118.81
- 70.09
- LingBot-Map
- 19.22
- 18.46
- 11.40
- 41.89
- 36.56
- 22.65
- 67.64
- 31.12
- LoGeR
- 25.60
- 19.53
- 28.90
- 28.11
- 23.04
- 35.01
- 92.94
- 36.16
- LoGeR*
- 49.38
- 22.44
- 34.90
- 11.08
- 27.05
- 32.88
- 44.51
- 31.75
- CLoSeR (Ours)
- 14.23
- 7.43
- 3.71
- 9.78
- 13.04
- 12.92
- 16.93
- 11.15
- #Frames
- 4541
- 1101
- 4661
- 801
- 271
- 2761
- 1101
- 1101
- 4071
- 1591
- 1201
- 2109
- Scale
- 3.7km
- 2.5km
- 5.1km
- 0.6km
- 0.4km
- 2.2km
- 1.2km
- 0.7km
- 3.2km
- 1.7km
- 0.9km
- 2.0km
- Contains Loop?
- \checkmark
- \times
- \checkmark
- \times
- \times
- \checkmark
- \checkmark
- \checkmark
- \times
- \checkmark
- \times
- –
- Optimization-based (Calibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- DROID-SLAM
- 92.10
- 344.60
- 107.61
- 2.38
- 1.00
- 118.50
- 62.47
- 21.78
- 161.60
- 72.32
- 118.70
- 100.28
- DPV-SLAM
- 112.80
- 11.50
- 123.53
- 2.50
- 0.81
- 57.80
- 54.86
- 18.77
- 110.49
- 76.66
- 13.65
- 53.03
- DPV-SLAM++
- 8.30
- 11.86
- 39.64
- 2.50
- 0.78
- 5.74
- 11.60
- 1.52
- 110.90
- 76.70
- 13.70
- 25.75
- Feedforward (Uncalibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- VGGT-Long
- 8.67
- 121.17
- 32.08
- 6.12
- 4.23
- 8.31
- 5.34
- 4.63
- 53.10
- 41.99
- 18.37
- 27.64
- VGGT-SLAM 2.0
- 108.39
- 155.00
- 140.15
- 13.45
- 2.87
- 10.12
- 29.17
- 17.27
- 75.33
- 27.70
- 24.09
- 54.87
- FastVGGT
- OOM
- 639.39
- OOM
- 21.53
- 9.51
- OOM
- 40.56
- 51.35
- OOM
- 201.54
- 196.22
- –
- InfiniteVGGT
- 186.46
- 623.62
- 289.16
- 166.74
- 68.00
- 143.84
- 117.57
- 85.33
- 221.56
- 215.41
- 156.92
- 206.78
- CUT3R
- 190.38
- 90.59
- 264.39
- 20.40
- 7.31
- 92.25
- 67.54
- 22.48
- 145.08
- 67.42
- 40.00
- 91.62
- TTT3R
- 119.94
- 99.59
- 238.07
- 16.83
- 3.98
- 36.38
- 47.20
- 11.62
- 107.33
- 86.96
- 33.58
- 72.86
- AMB3R
- 177.78
- 244.67
- 233.65
- 22.08
- 6.81
- 157.62
- 61.93
- 35.02
- 255.53
- 134.62
- 50.41
- 125.47
- \pi^{3}-Chunk
- 26.65
- 196.04
- 157.92
- 5.13
- 1.09
- 12.79
- 27.66
- 5.94
- 61.26
- 56.31
- 21.96
- 52.07
- LingBot-Map
- 23.22
- 88.84
- 71.15
- 2.81
- 0.91
- 17.40
- 4.91
- 5.16
- 14.24
- 21.71
- 14.54
- 24.08
- LoGeR
- 62.34
- 41.64
- 39.64
- 4.89
- 1.82
- 41.27
- 13.99
- 16.24
- 26.46
- 22.71
- 8.84
- 25.44
- LoGeR*
- 30.47
- 47.91
- 36.32
- 5.38
- 1.95
- 26.34
- 6.60
- 5.55
- 24.41
- 10.12
- 10.11
- 18.65
- CLoSeR (Ours)
- 6.58
- 41.80
- 28.38
- 4.88
- 1.82
- 6.58
- 4.77
- 4.87
- 26.51
- 5.64
- 8.83
- 12.79
- #Frames
- 1427
- 2200
- 1438
- 1794
- 2157
- 1900
- 1900
- 1831
- Scale
- 91m
- 122m
- 62m
- 85m
- 130m
- 105m
- 109m
- 101m
- Contains Loop?
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \times
- \checkmark
- \checkmark
- –
- Optimization-based (Calibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- DROID-SLAM
- 0.26
- 7.84
- 1.05
- 0.33
- 0.64
- 0.06
- 0.05
- 1.46
- DPV-SLAM
- 0.41
- 0.50
- 1.05
- 0.15
- 1.05
- 7.55
- 7.95
- 2.67
- DPV-SLAM++
- 0.41
- 0.12
- 0.15
- 0.16
- 1.06
- 2.57
- 7.04
- 1.64
- WildGS-SLAM
- 0.10
- 0.95
- 0.43
- 0.36
- 0.87
- 1.22
- 0.53
- 0.63
- DROID-W
- 0.15
- 0.25
- 0.15
- 0.32
- 0.24
- 0.43
- 0.07
- 0.23
- Feedforward (Uncalibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- VGGT-Long
- 4.68
- 4.94
- 2.48
- 5.11
- 4.61
- 3.14
- 1.79
- 3.82
- VGGT-SLAM 2.0
- 0.47
- 2.58
- 2.03
- 4.36
- 4.82
- 0.42
- 1.30
- 2.28
- CUT3R
- 10.04
- 11.91
- 6.54
- 9.70
- 21.78
- 7.74
- 5.85
- 10.51
- TTT3R
- 4.64
- 11.25
- 4.30
- 7.35
- 11.28
- 5.09
- 7.26
- 7.31
- AMB3R
- 1.90
- 5.72
- 5.57
- 4.99
- 7.65
- 7.69
- 6.59
- 5.73
- LingBot-Map
- 1.00
- 0.70
- 0.46
- 0.74
- 1.37
- 1.63
- 0.45
- 0.91
- LoGeR
- 2.16
- 1.98
- 1.02
- 1.78
- 0.74
- 1.64
- 0.73
- 1.44
- CLoSeR (Ours)
- 0.34
- 0.88
- 0.99
- 1.52
- 0.73
- 0.50
- 0.30
- 0.75
- #Frames
- 5969
- 5682
- 13518
- 11544
- 5746
- 5469
- 8041
- 7276
- 6755
- 15803
- 11775
- 6204
- 3961
- 4966
- 8051
- Scale
- 294m
- 283m
- 783m
- 706m
- 397m
- 393m
- 494m
- 393m
- 386m
- 925m
- 642m
- 339m
- 823m
- 691m
- 539m
- Contains Loop?
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \checkmark
- \times
- –
- Optimization-based (Calibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- DROID-SLAM
- 6.66
- 29.71
- 14.10
- 36.60
- 0.17
- 0.36
- 47.79
- 6.05
- 15.88
- 13.85
- 10.17
- 0.33
- 8.92
- 5.64
- 14.02
- DPV-SLAM
- 5.84
- 4.53
- 19.74
- 25.25
- 0.27
- 6.24
- 3.67
- 0.89
- 11.62
- 1.05
- 1.15
- 0.94
- 42.62
- 3.51
- 9.10
- DPV-SLAM++
- 1.33
- 29.35
- 18.39
- 3.66
- 0.20
- 2.94
- 3.88
- 1.00
- 12.06
- 3.93
- 7.82
- 0.28
- 40.19
- 3.32
- 9.17
- Feedforward (Uncalibrated)
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- 无数据
- VGGT-Long
- 3.63
- 14.00
- 32.66
- 4.64
- 3.80
- 5.64
- 11.92
- 14.04
- 11.41
- 17.59
- 9.03
- 4.02
- 14.51
- 16.76
- 11.69
- VGGT-SLAM 2.0
- 7.28
- 20.57
- 6.90
- 17.06
- 1.76
- 1.85
- 18.74
- 1.23
- 1.26
- 1.50
- 1.64
- 0.96
- 16.41
- 8.51
- 7.55
- CUT3R
- 25.44
- 17.75
- 42.51
- 36.12
- 26.83
- 27.05
- 50.64
- 42.53
- 49.45
- 33.46
- 41.67
- 11.83
- 32.47
- 56.71
- 35.32
- TTT3R
- 29.05
- 17.45
- 32.54
- 41.37
- 26.37
- 26.65
- 51.27
- 45.89
- 35.25
- 31.17
- 41.46
- 14.18
- 27.26
- 69.42
- 34.95
- AMB3R
- 15.95
- 29.38
- 24.68
- 40.05
- 2.99
- 3.36
- 47.88
- 41.59
- 42.97
- 28.91
- 43.34
- 14.56
- 26.64
- 18.79
- 27.22
- LingBot-Map
- 3.42
- 3.27
- 3.00
- 9.39
- 2.81
- 2.50
- 18.95
- 3.82
- 2.78
- 3.32
- 13.39
- 2.94
- 28.79
- 9.27
- 7.69
- LoGeR
- 4.01
- 3.11
- 6.51
- 5.76
- 7.01
- 6.98
- 6.58
- 7.33
- 6.98
- 9.18
- 6.72
- 1.84
- 10.22
- 14.09
- 6.88
- CLoSeR (Ours)
- 2.75
- 2.40
- 5.79
- 4.65
- 4.33
- 4.03
- 7.78
- 5.18
- 5.06
- 2.57
- 5.70
- 1.19
- 8.03
- 14.08
- 5.26
Baselines
We conduct extensive comparisons with both optimization-based and feedforward methods. For optimization-based methods, we compare against DROID-SLAM (Teed and Deng, 2021), DPV-SLAM / DPV-SLAM++ (Lipson et al., 2024), additionally including the dynamic SLAM methods WildGS-SLAM (Zheng et al., 2025) and DROID-W (Li et al., 2026) on the DROID-W dataset. For feedforward approaches, we compare against (a) streaming reconstruction foundation models: CUT3R (Wang et al., 2025b), TTT3R (Chen et al., 2025b), FastVGGT (Shen et al., 2025), InfiniteVGGT (Yuan et al., 2026), AMB3R-VO (Wang and Agapito, 2025), LingBot-Map (Chen et al., 2026), and LoGeR / LoGeR* (Zhang et al., 2026), where LoGeR* incorporates alignment-aware training and adopts a larger window size; (b) VGGT-based SLAM: VGGT-SLAM (Maggio et al., 2025; Maggio and Carlone, 2026) and VGGT-Long (Deng et al., 2025), for which we adopt their default chunk sizes of 16 and 60, respectively. Following prior work (Zhang et al., 2026), we additionally evaluate \pi^{3} (Wang et al., 2025c) in a chunk-wise manner.
Quantitative Results
Camera tracking comparisons on four benchmarks are reported in Tables 1, 2, 3, and 4. As shown in Table 1 and Table 2, both VBR and KITTI consist of kilometer-scale sequences, on which our approach substantially outperforms LoGeR / LoGeR* (Zhang et al., 2026), as our loop closure module effectively handles revisited regions. LoGeR* achieves the second-best performance due to its alignment-aware training and large window size. Prior VGGT-based alignment methods exhibit larger tracking errors due to inaccurate point cloud alignment, and recent feedforward streaming models suffer from noticeable drift. We further compare against classical deep visual SLAM systems. DROID-SLAM (Teed and Deng, 2021) and DPV-SLAM (Lipson et al., 2024) often fall behind in outdoor kilometer-scale scenes under monocular input, where scale drift and forward-dominant motion (e.g., KITTI Odometry) jointly degrade tracking. In contrast, our approach remains robust, benefiting from strong 3D reconstruction priors and effective loop closure. DROID-W dataset contains strong dynamic motion (e.g., moving crowds), where dynamics-aware methods such as DROID-W (Li et al., 2026) unsurprisingly perform best. However, our method substantially outperforms all other baselines and, notably, remains competitive with in-the-wild methods despite not incorporating any dynamics-specific handling. Table 4 further highlights the superiority of our approach on the challenging Oxford Spires sequences.
Qualitative Comparisons
We provide qualitative point cloud comparisons in Fig. 3. On colosseo_0, LoGeR reconstructs the Colosseum as two misaligned duplicates (red boxes), revealing its failure to close the loop upon revisit. In contrast, our method recovers a single, globally consistent structure. The same failure pattern appears on Downtown1, where LoGeR yields fragmented geometry around the loop region whereas ours produces a coherent reconstruction. Fig. 4 compares estimated trajectories on four benchmarks. VGGT-SLAM and VGGT-Long both construct submaps with VGGT and align submaps via point cloud registration on overlapping frames. However, independent per-submap predictions and noisy point clouds lead to inaccurate alignment and unreliable scale, causing substantial tracking errors. LingBot-Map (Chen et al., 2026) produces noisy trajectories with substantial jitter, while LoGeR produces erroneous poses, especially in revisited regions due to large tracking drift. In contrast, our method delivers the most accurate and robust trajectories estimation across these sequences, benefiting from its effective loop closure mechanism.
- (a) LoGeR (w/o Loop Closure)
- 36.16
- (b) Neighbor-only constr.
- 14.25
- (c) w/o Huber loss
- 14.15
- (d) Sim(3) optimization
- 13.33
- (e) SL(4) optimization
- 20.36
- Full method
- 11.15
Ablation Study
We report ablations of several design choices in Table 5. In variant (b), we set N_{\text{seq}}=1 to enforce neighbor-only sequential constraints; the resulting performance drop shows that denser sequential constraints provide stronger short-range regularization of the trajectory. In variant (c), removing the Huber loss degrades performance, confirming its effectiveness in down-weighting outlier loop constraints. In variant (d), we replace our SE(3) pose graph with a Sim(3) formulation that additionally optimizes per-frame scale. Since our loop closure window inherits scale consistency from the streaming backbone, the extra scale degrees of freedom introduce optimization ambiguity and lead to inferior accuracy. In variant (e), we further replace it with an SL(4) formulation proposed in VGGT-SLAM, whose 15-DOF projective transformation introduces more degrees of freedom than necessary in our setting, resulting in additional performance degradation. Overall, our full method achieves the best performance, validating the effectiveness of each design choice.
5 Limitations
We present a feedforward streaming reconstruction method that incorporates loop closure to substantially reduce drift over kilometer-scale trajectories. However, when the underlying odometry suffers not from accumulated drift but from complete failure, our method cannot recover the correct trajectory. Such failures arise when the feedforward frontend (LoGeR in our case) is pushed beyond its operating conditions, e.g., in highly dynamic environments or under aggressive camera motion.
6 Conclusion
We presented CLoSeR, a streaming reconstruction framework that revisits loop closure within a feedforward backbone, enabling accurate kilometer-scale reconstruction from uncalibrated monocular videos without any retraining. By exploiting the globally consistent scale of the streaming backbone LoGeR, we introduce a loop-conditioned window mechanism that recovers relative poses between looped frames directly in the global coordinate system. Our experiments demonstrate that pose graph optimization on the SE(3) manifold is sufficient within our framework, avoiding the Sim(3) or SL(4) optimization adopted by prior submap-based methods. In future work, we aim to improve the robustness of our framework under challenging conditions such as motion blur, low-texture regions, and exposure variations. We also plan to explore multi-agent collaborative reconstruction and online deployment, broadening its applicability to real-world large-scale environments.
References
Appendix A Technical appendices and supplementary material
A.1 Experimental Setting
We adopt LoGeR as our base model for all evaluations, as LoGeR∗ uses different weights and a larger window size that incur substantially higher GPU memory consumption. In addition, LoGeR∗ performs an SE(3) alignment across all window predictions to enforce a more consistent global reconstruction. We follow the evaluation protocol of LoGeR (Zhang et al., 2026) and downsample all input images at inference to a uniform pixel budget of approximately 2.55\times 10^{5} pixels. This ensures fair comparison across datasets with different native resolutions. The resulting resolutions are 924\times 266 for KITTI Odometry (Geiger et al., 2013), 672\times 378 for VBR (Brizi et al., 2024), 672\times 378 for DROID-W (Li et al., 2026), and 588\times 434 for Oxford Spires (Tao et al., 2024).
We employ a window size of 32 and an overlap size of 3 across all evaluations, except for VBR, where we adopt a window size of 48 following the LoGeR protocol (Zhang et al., 2026). For loop detection, we set the temporal separation threshold to \tau_{\text{time}}=4\times\text{window size} and the similarity threshold to \tau_{\text{sim}}=0.7, and retain only the top-5 most similar pairs. For pose graph optimization, we set N_{\text{seq}}=4 to enforce stronger sequential constraints.
A.2 Additional Results
We provide additional qualitative comparisons of point clouds and camera trajectories in Fig. 5 and Fig. 6, respectively. As shown in Fig. 5, our approach produces more geometrically consistent reconstructions, since effective loop closure enforces constraints on revisited regions and enables drift-free reconstruction. Fig. 6 compares the estimated trajectories against baseline methods. VGGT-Long and VGGT-SLAM exhibit substantial tracking errors on the challenging VBR and Oxford Spires datasets, while LoGeR suffers from noticeable drift across all sequences due to the absence of explicit constraints on revisited regions. In contrast, our method robustly recovers accurate trajectories across all sequences.
- LoGeR (Zhang et al., 2026)
- –
- –
- 100.00%
- 73.1
- 7.60
- 16.65 GiB
- 25.44
- CLoSeR (Ours)
- 5.16%
- 1.12%
- 093.72%
- 79.5
- 7.12
- 15.69 GiB
- 12.79
A.3 Runtime and GPU Memory Analysis
We evaluate the runtime and GPU memory usage of our method compared with LoGeR Zhang et al. (2026). All experiments are conducted on a single NVIDIA RTX 4090 GPU paired with 4 cores of an AMD EPYC 9554 CPU on a Slurm cluster. As shown in Table 6, our method incurs only marginal runtime overhead, achieving 7.12 FPS compared with 7.60 FPS for LoGeR (a 6.3% reduction in throughput), while reducing peak GPU memory usage from 16.65 GiB to 15.69 GiB (a 5.8% reduction) due to our efficient optimization. The additional cost mainly stems from our loop closure detection and the additional loop closure windows for model inference. In exchange, our method nearly halves trajectory error, reducing ATE RMSE from 25.44 m to 12.66 m – a substantial accuracy gain at marginal runtime cost.
- VGGT-long (Deng et al., 2025)
- 18.8%
- 49.3%
- VGGT-SLAM 2.0 (Maggio and Carlone, 2026)
- 32.4%
- 147.2%
- CLoSeR (Ours)
- 5.8%
- 6.5%
A.4 Analysis of Cross-Window Scale Consistency
We further analyze cross-window scale consistency for VGGT-Long (Deng et al., 2025), VGGT-SLAM 2.0 (Maggio and Carlone, 2026), and our CLoSeR. For each window (or submap) i, whether a regular window or a loop-closure one, we fit a \mathrm{Sim}(3) transformation between its decoded pose estimates and the corresponding ground truth via Umeyama alignment Umeyama (1991), and extract the scalar scale s_{i}. For VGGT-SLAM 2.0, since its loop-closure submaps consist of only two frames, we instead use the segment-length ratio. We then define a sequence-level scale reference s_{\mathrm{global}}=\frac{1}{|\mathcal{N}|}\sum_{i\in\mathcal{N}}s_{i}, computed over the set of regular (non-loop-closure) windows \mathcal{N}, and compute the per-window relative scale error e_{i}=|s_{i}/s_{\mathrm{global}}-1|. We report the scale error for both regular and loop-closure windows, averaged over all windows on KITTI Geiger et al. (2013). As shown in Table 7, our method achieves substantially lower relative scale error for both regular and loop-closure windows. The improvement on regular windows benefits from LoGeR’s long-context memory. The improvement on loop-closure windows comes from our loop-closure window construction: instead of relying on a separate relative pose estimator or feedforward module, it is naturally incorporated into the LoGeR streaming framework.