TL;DR
本文巧妙地提出了一种“运动解耦”机制,通过一个学习的 3D Tracker 将动态物体的自身运动从观测运动中剥离,使得经典的 Bundle Adjustment 能够首次被统一地应用于含动态物体的场景中,极大地提升了动态场景重建中的相机位姿精度和三维重建质量。
1 研究动机 (Motivation)
1.1 背景 (Background)
从 casual video 中进行动态场景重建,对于 AR、机器人等应用至关重要。传统的 SLAM 和 SfM 方法依赖于经典的 Bundle Adjustment (BA),在静态场景中表现优异,能够实现高精度的相机位姿和场景几何恢复。
1.2 现有方法的局限性 (Gap/Limitations of Existing Work)
做着指出现有方法的“无人区”:
- 经典方法的失效:传统 BA 和 SLAM 系统强依赖于静态世界假设(即 epipolar constraint),而动态物体完全破坏了这个假设,导致这些方法在动态场景中会失效或产生严重错误。
- ”删除“策略的缺陷:一些方法通过检测并过滤掉动态区域来保证 BA 的运行。但这会严重导致重建结果不完整,丢失了所有动态物体的几何信息,这在很多应用场景中是不可接受的。
- “独立建模”策略的困难:另一些方法尝试为动态物体建立独立的运动模型,但这通常很复杂,并且容易导致运动估计不一致的问题。
- “深度先验”策略的瓶颈:最近的工作利用了单目深度估计作为先验,但这些深度图在时序上往往存在不一致(inconsistent),尤其是尺度(scale)不一致,导致将它们融合成全局一致的三维模型非常困难。
1.3 本文价值 (Value Proposition)
这篇论文的价值主张极具颠覆性——我们不必再“绕着走”了。作者没有选择删除动态点或为其建立复杂的模型,而是提出了一个全新的思路:我们是否可以将动态点的运动“中和”掉,让 BA 认为它们也是“静态”的?这使得强大而成熟的 BA 优化框架得以重返(Back on Track)动态场景重建的核心舞台。
2. 解决的关键问题与贡献 (Key Problem Solved & Contribution)
2.1 解决的关键技术问题
如何改造输入信息,使得经典且强大的 Bundle Adjustment 优化框架能够直接、统一地处理包含大量动态物体的场景,从而在不丢弃动态信息的前提下,同时实现高精度的相机位姿和时序一致的密集场景重建?
2.2 核心贡献
- 核心思想:运动解耦(Motion Decoupling):这是本文的灵魂。作者提出,任何一个点的观测运动(total motion)都可以被分解为相机运动引发的静态分量(static component)和物体自身运动引发的动态分量(dynamic component)。通过只把这个“静态分量”喂给 BA,BA 就可以像处理静态点一样处理动态点,从而统一了整个优化过程。
- 双追踪器架构(Dual-Tracker Architecture):为了准确地实现运动解耦,做着设计了一个由两个 Transformer 追踪器组成的 Front-end。一个追踪器
$T$
负责预测总运动$\mathbf{X}_{\text{total}}$
,另一个更小更高效的追踪器${T}_{\text{dyn}}$
专门预测动态分量$\mathbf{X}_{\text{dyn}}$
。这个设计在实验中被证明优于单一追踪器直接预测静态分量的方案。 - 统一框架 BA-Track:提出了一个由三个阶段组成的完整 pipeline:
- Stage 1: 基于学习的运动解耦 3D 追踪器,分离出运动的静态分量。
- Stage 2: 经典的 Bundle Adjustment,利用静态运动分量稳健地估计相机位姿和稀疏场景结构。
- Stage 3: 轻量级的全局优化,利用 BA 得到的稀疏精确点来优化初始的密集深度图,得到全局一致的密集重建。
3. 方法详述 (Method)

Fig. 1. BA-Track Framework
3.1 Stage I: 运动解耦的3D追踪器 (Motion-Decoupled 3D Tracker)
这一阶段是整个框架的基石。它的核心目标不是简单地追踪点,而是要从任何一个点的总观测运动中,精准地分离出纯粹由相机运动引起的静态分量(static component)。
这个思想在图 2 中非常直观的展示了,对于一个动态物体上的点,我们观测到的总运动 $\mathbf{X}_{\text{total}}$
(蓝色向量),实际上是相机自身运动 $\mathbf{X}_{\text{static}}$
(橙色向量)和物体自身运动 $\mathbf{X}_{\text{dyn}}$
(紫色向量)的叠加。

