IterMVS: Iterative Probability Estimation for Efficient Multi-View Stereo

IterMVS: Iterative Probability Estimation for Efficient Multi-View Stereo:高效多视图立体的迭代概率估计

摘要:提出了一种基于数据驱动的高分辨率多视点立体视觉算法IterMVS。设计了一种新的基于gru的估计器,该估计器在其隐藏状态下编码像素级深度概率分布。通过摄取多尺度匹配信息,模型在多次迭代中细化这些分布,并推断深度和置信度。为了提取深度图,以一种新颖的方式将传统的分类和回归结合起来。

创新:
1、一种新颖的、轻量级的基于gru的概率估计器,它编码了深度在其隐藏状态下的每像素概率分布。这种压缩表示不需要一直将概率体积保存在内存中。在每次迭代中,注入多尺度匹配信息来更新像素级深度分布。与粗-细方法相比,基于gru的概率估计器总是在相同的分辨率下运行,利用大的搜索范围并跟踪整个深度范围内的分布。
2、提出了一种简单而有效的深度估计策略,它结合了分类和回归,对多模态分布具有鲁棒性,但也达到了亚像素精度。

1、网络结构

IterMVS由一个多尺度特征提取器、一个迭代的基于GRU的概率估计器(对每个像素深度的概率分布建模)和一个空间上采样模块组成。架构图如下
在这里插入图片描述

2、特征提取

给定N张大小为W × H的输入图像,我们用I0和{Ii}N−1 i=1分别表示参考图像和源图像。使用特征金字塔网络从图像中提取多尺度特征。我们获得了3个尺度级别的特征,并用Fi,l表示第i个图像在级别l的特征。共有三个层级,分辨率分别是原始图像的1/2、1/4、1/8,通道数为16、32、64。通过在GRU的每次迭代中使用我们的多尺度特征来匹配相似性计算来包括多尺度上下文信息。

3、基于迭代GRU的概率估计器

基于gru的概率估计器,用32维的隐藏状态对深度的逐像素概率分布建模。GRU以1/4分辨率工作,输出深度图D∈RW/4×H/4,展开K次迭代。

3.1单应性变换

这里与MVSNet相同,计算源视图中对应的像素pi,j:= pi(dj)为:
在这里插入图片描述

3.2 2视图匹配相似度计算

给定参考和扭曲的第i个源特征,F0§, Fi(pi,j)∈RC,我们首先使用群相关来降维。通过将特征通道均匀划分为G = 8组,第G组相似度si(p, j) g∈R可计算为
在这里插入图片描述
< · , ·>表示点积。相似度si的大小为W×H×D×G,D是每个像素深度假设的数量,j表示深度

3.3 初始化

为了初始化GRU的隐藏状态h∈RW/4×H/4×32,我们只利用第3级的特征,然后对结果进行上采样以进一步减少计算量。每个像素在1/8分辨率和预定义的深度范围[dmin;dmax]时,在逆深度范围内设置等距深度假设D1。经过可微变化,我们可以计算(N−1)个2视图匹配相似度si
对于每个源视图,进一步估计了一个像素级的视图权重,这里的方法与patchmatchNet类似,每个像素点的权重为各深度中最大的值。
当集成来自所有源视图的信息时,它提供了可见性信息和更高的鲁棒性。在si的图像空间上应用一个轻量级的二维CNN,聚合局部信息,将特征通道从G减少到1。沿深度维应用软最大非线性,得到Pi∈RW/8×H/8×D1。对于像素p,源视图i的视图权值可以计算为:在这里插入图片描述
最后,像素p和深度假设dj的积分匹配相似度Sinitial(p,j)由下式给出在这里插入图片描述
为了考虑深度图的空间相关性,我们通过在Sinitial∈RW/8×H/8×D1×G上应用2D U-Net来聚合邻近像素的相似信息,这使得匹配更加鲁棒。最后一个卷积层输出一个1通道的相似度 S ‾ \overline{S} S∈RW/8×H/8×D1,这里将深度留下,每层深度中的G层通道变成一。然后在 S ‾ \overline{S} S上依次应用2D CNN、2倍双线性上采样和tanh非线性来生成初始隐藏状态h0

3.4迭代更新

对于迭代k和层级l的每个像素p,在归一化逆深度的范围内生成Nl个新的深度假设:
在这里插入图片描述

