作者丨任乾@知乎

来源丨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的网络结构如下图所示

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

2. R-MVSNet

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

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

四、实验结果

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

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

五、总结思考

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

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

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

深度学习|三维重建:R-MVSNet相关推荐

  1. [论文阅读][深度学习-三维重建]Single-Shot 3D Shape Reconstruction Using Structured Light and CNN

    Single-Shot 3D Shape Reconstruction Using Structured Light and Deep Convolutional Neural Networks 文章 ...

  2. 苹果深度学习三维重建新技术研究

    原文章来源:https://machinelearning.apple.com/research/roomplan 此处是内容翻译摘要加上我自己的个人理解,如有错误欢迎指正 三维空间理解已成为机器学习 ...

  3. 深度特征提取方法_深度学习|三维重建:StereoDRNet

    这是我之前在泡泡机器人上翻译的文章,放在这里做个备份,原文链接:https://www.sohu.com/a/339674840_715754 一.摘要 我们提出了一种基于卷积神经网络(CNN)的深度 ...

  4. 学习笔记︱深度学习以及R中并行算法的应用(GPU)

    笔记源于一次微课堂,由数据人网主办,英伟达高级工程师ParallerR原创.大牛的博客链接:http://www.parallelr.com/training/ 由于本人白痴,不能全部听懂,所以只能把 ...

  5. R语言︱H2o深度学习的一些R语言实践——H2o包

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言H2o包的几个应用案例 笔者寄语:受启发 ...

  6. 碎片︱R语言与深度学习

    笔者:受alphago影响,想看看深度学习,但是其在R语言中的应用包可谓少之又少,更多的是在matlab和python中或者是调用.整理一下目前我看到的R语言的材料: ---------------- ...

  7. 最新综述:深度学习图像三维重建最新方法及未来趋势

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 今天分享的是:深度学习领域基于图像的三维物体重建最新方法及未来趋势 ...

  8. 【2022新书】深度学习R语言实战,第二版

    来源:专知 本文为书籍介绍,建议阅读5分钟使用R和强大的Keras库从头开始进行深度学习! R深度学习,第二版 使用R和强大的Keras库从头开始进行深度学习! 在R深度学习第二版中,您将学习: 从基 ...

  9. mxnet:结合R与GPU加速深度学习

    转载于统计之都,http://cos.name/tag/dmlc/,作者陈天奇 ------------------------------------------------------------ ...

  10. 【更新于12.29】深度学习论文汇总

    本博客用于记录自己平时收集的一些不错的深度学习论文,近9成的文章都是引用量3位数以上的论文,剩下少部分来自个人喜好,本博客将伴随着我的研究生涯长期更新,如有错误或者推荐文章烦请私信. 深度学习书籍和入 ...

最新文章

  1. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验
  2. Delphi使程序的窗口出现在最前面并激活
  3. 2019《去哪儿》春季校招第一站(含笔试题)
  4. SQL Where in list 问题
  5. win10去掉快捷方式小箭头_简单几步,教你怎么去掉win10电脑图标小箭头
  6. Django项目搭建(基础)
  7. 清华博士庞天宇90页的PPT分享,如何让AI模型更皮实,更稳定?(精彩直播回放)...
  8. Git---命令行语法
  9. 深度学习2-keras模型训练
  10. PyQt4 UI设计和调用 使用eric6
  11. python怎么通过手机号定位_基于Python的免费手机号码归属地查询
  12. sim卡没坏但苹果手机无服务_苹果8PLUS换壳导致无服务维修
  13. 2023考研高数接力题典1800习题讲解
  14. QCon上海2015精彩回顾和总结
  15. 【VOLTE】VOLTE-通话信令流程
  16. Oracle 的 Round函数详解
  17. (附源码)springboot民宿网站 毕业设计 221901
  18. python识别字符串码置_python 字符串内置方法整理
  19. 如何关闭android键盘,软键盘怎么关,教您如何关闭软键盘
  20. 电脑怎么隐藏文件夹?6个步骤完成!

热门文章

  1. SpringBoot学习之文件结构和配置文件
  2. Openvswitch原理与代码分析(5): 内核中的流表flow table操作
  3. BZOJ 4241 历史研究
  4. 剑指Offer:面试题31——连续子数组的最大和(java实现)
  5. Java Beanutils 配置
  6. JS getElementsByClassName
  7. PD的几种文档【转】
  8. Solr搜索引擎——中文分词器
  9. 【转】uni-app在手持PDA上的激光扫码完美解决方案
  10. Linux下Oracle进程CPU使用率过高处理方式