Fig. 2. Illustration of motion decoupling
为了实现这个解耦,作者设计了一个巧妙的 Front-end:
- 双追踪器架构 (Dual-Tracker Architecture): 作者没有用一个网络去硬解这个难题,而是用了两个基于 Transformer 的追踪器。
- 主追踪器
$T$
: 负责预测点的总观测运动$\mathbf{X}_{\text{total}}$
,同时还预测该点的可见性$v$
和一个动态标签$m$
(一个0到1之间的软标签,表示该点属于动态物体的概率)。 - 动态追踪器
$T_{\text{dyn}}$
: 这是一个更小、更高效的网络(层数是$T$
的一半),专门负责预测物体自身的动态运动分量$\mathbf{X}_{\text{dyn}}$
。 - 为什么用两个?论文在消融实验中证明,让一个网络同时学习追踪和理解复杂的运动模式是次优的。通过将任务分解给两个网络,每个网络可以更专注,从而实现更准确的解耦。
- 主追踪器
- 运动解耦公式:
- 如果一个点是静态的(
$m$
趋近于0),那么$\mathbf{X}_{\text{static}}$
就约等于$\mathbf{X}_{\text{total}}$
,这符合事实。 - 如果一个点是动态的(
$m$
趋近于1),那么它的静态分量$\mathbf{X}_{\text{static}}$
就是其总运动减去物体自身运动。这样一来,即使是动态物体上的点,其$\mathbf{X}_{\text{static}}$
也只反映了相机的运动,使得它在 BA 看来和一个静态点是等价的。
3.2 Stage II: Bundle Adjustment (BA)
利用第一阶段“净化”后的运动信息 $\mathbf{X}_{\text{static}}$
,运行一个鲁棒的 BA,以高精度地恢复相机位姿和场景的稀疏三维结构。
BA 是一个经典的优化问题,通过最小化重投影误差来同时优化相机参数和三维点坐标。本作的关键在于,它将 BA 的输入进行了“改造”。
- “BA友好”的输入: BA 处理的不再是原始的、带有动态噪声的观测点,而是 Front-end 输出的运动静态分量
$\mathbf{X}_{\text{static}}$
。这使得经典的BA框架几乎无需修改就可以直接应用于动态场景,因为动态物体的“干扰”已经在输入端被消除了。 - 优化目标: $$\argmin_{{\mathbf{T}_t},{\mathbf{Y}}} \sum_{|i-j|\leq S} \sum_n W^i_n(j) | \mathcal{P}_j(\mathbf{x}^i_n, y^i_n) - X^t_n(j) |_\rho + \alpha | y^i_n - d(\mathbf{X}^i_n) |^2 \tag{2}$$
- 优化变量: 所有帧的相机位姿
$\{\mathbf{T}_t\}$
和所有稀疏查询点的精确深度$\{\mathbf{Y}\}$
。 - 第一项:重投影误差:
$\mathcal{P}_j$
是标准的投影函数,它将第$i$
帧的点$\mathbf{x}^i_n$
根据当前的相机位姿估计$\{\mathbf{T}_t\}$
投影到第$j$
帧。误差是这个投影点与 Front-end 输出的追踪点$X^i_n(j)$
之间的距离。 - 第二项:深度一致性: 这是一个正则项,它鼓励优化后的深度
$y_n^i$
不要偏离初始的深度先验$d(\mathbf{X}^i_n)$
太远,由超参数$\alpha$
控制权重。 - 权重
$W$
: 权重$W_n^i(j)$
包含了可见性$v$
和动态标签$m$
的信息,形式为$v \cdot (1-m)$
。这意味着,在优化位姿时,BA 会更相信那些可见且被判断为静态的点,从而进一步提升了相机位姿估计的鲁棒性。
- 优化变量: 所有帧的相机位姿
3.3 Stage III: 全局优化 (Global Refinement)
BA 只输出了精确的相机位姿和稀疏的三维点。而初始的深度图是密集但可能不准确且时序不一致的。此阶段的目标就是利用 BA 输出的精确稀疏点,来对齐和优化整个视频的密集深度图,得到全局一致的密集重建结果。
作者没有直接对密集的深度图进行复杂变形,而是采用了一种更高效的 scale map 方法。
- 可变形的 scale map: 对每一帧,模型学习一个比原图分辨率低的 2D scale map
$\theta_t$
- 深度优化公式: 最终的优化后深度由一个简单的乘法得到
$$
\hat{D}_t[\mathbf{x}] = \theta_t[\mathbf{x}]\cdot D_t[\mathbf{x}]
$$
其中
$D_t[\mathbf{x}]$
是初始深度,$\theta_t[\mathbf{x}]$
是从低分辨率 scale map 中通过双线性插值得到的缩放因子。这意味着整个优化过程是学习一个平滑的、空间可变的缩放场来校正初始深度。 - 两个核心损失函数:
- $\mathcal{L}_\text{depth}$: 深度一致性损失。它强制要求,在稀疏点的那些位置上,优化后的密集深度
$\hat{D}_t$
应该要等于 BA 阶段得到的精确稀疏深度。这相当于用精确的稀疏点作为“锚点”来校准整个密集深度场。 - $\mathcal{L}_\text{rigid}$: 场景刚性损失,它要求场景中静态部分的任意两点之间的三维距离,在不同帧之间应该保持不变。这个损失通过一个权重
$W_\text{static}$
来确保只对静态点生效,从而防止了静态背景在优化过程中发生不应有的形变。
- $\mathcal{L}_\text{depth}$: 深度一致性损失。它强制要求,在稀疏点的那些位置上,优化后的密集深度
通过这三个阶段的紧密协作,BA-Track 成功地将经典 BA 的强大优化能力引入到充满挑战的动态世界中,实现了非常出色的效果。
4. 实验分析 (Experiments)
4.1 Camera Pose Estimation

