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

2021 年 10 月 16 日 计算机视觉life

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货

转载自:机器之心 |  字节跳动视觉技术团队。文章仅用于学术分享。
来自字节跳动视觉技术团队的研究者将 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)

独家重磅课程!

1、VIO课程:VIO灭霸:ORB-SLAM3源码详解,震撼上线!

2、图像三维重建课程(第2期):视觉几何三维重建教程(第2期):稠密重建,曲面重建,点云融合,纹理贴图

3、重磅来袭!基于LiDAR的多传感器融合SLAM 系列教程:LOAM、LeGO-LOAM、LIO-SAM

4、系统全面的相机标定课程:单目/鱼眼/双目/阵列 相机标定:原理与实战

5、视觉SLAM必备基础(第2期):视觉SLAM必学基础:ORB-SLAM2源码详解

6、深度学习三维重建课程:基于深度学习的三维重建学习路线

7、激光定位+建图课程:激光SLAM怎么学?手把手教你Cartographer从入门到精通!




全国最棒的SLAM、三维视觉学习社区↓


技术交流微信群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群,请添加微信号 chichui502 或扫描下方加群,备注:”名字/昵称+学校/公司+研究方向“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

投稿、合作也欢迎联系:simiter@126.com


扫描关注视频号,看最新技术落地及开源方案视频秀 ↓


—   版权声明  —

本公众号原创内容版权属计算机视觉life所有;从公开渠道收集、整理及授权转载的非原创文字、图片和音视频资料,版权属原作者。如果侵权,请联系我们,会及时删除。

登录查看更多
5

相关内容

【博士论文】基于深度学习的单目场景深度估计方法研究
专知会员服务
38+阅读 · 2021年3月29日
专知会员服务
19+阅读 · 2021年3月18日
专知会员服务
68+阅读 · 2021年1月16日
【泡泡图灵智库】基于有限姿态监督的单目三维重建
泡泡机器人SLAM
5+阅读 · 2019年9月6日
ICCV2019 | 高精度,高效率点云三维重建 PointMVSNet
计算机视觉life
23+阅读 · 2019年9月5日
Google解决单摄像头和物体都运动下的深度估计
计算机视觉life
3+阅读 · 2019年6月5日
【泡泡一分钟】利用四叉树加速的单目实时稠密建图
泡泡机器人SLAM
28+阅读 · 2019年4月26日
【泡泡图灵智库】基于CPU的实时6D物体姿态估计(arXiv)
泡泡机器人SLAM
12+阅读 · 2019年1月26日
SkeletonNet:完整的人体三维位姿重建方法
计算机视觉life
21+阅读 · 2019年1月21日
Arxiv
0+阅读 · 2021年12月17日
VIP会员
相关资讯
Top
微信扫码咨询专知VIP会员