
# VI3：利用惯性线索对预训练的三维基础模型进行尺度校准

Ernesto Lozano Alberto Jaenal Javier Civera

西班牙萨拉戈萨大学I3A研究所

{e.lozano, ajaenal, jcivera}@unizar.es

![Image](images/1b5b5983361ce00ebe37f4b865a6e8937cd55c98af242bd367d95136bdf429ef.jpg)

<div style="text-align: center;">Figure 1. VI3 grounds the predictions of a pretrained 3D foundation model (trajectory and scene reconstruction shown in red) using inertial data from an onboard IMU (inertial trajectory shown in blue) as GT-free supervision. This leads to a physics-aware, scene-specific trajectory refinement and metric scale recovery, that keeps geometry consistent as seen in the right figure (VI3 results shown in green).</div>

## 摘要

三维基础模型（3DFMs）在根据场景的多视角图像预测相机位姿和稠密深度方面表现优异，展现出强大的零样本泛化能力。然而，由于单目图像无法观测到度量尺度，它们对绝对尺度的预测通常不够准确。大多数设备中配备的惯性测量单元（IMU）能够观测到带尺度的运动信息，恰好可以补充单目相机的不足。我们提出了一种与模型无关的框架VI3，仅利用IMU读数就能对预训练的3DFM进行度量尺度校准。VI3首先初始化并预积分IMU数据以获得度量运动参考，进而据此恢复3DFM输出的尺度。我们的方法还针对不同的3DFM架构设计了可适配的校准策略。在合成数据集和真实航空数据集上的实验表明，VI3无需真值监督即可恢复度量尺度，同时还能保持几何一致性：在运动条件良好的情况下，它可作为精细的优化步骤；而在运动信息较少时，它能充当强有力的先验约束。 <https://ernestolozano.github.io/vi3>

### 1. 引言

从非结构化图像中估计三维场景属性是计算机视觉领域的核心研究方向，其在机器人技术[^30]和神经渲染[^44]等领域均有重要应用。几十年来，主流的研究范式一直依赖基于特征的流程，例如运动恢复结构（SfM）[^1] [^36] [^41]或视觉SLAM[^20] [^33] [^34]。尽管这些方法的轨迹估计精度较高，但在无约束环境中它们的鲁棒性较差[^37] [^40]，且生成的是稀疏点云，无法满足现代空间人工智能所需的稠密几何信息[^2] [^44]。近年来，三维基础模型（3DFMs）彻底改变了这一局面。这类模型在大量多样化的图像集上训练，如DUSt3R[^50]、VGGT[^47]、$\pi^{3}$ [^52]以及越来越多的后续模型[^21] [^24] [^27] [^38] [^48]，它们能够学习强大的几何和运动先验，仅需一次前向传播就能从未标定图像中预测相机位姿和像素级的稠密几何信息。

不过，3DFMs处理图像时是独立的

---

通过单目骨干网络 [^35]。虽然这种方式能够保留高度精确的相对运动和场景结构信息，但它们的重建结果仅能在未知的缩放因子范围内确定，因此无法与真实世界的度量尺度挂钩。这一局限性源于其训练方式：3DFM是在尺度不变的监督目标下学习的（通常是从SfM流程 [^41] 中提炼而来，而非基于度量信号），这导致它们根本无法确定场景的度量尺度。这仍是一个待解决的难题：如何将无尺度的预测转化为具有物理参照意义的度量重建。近期的研究尝试通过利用相机先验 [^16] [^30] 或专用标记 [^21] 来强制赋予模型度量尺度。然而，这些强数据驱动的先验可能会覆盖显式的度量信号，最终得到的重建结果无法反映真实世界的尺寸。关键在于，这类方法仍然依赖精确的相机校准（在无约束环境中往往难以实现）或上游的度量姿态数据，才能生成具有物理参照意义的重建结果。

这一难题完全可以通过让视觉系统与大多数平台上普遍存在的传感器所提供的物理测量数据相融合来解决：惯性测量单元（IMU）。IMU能够提供度量读数，从而使真实世界的尺度变得可观测，而过去十年的视觉-惯性研究 [^6] [^12] [^13] 也证明了其在为视觉系统提供度量基准方面的有效性。

我们提出了一种与模型无关的3DFM视觉-惯性锚定方法（VI3），仅需借助IMU即可实现度量级的3DFM重建；该方法完全无需依赖优化后端、地图或外部微调语料库。给定一个短片段视频，我们首先利用3DFM的输出初始化IMU（无需任何真实标签或外部信号），随后将其预积分到一个符合物理规律、能感知重力的运动参考系中，从而将3DFM锚定到真实世界。考虑到3DFM模型的多样性，我们提出了多种注入度量尺度的方法，比如输入条件化（适用于兼容模式）或测试时细化 $^{[15]}$，进而在无需显式3D监督的情况下调整预测几何结构的尺度。

总而言之，我们的贡献主要有三点。（1）据我们所知，V13是首个将推理阶段的稠密3DFM先验与惯性传感的度量锚定技术相结合、旨在为任意模型提供物理参照的方法，且仅需搭载IMU即可实现。（2）我们提出了一种IMU初始化方法，利用3DFM输出和惯性读数来估算IMU状态。（3）我们提出了一种测试时细化方案，用于将物理认知注入3DFM，从而生成度量尺度的重建结果。我们在多种航空数据集以及多个具有代表性的3DFM基线模型上开展了大量实验，结果表明V13能够基于粗略的惯性运动估计为已训练的3DFM赋予度量基准，生成的重建尺度与真实世界极为接近。

### 2. 相关工作

前馈式3D重建。3DFM通过在前馈过程中从未经定位的图像中回归相机姿态和密集的逐像素几何信息，从而取代了传统流程中迭代式的对应与优化循环 [^33] [^41]。DUST3R [^50] 和 MAST3R [^24] 能从图像对预测点图，其后续的一系列模型则专注于增量式重建 [^5] [^8] [^9] [^23] [^26] [^28] [^29] [^31] [^45] [^49] [^53] [^58]；而VGGT [^47]、$\pi^{3}$ [^52] 以及后续的模型 [^11] [^27] [^42] [^48] [^54] 则将这一技术扩展到多视图场景，并能共同估计一组通用的3D属性（如深度、相机参数、点图）。这些模型能提供强大且密集的几何先验，但它们是在SfM标签下训练的，所预测的几何信息仅能达到未知的全局尺度。

具备尺度感知能力的3DFM。近期的研究尝试将度量尺度引入3DFM重建中。部分研究 [^25] [^32] 将其直接整合到注意力机制中。另一些方法则采用模块化的辅助头结构来接收先验信息（内参、姿态、度量深度），以便在推理阶段对网络进行约束。AMB3R [^46] 使用专门训练过的头部，从模型特征中回归出数据驱动的尺度值。相应地，Pi3X [^52]、Depth Anything 3 [^27] 及其他模型 [^16] [^22] [^30] 能直接从经过尺度缩放的输入中生成度量重建结果，而MapAnything [^21] 及其变体 [^19] 则利用尺度标记来回归度量尺度因子。不过，这些先验的度量尺度仍是通过学习获得的，继承自训练数据分布而非实际测量所得；同时任何度量输入都依赖于专用的前端应用程序。我们提出了一种与模型无关的框架，仅利用惯性信号就能为任意3DFM提供物理层面的锚定，从而对模型输出进行约束或优化。

视觉-惯性估计。惯性传感能够解决单目视觉中的尺度模糊问题。传统的视觉-惯性系统 [^3] [^6] [^13] [^39] 能实时估计出符合度量标准且对齐重力的轨迹，但其重建结果较为稀疏，仅覆盖可追踪的特征，且需在针对固定设备调优的有状态后端上运行。与我们方法更为接近的是，近期的研究将无约束的学习型3D建模与惯性数据相结合：MASt3R-Fusion [^56] 将前馈生成的点图对应关系与IMU预积分结果在因子图后端进行融合，而VIGS-SLAM [^57] 则联合优化显式的逐场景3D高斯表示与IMU状态。在这两种方法中，惯性信号均用于驱动外部优化过程，且预训练的权重从未被调整。本研究并未构建显式的表示或递归状态，而是将惯性信号用作轻量级的几何锚点，用以约束或适配模型输出。

3D前馈模型的测试时自适应。为避免昂贵的重新训练过程，测试时自适应会在推理阶段更新预训练基础模型的权重，以达成特定目标。通用的视觉测试时训练 [^15] 会针对每个测试输入调整参数，从而提升模型在分布偏移情况下的鲁棒性。对于3DFM重建而言——

---

![Image](images/088d27afbea8b3392e868429ed891a247708f9a286d37d8fc969636cb1d0136f.jpg)

<div style="text-align: center;">Figure 2. VI3's block diagram, consisting of two branches. Visual: a pretrained 3DFM takes unposed input images and yields depth and poses. Inertial: the on-board IMU stream, gt-free initialized and preintegrated, provides a scene-specific target trajectory. On-board inertial cues (green dashed arrows), introduced either via pose conditioning, or through adaption (TTR), ground the reconstruction metric.</div>

近期的研究 [^8] [^17] [^49] [^55] 主要致力于提升长序列稳定性与成本效益，以实现线性时间复杂度、无漂移的视觉与时间一致性。我们提出通过向短单目视频中注入度量尺度来优化3DFM权重，从而将生成的几何结构锚定到物理参考系中。

### 3. 基于3DFM的按比例缩放几何重建

3DFM $\mathcal{M}$ 的输入为n个未标定连续帧 $\{\mathcal{I}_i\}_{i=1}^n$，其中包含 $\mathcal{I}_i \in \{0, \ldots, 255\}^{w \times h \times 3}$，它能预测一组几何输出结果。具体输出取决于模型类型，但通常涵盖每个输入图像的像素级深度 $\{\mathcal{D}_i^{\mathcal{M}}\}_{i=1}^n, \mathcal{D}_i^{\mathcal{M}} \in \mathbb{R}_+^w \times h$ 和相机外参 $\{\mathbf{P}_i^{\mathcal{M}}, \mathbf{R}_i^{\mathcal{M}}\}_{i=1}^n \in \mathbb{R}^3 \times SO^3$。我们假设相机内参已预先标定，不过3DFM也能自行预测内参。根据深度图和内参，可针对每张图像计算出点云表示 $\mathcal{X}_i^{\mathcal{M}} \in \mathbb{R}^{w \times h \times 3}$。

### 4. 惯性预积分

IMU会在离散时间点k提供局部参考系下的角速度 $\tilde{\omega}_k \in \mathbb{R}^3$ 和线性加速度 $\tilde{a}_k \in \mathbb{R}^3$ 测量值，这些数值会受到缓慢变化的加性偏差 $b_k^g \in \mathbb{R}^3$ 和 $b_k^a \in \mathbb{R}^3$ 以及零均值高斯噪声 $\boldsymbol{\eta}^g \sim \mathcal{N}(\mathbf{0}, \boldsymbol{\Sigma}_g) \in \mathbb{R}^3$ 和 $\boldsymbol{\eta}^a \sim \mathcal{N}(\mathbf{0}, \boldsymbol{\Sigma}_a) \in \mathbb{R}^3$ 的影响。

 $$ \omega_{k}=\tilde{\omega}_{k}-b_{k}^{g}-\eta^{g},\qquad a_{k}=\tilde{a}_{k}-b_{k}^{a}-\eta^{a}, $$

其中 $\omega_k$ 和 $a_k$ 分别对应角速度和加速度的真实值。由于我们处理的是较短的视觉-惯性片段，因此假设在所考虑的区间内偏差保持恒定，即 $b_k^g \approx b^g$ 和 $b_k^a \approx b^a$。

#### 4.1. 预积分与状态传播

对两帧连续相机图像i和 [^12] 之间的m组经过偏差和噪声校正的IMU读数进行预积分 $i+1$，便可得到它们之间的相对旋转 $\Delta\mathbf{R}_i = \mathbf{R}_i^\top\mathbf{R}_{i+1}$、相对位置 $\Delta\mathbf{p}_i = \mathbf{p}_{i+1} - \mathbf{p}_i$ 以及速度变化量 $\Delta\mathbf{v}_i = \mathbf{v}_{i+1} - \mathbf{v}_i$：

 $$ \Delta\mathtt{R}_{i}=\prod_{k=1}^{m}\mathrm{E x p}\left(\left(\tilde{\omega}_{k}-\boldsymbol{b}^{g}-\boldsymbol{\eta}^{g}\right)\Delta t\right), $$

 $$ \Delta\mathbf{v}_{i}=\mathbf{g}\Delta T+\sum_{k=1}^{m}\mathtt{R}_{k}\Big(\tilde{\mathbf{a}}_{k}-\mathbf{b}^{a}-\boldsymbol{\eta}^{a}\Big)\Delta t, $$

 $$ \Delta\mathbf{p}_{i}=\sum_{k=1}^{m}\Big[\mathbf{v}_{k}\Delta t+\frac{1}{2}\mathbf{g}\Delta t^{2}+\frac{1}{2}\mathbb{R}_{k}\Big(\tilde{\boldsymbol{a}}_{k}-\boldsymbol{b}^{a}-\boldsymbol{\eta}^{a}\Big)\Delta t^{2}\Big] $$

