FoundationStereo: 将零样本泛化引入立体深度估计
在计算机视觉的快速演变中,我们见证了“基础模型” (Foundation Models) 彻底改变了机器理解图像的方式。像 Segment Anything (SAM) 或 DepthAnything 这样的模型展示了令人难以置信的泛化能力: 它们可以在从未见过的图像上执行任务,而无需特定的微调。
然而,计算机视觉的一个角落在这场零样本革命中落后了: 立体匹配 (Stereo Matching) 。
立体匹配——通过比较从略微不同的视点拍摄的两张图像来估计深度的过程——历史上一直依赖于在特定数据集上训练深度网络。在驾驶场景 (如 KITTI) 上训练的模型通常在室内场景 (如 Middlebury) 测试时会失败。这是一个典型的领域过拟合案例。
于是, FoundationStereo 应运而生。在 NVIDIA 研究人员最近的一篇论文中,提出了一种新的架构和训练流程来弥补这一差距。该模型实现了强大的零样本泛化,这意味着它在“野外” (in-the-wild) 图像上表现出色,而无需针对它们进行重新训练。
在本文中,我们将解构 FoundationStereo。我们将探讨它如何利用合成数据,如何适配单目基础模型,以及使其能够扩展的新颖架构选择。

问题: 泛化差距
传统的深度立体网络通过寻找左右图像之间的对应像素来工作。如果左图中的像素 \(A\) 对应于右图中的像素 \(B\),它们之间的水平距离就是视差 (disparity) 。 深度与此视差成反比。
挑战在于模糊性。无纹理的墙壁、反光表面 (镜子、玻璃) 和细微结构 (电线、栅栏) 使得算法难以找到正确的对应关系。
为了解决这个问题,现代网络使用代价体 (Cost Volumes) ——表示不同视差水平下像素间相似性的 3D 表示。虽然有效,但这些网络通常需要在目标环境上进行微调,以学习该环境的特定统计分布。
FoundationStereo 旨在打破这一循环。目标是什么?一个你可以下载并立即在机器人、无人机或手持相机上运行的模型,无论是在室内、室外、水下还是太空中,都能获得最先进的结果。
解决方案概览
FoundationStereo 通过三大支柱实现其性能:
- 可扩展数据: 具有自筛选流程的大规模合成数据集。
- 单目先验: 整合来自预训练“DepthAnything”模型的知识。
- 先进架构: 一种使用“轴向-平面” (Axial-Planar) 卷积和 Transformer 处理代价体的新方法。
让我们在深入细节之前先看看高层架构。

如上所示,系统将立体图像对作为输入。它通过侧调适配器 (Side-Tuning Adapter, STA) 处理这些图像以提取特征,构建混合代价体 (Hybrid Cost Volume) , 使用注意力混合代价过滤 (Attentive Hybrid Cost Filtering, AHCF) 模块对其进行过滤,最后使用循环神经网络 (GRU) 细化结果。
核心方法: 注入世界知识
这篇论文最明智的举措之一是意识到我们不需要从头开始学习“世界是什么样子的”。我们已经拥有理解物体、形状和深度的视觉基础模型。
1. 侧调适配器 (STA)
纯立体网络通常在视觉数据模糊时 (例如白墙) 表现挣扎。然而,人类知道墙是平坦且连续的,即使没有纹理。这就是语义和单目先验知识。
FoundationStereo 通过使用 DepthAnythingV2 来整合这些知识,这是一个在互联网规模数据上训练用于单目 (单图像) 深度估计的模型。
然而,仅仅插入一个冻结的 ViT (视觉 Transformer) 是不够的。研究人员使用了一种称为侧调 (Side-Tuning) 的技术。
- 他们保持巨大的 DepthAnythingV2 模型冻结 (权重不变) 。
- 他们在旁边运行一个轻量级的 CNN (EdgeNeXt)。
- 他们将来自冻结模型的丰富语义特征与来自 CNN 的高频细节特征混合。
这种方法赋予了立体网络对场景的“常识”理解 (来自基础模型) ,同时保留了像素匹配所需的精度 (来自 CNN) 。
2. 注意力混合代价过滤 (AHCF)
提取特征后,网络构建一个代价体 (Cost Volume) 。 这是一个 4D 张量 (Batch \(\times\) Channels \(\times\) Disparity \(\times\) Height \(\times\) Width) ,表示每个像素在每个可能的深度上的匹配代价。
研究人员引入了一个混合体,结合了两种类型的信息:
- 分组相关性 (Group-wise Correlation) : 特征在数学上有多相似?
- 拼接 (Concatenation) : 在体积内保留原始语义特征。
其构建过程定义如下:

这里,\(V_{gwc}\) 捕捉相似性,而 \(V_{cat}\) 保留来自 STA 模块的丰富上下文。
3D CNN 的瓶颈
传统上,网络使用 3D 卷积来处理这个体积。问题在于?3D 卷积非常消耗内存。这限制了分辨率和可以搜索的视差级别数量,实际上设定了性能上限。
为了解决这个问题,FoundationStereo 用两项创新取代了标准的 3D 卷积:
A. 轴向-平面卷积 (APC) 他们没有使用繁重的 \(3 \times 3 \times 3\) 卷积,而是将其解耦为两个更轻的操作:
- 作用于图像平面 (H, W) 的空间卷积 (\(K_s \times K_s \times 1\))。
- 作用于深度维度 (D) 的视差卷积 (\(1 \times 1 \times K_d\))。
这大大减少了参数数量和内存使用,允许模型处理更大的视差范围 (卷积核中可达 17 个像素,而通常为 3 个) 。
B. 视差 Transformer (DT) 卷积网络是“局部”的——它们只看相邻的像素。有时,为了解决深度模糊,你需要看整个画面 (全局上下文) 。
作者引入了一个仅沿视差维度运行的 Transformer 块。它使用注意力机制全局推理每个像素的深度概率分布。

