SPE-MVS: Spatial Position Encoding Enhanced Multi-View Stereo with Monocular Depth Priors

基本信息

项目 内容
论文标题 SPE-MVS: Spatial Position Encoding Enhanced Multi-View Stereo with Monocular Depth Priors
作者 Anonymous (CVPR submission)
作者单位 Anonymous
时间 2025
发表会议/期刊 CVPR 2026

方法概览

特点 内容
输入 多视角RGB图像及其相机位姿,以及对应的单目深度先验(通过COLMAP+PDA生成)
输出 参考视图的深度图
所属领域 多视角立体匹配 (Multi-View Stereo)

1. 摘要精简

现有的学习型多视角立体(MVS)方法严重依赖视图间的光度一致性,在弱纹理或非朗伯表面等挑战性区域表现不佳。为了克服这一局限,本文提出SPE-MVS,一种通过空间位置编码(SPE)增强的MVS框架。SPE利用单目深度先验将每个像素的3D位置信息编码到统一的度量空间中,并与图像共同作为输入。我们设计了光度-空间混合特征提取器和SPE增强的代价体构建模块,引入了基于空间位置的相似性计算,显著提升了在挑战性区域的鲁棒性。此外,我们还提出了一个单目深度引导增强(MDGE)模块,利用单目深度先验优化深度概率分布,进一步提升深度估计性能。实验表明,本文方法在多个基准上达到了最先进的性能。

2. 引言动机

学习型MVS方法通常遵循“特征提取→代价体构建→正则化→深度回归”的四阶段流程,其核心是通过多视图匹配相似性来计算最优深度。然而现有方法过度依赖图像间的光度相似性来表征匹配相似性,导致在弱纹理区域和非朗伯表面上重建鲁棒性差,因为在这些区域光度差异不明显且光度一致性失效,限制了MVS在真实复杂场景中的应用。为了克服光度匹配的局限,引入额外先验至关重要。最近,度量单目深度估计方法能够从单张图像及其对应的稀疏深度生成尺度一致的密集深度图,虽然在绝对深度精度上不如MVS方法,但在弱纹理和非朗伯区域表现出优异的表面一致性和鲁棒性。因此,利用度量单目深度图作为每个输入图像的先验,可以显著提升MVS在这些挑战区域的 reconstruction quality。

3. 创新点及相关工作对比

本文的主要创新点如下:

  1. 空间位置编码(SPE):首次提出利用单目深度先验为每个视图构建像素级的空间位置编码,将各视图的像素映射到参考视图的统一度量空间下的归一化3D坐标,并将其作为额外的输入与图像共同参与特征提取和代价体构建。
  2. 光度-空间混合特征提取器(PSHF):设计双分支融合的FPN结构,同时提取图像特征和SPE特征,生成融合了光度与空间位置信息的混合特征图。
  3. SPE增强的代价体构建模块(SPEC):在构建代价体时,不仅使用传统的基于特征的组相关计算光度相似性,还引入了基于SPE的匹配相似性计算(即像素间空间位置的欧氏距离),并将两者融合,形成SPE增强的代价体,从而在代价体中显式编码了几何一致性。
  4. 单目深度引导增强模块(MDGE):利用参考视图的单目特征和单目深度图,通过两阶段(MFE和MDE)逐步细化深度概率分布,提升深度估计的连续性和表面平滑度,特别是在弱纹理区域。

相关工作对比

  • 与现有学习型MVS方法对比:现有方法(如MVSNet、Cascade MVS、Transformer-based MVS)主要优化特征提取、代价体正则化或迭代细化,但其本质仍依赖光度匹配,对挑战性区域鲁棒性不足。本文通过引入空间位置编码,将几何先验显式融入匹配过程,从根本上减少了对光度一致性的依赖。
  • 与使用单目先验的MVS方法对比:MonoMVSNet也使用了单目先验,但其仅限于参考视图,用于优化深度搜索范围和假设生成,并未充分利用所有视图的单目深度信息。本文为所有输入视图构建SPE,并在特征提取和代价体构建中全面集成,更充分地利用了单目深度先验。

4. 网络架构构成