其中 $\Delta t$ 表示IMU读数之间的时间间隔，$\Delta T = m\Delta t$ 表示连续帧之间的时间间隔，Exp代表从so(3)到 $SO(3)$ 的指数映射，g为重力矢量。

我们的目标是恢复每一帧的惯性状态 $\mathbf{R}_i$、$\mathbf{p}_i$ 和 $\mathbf{v}_i$。我们假设第一帧为原点，因此 $\mathbf{R}_1 = \mathbf{I}_3$ 和 $\mathbf{p}_1 = \mathbf{0}$；若已知偏差 $\mathbf{b}^g$ 和 $\mathbf{b}^a$、重力 $\mathbf{g}$ 以及第一帧的速度 $\mathbf{v}_1$，就能推导出这些状态。

#### 4.2. 惯性状态初始化

正如Kaiser等人 [^18] 所展示的，$b^a$ 对短时间积分的影响可忽略不计，因此我们假定 $b^a \approx 0$，仅根据3DFM估算出的按比例缩放几何结构以及IMU读数来估计 $b^g$、$\mathbf{v}_1$ 和 $\mathbf{g}$ 的值。

---

陀螺仪偏差 $(b^g)$。如公式2所示，给定相对旋转 $b_g$ 的估计值（该值可由3DFM获得），便能根据角速度测量值估算出 $\Delta R_i$。我们采用Cerezo等人 [^7] 提出的闭式解，在假设小角度旋转的前提下，通过连续两帧 $b_g$ 和 $\mathcal{I}_i$ 来估算 $\mathcal{I}_{i+1}$，计算公式如下：

 $$ \begin{array}{r}{\boldsymbol{b}_{i}^{g}\approx-\frac{1}{\Delta t}\mathrm{L o g}\Big(\mathrm{E x p}(\bar{\omega}_{i}\Delta t)^{\top}\mathrm{E x p}\left(\frac{1}{m}\mathrm{L o g}\Delta\mathtt{R}_{i}^{\mathcal{M}}\right)\Big),}\end{array} $$

其中，$\bar{\omega}_i = \frac{1}{m} \sum_{k=1}^{m} \tilde{\omega}_k$ 是两个帧之间角速度测量的平均值，$\text{Log}$ 是从 $SO(3)$ 到 $\mathfrak{so}(3)$ 的对数映射，而 $\Delta \mathbf{R}_i^\mathcal{M} = \mathbf{R}_i^\mathcal{M}^\top \mathbf{R}_{i+1}^\mathcal{M}$ 是由 3DFM 估算出的相对旋转。对 $\hat{\boldsymbol{b}}^g$ 的最终估算是通过对序列 $n-1$ 中所有 $\hat{\boldsymbol{b}}^g = \frac{1}{n-1} \sum_{i=1}^{n-1} \boldsymbol{b}_i^g$ 对的值取平均得到的。

初始速度为 $(\mathbf{v}_1)$。利用离散差分，可以根据 3DFM 位姿计算出按比例缩放后的速度，即 $\mathbf{v}_i^\mathcal{M} = \Delta \mathbf{p}_i^\mathcal{M} / \Delta T$。假设重力 $\mathbf{g}$ 已知（这一点我们将在后续段落中详细说明），则可以利用公式 3 中的速度增量来约束 3DFM 的比例因子 s，从而得到 $s \Delta \mathbf{v}_i^\mathcal{M} = \Delta \mathbf{v}_i$，其中 $\Delta \mathbf{v}_i^\mathcal{M} = \mathbf{v}_{i+1}^\mathcal{M} - \mathbf{v}_i^\mathcal{M}$。将这些约束条件应用于所有 $n - 1$ 图像对，便得到线性系统 $s \mathbf{V}^\mathcal{M} = \mathbf{V}$，其中的 $\mathbf{V}^\mathcal{M} = \left( \Delta \mathbf{v}_1^\mathcal{M} \right)^\top$。由于两种速度估算都存在噪声，我们将问题建模为总体最小二乘（TLS）优化问题，而非普通最小二乘，通过求解得到初始估算值 $\hat{s}$。

 $$ \begin{aligned}\hat{s}_{init}&=\arg\min_{s,\Delta\mathbf{V}^{\mathcal{M}},\Delta\mathbf{V}}||\Delta\mathbf{V}^{\mathcal{M}}\Delta\mathbf{V}||_{F}^{2}\\&s.t.\quad s(\mathbf{V}^{\mathcal{M}}+\Delta\mathbf{V}^{\mathcal{M}})=\mathbf{V}+\Delta\mathbf{V}\end{aligned} $$

在这一维情况下，其闭式解如下：

 $$ \hat{s}=\mathrm{s i g n}\left(\langle\mathbf{V},\mathbf{V}^{\mathcal{M}}\rangle\right)\frac{\|\mathbf{V}\|}{\|\mathbf{V}^{\mathcal{M}}\|}. $$

由于这种比例的初始估算可能会受到速度估算中较大误差的影响，尤其是在视差较小的帧中，因此我们按如下方式细化这一估算：将初始速度的方向 $\mathbf{v}_1 = \mathbf{v}_1^{\mathcal{M}} / \|\mathbf{v}_1^{\mathcal{M}}\|$ 与无重力影响的第一对帧对齐，并通过将所有帧进行反向投影后的结果取中位数来计算其大小 $\mu$：

 $$ \begin{array}{r}{\mu=\mathrm{m e d i a n}_{k}\left\langle\hat{s}\mathbf{v}_{k}^{\mathcal{M}}-\sum_{1<l\leq k}\Delta\mathbf{v}_{l},\hat{\mathbf{v}}_{1}\right\rangle}\end{array} $$

最终，初始速度被计算为 $\mathbf{v}_1 = \mu \tilde{\mathbf{v}}_1$。为确保优化的可靠性，我们设置了两项校验机制：如果视觉运动与惯性运动方向相反，则 s 会回退为 1；而如果由于重力向量方向颠倒导致 $\mathbf{v}_1$，则 $s\mathbf{v}_1^{\mathcal{M}}$ 会恢复为 $\mu \leq 0$。

重力（g）。可以利用 GeoCalib [^43] 从图像特征中估算重力矢量，所得结果记为 $\mathbf{g}_{\mathrm{gc}}$。不过我们发现，在纹理较差、分布外图像上，这些估算结果可能会严重失真，而 GeoCalib 的置信度指标并不能可靠地反映这类较大误差。为了检测此类失效情况，我们采用另外两种方法计算近似的重力估算值，并评估它们的一致性。

假设加速度计偏差可忽略且线性加速度较小，我们可以通过对测量到的加速度取平均值来获得粗略的重力估算值 $\mathbf{g}_{\text{imu}}$。

 $$ \mathbf{g_{i m u}}=-9.81\frac{\sum_{k=1}^{(n-1)m}\mathbf{R}_{k}\tilde{\mathbf{a}}_{k}}{(n-1)m\|\sum_{k=1}^{(n-1)m}\mathbf{R}_{k}\tilde{\mathbf{a}}_{k}\|} $$

此外，我们还可以通过运动学最小二乘方法来推导重力值，这种方法我们将其记为 $\mathbf{g}_{ls}$。该方法基于跨帧对 [^12] 的预积分速度更新 $(i, j)$：

 $$ \mathbf{v}_{j}=\mathbf{v}_{i}+\mathbf{g}\Delta t_{ij}+\sum_{i<k\leq j}\mathbf{R}_{k-1}\Delta\mathbf{v}_{k}, $$

我们将换算为度量单位的视觉观测值之差 $\mathbf{v}_j - \mathbf{v}_i = s \Delta \mathbf{v}_{ij}^{\mathcal{M}}$ 代入，从而分离出积分惯性运动中的速度残差：

 $$ {\bf r}_{i j}~:=~s\Delta{\bf v}_{i j}^{\mathcal{M}}-\sum_{i<k\leq j}{\bf R}_{k-1}\Delta{\bf v}_{k}~=~{\bf g}\Delta t_{i j}, $$

对所有图像对 $\sum_{i<j} \|\Delta t_{ij} \mathbf{g} - \mathbf{r}_{ij}\|^2$ 最小化平方范数 $i < j$，便可得到单位重力方向的闭式解：

 $$ \mathbf{g}_{\mathrm{l s}}=9.81,\frac{\mathbf{n}}{\left\|\mathbf{n}\right\|},\mathbf{n}=\frac{\sum_{i<j}\Delta t_{i j}\mathbf{r}_{i j}}{\sum_{i<j}\Delta t_{i j}^{2}}=\sum_{i<j}w_{i j}\frac{\mathbf{r}_{i j}}{\Delta t_{i j}}, $$

其中，权重项 $w_{ij} = \Delta t_{ij}^2 / \sum \Delta t_{ij}^2$ 会使长基线配对以二次方形式占据主导地位，从而保护 $\mathbf{g}_{\text{ls}}$ 免受高频视觉跟踪噪声的影响，同时将其数值大小锁定在重力加速度 9.81 上。项 $\mathbf{g}_{\text{ls}}$ 与尺度 s 之间存在循环依赖关系，这种依赖在估算初始速度 $\mathbf{v}_1$ 时便已提及，可将其建模为函数 $s = \mathcal{S}(\mathbf{g})$。这需要通过定点迭代方案 $s^{(n+1)} = \mathcal{S}(\mathbf{g}^{(n)})$、$\mathbf{g}^{(n+1)} = \mathbf{g}_{\text{ls}}(s^{(n+1)})$ 来紧密耦合这两个变量，该方案从无量纲种子 $\mathbf{g}^{(0)}$（即 $\mathbf{g}_{\text{gc}}$ 或 $\mathbf{g}_{\text{imu}}$）开始，经过两到三次迭代便能收敛到解 $\text{FP}(\mathbf{g}^{(0)})$。

我们通过迭代过程的两个独立种子来评估一致性：视觉方面的 $\hat{\mathbf{g}}_{\mathrm{gc}} = \mathrm{FP}(\mathbf{g}_{\mathrm{gc}})$ 以及

---

