MonSter++

MonSter++: Unified Stereo Matching, Multi-view Stereo, and Real-time Stereo with Monodepth Priors

基本信息

项目 内容
论文标题 MonSter++: Unified Stereo Matching, Multi-view Stereo, and Real-time Stereo with Monodepth Priors
作者 Junda Cheng, Wenjing Liao, Zhipeng Cai, Longliang Liu, Gangwei Xu, Xianqi Wang, Yuzhou Wang, Zikang Yuan, Yong Deng, Jinliang Zang, Yangyang Shi, Jinhui Tang, Xin Yang
第一单位 华中科技大学 (Huazhong University of Science and Technology)
时间 2025 (基于参考文献和内容推断)
发表会议/期刊 准备投稿/技术报告 (尚未正式发表,代码将开源)

方法概览

特点 描述
输入 矫正后的立体图像对 (Stereo Matching) 或 未矫正的多视角图像 (Multi-view Stereo)
输出 高精度、度量尺度的视差图/深度图
所属领域 计算机视觉, 深度估计, 立体匹配, 多视角立体
核心思想 通过迭代地、双向地融合单目深度先验与多视图匹配线索,解决传统方法在病态区域(遮挡、纹理缺失等)的匹配困难问题。

1. 摘要的精简

MonSter++ 是一个用于多视图深度估计的几何基础模型,它统一了矫正的立体匹配和未矫正的多视角立体任务。该方法的核心创新在于,将单目深度先验有效地整合到多视图深度估计框架中,从而结合了单视图(提供物体级结构)与多视图(提供精确几何)的互补优势。MonSter++ 通过一个双分支架构迭代地执行 立体引导对齐 (SGA)单目引导优化 (MGR) ,利用可靠的立体线索校正单目深度的尺度和偏移模糊性,同时利用精炼后的单目深度指导立体匹配在病态区域的深度恢复。该方法在立体匹配、多视角立体和实时立体匹配三大任务的八个主流基准测试中均取得了最先进的性能。此外,其轻量级实时变体 RT-MonSter++ 在保持高精度的同时实现了实时推理。

2. 引言与出发点

传统基于学习的多视图深度估计方法(包括立体匹配和多视角立体)主要依赖于视图间的稠密对应匹配。然而,在病态区域,例如遮挡、无纹理区域、重复/细小结构和远距离物体处,匹配线索有限或不可靠,导致深度估计失败。

另一方面,单目深度估计直接从单张图像预测深度,不受匹配问题困扰,能提供良好的物体级结构信息。但其预测结果是相对深度,存在全局和逐像素的尺度与偏移模糊性(如Fig.3所示),无法直接与度量尺度的多视图深度进行像素级融合。

因此,MonSter++ 的出发点是将多视图深度估计重新表述为一个基于单目相对深度恢复逐像素尺度和偏移的问题。通过这种方式,既能利用单目深度在病态区域的结构优势,又能利用多视图匹配在可靠区域的精确几何信息,克服两者的局限性。

3. 创新点

核心创新:双向迭代优化框架

提出了 Stereo Guided Alignment (SGA)Mono Guided Refinement (MGR) 模块,实现了单目与立体分支的双向、迭代式信息互补与优化,而非简单的单向融合或后处理。

  • SGA模块:利用高置信度的立体匹配线索,为单目深度估计逐像素的偏移残差,校正其尺度和偏移模糊性,将其从粗糙的物体级先验提升为精确的像素级几何线索。
  • MGR模块:利用经过SGA优化后的高质量单目深度作为条件,在病态区域(如细结构、远距离背景)指导立体分支的深度优化,弥补其匹配失败的问题。

与相关工作的对比

相关工作(如 CLStereo [83], AFNet [13], Foundation-Stereo [87], LoS [86])也尝试引入单目深度先验,但普遍存在以下问题:

  1. 单向利用:仅将(未校正的)单目深度作为初始值或正则项输入给多视图分支,是单向的信息流动。
  2. 未解决模糊性:忽略了单目深度固有的尺度和偏移模糊性(如图3所示),直接将带噪声和偏差的先验引入网络,可能引入干扰。
  3. 缺乏自适应:未能根据立体匹配的置信度自适应地选择可靠的立体线索来校正单目深度。

MonSter++ 通过SGA模块显式地解决单目深度的模糊性问题,并通过双向迭代机制实现了两个分支的自适应、互增强融合。

额外创新:高效的实时变体 RT-MonSter++

  • 提出了一个由粗到细的轻量级架构。
  • 采用了级联搜索和局部代价体构建策略,显著缩小了高层级的视差搜索范围。
  • 通过精心设计的轻量化模块(如单层ConvGRU,减少迭代次数),在1K分辨率下实现了超过20 FPS的推理速度,同时精度超越了所有已发布的实时方法。

4. 网络架构

MonSter++ 的整体框架如图5所示,主要由三部分组成:

  1. 单目深度分支:使用预训练的 DepthAnythingV2 模型(基于DINOv2编码器和DPT解码器),参数冻结,为系统提供初始的单目相对深度先验。
  2. 立体匹配分支:基于 IGEV 框架,但共享了单目分支的 DINOv2 ViT 编码器(参数冻结)。通过一个特征转换网络将 ViT 特征下采样并转换为多尺度金字塔特征,用于构建几何编码体积并进行 N1N_1 次迭代优化,得到初始立体视差。
  3. 相互优化模块:接收初始的单目深度和立体视差,迭代执行 N2N_2 轮双向优化。每轮包含两个步骤:
    • SGA:用立体分支的信息优化单目视差。
    • MGR:用优化后的单目视差指导立体视差的优化。
      最终输出来自立体分支的视差图。

5. 特征提取

  • 共享编码器:单目和立体分支共享同一个预训练的 DINOv2 (ViT) 作为图像编码器,参数冻结。这确保了强大的、泛化性好的特征表示,同时避免了立体训练任务影响编码器的泛化能力。
  • 特征适配:由于ViT输出单一分辨率特征,而立体匹配需要多尺度特征,因此设计了一个特征转换网络(堆叠的2D卷积层),将ViT特征下采样并转换为四个尺度(1/32,1/16,1/8,1/41/32, 1/16, 1/8, 1/4)的金字塔特征 F={F0,F1,F2,F3}\mathcal{F} = \{F_0, F_1, F_2, F_3\},以供立体分支后续使用。

6. 代价体构建

  • 立体匹配任务:遵循 IGEV 的方法,使用构建的几何编码体积 (Geometry Encoding Volume)。该体积编码了几何和上下文信息,比传统的相关体积更具表现力和鲁棒性。
  • 多视角立体任务:为保持框架统一,设计了一个参数免费的构建方式。对每个源视图,在参考视图的每个像素的极线方向上,在初始单目深度确定的搜索范围内采样特征,构建特征体积 Vi\mathbf{V}_i。然后使用基于方差的代价度量聚合所有视图的特征体积,得到最终的代价体 C\mathbf{C}

    C=M(V1,\mathbf{C} = \mathcal{M}(\mathbf{V}_1,