Vis-MVSNet: Visibility-Aware Multi-view Stereo Network(IJCV 2022)

Vis-MVSNet: Visibility-Aware Multi-view Stereo Network:可视多视图立体网络
摘要:通过匹配不确定性估计,明确地推断和整合MVS网络中的像素级遮挡信息。将两两不确定性图与两两深度图联合推断,进一步在多视图成本体积融合过程中作为加权指导。这样,在代价融合中抑制了被遮挡像素的不利影响。提出的框架Vis-MVSNet显著提高了严重遮挡场景的深度精度。

创新:深度图由多视图图像分两步估计。首先,对每个参考源图像对进行匹配,得到代表成对匹配质量的潜体积。该体积进一步回归到深度图和不确定性图的中间估计,其中不确定性由概率体积的深度熵转换而来。其次,利用成对匹配的不确定性作为加权引导,将所有成对潜在体积融合到一个多视图成本体积中,以衰减不匹配像素。融合体积正则化并回归到最终深度估计。

1、网络结构

基础架构类似CasMVSNet ,一个参考图像I0和一组相邻的源图像{Ii}i=1~Nv,框架预测一个与I 0对齐的参考深度图D0。首先,将所有图像输入2D UNet 中,用于提取多尺度图像特征,用于从低分辨率到高分辨率的三个阶段的深度估计。对于第k阶段的重建,构造一个代价体积,正则化并用于估计与输入特征图分辨率相同的深度图Dk,0。前一阶段的中间深度图将用于下一阶段的成本量构建。最后,D3,0作为系统的最终输出D0。如下图
在这里插入图片描述

2、特征提取

深度图像特征通过沙漏形编码器-解码器UNet 架构提取,输出分辨率分别为1/8、1/4、1/2的32通道的特征图。

3、代价体与正则化

根据得到的不同尺寸的特征图进行单应性变化,构建特征体。
在进行代价体构造时,首先为每个参考源对构建成对的成本量,对于第i对,假设参考图像的深度为d,我们可以从源视图获得一个扭曲的特征映射Fk,i→0(d)。应用分组相关来计算参考和扭曲源特征图之间的代价图。具体来说,给定两个32通道的特征图,我们将所有通道分为8组,每组4个通道。然后计算每个对应组对之间的相关性,得到每个像素的8个值。然后,所有深度假设的成本图叠加在一起作为代价体积
第i个第k阶段的得到的代价体积Ck,i大小为Nd,k×H×W×Nc,Nd,k为第k阶段深度假设数,第一阶段的假设集是预先确定的,第二和第三阶段则根据前一阶段的深度图输出动态确定。

代价体正则化分两步。首先,每个对代价体分别正则化为一个潜在体Vk,i。然后,将所有潜在体融合为Vk, Vk进一步正则化为概率体Pk,并通过soft-argmax运算回归得到到当前阶段的最终深度图Dk,0。潜在体的融合是可见的。具体来说,首先通过联合推断深度和不确定性来测量可见性。每个潜在体通过附加的3D CNNs和softmax运算转换为概率体Pk,i。然后通过soft-argmax和熵运算联合推断深度图Dk,i和相应的不确定性图Uk,i。不确定度图将被用作潜在体融合期间的加权指导。

4、逐对联合的深度和不确定性估计

如前一节所述,获得了联合深度和不确定性估计的对概率体,通过soft-argmax回归深度图。为简单起见,将所有深度假设的概率分布表示为{Pi,j},省略了阶段编号k。soft-argmax运算等价于计算该分布的期望,Di计算为在这里插入图片描述

为了联合回归深度估计及其不确定性,我们假设深度估计遵循拉普拉斯分布。在这种情况下,估计深度和不确定性使观测到的真值的可能性最大化为:

在这里插入图片描述
其中Ui是像素的深度估计的不确定性。注意,概率分布{P~i, j}也反映了匹配质量。因此,我们应用{Pi, j~}j= 1~ Nd的熵图Hi来衡量深度估计质量。通过函数fu将Hi转换为不确定性图Ui,fu为一个浅层的2D CNN:在这里插入图片描述
采用熵的原因是分布的随机性与单峰分布呈负相关。单模态是深度估计可信度较高的一个指标。
为了联合学习深度图估计Di及其不确定性Ui,我们最小化上面描述的负对数似然:
在这里插入图片描述
公式中省略了常数。为了数值的稳定性,在实践中我们推断Si = log Ui而不是直接用Ui。log不确定性图Si也通过一个浅层的2D CNN从熵图Hi转换而来。损失也可以解释为带有正则化项的估计和真值之间L1损失的衰减。直觉是,在训练过程中应该减少错误样本的干扰。

