文章目录
传统的方法有什么缺陷吗?
传统的mvs算法它对图像的光照要求相对较高,但是在实际中要保证照片的光照效果很好是很难的。所以传统算法对镜面反射,白墙这种的重建效果就比较差。
通过深度学习的方式,可以让网络去学习在相对不同的光照效果下的重建,也可以学习到镜面反射的效果。
MVSnet
MVS的理论核心和传统的基本是一样的。 这个网络的核心是构建 cost volume,这个过程就用到plane sweeping的方式。
这个网络的输入是需要有一张源照片(source image), 和多张参考照片(reference images), 首先需要对这些照片做特征提取。关键是如何构建这个cost volume。首先需要设定一个深度范围,然后将这个深度范围分成很多小份,这样做可以构建出一个volume。然后将源图像的特征图通过相机的内外参将 它从相机坐标系投射至世界坐标系,然后就可以在 volume 中找到一个对应的深度范围,然后再将特征投射到reference image的特征图上,假设深度值是完美的,那么reference image 上的点所带有的特征应该是和原图像中被投射的点的特征是一样的。但是因为有误差所以会得出一个cost,把所有reference照片的cost和在一起就变成了cost volume。为了能让每一张照片都平等的参与,而不是让原照片做主导,文中引入了一个variance metircs。
另外,cost volume 正则 (cost volume regularization)就是使用一个U形结构来将重新处理cost volume。因为原生的cost volume 可能会出现光照偏差啊,深度重合等噪音问题,为了去除这些噪音,所以选择了U形的结构来处理。这样可以保证之后深度输出的时候也不会输出过于异常值。
深度的预估
这里文章是使用的一个深度期望来表示的深度概率,然而不是简单的使用概率最大的深度作为点的深度。
除此之外,文中还结合了 reference 照片去优化depth map 目的是解决因为大感受野和正则出现的结果过于平滑的问题。 最好将initial 和 refined 的depth 都和GT比较做loss。