FoundationStereo
FoundationStereo
NVIDIA 2025
摘要(有本事别微调刷榜,我就是要做zero-shot)
通过每个域的微调,深度立体匹配在基准数据集上取得了巨大进步。然而,实现强大的零镜头泛化(其他计算机视觉任务中基础模型的标志)对于立体匹配来说仍然具有挑战性。为此,我们首先构建了一个大规模(1M 立体对)合成训练数据集,具有较大的多样性和高照片级真实感,然后是一个自动自我管理管道来去除模棱两可的样本。然后,我们设计了许多网络架构组件来增强可扩展性,包括一个侧调功能主干,它适应了视觉基础模型中丰富的单目先验,以减轻 sim-to-real 的差距,以及用于有效成本量过滤的远程上下文推理。
引言
近半个世纪前第一个立体匹配算法出现,我们已经走过了漫长的道路。,最近的立体算法可以取得惊人的结果,几乎使最具挑战性的基准测试饱和。然而,对目标域的数据集进行微调仍然是获得竞争结果的首选方法。鉴于通过scaling law在计算机视觉中的其他问题上表现出的零样本泛化能力,是什么阻止了立体匹配算法实现类似的泛化水平?要么是由于网络架构中的结构不足,要么是由于训练数据贫乏,或者两者兼而有之。这些网络通常在 Scene Flow [43] 上进行实验,这是一个相当小的数据集,只有 40K 个带注释的训练图像对。因此,这些方法都不能用作现成的解决方案,而不是在其他任务中出现的视觉基础模型的强大泛化性。
提出了 FoundationStereo,这是一个用于立体深度估计的大型基础模型,无需逐域微调即可实现强大的零镜头泛化。
- 创建了一个大规模 (1M) 高保真合成数据集,用于立体学习,具有高多样性和照片级真实感;以及一个自我管理管道,以确保删除不良样本。开发了一个自动自我管理管道,以消除在域随机数据生成过程中不可避免地引入的模棱两可的样本,从而提高数据集质量和迭代更新的模型鲁棒性。
- 提出了 FoundationStereo,这是一种零镜头可推广的立体匹配模型,与之前在目标域上微调的工作相比,它取得了相当甚至更有利的结果;当应用于野生数据时,它还明显优于现有方法。
- 为了利用包含丰富语义和几何先验的互联网规模知识,我们提出了一种侧调谐适配器 (STA),它将基于 ViT 的单眼深度估计模型 [79] 适应立体设置。
- 我们开发了 Attentive Hybrid Cost Filtering (AHCF),其中包括一个带有 3D AxialPlanar Convolution (APC) 的沙漏模块以及一个 Disparity Transformer (DT) 模块,该模块在视差维度上执行完全的自我关注。
性能
评估的数据集
- Scene Flow [43]:合成数据集,包括 FlyingThings3D、Driving 和 Monkaa 三个子集。
- Middlebury [51]:室内立体图像对,通过结构光获取高质量地面真实视差。除非另有说明,评估在半分辨率和非遮挡区域进行。
- ETH3D [52]:提供涵盖室内外场景的灰度立体图像对。
- KITTI 2012 [20] 和 KITTI 2015 [45]:真实驾驶场景数据集,提供由激光雷达传感器获得的稀疏地面真实视差图。
指标:
- EPE:计算平均每像素视差误差。
- BP-X:计算视差误差大于 X 像素的像素百分比。
- D1:计算视差误差大于 3 像素且超过地面真实视差 5% 的像素百分比。
零样本泛化能力比较
仅在 Scene Flow 上训练,我们的方法在所有数据集上均持续优于对比方法,Middlebury ,ETH3D ,KITTI 2012 和 KITTI 2015
野外泛化能力
没写结果,只有定型展示,看起来缺失吊
领域内比较(就是微调之后的)
| Scene Flow | FoundationStereo 显著优于对比方法,将先前最佳 EPE 从 0.41 降至 0.33。尽管本工作不聚焦领域内训练,结果仍反映了模型设计的有效性。 | |
| ETH3D | 在默认训练数据集(4.1节)和ETH3D训练集的混合数据上对基础模型进行额外5万步微调,使用相同的学习率计划和数据增强。我们的模型显著超越先前最佳方法,误差率降低超50%,提交时在排行榜位列第1名。 我们的微调模型在 ETH3D 排行榜上排名第一,明显优于已发表和未发表的作品。 |
|
| Middlebury | 我们的微调模型在 Middlebury 排行榜上排名第一,明显优于已发表和未发表的作品。 | |
| KITTI 2015 | ||
| KITTI 2012 | ||
| Translucent Objects | 是一个由镜面和透明物体组成的具有挑战性的数据集。超过了IGEV | |
相关工作里提到了数据集
立体匹配训练数据。训练数据对于深度学习模型至关重要。KITTI 12 [20] 和 KITTI 15 [45] 提供了数百个驾驶场景训练对。DrivingStereo [76] 进一步扩展到 180K 立体声对。然而,LiDAR 传感器获得的稀疏真实值差异阻碍了学习准确和密集的立体匹配。Middlebury [51] 和 ETH3D [52] 开发了少量的训练数据,涵盖驾驶以外的室内和室外场景。Booster [48] 提供了一个专注于透明物体的真实数据集。InStereo2K [2] 提供了一个更大的训练数据集,该数据集由 2K 立体对组成,具有更密集的地面实况视差,使用结构光系统获得。然而,数据量稀缺、地面实况差异不完美以及现实世界中缺乏收集可扩展性等挑战推动了合成数据在训练中的广泛采用。这包括sceneFlow [43]、Sintel [6]、CREStereo [34]、IRS [64]、TartanAir [66]、FallingThings [61]、Virtual KITTI 2 [7]、CARLA HR-VS [75]、namic Replica [28]。在表 1 中,我们将我们提出的 FoundationStereo 数据集 (FSD, FoundationStereo dataset) 与常用的合成训练数据集进行了比较
相关工作里提到了Vision Foundation Models
视觉基础模型在 2D、3D 和多模态对齐的各种视觉任务中取得了显著进展。CLIP [47] 利用大规模图像 - 文本对训练来对齐视觉和文本模态,实现零样本分类并促进跨模态应用。DINO 系列 [8,38,46] 采用自监督学习进行密集表示学习,有效捕捉分割和识别任务的关键细节特征。SAM 系列 [32,50,77] 在由点、边界框、语言等各种提示驱动的分割中表现出高度通用性。类似的进展也出现在 3D 视觉任务中。DUSt3R [65] 和 MASt3R [33] 提出了从未校准和未摆姿的相机进行密集 3D 重建的可泛化框架。FoundationPose [69] 开发了一种用于新物体 6D 位姿估计和跟踪的统一框架。与这项工作更相关的是,一些工作 [4,29,78,79] 在单目深度估计任务和多视图立体 [26] 中展示了强大的泛化能力。总之,这些方法在规模法则下表明,视觉基础模型正在发展为支持跨不同场景的鲁棒应用,而无需繁琐的按领域微调。
方法
单目基础模型适配(特征提取是一个vit+cnn)
为了让单目深度估计这样的基础模型能够适应立体匹配这个任务,需要对其进行微调训练,这里想做一个VIT结合CNN的方法(a) 在冻结的 DepthAnythingV2 [79] 中直接使用来自 DPT 头部的特征金字塔,而不使用 CNN 特征。(b) 通过在 CNN 和 ViT 之间交换特征来类似于 ViT 适配器 [12]。(c) 应用带有步幅 4 的 4 × 4 卷积,以在 DepthAnythingV2 最终输出头之前缩小特征。然后将该特征与相同级别的 CNN 特征连接起来,以获得 1/4 比例的混合特征,因此学习了侧 CNN 网络以使 ViT 特征 [83] 适应立体匹配任务。令人惊讶的是,虽然很简单,但我们发现 (c) 明显超过了立体匹配任务的替代选择
(两个图像的分支fr,fl)具体而言,给定一对左右图像 I、I∈ R,我们使用 EdgeNeXt-S [40] 作为 STA 中的 CNN 模块来提取多级金字塔特征,其中 1/4 级特征配备了 DepthAnythingV2 特征。选择 EdgeNeXt-S [40] 是因为它的内存效率,而且在我们的研究中,更大的 CNN 主干没有产生额外的好处。
发到 DepthAnythingV2 时,我们首先将图像大小调整为可被 14 整除,以与其预训练的补丁大小保持一致。STA 权重在应用于左右视角共享。
(最小面红色的分支fc)同样,使用 STA 来提取上下文特征,不同的是 CNN 模块设计有一系列残差块和下采样层。它生成了多个尺度的上下文特征 {4, 8, 16分之一大小},上下文特征 参与初始化 ConvGRU 块的隐藏状态,并在每次迭代时输入到 ConvGRU 块中,以逐步细化的上下文信息有效指导迭代过程。
我们没有使用具有尺度模糊性的 DepthAnythingV2 的原始单目深度,而是使用其潜在特征作为从立体图像和通过成本筛选进行比较。
Attentive Hybrid Cost Filtering注意力混合成本过滤
Hybrid Cost Volume Construction注意力混合成本过滤
Axial-Planar Convolution (APC) Filtering轴平面卷积 (APC) 滤波
就是说太大了,所以用了分离卷积
Disparity Transformer (DT)
Initial Disparity Prediction.
Iterative Refinement
损失函数
其中 d 表示真实视差; |·|smooth 表示光滑的 Lloss;k 是迭代编号;γ设置为 0.9,应用指数级增加的权重 [36] 来监督迭代细化的差异。
训练
该数据集由我们提出的 FSD 以及 Scene Flow [43]、Sintel [6]、CREStereo [34]、FallingThings [61]、InStereo2K [2] 和 Virtual KITTI 2 [7] 组成(你这还不是永乐评估的数据集?哦,没有)。我们使用 AdamW 优化器 [39] 训练 FoundationStereo,训练 200K 步,总批量大小为 128,均匀分布在 32 个 NVIDIA A100 GPU 上。在整个训练过程中,学习率从 1e-4 开始,在 0.8 时衰减 0.1。图像在馈送到网络之前被随机裁剪为 320×736。执行类似于 [36] 的数据增强。在训练期间,GRU 更新中使用了 22 次迭代。
Synthetic Training Dataset合成训练数据集
使用 NVIDIA Omniverse 创建了一个大规模合成训练数据集。此 FoundationStereo 数据集 (FSD) 解决了关键的立体匹配挑战,例如反射、低纹理表面和严重遮挡。我们进行域随机化 [58] 以增强数据集的多样性,包括随机立体基线、焦距、相机视角、照明条件和对象配置。同时,利用具有丰富纹理和路径跟踪渲染的高质量 3D 资产来增强渲染和布局的真实感。包括结构化的室内和室外 场景,以及在复杂而逼真的照明下具有各种几何形状和纹理的更多样化的随机飞行物体。
右:迭代自我管理过程消除了领域随机合成数据生成过程中不可避免地产生的模棱两可的样本。示例歧义包括严重的纹理重复、周围环境有限时无处不在的反射,以及照明不当下的纯色。
迭代自筛选
尽管理论上合成数据生成可通过随机化产生无限数据并实现高度多样性,但尤其在结构较少的飞行物体场景中,不可避免会引入模糊样本,干扰学习过程。为此,我们设计了自动迭代自筛选策略。图 4 展示了该过程及检测到的模糊样本。我们首先在 FSD 上训练初始版本的 FoundationStereo,然后在 FSD 上进行评估,将 BP-2(4.2 节)大于 60% 的样本视为模糊样本,并通过生成新样本替换。训练和筛选过程交替进行(本文迭代两次),以逐步更新 FSD 和 FoundationStereo。