<div style="text-align: center;">Table 1. Up-to-scale models. GT-free inertial test-time refinement (TTR) of the pretrained up-to-scale 3D foundation models (Base), which predict geometry without metric scale. The base models are  $\sim3-7\times$ under-scaled and thus score  $\approx0$ in  $\delta<1.25$, while TTR restores absolute metric depth and pulls both trajectory and depth scale toward 1, respecting the geometry. Note, in addition, that rotation metrics are also substantially improved.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2" colspan="2">Model</td><td colspan="2">Trans (m) $\downarrow$</td><td colspan="2">Rot (°) $\downarrow$</td><td colspan="2">Scale (Traj.) $\rightarrow$1</td><td colspan="2">AbsRel $\downarrow$</td><td colspan="2">$\delta < 1.25$ $\uparrow$</td><td colspan="2">Scale (Depth) $\rightarrow$1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>TTR</td></tr><tr><td rowspan="3">TartanAirV2</td><td style='text-align: center; word-wrap: break-word;'>VGGT</td><td style='text-align: center; word-wrap: break-word;'>1.130</td><td style='text-align: center; word-wrap: break-word;'>0.358</td><td style='text-align: center; word-wrap: break-word;'>0.933</td><td style='text-align: center; word-wrap: break-word;'>0.410</td><td style='text-align: center; word-wrap: break-word;'>0.14</td><td style='text-align: center; word-wrap: break-word;'>1.05</td><td style='text-align: center; word-wrap: break-word;'>0.052</td><td style='text-align: center; word-wrap: break-word;'>0.089</td><td style='text-align: center; word-wrap: break-word;'>0.000</td><td style='text-align: center; word-wrap: break-word;'>0.515</td><td style='text-align: center; word-wrap: break-word;'>0.17</td><td style='text-align: center; word-wrap: break-word;'>1.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>1.110</td><td style='text-align: center; word-wrap: break-word;'>0.378</td><td style='text-align: center; word-wrap: break-word;'>0.725</td><td style='text-align: center; word-wrap: break-word;'>0.354</td><td style='text-align: center; word-wrap: break-word;'>0.17</td><td style='text-align: center; word-wrap: break-word;'>1.10</td><td style='text-align: center; word-wrap: break-word;'>0.033</td><td style='text-align: center; word-wrap: break-word;'>0.080</td><td style='text-align: center; word-wrap: break-word;'>0.000</td><td style='text-align: center; word-wrap: break-word;'>0.596</td><td style='text-align: center; word-wrap: break-word;'>0.19</td><td style='text-align: center; word-wrap: break-word;'>1.12</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>1.047</td><td style='text-align: center; word-wrap: break-word;'>0.350</td><td style='text-align: center; word-wrap: break-word;'>0.560</td><td style='text-align: center; word-wrap: break-word;'>0.296</td><td style='text-align: center; word-wrap: break-word;'>0.20</td><td style='text-align: center; word-wrap: break-word;'>1.09</td><td style='text-align: center; word-wrap: break-word;'>0.041</td><td style='text-align: center; word-wrap: break-word;'>0.083</td><td style='text-align: center; word-wrap: break-word;'>0.000</td><td style='text-align: center; word-wrap: break-word;'>0.556</td><td style='text-align: center; word-wrap: break-word;'>0.21</td><td style='text-align: center; word-wrap: break-word;'>1.12</td></tr><tr><td rowspan="3">EuRoC</td><td style='text-align: center; word-wrap: break-word;'>VGGT</td><td style='text-align: center; word-wrap: break-word;'>0.192</td><td style='text-align: center; word-wrap: break-word;'>0.061</td><td style='text-align: center; word-wrap: break-word;'>0.293</td><td style='text-align: center; word-wrap: break-word;'>0.285</td><td style='text-align: center; word-wrap: break-word;'>0.27</td><td style='text-align: center; word-wrap: break-word;'>0.98</td><td style='text-align: center; word-wrap: break-word;'>0.239</td><td style='text-align: center; word-wrap: break-word;'>0.234</td><td style='text-align: center; word-wrap: break-word;'>0.004</td><td style='text-align: center; word-wrap: break-word;'>0.324</td><td style='text-align: center; word-wrap: break-word;'>0.28</td><td style='text-align: center; word-wrap: break-word;'>1.00</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>0.176</td><td style='text-align: center; word-wrap: break-word;'>0.074</td><td style='text-align: center; word-wrap: break-word;'>0.291</td><td style='text-align: center; word-wrap: break-word;'>0.252</td><td style='text-align: center; word-wrap: break-word;'>0.32</td><td style='text-align: center; word-wrap: break-word;'>1.05</td><td style='text-align: center; word-wrap: break-word;'>0.212</td><td style='text-align: center; word-wrap: break-word;'>0.215</td><td style='text-align: center; word-wrap: break-word;'>0.003</td><td style='text-align: center; word-wrap: break-word;'>0.243</td><td style='text-align: center; word-wrap: break-word;'>0.31</td><td style='text-align: center; word-wrap: break-word;'>1.10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>0.178</td><td style='text-align: center; word-wrap: break-word;'>0.078</td><td style='text-align: center; word-wrap: break-word;'>0.234</td><td style='text-align: center; word-wrap: break-word;'>0.164</td><td style='text-align: center; word-wrap: break-word;'>0.40</td><td style='text-align: center; word-wrap: break-word;'>1.08</td><td style='text-align: center; word-wrap: break-word;'>0.204</td><td style='text-align: center; word-wrap: break-word;'>0.203</td><td style='text-align: center; word-wrap: break-word;'>0.008</td><td style='text-align: center; word-wrap: break-word;'>0.251</td><td style='text-align: center; word-wrap: break-word;'>0.42</td><td style='text-align: center; word-wrap: break-word;'>1.18</td></tr><tr><td rowspan="3">UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>VGGT</td><td style='text-align: center; word-wrap: break-word;'>1.109</td><td style='text-align: center; word-wrap: break-word;'>0.497</td><td style='text-align: center; word-wrap: break-word;'>2.152</td><td style='text-align: center; word-wrap: break-word;'>0.301</td><td style='text-align: center; word-wrap: break-word;'>0.22</td><td style='text-align: center; word-wrap: break-word;'>0.81</td><td style='text-align: center; word-wrap: break-word;'>0.209</td><td style='text-align: center; word-wrap: break-word;'>0.203</td><td style='text-align: center; word-wrap: break-word;'>0.002</td><td style='text-align: center; word-wrap: break-word;'>0.201</td><td style='text-align: center; word-wrap: break-word;'>0.35</td><td style='text-align: center; word-wrap: break-word;'>0.92</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>1.089</td><td style='text-align: center; word-wrap: break-word;'>0.328</td><td style='text-align: center; word-wrap: break-word;'>0.762</td><td style='text-align: center; word-wrap: break-word;'>0.192</td><td style='text-align: center; word-wrap: break-word;'>0.20</td><td style='text-align: center; word-wrap: break-word;'>0.92</td><td style='text-align: center; word-wrap: break-word;'>0.244</td><td style='text-align: center; word-wrap: break-word;'>0.237</td><td style='text-align: center; word-wrap: break-word;'>0.007</td><td style='text-align: center; word-wrap: break-word;'>0.217</td><td style='text-align: center; word-wrap: break-word;'>0.31</td><td style='text-align: center; word-wrap: break-word;'>1.20</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>0.891</td><td style='text-align: center; word-wrap: break-word;'>0.396</td><td style='text-align: center; word-wrap: break-word;'>0.734</td><td style='text-align: center; word-wrap: break-word;'>0.246</td><td style='text-align: center; word-wrap: break-word;'>0.29</td><td style='text-align: center; word-wrap: break-word;'>0.79</td><td style='text-align: center; word-wrap: break-word;'>0.241</td><td style='text-align: center; word-wrap: break-word;'>0.249</td><td style='text-align: center; word-wrap: break-word;'>0.039</td><td style='text-align: center; word-wrap: break-word;'>0.138</td><td style='text-align: center; word-wrap: break-word;'>0.45</td><td style='text-align: center; word-wrap: break-word;'>1.07</td></tr></table>

惯性方面的 $\hat{g}_{imu} = FP(g_{imu})$。当运动足够剧烈时，这两种种子会在大约 $1^{\circ}$ 的时间内收敛到同一方向，从而形成一致性误差 $\angle(\hat{g}_{gc}, \hat{g}_{imu})$，该误差反映了惯性观测对重力的约束作用，也证明了 $g_{gc}$ 在大多数情况下是准确的。

如果 $g_{gc}$ 偏离一致性误差范围，我们便将其归类为异常值，并遵循以下条件：

 $$ \operatorname*{m i n}_{X\in\{\mathrm{g c},\mathrm{i m u}\}}\angle\big(\mathbf{g}_{\mathrm{g c}},\mathbf{g}_{X}\big)>\operatorname*{m a x}\big(\angle\big(\hat{\mathbf{g}}_{\mathrm{g c}},\hat{\mathbf{g}}_{\mathrm{i m u}}\big),\gamma_{\mathrm{m i n}}\big), $$

其中，$\gamma_{\mathrm{min}} = 20^{\circ}$ 起到低噪声下限的作用。一旦满足该条件，系统便会拒绝采纳 $\mathbf{g}_{\mathrm{gc}}$，转而采用纯惯性的固定点 $\hat{\mathbf{g}}_{\mathrm{imu}}$，该固定点需满足（符号为 $(\hat{\mathbf{g}}_{\mathrm{imu}})\geq0$），同时对应的尺度为 $s_{\mathrm{imu}}$，初始速度为 $\mathbf{v}_{1}(\mathbf{g}_{\mathrm{imu}}, s_{\mathrm{imu}})$，即便在视觉先验严重退化的情况下也能确保稳定的初始化过程。

一旦估算出初始化参数，我们便利用第 4.1 节所述的预积分过程来构建以帧 1 为基准的度量锚定目标轨迹 $\mathcal{T}^{\mathrm{imu}} = \{\mathbf{p}_i^{\mathrm{imu}}, \mathbf{R}_i^{\mathrm{imu}}\}_{i=1}^n$，将其作为驱动锚定的监督信号。

### 5. 3DFM 的度量锚定

VI3 旨在将惯性轨迹中编码的度量信息在测试阶段注入到预训练的 3DFM 中。我们考虑了两种实现此目标的方法。

输入条件化：如第 2 节所述，某些模型 [^27] [^52] 在推理过程中可使用可选输入来进行度量缩放输出。因此，我们将 $\mathcal{T}^{\text{imu}}$ 输入到 3DFM 中，以获得符合物理规律的重建结果。

测试时优化：所提出的测试时优化过程的目标是找到尺度和模型权重的联合参数子集 $(\alpha, \hat{\theta})$，使得优化后模型的几何输出能与轨迹 $\mathcal{T}^{\mathrm{imu}}$ 在物理上对齐。由于 3DFM 预测的几何形状仅在全局尺度上存在偏差，因此我们引入了一个可学习的标量 $\alpha > 0$，该标量会从后续步骤开始作用于原始平移量 $\mathbf{p}_i^\mathcal{M} \mapsto \alpha \mathbf{p}_i^\mathcal{M}$ 和深度值 $\mathcal{D}_i^\mathcal{M} \mapsto \alpha \mathcal{D}_i^\mathcal{M}$，从而将这两种表示方式关联起来，而旋转和内参则保持不变。该因子的初始化是通过直接比较路径长度之比 $\alpha_0 = \left( \sum_i \|\mathbf{p}_i^{\mathrm{imu}}\|_2 \right) / \left( \sum_i \|\mathbf{p}^\mathcal{M}_i\|_2 \right)$ 来完成的。

我们提出了一种基于连续帧的位姿监督项，这使得目标函数具有全局不变性（预测结果与目标之间的刚性变换会被抵消）：

 $$ \mathcal{L}_{\mathrm{p o s}}=\frac{1}{n-1}\sum_{i=2}^{n}\left\|\left(\mathbf{p}_{i}^{\mathcal{M}}-\mathbf{p}_{i-1}^{\mathcal{M}}\right)-\Delta\mathbf{p}_{i-1}\right\|_{1}, $$

 $$ \mathcal{L}_{\mathrm{r o t}}=\frac{1}{n-1}\sum_{i=2}^{n}\left\|\mathrm{L o g}\left(\left(\mathbb{R}_{i-1}^{\mathcal{M}}{}^{\top}\mathbb{R}_{i}^{\mathcal{M}}\right)^{\top}\Delta\mathbb{R}_{i-1}\right)\right\|_{2}. $$

由于该流程在缺乏可用三维真实数据的情况下运行，我们需要通过自监督一致性循环将深度图与相机位姿相结合，以强制保证跨视图的几何一致性。因此，我们引入了几何深度一致性损失函数，该函数能将预测深度直接锚定到惯性恢复的位姿尺度上。对于每一对满足$(i, j)$条件的$i \neq j$，我们会对重投影深度与在有效重投影坐标处采样的源深度之间的差异进行惩罚[^14]：

 $$ \mathcal{L}_{\mathrm{d c o n s}}=\frac{1}{n}\sum_{t=1}^{n}\Big[\min_{i\neq j}\Big\vert[\pi_{i}(\mathcal{X}_{j}^{\mathcal{M}})]_{Z}-\mathcal{D}_{i}^{\mathcal{M}}\Big(\pi_{i}(\mathcal{X}_{j}^{\mathcal{M}})\Big)\Big\vert\Big]_{\mathrm{v a l i d}}, $$

其中$\pi_{i}$为投影算子，用于将点投影到第i帧中。

---

