转载自:机器之心 |  字节跳动视觉技术团队

来自字节跳动视觉技术团队的研究者将 NeRF 和 Multiplane Image(MPI)结合,提出了一种新的三维空间表达方式 MINE。该方法通过对单张图片做三维重建,实现新视角合成和深度估算。

字节跳动视觉技术团队结合 NeRF 和 Multiplane Image(MPI),提出了一种新的三维空间表达方式 MINE。MINE 通过对单张图片做三维重建,实现新视角合成和深度估算。通过引入隐式神经场(NeRF),研究者将 Multiplane Images (MPI)扩展成连续的深度平面。给定单个图片作为输入,MINE 能在相机视锥中的任意深度,预测出一个四通道的图像,四通道包括 RGB 颜色和空间密度。这种任意深度的四通道预测,实际上是对输入图片的视锥的三维重建,以及对被遮挡内容的填充(inpainting)。我们可以利用被重建和填充的视锥方便地渲染出新视角下的 RGB 图片和深度图,并且渲染过程是可导的。

  • 论文地址:https://arxiv.org/pdf/2103.14910.pdf

  • 项目地址:https://github.com/vincentfung13/MINE

在 RealEstate10K,KITTI 和 Flowers Light Fields 数据集上的实验表明,MINE 在新视角合成的性能上大幅超越了当前最前沿的方法。同时,在 iBims-1 和 NYU-v2 的实验表明,团队在没有使用真值深度做监督训练的情况下,获得了和前沿方法接近的深度估计性能。

该研究的训练代码与 pretrain model 已经开源。

相关工作

近年来,在新视角合成这个领域里,最火爆的方法无疑是 ECCV 2020 的 NeRF [5]。与传统的一些手工设计的显式三维表达(Light Fields,LDI,MPI 等)不同,NeRF 把整个三维空间的几何信息与 texture 信息全部用一个 MLP 的权重来表达,输入任意一个空间坐标以及观察角度,MLP 会预测一个 RGB 值和 volume density。目标图片的渲染通过 ray tracing 和 volume rendering 的方式来完成。尽管 NeRF 的效果非常惊艳,但它的缺点也非常明显:

  1. 一个模型只能表达一个场景,且优化一个场景耗时久;

  2. per-pixel 渲染较为低效;

  3. 泛化能力较差,一个场景需要较多的照片才能训练好。

另外一个与该研究较相关的是 MPI(Multiplane Image)[1, 2, 3]。MPI 包含了多个平面的 RGB-alpha 图片,其中每个平面表达场景在某个深度中的内容,它的主要缺点在于深度是固定及离散的,这个缺点限制了它对三维空间的表达能力。[1, 2, 3] 都能方便地泛化到不同的场景,然而 MPI 各个平面的深度是固定且离散的,这个缺点严重限制了它的效果。

方法综述

该团队采用一个 encoder-decoder 的结构来生成三维表达:

  1. Encoder 是一个全卷积网络,输入为单个 RGB 图片,输出为 feature maps;

  2. Decoder 也是一个全卷积网络,输入为 encoder 输出的 feature map,以及任意深度值(repeat + concat),输出该深度下的 RGB-sigma 图片;

  3. 最终的三维表达由多个平面组成,也就是说在一次完整的 forward 中,encoder 需要 inference 一次,而 decoder 需要 inference N 次获得个 N 平面。

获得三维表达后,不再需要任何的网络 inference,渲染任意 target 相机 pose 下的视角只需要两步:

  1. 利用 homography wrapping 建立像素点间的 correspondence。可以想象,从 target 相机射出一条光线,这条光线与 target 图片的一个像素点相交,然后,研究者延长这条射线,让它与 source 相机视锥的各个平面相交。相交点的 RGB-sigma 值可以通过 bilinear sampling 获得;

  2. 利用 volume rendering 将光线上的点渲染到目标图片像素点上,获得该像素点的 RGB 值与深度。

Scale 校正

MINE 可以利用 structure-from-motion 计算的相机参数与点云进行场景的学习,在这种情况下,深度是 ambiguous 的。由于在这个方法中,深度采样的范围是固定的。所以需要计算一个 scale factor,使网络预测的 scale 与 structure-from-motion 的 scale 进行对齐。团队利用通过 Structure from Motion 获得的每个图片的可见 3D 点 P 以及网络预测的深度图 Z 计算 scale factor:

获得 scale factor 后,对相机的位移进行 scale:

需要注意的是,由于需要和 ground truth 比较,所以在训练和测试时需要做 scale calibration。而在部署时不需要做这一步。

端到端的训练

MINE 可以仅通过 RGB 图片学习到场景的三维几何信息,训练 Loss 主要由两部分组成:

1.Reconsturction loss——计算渲染出的 target 图片与 ground truth 的差异:

2.Edge-aware smoothness loss——确保在图片颜色没有突变的地方,深度也不会突变,这里主要参考了 monodepth2 [6] 种的实现:

3.Sparse disparity loss——在训练集各场景的 scale 不一样时,利用 structure-from-motion 获得的稀疏点云辅助场景几何信息的学习:

实验结果

新视角合成

在 KITTI 数据集上,可以看出,此方法在生成质量上大幅超越了当前的 SOTA——把 SSIM 从 0.733 提高到了 0.822。同时,可看出增加预测的平面数,生成图片的质量也会提高,由于这并不会改变模型的参数量,所以可以看出,采样平面的深度越稠密,就越利于场景表达的学习。在图片可视化上,MINE 生成的图片形变和 artefacts 明显更少。

单目深度估计

利用在 RealEstate10K 上训练的模型,在 NYU 以及 iBims-1 数据集上测试了单目深度估计的结果。虽然只有 RGB 和 sparse 深度监督,但 MINE 在单目深度估计任务上取得了非常接近全监督的 3DKenBurns 的性能,并大幅超越了其他弱监督的方法。其中,和 MPI 相比,此方法更不受图片 texture 的影响,在 texture 丰富的区域依然能生成平滑的深度图。

MINE 与 MPI、NeRF 的比较

MINE 是 MPI 的一种连续深度的扩展,相比于 MPI 和 NeRF,MINE 有几个明显的优势:

  1. 与 NeRF 相比,MINE 能够泛化到训练集没有出现过的场景;

  2. 与 NeRF 的逐点渲染相比,MINE 的渲染非常高效;

  3. 与 MPI 相比,MINE 的深度是连续的,能稠密地表示相机的视锥;

  4. MPI 通过 alpha 合成(alpha compositing)进行渲染,但该方法与射线上点之间的距离无关,而 MINE 利用 volume rendering 解决了这个限制。

然而,MINE 也有一些自身的局限性:

  1. 由于输入是单张图片,MINE 无法表达相机视锥以外的三维空间;

  2. 由于 MINE 的输入里没有观察角度,所以其无法对一些复杂的 view-dependent 效果(如光盘上的彩虹等)进行建模。

参考文献:

[1]. Tinghui Zhou, Richard Tucker, John Flynn, Graham Fyffe, Noah Snavely. Stereo Magnification: Learning View Synthesis using Multiplane Images. (SIGGRAPH 2018)

[2]. Ben Mildenhall, Pratul P. Srinivasan, Rodrigo Ortiz-Cayon, Nima Khademi Kalantari, Ravi Ramamoorthi, Ren Ng, Abhishek Kar. Local Light Field Fusion: Practical View Synthesis with Prescriptive Sampling Guidelines. (SIGGRAPH 2019)

[3]. Richard Tucker, Noah Snavely. Single-View View Synthesis with Multiplane Images. (CVPR 2020)

[4]. Meng-Li Shih, Shih-Yang Su, Johannes Kopf, Jia-Bin Huang. 3D Photography using Context-aware Layered Depth Inpainting. (CVPR 2020)

[5]. Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik, Jonathan T. Barron, Ravi Ramamoorthi, Ren Ng. NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. (ECCV 2020)

[6]. Clement Godard, Oisin Mac Aodha, Michael Firman, Gabriel Brostow. Digging Into Self-Supervised Monocular Depth Estimation. (ICCV 2019)

本文仅做学术分享,如有侵权,请联系删文。
3D视觉精品课程推荐:
1.面向自动驾驶领域的多传感器数据融合技术2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~