SPE-MVS的整体架构如图2所示,主要包含以下步骤:

  1. 单目深度先验生成:对每个视图,首先用COLMAP获得稀疏深度图,然后输入Prior Depth Anything (PDA)模型生成度量单目深度图 DmiD_m^i
  2. 空间位置编码计算:利用相机参数将各视图的深度图转换为参考视图坐标系下的归一化3D坐标,得到SPE SiS_i
  3. 光度-空间混合特征提取:将图像 IiI_i 和对应的 SiS_i 输入PSHF模块,输出多尺度混合特征图 FikF_i^k
  4. SPE增强代价体构建:在多个尺度上,基于深度假设,利用参考视图与源视图的混合特征计算光度相关性 cFi,kc_F^{i,k},同时利用SPE计算空间位置相关性 cSi,kc_S^{i,k},融合得到SPE增强的代价体 CkC_k
  5. 代价体正则化:对 CkC_k 进行3D CNN正则化,得到初始概率体 PinitkP_{init}^k
  6. 单目深度引导增强:MDGE模块利用参考视图的单目特征 FmkF_m^k 和单目深度 Dm0,kD_m^{0,k},逐步优化概率体,得到最终概率体 PdkP_d^k
  7. 深度回归:对最终概率体应用soft-argmax操作,得到细化后的深度图 DekD_e^k

翻译

本文提出的SPE‑MVS方法通过将源自单目深度先验的多视图空间位置信息融入 MVS(多视图立体匹配)流程,增强了在困难区域的重建效果。具体而言,我们首先利用 COLMAP 为每个视图获取可靠的稀疏深度图,并将其与预训练的单目深度估计模型相结合,为各视图构建度量深度图

随后,这些深度图被编码为归一化的 3D 空间位置表示,且全部统一在参考图像坐标系下,为后续阶段提供一致的空间先验。得到的空间位置编码与常规图像一同作为模型输入,共同辅助特征提取与代价体构建。经过正则化后,模型可得到与深度范围对应的深度概率分布。

这使得 SPE‑MVS 能够将空间位置信息全面融入多视图匹配的相似度计算中,从而缓解现有方法对光度匹配的过度依赖。此外,我们提出单目深度先验引导增强模块(MDGE),该模块利用参考图像的单目特征先验与对应度量深度图,逐步精细化深度概率分布。借助单目深度先验中固有的连贯表面特征表示,MDGE 模块有效提升了深度概率分布的精度,尤其在平滑或无纹理区域效果显著。


3.2 空间位置编码

度量单目深度预测

可靠的深度图是构建空间位置编码的关键。为此,本文采用COLMAP 与 Prior Depth Anything(PDA)方法相结合的混合策略,为每个视图获取度量深度图。首先,利用 COLMAP 处理场景中的所有图像,重建稀疏点云并为各视点推导稀疏深度图。

这些稀疏深度图作为PDA(一种先进的单目深度估计模型)的引导信息,PDA 可从单张图像及其对应稀疏深度输入中生成尺度一致的稠密深度预测。通过将每个视图的图像与稀疏深度图输入 PDA 进行处理,我们得到足够可靠的度量单目深度先验,用于后续空间编码。

空间位置计算

SPE‑MVS 旨在通过一组输入图像与深度图先验,实现对参考视图的精确深度估计:输入包括参考图像 I0I_0IN1I_{N−1} 张源图像 Iii=1N1{I_i}_{i=1}^{N−1},以及对应的单目深度先验 Dmii=0N1{D^i_m}_{i=0}^{N−1}

这些深度图先验为各自视点下的深度信息,必须统一到参考图像坐标系中才能计算对应空间位置。对于图像 IiI_i 中的每个像素 p=[ui,vi]p=[u_i,v_i],其在参考视图坐标系下对应的空间位置 Pi=[Xi,Yi,Zi]Pi=[Xi,Yi,Zi] 计算如下:

其中 P_0 和 P_i 分别为对应像素 p 在参考图像 I0 与源图像 Ii 中的空间位置;K0K_0KiK_i 为对应图像的内参矩阵;RiR_itit_i 为参考图像与源图像 Ii 之间的旋转矩阵和平移向量。

归一化