5、体融合

给定对潜在代价体{Vi},通过加权和融合得到体V,其中权重与估计的对不确定性呈负相关。
在这里插入图片描述
不确定性大的像素点更有可能位于遮挡区域。因此,潜在体积中的这些值可以被衰减。加权和的替代方案是将Si设置为阈值,并对每个像素执行硬可见性选择。然而,没有Si值的解释,我们只能做经验阈值,这可能不通用。相反,加权和自然地融合了所有视图,并以相关的方式考虑了log不确定性Si。

6、由粗到细架构

在所有阶段,深度假设都是从一个深度范围内均匀采样。第一阶段采用低分辨率的图像特征,以预定的深度范围和较大的深度间隔构建成本体积,而后续阶段则采用较高的空间分辨率、较窄的深度范围和较小的深度间隔。

对于第一阶段,深度范围为[dmin, dmin + 2Δd),深度编号为Nd,1,其中dmin, Δd, Nd,1是预先确定的。对于第k阶段(k∈{2,3}),减小深度范围、样本数量和间隔。范围以上一阶段的深度估计为中心,每个像素都不相同。像素x的深度范围为[Dk−1,0−wkΔd, Dk−1,0 + wkΔd),深度数为pk Nd,k,其中wk < 1和pk < 1是预定义的缩放因子,D~k−1,0·是像素x从上一阶段k−1得到的最终深度估计。

7、损失计算

对于每个阶段,计算最终深度图的对L1损失、对联合损失和L1损失,总损失是所有三个阶段损失的加权和。为了将不同训练场景中的尺度归一化,所有的深度差异都除以最后阶段预先定义的深度间隔。在这里插入图片描述
​由于不确定性损失倾向于过度放松对深度和不确定性估计,因此包含了对L1损失。这里的对L1损失可以保证合格的对深度图估计

8生成点云

在生成所有视图的深度图后,深度图通过光度和几何一致性过滤,融合成统一的点云。

概率图(光度一致性)。额外生成概率图过滤不可靠的像素。围绕最终深度估计的[D−2,D + 2]范围内深度概率计算总概率得到最终的概率图。此外,在从粗到细架构中有不同阶段的概率图,因此过滤准则是当且仅当三个阶段的所有概率图都高于相应的阈值pt,1, pt,2, pt,3时,参考视图中的像素将被保留。

几何一致性。和之前的方式一样。

几何可见性融合。所有源深度图都被投影到参考视图,其中参考深度图中的每个像素可以接收不同数量的深度值。对于每个像素,计算每个深度的以下度量:(1)遮挡,这是遮挡这个像素的深度的数量(深度值小于这个深度值);(2)违例,即投影后该深度在自由空间中的视图数(投影深度小于源视图中相应位置的值);(3)稳定性,即遮挡减去违例。最后选取非负稳定性的最小深度值作为该像素的新深度值。更多关于遮挡、违例和稳定性的细节可以在原文中找到(Merrell et al., 2007)。与单纯选取深度候选值的中位数相比,基于可见性的融合方法略微提高了点云质量。

几何平均融合。通过对源视图重投影深度进行平均,可以降低估计深度值的噪声。对参考深度图中于深度为d0的像素p0,我们从所有一致的源视图Ic中收集重投影的深度{di}i∈Ic。平均融合所有深度得到最后结果。

小段滤波。加入了小段滤波,观察到小簇的飞行点通常是空间中的噪声,可以根据它们的簇大小轻松地删除它们,这可以在深度图级别完成。给定一个深度图,如果两个相邻像素之间都有效且深度差不大,则可以在两个相邻像素之间存在一条边的情况下构建一个图。然后去除连接的少量像素的部分。在实际应用中,使用深度差百分比阈值为0.05 %,簇大小为10。

整个滤波和融合机制如下所示:

概率图滤波;
几何一致性滤波;
几何可见性融合;
几何一致性滤波;
几何平均融合;
几何一致性滤波;
小段滤波。
如果一个像素在某个环节被过滤掉,后续步骤将不涉及。

猜你喜欢

转载自blog.csdn.net/qq_44708206/article/details/129048584
今日推荐