Fast-MVSNet

Fast-MVSNet: Sparse-to-Dense Multi-View Stereo With Learned Propagation and Gauss-Newton Refinement:快速MVSNet:稀疏到密集的多视图立体,具有学习传播和高斯牛顿细化

几乎所有以前的基于深度学习的多视图立体(MVS)方法都专注于提高重建质量。除了质量,效率也是MVS在真实场景中的一个理想特性。为此,本文提出了一种Fast-MVSNet,这是一种新的稀疏到密集的粗到细框架,用于MVS中快速准确的深度估计。首先构建一个稀疏成本卷,用于学习稀疏且高分辨率的深度图。然后,利用小尺度卷积神经网络对局部区域内像素的深度相关性进行编码,以加密稀疏的高分辨率深度图。最后,提出了一个简单而有效的高斯-牛顿层来进一步优化深度图。一方面,高分辨率深度图、数据自适应传播方法和高斯-牛顿层共同保证了方法的有效性。另一方面,Fast-MVSNet中的所有模块都是轻量级的,因此可以保证效率。此外,由于稀疏的深度表示也对内存友好。
网络分为3部分:稀疏高分辨率深度图预测网络、深度图扩展网络、高斯-牛顿精细化网络
网络结构图:
Fast-MVSNet_第1张图片

1、稀疏深度图

深度图方法的对比:
a)高分辨率深度图:内存成本很高
b)低分辨率深度图:没有细节
c)稀疏的高分辨率深度图:内存和计算成本很低。类似空洞卷积,它有可能纳入更大的空间上下文信息进行正则化。
Fast-MVSNet_第2张图片
这里获取深度图的方式与MVSNet相同,尺寸有所不同:使用了8层2D CNN提取F=32通道的图像特征,代价体为1/8Wx1/8HxDxF,深度采样数(D)为48或96。

2、深度图传播

第一步为我们提供了高分辨率但稀疏的深度图D,这里选择联合双边上采样器获取密集深度图,联合双边上采样器相关知识点击链接
相关论文:Johannes Kopf, Michael F Cohen, Dani Lischinski, and Matt Uyttendaele. Joint bilateral upsampling. In ACM Transactions on Graphics (ToG), volume 26, page 96. ACM, 2007.
大概的理解:滤波器会根据不同的空间位置和灰度变化范围进行调整,这也是“双边”的含义,一边是空域spatial filter(与中心点的距离远近),一边是与中心点的灰度差值大小range filter。从表达式上看,最终的滤波器系数是两个核的乘积。公式如下:
在这里插入图片描述
f是空间滤波器核,g是范围滤波器核,N(P )为p点周围kxk的区域,Zp是归一化项。对于不同的场景,这两个滤波器核可能不同,需要手动调整。
用权重W代替他们,并用简单网络学习权值。数学上,使用以下形式,
在这里插入图片描述
其中wp,q是CNN的输出,当预测不同位置p的不同权重时,可以看作是标准双边上采样器的一般化,它对每个位置p应用一个固定的核。
具体实现如下图
Fast-MVSNet_第3张图片
1.Ds使用最临近算法转化为稠密深度图D(填补空洞),将每个点kxk邻域的所有点依次写入通道(形成k²的通道,存储其领域点,即im2col,卷积的一种计算方式)D中的k²行,每一行存储的是每一个点的邻域点,列为HW,表示的是一共有这么多个点需要参与计算。
2.同时参考图像提取特征,输出通道数为kxk,得到D上每个位置的卷积核,再reshape为K²xHW二维,相同纬度进行乘法运算。
3.哈达玛积(Hadamard product):特征图D和W对应位置相乘
4.sum相加(实际是卷积运算拆成了两步,先乘积,再相加,将k²变为1,再reshape为HxW,得到密集深度图
这里参考博客:
原文链接:https://blog.csdn.net/qq_43027065/article/details/116790264
经过上述步骤可以得到密集的深度图

3、高斯-牛顿精化

此时再次从参考图像和多张原图像提取出了多张特征图,使用扩展深度图预测出的深度D(P ),将参考图像上的点p投影到每张原图像上pi’处,计算p与p’处特征图取值的差异(若深度估计的准确,那么p和投影p’处的特征应该相似,差值小)。需要令E§这个函数最小
Fast-MVSNet_第4张图片
1.D(p )表示参考图像p点的深度估计(扩展深度图的取值)
2.Fi和F0分别为原图像和参考图像的特征图(the deep representation)
3.pi’是p在原图像Ii的投影点(原文为重投影点reprojected point)
4.Fi(p)为特征图Fi在p处的特征
应用高斯-牛顿算法来最小化E(p):
1.计算残差ri(p )(参考图像投到源图像的点与参考图像的点之间的差)
在这里插入图片描述
2.然后,对于每个残差ri(p),我们将其关于密集深度图D(p)的一阶导数计算为:
在这里插入图片描述
3.获得当前深度的增量δ,J是雅可比矩阵{Ji(p)}的叠加,r是残差向量{ri(p)}(i=1~N)的叠加。在这里插入图片描述
4. 相加得到精细化后的深度图在这里插入图片描述

Fast-MVSNet_第5张图片
高斯-牛顿算法是自然可微的,并且可以作为神经网络中的一层来实现,而无需额外的可学习参数。

4、损失函数

使用估计深度图和真实深度图之间的平均绝对差作为训练损失。初始深度图D和细化深度图D’都包含在损失公式中在这里插入图片描述
ˆD是地面真实深度图,Pvalid表示有效地面真实深度集,λ是平衡两个损失的权重,在所有实验中将λ设置为1.0。

你可能感兴趣的:(mvsnet系列,人工智能,深度学习,计算机视觉)