不同场景下图像尺寸与深度值范围各不相同,因此需要对所有视图得到的空间位置进行归一化。本文采用参考视图空间坐标系中三个维度(高、宽、深度)的最大值对各视图空间位置进行归一化。

给定参考视图的高度 H、宽度 W 与最大深度值 dmaxd_{max},归一化过程如下:

image-20260317201408750

其中 SiR3×H×WS_i∈R^{3×H×W} 为本文提出的空间位置编码(SPE),表示逐像素归一化后的空间位置。

光度‑空间混合特征提取器

与以往仅对图像进行特征提取、导致特征表示受图像光度约束的 MVS 方法不同,SPE‑MVS 额外引入对应空间位置编码(SPE),在特征提取阶段融入空间位置信息,从而提升特征表达能力。

为此,我们设计了PSHF:一种双分支融合的特征金字塔网络(FPN)模块。如图 3 所示,编码器部分采用双分支结构,分别对输入图像Iii=1N1{I_i}_{i=1}^{N−1}与空间位置编码 Sii=1N1{S_i}_{i=1}^{N−1}进行特征提取与聚合;解码器部分构建多尺度混合特征Fiki=1N1{F^k_i}_{i=1}^{N−1}。混合特征在 4 个尺度(k=0,1,2,3)上提取,对应特征分辨率为 23−kW×23−kH,特征通道数分别为 64、32、16、8。

SPE 增强的代价体构建

本文在每个阶段 k 同时构建基于混合特征的代价体 CFkC^k_F基于 SPE 的代价体 CSkC^k_S,并将二者融合,实现 SPE 增强的代价体构建。值得注意的是,基于 SPE 的代价体直接利用不同尺度下的空间位置编码计算相关性得到。

为此,我们通过线性插值对各视图的 Sii=1N1{S_i}_{i=1}^{N−1}进行下采样,得到尺度 k=0,1,2,3 下尺寸为 3×23−kH×23−kW 的缩放后空间位置编码 {Sik}i=0N−1。在构建代价体时,我们首先计算参考特征与源特征之间的双视图相关性。在第 k 个尺度上,基于 Zk 个深度假设 {djk}j=1Zk,计算参考特征中像素 p 与第 i 个源特征中对应像素 pi,j 之间的单应性变换,公式如下:

随后,分别计算参考视图与第 i 个源视图在混合特征上的基于特征的相关性 CFi,kC_F^{i,k},以及在空间位置编码(SPE)上的基于 SPE 的相关性CSi,kC_S^{i,k},计算公式为:

其中 ⟨⋅,⋅⟩g 表示分组相关算子

image-20260317201427919

将上述相关性进行融合,分别构建对应的基于特征的代价体 CFkC_F^k基于 SPE 的代价体$ C_S^k$,再将二者融合以构建SPE 增强型代价体 CkC_k。对应的计算过程如下:

image-20260317201832825

式中 wi,kw_{i,k} 表示逐像素权重[24],而 f3d()f_3d(⋅) 表示3D 卷积神经网络层

之后,增强后的代价体 Ck(p,djk)C_k(p,d_j^k) 进一步通过 3D 卷积层进行正则化,以预测针对各深度假设的初始概率图 Pinitk(p,djk)P_{init}^k(p,d_j^k)

单目深度引导增强(MDGE)

单目深度估计的一个核心优势在于物体表面特征固有的连续性,这使其能够对光滑表面实现精确的深度估计。在弱纹理、非朗伯表面等 MVS 方法难以处理的区域,单目深度估计方法依然能够得到准确且平滑的深度结果。

基于这一观察,本文提出单目深度引导增强模块(MDGE),该模块通过利用参考图像的单目深度特征与单目深度图,对预测得到的深度概率图进行增强,从而提升困难区域的重建质量。具体而言,MDGE 包含两个连续步骤:基于单目特征的增强(MFE)基于单目深度的增强(MDE),二者逐级对深度概率图进行优化。如图 5 所示,经 MFE 与 MDE 处理后,预测深度图得到了有效优化。

为获取单目特征先验,我们直接利用冻结的预训练单目深度估计模型[32] 从参考图像中提取单目特征,再对其进行采样并扩展到多个尺度,记第k尺度下的特征为Fmk。此外,将参考图像的单目深度图D0m缩放至不同尺度,记为Dm,0k,并将其用于 MDE 模块。

