新闻  |   论坛  |   博客  |   在线研讨会
深度学习|三维重建:R-MVSNet
计算机视觉工坊 | 2021-04-26 17:11:34    阅读:1775   发布文章

作者丨任乾@知乎

来源丨https://zhuanlan.zhihu.com/p/111210140

编辑丨计算机视觉工坊

这是我之前在泡泡机器人上翻译的文章,放在这里做个备份,原文链接:https://www.sohu.com/a/334072786_715754

一、背景

该文章来自香港科技大学和深圳Altizure公司的研究团队,该团队在2018年ECCV上提出了MVSNet,用于高精度多视图三维重建,但由于该网络内存消耗过大,无法应用到大场景中去,因此他们又提出了R-MVSNet,引入循环神经网络架构,以减小内存消耗。

二、摘要

深度学习已经被证明在多视图三维重建(MVS)中可以取得很好的效果,但是,现有的基于深度学习的三维重建方法最大的限制是尺度问题,大量的内存需求导致这些方法无法被应用在大尺度场景中。在本文中,我们提出了一种基于循环神经网络的方法R-MVSNet,以适应各种尺度的环境。与原有方法一次性构建3D代价体(cost volume)不同,该方法依序地在深度方向通过GRU单元正则化2D代价图(cost map)。这样就可以在显著减小内存消耗的情况下完成高精度三维重建。我们首先展示了该方法在MVS数据集上的优秀表现,然后给出了它在大尺度数据集上的结果,在这种尺度的环境下,原有方法无法完成重建任务。开源代码的链接为:https://link.zhihu.com/?target=https%3A//github.com/YoYo000/MVSNet

三、算法介绍

1. MVSNet

由于本文方法是从MVSNet改进而来,很多东西一脉相承,因此为了把本文方法说清楚,需要先简要介绍下。它的主要贡献包括以下三点:

1)提出了一个用于多视图三维重建的端到端深度学习网络。

2)提出基于单应变换的2D到3D转换方法, 将相机的几何关系结合到神经网络之中。

3)提出一种基于动态的损失度量方法, 以适应不同数目的多视角图像的输入。

MVSNet的网络结构如下图所示

4.jpg

MVSNet先通过特征提取网络提取图像特征,再通过2D到3D的单应变换,把特征映射到参考图像的可视空间中以构建代价体(cost volume),然后使用一个多尺度的三维卷积网络优化代价体得到三维概率空间,通过深度期望的方式得到参考图像的初始深度图以及对应的概率图,最后把参考图像及其深度图传入深度图优化网络,得到优化后的深度图。得到深度图便得到物体的三维模型。

2. R-MVSNet

由于MVSNet需要一次性优化所有的3D代价体,因此需要大量的内存存储所有图像对应的数值,当尺度大了以后,如果内存满足不了要求,便无法再进行三维重建了。我们知道循环神经网络可以按照一定序列处理输入数据,因此作者把这种结构借鉴过来,顺序处理输入图像,以达到节省内存的目的。R-MVSNet的网络结构如下图所示:

1.jpg

在R-MVSNet中,首先使用2D特征提取层提取输入图像的特征,再使用单应矩阵变换到参考影像的相机视锥体的正面平行面上,然后在不同深度计算代价,并经由卷积的GRU单元进行正则化,这样就可以沿着深度方向逐渐获取整个物体的几何信息。

四、实验结果

论文中方法在DTU数据集上的结果如表所示,从表中的数据可以看出,本文提出的方法要优于其他方法。

2.jpg

作者还给出了该方法在大尺度数据集上的效果,以体现该算法的优势。如下图所示

3.jpg

五、总结思考

MVSNet以及R-MVSNet在深度学习与多视图几何相结合的方法上给我们提出了新的思路,过去在三维重建或者SLAM领域有两种方法一直在争论,一种是直接使用端到端的方式,输入图像,输出深度信息和相机外参,另一种认为深度学习没有充分利用已有的几何模型,弃明确模型于不顾,反而求诸于解释性差的深度学习,不明智,因此他们主张深度学习只适合用于特征提取,在完成特征提取以后,便要用传统多视图几何的方法进行后续的位姿解算工作。而本文虽然是使用端到端的方式,但是在构建网络时,把单应矩阵也构建在内,并没有弃模型于不顾,这样就能够把几何模型与前面的特征提取融合在一个网络中,结合二者所长。

本文仅做学术分享,如有侵权,请联系删文。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客