通过在视差 token 上应用自注意力 (通过 FlashAttention 高效实现) ,网络可以比单纯的 CNN 更有效地推理复杂场景,例如透明物体或遮挡。

3. 迭代细化
过滤代价体后,网络使用 Soft-Argmin 操作预测初始视差图:

这个初始猜测不错,但并不完美。为了获得清晰的边缘和亚像素精度,模型使用了循环神经网络 (具体来说是 ConvGRU) 。这类似于艺术家先画出粗略轮廓,然后逐步细化细节。
经过多次迭代 (\(k\)),GRU 通过从代价体中查找特征并检查左右图像的对齐程度来更新视差预测 (\(d_k\))。

模型的训练使用了一个损失函数,确保视差在每一步迭代中都更接近真实值 (\(\bar{d}\)):

可视化影响
这种复杂的架构真的有帮助吗?下图展示了区别。“W/o STA”显示模型在黑暗无纹理的灯上失败了。有了 STA (侧调适配器) ,模型“知道”那是一盏灯并正确填充了深度。同样,AHCF 模块解决了令标准 3D CNN 困惑的细微重复结构。

引擎: 合成数据与自筛选
你不能在小数据集上训练“基础”模型。具有完美真实值的现实世界立体数据极其稀缺 (激光雷达稀疏,结构光范围有限) 。
研究人员使用 NVIDIA Omniverse 生成了一个名为 FoundationStereo Dataset (FSD) 的大规模合成数据集。它包含 100 万对立体图像——远大于 Scene Flow (之前的标准) 。
然而,合成数据并不完美。随机生成的场景可能会产生“不可能”或模糊的立体对 (例如,相机在实心物体内部,或极端眩光) 。为了解决这个问题,他们开发了一个迭代自筛选 (Iterative Self-Curation) 流程。

- 在初始数据集上训练一个模型。
- 在数据集本身上运行该模型。
- 如果模型在某个训练样本上具有极高的误差 (预测糟糕) ,则该样本可能是模糊或有缺陷的。
- 删除这些样本并重新生成新样本。
这个“清洗”过程显著提高了训练期间的梯度质量。该数据集包含各种场景,从工业仓库到随机飞行物体,涵盖了广泛的光照条件和纹理。

实验与结果
FoundationStereo 与竞争对手相比如何?
野外泛化
主要目标是零样本性能。研究人员将他们的模型与其他最先进的模型 (如 IGEV 和 RAFT-Stereo) 进行了比较。重要的是,对于此特定测试,FoundationStereo 并未在目标数据集上进行训练。

如上图所示,FoundationStereo (最右列) 生成的视差图明显更清晰。它处理了:
- 反射: 注意第二行的地板。
- 细微结构: 第一行的机械臂。
- 无纹理区域: 第三行的墙壁。
透明物体上的性能
透明物体是立体匹配的“终极 BOSS”,因为光线穿过它们,混淆了对应算法。得益于单目先验 (识别物体形状) 和 Transformer 的全局推理,FoundationStereo 在这方面表现出色。

基准排行榜
当模型经过微调 (在特定领域数据上再训练一点) 后,它在排行榜上占据主导地位。在论文发布时,FoundationStereo 在 ETH3D 和 Middlebury 基准测试中均排名 第一 , 这是该领域最受尊敬的两个标准。


消融研究
作者进行了严格的测试以证明每个组件都很重要。
表 1: 侧调 (STA) 的威力 与其他集成策略或不同地冻结/解冻视觉 Transformer 相比,使用“侧调”方法 (方法 c) 产生的误差最低 (BP-2 得分为 1.97) 。

表 2: 代价过滤 (AHCF) 结合视差 Transformer (DT) 和轴向-平面卷积 (APC) 提供了最佳结果。请注意,增加视差卷积的核大小 (最后几行) 显着提高了性能,证明查看更广泛的视差范围至关重要。

表 3: 组件贡献 此汇总表显示了累积效益。添加 STA 降低了误差。添加 AHCF 进一步降低了误差。最后,在海量 FSD 数据集上进行训练提供了达到最先进水平所需的最终提升。

此外,数据的自筛选也很重要。删除“坏”的合成样本将错误率从 1.27 降低到 1.15。

结论与启示
FoundationStereo 代表了一个重要的里程碑。它成功地将“基础模型”范式引入了立体匹配。通过结合大规模单目模型的“常识”与立体几何的数学精度——并利用高质量合成数据对其进行扩展——我们终于拥有了一个可以泛化的立体系统。
关键要点:
- 不要从头开始学习: 从像 DepthAnythingV2 这样的模型适配先验知识比从零开始训练立体骨干网络更有效。
- 架构很重要: 标准的 3D CNN 是瓶颈。轴向-平面卷积和视差 Transformer 允许可扩展的全局上下文推理。
- 数据质量为王: 生成数百万张合成图像很好,但自主清洗这些数据 (自筛选) 才是使其卓越的关键。
虽然该模型计算量大 (目前使得在边缘设备上进行实时应用具有挑战性) ,但它为准确性设定了新标准。未来的工作可能会集中在将这种巨大的能力提炼成更轻、更快的网络,将人类水平的深度感知带给各地的机器人和设备。
](https://deep-paper.org/en/paper/2501.09898/images/cover.png)