UniMVSNet理解

Rethinking Depth Estimation for Multi-View Stereo: A Unified Representation

  • 1. Introduction
    • 1.1 Problem
    • 1.2 Contribution
  • 2. Methodology
    • 2.1 Unified Depth Representation
      • 2.1.1 Unity generation
      • 2.1.2 Unity regression
    • 2.2 Unified Focal Loss
    • 2.3 UniMVSNet
    • 2.4 Training Loss
  • 3. Implementation
  • 4. Info

1. Introduction

1.1 Problem

现有的基于学习的MVS方法中,深度估计作为回归或分类问题来解决。尽管这两种f方法表现出了优异的性能,但它们仍然存在明显的缺点。
1.回归:通过soft argmin从概率体回归深度。理论上,通过对离散深度假设加权求和,可以实现深度的亚像素估计。然而,模型需要在对加权深度执行的间接约束下学习复杂的权重组合,往往会过度拟合。一组深度假设有许多权重组合,可以加权并求和到相同的深度,这种模糊性也隐含着增加了模型收敛的难度。
2.分类:以概率最大的深度假设作为最终估计,用交叉熵直接约束概率体,但由于其离散预测而无法直接推断出准确的深度。

1.2 Contribution

1.提出了一种新的表示方法,称为Unity,以统一回归和分类的优点。它可以像分类方法一样直接约束成本量,也可以像回归方法一样实现亚像素深度预测。事实上,接近GT的深度假设具有更多的潜在知识,而其他的深度假设由于多峰的错误归纳作用有限甚至有害。基于此,估计所有深度假设的权重是多余的,模型只需对代表性深度间隔包含地面真实深度的最佳深度假设进行修正。
2.为了发挥Unity的潜力,设计了一种新的损失函数,称为统一焦点损失,它更统一、更合理,以应对样本不平衡的挑战。
3.结合这两个无负担模块,提出了一个从粗到精的框架,称之为UniMVSNet。

UniMVSNet理解_第1张图片

2. Methodology

2.1 Unified Depth Representation

如图所示,将深度估计重新定义为一个多标签分类任务,在该任务中,模型需要对哪个假设是最优的进行分类,并回归其接近度。

UniMVSNet理解_第2张图片

2.1.1 Unity generation

make GT(Unity):在最佳深度假设处达到峰值的一个one-hot形式,其深度间隔包含地面真值深度。最多一个非零值是一个连续数,表示最佳假设与深度GT的接近程度。Unity生成算法如下所示,这比分类方法中的one-hot生成多了一个邻近计算步骤:

UniMVSNet理解_第3张图片

概括一下:输入为深度图GT(Dgt),深度假设;输出为unity(类似于one-hot,但非0值表示偏移程度,shape与概率体相同);从最小的深度开始迭代,首先计算当前与下一个深度假设的深度间隔r(差值),如果深度GT在当前与下一个深度假设之间,one-hot编码值为:1-(Dgt-当前深度假设)/当前深度间隔,否则为0.

2.1.2 Unity regression

1.通过sigmoid而不是softmax得到概率体
2.将概率体认作是Estimated unity U来估计深度。取U在深度维度最大值Uo对应索引o,根据索引在深度假设找到对应的深度值do。计算当前与下一个深度假设的间隔r(若索引对应最后一个深度,取当前与前一个的间隔),计算偏移offset=(1-Uo)xr,最终的深度值为D=do+offset,详细步骤如下。

UniMVSNet理解_第4张图片

2.2 Unified Focal Loss

通常情况下,MVS模型的深度假设将进行非常密集的采样,以确保估计深度的准确性,这将导致由于数百个假设中只有一个正样本(最多一个非零目标)而导致明显的样本不平衡。同时,模型需要更多地关注难样本,以防止过度拟合。

FL(Focal Loss):通过估计的unity值u∈ [0,1]自动区分难样本,并通过可调参数α和γ重新平衡。然而,FL(q∈{0,1})不适用于连续值。
在这里插入图片描述

为了能够优化连续值目标,使用GFL(Generalized Focal Loss):将交叉熵扩展为BCE(-q log(u)-(1-q) log(1-u)),相应地适当调整比例因子。此时,q∈[0,1]为连续目标。但这种实现在缩放难样本和简单样本方面并不完美,因为它们忽略了GT值的重要性(需要用来算偏移offset)。
在这里插入图片描述

替换|q-u|及u:如下图所示,在绝对误差| q - u |测量(GFL)下,前两个样本将被视为最难的样本。然而,绝对误差不能区分具有不同目标的样本,即图中的前两个样本具有相同的绝对误差,由于其较大的GT,该误差显然对第一个样本的影响较小。
UniMVSNet理解_第5张图片

为了解决这种模糊性,通过相对误差优化GFL中的比例因子,并提出了UFL(Unified Focal Loss):
在这里插入图片描述
其中q+∈ (0,1]是正样本。当正样本为常数1时,FL是UFL的特例。

此外,注意到比例因子| q - u | / q+ ∈ [0+∞), 这可能导致特殊情况,如上图最后一个示例(值太大)。即使是少量这样的样本,由于其巨大的比例因子,也会淹没损失和梯度计算。通过引入一个专用函数来控制比例因子的范围来解决这个问题。同时,为了保留宝贵的积极学习信号,采用了非对称缩放策略(改变1-α)。完整的UFL可建模为:
在这里插入图片描述
函数Sb(x)=(1/(1+b**(-x)))为以b为基的类sigmoid函数。

2.3 UniMVSNet

1.应用CasMVSNe结构
2.PVA-MVSNet的视角权重计算
3.加入Unity和UFL

UniMVSNet理解_第6张图片

2.4 Training Loss

1.只计算各阶段有效点
2.各阶段损失加权

在这里插入图片描述

3. Implementation

1.在DTU训练评估;在BlendedMVS上微调,在tanksandtemples验证通用性
2.与MVANet相同的视图选择和数据预处理策略
3.三阶段,分辨率为:1/4,1/2,1
4.在DTU,使用与CasMVSNet相同的网络设置。训练时:N=5,分辨率640×512。为了增加正样本的贡献,设置α+ = 1,将S+5的范围缩放到[1,3),将S5缩放到[0,1)。UFL中的其他可调参数按从粗糙到精细的阶段进行设置,例如,α设置为0.75、0.5和0.25,γ设置为2、1和0。在评估DTU的过程中,将输入图像的大小调整为1152×864,并将输入图像的数量设置为5
5.在对Tanks and Temples进行测试之前,在BlendedMVS上对模型进行了10个epoch的微调。以7幅图像作为输入,原始尺寸为768×576。对于Tanks and Temples测试,最粗阶段的深度假设数量从48个更改为64个,相应的深度间隔设置为MVSNet间隔的3倍,将输入图像的数量设置为11。

4. Info

参考文献
[1]Peng R, Wang R, Wang Z, et al. Rethinking Depth Estimation for Multi-View Stereo: A Unified Representation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 8645-8654.

你可能感兴趣的:(MVS-DL,人工智能,MVS,深度回归,UCL损失,Unity表示)