CL-MVSNet: Unsupervised Multi-view Stereo with Dual-level Contrastive Learning

📅 2026/7/10 14:16:25
CL-MVSNet: Unsupervised Multi-view Stereo with Dual-level Contrastive Learning
0. 摘要无监督多视图立体方法最近取得了可喜的进展。然而以前的方法主要依赖于光度一致性假设这可能会受到两个限制低识别度的区域和依赖于视图的效果例如低纹理区域和反射。为了解决这些问题我们提出了一种新的双对比学习方法称为 CL-MVSNet。具体来说我们的模型将两个对比分支集成到无监督 MVS 框架中以构建额外的监督信号。一方面我们提出了图像级对比分支来引导模型获得更多的上下文感知从而在不可区分的区域中实现更完整的深度估计。另一方面我们利用场景级对比分支来提高表示能力提高依赖于视图的效果的鲁棒性。此外为了恢复更准确的 3D 几何形状我们引入了光度一致性损失这鼓励模型更多地关注准确的点同时减轻不良点的梯度惩罚。对DTU和Tanks and Temples的大量实验表明我们的方法在所有端到端无监督框架中实现了最先进的性能并且在无需微调的情况下大幅优于有监督的对应框架。1. 引言主要贡献如下提出了图像级对比一致性损失这使用模型更加具有上下文感知能力并在不易区分的区域中实现更完整的重建。提出了场景级对比一致性损失这增强了表示能力从而提高了视图相关效果的鲁棒性。提出了光度一致性损失来进一步推进对比学习框架使模型能够专注于准确的点从而实现更准确的重建。DTU和Tanks and Temples基准测试的实验表明我们的方法优于最先进的端到端无监督模型并超越其有监督模型。2. 相关工作2.1. 监督MVS随着深度学习技术和大规模3D数据集的发展有监督MVS近年来取得了重大进展。MVSNet提出了一种流行的MVS流水线可以概括为四个步骤特征提取、成本聚合、成本量正则化和深度回归。最近的工作通过引入多级架构 RNN 来努力减轻巨大的内存和计算成本以及其他一些方法。然而上述所有方法都依赖于标记的训练数据而在实践中获得这些数据的成本很高。2.2. 端到端非监督与多阶段自监督MVS把没有监督信号的MVS框架分为两类到端非监督和多阶段自监督。前者主要依赖光度一致性假设它强制重建的图像和reference image保持光度一致性但是这在很多场景下是无法保证的所以近年来也有研究者考虑法线一致性、语义一致性等等后者力求通过处理推断得到的深度图来得到可靠的伪标签来监督训练但是这使得训练过程不是端到端的。并且额外产生的标签数据也占用存储空间自监督训练也十分耗时。3. Method本节将详细阐述文章的主要贡献。我们首先描述无监督主干第 3.1 节然后描述所提出的图像级对比度一致性第 3.2 节、场景级对比度一致性第 3.3 节和L0.5光度一致性第 3.4 节。 最后我们介绍了训练期间的整体损失函数第 3.5 节。我们的架构概述如图2所示。CL-MVSNet是一个适用于任意基于学习的 MVS 的通用框架。我们以代表性的CasMVSNet作为这项工作的backbone。3.1. 非监督 Multi-view Stereo输入一张ref图和若干张src图分阶段特征提取这些步骤和CasMVSNet一样。在代价体聚合阶段我们将个通道的N个特征体分成组然后构造原始代价体C如下然后使用3D UNet来处理这个原始代价体使用softmax来获得概率体然后使用加权和获得最终深度图D使用由粗到细的方法粗的深度图用于生成下一步的深度假设。利用高分辨率特征得到精细的深度以此类推。3.1.1. 利用置信度掩码进行深度估计在深度估计期间生成了副产品概率体用于度量深度假设的像素级置信度。然后通过对关于深度估计的4个最接近的深度假设进行概率和可以获得概率图​。我们生成一个二元置信掩模​标志着模型是否对逐像素深度估计有信心在我们的实现中设置为0.95。来自正则分支的深度估计和置信mask将用于正则化两个提出的对比分支的输出。3.1.2. 普通的光度一致性误差以前的无监督方法会使用光度一致性损失来在没有真值的情况下进行训练如图3所示。具体来说给定ref图像、src图像、内参K、外参T和推断的深度图src图像被warp以重建ref图像。对于重构ref图像中的特定像素p可以通过inverse warping计算其在src图像中的坐标然后可以通过可微分的双线性采样得到重建的图片​即。通过inverse warping过程生成二元的有效性掩模它指示重建图像中的有效像素。在以前的无监督MVS方法中所有src图像根据推断的参考深度warp到ref视图然后光度一致性损失可以计算为其中是梯度操作是element-wise product为1或2也就是L1或者L2的意思。3.2. 图片级对比一致性如前所述局部光度一致性无法在难以区分的区域例如具有低纹理或重复图案的区域提供有效的监督信号。为了克服这个问题引入了逐块光度一致性损失以增强匹配的鲁棒性。然而由于patch大小不合适该模型可能会遭受性能下降例如大patch可能会导致纹理丰富的区域的准确性损失。在本文中我们提出了一种替代方案通过引入图像级对比分支来隐式地促使模型具有上下文感知能力。接下来将详细阐述图像级对比样本和图像级对比一致性损失。3.2.1. 图片级对比抽样图像级对比抽样是通过人为地对普通样本施加变换来生成的。对于大小为的src图像我们设置遮挡率来构造大小为的二值像素级掩模。具体来说掩模中的任何元素都会以遮挡度概率来置1其中B表示伯努利分布遮挡掩模记为​。然后用对图像进行掩模如图4所示。以这种方式简单地处理所有src图像就生成了图像级对比样本。然后将这些困难的正样本输入网络以获得深度估计。为了确保训练稳定性我们采用课程学习策略curriculumlearning strategy来逐渐增加遮挡率在我们的实验中遮挡率从0增长到0.1。图 4. 图像级对比示例。 (a) 源图像常规样品。 (b) 图像级 con- 的源图像对比样本。伯努利分布二元掩模用于模拟 (b) 中局部光度一致性失败的情况。3.2.2. 图片级对比一致性损失为了促进常规分支和图像级对比分支之间的一致性我们将图像级对比一致性损失计算为其中​和​分别表示常规分支和图像级对比分支的推断深度。3.3. 场景级对比一致性据我们所知所有无监督MVS方法都利用光度和几何先验来实现MVSNet之后的视角选择。具体来说与参考图像重叠较多的图像将获得较高的分数并且将选择分数最高的N-1张图像作为常规样本中的源图像。请注意一些监督方法随机选择源视图以提高鲁棒性。由于严重的视图相关效应和遮挡导致局部光度一致性失败如图 5 所示直接在无监督MVS的常规分支中使用此策略将导致性能更差。然而从对比学习的角度来看这些图像可以用来构建困难正样本。下面我们将详细介绍如何生成场景级对比样本并强制场景级对比一致性。图 5. 视图相关的效果和遮挡。从源头 view4A 点被遮挡沿线只有 A 点可见视线。此外相同区域B的外观由于照明、相机的变化不同视图中的效果有所不同曝光和反射。3.3.1. 场景级对比采样对于给定的参考图像​可以通过将ref图像与同一场景的N-1个随机选择的图像相结合来构造场景级对比样本。然后将为对比样本推断出深度图。值得注意的是使用场景级对比样本构建的代价体代表了与常规场景相同的3D场景。因此网络应该从场景级对比样本中获得与常规样本相同的深度估计。3.3.2. 场景级对比一致性损失然后将场景级对比一致性损失​应用于场景级对比分支。该损失用于使场景级对比样本更接近常规样本从而提高对视图相关效果的鲁棒性其中和​分别指来自常规分支和场景级对比分支的深度图。3.4.​光度一致性在MVS的通用流程中在深度融合之前应用深度过滤过程以屏蔽掉最不需要的点如图 6 所示。为了清楚起见我们将推断的深度图中的点分为三类accurate point具有准确预测的像素它将在深度过滤后幸存下来并有助于最终的重建。ordinary point与精确点接近的像素点将被过滤掉。terrible point预测相当错误的像素其中大部分位于无用的背景或遮挡区域将被过滤掉。 此外在这些点上强制执行的光度一致性可能会误导模型。图 6. 深度过滤。大多数深度不准确的点都会在深度融合之前被过滤掉。可以看出这些点通常位于遮挡区域或无用的背景中光度一致性失败的地方。在MVS系统中理想的深度图应该包含更精确的点。此外由于这一观察需要对精确点施加更多约束的损失函数。我们对L1范数和L2范数进行了分析它们广泛用于普通光度一致性损失方程5。我们首先写出它们的表达式和梯度公式其中e表示x-x的绝对值表示在光度一致性强制执行期间重建图像与原始图像在特定像素处的距离。是一个特定常量。在训练期间网络参数以反向传播方式更新使用相对于损失函数计算的梯度。根据式9我们可以得出L1范数是一个公平范数对所有点一视同仁旨在获得平均绝对误差较低的深度图而L2范数更关注误差较大的像素以减少异常点即terrible point。然而这两个规范并不能直接聚焦于准确的点。因此我们提出了基于范数的光度一致性损失。范数及其梯度公式可表示为与L1-norm或L2-norm不同L0.5-norm更注重精确点。由于其梯度特性将此范数应用于光度一致性损失可以使准确的点更加准确将 ordinary point 变成 accurate point并减少对糟糕点的关注。根据上述分析我们提出光度一致性损失为3.5. Overall Loss4. 实验下图是在 DTU 和 Tanks and Temples 数据集上面的评分。值得一提的是作者单独开了一个小节作为卖点即和自监督SOTA方法的效率比较。多阶段自监督方法无法进行端到端训练。具体来说KD-MVS需要多轮训练进行蒸馏每轮之前需要复杂的预训练和预处理使用额外的数据集来生成伪标签并且需要额外的存储空间来保存伪标签。没有上述限制CL-MVSNet方法采用与他们相同的主干网但仅在16个epoch内就收敛并取得了有竞争力的结果在单个NVIDIA Tesla V100上每个epoch的训练时间仅为10小时。5. 结论与局限性5.1. 结论利用双层对比学习来处理不可区分区域和视图相关效应的问题。对于难以区分的区域提出了图像级对比分支以鼓励模型考虑更多上下文信息。对于依赖于视图的效果采用场景级对比分支来提高鲁棒性。此外我们探索了光度一致性损失来强调精确点的惩罚从而实现更准确的重建。 我们通过实验证明CL-MVSNet在DTU和TanksTemples基准上优于所有 SOTA 端到端无监督MVS方法和有监督对应方法。5.2. 局限性我们的模型解决了不可区分区域和视图相关效应的局限性但对象边缘区域的准确深度估计仍然是一个挑战。值得注意的是这是无监督 MVS 方法中的常见问题。为了缓解这个问题我们采用[17]中提出的边缘感知深度平滑度损失它基于输入参考图像的梯度图和推断的深度图应该相似的假设。然而这个简单的假设在很多情况下可能是无效的。例如同一对象内可能存在显着的颜色梯度变化。参考文献CL-MVSNet: Unsupervised Multi-view Stereo with Dual-level Contrastive Learning【论文精读】CL-MVSNet: Unsupervised Multi-view Stereo with Dual-level Contrastive Learning-CSDN博客