基于单目特征的增强(MFE)

如图 4 所示,第一阶段的 MFE 模块利用高层特征信息对深度概率图进行精细化。它融合了多模态输入,包括参考图像特征F0k、单目特征Fmk以及初始概率体Pinitk。

具体来说,一个分支对拼接后的多模态特征使用2D CNN 层处理,另一个分支则通过3D CNN 层处理Pinitk。随后将两个分支融合,并利用与参考图像对应的拼接特征来增强概率分布

这种分步增强策略通过将单目特征信息有效注入更新后的概率图Pfk,实现对深度估计的逐级优化,计算公式如下:其中f3d(⋅)与f2d(⋅)分别表示3D CNN 层2D CNN 层

基于单目深度的增强(MDE)

在 MFE 的基础上,第二阶段的 MDE 模块通过引入低层深度先验,进一步精细化深度概率体。MDE 保持与 MFE 相似的结构,但将 MFE 中使用的图像特征替换为基于深度的输入。具体而言,用深度相关信息替代单目特征Fmk与参考特征F0k。

该模块使用单目深度图Dm,0k,以及经 MFE 增强后的深度图Dfk—— 后者由 MFE 输出的优化概率体Pfk通过soft‑argmax运算得到。这一替换使得 MDE 能够强调几何一致性,从而进一步提升深度估计的表面连续性。

增强后的概率体Pdk计算如下:

基于得到的概率图Pdk,采用与式 (12) 相同的 soft‑argmax 运算,即可得到第k尺度下最终精细化的深度图Dek。

5. 特征提取

采用光度-空间混合特征提取器(PSHF),这是一个双分支融合的FPN模块(如图3所示)。编码器部分采用双分支结构,分别对输入图像 IiI_i 和空间位置编码 SiS_i 进行特征提取,然后在解码器部分将两个分支的特征进行多尺度融合,生成多尺度的混合特征图 {Fik}i=0N1\{F_i^k\}_{i=0}^{N-1},其中 k=0,1,2,3k=0,1,2,3 对应四个尺度,分辨率依次为 H23k×W23k\frac{H}{2^{3-k}} \times \frac{W}{2^{3-k}},通道数分别为64、32、16、8。这种设计使得特征图既包含光度信息,又融合了空间位置信息。

6. 代价体构建

代价体构建分为两部分:

image-20260317114138769

image-20260317114111407

  • 基于特征的组相关:在第 kk 尺度,对于深度假设 djkd_j^k,通过单应性变换将参考视图像素 pp 映射到第 ii 个源视图的对应像素 pi,jp_{i,j}

    pi,j=Ki(Ri(K01pdjk)+ti)p_{i,j} = K_i \cdot (R_i \cdot (K_0^{-1} \cdot p \cdot d_j^k) + t_i)

    然后计算参考特征 F0k(p)F_0^k(p) 与源特征 Fik(pi,j)F_i^k(p_{i,j}) 的组相关:

    cFi,k(p,djk)=F0k(p),Fik(pi,j)gc_F^{i,k}(p, d_j^k) = \langle F_0^k(p), F_i^k(p_{i,j}) \rangle_g

    最后通过像素级权重 wi,kw_{i,k} 融合所有源视图的特征相关性,得到特征代价体 CFkC_F^k

    CFk(p,djk)=i=1N1wi,k(p)cFi,k(p,djk)i=1N1wi,kC_F^k(p, d_j^k) = \frac{\sum_{i=1}^{N-1} w_{i,k}(p) c_F^{i,k}(p, d_j^k)}{\sum_{i=1}^{N-1} w_{i,k}}

  • 基于SPE的位置相似性:类似地,利用SPE计算参考视图与源视图像素在归一化空间位置上的欧氏距离:

    cSi,k(p,djk)=(S0k(p)Sik(pi,j))2c_S^{i,k}(p, d_j^k) = (S_0^k(p) - S_i^k(p_{i,j}))^2

    然后对所有源视图求平均,得到SPE代价体 CSkC_S^k

    CSk(p,djk)=i=1N1cSi,k(p,djk)N1C_S^k(p, d_j^k) = \frac{\sum_{i=1}^{N-1} c_S^{i,k}(p, d_j^k)}{N-1}