<div style="text-align: center;">Table 2. Metric models: learned priors vs. inertial cues. Each backbone's native metric prediction (Base), the same pretrained model conditioned on our GT-free IMU-integrated poses (IMU-cond, pose-only, feed-forward), and, conversely, using inertial test-time refinement (TTR).  ${}^{\dagger}$IMU-cond additionally feeds camera intrinsics (required by DA3's pose encoder); Pi3X's IMU-cond is pose-only.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Dataset</td><td rowspan="2">Model</td><td colspan="3">Trans (m) $\downarrow$</td><td colspan="3">Rot (°) $\downarrow$</td><td colspan="3">Scale (Traj.) $\rightarrow$1</td><td colspan="3">Scale (Depth) $\rightarrow$1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>IMU-cond</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>IMU-cond</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>IMU-cond</td><td style='text-align: center; word-wrap: break-word;'>TTR</td><td style='text-align: center; word-wrap: break-word;'>Base</td><td style='text-align: center; word-wrap: break-word;'>IMU-cond</td><td style='text-align: center; word-wrap: break-word;'>TTR</td></tr><tr><td rowspan="2">TartanAirV2</td><td style='text-align: center; word-wrap: break-word;'>Pi3X</td><td style='text-align: center; word-wrap: break-word;'>0.392</td><td style='text-align: center; word-wrap: break-word;'>0.371</td><td style='text-align: center; word-wrap: break-word;'>0.382</td><td style='text-align: center; word-wrap: break-word;'>0.802</td><td style='text-align: center; word-wrap: break-word;'>0.546</td><td style='text-align: center; word-wrap: break-word;'>0.316</td><td style='text-align: center; word-wrap: break-word;'>1.18</td><td style='text-align: center; word-wrap: break-word;'>1.20</td><td style='text-align: center; word-wrap: break-word;'>1.08</td><td style='text-align: center; word-wrap: break-word;'>1.26</td><td style='text-align: center; word-wrap: break-word;'>1.25</td><td style='text-align: center; word-wrap: break-word;'>1.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DA3</td><td style='text-align: center; word-wrap: break-word;'>0.322</td><td style='text-align: center; word-wrap: break-word;'>0.446 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.486</td><td style='text-align: center; word-wrap: break-word;'>1.379</td><td style='text-align: center; word-wrap: break-word;'>0.801 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.351</td><td style='text-align: center; word-wrap: break-word;'>0.90</td><td style='text-align: center; word-wrap: break-word;'>0.83 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.06</td><td style='text-align: center; word-wrap: break-word;'>0.99</td><td style='text-align: center; word-wrap: break-word;'>0.90 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.19</td></tr><tr><td rowspan="2">EuRoC</td><td style='text-align: center; word-wrap: break-word;'>Pi3X</td><td style='text-align: center; word-wrap: break-word;'>0.071</td><td style='text-align: center; word-wrap: break-word;'>0.081</td><td style='text-align: center; word-wrap: break-word;'>0.067</td><td style='text-align: center; word-wrap: break-word;'>0.257</td><td style='text-align: center; word-wrap: break-word;'>0.306</td><td style='text-align: center; word-wrap: break-word;'>0.254</td><td style='text-align: center; word-wrap: break-word;'>0.83</td><td style='text-align: center; word-wrap: break-word;'>0.82</td><td style='text-align: center; word-wrap: break-word;'>1.04</td><td style='text-align: center; word-wrap: break-word;'>0.91</td><td style='text-align: center; word-wrap: break-word;'>0.93</td><td style='text-align: center; word-wrap: break-word;'>1.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DA3</td><td style='text-align: center; word-wrap: break-word;'>0.061</td><td style='text-align: center; word-wrap: break-word;'>0.055 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.092</td><td style='text-align: center; word-wrap: break-word;'>0.261</td><td style='text-align: center; word-wrap: break-word;'>0.326 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.312</td><td style='text-align: center; word-wrap: break-word;'>0.72</td><td style='text-align: center; word-wrap: break-word;'>0.75 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.13</td><td style='text-align: center; word-wrap: break-word;'>0.74</td><td style='text-align: center; word-wrap: break-word;'>0.73 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.20</td></tr><tr><td rowspan="2">UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>Pi3X</td><td style='text-align: center; word-wrap: break-word;'>0.576</td><td style='text-align: center; word-wrap: break-word;'>0.535</td><td style='text-align: center; word-wrap: break-word;'>0.368</td><td style='text-align: center; word-wrap: break-word;'>0.933</td><td style='text-align: center; word-wrap: break-word;'>0.738</td><td style='text-align: center; word-wrap: break-word;'>0.233</td><td style='text-align: center; word-wrap: break-word;'>1.11</td><td style='text-align: center; word-wrap: break-word;'>1.15</td><td style='text-align: center; word-wrap: break-word;'>0.82</td><td style='text-align: center; word-wrap: break-word;'>1.63</td><td style='text-align: center; word-wrap: break-word;'>1.65</td><td style='text-align: center; word-wrap: break-word;'>1.10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DA3</td><td style='text-align: center; word-wrap: break-word;'>0.538</td><td style='text-align: center; word-wrap: break-word;'>0.452 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.379</td><td style='text-align: center; word-wrap: break-word;'>1.252</td><td style='text-align: center; word-wrap: break-word;'>0.626 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.231</td><td style='text-align: center; word-wrap: break-word;'>0.96</td><td style='text-align: center; word-wrap: break-word;'>0.83 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.88</td><td style='text-align: center; word-wrap: break-word;'>1.39</td><td style='text-align: center; word-wrap: break-word;'>1.05 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.07</td></tr></table>