以之前深度估计Dk−1∈RW/4×H/4为中心。Rl−1 < Rl,以利用更高分辨率特征的更高频率的信息,然后,我们计算3个层级所有的特征的匹配相似度 S   k   ‾ \overline{S~k~} S k ,包括了多尺度信息,接着使用2倍上采样的像素级视图权重来集成来自源视图的匹配相似度,然后将它们输入分层的2D U-Net来聚合邻域信息,并将通道数量减少到1。最后将3个层级的匹配相似度连接为 S   k   ‾ \overline{S~k~} S k ∈RW/4×H/4×(N1+N2+N3)。将Dk−1和 S   k   ‾ \overline{S~k~} S k 连接表示为xk,使用卷积GRU更新隐藏状态,进一步让网络从空间邻居传播信息

在这里插入图片描述
σ(·)表示sigmoid非线性。通过在每次迭代中加入多尺度匹配信息,隐藏状态可以更准确地编码像素级深度分布。

3.5深度预测

从隐藏状态hk(k=0,··,k)预测迭代k处的深度图。为了简单起见,这里省略了索引k。回想一下,我们让隐藏状态编码深度的逐像素概率分布。
通过在隐藏状态上应用2D CNN,然后沿深度维度进行软最大非线性,提取在逆深度范围内D2位置均匀采样的深度的概率P∈RW/4×H/4×D2。这种采样分布中预测深度值的通常策略是使用argmax或soft argmax。前者对应于测量真实值的one-hot编码和P之间的Kullback-Leibler散度,但不能提供超出离散化级别的解决方案(例如“亚像素”解决方案)。后者对应于测量P的期望到真实深度的距离。而期望可以取任意连续值,测度不能处理P中的多模态,严格偏好单模态分布。因此,论文中提出了一种结合分类和回归的新的混合策略。它对多模态分布具有鲁棒性,但也实现了不受采样分辨率限制的“亚像素”精度,从概率P中找到概率最高的像素p的索引X (p):在这里插入图片描述
对于半径r,采用局部逆范围内的期望值来计算深度估计D(p):
在这里插入图片描述
置信度估计:由于GRU的隐藏状态对像素方向的深度概率分布进行了建模,因此我们可以估计不确定性。应用2D CNN和隐藏状态h上的S形曲线来预测置信度C∈RW/4×h/4。置信度定义为地面真实深度位于估计值附近的小范围内的可能性,因此,在重建过程中使用阈值τ来过滤异常值。

4、空间上采样

在迭代的最后,对GRU概率估计器输出的深度图DK进行上采样,分辨率从1/4到全分辨率。该过程以图像特征为指导:给定参考特征F0,2,二维CNN预测的掩码为M∈RW/4×H/4×4×(4×4×9),其中最后一个维表示底分辨率下最近的9个近邻的权重。然后,全分辨率的深度计算为这些邻域的归一化(使用softmax)加权组合,与RAFT方法相同。置信图通过双线性上采样实现全分辨率。

5、损失函数

损失函数考虑从GRU估计的深度和置信度,以及最终的上采样深度。为了便于收敛,我们进一步利用从初始化阶段的相似性预测的粗深度Dinitial∈RW/8×H/8。发现如下:在这里插入图片描述
其中概率Pinitial是通过沿深度维度应用softmax从 S   i n i t i a l   ‾ \overline{S~initial~} S initial 生成的。然后我们将Dinitial的采样提高到1/4分辨率。损失基于从深度图D转换的D0
在这里插入图片描述
将损失函数总结如下在这里插入图片描述
并且只考虑具有有效地真值深度的Nvalid像素。损失函数由五个损失组成:分类损失Lclass,回归损失Llintial,Lregress,k, Lupsample,和置信度损失Lconf,k在这里插入图片描述

其中||·||1为l1损失,D’gt,l由第l级的真实深度计算,其中{.}为指标函数,α = 0.8和β = D2为权重。对于置信度损失Lconf,k ,设C*k为:
在这里插入图片描述

其中γ设置为0.002。为了训练分类,我们定义Q为在最近的离散位置达到峰值的真实深度Dgt,2生成的one-hot编码,对Lclass使用交叉熵损失。随后的回归只能在r的任何方向上改变分类的初始估计。因此,损失Lregress只考虑真实分类索引Xgt,2§落在估计索引Xk§半径r内的像素。在训练的第一阶段,我们将Lregress和Lconf从损失中剔除,对分类进行warm up。

猜你喜欢

转载自blog.csdn.net/qq_44708206/article/details/129046691