Tab. 1. Camera pose evaluation results on Sintel, Shibuya, and Epic Fields datasets

Fig. 3. Qualitative camera pose estimation results on Sintel, Shibuya, and Epic Fields datasets
如图 3 所示,直观展示了 BA-Track 相机轨迹相比其他方法更平滑、更接近 ground truth,而其他方法在这些场景下往往表现不佳。在具有快速动态内容和复杂相机运动的 Epic Fields 数据集上,BA-Track 仍能保持出色的 VO accuracy。
4.2 Depth Evaluation

Tab. 2. Depth evaluation results on Sintel, Shibuya, and Bonn datasets
基于尺度地图的优化方法在参数较少的情况下实现了高效的优化,同时保持了相对简单的结构。
4.3 Motion Decoupling

Fig. 4. Motion decoupling on the DAVIS dataset
图 4 展示了在 DAVIS 数据集上观测到的点运动与静态点运动情况。红色点表示动态轨迹,绿色点代表静态点,突显了三维追踪器分离观测运动中动态成分的能力。
4.4 Ablation Study
4.4.1 Dual-Tracker Architecture

Tab. 3. Ablation study of dynamic handling methods on Sintel
4.4.2 Global Refinement

Tab. 4. Ablation study on depth refinement on Bonn crowd2 sequence
分别尝试关闭 $\mathcal{L}_\text{depth}$
和 $\mathcal{L}_\text{rigid}$
进行联合关闭与交替关闭的实验。完全移除两项损失函数会导致重建精度下降。

Fig. 5. Visualization of global refinement on the DAVIS
图 5 展示了采用与不采用我们深度优化方法进行重建的两种直观对比。直接将单目深度图与估计的相机位姿融合,会导致重建结果不一致,并出现重复的三维结构,而我们的全局优化显著提升了三维一致性。
5. 批判性思考 (Critical Analysis & Personal Thoughts)
5.1 优点 (Strengths)
- 思想极其优雅 (Conceptual Elegance): 本文的核心 idea 非常漂亮。它没有去硬碰硬地为动态物体建模,而是通过“运动解耦”四两拨千斤,让经典的 BA 工具重获新生。这种解决问题的思路本身就极具启发性,是顶会 Oral 的典范。
- 效果非常扎实: 不仅提出了新颖的理论,更在多个高难度动态场景基准上取得了 SOTA 的性能,用实验结果充分证明了想法的有效性。
- 完美的混合系统: 它是“传统几何优化”与“深度学习感知”成功结合的又一力作。用学习的追踪器来做它擅长的事(提供鲁棒的对应和运动先验),用经典的 BA 来做它擅长的事(高精度、有几何约束的优化),强强联合。
5.2 潜在缺点/疑问 (Weaknesses/Questions)
- 对深度先验的依赖: 整个 pipeline 的起点是第三方的单目深度估计网络。如果初始深度质量很差(例如在透明、反光物体上),可能会影响第一阶段运动解耦的准确性,进而误差会传导至后续的 BA 和全局优化。
- 运动解耦的鲁棒性: 核心公式
$\mathbf{X}_\text{static} = \mathbf{X}_\text{total} - m \cdot \mathbf{X}_\text{dyn}$
的成败,高度依赖于动态标签$m$
和动态运动$\mathbf{X}_\text{dyn}$
的预测精度。当动态和静态界限模糊,或物体运动模式罕见时,Front-end 的预测错误可能会对最终结果产生较大影响。 - 对相机内参的假设: 论文中假设相机内参是已知的 。虽然作者在附录中讨论了未来可以联合优化内参,但这在当前版本中仍是一个限制。