<div style="text-align: center;">Table 3. Calibration-parameter init error. Accuracy of the backbone-independent, fully-GT-free estimates of the two IMU calibration parameters that seed refinement: gravity direction and gyro bias, the latter as absolute error with relative in parentheses. GT gyro bias is only available on EuRoC (- elsewhere).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>Gravity (°) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>Gyro-bias (rad/s) $\downarrow$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TartanAirV2</td><td style='text-align: center; word-wrap: break-word;'>1.05</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EuRoC</td><td style='text-align: center; word-wrap: break-word;'>1.08</td><td style='text-align: center; word-wrap: break-word;'>0.009 (11.3%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>6.61</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr></table>

这里的3D世界点$\mathcal{X}_j^{\mathcal{M}}$是由第j帧的深度预测值反投影得到的；而$[]$则表示对应的z坐标。

除此之外，我们还添加了两项正则化项以保护结构的完整性：(i) 针对第一帧预测位置的帧1位置锚点$\hat{\mathbf{p}}_1^{\mathcal{M}}$，用于约束坐标原点$(\mathcal{L}_a^p = \|\hat{\mathbf{p}}_1^{\mathcal{M}}\|_1)$；(ii) 深度初始化锚点，用于将深度固定为其零样本形态$\mathcal{L}_a^{\mathcal{D}} = \frac{1}{n} \sum_i \|\mathcal{D}_i^{\mathcal{M}} - \mathcal{D}_i^{\mathcal{M}^{(0)}}\|_1$。这使得网络能够适应输入流的光度分布，同时确保几何结构严格受限于3DFM的结构先验。总目标函数如下：

 $$\mathcal{L}(\theta)=w_{r}\mathcal{L}_{\mathrm{rot}}+w_{p}\mathcal{L}_{\mathrm{pos}}+w_{\mathrm{d}}\mathcal{L}_{\mathrm{dcons}}+w_{a_{p}}\mathcal{L}_{\mathrm{a}}^{p}+w_{a_{d}}\mathcal{L}_{\mathrm{a}}^{\mathcal{D}}{}_{(17)}$$

我们通过仅解冻相机和深度估计头，以及3DFM中聚合器的最后几个L个帧间（全局）注意力块，再加上标量$\alpha$，在固定$\mathcal{T}^{\mathrm{imu}}$的前提下对单个窗口执行K次梯度更新，从而最小化该目标函数。

### 6. 实验

我们通过定量和定性结果评估VI3的性能，并对设计选择进行了消融分析。

数据集。我们使用了三个涵盖合成数据、微型飞行器及无人机竞速场景的视觉-惯性航空数据集。TartanAirV2 [^51]提供了24种合成无人机飞行场景。

<div style="text-align: center;">Table 4. Initial velocity estimation. Recovery of the direction and magnitude, for each specific dataset and backbone.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Dataset</td><td rowspan="2">Metric</td><td colspan="3">Up-to-scale</td><td colspan="2">Scale-aware</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT</td><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>Pi3X</td><td style='text-align: center; word-wrap: break-word;'>DA3</td></tr><tr><td rowspan="2">TartanAirV2</td><td style='text-align: center; word-wrap: break-word;'>$v_1$ dir. ( $^{\circ}$) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>6.2</td><td style='text-align: center; word-wrap: break-word;'>4.3</td><td style='text-align: center; word-wrap: break-word;'>5.4</td><td style='text-align: center; word-wrap: break-word;'>6.6</td><td style='text-align: center; word-wrap: break-word;'>11.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$v_1$ mag. $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>0.21</td><td style='text-align: center; word-wrap: break-word;'>0.22</td><td style='text-align: center; word-wrap: break-word;'>0.20</td><td style='text-align: center; word-wrap: break-word;'>0.20</td><td style='text-align: center; word-wrap: break-word;'>0.22</td></tr><tr><td rowspan="2">EuRoC</td><td style='text-align: center; word-wrap: break-word;'>$v_1$ dir. ( $^{\circ}$) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>10.0</td><td style='text-align: center; word-wrap: break-word;'>3.6</td><td style='text-align: center; word-wrap: break-word;'>9.3</td><td style='text-align: center; word-wrap: break-word;'>8.8</td><td style='text-align: center; word-wrap: break-word;'>5.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$v_1$ mag. $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>0.21</td><td style='text-align: center; word-wrap: break-word;'>0.23</td><td style='text-align: center; word-wrap: break-word;'>0.26</td><td style='text-align: center; word-wrap: break-word;'>0.17</td><td style='text-align: center; word-wrap: break-word;'>0.22</td></tr><tr><td rowspan="2">UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>$v_1$ dir. ( $^{\circ}$) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>10.4</td><td style='text-align: center; word-wrap: break-word;'>4.9</td><td style='text-align: center; word-wrap: break-word;'>4.6</td><td style='text-align: center; word-wrap: break-word;'>7.2</td><td style='text-align: center; word-wrap: break-word;'>6.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$v_1$ mag. $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>0.24</td><td style='text-align: center; word-wrap: break-word;'>0.17</td><td style='text-align: center; word-wrap: break-word;'>0.27</td><td style='text-align: center; word-wrap: break-word;'>0.17</td><td style='text-align: center; word-wrap: break-word;'>0.16</td></tr></table>

这些序列来自四种不同的环境：室内和室外（House、Hospital、ModernCityDowntown、ForestEnv），包含两种现有难度级别（简单/困难），以及前两条轨迹（P000、P002）。我们采用了完整的EuRoC-MAV [^4]数据集，共包含11条序列：Vicon-Room（深度真值由Leica MS50激光扫描仪获取）和Machine-Hall（深度真值由立体相机生成）。UZH-FFPV [^10]则提供了16条带有公开真值的无人机竞速序列（Snapdragon室内/室外版本，摄像头朝向为正向或45°）；事件相机相关及无真值竞赛子集未纳入考虑。深度真值由立体相机生成。值得注意的是，TartanAirV2（或其早期版本TartanAir）出现在我们所用的所有骨干网络的原始训练语料库中，VGGT除外。纳入该数据集旨在说明：尽管这些结果更接近于同分布而非零样本场景，但仍存在我们所针对的明显的场景特异性差距。本研究中使用的数据集涵盖了全部运动模式：无噪声（合成数据）和高视差（TartanAirV2）；中等运动模式（EuRoC）；以及高动态、低视差模式（UZH-FPV）。

#### 6.1. 实验设置

与3DFM在短上下文窗口下运行的特性一致，我们的评估基于剪辑：即从每条序列中采样的短片段，构成一个窗口。

---

该窗口包含n=8帧，步长为2。我们每条序列抽取三个剪辑（分别位于起始、中间和末尾）以实现多样化覆盖。因此，所有报告的指标均为某数据集下所有剪辑的中位数。

骨干网络。我们深入分析了五种相关预训练3DFM在测试时微调中的表现（使用它们发布的权重）：其中三种属于尺度可调型，即VGGT [^47]、VGGT- $\Omega$ [^48]以及$\pi^3$ [^52]；另外两种为尺度感知型，分别是Pi3X [^52]和Depth Anything 3 (DA3) [^27]。优化方面，针对TTR，我们通过实验设定了$w_r=20$、$w_t=10$、$w_d=10$、$w_{a_p}=1000$和$w_{a_d}=1$，因为这些参数能在姿态微调与尺度恢复之间取得良好平衡，且不会破坏深度信息。我们采用AdamW优化器，每个视频片段的固定迭代步数为$K = 160$。实验在一块NVIDIA RTX 5090上运行。TTR会优化尺度因子$\alpha$，同时调整模型的相机头、深度头以及最终的聚合模块($L = 8$)，而所有其他参数则保持冻结状态。

评估指标方面，我们主要评估相机姿态、尺度和密集深度。与传统视觉里程计的做法不同，我们在计算姿态误差前并不对齐轨迹，因为我们的目标是评估绝对度量精度。Trans表示每帧相机位置与真实值之间的均方根误差（单位：米）；Rot表示与真实方向之间的平均测地角（单位：度）。Scale (Traj.)是指每帧的中位数比例$|t_{pred}|/|t_{gt}|$，理想值为1，低于或高于1分别表示缩放不足或过度，其中位移小于1厘米的近似静止片段不纳入计算，因为此时该比例无定义。对于密集深度，我们采用两个互补的指标进行评估。Shape指标不受全局尺度影响，用于衡量几何保真度，通过每帧中位数尺度对齐的AbsRel($\downarrow$)以及绝对内点比率$\delta<1.25$($\uparrow$)来体现，后者衡量的是与真实值偏差在$1.25\times$范围内的像素数量，且无需对齐。Scale (Depth)同样无需对齐，其值为median($D_{pred}/D_{gt}$)，目标值仍为1。分别报告这些指标可以区分两种情况：一种是形状正确但尺度有误的重建结果，另一种是形状和尺度都正确的结果，二者仅能通过Scale (Depth)列来区分。

所有实验结果均采用固定随机种子；在相同的硬件条件下重复运行时，误差变化范围仅为0.01米、$0.04^{\circ}$以及0.03的尺度偏差，远低于所报道的锚定效应数值。

#### 6.2. 实验结果

图3展示了定性结果，更多示例可参见补充材料。表1和表2分别报告了尺度可调型与度量型骨干网络在原始预训练模型（Base）、加入IMU约束（如适用）以及我们的TTR条件下的中位数结果，涵盖不同序列和视频片段。结果表明，惯性测量数据有助于为这两类性质的模型注入物理知识。尺度可调型模型虽能恢复正确的几何结构，但最多只能达到原始尺度的45%，这一点从位置误差以及$\delta<1.25$中的较差结果也能看出，这也印证了前述结论。

![Image](images/f8b9e262d3e93432545a703c791512f2633628ff83bb4b8a2828e1dc7c98f43b.jpg)

![Image](images/2931f16b188344e6ba23edf2e8235049e0f783d8c47905fde93aa6d4e82eda0c.jpg)

![Image](images/42113bf3eff435843e1d1e4f62044517f25b31c234a6fd1c6817268fe0158547.jpg)

![Image](images/d5b674a4e580cee5c6d7ed8a90796a5d57a4e1a8d77a08393f47b851f721132c.jpg)

<div style="text-align: center;">Figure 3. Qualitative examples. From top to bottom: TartanAirV2 ModernCityDowntown P000; EuRoC Vicon-Room V2-03; UZHFPV indoor-forward-9. VI3 (green) correctly recovers, thanks to the inertial signal (blue), metric, scene-consistent geometry, in contrast to the pretrained 3DFM (red). Best in color. the monocular scale ambiguity. In turn, our proposed refinement is able to successfully retrieve near metric recon-</div>

---

![Image](images/1154bbedee93270111d9195d63937a3987856448a149d09d5c4d107258202090.jpg)

![Image](images/d1916ddb25b4045d5eaee1456a22a0f24b9dd25f8bcc11022294e84b6b2e1fb7.jpg)

![Image](images/5a9fa942665dece43b2f0e62443a06c11d70889f003f3be93e7b84922d206379.jpg)

![Image](images/547360939e121896a409b63de5f7c351b48e850bec8602cf6fd109a459dc2d0a.jpg)

![Image](images/270ef5b7fdb2bae6c4064481e9f38e87c0d6508029fff21b3d55dfd2a80027b4.jpg)

<div style="text-align: center;">Figure 4. Sensitivity to inertial initialization of recovered metric scale (VGGT backbone). Downstream scale ( $\rightarrow$ 1 ideal) as each GT initialization component is independently perturbed (growing values of error applied to initial linear velocity, gravity and IMU biases).</div>

在所有情况下指令均适用（缩放比例 $\approx 1$），该指令会被传递到翻译过程中。此外，我们观察到旋转性能有稳定的提升，而我们提出的交叉视图损失函数有助于保持几何结构的完整性，这意味着注入的缩放比例不会破坏三维感知能力。具备度量感知能力的模型所输出的缩放估计值更接近1，且翻译结果也更好（尤其是在TartanAirV2数据集上，这与其分布内特性相符）；但我们发现，在分布外情况下，IMU能够显著改善这一状况，无论是通过TTR方式还是测试时利用辅助几何信息作为条件。我们还观察到旋转性能有轻微但稳定的提升，这意味着惯性测量数据能够为运动的六个自由度注入精确的信息。我们可以看到，在某些情况下，仅通过度量输入对网络进行条件约束并不会改变性能，这表明数据驱动的先验知识覆盖了任何输入信息。在这类情况下，TTR通常是一种更好的选择，因为主干网络的参数已针对特定场景进行了适配。

#### 6.3. 补充分析

此处包含了最相关的分析内容，更多分析可参见补充材料。

惯性初始化敏感性。我们测试了IMU初始化误差对恢复的度量缩放比例的影响，具体方法是在预积分轨迹上施加不同噪声，随后将其注入采用TTR技术的VGGT主干网络中。图4显示，VI3的缩放恢复能力对IMU偏差和重力噪声具有鲁棒性，但初始速度估计值的偏差会对其产生显著影响：方向误差尤其是幅度误差会大幅降低性能。

初始化精度。我们评估了第4.2节所述初始化流程产生的误差，分析了两个受主干网络选择影响较小的传感器衍生变量：重力方向上的绝对误差角度 $\hat{g}$ 以及陀螺仪偏差的相对误差 $\|\hat{b}_g - b_g\| / \|b_g\|$。表3展示了相关结果（仅有EuRoC数据集提供了真实的偏差值），我们发现我们的初始化流程在这两类变量上均能给出较好的估计值，但在速度更高、更具挑战性的UZH-FPV数据集上表现较差。

我们还评估了最敏感的初始化参数——初始速度的估计误差。由于这一指标依赖于所采用的主干网络，因此我们分别评估了其方向和幅度因子（$||\hat{v}_0| - |v_0|| / |v_0|$）的误差。表4显示，不同主干网络下的方向误差都较小，而幅度误差则存在较大差异。

### 7. 结论

在这项工作中，我们证明了IMU是可靠的物理知识来源，能够将任何预训练3DFM输出的尺度模糊的几何信息锚定为度量观测值。为此，我们提出了VI3——一种将物理锚定重新定义的传感器闭环框架，它提供了多种注入度量缩放比例的方式，包括专门的优化方法。通过大量实验，我们证明VI3能够适应不同类型和场景的主干网络；同时，学习得到的缩放先验或输入条件化方法都不足以作为可靠的替代方案，这也提醒我们：物理属性必须依托物理测量来锚定，因为数据驱动的先验可能存在误差，且容易在分布外情况下失效。

同样的理念也适用于未来的研究工作：无论是部署时可用的任何度量信号，还是多种信号的融合（如GNSS、车轮里程计、深度数据），亦或是依赖精确度量几何的下游流程（前馈式新视角合成、地图构建），最终都指向那些专为所处物理环境量身定制的基础模型。

## 参考文献

[^1]: Sameer Agarwal, Yasutaka Furukawa, Noah Snavely, Ian Simon, Brian Curless, Steven M Seitz, and Richard Szeliski. Building rome in a day. Communications of the ACM, 54 (10):105–112, 2011.

## [^2]: Yanqi Bao, Tianyu Ding, Jing Huo, Yaoli Liu, Yuxin Li, Wenbin Li, Yang Gao, and Jiebo Luo. 3d gaussian splatting: Survey, technologies, challenges, and opportunities. IEEE

---

《电路与系统视频技术汇刊》，第35卷第7期：6832–6852页，2025年。1

[^3]: Simon Boche, Jaehyung Jung, Sebastián Barbas Laina, and Stefan Leutenegger. Okvis2-x: Open keyframe-based visual-inertial slam configurable with dense depth or lidar, and gnss. IEEE Transactions on Robotics, 2025. 2

[^4]: Michael Burri, Janosch Nikolic, Pascal Gohl, Thomas Schneider, Joern Rehder, Sammy Omari, Markus W Achtelik, and Roland Siegwart. The euroc micro aerial vehicle datasets. The International Journal of Robotics Research, 2016. 6

[^5]: Yohann Cabon, Lucas Stoffl, Leonid Antsfeld, Gabriela Csurka, Boris Chidlovskii, Jerome Revaud, and Vincent Leroy. Must3r: Multi-view network for stereo 3d reconstruction. In CVPR, pages 1050–1060, 2025. 2

[^6]: Carlos Campos, Richard Elvira, Juan J. Gómez Rodríguez, José M. M. Montiel, and Juan D. Tardós. ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM. IEEE Transactions on Robotics, 37(6):1874–1890, 2021. arXiv:2007.11898 [cs.RO]. 2

[^7]: Samuel Cerezo, Seong Hun Lee, and Javier Civera. An efficient closed-form solution to full visual-inertial state initialization. IEEE Robotics and Automation Letters, 2026. 4

[^8]: Xingyu Chen, Yue Chen, Yuliang Xiu, Andreas Geiger, and Anpei Chen. TTT3R: 3D Reconstruction as Test-Time Training, 2026. arXiv:2509.26645 [cs]. 2, 3

[^9]: Zhuoguang Chen, Minghui Qin, Tianyuan Yuan, Zhe Liu, and Hang Zhao. Long3r: Long sequence streaming 3d reconstruction. arXiv preprint arXiv:2507.18255, 2025. 2

[^10]: Jeffrey Delmerico, Titus Cieslewski, Henri Rebecq, Matthias Faessler, and Davide Scaramuzza. Are We Ready for Autonomous Drone Racing? The UZH-FPV Drone Racing Dataset. In 2019 International Conference on Robotics and Automation (ICRA), pages 6713–6719, Montreal, QC, Canada, 2019. IEEE. 6

[^11]: Sven Elflein, Qunjie Zhou, and Laura Leal-Taixé. Light3r-sfm: Towards feed-forward structure-from-motion. In CVPR, pages 16774–16784, 2025. 2

[^12]: Christian Forster, Luca Carlone, Frank Dellaert, and Davide Scaramuzza. On-Manifold Preintegration for Real-Time Visual-Inertial Odometry. IEEE Transactions on Robotics, 33(1):1–21, 2017. arXiv:1512.02363 [cs.RO]. 2, 3, 4

[^13]: Patrick Geneva, Kevin Eckenhoff, Woosik Lee, Yulin Yang, and Guoquan Huang. OpenVINS: A research platform for visual-inertial estimation. In Proc. of the IEEE International Conference on Robotics and Automation, Paris, France, 2020. 2

[^14]: Clément Godard, Oisin Mac Aodha, Michael Firman, and Gabriel J. Brostow. Digging into self-supervised monocular depth prediction. The International Conference on Computer Vision (ICCV), 2019. 5

[^15]: Dongchen Han, Yining Li, Tianyu Li, Zixuan Cao, Ziming Wang, Jun Song, Yu Cheng, Bo Zheng, and Gao Huang. Vit $^{3}$: Unlocking test-time training in vision. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2026. 2

[^16]: Wonbong Jang, Philippe Weinzaepfel, Vincent Leroy, Lourdes Agapito, and Jerome Revaud. Pow3R: Empowering Unconstrained 3D Reconstruction with Camera and Scene Priors. 2025. 2

[^17]: Haian Jin, Rundi Wu, Tianyuan Zhang, Ruiqi Gao, Jonathan T. Barron, Noah Snavely, and Aleksander Holynski. ZipMap: Linear-time stateful 3d reconstruction via test-time training. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2026. 3

[^18]: Jacques Kaiser, Agostino Martinelli, Flavio Fontana, and Davide Scaramuzza. Simultaneous state initialization and gyroscope bias calibration in visual inertial aided navigation. IEEE Robotics and Automation Letters, 2(1):18–25, 2016. 3

[^19]: Jay Karhade, Nikhil Keetha, Yuchen Zhang, Tanisha Gupta, Akash Sharma, Sebastian Scherer, and Deva Ramanan. Any4d: Unified feed-forward metric 4d reconstruction. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 14578–14589, 2026. 2

[^20]: Nikhil Keetha, Jay Karhade, Krishna Murthy Jatavallabhula, Gengshan Yang, Sebastian Scherer, Deva Ramanan, and Jonathon Luiten. Splatam: Splat, track & map 3d gaussians for dense rgb-d slam. In 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 21357–21366. IEEE, 2024. 1

[^21]: Nikhil Keetha, Norman Müller, Johannes Schönberger, Lorenzo Porzi, Yuchen Zhang, Tobias Fischer, Arno Knapitsch, Duncan Zauss, Ethan Weber, Nelson Antunes, Jonathon Luiten, Manuel Lopez-Antequera, Samuel Rota Bulò, Christian Richardt, Deva Ramanan, Sebastian Scherer, and Peter Kontschieder. MapAnything: Universal Feed-Forward Metric 3D Reconstruction, 2026. arXiv:2509.13414[cs]. 1, 2

[^22]: Ramil Khafizov, Ar“ichev, Ruslan Rakhimov, Peter Wonka 3rd: Guided 3rd reaction. arXiv

[^23]: Yushi Lan, Yihang Luo, Fangzhou Hong, Shangchen Zhou, Honghua Chen, Zhaoyang Lyu, Shuai Yang, Bo Dai, Chen Change Loy, and Xingang Pan. Stream3r: Scalable sequential 3d reconstruction with causal transformer. arXiv preprint arXiv:2508.10893, 2025. 2

[^24]: Vincent Leroy, Yohann Cabon, and Jérôme Revaud. Grounding Image Matching in 3D with MASt3R, 2024. arXiv:2406.09756 [cs]. 1, 2

[^25]: Ruilong Li, Brent Yi, Junchen Liu, Hang Gao, Yi Ma, and Angjoo Kanazawa. Cameras as relative positional encoding. Advances in Neural Information Processing Systems, 38:15984–16009, 2026. 2

[^26]: Zizun Li, Jianjun Zhou, Yifan Wang, Haoyu Guo, Wenzheng Chang, Yang Zhou, Haoyi Zhu, Junyi Chen, Chunhua Shen, and Tong He. Wint3r: Window-based streaming reconstruction with camera token pool. arXiv preprint arXiv:2509.05296, 2025. 2

### [^27]: Haotong Lin, Sili Chen, Junhao Liew, Donny Y. Chen, Zhenyu Li, Guang Shi, Jiashi Feng, and Bingyi Kang. Depth Anything 3: Recovering the Visual Space from Any Views, 2025. arXiv:2511.10647 [cs]. 1, 2, 5, 7

---

[^28]: Yuzheng Liu, Siyan Dong, Shuzhe Wang, Yingda Yin, Yanchao Yang, Qingnan Fan, and Baoquan Chen. Slam3r: Real-time dense scene reconstruction from monocular гб videos. In CVPR, pages 16651–16662, 2025. 2

[^29]: Jiahao Ma, Lei Wang, David Ahmedt-Aristizabal, Chuong Nguyen, et al. Puzzles: Unbounded video-depth augmentation for scalable end-to-end 3d reconstruction. arXiv preprint arXiv:2506.23863, 2025. 2

[^30]: Mohammad Mahdavian, Gordon Tan, Binbin Xu, Yuan Ren, Dongfeng Bai, and Bingbing Liu. Uniscale: Unified scale-aware 3d reconstruction for multi-view understanding via prior injection for robotic perception. arXiv preprint arXiv:2602.23224, 2026. 1, 2

[^31]: Soroush Mahdi, Fardin Ayar, Ehsan Javanmardi, Manabu Tsukada, and Mahdi Javanmardi. Evict3r: Training-free token eviction for memory-bounded streaming visual geometry transformers. arXiv preprint arXiv:2509.17650, 2025. 2

[^32]: Takeru Miyato, Bernhard Jaeger, Max Welling, and Andreas Geiger. Gta: A geometry-aware attention mechanism for multi-view transformers. In International Conference on Learning Representations, pages 8172–8208, 2024. 2

[^33]: Raul Mur-Artal and Juan D Tardós. Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras. IEEE transactions on robotics, 33(5):1255–1262, 2017. 1,2

[^34]: Raul Mur-Artal, J. M. M. Montiel, and Juan D. Tardos. Orbslam: A versatile and accurate monocular slam system. IEEE Transactions on Robotics, 31(5):1147–1163, 2015.

[^35]: Maxime Oquab, Timothée Darcet, Théo Moutakanni, Huy Vo, Marc Szafraniec, Vasil Khalidov, Pierre Fernandez, Daniel Haziza, Francisco Massa, Alaaeldin El-Nouby, Mahmoud Assran, Nicolas Ballas, Wojciech Galuba, Russell Howes, Po-Yao Huang, Shang-Wen Li, Ishan Misra, Michael Rabbat, Vasu Sharma, Gabriel Synnaeve, Hu Xu, Hervé Jegou, Julien Mairal, Patrick Labatut, Armand Joulin, and Piotr Bojanowski. DINOv2: Learning Robust Visual Features without Supervision, 2024. arXiv:2304.07193 [cs]. 2

[^36]: Linfei Pan, Dániel Baráth, Marc Pollefeys, and Johannes L. Schönberger. Global structure-from-motion revisited. In European Conference on Computer Vision, pages 58–77. Springer, 2024. 1

[^37]: Vojtech Panek, Qunjie Zhou, Yaqing Ding, Sérgio Agostinho, Zuzana Kukelova, Torsten Sattler, and Laura Leal-Taixé. A guide to structureless visual localization: V. panek et al. International Journal of Computer Vision, 134 (6):263, 2026. 1

[^38]: Haosong Peng, Hao Li, Yalun Dai, Yushi Lan, Yihang Luo, Tianyu Qi, Zhengshen Zhang, Yufeng Zhan, Junfei Zhang, Wenchao Xu, et al. Omnivggt: Omni-modality driven visual geometry grounded transformer. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 36485–36497, 2026. 1

[^39]: Tong Qin, Peiliang Li, and Shaojie Shen. Vins-mono: A robust and versatile monocular visual-inertial state estimator. IEEE transactions on robotics, 34(4):1004–1020, 2018. 2

[^40]: Torsten Sattler, Akihiko Torii, Josef Sivic, Marc Pollefeys, Hajime Taira, Masatoshi Okutomi, and Tomas Pajdla. Are

大规模3D模型对于精确的视觉定位而言真的有必要吗？载于2017年IEEE计算机视觉与模式识别会议（CVPR）论文集，第6175–6184页。IEEE出版社，2017年。1

[^41]: Johannes Lutz Schönberger and Jan-Michael Frahm. Structure-from-Motion Revisited. In Conference on Computer Vision and Pattern Recognition (CVPR), 2016. 1,2

[^42]: Zhenggang Tang, Yuchen Fan, Dilin Wang, Hongyu Xu, Rakesh Ranjan, Alexander Schwing, and Zhicheng Yan. Mv-dust3r+: Single-stage scene reconstruction from sparse views in 2 seconds. In CVPR, pages 5283–5293, 2025. 2

[^43]: Alexander Veicht, Paul-Edouard Sarlin, Philipp Lindenberger, and Marc Pollefeys. Geocalib: Learning single-image calibration with geometric optimization. In European Conference on Computer Vision, pages 1–20. Springer, 2024.

[^44]: Guangming Wang, Lei Pan, Songyou Peng, Shaohui Liu, Chenfeng Xu, Yanzi Miao, Wei Zhan, Masayoshi Tomizuka, Marc Pollefeys, and Hesheng Wang. Nerfs in robotics: A survey. The International Journal of Robotics Research, 45(6):858–892, 2026. 1

[^45]: Hengyi Wang and Lourdes Agapito. 3d reconstruction with spatial memory. In Proceedings of the International Conference on 3D Vision (3DV), pages 78–89. IEEE, 2025. 2

[^46]: Hengyi Wang and Lourdes Agapito. Amb3r: Accurate feed-forward metric-scale 3d reconstruction with backend. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 14612–14625, 2026. 2

[^47]: Jianyuan Wang, Minghao Chen, Nikita Karaev, Andrea Vedaldi, Christian Rupprecht, and David Novotny. VGGT: Visual Geometry Grounded Transformer, 2025. arXiv:2503.11651 [cs]. 1, 2, 7

[^48]: Jianyuan Wang, Minghao Chen, Shangzhan Zhang, Nikita Karaev, Johannes Schönberger, Patrick Labatut, Piotr Bojanowski, David Novotny, Andrea Vedaldi, and Christian Rupprecht. VGGT-Ω, 2026. 1, 2, 7

[^49]: Qianqian Wang*, Yifei Zhang*, Aleksander Holynski, Alexei A. Efros, and Angjoo Kanazawa. Continuous 3d perception model with persistent state. In CVPR, 2025. 2, 3

[^50]: Shuzhe Wang, Vincent Leroy, Yohann Cabon, Boris Chidlovskii, and Jerome Revaud. DUSt3R: Geometric 3D Vision Made Easy, 2023. arXiv:2312.14132 [cs]. 1, 2

[^51]: Wenshan Wang, Delong Zhu, Xiangwei Wang, Yaoyu Hu, Yuheng Qiu, Chen Wang, Yafei Hu, Ashish Kapoor, and Sebastian Scherer. TartanAir: A Dataset to Push the Limits of Visual SLAM, 2020. arXiv:2003.14338 [cs.RO]. 6

[^52]: Yifan Wang, Jianjun Zhou, Haoyi Zhu, Wenzheng Chang, Yang Zhou, Zizun Li, Junyi Chen, Jiangmiao Pang, Chunhua Shen, and Tong He. $\pi^{3}$: Permutation-equivariant visual geometry learning, 2026. 1, 2, 5, 7

[^53]: Yuqi Wu, Wenzhao Zheng, Jie Zhou, and Jiwen Lu. Point3r: Streaming 3d reconstruction with explicit spatial pointer memory. arXiv preprint arXiv:2507.02863, 2025. 2

#### [^54]: Jianing Yang, Alexander Sax, Kevin J Liang, Mikael Henaff, Hao Tang, Ang Cao, Joyce Chai, Franziska Meier, and Matt Feiszli. Fast3r: Towards 3d reconstruction of 1000+ images in one forward pass. In CVPR, pages 21924–21935, 2025. 2

---

[^55]: Junyi Zhang, Charles Herrmann, Junhwa Hur, Chen Sun, Ming-Hsuan Yang, Forrester Cole, Trevor Darrell, and Deqing Sun. Loger: Long-context geometric reconstruction with hybrid memory. arXiv preprint arXiv:2603.03269, 2026. 3

[^56]: Yuxuan Zhou, Xingxing Li, Shengyu Li, Zhuohao Yan, Chunxi Xia, and Shaoquan Feng. Mast3r-fusion: Integrating feed-forward visual model with imu, gnss for high-functionality slam, 2025. 2

[^57]: Zihan Zhu, Wei Zhang, Moyang Li, Norbert Haala, Marc Pollefeys, and Daniel Barath. Vigs-slam: Visual inertial gaussian splatting slam. In European Conference on Computer Vision (ECCV), 2026. 2

### [^58]: Dong Zhuo, Wenzhao Zheng, Jiahe Guo, Yuqi Wu, Jie Zhou, and Jiwen Lu. Streaming 4d visual geometry transformer. arXiv preprint arXiv:2507.11539, 2025. 2

---

### VI3：利用惯性线索对预训练3D基础模型进行校准——补充材料

### A. 额外实验结果

我们提供了进一步的实验和消融研究，涵盖了VI3特定组件的分析，尤其是惯性初始化和测试时优化环节。

### A.1. 惯性初始化

#### 基于真实值的惯性初始化

表8和表9对比了采用第4.2节中无需真实值（GT-free）的惯性初始化方法的VI3，与使用真实惯性参数的情况。与以往一样，我们分别评估了该初始化方法对“按尺度对齐模型”的TTR的影响，以及对度量基准模型的输入条件设定和TTR的影响。这些结果验证了我们所提出的无需真实值的初始化方法：在旋转和深度维度上，其性能与真实值基准相比仅有微小差距；不过由于初始速度估计误差会对尺度估算产生较大影响，平移维度的差距相对更大。这一趋势在不同数据集和模型中均保持一致，无论是对度量基准还是按尺度对齐模型而言都是如此。总体而言，结果表明TTR能够有效吸收初始惯性估计引入的误差并优化预测结果，因此相较于输入条件设定而言，它是将惯性线索注入预训练3D基础模型的更有效机制。

### 重力共识机制

表5展示了我们提出的重力共识机制的额外实验结果。基于图像的重力估计$g_{gc}$在无纹理场景中通常表现不佳，TartanAirV2和UZH-FPV数据集中的平均误差较大便反映了这一点。采用另一种粗略的、仅依赖惯性的重力估计方式（$g_{imu}$）能够检测出$g_{gc}$的大误差，进而切换为视觉-惯性最小二乘估计（$g_{ls}$）；这种方式可避免采用严重错误的值，平均而言其效果优于单独使用任何一种重力估计方法。请注意表格右侧部分显示的从$g_{gc}$切换到$g_{ls}$的具体百分比，以及在这些情况下误差是如何大幅降低的。这证明了我们的共识方法能够有效识别出基于图像的重力预测所产生的大误差。

### 初始速度-尺度估计

表6支持了我们将初始速度估计建模为总体最小二乘法（TLS）而非普通最小二乘法（OLS）的决策。TLS的假设是视觉数据与惯性数据均存在噪声。在IMU数据无噪声的TartanAirV2数据集上，这一假设并不成立，两种尺度估计的误差也较为接近。然而，在两个真实的（含噪声的）数据集（EuRoC和UZH-FPV）上，TLS相比OLS有明显改进，其尺度估计值更接近理想值（1）。

### 初始速度大小

在应用回归得到的速度尺度来计算初始速度大小时，有两种选择：要么仅对第一对帧进行缩放，要么将所有帧反向投影到初始帧，再取中位数作为稳健的代表值。表7显示，使用所有帧虽然带来的翻译误差略微降低，但对于具有中等视差的分布外场景，尤其是EuRoC数据集，其尺度估计效果更佳。

<div style="text-align: center;">Table 5. Init: gravity consensus. VGGT model. Mean frame-0 gravity error ( $^{\circ}$ vs. GT). For diverging consensus, we report Fires on % of windows, replacing the default single-image  $g_{gc}$ with the motion-compensated  $g_{ls}$ only there; our estimate beats both sources over the full suite. Mean over sequences $\times$windows.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Dataset</td><td colspan="4">Full-suite ( $^{{o}}$) $\downarrow$</td><td colspan="2">Diverging consensus</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\mathbf{g}_{\text{gc}}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathbf{g}_{\text{imu}}$</td><td style='text-align: center; word-wrap: break-word;'>$\mathbf{g}_{\text{ls}}$</td><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>Fires (%)</td><td style='text-align: center; word-wrap: break-word;'>$\mathbf{g}_{\text{gc}} \rightarrow \mathbf{g}_{\text{ls}}$ ( $^{{o}}$)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TartanAirV2</td><td style='text-align: center; word-wrap: break-word;'>9.67</td><td style='text-align: center; word-wrap: break-word;'>8.58</td><td style='text-align: center; word-wrap: break-word;'>4.31</td><td style='text-align: center; word-wrap: break-word;'>1.96</td><td style='text-align: center; word-wrap: break-word;'>10</td><td style='text-align: center; word-wrap: break-word;'>78.3 $\rightarrow$4.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EuRoC</td><td style='text-align: center; word-wrap: break-word;'>1.98</td><td style='text-align: center; word-wrap: break-word;'>4.22</td><td style='text-align: center; word-wrap: break-word;'>2.62</td><td style='text-align: center; word-wrap: break-word;'>1.98</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>23.75</td><td style='text-align: center; word-wrap: break-word;'>22.38</td><td style='text-align: center; word-wrap: break-word;'>15.52</td><td style='text-align: center; word-wrap: break-word;'>10.32</td><td style='text-align: center; word-wrap: break-word;'>31</td><td style='text-align: center; word-wrap: break-word;'>61.8 $\rightarrow$18.8</td></tr></table>

<div style="text-align: center;">Table 6. Init: velocity-scale estimation – OLS vs. TLS. VGGT model. Implied  $|\hat{v}_1| / |v_1^{\mathrm{gt}}|$ (ideal 1.0) of the ordinary- and total-least-squares scalar scale. OLS attenuates under-predictor noise (regression dilution)  $\Rightarrow$ systematic under-scale; the errors-in-variables TLS is unbiased.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>OLS</td><td style='text-align: center; word-wrap: break-word;'>TLS</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TartanAirV2</td><td style='text-align: center; word-wrap: break-word;'>0.89</td><td style='text-align: center; word-wrap: break-word;'>1.12</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EuRoC</td><td style='text-align: center; word-wrap: break-word;'>0.76</td><td style='text-align: center; word-wrap: break-word;'>0.96</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>0.60</td><td style='text-align: center; word-wrap: break-word;'>0.70</td></tr></table>

<div style="text-align: center;">Table 7. Init: velocity magnitude. Using the TLS scale on the first pair alone (first-pair, Eq. 7) vs. the robust median back-projection over all pairs (all-pairs, Eq. 8). The all-pairs back-out lowers translation error and pulls both trajectory and depth scale toward 1 where the single-pair estimate is noisy. VGGT.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Dataset</td><td colspan="2">Trans (m) $\downarrow$</td><td colspan="2">Scale (Traj.) $\rightarrow$1</td><td colspan="2">Scale (Depth) $\rightarrow$1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>first</td><td style='text-align: center; word-wrap: break-word;'>all</td><td style='text-align: center; word-wrap: break-word;'>first</td><td style='text-align: center; word-wrap: break-word;'>all</td><td style='text-align: center; word-wrap: break-word;'>first</td><td style='text-align: center; word-wrap: break-word;'>all</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TartanAirV2</td><td style='text-align: center; word-wrap: break-word;'>0.505</td><td style='text-align: center; word-wrap: break-word;'>0.351</td><td style='text-align: center; word-wrap: break-word;'>1.00</td><td style='text-align: center; word-wrap: break-word;'>1.05</td><td style='text-align: center; word-wrap: break-word;'>1.05</td><td style='text-align: center; word-wrap: break-word;'>1.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>EuRoC</td><td style='text-align: center; word-wrap: break-word;'>0.060</td><td style='text-align: center; word-wrap: break-word;'>0.060</td><td style='text-align: center; word-wrap: break-word;'>0.91</td><td style='text-align: center; word-wrap: break-word;'>0.99</td><td style='text-align: center; word-wrap: break-word;'>1.08</td><td style='text-align: center; word-wrap: break-word;'>1.00</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>0.537</td><td style='text-align: center; word-wrap: break-word;'>0.495</td><td style='text-align: center; word-wrap: break-word;'>0.81</td><td style='text-align: center; word-wrap: break-word;'>0.80</td><td style='text-align: center; word-wrap: break-word;'>0.94</td><td style='text-align: center; word-wrap: break-word;'>0.94</td></tr></table>

---

<div style="text-align: center;">Table 8. Initialization of up-to-scale models: GT-free vs. GT (Oracle). Inertial test-time refinement with fully-GT-free init vs. an oracle GT init (GT gravity,  $v_{1}$, gyro bias). Each cell is GT-free / GT; better in bold. GT-free reaches near-oracle quality.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>Trans (m) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>Rot (°) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>Scale (Traj.) $\rightarrow$1</td><td style='text-align: center; word-wrap: break-word;'>AbsRel $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>$\delta \lt 1.25$ $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>Scale (Depth) $\rightarrow$1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Init</td><td style='text-align: center; word-wrap: break-word;'>GT-free / GT</td><td style='text-align: center; word-wrap: break-word;'>GT-free / GT</td><td style='text-align: center; word-wrap: break-word;'>GT-free / GT</td><td style='text-align: center; word-wrap: break-word;'>GT-free / GT</td><td style='text-align: center; word-wrap: break-word;'>GT-free / GT</td><td style='text-align: center; word-wrap: break-word;'>GT-free / GT</td></tr><tr><td rowspan="3">TortanAir</td><td style='text-align: center; word-wrap: break-word;'>VGGT</td><td style='text-align: center; word-wrap: break-word;'>0.358 / 0.058</td><td style='text-align: center; word-wrap: break-word;'>0.410 / 0.348</td><td style='text-align: center; word-wrap: break-word;'>1.05 / 0.99</td><td style='text-align: center; word-wrap: break-word;'>0.089 / 0.076</td><td style='text-align: center; word-wrap: break-word;'>0.515 / 0.882</td><td style='text-align: center; word-wrap: break-word;'>1.11 / 1.06</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>0.378 / 0.053</td><td style='text-align: center; word-wrap: break-word;'>0.354 / 0.248</td><td style='text-align: center; word-wrap: break-word;'>1.10 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>0.080 / 0.077</td><td style='text-align: center; word-wrap: break-word;'>0.596 / 0.938</td><td style='text-align: center; word-wrap: break-word;'>1.12 / 1.04</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>0.350 / 0.053</td><td style='text-align: center; word-wrap: break-word;'>0.296 / 0.307</td><td style='text-align: center; word-wrap: break-word;'>1.09 / 0.99</td><td style='text-align: center; word-wrap: break-word;'>0.083 / 0.071</td><td style='text-align: center; word-wrap: break-word;'>0.556 / 0.921</td><td style='text-align: center; word-wrap: break-word;'>1.12 / 1.01</td></tr><tr><td rowspan="3">EuRoC</td><td style='text-align: center; word-wrap: break-word;'>VGGT</td><td style='text-align: center; word-wrap: break-word;'>0.061 / 0.015</td><td style='text-align: center; word-wrap: break-word;'>0.285 / 0.118</td><td style='text-align: center; word-wrap: break-word;'>0.98 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>0.234 / 0.240</td><td style='text-align: center; word-wrap: break-word;'>0.324 / 0.465</td><td style='text-align: center; word-wrap: break-word;'>1.00 / 1.08</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>0.074 / 0.016</td><td style='text-align: center; word-wrap: break-word;'>0.252 / 0.062</td><td style='text-align: center; word-wrap: break-word;'>1.05 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>0.215 / 0.219</td><td style='text-align: center; word-wrap: break-word;'>0.243 / 0.653</td><td style='text-align: center; word-wrap: break-word;'>1.10 / 1.03</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>0.078 / 0.012</td><td style='text-align: center; word-wrap: break-word;'>0.164 / 0.105</td><td style='text-align: center; word-wrap: break-word;'>1.08 / 0.99</td><td style='text-align: center; word-wrap: break-word;'>0.203 / 0.204</td><td style='text-align: center; word-wrap: break-word;'>0.251 / 0.672</td><td style='text-align: center; word-wrap: break-word;'>1.18 / 1.07</td></tr><tr><td rowspan="3">UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>VGGT</td><td style='text-align: center; word-wrap: break-word;'>0.497 / 0.027</td><td style='text-align: center; word-wrap: break-word;'>0.301 / 0.344</td><td style='text-align: center; word-wrap: break-word;'>0.80 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>0.203 / 0.209</td><td style='text-align: center; word-wrap: break-word;'>0.201 / 0.379</td><td style='text-align: center; word-wrap: break-word;'>0.92 / 1.28</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>0.328 / 0.009</td><td style='text-align: center; word-wrap: break-word;'>0.192 / 0.189</td><td style='text-align: center; word-wrap: break-word;'>0.92 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>0.237 / 0.242</td><td style='text-align: center; word-wrap: break-word;'>0.217 / 0.309</td><td style='text-align: center; word-wrap: break-word;'>1.20 / 1.30</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>0.396 / 0.022</td><td style='text-align: center; word-wrap: break-word;'>0.246 / 0.242</td><td style='text-align: center; word-wrap: break-word;'>0.79 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>0.249 / 0.239</td><td style='text-align: center; word-wrap: break-word;'>0.138 / 0.247</td><td style='text-align: center; word-wrap: break-word;'>1.07 / 1.34</td></tr></table>

<div style="text-align: center;">Table 9. Initialization of scale-aware models: GT-free vs. GT IMU-pose conditioning (IMU-cond, feed-forward) and inertial test-time refinement (TTR), each shown as GT-free/GT: our fully-GT-free init vs. an oracle init (GT gravity,  $v_0$, gyro bias). Better in bold.  $\dagger$DA3's IMU-cond additionally feeds camera intrinsics (required by its pose encoder); Pi3X's is pose-only. Median over sequences  $\times$windows.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Dataset</td><td rowspan="2">Model</td><td colspan="2">Trans (m) $\downarrow$</td><td colspan="2">Rot ( $^{\circ}$) $\downarrow$</td><td colspan="2">Scale (Traj.) $\rightarrow 1$</td><td colspan="2">Scale (Depth) $\rightarrow 1$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>IMU-cond GT-free/GT</td><td style='text-align: center; word-wrap: break-word;'>TTR GT-free/GT</td><td style='text-align: center; word-wrap: break-word;'>IMU-cond GT-free/GT</td><td style='text-align: center; word-wrap: break-word;'>TTR GT-free/GT</td><td style='text-align: center; word-wrap: break-word;'>IMU-cond GT-free/GT</td><td style='text-align: center; word-wrap: break-word;'>TTR GT-free/GT</td><td style='text-align: center; word-wrap: break-word;'>IMU-cond GT-free/GT</td><td style='text-align: center; word-wrap: break-word;'>TTR GT-free/GT</td></tr><tr><td rowspan="2">TartanAir</td><td style='text-align: center; word-wrap: break-word;'>Pi3X</td><td style='text-align: center; word-wrap: break-word;'>0.371 / 0.339</td><td style='text-align: center; word-wrap: break-word;'>0.417 / 0.061</td><td style='text-align: center; word-wrap: break-word;'>0.546 / 0.589</td><td style='text-align: center; word-wrap: break-word;'>0.310 / 0.320</td><td style='text-align: center; word-wrap: break-word;'>1.20 / 1.20</td><td style='text-align: center; word-wrap: break-word;'>1.09 / 0.99</td><td style='text-align: center; word-wrap: break-word;'>1.25 / 1.26</td><td style='text-align: center; word-wrap: break-word;'>1.10 / 1.03</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DA3</td><td style='text-align: center; word-wrap: break-word;'>0.446 / 0.248 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.486 / 0.061</td><td style='text-align: center; word-wrap: break-word;'>0.801 / 0.683 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.351 / 0.345</td><td style='text-align: center; word-wrap: break-word;'>0.83 / 0.81 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.06 / 1.01</td><td style='text-align: center; word-wrap: break-word;'>0.90 / 0.88 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.19 / 1.16</td></tr><tr><td rowspan="2">EuRoC</td><td style='text-align: center; word-wrap: break-word;'>Pi3X</td><td style='text-align: center; word-wrap: break-word;'>0.081 / 0.070</td><td style='text-align: center; word-wrap: break-word;'>0.071 / 0.015</td><td style='text-align: center; word-wrap: break-word;'>0.306 / 0.257</td><td style='text-align: center; word-wrap: break-word;'>0.247 / 0.138</td><td style='text-align: center; word-wrap: break-word;'>0.82 / 0.85</td><td style='text-align: center; word-wrap: break-word;'>1.02 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>0.93 / 0.93</td><td style='text-align: center; word-wrap: break-word;'>1.12 / 1.07</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DA3</td><td style='text-align: center; word-wrap: break-word;'>0.055 / 0.057 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.092 / 0.027</td><td style='text-align: center; word-wrap: break-word;'>0.326 / 0.235 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.312 / 0.141</td><td style='text-align: center; word-wrap: break-word;'>0.75 / 0.76 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.13 / 1.01</td><td style='text-align: center; word-wrap: break-word;'>0.73 / 0.73 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.20 / 1.04</td></tr><tr><td rowspan="2">UZH-FPV</td><td style='text-align: center; word-wrap: break-word;'>Pi3X</td><td style='text-align: center; word-wrap: break-word;'>0.535 / 0.494</td><td style='text-align: center; word-wrap: break-word;'>0.404 / 0.036</td><td style='text-align: center; word-wrap: break-word;'>0.738 / 0.812</td><td style='text-align: center; word-wrap: break-word;'>0.231 / 0.214</td><td style='text-align: center; word-wrap: break-word;'>1.15 / 1.15</td><td style='text-align: center; word-wrap: break-word;'>0.82 / 1.00</td><td style='text-align: center; word-wrap: break-word;'>1.65 / 1.64</td><td style='text-align: center; word-wrap: break-word;'>1.09 / 1.38</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DA3</td><td style='text-align: center; word-wrap: break-word;'>0.452 / 0.377 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.379 / 0.020</td><td style='text-align: center; word-wrap: break-word;'>0.626 / 0.423 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.231 / 0.228</td><td style='text-align: center; word-wrap: break-word;'>0.83 / 0.84 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>0.88 / 0.99</td><td style='text-align: center; word-wrap: break-word;'>1.05 / 1.06 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>1.07 / 1.27</td></tr></table>

#### A.2. 测试时优化

#### 监督目标

表10详细列出了我们TTR中采用的监督目标。仅对位姿进行监督（深度参数保持固定）会限制多视角为优化过程带来的优势。加入重投影深度一致性约束后，就能以自监督的方式解锁多视角约束，从而改善位姿估计结果。不过，引入这种尺度相关的损失项会降低尺度估计精度。我们采用的配置通过正则化深度参数解决了这一问题，使得深度指标的正确性显著提升（$\delta<1.25$）。

### 帧间隔：视差

图5分析了帧间隔参数的影响，该参数是直接用于调节视差的调控变量，通过跳过连续的多帧来实现视差调整。图5(A)显示，随着帧间隔增大，绝对位姿误差也会上升，这是由于绝对平移距离变大的缘故。图5(B)将误差按平移长度归一化后，就能看出更明显的规律：在所考虑的数据集中，帧间隔为3或2时，视差与平移效果能达到良好平衡；帧间隔小于2时视差不足，大于3时多视角重叠减少且透视效应会改变纹理特征。受平移精度影响，初始速度也呈现出相同规律：如图5(C)所示，帧间隔为2时初始速度方向估计最优，帧间隔为3时初始速度大小估计最优。我们在主论文中呈现的结果采用了帧间隔为2的设置。

### 计算成本

表11展示了不同骨干网络对应的初始化与测试时优化成本。我们使用的硬件为消费级NVIDIA RTX 5090 GPU。需注意，部分模型（↑）为了适配内存限制采用了梯度检查点技术，这会增加消费级硬件上的计算成本。我们还针对最轻量的模型VGGT-Ω，展示了微调能力的影响：未冻结的模块越多（即微调能力越强），整体处理时间越长，内存消耗也越高。我们发现8是一个兼顾优化能力（见旋转列数据）与计算时间和内存需求的平衡点，这也是选择$n = 8$上下文帧数量时的依据。

---

![Image](images/0f7b02013864cc28feb8531ffd3ff4aab8b3d9d45e0393f1c37795115afc834f.jpg)

![Image](images/aed3aa8d17dc730b698891fa287caf672917f62cf78b0423581fdcc45924b34d.jpg)

![Image](images/8cb1a3112ff01561ebba122082b7c46823ea12d79e64f4db909827bd9c954957.jpg)

<div style="text-align: center;">Figure 5. Frame-stride (parallax) effect absolute and relative poses, and initial velocity estimation.</div>

<div style="text-align: center;">Table 10. TTR: supervision objective ablation. Results shown for VGGT, on EuRoC, using GT-free init (VI3). Adding our self-supervised depth-consistency term to the pose loss improves trajectory refinement and metric depth; anchoring then fixes the metric-depth drift the consistency term alone erodes.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Loss</td><td style='text-align: center; word-wrap: break-word;'>Trans (m) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>Rot ( $^{\circ}$) $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>Scale (Traj.) $\rightarrow$1</td><td style='text-align: center; word-wrap: break-word;'>AbsRel $\downarrow$</td><td style='text-align: center; word-wrap: break-word;'>$\delta < 1.25$ $\uparrow$</td><td style='text-align: center; word-wrap: break-word;'>Scale (Depth) $\rightarrow$1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pose-only</td><td style='text-align: center; word-wrap: break-word;'>0.078</td><td style='text-align: center; word-wrap: break-word;'>0.441</td><td style='text-align: center; word-wrap: break-word;'>0.983</td><td style='text-align: center; word-wrap: break-word;'>0.240</td><td style='text-align: center; word-wrap: break-word;'>0.275</td><td style='text-align: center; word-wrap: break-word;'>0.994</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>+ SSL dcons</td><td style='text-align: center; word-wrap: break-word;'>0.063</td><td style='text-align: center; word-wrap: break-word;'>0.334</td><td style='text-align: center; word-wrap: break-word;'>0.981</td><td style='text-align: center; word-wrap: break-word;'>0.242</td><td style='text-align: center; word-wrap: break-word;'>0.246</td><td style='text-align: center; word-wrap: break-word;'>0.917</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>+ Anchoring</td><td style='text-align: center; word-wrap: break-word;'>0.062</td><td style='text-align: center; word-wrap: break-word;'>0.290</td><td style='text-align: center; word-wrap: break-word;'>0.988</td><td style='text-align: center; word-wrap: break-word;'>0.234</td><td style='text-align: center; word-wrap: break-word;'>0.324</td><td style='text-align: center; word-wrap: break-word;'>1.003</td></tr></table>

8是本研究所用部分模型能够适配内存的上限。

#### B. 额外的定性结果

我们展示了更多定性结果的示例。图6和图7对应我们在TartanAirV2中评估的四种合成环境（ForestEnv、ModernCityDowntown、Hospital和House）。图8展示了一个额外的Vicon Room 2重建结果，该场景包含中等程度的运动以及各种物体；图9则显示了VI3如何从尺度过大的基于度量的预训练基线模型中恢复过来，即便UZH-FPV Indoor Forward场景存在高速运动情况。

#### C. 局限性

我们的方法提供了一种无需真实数据即可将惯性线索添加到预训练3DFM中的途径。我们已经证明，VI3能够在不同骨干网络和数据集上稳健地恢复度量运动和几何信息。不过，它仍受限于视觉-惯性线索无法观测到的内容。只有当运动产生足够的平移视差时，才能恢复度量尺度；这属于根本的可观测性限制，而非估计失误。不同模型在此情况下的性能退化程度也有所差异，因为估计结果是基于它们预测的帧间速度得出的。

表11. 在单张NVIDIA RTX 5090上进行的测试时优化成本，$(n = 8$，步长为2）。Init表示一次性的无需真实数据的初始化过程，其中不包括模型权重加载时间，因为该时间会在多个窗口中分摊。ms / iteration表示每次迭代的平均耗时。Total表示达到160次迭代的收敛状态所需的时间，即Init + 160 × $\times$（ms / iteration）。初始化过程几乎不耗费时间（$\sim$为230毫秒），且与模型无关；主要成本来自优化步骤。${}^{\dagger}$采用了梯度检查点技术以支持n=8个样本的处理，通过重新计算来换取内存占用方面的优势（这反映在每次迭代的成本中）。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="4">Initialization and optimization steps</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>Init</td><td style='text-align: center; word-wrap: break-word;'>ms / iteration</td><td style='text-align: center; word-wrap: break-word;'>Total (160 it.)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>232 ms</td><td style='text-align: center; word-wrap: break-word;'>706</td><td style='text-align: center; word-wrap: break-word;'>113 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VGGT- $\Omega$</td><td style='text-align: center; word-wrap: break-word;'>232 ms</td><td style='text-align: center; word-wrap: break-word;'>302</td><td style='text-align: center; word-wrap: break-word;'>48 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\pi^{3}$</td><td style='text-align: center; word-wrap: break-word;'>232 ms</td><td style='text-align: center; word-wrap: break-word;'>492</td><td style='text-align: center; word-wrap: break-word;'>79 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pi3X $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>232 ms</td><td style='text-align: center; word-wrap: break-word;'>739</td><td style='text-align: center; word-wrap: break-word;'>118 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DA3 $^{\dagger}$</td><td style='text-align: center; word-wrap: break-word;'>232 ms</td><td style='text-align: center; word-wrap: break-word;'>802</td><td style='text-align: center; word-wrap: break-word;'>128 s</td></tr></table>

<div style="text-align: center;">Number of trainable blocks (VGGT- $\Omega$)</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Blocks</td><td style='text-align: center; word-wrap: break-word;'>Rot. ( $^{\circ}$)</td><td style='text-align: center; word-wrap: break-word;'>ms / iteration</td><td style='text-align: center; word-wrap: break-word;'>Total (160 it.)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0.315</td><td style='text-align: center; word-wrap: break-word;'>255</td><td style='text-align: center; word-wrap: break-word;'>41 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>0.291</td><td style='text-align: center; word-wrap: break-word;'>274</td><td style='text-align: center; word-wrap: break-word;'>44 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8</td><td style='text-align: center; word-wrap: break-word;'>0.228</td><td style='text-align: center; word-wrap: break-word;'>302</td><td style='text-align: center; word-wrap: break-word;'>48 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>16</td><td style='text-align: center; word-wrap: break-word;'>0.206</td><td style='text-align: center; word-wrap: break-word;'>381</td><td style='text-align: center; word-wrap: break-word;'>61 s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>24 (Full)</td><td style='text-align: center; word-wrap: break-word;'>0.234</td><td style='text-align: center; word-wrap: break-word;'>421</td><td style='text-align: center; word-wrap: break-word;'>67 s</td></tr></table>

---

![Image](images/10eb8e3a308ecc164def6288d7a699d07d23ed1998e2479082a5a12c25972ade.jpg)

![Image](images/e521ef8192df1ac3f6971e093d53ba993c643f3ac26f2716a0b8f4bc86f2ff36.jpg)

![Image](images/6465c11cc88bd842f720fbf41fa208754705fd8e0a81a3d1d07557f080dadda5.jpg)

![Image](images/e571c51cea6025e5601d8d3c9c3460646c985bfbb0c76896e073b9abc7db3547.jpg)

<div style="text-align: center;">Figure 6. TartanAirV2 qualitative results: ForestEnv and House environments. Pretrained 3DFM (red); inertial trajectory (blue); VI3 (green); GT pointcloud (normal texture).</div>

![Image](images/5b82fef33f90dfcd6cfa1552c6e7b4ef1084eb0a0ba482c6a75aef88a6df1f5b.jpg)

![Image](images/5c72339d226ac534e9959697e6553c181f5012b0e663595a8a1f7385b2642b6d.jpg)

![Image](images/2d74983a6f652f5991305ba229e44ea5861aa308ff41218217c82c8c6d42d20d.jpg)

![Image](images/32ef558fdfaa7fa28d8acfec6e339dc3a420a22ddc63997cde5a81b829d7abbd.jpg)

<div style="text-align: center;">Figure 7. TartanAirV2 qualitative results: ModernCityDowntown and Hospital environments. Pretrained 3DFM (red); inertial trajectory (blue); VI3 (green); GT pointcloud (normal texture).</div>

---

![Image](images/7946a716fe3da78698ce8716071271aab357218afe7a09bf83bdcf83832ef370.jpg)

<div style="text-align: center;">Figure 8. EuRoC qualitative results: Vicon Room 2 scene. Pretrained 3DFM (red); inertial trajectory (blue); VI3 (green); GT pointcloud (normal texture).</div>

![Image](images/26aee78a1dbcb30d3ab1f369512e243517f7c16d8087653672c1a4f1da59827d.jpg)

<div style="text-align: center;">Figure 9. UZH-FPV qualitative results: Indoor Forward scene. Pretrained 3DFM (red); inertial trajectory (blue); VI3 (green); GT pointcloud (normal texture), stereo-derived (noisy).</div>
