CLoSeR, LoGeR에 루프 클로저를 더해 킬로미터급 스트리밍 재구성 드리프트를 줄이다
ETH 취리히와 마이크로소프트 연구진이 공개한 프리프린트에서, 스트리밍 재구성 백본 LoGeR에 SALAD 기반 루프 검출과 SE(3) 포즈 그래프 최적화를 결합한 CLoSeR을 제안했다. VBR, KITTI, Oxford Spires, DROID-W 벤치마크에서 기존 LoGeR 대비 평균 ATE RMSE가 크게 낮아졌고, 특히 VBR에서는 36.16m에서 11.15m로 줄었다. 기존 서브맵 방식이 사용하던 Sim(3)나 SL(4) 최적화 없이도 전역적으로 일관된 스케일을 활용해 장거리 재구성의 드리프트를 억제한다.
스트리밍 백본이 이미 전역적으로 일관된 스케일을 제공할 때, 루프 클로저를 SE(3) 포즈 그래프만으로 단순하고 신뢰성 있게 통합해 킬로미터급 재구성 드리프트를 제거할 수 있는가?
기존 피드포워드 스트리밍 재구성 모델은 오차 누적으로 장거리 추적에서 드리프트가 커진다. 서브맵 기반 방식은 각 서브맵을 독립적으로 추론해 스케일 불일치가 생기고, 이 때문에 Sim(3)나 SL(4) 같은 고차원 포즈 그래프 최적화와 노이즈가 많은 포인트 클라우드 정합을 써야 한다.
LoGeR는 슬라이딩 윈도우 어텐션과 TTT 레이어로 전역 정보를 전파하지만 명시적인 재방문 제약이 없어 드리프트가 누적된다. VGGT-SLAM, VGGT-Long 등 서브맵 기반 방식은 포인트 클라우드 정합으로 서브맵을 정렬하지만, 독립적인 VGGT 추론 때문에 스케일이 흔들리고 정합 자체가 부정확하다.
CLoSeR는 LoGeR 백본 위에 루프 클로저 모듈을 얹는다. 각 새 윈도우에서 SALAD 전역 디스크립터로 이전 프레임과의 유사도를 비교해 루프 후보를 찾고, 현재 윈도우와 과거 윈도우에서 각각 N_win/2개 프레임을 골라 루프 조건 윈도우를 구성한다. 이 윈도우를 LoGeR에 한 번 통과시켜 루프 프레임 간 상대 포즈를 전역 좌표계에서 직접 얻는다. LoGeR가 전역 스케일 일관성을 갖기 때문에 포즈 그래프 최적화는 SE(3) 다양체에서 순차 제약과 루프 제약만으로 충분하며, 루프 항에는 Huber 손실을 적용해 이상치를 억제한다.
실물 영상 벤치마크에서 평가했다. VBR 7개 시퀀스(1.02~5.2km, 루프 포함)에서 CLoSeR의 평균 ATE RMSE는 11.15m로 LoGeR 36.16m, LoGeR* 31.75m, LingBot-Map 31.12m보다 낮았다. KITTI 11개 시퀀스에서는 평균 12.79m로 LoGeR 25.44m, DPV-SLAM++ 25.75m, VGGT-Long 27.64m를 앞섰다. Oxford Spires 14개 시퀀스에서는 5.26m로 LoGeR 6.88m와 LingBot-Map 7.69m 대비 최고였다. DROID-W 7개 동적 시퀀스에서는 CLoSeR가 0.75m로 LoGeR 1.44m보다 좋았지만, 동적 SLAM DROID-W 0.23m와 WildGS-SLAM 0.63m에는 뒤졌다. 모든 수치는 Sim(3) Umeyama 정렬 후 ATE RMSE 기준이며, 피드포워드 모델은 보정되지 않은 단안 영상으로 평가했다.
저자들은 기저 오도메트리 LoGeR가 완전히 실패하면 CLoSeR도 올바른 궤적을 복구할 수 없다고 밝혔다. 매우 동적인 환경이나 급격한 카메라 움직임에서 실패할 수 있고, 동적 객체를 명시적으로 다루지 않는다. 실제 온라인 실시간 성능은 보고되지 않았으며, 이 논문은 프리프린트로 동료 심사 여부는 확인되지 않았다.
자율주행, 드론, 로봇의 대규모 매핑과 SLAM에서 장거리 드리프트를 줄이는 기술로 활용할 수 있다. 기존 LoGeR 백본에 별도 재학습 없이 적용할 수 있어 통합 부담이 낮고, 코드도 공개되어 있어 1~3년 내 피드포워드 재구성 기반 매핑 제품에 적용 가능성이 있다. 다만 동적 환경과 급격한 움직임에 대한 강건성, 실시간 온라인 배치가 먼저 확보되어야 한다.
논문 전문
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.