image-20260317114125964

  • 融合:将 CFkC_F^kCSkC_S^k 沿通道维度拼接,再通过3D CNN层 f3df_{3d} 进行融合,得到最终的SPE增强代价体 CkC_k

    Ck=f3d([f3d(CSk),CFk])C_k = f_{3d}([f_{3d}(C_S^k), C_F^k])

7. 代价体正则化

将构建好的SPE增强代价体 CkC_k 输入到3D CNN层中进行正则化,输出初始概率体 PinitkP_{init}^k,表示每个像素在不同深度假设上的概率分布。

8. 深度图生成

image-20260317114046728

深度图生成经过两个阶段:首先从初始概率体 PinitkP_{init}^k 开始,通过MDGE模块逐步增强,最终通过soft-argmax回归得到深度图。

MDGE模块(如图4所示)包含两个顺序子模块:单目特征增强(MFE)和单目深度增强(MDE)。

  • MFE:输入为参考图像特征 F0kF_0^k、单目特征 FmkF_m^k(由冻结的单目深度估计模型提取)和初始概率体 PinitkP_{init}^k。一个分支通过2D CNN处理拼接的多模态特征,另一个分支通过3D CNN处理 PinitkP_{init}^k,两者融合后得到增强的概率体 PfkP_f^k

    Pfk=f3d(f3d(Pinitk)+f2d([F0k,Fmk,Pinitk]))P_f^k = f_{3d}(f_{3d}(P_{init}^k) + f_{2d}([F_0^k, F_m^k, P_{init}^k]))

  • MDE:从 PfkP_f^k 通过soft-argmax得到初步深度图 DfkD_f^k

    Dfk=j=1Zkdjsoftmax(Pfk(dj))D_f^k = \sum_{j=1}^{Z_k} d_j \cdot \mathrm{softmax}(P_f^k(d_j))

    MDE将MFE中的图像特征替换为深度相关的信息:用 DfkD_f^k 和参考视图的单目深度 Dm0,kD_m^{0,k} 替代 F0kF_0^kFmkF_m^k,进行类似操作,得到最终的概率体 PdkP_d^k

    Pdk=f3d(f3d(Pfk)+f2d([Dfk,Dm0,k,Pfk]))P_d^k = f_{3d}(f_{3d}(P_f^k) + f_{2d}([D_f^k, D_m^{0,k}, P_f^k]))

    再对 PdkP_d^k 应用soft-argmax得到最终的深度图 DekD_e^k

9. 损失函数

使用交叉熵损失监督所有尺度下各个阶段的概率图(初始概率体 PinitkP_{init}^k、MFE输出 PfkP_f^k、MDE输出 PdkP_d^k)。真实深度图通过投影转换为one-hot概率分布 PgtkP_{gt}^k。总损失为各尺度损失之和:

L=k=03Pgtk(log(Pinitk)+log(Pfk)+log(Pdk))L = \sum_{k=0}^{3} -P_{gt}^k (\log(P_{init}^k) + \log(P_f^k) + \log(P_d^k))

10. 测试数据集

在DTU数据集和Tanks & Temples数据集上进行了定量和定性评估。

11. 消融实验

为了验证各模块的有效性,作者进行了以下消融实验:

  1. 整体模块消融(表3):分别移除PSHF、SPEC、MDGE模块,观察Overall、Acc.、Comp.指标的变化。结果表明三个模块均有贡献,同时使用时性能最佳。
  2. PSHF结构消融(表4):对比了三种特征提取器:直接输入拼接、双编码器结构、双分支融合结构。结果显示双分支融合结构最优。
  3. MDGE组件消融(表5):
    • 验证MFE和MDE各自的贡献,发现MFE贡献更大。
    • 在MFE中移除单目特征(MF),在MDE中移除单目深度(MD),性能均有下降,证明单目先验的必要性。
  4. 效率分析(表6):统计了PSHF、SPEC、MF提取、MDGE各模块带来的额外时间与内存开销。MDGE模块(含MF提取)使单次推理时间从0.27s增至0.58s,显存从4.2GB增至5.9GB。