ICCV 2021 | 字节跳动利用单幅图片做三维重建!将NeRF、MPI结合,提出MINE新工作...相关推荐

  1. 2021 字节跳动面试参考手册(第一期)!!!权威来袭~~~

    2021 字节跳动面试参考手册(第一期) 一.Java 基础面试题 1.String 能被继承吗?为什么? 不可以,因为 String 类有 final 修饰符,而 final 修饰的类是不能被继承的 ...

  2. 深夜爆肝JS好文!2021字节跳动春招面试题深度讲解

    剑指offer -- 2021字节跳动春招面试题深度讲解(JS篇) 1. 深拷贝与浅拷贝 2. 原型与原型链 3. this 指向问题 4. new 关键字做了什么? 5. 原生JS如何实现事件委托? ...

  3. 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案

    2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...

  4. 字节跳动CVPR 2023论文精选来啦(内含一批图像生成新研究)

    计算机视觉领域三大顶会之一的 CVPR 今年已经开奖啦. 今年的 CVPR 将于六月在加拿大温哥华举办,和往年一样,字节跳动技术团队的同学们收获了不少中选论文,覆盖文本生成图像.语义分割.目标检测.自 ...

  5. 有人说这是2021字节跳动-初级Android工程师的面经?吓到我了!我还是去搬砖吧!

    我的情况 我在大三的时候,没有参加春招,也没有参加秋招,我大三 三月份的时候在实习僧上投了几个简历,发现面的都很水,原来我在大学的时候,成绩还算ok,编程能力在班里也是前几的,但是说实话,找工作经验真 ...

  6. 秋招,2021字节跳动最新面试题拿走不谢!附答案解析

    又到了一年一度的金九银十,互联网行业竞争是一年比一年严峻,作为软件测试工程师的我们唯有不停的学习,不断提升自己才能保证自己的核心竞争力从而拿到更好的薪水,进入心仪的企业(阿里,字节跳动,腾讯,美团)趁 ...

  7. 【每日面试】2021字节跳动番茄小说Java二面

    作者:Yyyilia 链接:https://www.nowcoder.com/discuss/766918?source_id=discuss_experience_nctrack&chann ...

  8. 2021字节跳动秋招整理牛客网---Java后端提前批面试

    一.字节提前批 java 后端一面 1.1 你说你用了 RPC 远程调用,讲讲原理是怎么样的 RPC(Remote Procedure Call)远程调用,通过某种手段,协议,约定调用非本地服务 RP ...

  9. 2021字节跳动春招技术面试题:mysql间隙锁触发条件

    java基础 1.1java的8种基本数据类型装箱拆箱 1.2重写重载封装继承多态 1.3 Stack Queue 1.7 Concurrent包 1.8面向对象 1.9 String StringB ...

最新文章

  1. Android FrameWork——Touch事件派发过程详解
  2. javascript取随机数_查缺补漏一些 Javascript 的小技巧笔记
  3. 【ML】 李宏毅机器学习二:Logistic Regression
  4. java class 是否相等_Java重要技术(30)类加载器之Class类型的相等比较
  5. 中石油训练赛 - Check List(线段树维护偏序问题)
  6. 计算机网络多元化媒体传达,【多媒体技术论文】视觉传达设计多媒体技术的应用(共4007字)...
  7. qt 保存文件为utf8
  8. 安装 selectorgadget
  9. 给定一个序列,判断该序列是否为二叉树查找树的后序遍历序列
  10. xxx/ASPNET帐户登陆失败情况处理
  11. ImageList00
  12. ioswifi信号测试软件app,‎App Store 上的“Speedtest - 网络测速测量和wifi分析仪”...
  13. 微信公众号小程序微商城源码
  14. 五金模具设计统赢外挂提升效率技巧、外挂模具设计流程、常见问题归纳
  15. WMI服务不存在或标记为删除解决方案
  16. H5游戏助力区块链成2019年新玩法?
  17. 有关AirtestiOS与iproxy报错“error connecting to device“
  18. 分享在实际项目中积累的硬件调试经验 - 调试方法,以及常见调试案例
  19. 华为首次自曝“天才少年”成果:入职不到一年算法研究用于千万台 Mate/P 系列手机,网友:值 200 万年薪
  20. 高仿美团iOS版,版本号5.7

热门文章

  1. Java Web 程序员的发展趋势分析
  2. 《Visual C++ 开发从入门到精通》——2.7 变量
  3. MQTT基础——Part 1. 认识MQTT
  4. MySQL 5.7中的更多改进,包括计算列
  5. 讀書收穫 The Untold Story of Milk, Ron Schmid
  6. 关于mysql engine(引擎)的疑问
  7. Ubuntu Linux下如何配置Android开发环境
  8. Windows7关闭休眠
  9. 牛逼!原来分布式事务可以这样玩!
  10. 腾讯会跟中国移动一样慢慢衰落么